Skip to content
0

Design Tokens ​

All design values are centralized in !default maps in _variables.scss. Override them before importing to customize the framework.

Token maps ​

TokenMapKeys
Font families$font-familiessans-serif, serif, mono
Shadows$shadow-sizesdefault, sm, md, lg, xl, 2xl, inner
Containers$container-sizessm … 6xl
Breakpoints$breakpoint-sizesxs … 3xl
Spacing$spacing-scale0 … 32
Radius$radiusdefault, sm, md, lg, xl, 2xl, 3xl, full
Z-index$z-layersauto, 0–50, dropdown, sticky, fixed, modal, popover, tooltip
Durations$transition-durations75 … 1000 (ms)
Easings$transition-easingslinear, in, out, in-out

Access functions ​

scss
@use "katanakit-js/scss/variables" as v;

v.font-family("sans-serif")  // font stack
v.shadow("md")               // shadow value
v.container("xl")            // container max-width
v.breakpoint("md")           // breakpoint value
v.spacing(4)                 // 1rem
v.radius("lg")               // 0.5rem
v.z("modal")                 // z-index value
v.duration(200)              // 200ms
v.ease("out")                // cubic-bezier

CSS custom properties ​

scss
@include v.generate-css-tokens();

Emits all tokens as :root CSS variables:

css
:root {
  --font-sans-serif: ui-sans-serif, system-ui, ...;
  --spacing-4: 1rem;
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), ...;
  --radius-lg: 0.5rem;
}

Overriding tokens ​

scss
@use "katanakit-js/scss/variables" as v with (
  $spacing-scale: ("0": 0, "1": 0.5rem, "2": 1rem, "4": 2rem),
  $radius: ("default": 0.5rem, "full": 9999px)
);

@include v.generate-css-tokens();

Released under the MIT License.