Selection Card
Installation
yarn add @chewy/kib-cards-styles
Import
@use '~@chewy/kib-cards-styles/src/kib-selection-card/styles' as kib-selection-card;
Mixins
card-root
@mixin card-root() { ... }
@mixin card-root() { @include kib-foundations.card; @include kib-foundations.card-interactive-default; padding: spacing.get('s4'); margin-bottom: spacing.get('s2'); display: flex; flex-direction: column; width: 100%; // This fixes IE11 vertical alignment bug // @see https://chewyinc.atlassian.net/browse/CDS-4167 min-height: settings.$min-height; align-items: top; justify-content: stretch; &:focus, &:hover { @include kib-foundations.card-interactive-hover; } &:active { @include kib-foundations.card-interactive-active; } // This fixes IE11 not showing custom focus outline // @see https://chewyinc.atlassian.net/browse/CDS-4168 overflow: visible; text-align: left; }
Description
Card root container element styles
Parameters
None.
Requires
- [function]
get
- [variable]
min-height
Author
CDS
card-disabled
@mixin card-disabled() { ... }
@mixin card-disabled() { @include kib-foundations.card-interactive-disabled; }
Description
Card container disabled element styles
Parameters
None.
Author
CDS
selected
@mixin selected() { ... }
@mixin selected() { border-color: kib-foundations.$card-outline-border-color; }
Description
Styles for selected selection card
Parameters
None.
Author
CDS
label
@mixin label() { ... }
@mixin label() { @include section-heading.heading; @include section-heading.heading-small; padding-left: settings.$label-spacing; }
Description
Card root container element styles
Parameters
None.
Requires
- [variable]
label-spacing
Author
CDS
unselected-label
@mixin unselected-label() { ... }
@mixin unselected-label() { $distance: kib-foundations.$card-border-width * -3; position: absolute; top: $distance; left: $distance; right: $distance; bottom: $distance; border: none; content: ''; cursor: pointer; z-index: 1; }
Description
Card root container element styles
Parameters
None.
Author
CDS
radio-control-custom
@mixin radio-control-custom($block) { ... }
@mixin radio-control-custom($block) { @include mixins.choice-control-custom($block); #{$block}__native:checked ~ & { #{$block}__fill { opacity: 1; transform: translate(-50%, -50%) scale(1); } } }
Description
Radio custom input control styles and various states
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$block | root class of parent block element | String | — none |
Author
CDS
radio-control-fill
@mixin radio-control-fill() { ... }
@mixin radio-control-fill() { position: absolute; top: 50%; left: 50%; width: 60%; height: 60%; background-color: settings.$control-fill-color; border-radius: 50%; content: ''; opacity: 0; transform: translate(-50%, -50%) scale(0); transition: transform 0.2s, opacity 0.2s; }
Description
Control fill with inner pseudo element to style checked state
Parameters
None.
Requires
- [variable]
control-fill-color
Author
CDS
append-container-indent
@mixin append-container-indent($width) { ... }
@mixin append-container-indent($width) { margin-top: spacing.get('s2'); padding-left: calc(#{$width} + #{settings.$label-spacing}); }
Description
Container that holds appended content below label
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$width | input control width | Number | — none |
Requires
- [function]
get
- [variable]
width
- [variable]
label-spacing
Author
CDS
Variables
appended-indent
$appended-indent: kib-foundations.rem(20px) !default;
Description
Appended content indentation
Type
Number
Author
CDS
label-spacing
$label-spacing: spacing.get('s4') !default;
Description
Spacing between choice control and label
Type
Number
Author
CDS
control-fill-color
$control-fill-color: color.get('action', 'selection-control', 'on', 'primary') !default;
min-height
$min-height: kib-foundations.rem(52px) !default;
Description
Minimum card height
Type
Number
Author
CDS