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;
  }
 }
Description

Scroller item wrapper

Parameters

None.

Requires

item-vertical

@mixin item-vertical() { ... }@mixin item-vertical() { 
  &:not(:last-child) {
    margin-right: 0;
    margin-bottom: settings.$default-gap;
  }
 }
Description

Vertical scroller item styles

Parameters

None.

Requires

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;
Description

Default gap between scroller items

Type

Number

Used by