Tag

Mixins

tag-variant

@mixin tag-variant($variant) { ... }@mixin tag-variant($variant) { 
  $styles: map.get(settings.$variant-states, $variant);

  --kib-tag-text-color: #{map.get($styles, 'color')};
  --kib-tag-background-color: #{map.get($styles, 'background-color')};
  --kib-tag-border-color: #{map.get($styles, 'background-color')};

  @if $variant == 'caution' or $variant == 'error' {
    @media (forced-colors: active) {
      border-width: settings.$border-width * 2;
      font-weight: bold;
    }
  }
 }
Description

Variant styles

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$variant noneString none
Requires

secondary

@mixin secondary() { ... }@mixin secondary() { 
  background-color: settings.$background-color-secondary;
  box-shadow: inset 0 0 0 var(--kib-tag-border-width, #{settings.$border-width})
    var(--kib-tag-border-color, #{settings.$border-color});

  &::after {
    --kib-tag-border-color: #{settings.$border-color};
  }
 }
Description

Default secondary emphasis styles

Parameters

None.

Requires

secondary-variant

@mixin secondary-variant($variant) { ... }@mixin secondary-variant($variant) { 
  $styles: map.get(settings.$variant-states, $variant);

  --kib-tag-border-color: #{map.get($styles, 'border-color')};
 }
Description

Secondary emphasis variant

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$variant noneString none
Requires

icon

@mixin icon() { ... }@mixin icon() { 
  display: inline-block;
  flex-shrink: 0;
  margin: settings.$icon-margin;
  width: settings.$icon-size;
  height: settings.$icon-size;
 }
Description

Icon styles

Parameters

None.

Requires

button

@mixin button() { ... }@mixin button() { 
  border: none;
  cursor: pointer;

  // Custom outline when a button only shown on focus
  &::after {
    $distance: settings.$focus-border-distance;

    position: absolute;
    z-index: -1;
    top: $distance;
    left: $distance;
    right: $distance;
    bottom: $distance;
    border: settings.$border-width solid var(--kib-tag-border-color, settings.$background-color);
    border-radius: settings.$focus-border-radius;
    color: inherit;
    content: '';
    opacity: 0;
    transition: opacity settings.$focus-transition-duration ease-out;
  }
 }
Description

Button tag styles

Parameters

None.

Requires

button-hover

@mixin button-hover() { ... }@mixin button-hover() { 
  --kib-tag-background-color: #{settings.$hover-background-color};
 }
Description

Button tag on hover

Parameters

None.

Requires

button-focus

@mixin button-focus() { ... }@mixin button-focus() { 
  outline: 0;

  &::after {
    opacity: 1;
  }
 }
Description

Button tag on focus

Parameters

None.

button-variant

@mixin button-variant() { ... }@mixin button-variant() { 
  --kib-tag-border-color: #{map.get(settings.$variant-states, $variant, 'background-color')};
 }
Description

Button tag variant

Parameters

None.

Requires

button-variant-hover

@mixin button-variant-hover() { ... }@mixin button-variant-hover() { 
  --kib-tag-background-color: #{map.get(
      settings.$variant-states,
      $variant,
      'hover-background-color'
    )};
 }
Description

Button tag variant on hover

Parameters

None.

Requires

Variables

text-color

$text-color: color.get('message', 'info', '04') !default;
Description

Default tag text color

Type

String

background-color

$background-color: color.get('message', 'info', '03') !default;
Description

Default tag background color

Type

String

hover-background-color

$hover-background-color: color.get('message', 'info', '06') !default;
Description

Tag background color on hover

Type

String

Used by

border-color

$border-color: color.get('message', 'info', '02') !default;
Description

Default tag border color

Type

String

border-width

$border-width: unit.rem(1px) !default;
Description

Border width

Type

Number

border-radius

$border-radius: unit.rem(3px) !default;
Description

todo: should be updated with tokens in the future NOTE: this is defaulting to enterprise values, should be fixed when using tokenss tag border radius

Type

Number

padding

$padding: spacing.get(0, 's3') !default;
Description

Padding spacing

Type

List

focus-border-radius

$focus-border-radius: unit.rem(4px) !default;
Description

todo: should be updated with tokens in the future NOTE: this is defaulting to enterprise values, should be fixed when using tokenss tag border radius

Type

Number

icon-size

$icon-size: unit.rem(16px) !default;
Description

icon size

Type

Number

icon-margin

$icon-margin: spacing.get(0, 0, 0, 's1') !default;
Description

icon margin

Type

List

Used by

background-color-secondary

$background-color-secondary: color.get('ui-bg', 'primary') !default;
Description

background color when secondary emphasis

Type

String

Used by

focus-border-distance

$focus-border-distance: unit.rem(-2px) !default;
Description

Focus border distance

Type

Number

focus-border-radius

$focus-border-radius: unit.rem(4px) !default;
Description

Focus border radius

Type

Number

focus-transition-duration

$focus-transition-duration: 100ms !default;
Description

Ease out timer

Type

Number

variant-states

$variant-states: (...);$variant-states: (
  'caution': (
    'color': color.get('message', 'warning', '04'),
    'background-color': color.get('message', 'warning', '03'),
    'border-color': color.get('message', 'warning', '02'),
    'hover-background-color': color.get('message', 'warning', '06')
  ),
  'error': (
    'color': color.get('message', 'error', '04'),
    'background-color': color.get('message', 'error', '03'),
    'border-color': color.get('message', 'error', '02'),
    'hover-background-color': color.get('message', 'error', '06')
  ),
  'neutral': (
    'color': color.get('message', 'neutral', '04'),
    'background-color': color.get('message', 'neutral', '03'),
    'border-color': color.get('message', 'neutral', '02'),
    'hover-background-color': color.get('message', 'neutral', '06')
  ),
  'success': (
    'color': color.get('message', 'success', '04'),
    'background-color': color.get('message', 'success', '03'),
    'border-color': color.get('message', 'success', '02'),
    'hover-background-color': color.get('message', 'success', '06')
  )
);
Description

Variant themes map

Type

Map