@mixin root() { ... }@mixin root() { 
  // Container for the navigation tile carousel
 }
Description

Navigation tile carousel root container

Parameters

None.

@mixin content() { ... }@mixin content() { 
  display: flex;
  flex-direction: column;
  gap: settings.$gap-small;
 }
Description

Carousel content styles for dual-row layout

Parameters

None.

Requires
@mixin carousel-content-override() { ... }@mixin carousel-content-override() { 
  // Default: Single row
  display: flex;
  flex-direction: row;
  gap: spacing.get('s2');

  // Responsive: Switch to dual rows when BOTH conditions are met:
  // 1. Mobile screen (max-sm)
  // 2. 6+ items (detected by :has() selector)
  @include media.query('max-sm') {
    // Switch to dual layout when there are 6+ items (2 rows present)
    /* stylelint-disable-next-line plugin/use-baseline -- Progressive enhancement: :has() selector is non-critical, gracefully ignored in unsupported browsers */
    &:has(.kib-navigation-tile-carousel__row:nth-child(2)) {
      @include content;
    }
  }
 }
Description

Carousel content override when inside navigation tile carousel

Parameters

None.

Requires
@mixin row() { ... }@mixin row() { 
  display: flex;
  flex-direction: row;
  gap: spacing.get('s2');
  flex-shrink: 0;
 }
Description

Row container styles for dual rows

Parameters

None.

Requires
@mixin tile() { ... }@mixin tile() { 
  height: 100%;
 }
Description

Navigation tile styles when inside carousel

Parameters

None.

$gap-small: spacing.get('s2') !default;
Description

Small spacing between items in dual-row layout

Type

Number