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
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$variant | — none | String | — none |
Requires
- [function]
get
- [variable]
variant-states
- [variable]
border-width
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
- [variable]
background-color-secondary
- [variable]
border-width
- [variable]
border-color
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
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$variant | — none | String | — none |
Requires
- [function]
get
- [variable]
variant-states
icon
@mixin icon() { ... }
@mixin icon() { display: inline-block; flex-shrink: 0; margin: settings.$icon-margin; width: settings.$icon-size; height: settings.$icon-size; }
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
- [variable]
focus-border-distance
- [variable]
border-width
- [variable]
background-color
- [variable]
focus-border-radius
- [variable]
focus-transition-duration
button-hover
@mixin button-hover() { ... }
@mixin button-hover() { --kib-tag-background-color: #{settings.$hover-background-color}; }
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')}; }
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
- [function]
get
- [variable]
variant-states
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;
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;
background-color-secondary
$background-color-secondary: color.get('ui-bg', 'primary') !default;
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
Used by
- [mixin]
tag-variant
- [mixin]
secondary-variant
- [mixin]
button-variant
- [mixin]
button-variant-hover