Pagination New

Installation

  yarn add @chewy/kib-menus-styles

Import

  @use '~@chewy/kib-menus-styles/src/kib-pagination-new/styles' as kib-pagination-new;

Mixins

root-container

@mixin root-container() { ... }@mixin root-container() { 
  padding-top: spacing.get('s4');
  padding-bottom: spacing.get('s4');
  min-width: settings.$min-width;
 }
Description

Pagination root container

Parameters

None.

Requires

list

@mixin list() { ... }@mixin list() { 
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;

  &--compact {
    justify-content: center;
  }

  @media screen and (min-width: 480px) {
    justify-content: center;
  }
 }
Description

Pagination list

Parameters

None.

list-item

@mixin list-item() { ... }@mixin list-item() { 
  margin: 0;
  padding: 0;
  display: flex;
  padding-left: settings.$list-item-spacing-large;
  padding-right: settings.$list-item-spacing-large;

  @media screen and (max-width: 480px) {
    padding-left: settings.$list-item-spacing-small;
    padding-right: settings.$list-item-spacing-small;
  }
 }
Description

Pagination list item

Parameters

None.

list-item-previous

@mixin list-item-previous() { ... }@mixin list-item-previous() { 
  @include media.query(max-sm) {
    justify-content: flex-start;
  }

  @include media.query(min-md) {
    margin-right: spacing.get('s6');
    order: -1;
  }
 }
Description

Pagination list item for previous control

Parameters

None.

Requires

list-item-next

@mixin list-item-next() { ... }@mixin list-item-next() { 
  @include media.query(max-sm) {
    justify-content: flex-end;
  }

  @include media.query(min-md) {
    margin-left: spacing.get('s6');
    order: 1;
  }
 }
Description

Pagination list item for next control

Parameters

None.

Requires

item

@mixin item() { ... }@mixin item() { 
  color: settings.$item-text-color;
  text-align: center;
 }
Description

Base style for all page links

Parameters

None.

Requires

item-interactive

@mixin item-interactive() { ... }@mixin item-interactive() { 
  --kib-button-text-color: #{settings.$button-text-color};
  --kib-button-focus-border-color: #{settings.$button-focus-border-color};

  @include kib-button-new.base;
  @include kib-button-new.focus;

  // Override outline distance to be closer to the item
  &::after {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }

  &:hover,
  &:active {
    text-decoration: none;
  }

  &:hover {
    --kib-button-background: #{settings.$button-hover-background-color};
  }

  &:active {
    --kib-button-background: #{settings.$button-pressed-background-color};
  }
 }
Description

Base styles for interactive items

Parameters

None.

item-page

@mixin item-page() { ... }@mixin item-page() { 
  @include kib-button-new.button-padding('medium');

  min-width: kib-button-new.$button-size-medium;
  height: kib-button-new.$button-size-medium;
 }
Description

Page item styles

Parameters

None.

Requires

item-disabled

@mixin item-disabled() { ... }@mixin item-disabled() { 
  @include kib-button-new.disabled;
 }
Description

Disabled style

Parameters

None.

item-current

@mixin item-current() { ... }@mixin item-current() { 
  pointer-events: none;

  &,
  &:focus {
    --kib-button-background: #{settings.$button-selected-background-color};
  }
 }
Description

Current link (non tabbable)

Parameters

None.

item-action

@mixin item-action() { ... }@mixin item-action() { 
  box-shadow: inset 0 0 0 #{kib-button-new.$focus-border-radius-length} #{settings.$button-action-border-color};
  text-transform: capitalize;
  height: kib-button-new.$button-size-small;

  @include media.query(min-md) {
    height: kib-button-new.$button-size-medium;
  }
 }
Description

Pagination item for Previous/Next actions

Parameters

None.

item-action-next

@mixin item-action-next() { ... }@mixin item-action-next() { 
  padding: {
    left: settings.$action-text-spacing;
    right: settings.$action-icon-spacing;
  }
 }
Description

Next action styles

Parameters

None.

Requires

item-action-previous

@mixin item-action-previous() { ... }@mixin item-action-previous() { 
  padding: {
    left: settings.$action-icon-spacing;
    right: settings.$action-text-spacing;
  }
 }
Description

Previous action styles

Parameters

None.

Requires

item-actions-icon

@mixin item-actions-icon() { ... }@mixin item-actions-icon() { 
  width: settings.$action-icon-size-small;
  height: settings.$action-icon-size-small;

  @include media.query(min-md) {
    width: settings.$action-icon-size;
    height: settings.$action-icon-size;
  }
 }
Description

Arrow icon

Parameters

None.

Requires

item-actions-next-icon

@mixin item-actions-next-icon() { ... }@mixin item-actions-next-icon() { 
  margin-left: settings.$icon-spacer;
 }
Description

Next action spacing between text and icon

Parameters

None.

Requires

item-actions-previous-icon

@mixin item-actions-previous-icon() { ... }@mixin item-actions-previous-icon() { 
  margin-right: settings.$icon-spacer;
 }
Description

Previous action spacing between text and icon

Parameters

None.

Requires

Variables

min-width

$min-width: unit.rem(288px) !default;
Description

Pagination min width

Type

Number

list-item-spacing-small

$list-item-spacing-small: kib-core.dimensions-get('tiny') * 0.25 !default;
Description

List item small spacing

Type

Number

Used by

list-item-spacing-large

$list-item-spacing-large: kib-core.dimensions-get('tiny') * 0.5 !default;
Description

List item large spacing

Type

Number

Used by

action-icon-size

$action-icon-size: unit.rem(32px) !default;
Description

Prev/Next action icon size

Type

Number

Used by

action-icon-size-small

$action-icon-size-small: unit.rem(16px) !default;
Description

Prev/Next action icon size for smaller screens

Type

Number

Used by

action-text-spacing

$action-text-spacing: unit.rem(16px) !default;
Description

Prev/Next action spacing on the text side of the button

Type

Number

action-icon-spacing

$action-icon-spacing: unit.rem(12px) !default;
Description

Prev/Next action spacing to compensate for icon

Type

Number

icon-spacer

$icon-spacer: unit.rem(8px) !default;
Description

Prev/Next action spacing between the text and icon

Type

Number

size-offset

Deprecated!

no longer in use

$size-offset: unit.rem(2px) !default;
Description

Page button size offset for smaller screens

Type

Number

item-text-color

$item-text-color: color.get('text', 'tertiary');
Description

Item text color

Type

Color

button-text-color

$button-text-color: color.get('action', 'cta', 'alternate', 'text');
Description

Button text color

Type

Color

Used by

button-focus-border-color

$button-focus-border-color: color.get('action', 'cta', 'primary', 'primary');
Description

Button focus border color

Type

Color

Used by

button-hover-background-color

$button-hover-background-color: color.get('action', 'cta', 'alternate', '03');
Description

Button hover color

Type

Color

Used by

button-pressed-background-color

$button-pressed-background-color: color.get('action', 'cta', 'alternate', '02');
Description

Button pressed color

Type

Color

Used by

button-selected-background-color

$button-selected-background-color: color.get('action', 'cta', 'alternate', '03');
Description

Button selected color

Type

Color

Used by

button-action-border-color

$button-action-border-color: color.get('action', 'cta', 'alternate', '03');
Description

Button action border color

Type

Color

Used by