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; }
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.
Requires
- [variable]
list-item-spacing-large
- [variable]
list-item-spacing-small
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; } }
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; } }
item
@mixin item() { ... }
@mixin item() { color: settings.$item-text-color; text-align: center; }
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.
Requires
- [variable]
button-text-color
- [variable]
button-focus-border-color
- [variable]
button-hover-background-color
- [variable]
button-pressed-background-color
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; }
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.
Requires
- [variable]
button-selected-background-color
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.
Requires
- [variable]
focus-border-radius-length
- [variable]
button-action-border-color
- [variable]
button-size-small
- [variable]
button-size-medium
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
- [variable]
action-text-spacing
- [variable]
action-icon-spacing
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
- [variable]
action-icon-spacing
- [variable]
action-text-spacing
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
- [variable]
action-icon-size-small
- [variable]
action-icon-size
item-actions-next-icon
@mixin item-actions-next-icon() { ... }
@mixin item-actions-next-icon() { margin-left: settings.$icon-spacer; }
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
- [variable]
icon-spacer
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;
list-item-spacing-large
$list-item-spacing-large: kib-core.dimensions-get('tiny') * 0.5 !default;
action-icon-size
$action-icon-size: unit.rem(32px) !default;
action-icon-size-small
$action-icon-size-small: unit.rem(16px) !default;
action-text-spacing
$action-text-spacing: unit.rem(16px) !default;
Description
Prev/Next action spacing on the text side of the button
Type
Number
Used by
- [mixin]
item-action-next
- [mixin]
item-action-previous
action-icon-spacing
$action-icon-spacing: unit.rem(12px) !default;
Description
Prev/Next action spacing to compensate for icon
Type
Number
Used by
- [mixin]
item-action-next
- [mixin]
item-action-previous
icon-spacer
$icon-spacer: unit.rem(8px) !default;
Description
Prev/Next action spacing between the text and icon
Type
Number
Used by
- [mixin]
item-actions-next-icon
- [mixin]
item-actions-previous-icon
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');
button-focus-border-color
$button-focus-border-color: color.get('action', 'cta', 'primary', 'primary');
button-hover-background-color
$button-hover-background-color: color.get('action', 'cta', 'alternate', '03');
button-pressed-background-color
$button-pressed-background-color: color.get('action', 'cta', 'alternate', '02');
button-selected-background-color
$button-selected-background-color: color.get('action', 'cta', 'alternate', '03');
button-action-border-color
$button-action-border-color: color.get('action', 'cta', 'alternate', '03');