Accordion New
Installation
yarn add @chewy/kib-content-groups-stylesImport
@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
- [variable]
root-spacing - [variable]
root-background-color
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
- [variable]
item-border-size - [variable]
item-border-color
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
- [variable]
item-header-padding
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.
Requires
- [variable]
item-trigger-padding-horizontal - [variable]
item-trigger-color - [variable]
item-trigger-focus-border-radius - [variable]
item-trigger-box-shadow-width - [variable]
item-trigger-box-shadow-color
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
- [variable]
item-title-spacing - [variable]
item-title-text-color
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
- [variable]
item-content-text-color
item-subtitle
@mixin item-subtitle() { ... }@mixin item-subtitle() { margin-right: settings.$item-title-spacing; margin-left: calc(settings.$item-title-spacing * -0.5); }
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
- [variable]
item-icon-size - [variable]
item-icon-color
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
- [variable]
item-icon-size - [variable]
item-header-icon-margin - [variable]
item-icon-color
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.
Requires
- [variable]
item-content-padding-horizontal - [variable]
item-content-text-color
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.
Requires
- [variable]
item-content-padding-bottom-open
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.
Requires
- [variable]
item-content-padding-bottom-open
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.
Requires
- [variable]
item-content-padding-left-icon
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.
Requires
- [variable]
item-close-button-margin-top - [variable]
item-close-button-padding - [variable]
item-close-link-text-color
Variables
root-spacing
$root-spacing: spacing.get('s4') !default;root-background-color
$root-background-color: color.get('ct', 'accordion', 'bg-color') !default;item-title-text-color
$item-title-text-color: color.get('ct', 'accordion', 'text-primary-color') !default;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
- [mixin]
item-description - [mixin]
item-content
item-trigger-color
$item-trigger-color: color.get('ct', 'accordion', 'trigger-color') !default;item-icon-color
$item-icon-color: color.get('ct', 'accordion', 'icon-color') !default;Description
Default icon color of accordion item
Type
Color
Used by
- [mixin]
item-icon - [mixin]
item-header-icon
item-icon-size
$item-icon-size: unit.rem(24px) !default;Description
Default icon size of accordion item
Type
Number
Used by
- [mixin]
item-icon - [mixin]
item-header-icon - [mixin]
icon
item-border-color
$item-border-color: color.get('ct', 'accordion', 'border-color') !default;item-border-size
$item-border-size: border.get('bw02') !default;item-close-link-text-color
$item-close-link-text-color: color.get('link', 'focus', 'primary') !default;Description
Default close link text color of accordion item
Type
Color
Used by
- [mixin]
item-close-button-focused
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
- [mixin]
item-trigger-wrapper
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
- [mixin]
item-trigger-wrapper
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
- [mixin]
item-trigger-wrapper
item-header-padding
$item-header-padding: spacing.get('s4') !default;item-trigger-padding-horizontal
$item-trigger-padding-horizontal: spacing.get('s4') !default;item-header-icon-margin
$item-header-icon-margin: spacing.get('s4') !default;item-content-padding-horizontal
$item-content-padding-horizontal: spacing.get('s4') !default;item-content-padding-bottom-open
$item-content-padding-bottom-open: spacing.get('s2') !default;Description
Default item content open bottom padding
Type
Number
Used by
- [mixin]
item-content-open - [mixin]
item-content-closed
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
- [mixin]
item-content-icon
item-close-button-margin-top
$item-close-button-margin-top: spacing.get('s2') !default;item-close-button-padding
$item-close-button-padding: spacing.get('s1') !default;item-title-spacing
$item-title-spacing: calc($item-header-padding + $item-icon-size) !default;