Installation

  yarn add @chewy/kib-carousels-styles

Import

  @use '~@chewy/kib-carousels-styles/src/kib-hero-carousel/styles' as kib-hero-carousel;
@mixin root-container() { ... }@mixin root-container() { 
  position: relative;
  max-width: settings.$max-width;
  margin: 0 auto;
 }
Description

Hero carousel root element styles

Parameters

None.

Requires
@mixin container() { ... }@mixin container() { 
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  min-height: settings.$min-height;
  overflow: hidden;
 }
Description

Hero carousel root container styles

Parameters

None.

Requires
@mixin slides-container() { ... }@mixin slides-container() { 
  display: flex;
  overflow: hidden;
  list-style: none;
 }
Description

Hero carousel slides container

Parameters

None.

@mixin slide() { ... }@mixin slide() { 
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;

  > :last-child {
    margin-bottom: 0;
  }
 }
Description

Hero carousel slide element

Parameters

None.

@mixin slide-hide() { ... }@mixin slide-hide() { 
  display: none;
 }
Description

Hero carousel slide hidden

Parameters

None.

@mixin nav() { ... }@mixin nav() { 
  padding-left: spacing.get('s1');
  padding-right: spacing.get('s1');
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  transform: translateX(-50%);
  display: flex;
  background-color: settings.$nav-background;
  border-top-left-radius: settings.$nav-border-radius;
  border-top-right-radius: settings.$nav-border-radius;
 }
Description

Hero carousel navigation container

Parameters

None.

Requires
@mixin nav-button() { ... }@mixin nav-button() { 
  padding: 0;
  position: relative;
  width: settings.$pagination-button-size;
  height: settings.$pagination-button-size;
  appearance: none;
  background-color: transparent;
  border: 0;
  color: settings.$pagination-button-text-color;
  cursor: pointer;

  &:focus {
    position: relative;

    &:focus-visible {
      outline: none;
    }

    &::after {
      $distance: settings.$emphasis-size * -2;

      position: absolute;
      top: $distance;
      left: $distance;
      right: $distance;
      bottom: $distance;
      border: settings.$emphasis-size solid settings.$emphasis-outer-color;
      box-shadow: inset 0 0 0 settings.$emphasis-size settings.$emphasis-inner-color;
      content: '';
    }
  }
 }
Description

Hero carousel navigation button

Parameters

None.

Used by
@mixin pause() { ... }@mixin pause() { 
  @include nav-button;
 }
Description

Hero pause button

Parameters

None.

Requires
@mixin pagination() { ... }@mixin pagination() { 
  padding: 0;
  display: flex;
  align-items: center;
 }
Description

Hero carousel pagination container

Parameters

None.

@mixin pagination-button() { ... }@mixin pagination-button() { 
  @include nav-button;

  padding-left: spacing.get('s1');
  padding-right: spacing.get('s1');

  // Pagination dot element
  &::before {
    position: relative;
    display: block;
    width: settings.$pagination-dot-size;
    height: settings.$pagination-dot-size;
    background-color: settings.$pagination-dot-background-color;
    border: settings.$pagination-dot-border-width solid settings.$pagination-dot-border-color;
    border-radius: 50%;
    content: '';
    transition: border-color 200ms;
  }
 }
Description

Hero carousel button dot

Parameters

None.

@mixin pagination-button-active() { ... }@mixin pagination-button-active() { 
  &::before {
    background-color: settings.$pagination-dot-active-background-color;
  }
 }
Description

Hero carousel button dot active

Parameters

None.

@mixin control-icon() { ... }@mixin control-icon() { 
  @include common.chip-icon-styles('transparent');
 }
Description

Hero arrow control icons

Parameters

None.

@mixin slide-vue-transition() { ... }@mixin slide-vue-transition() { 
  transition: transform settings.$slide-transition-duration settings.$slide-transition-timing;

  @media screen and (prefers-reduced-motion: reduce) {
    transition: none;
  }
 }
Description

Custom slide vue transition for <transition /> component

Parameters

None.

@mixin slide-vue-transition-translation($reverse) { ... }@mixin slide-vue-transition-translation($reverse) { 
  @if $reverse {
    transform: translateX(-100%);
  } @else {
    transform: translateX(100%);
  }
 }
Description

Custom slide vue transition translation directions

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$reverse

Direction of transition

Boolean none
@mixin slide-react-transition() { ... }@mixin slide-react-transition() { 
  animation: settings.$slide-transition-timing;
  @if $leave {
    @if $reverse {
      animation-name: kib-hero-carousel-leave-left;
    } @else {
      animation-name: kib-hero-carousel-leave-right;
    }

    animation-duration: settings.$slide-transition-duration * 2;
  } @else {
    @if $reverse {
      animation-name: kib-hero-carousel-left;
    } @else {
      animation-name: kib-hero-carousel-right;
    }

    animation-duration: settings.$slide-transition-duration * 1;
  }
 }
Description

Custom slide React transition

Parameters

None.

$max-width: unit.rem(1440px) !default;
Description

Hero control maximum width

Type

Number

$min-height: unit.rem(296px) !default;
Description

Component minimum height

Type

Number

Used by
$emphasis-size: unit.rem(2px) !default;
Description

Common focus ring border width

Type

Number

Used by
$emphasis-outer-color: color.get('action', 'cta', 'primary', 'primary') !default;
Description

Common outer focus ring color

Type

Color

Used by
$emphasis-inner-color: color.get('action', 'cta', 'alternate', 'primary') !default;
Type

Color

Used by
$nav-background: color.get('static', 'gray1', '900a50') !default;
Description

Hero nav background color

Type

List

Used by
$nav-border-radius: kib-core.dimensions-get('small') !default;
Description

Hero nav border-radius

Type

Number

Used by
$pagination-button-text-color: color.get('ui-bg', 'primary') !default;
Description

Hero pagination background color

Type

Color

Used by
$pagination-button-size: kib-core.dimensions-get('default') !default;
Description

Pagination button size

Type

Number

Used by
$pagination-dot-background-color: transparent !default;
Description

Hero btn background color

Type

Color

Used by
$pagination-dot-border-color: $pagination-button-text-color !default;
Description

Hero btn default border color

Type

Color

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

Hero btn border width

Type

Number

Used by
$pagination-dot-active-background-color: $pagination-dot-border-color !default;
Description

Hero btn background color when active

Type

Color

$pagination-dot-size: kib-core.dimensions-get('small') !default;
Description

Hero btn dot width

Type

Number

Used by
$control-size: unit.rem(36px) !default;
Type

Number

$control-offset: spacing.get('s6') !default;
Type

Number

$slide-transition-duration: 600ms !default;
Description

Hero slide transition duration

Type

Number

$slide-transition-timing: ease-in-out !default;
Description

Hero slide transition timing function

Type

String