Icon Container

Installation

  yarn add @chewy/kib-foundations

Import

  @use '~@chewy/kib-foundations/src/icon-container';

Mixins

icon-container

@mixin icon-container($size: 'sm') { ... }@mixin icon-container($size: 'sm') { 
  @include icon-size($size);
  @include icon-circle($size);
 }
Description

Icon container styles generator

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$size

Size preset alias

String'sm'
Requires

icon-size

@mixin icon-size($size: 'sm') { ... }@mixin icon-size($size: 'sm') { 
  $container-size: map.get(map.get(settings.$sizes, $size), container);

  display: inline-block;
  vertical-align: middle;
  width: $container-size;
  height: $container-size;
 }
Description

Icon size styles

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$size

Size preset alias

String'sm'
Requires
Used by

icon-circle

@mixin icon-circle($size: 'sm') { ... }@mixin icon-circle($size: 'sm') { 
  $size-map: map.get(settings.$sizes, $size);
  $icon-size: map.get($size-map, icon);
  $container-size: map.get($size-map, container);

  position: relative;
  display: inline-block;
  width: $container-size;
  height: $container-size;
  flex-shrink: 0;
  vertical-align: middle;
  border-radius: 50%;
  background-color: color.get-color-property('ui-bg', '02');
  color: color.get-color-property('text', 'primary');

  > svg,
  > img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: $icon-size;
    height: $icon-size;
  }
 }
Description

Icon circle styles

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$size

Size preset alias

String'sm'
Requires
Used by

Variables

sizes

$sizes: (...);$sizes: (
  xs: (
    container: unit.rem(32px),
    icon: unit.rem(24px)
  ),
  sm: (
    container: unit.rem(40px),
    icon: unit.rem(24px)
  ),
  md: (
    container: unit.rem(48px),
    icon: unit.rem(24px)
  ),
  lg: (
    container: unit.rem(64px),
    icon: unit.rem(32px)
  ),
  xl: (
    container: unit.rem(88px),
    icon: unit.rem(48px)
  )
);
Description

Preset icon container sizes

Type

Map

Map structure
Map key NameMap key DescriptionMap key TypeMap key Value
size

alias for the size preset

Map none
size.container

size value for the icon container element

Number none
size.icon

size value for the icon svg element

Number none
Used by