Datepicker

Installation

  yarn add @chewy/kib-datepicker-styles

Import

  @use '~@chewy/kib-datepicker-styles/src/styles' as kib-datepicker;

Mixins

input-readonly

@mixin input-readonly() { ... }@mixin input-readonly() { 
  input[readonly] {
    background-color: transparent;
  }
 }
Description

Override input used to render the datepicker and remove readonly styling if rendered on mobile.

Parameters

None.

input-field-icon

@mixin input-field-icon() { ... }@mixin input-field-icon() { 
  pointer-events: initial;
 }
Description

Override input icon wrapper to allow clicks

Parameters

None.

TODO's
  • Find a different way of doing this.

input-adornment

@mixin input-adornment() { ... }@mixin input-adornment() { 
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-left: calc(#{spacing.get('s1')} * -1);
 }
Description

MUI adornment added to input

Parameters

None.

Requires

input-adornment-icon

@mixin input-adornment-icon() { ... }@mixin input-adornment-icon() { 
  color: settings.$adornment-icon-color;
 }
Description

MUI adornment icon

Parameters

None.

Requires

input-adornment-icon-disabled

@mixin input-adornment-icon-disabled() { ... }@mixin input-adornment-icon-disabled() { 
  opacity: settings.$adornment-icon-disabled-opacity;
 }
Description

MUI adornment icon when disabled

Parameters

None.

input-hidden-text

@mixin input-hidden-text() { ... }@mixin input-hidden-text() { 
  @include kib-core.visually-hidden;
 }
Description

Hidden a11y text on input label

Parameters

None.

icon

@mixin icon() { ... }@mixin icon() { 
  width: settings.$icon-size;
  height: settings.$icon-size;
  color: settings.$icon-color;
 }
Description

Icons in calendar component

Parameters

None.

Requires

icon-disabled

@mixin icon-disabled() { ... }@mixin icon-disabled() { 
  opacity: settings.$icon-disabled-opacity;
 }
Description

Disabled icon

Parameters

None.

Requires

button-focus

@mixin button-focus() { ... }@mixin button-focus() { 
  background-color: settings.$button-focus-bg-color;
 }
Description

Focus styles for any MUI button inside component

Parameters

None.

Requires

wrapper

@mixin wrapper() { ... }@mixin wrapper() { 
  @include kib-foundations.elevation('high');

  border-radius: settings.$wrapper-radius;
 }
Description

Wrapper around calendar (MuiPaper)

Parameters

None.

Requires

picker-calendar-container

@mixin picker-calendar-container() { ... }@mixin picker-calendar-container() { 
  box-shadow: 0 -1px 0 0 kib-foundations.color-get('ui-bg', '04');
 }
Description

Calendar container

Parameters

None.

picker-controls-bar

@mixin picker-controls-bar() { ... }@mixin picker-controls-bar() { 
  margin-top: spacing.get('s3');
  margin-bottom: spacing.get('s3');
 }
Description

Controls section above calendar

Parameters

None.

Requires

picker-month-name

@mixin picker-month-name() { ... }@mixin picker-month-name() { 
  @include kib-foundations.typography-style-as('paragraph-2');

  color: settings.$picker-month-name-color;
 }
Description

Styles for month names at the top of calendar

Parameters

None.

Requires

picker-selected-month-year

@mixin picker-selected-month-year() { ... }@mixin picker-selected-month-year() { 
  @include kib-foundations.typography-style-as('section-2');
 }
Description

Current month/year text

Parameters

None.

picker-choice

@mixin picker-choice() { ... }@mixin picker-choice() { 
  @include kib-foundations.typography-style-as('paragraph-1');
 }
Description

Base styles for all picker choices (day, month or year)

Parameters

None.

picker-choice-default

@mixin picker-choice-default() { ... }@mixin picker-choice-default() { 
  color: settings.$picker-choice-text-color;
 }
Description

Styles for default state of all picker choices

Parameters

None.

Requires

picker-choice-hover

@mixin picker-choice-hover() { ... }@mixin picker-choice-hover() { 
  background-color: settings.$picker-choice-hover-bg-color;
 }
Description

Hovered choice

Parameters

None.

Requires

picker-choice-focus

@mixin picker-choice-focus() { ... }@mixin picker-choice-focus() { 
  box-shadow: inset 0 0 0 settings.$picker-choice-focus-outline-width
    settings.$picker-choice-focus-outline-color;

  &:not(:hover) {
    background-color: transparent;
  }
 }
Description

Focused choice

Parameters

None.

picker-choice-selected

@mixin picker-choice-selected() { ... }@mixin picker-choice-selected() { 
  background-color: settings.$picker-choice-selected-bg-color;
 }
Description

Selected choice

Parameters

None.

picker-choice-disabled

@mixin picker-choice-disabled() { ... }@mixin picker-choice-disabled() { 
  background-image: linear-gradient(
    45deg,
    transparent 49%,
    settings.$picker-choice-disabled-line-color 50%,
    transparent 51%
  );
  cursor: not-allowed;
  color: settings.$picker-choice-disabled-color;
  pointer-events: none;
 }
Description

Disabled choice

Parameters

None.

picker-choice-today

@mixin picker-choice-today() { ... }@mixin picker-choice-today() { 
  position: relative;
  border: 0;

  &::before {
    position: absolute;
    top: settings.$picker-choice-today-dot-size;
    left: 50%;
    display: block;
    margin-left: math.div(settings.$picker-choice-today-dot-size, -2);
    width: settings.$picker-choice-today-dot-size;
    height: settings.$picker-choice-today-dot-size;
    background-color: settings.$picker-choice-today-dot-color;
    border-radius: settings.$picker-choice-today-dot-size;
    content: '';
  }
 }
Description

Today choice

Parameters

None.

picker-toolbar

@mixin picker-toolbar() { ... }@mixin picker-toolbar() { 
  position: relative;
  background-color: kib-foundations.color-get('ui-bg', '04');
 }
Description

Toolbar

Parameters

None.

picker-toolbar-title

@mixin picker-toolbar-title() { ... }@mixin picker-toolbar-title() { 
  @include kib-foundations.typography-style-as('caption');

  display: block;
  color: kib-foundations.color-get('text', 'secondary');
  text-transform: initial;
 }
Description

Toolbar title

Parameters

None.

picker-toolbar-selected-date

@mixin picker-toolbar-selected-date() { ... }@mixin picker-toolbar-selected-date() { 
  @include kib-foundations.typography-style-as('section-1');

  margin-top: spacing.get('s2');
 }
Description

Current selected date

Parameters

None.

Requires

picker-toolbar-switch-button

@mixin picker-toolbar-switch-button() { ... }@mixin picker-toolbar-switch-button() { 
  @include kib-button-new.generate-styles('action', 'tertiary', 'medium', true);

  position: absolute;
  top: 50%;
  right: kib-core.dimensions-get('default');
  transform: translateY(-25%);
  color: settings.$icon-color;
 }
Description

Toolbar switch view button

Parameters

None.

Requires

picker-dialog-content

@mixin picker-dialog-content() { ... }@mixin picker-dialog-content() { 
  padding-bottom: spacing.get('s4');
 }
Description

Mobile dialog content container

Parameters

None.

Requires

picker-dialog-content-input

@mixin picker-dialog-content-input() { ... }@mixin picker-dialog-content-input() { 
  margin-bottom: spacing.get('s8');
 }
Description

Styles for input when inside mobile dialog

Parameters

None.

Requires

picker-dialog-action-button

@mixin picker-dialog-action-button() { ... }@mixin picker-dialog-action-button() { 
  @include kib-button-new.generate-styles('action', 'tertiary', 'small');

  text-transform: capitalize;

  &:last-child {
    @include kib-button-new.root;
  }
 }
Description

Mobile dialog action button

Parameters

None.

Variables

icon-size

$icon-size: kib-core.dimensions-get('large') !default;
Description

Size for icons inside calendar widget

Type

Number

icon-color

$icon-color: color.get('link', 'active', 'primary') !default;
Description

Color for icons inside calendar widget

Type

Color

Used by

icon-disabled-opacity

$icon-disabled-opacity: kib-button-new.$disabled-opacity !default;
Description

Disabled opacity for icons inside calendar widget

Type

Color

Used by

adornment-icon-color

$adornment-icon-color: color.get('text', 'primary') !default;
Description

Color for adornment icon placed on text input

Type

Color

Used by

adornment-icon-disabled-opacity

$adornment-icon-disabled-opacity: $icon-disabled-opacity !default;
Description

Disabled opacity for adornment icon placed on text input

Type

Number

button-focus-bg-color

$button-focus-bg-color: color.get('action', 'utility', 'alternate', '03') !default;
Description

Focus background color for all MUI buttons in the component

Type

Color

Used by

wrapper-radius

$wrapper-radius: kib-core.dimensions-get('small') !default;
Description

Border radius for Popper/Dialog wrapper around picker

Type

Number

Used by

picker-month-name-color

$picker-month-name-color: color.get('text', 'primary') !default;
Description

Color for month names at the top row of calendar

Type

Color

Used by

picker-choice-text-color

$picker-choice-text-color: color.get('link', 'active', 'primary') !default;
Description

Choice default text color

Type

Color

Used by

picker-choice-hover-bg-color

$picker-choice-hover-bg-color: color.get('action', 'cta', 'alternate', '03') !default;
Description

Choice hover background color

Type

Color

Used by

picker-choice-focus-outline-width

$picker-choice-focus-outline-width: unit.rem(2px) !default;
Description

Choice focus outline width

Type

Number

Used by

picker-choice-focus-outline-color

$picker-choice-focus-outline-color: color.get('action', 'cta', 'primary', 'primary') !default;
Description

Choice focus outline color

Type

Color

Used by

picker-choice-selected-bg-color

$picker-choice-selected-bg-color: color.get('action', 'cta', 'alternate', '02') !default;
Description

Selected choice background color

Type

Color

Used by

picker-choice-disabled-color

$picker-choice-disabled-color: color.get('link', 'active', 'secondary') !default;
Description

Disabled choice text color

Type

Color

Used by

picker-choice-disabled-line-color

$picker-choice-disabled-line-color: color.get('ui-bg', '05') !default;
Description

Disabled line color across choice

Type

Color

Used by

picker-choice-today-dot-color

$picker-choice-today-dot-color: color.get('link', 'active', 'primary') !default;
Description

Color for dot on choice representing current day

Type

Color

Used by

picker-choice-today-dot-size

$picker-choice-today-dot-size: kib-core.dimensions-get('tiny') !default;
Description

Size of dot on choice representing current day

Type

Number

Used by

picker-toolbar-border-color

$picker-toolbar-border-color: color.get('ui-bg', '04') !default;
Description

Border color below toolbar on mobile dialog

Type

Color

picker-toolbar-border-width

$picker-toolbar-border-width: unit.rem(1px) !default;
Description

Border width below toolbar on mobile dialog

Type

Color