Tabs New

Mixins

root-container

@mixin root-container() { ... }@mixin root-container() { 
  /* stylelint-disable-next-line property-no-unknown */
  container: kib-tabs-new / inline-size;
 }
Description

Root container styles

Parameters

None.

nav

@mixin nav() { ... }@mixin nav() { 
  border-bottom: unit.rem(1px) solid color.get('ui-bg', '07');
  overflow-x: auto;

  @include responsive(settings.$breakpoint-lg) {
    @include nav-large;
  }
 }
Description

Tabs navigation

Parameters

None.

Requires

nav-list

@mixin nav-list() { ... }@mixin nav-list() { 
  list-style-type: none;
  margin: 0;
  padding: 0;
  gap: spacing.get('s1');
  display: flex;
  position: relative;

  @include responsive(settings.$breakpoint-lg) {
    @include nav-list-large;
  }
 }
Description

Tabs navigation list

Parameters

None.

Requires

nav-list-item

@mixin nav-list-item() { ... }@mixin nav-list-item() { 
  flex: 1;
  margin: 0;
 }
Description

Tabs navigation list item

Parameters

None.

trigger

@mixin trigger() { ... }@mixin trigger() { 
  @include typography.style-as('button');

  font-weight: typography.get-weight('medium');
  position: relative;
  width: 100%;
  border: 0;
  background-color: color.get('ui-bg', 'primary');
  color: color.get('text', 'secondary');
  padding: spacing.get('s2') spacing.get('s2')
    calc(spacing.get('s3') + settings.$active-indicator-height);
  white-space: nowrap;
  cursor: pointer;
  border-radius: unit.rem(4px) unit.rem(4px) 0 0;
  transition: background-color 200ms ease-out;

  @include responsive(settings.$breakpoint-lg) {
    padding: spacing.get('s2') spacing.get('s6')
      calc(spacing.get('s3') + settings.$active-indicator-height) spacing.get('s6');
  }

  &:hover {
    background-color: color.get('action', 'cta', 'alternate', '03');
  }

  &:active {
    background-color: color.get('action', 'cta', 'alternate', '02');
  }

  &:focus-visible {
    box-shadow: inset 0 0 0 unit.rem(2px) settings.$active-color;
    outline: unit.rem(2px) solid transparent;
    outline-offset: unit.rem(-2px);
  }
 }
Description

Tabs trigger item

Parameters

None.

Requires

trigger-active

@mixin trigger-active() { ... }@mixin trigger-active() { 
  color: settings.$active-color;

  &:hover,
  &:active,
  &:focus {
    background-color: color.get('ui-bg', 'primary');
  }

  &::after {
    content: '';
    height: settings.$active-indicator-height;
    border-top: settings.$active-indicator-height solid settings.$active-color;
    position: absolute;
    inset: auto 0 0;
    border-radius: math.div(settings.$active-indicator-height, 2)
      math.div(settings.$active-indicator-height, 2) 0 0;
  }
 }
Description

Tabs trigger item active

Parameters

None.

Requires

content-item

@mixin content-item() { ... }@mixin content-item() { 
  display: none;
  padding: settings.$spacing;
 }
Description

Tabs content item

Parameters

None.

Requires

content-item-active

@mixin content-item-active() { ... }@mixin content-item-active() { 
  display: block;
 }
Description

Tabs content item active

Parameters

None.

nav-large

@mixin nav-large() { ... }@mixin nav-large() { 
  display: grid;
  grid-template-columns: auto 1fr;
 }
Description

Tabs navigation large container/viewport

Parameters

None.

Used by

nav-list-large

@mixin nav-list-large() { ... }@mixin nav-list-large() { 
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
 }
Description

Tabs navigation list large container/viewport

Parameters

None.

Used by

responsive

@mixin responsive() { ... }@mixin responsive() { 
  @media (min-width: #{$breakpoint}) {
    @content;
  }
  /* stylelint-disable-next-line scss/at-rule-no-unknown */
  @container kib-tabs-new (min-width: #{$breakpoint}) {
    @content;
  }
 }
Description

Tabs responsive @media and @container rules

Parameters

None.

Used by

Variables

active-indicator-height

$active-indicator-height: unit.rem(4px);
Description

Default container width

Type

Number

Used by

active-color

$active-color: color.get('action', 'cta', 'primary', 'primary');
Description

Large container breakpoint size

Type

Color

Used by

spacing

$spacing: spacing.get('s4');
Description

Outer component spacing

Type

Number

breakpoint-lg

$breakpoint-lg: breakpoints.$chirp-base-md + 'px';
Description

Large container breakpoint size

Type

Number