Card
Installation
  yarn add @chewy/kib-foundationsImport
  @use '~@chewy/kib-foundations/src/card';Mixins
card
@mixin card() { ... }@mixin card() { @include typography.style-as('paragraph-1'); display: block; width: 100%; background-color: settings.$background-color; border: settings.$border-width solid settings.$border-color; border-radius: settings.$border-radius; color: settings.$text-color; text-align: left; }
Description
Root card container
Parameters
None.
Requires
- [variable] 
background-color - [variable] 
border-width - [variable] 
border-color - [variable] 
border-radius - [variable] 
text-color 
Used by
- [mixin] 
card-flat - [mixin] 
card-interactive 
card-flat
@mixin card-flat() { ... }@mixin card-flat() { @include card; border: none; border-radius: 0; }
Description
Card container that does not have a border
Parameters
None.
Requires
- [mixin] 
card 
Used by
- [mixin] 
card-interactive 
card-interactive
@mixin card-interactive($border) { ... }@mixin card-interactive($border) { @if $border { @include card; } @else { @include card-flat; } @include card-interactive-default($border); &:hover { @include card-interactive-hover; } &:focus { @include card-interactive-focus; } &:active { @include card-interactive-active; } &:disabled { @include card-interactive-disabled; } // Hides outline when hovering over component while focused &:hover:focus { @include card-interactive-focus-cancel; } }
Description
Interactive card container styles, mainly used when root element is a button or anchor
Parameters
| parameter Name | parameter Description | parameter Type | parameter Default value | 
|---|---|---|---|
$border | Styles the card with or without a border.  | Boolean | — none | 
Requires
- [mixin] 
card - [mixin] 
card-flat - [mixin] 
card-interactive-default - [mixin] 
card-interactive-hover - [mixin] 
card-interactive-focus - [mixin] 
card-interactive-active - [mixin] 
card-interactive-disabled - [mixin] 
card-interactive-focus-cancel 
card-interactive-default
@mixin card-interactive-default($border) { ... }@mixin card-interactive-default($border) { position: relative; z-index: 1; overflow: visible; appearance: none; cursor: pointer; text-decoration: none; transition: background-color settings.$transition-duration; &::before { $distance: settings.$border-width * -3; position: absolute; top: $distance; left: $distance; right: $distance; bottom: $distance; @if $border { border: settings.$outline-border-width solid settings.$outline-border-color; border-radius: settings.$outline-radius; } @else { border: none; } content: ''; opacity: 0; pointer-events: none; transition: opacity settings.$transition-duration; } @media (prefers-reduced-motion: reduce) { &, &::before { transition: none; } } }
Description
Default state styles for interactive card
Parameters
| parameter Name | parameter Description | parameter Type | parameter Default value | 
|---|---|---|---|
$border | Styles the card with or without a border.  | Boolean | — none | 
Requires
- [variable] 
transition-duration - [variable] 
border-width - [variable] 
outline-border-width - [variable] 
outline-border-color - [variable] 
outline-radius 
Used by
- [mixin] 
card-interactive 
card-interactive-hover
@mixin card-interactive-hover() { ... }@mixin card-interactive-hover() { @include elevation.elevation; color: settings.$text-color; text-decoration: none; }
Description
Hover state for interactive card
Parameters
None.
Requires
- [variable] 
text-color 
Used by
- [mixin] 
card-interactive 
card-interactive-focus
@mixin card-interactive-focus() { ... }@mixin card-interactive-focus() { color: settings.$text-color; outline: 0; text-decoration: none; &::before { opacity: 1; } }
Description
Focus state styles for interactive card
Parameters
None.
Requires
- [variable] 
text-color 
Used by
- [mixin] 
card-interactive 
card-interactive-focus-cancel
@mixin card-interactive-focus-cancel() { ... }@mixin card-interactive-focus-cancel() { &::before { opacity: 0; } }
card-interactive-active
@mixin card-interactive-active() { ... }@mixin card-interactive-active() { background-color: settings.$active-background-color; }
Description
Active state styles for interactive card (when pressed)
Parameters
None.
Requires
- [variable] 
active-background-color 
Used by
- [mixin] 
card-interactive 
card-interactive-disabled
@mixin card-interactive-disabled() { ... }@mixin card-interactive-disabled() { opacity: 0.5; pointer-events: none; }
Variables
background-color
$background-color: color.get('ui-bg', 'primary') !default;Description
Card background color
Type
Color
Used by
- [mixin] 
card - [mixin] 
controls - [mixin] 
switch-control-custom - [mixin] 
root-container - [mixin] 
menu-group-link - [mixin] 
container - [mixin] 
divider-cover - [mixin] 
scrolling-shadow - [mixin] 
flag - [mixin] 
sponsor - [mixin] 
panel - [mixin] 
root-container - [mixin] 
container - [mixin] 
button - [mixin] 
tooltip - [mixin] 
content-arrow 
active-background-color
$active-background-color: color.get('ui-bg', '04') !default;border-color
$border-color: color.get('ui-bg', '04') !default;Description
Card border color
Type
Color
Used by
- [mixin] 
card - [mixin] 
choice-control-custom-base - [mixin] 
field-outline - [mixin] 
menu-group-link - [mixin] 
sponsor - [mixin] 
container - [mixin] 
cell-base - [mixin] 
secondary - [mixin] 
tooltip - [mixin] 
content-arrow 
border-radius
$border-radius: kib-core.dimensions-get('small') !default;Description
Card corner radius
Type
Number
border-width
$border-width: unit.rem(2px) !default;Description
Card border width
Type
Number
Used by
- [mixin] 
card - [mixin] 
card-interactive-default - [mixin] 
choice-control-custom-base - [mixin] 
checkbox-control-custom-base - [mixin] 
checkbox-control-fill - [mixin] 
switch-control-custom - [mixin] 
switch-control-fill - [mixin] 
field-textarea-outline - [mixin] 
menu-group-link - [mixin] 
container - [mixin] 
cell-base - [mixin] 
cell-striped-hcm - [mixin] 
tag-variant - [mixin] 
secondary - [mixin] 
button - [mixin] 
tooltip - [mixin] 
content-arrow 
outline-border-color
$outline-border-color: color.get('link', 'focus', 'primary') !default;outline-border-width
$outline-border-width: $border-width !default;outline-radius
$outline-radius: $border-radius + ($outline-border-width * 2) !default;text-color
$text-color: color.get('text', 'primary') !default;Description
Card text color
Type
Color
Used by
- [mixin] 
card - [mixin] 
card-interactive-hover - [mixin] 
card-interactive-focus - [mixin] 
field-control - [mixin] 
menu-group-link - [mixin] 
flag - [mixin] 
root-container - [mixin] 
sponsor - [mixin] 
panel - [mixin] 
root-container - [mixin] 
container - [mixin] 
tooltip 
transition-duration
$transition-duration: 200ms !default;Description
Transitions duration
Type
Number
Used by
- [mixin] 
card-interactive-default - [mixin] 
title - [mixin] 
step-transition-common