Accordion New

Installation

  yarn add @chewy/kib-content-groups-styles

Import

  @use '~@chewy/kib-content-groups-styles/src/kib-accordion-new/styles' as kib-accordion-new;

Mixins

root-container

@mixin root-container() { ... }@mixin root-container() { 
  margin-bottom: settings.$root-spacing;
  background: settings.$root-background-color;
 }
Description

Chirp Accordion base styles

Parameters

None.

Requires

item-wrapper

@mixin item-wrapper() { ... }@mixin item-wrapper() { 
  border-top: settings.$item-border-size solid settings.$item-border-color;
  border-bottom: settings.$item-border-size solid settings.$item-border-color;
  background: none;

  & ~ & {
    border-top: none;
  }
 }
Description

Chirp Accordion Item base wrapper styles

Parameters

None.

Requires

item-header-wrapper

@mixin item-header-wrapper() { ... }@mixin item-header-wrapper() { 
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;
  padding: settings.$item-header-padding;
  border: 0;
  text-align: left;
  cursor: pointer;
 }
Description

Chirp accordion item header wrapper styles

Parameters

None.

Requires

item-trigger-wrapper

@mixin item-trigger-wrapper() { ... }@mixin item-trigger-wrapper() { 
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-right: settings.$item-trigger-padding-horizontal;
  padding-left: settings.$item-trigger-padding-horizontal;
  border: 0;
  background-color: transparent;
  color: settings.$item-trigger-color;
  cursor: pointer;

  // Provide a fallback style for browsers that don't support :focus-visible
  &:focus {
    border-radius: settings.$item-trigger-focus-border-radius;
    outline: none;
    box-shadow: inset 0 0 0 settings.$item-trigger-box-shadow-width
      settings.$item-trigger-box-shadow-color;
  }

  &:focus-visible {
    box-shadow: inset 0 0 0 settings.$item-trigger-box-shadow-width
      settings.$item-trigger-box-shadow-color;
  }

  // remove the focus indicator on mouse-focus for browsers that do support :focus-visible
  &:focus:not(:focus-visible) {
    box-shadow: none;
  }
  @media (forced-colors: active) {
    background: transparent !important;
  }
 }
Description

Chirp Accordion Item trigger wrapper styles

Parameters

None.

item-header-title-wrapper

@mixin item-header-title-wrapper() { ... }@mixin item-header-title-wrapper() { 
  display: flex;
  align-items: center;
 }
Description

Chirp Accordion Item header title wrapper styles

Parameters

None.

item-title

@mixin item-title() { ... }@mixin item-title() { 
  @include typography.style-as('paragraph-1');

  margin: 0 settings.$item-title-spacing 0 0;
  color: settings.$item-title-text-color;
 }
Description

Chirp Accordion Item title styles

Parameters

None.

Requires

item-title-section

@mixin item-title-section() { ... }@mixin item-title-section() { 
  @include typography.style-as('section-3');
 }
Description

Chirp Accordion Item title section styling

Parameters

None.

item-title-hover

@mixin item-title-hover() { ... }@mixin item-title-hover() { 
  @media (hover: hover) and (pointer: fine) {
    text-decoration: underline;
  }
 }
Description

Chirp Accordion Item title hover styles

Parameters

None.

item-description

@mixin item-description() { ... }@mixin item-description() { 
  @include typography.style-as('product-text-1');
  width: 100%;

  margin: 0;
  color: settings.$item-content-text-color;
 }
Description

Chirp Accordion Item description styles

Parameters

None.

Requires

item-subtitle

@mixin item-subtitle() { ... }@mixin item-subtitle() { 
  margin-right: settings.$item-title-spacing;
  margin-left: calc(settings.$item-title-spacing * -0.5);
 }
Description

Chirp Accordion Item subtitle styles

Parameters

None.

Requires

item-icon

@mixin item-icon() { ... }@mixin item-icon() { 
  flex-shrink: 0;
  width: settings.$item-icon-size;
  height: settings.$item-icon-size;
  margin-left: auto;
  color: settings.$item-icon-color;
 }
Description

Chirp Accordion Item icon styles

Parameters

None.

Requires

item-header-icon

@mixin item-header-icon() { ... }@mixin item-header-icon() { 
  flex-shrink: 0;
  align-self: flex-start;
  width: settings.$item-icon-size;
  height: settings.$item-icon-size;
  margin: 0 settings.$item-header-icon-margin 0 0;
  color: settings.$item-icon-color;
 }
Description

Chirp Accordion Item header icon styles

Parameters

None.

Requires

item-content

@mixin item-content() { ... }@mixin item-content() { 
  @include typography.style-as('paragraph-2');
  display: grid;
  visibility: hidden;

  grid-template-columns: 100%;
  grid-template-rows: 0fr;
  padding-right: settings.$item-content-padding-horizontal;
  padding-bottom: 0;
  padding-left: settings.$item-content-padding-horizontal;
  overflow: hidden;
  transition:
    visibility 0.3s ease-in-out,
    grid-template-rows 0.3s ease-in-out,
    padding-bottom 0.3s ease-in-out;
  color: settings.$item-content-text-color;

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

Chirp Accordion Item content styles

Parameters

None.

item-content-open

@mixin item-content-open() { ... }@mixin item-content-open() { 
  visibility: visible;
  grid-template-rows: 1fr;
  padding-bottom: settings.$item-content-padding-bottom-open;
  overflow: visible;
 }
Description

Chirp Accordion Item content styles when item is open

Parameters

None.

item-content-opening

@mixin item-content-opening() { ... }@mixin item-content-opening() { 
  overflow: hidden;
 }
Description

Chirp Accordion Item content styles when item is fully opened (ie. done transitioning)

Parameters

None.

item-content-closed

@mixin item-content-closed() { ... }@mixin item-content-closed() { 
  @include a11y.visually-hidden;
  width: 1px;
  height: 1px;
  min-height: 1px;
  margin-top: calc(settings.$item-content-padding-bottom-open * -1);
  padding: 0;

  clip-path: inset(50%);
 }
Description

Chirp Accordion Item content styles when item is fully closed (ie. done transitioning)

Parameters

None.

item-content-icon

@mixin item-content-icon() { ... }@mixin item-content-icon() { 
  padding-left: settings.$item-content-padding-left-icon;
 }
Description

Chirp Accordion Item content styles when item has icon

Parameters

None.

item-content-transition

@mixin item-content-transition() { ... }@mixin item-content-transition() { 
  min-height: 0;
 }
Description

Chirp Accordion Item content that is to be transitioned

Parameters

None.

item-close-button-focused

@mixin item-close-button-focused() { ... }@mixin item-close-button-focused() { 
  display: flex;
  margin-top: settings.$item-close-button-margin-top;
  padding: settings.$item-close-button-padding;
  border: 0;
  background: transparent;
  color: settings.$item-close-link-text-color;
  text-decoration: underline;
  cursor: pointer;
 }
Description

Chirp Accordion Item close link styles when focused

Parameters

None.

Variables

root-spacing

$root-spacing: spacing.get('s4') !default;
Description

Default root spacing

Type

Number

Used by

root-background-color

$root-background-color: color.get('ct', 'accordion', 'bg-color') !default;
Description

Default background color of accordion

Type

Color

Used by

item-title-text-color

$item-title-text-color: color.get('ct', 'accordion', 'text-primary-color') !default;
Description

Default title color of accordion item

Type

Color

Used by

item-content-text-color

$item-content-text-color: color.get('ct', 'accordion', 'text-alternate-color') !default;
Description

Default content text color of accordion item

Type

Color

Used by

item-trigger-color

$item-trigger-color: color.get('ct', 'accordion', 'trigger-color') !default;
Description

Default trigger color of accordion item

Type

Color

Used by

item-icon-color

$item-icon-color: color.get('ct', 'accordion', 'icon-color') !default;
Description

Default icon color of accordion item

Type

Color

Used by

item-icon-size

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

Default icon size of accordion item

Type

Number

Used by

item-border-color

$item-border-color: color.get('ct', 'accordion', 'border-color') !default;
Description

Default border color of accordion item

Type

Color

Used by

item-border-size

$item-border-size: border.get('bw02') !default;
Description

Default border size of accordion item

Type

Color

Used by
$item-close-link-text-color: color.get('link', 'focus', 'primary') !default;
Description

Default close link text color of accordion item

Type

Color

item-trigger-box-shadow-width

$item-trigger-box-shadow-width: unit.rem(2px) !default;
Description

Default trigger box shadow width of accordion item

Type

Number

Used by

item-trigger-box-shadow-color

$item-trigger-box-shadow-color: color.get('ct', 'accordion', 'focus-color') !default;
Description

Default trigger box shadow color of accordion item

Type

Number

Used by

item-trigger-focus-border-radius

$item-trigger-focus-border-radius: border.get('br01') !default;
Description

Default trigger focus border radius of accordion item

Type

Number

Used by

item-header-padding

$item-header-padding: spacing.get('s4') !default;
Description

Default item header padding

Type

Number

Used by

item-trigger-padding-horizontal

$item-trigger-padding-horizontal: spacing.get('s4') !default;
Description

Default item trigger horizontal padding

Type

Number

Used by

item-header-icon-margin

$item-header-icon-margin: spacing.get('s4') !default;
Description

Default item header icon margin

Type

Number

Used by

item-content-padding-horizontal

$item-content-padding-horizontal: spacing.get('s4') !default;
Description

Default item content horizontal padding

Type

Number

Used by

item-content-padding-bottom-open

$item-content-padding-bottom-open: spacing.get('s2') !default;
Description

Default item content open bottom padding

Type

Number

item-content-padding-left-icon

$item-content-padding-left-icon: spacing.get('s10') !default;
Description

Default item content padding when icon is present

Type

Number

Used by

item-close-button-margin-top

$item-close-button-margin-top: spacing.get('s2') !default;
Description

Default close button margin top

Type

Number

item-close-button-padding

$item-close-button-padding: spacing.get('s1') !default;
Description

Default close button padding

Type

Number

item-title-spacing

$item-title-spacing: calc($item-header-padding + $item-icon-size) !default;
Description

Default title spacing

Type

Number

Used by