Navigation Tile
Mixins
base
@mixin base() { ... }
@mixin base() { @include pseudo-styles; @include typography.style-as('product-text-1', 'strong'); color: color.get('text', 'primary'); --kib-tile-background-color: #{color.get('ui-bg', 'primary')}; text-decoration: none; display: inline-flex; align-items: center; justify-content: flex-start; width: max-content; min-width: settings.$nav-tile-min-width; max-width: settings.$nav-tile-max-width; padding: spacing.get('s3'); position: relative; flex: 0 0 auto; background-color: var( --kib-tile-background-color, #{color.get('action', 'utility', 'alternate', 'primary')} ); gap: spacing.get('s2'); flex-direction: row; text-align: left; border: 0; outline: transparent; box-shadow: 0 0 0 var(--kib-tile-border-width, #{settings.$border-width}) var(--kib-tile-border-color, #{color.get('action', 'cta', 'alternate', '03')}) inset, 0 0 0 var(--kib-tile-outline-width, 0); border-radius: settings.$border-radius; cursor: pointer; }
Description
Navigation tile styles
Parameters
None.
Requires
- [mixin]
pseudo-styles
- [function]
get
- [variable]
nav-tile-min-width
- [variable]
nav-tile-max-width
- [variable]
border-width
- [variable]
border-radius
content
@mixin content() { ... }
@mixin content() { color: color.get('action', 'cta', 'alternate', 'text'); text-decoration: inherit; text-wrap: balance; }
pseudo-styles
@mixin pseudo-styles() { ... }
@mixin pseudo-styles() { &::after { content: ''; position: absolute; border: solid settings.$nav-tile-focus-ring-border-width var(--kib-tile-focus-ring-border-color); border-radius: settings.$nav-tile-container-border-radius; top: settings.$nav-tile-focus-ring-border-distance; right: settings.$nav-tile-focus-ring-border-distance; bottom: settings.$nav-tile-focus-ring-border-distance; left: settings.$nav-tile-focus-ring-border-distance; display: flex; color: inherit; z-index: 1; } &:hover { --kib-tile-border-color: #{color.get('action', 'cta', 'alternate', 'text')}; text-decoration: none; color: color.get('action', 'cta', 'alternate', 'text'); } &:focus-visible { --kib-tile-border-color: #{color.get('action', 'cta', 'alternate', 'text')}; text-decoration: underline; z-index: 1; color: color.get('action', 'cta', 'alternate', 'text'); } &:visited { color: color.get('action', 'cta', 'alternate', 'text'); } &:active { --kib-tile-border-color: #{color.get('action', 'cta', 'alternate', '03')}; --kib-tile-background-color: #{color.get('ui-bg', '16')}; --kib-tile-outline-width: 0; } @media (forced-colors: active) { color: LinkText !important; --kib-tile-focus-ring-border-color: GrayText !important; &:hover { --kib-tile-border-color: Highlight !important; --kib-tile-background-color: Canvas !important; } &:focus-visible { --kib-tile-focus-ring-border-color: Highlight !important; } } }
Description
Navigation tile styles for pseudo-elements
Parameters
None.
Requires
- [function]
get
- [variable]
nav-tile-focus-ring-border-width
- [variable]
nav-tile-container-border-radius
- [variable]
nav-tile-focus-ring-border-distance
Used by
- [mixin]
base
navigation-tile-has-media
@mixin navigation-tile-has-media() { ... }
@mixin navigation-tile-has-media() { padding: spacing.get('s2', 's3', 's2', 's2'); min-width: settings.$nav-tile-with-media-min-width; max-width: settings.$nav-tile-with-media-max-width; }
Description
Navigation tile with media styles
Parameters
None.
Requires
- [function]
get
- [variable]
nav-tile-with-media-min-width
- [variable]
nav-tile-with-media-max-width
media
@mixin media() { ... }
@mixin media() { display: block; height: auto; object-fit: cover; object-position: center center; max-height: 100%; width: settings.$nav-tile-media-width; border-radius: settings.$nav-tile-media-border-radius; margin-left: auto; margin-right: auto; }
Description
Navigation tile media styles
Parameters
None.
Requires
- [variable]
nav-tile-media-width
- [variable]
nav-tile-media-border-radius
media-container
@mixin media-container() { ... }
@mixin media-container() { display: flex; }
Description
Navigation tile media container styles
Parameters
None.
navigation-tile-vertical
@mixin navigation-tile-vertical() { ... }
@mixin navigation-tile-vertical() { gap: 0; max-width: settings.$nav-tile-vertical-max-width; min-width: settings.$nav-tile-vertical-min-width; flex-direction: column; padding: 0; background-color: color.get('ui-bg', '16'); transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1); box-shadow: none; &:active, &:focus-visible { padding: inherit; } &:focus-visible { --kib-tile-focus-ring-border-color: #{color.get('action', 'cta', 'alternate', 'text')}; text-decoration: underline; z-index: 1; } }
Description
Navigation tile vertical modifier styles
Parameters
None.
Requires
- [function]
get
- [variable]
nav-tile-vertical-max-width
- [variable]
nav-tile-vertical-min-width
navigation-tile-vertical-media
@mixin navigation-tile-vertical-media() { ... }
@mixin navigation-tile-vertical-media() { padding: 0; width: 100%; height: 100%; min-height: settings.$nav-tile-vertical-media-min-width; border-radius: settings.$border-radius settings.$border-radius 0 0; aspect-ratio: 4 / 3; & img:first-child { width: 100%; height: auto; object-fit: cover; object-position: center center; } }
Description
Navigation tile vertical media styles
Parameters
None.
Requires
- [variable]
nav-tile-vertical-media-min-width
- [variable]
border-radius
navigation-tile-vertical-content
@mixin navigation-tile-vertical-content() { ... }
@mixin navigation-tile-vertical-content() { @include typography.style-as('product-text-1', 'strong'); padding: spacing.get('s2'); min-height: settings.$nav-tile-vertical-content-min-width; color: color.get('text', 'primary'); align-self: flex-start; }
Description
Navigation tile vertical content styles
Parameters
None.
Requires
- [function]
get
- [variable]
nav-tile-vertical-content-min-width
Variables
link-font-weight
$link-font-weight: 600 !default;
Description
Navigation tile font weight
Type
Number
border-width
$border-width: unit.rem(2px);
Description
Navigation tile border width
Type
Number
border-radius
$border-radius: border.get('br02');
Description
Navigation tile Border radius
Type
Number
nav-tile-media-border-radius
$nav-tile-media-border-radius: border.get('br01');
nav-tile-min-width
$nav-tile-min-width: unit.rem(54px);
nav-tile-max-width
$nav-tile-max-width: unit.rem(160px);
nav-tile-with-media-min-width
$nav-tile-with-media-min-width: unit.rem(150px);
nav-tile-with-media-max-width
$nav-tile-with-media-max-width: unit.rem(230px);
nav-tile-media-width
$nav-tile-media-width: unit.rem(54px);
nav-tile-focus-ring-border-color
$nav-tile-focus-ring-border-color: color.get('text', 'secondary') !default;
Description
focus ring border color
Type
Color
nav-tile-focus-ring-border-width
$nav-tile-focus-ring-border-width: unit.rem(2px) !default;
nav-tile-focus-ring-border-distance
$nav-tile-focus-ring-border-distance: unit.rem(-6px) !default;
nav-tile-container-border-radius
$nav-tile-container-border-radius: unit.rem(12px) !default;
nav-tile-vertical-max-width
$nav-tile-vertical-max-width: unit.rem(109px);
nav-tile-vertical-min-width
$nav-tile-vertical-min-width: unit.rem(109px);
nav-tile-vertical-media-min-width
$nav-tile-vertical-media-min-width: unit.rem(82px);
Description
nav tile vertical variant media min width
Type
Number
Used by
- [mixin]
navigation-tile-vertical-media
nav-tile-vertical-content-min-width
$nav-tile-vertical-content-min-width: unit.rem(53px);
Description
nav tile vertical content min width
Type
Number
Used by
- [mixin]
navigation-tile-vertical-content