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
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$size | Size preset alias | String | 'sm' |
Requires
- [mixin]
icon-size
- [mixin]
icon-circle
- [variable]
size
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
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$size | Size preset alias | String | 'sm' |
Used by
- [mixin]
icon-container
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
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$size | Size preset alias | String | 'sm' |
Requires
- [function]
get
- [function]
get-color-property
- [variable]
sizes
- [variable]
size
- [variable]
icon-size
Used by
- [mixin]
icon-container
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 Name | Map key Description | Map key Type | Map 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
- [mixin]
icon-size
- [mixin]
icon-circle