Layout Container

Installation

  yarn add @chewy/kib-layout-styles

Import

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

Functions

get-spacing

@function get-spacing($size) { ... }@function get-spacing($size) { 
  $spacing: common.get-map-by-key-safe(settings.$spacing, $size, 'spacing');

  @return $spacing;
 }
Description

Gets breakpoint-specific container spacing properties.

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$size

A named breakpoint size.

String none
Returns
String

String with CSS var() function with fallback values

Requires

Mixins

base

@mixin base() { ... }@mixin base() { 
  box-sizing: border-box;
  max-width: unit.rem(settings.$content-max-width);
  margin: {
    left: auto;
    right: auto;
  }
 }
Description

Base styles for the container

Parameters

None.

Requires

aligned-left

@mixin aligned-left() { ... }@mixin aligned-left() { 
  margin-left: 0;
 }
Description

Variant styles for a left-aligned container

Parameters

None.

aligned-right

@mixin aligned-right() { ... }@mixin aligned-right() { 
  margin-right: 0;
 }
Description

Variant styles for a right-aligned container

Parameters

None.

no-spacing

@mixin no-spacing() { ... }@mixin no-spacing() { 
  padding: {
    left: 0;
    right: 0;
  }
 }
Description

Variant styles for a container with no horizontal spacing

Parameters

None.

spacing

@mixin spacing($spacing, $query) { ... }@mixin spacing($spacing, $query) { 
  $formatted-spacing: $spacing;
  @if meta.type-of($spacing) == 'number' {
    // check to avoid breaking change
    $formatted-spacing: unit.rem($spacing);
  }

  @if $query {
    @include common.media-query($query) {
      padding: {
        left: $formatted-spacing;
        right: $formatted-spacing;
      }
    }
  } @else {
    padding: {
      left: $formatted-spacing;
      right: $formatted-spacing;
    }
  }
 }
Description

Breakpoint-specific spacing styles for the container.

Parameters
Parameters
parameter Nameparameter Descriptionparameter Typeparameter Default value
$spacing

The container spacing as Number or String with CSS var() function with fallback values.

Number or String none
$query

(optional) A named breakpoint size. This may include a min- and max- prefix as modifiers.

String none
Requires
Used by

generate-spacing

@mixin generate-spacing() { ... }@mixin generate-spacing() { 
  @each $size, $space in settings.$spacing {
    @include spacing($space, min-#{$size});
  }
 }
Description

Generates each breakpoint spacing style for the grid container.

Parameters

None.

Requires

Variables

content-max-width

$content-max-width: map.get(common.$breakpoints, xl);
Description

Defines the maximum width for content

Type

Number

Used by

spacing

$spacing: (...) !default;$spacing: (
  xs: spacing.get('s4'),
  sm: spacing.get('s4'),
  md: spacing.get('s6'),
  lg: spacing.get('s6'),
  xl: spacing.get('s6')
) !default;
Description

Defines the spacing properties, around sets of columns, for each breakpoint

Type

Map