Scroller
Installation
yarn add @chewy/kib-scroller-styles
Import
@use '~@chewy/kib-scroller-styles/src/styles' as kib-scroller;
Mixins
container
@mixin container() { ... }
@mixin container() { position: relative; display: flex; flex-direction: row; overflow-x: auto; overflow-y: hidden; list-style: none; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
Description
Scrolling region container
Parameters
None.
vertical
@mixin vertical() { ... }
@mixin vertical() { flex: 1; height: 100%; overflow-y: auto; overflow-x: hidden; align-items: center; flex-direction: column; scroll-snap-type: y mandatory; }
Description
Vertical scroller region
Parameters
None.
hide-scrollbar
@mixin hide-scrollbar() { ... }
@mixin hide-scrollbar() { -ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; } }
Description
Hide default browser scrollbar
Parameters
None.
item
@mixin item() { ... }
@mixin item() { margin: 0; width: auto; flex-shrink: 0; scroll-snap-align: start; scroll-snap-stop: always; &:not(:last-child) { margin-right: settings.$default-gap; } }
item-vertical
@mixin item-vertical() { ... }
@mixin item-vertical() { &:not(:last-child) { margin-right: 0; margin-bottom: settings.$default-gap; } }
item-snap-start
@mixin item-snap-start() { ... }
@mixin item-snap-start() { scroll-snap-align: start; }
Description
Scroller item snap align to start
Parameters
None.
item-snap-center
@mixin item-snap-center() { ... }
@mixin item-snap-center() { scroll-snap-align: center; }
Description
Scroller item snap align to center
Parameters
None.
item-snap-end
@mixin item-snap-end() { ... }
@mixin item-snap-end() { scroll-snap-align: end; }
Description
Scroller item snap align to end
Parameters
None.
Variables
default-gap
$default-gap: spacing.get('s2') !default;