Skip to main content

Tokens

@kittl/ui-tokens holds the design tokens behind every UI kit component — color, spacing, radius, shadow, typography, motion and layering — as CSS custom properties. They come from Figma and are generated into the package, so the values below always match what ships.

Installation​

You rarely need this package directly: @kittl/ui and @kittl/ui-react load it for you. Install it when you want your own styles to use the same values as the components.

npm install @kittl/ui-tokens

Either import the stylesheet through your bundler:

import '@kittl/ui-tokens/styles.css';

or inject it at runtime, once, from anywhere in your app:

import '@kittl/ui-tokens/styleLoader';

Usage​

Reference tokens with var() in your own CSS:

.panel {
padding: var(--spacing-16);
border-radius: var(--border-radius-8);
background: var(--color-bg-surface);
color: var(--color-text);
}

Themes​

Themed tokens resolve per theme. Light is the default; set data-theme (or a .theme-light / .theme-dark class) on any ancestor to pick one, and everything beneath it — components included — follows:

<body data-theme="dark">
…
</body>

Prefer the semantic --color-* tokens over the raw --colors-* palette: semantic tokens change with the theme, palette tokens do not.

Semantic colors​

TokenLightDark
--color-avatar-bluevar(--colors-blue-45)var(--colors-blue-60)
--color-avatar-blue-secondaryvar(--colors-blue-a-30)var(--colors-blue-a-30)
--color-bg-fillvar(--colors-gray-100)var(--colors-gray-10)
--color-bg-fill-activevar(--colors-gray-90)var(--colors-gray-20)
--color-bg-fill-brandvar(--colors-gray-05)var(--colors-gray-95)
--color-bg-fill-brand-activevar(--colors-gray-30)var(--colors-gray-70)
--color-bg-fill-brand-hovervar(--colors-gray-20)var(--colors-gray-90)
--color-bg-fill-brand-transparentvar(--colors-black-a-15)var(--colors-white-a-15)
--color-bg-fill-criticalvar(--colors-red-60)var(--colors-red-60)
--color-bg-fill-critical-activevar(--colors-red-45)var(--colors-red-85)
--color-bg-fill-critical-hovervar(--colors-red-45)var(--colors-red-85)
--color-bg-fill-disabledvar(--colors-gray-95)var(--colors-gray-25)
--color-bg-fill-highlightvar(--others-aigreen)var(--others-aigreen)
--color-bg-fill-hovervar(--colors-gray-95)var(--colors-gray-15)
--color-bg-fill-infovar(--colors-blue-60)var(--colors-blue-45)
--color-bg-fill-info-secondaryvar(--colors-blue-90)var(--colors-blue-35)
--color-bg-fill-secondaryvar(--colors-gray-95)var(--colors-gray-15)
--color-bg-fill-secondary-activevar(--colors-blue-a-30)var(--colors-blue-a-30)
--color-bg-fill-secondary-hovervar(--colors-blue-a-30)var(--colors-blue-a-30)
--color-bg-fill-selectorvar(--colors-blue-a-30)var(--colors-blue-a-30)
--color-bg-fill-selector-activevar(--colors-blue-60)var(--colors-blue-45)
--color-bg-fill-selector-hovervar(--colors-blue-80)var(--colors-blue-35)
--color-bg-fill-successvar(--colors-green-55)var(--colors-green-55)
--color-bg-fill-tertiaryvar(--colors-gray-90)var(--colors-gray-30)
--color-bg-fill-theme-agnostic-blackvar(--colors-gray-05)var(--colors-gray-05)
--color-bg-fill-theme-agnostic-grayvar(--colors-gray-90)var(--colors-gray-90)
--color-bg-fill-theme-agnostic-whitevar(--colors-gray-100)var(--colors-gray-100)
--color-bg-fill-transparentvar(--colors-white-a-10)var(--colors-black-a-5)
--color-bg-fill-transparent-hovervar(--colors-white-a-15)var(--colors-black-a-10)
--color-bg-surfacevar(--colors-gray-100)var(--colors-gray-10)
--color-bg-surface-contrastvar(--colors-gray-100)var(--colors-gray-25)
--color-bg-surface-criticalvar(--colors-red-85)var(--colors-red-30)
--color-bg-surface-highlightvar(--others-aigreen)var(--others-aigreen)
--color-bg-surface-highlight-secondary—var(--colors-indigo-80)
--color-bg-surface-highlight-tertiary—var(--colors-indigo-95)
--color-bg-surface-playfulvar(--colors-mint-85)var(--colors-mint-85)
--color-bg-surface-secondaryvar(--colors-gray-95)var(--colors-gray-05)
--color-bg-surface-theme-agnostic-violetvar(--colors-violet-80)var(--colors-violet-80)
--color-bg-surface-theme-agnostic-whitevar(--colors-gray-100)var(--colors-gray-100)
--color-bg-surface-transparentvar(--colors-black-a-50)var(--colors-white-a-50)
--color-bordervar(--colors-gray-90)var(--colors-gray-20)
--color-border-brandvar(--colors-gray-05)var(--colors-gray-95)
--color-border-criticalvar(--colors-red-60)var(--colors-red-60)
--color-border-focusedvar(--colors-blue-60)var(--colors-blue-45)
--color-border-highlightvar(--colors-indigo-35)var(--colors-indigo-43)
--color-border-selectorvar(--colors-blue-60)var(--colors-blue-60)
--color-border-selector-hovervar(--colors-blue-80)var(--colors-blue-80)
--color-border-selector-innervar(--colors-gray-100)var(--colors-gray-15)
--color-border-theme-agnostic-grayvar(--colors-gray-70)var(--colors-gray-70)
--color-border-theme-agnostic-violetvar(--colors-violet-60)var(--colors-violet-50)
--color-border-theme-agnostic-whitevar(--colors-gray-100)var(--colors-gray-100)
--color-border-transparentvar(--colors-black-a-5)var(--colors-white-a-10)
--color-border-transparent-brandvar(--colors-white-a-15)var(--colors-black-a-15)
--color-iconvar(--colors-gray-05)var(--colors-gray-95)
--color-icon-activevar(--colors-blue-45)var(--colors-blue-60)
--color-icon-brand-on-bgvar(--colors-gray-100)var(--colors-gray-05)
--color-icon-criticalvar(--colors-red-60)var(--colors-red-60)
--color-icon-disabledvar(--colors-gray-70)var(--colors-gray-55)
--color-icon-secondaryvar(--colors-gray-45)var(--colors-gray-70)
--color-icon-tertiaryvar(--colors-gray-70)var(--colors-gray-45)
--color-icon-theme-agnostic-whitevar(--colors-gray-100)var(--colors-gray-100)
--color-textvar(--colors-gray-05)var(--colors-gray-95)
--color-text-aivar(--others-aigreen)var(--others-aigreen)
--color-text-brand-on-bgvar(--colors-gray-100)var(--colors-gray-05)
--color-text-criticalvar(--colors-red-60)var(--colors-red-60)
--color-text-disabledvar(--colors-gray-70)var(--colors-gray-55)
--color-text-highlightvar(--colors-indigo-35)var(--colors-indigo-43)
--color-text-infovar(--colors-blue-45)var(--colors-blue-90)
--color-text-linkvar(--colors-blue-45)var(--colors-blue-60)
--color-text-secondaryvar(--colors-gray-45)var(--colors-gray-70)
--color-text-secondary-brand-on-bgvar(--colors-gray-70)var(--colors-gray-05)
--color-text-secondary-disabledvar(--colors-gray-75)var(--colors-gray-45)
--color-text-tertiaryvar(--colors-gray-70)var(--colors-gray-55)
--color-text-theme-agnostic-blackvar(--colors-gray-05)var(--colors-gray-05)
--color-text-theme-agnostic-whitevar(--colors-gray-100)var(--colors-gray-100)

Palette​

TokenValue
--colors-black-a-10#0000001a
--colors-black-a-15#00000026
--colors-black-a-5#0000000d
--colors-black-a-50#00000080
--colors-blue-35#0069b2
--colors-blue-45#0087e6
--colors-blue-60#33aaff
--colors-blue-80#99d5ff
--colors-blue-90#e0f2ff
--colors-blue-a-30#99d5ff4d
--colors-gray-05#080b11
--colors-gray-10#16181d
--colors-gray-100#ffffff
--colors-gray-12#1b1e24
--colors-gray-15#21252c
--colors-gray-20#2c303a
--colors-gray-25#373c48
--colors-gray-30#444a56
--colors-gray-45#676f7e
--colors-gray-55#818898
--colors-gray-70#a8afbd
--colors-gray-75#b8becc
--colors-gray-90#e0e4eb
--colors-gray-95#f0f2f5
--colors-green-55#53c659
--colors-indigo-35#3c49dd
--colors-indigo-43#4e55fa
--colors-indigo-80#8f94f8
--colors-indigo-95#e3e4fb
--colors-mint-25#134038
--colors-mint-40#006655
--colors-mint-85#5af2d8
--colors-mint-95#b8f9ee
--colors-red-30#7c3131
--colors-red-45#cf1717
--colors-red-60#eb4747
--colors-red-85#fdb4b4
--colors-red-95#ff57570d
--colors-violet-50#9271d9
--colors-violet-60#ab84ff
--colors-violet-80#dcc5ff
--colors-white-a-10#ffffff1a
--colors-white-a-15#ffffff26
--colors-white-a-5#ffffff0d
--colors-white-a-50#ffffff80
--colors-white-a-90#ffffffe5

Presence colors​

TokenValue
--presence-primary-01#8845f5
--presence-primary-01-text#ffffff
--presence-primary-02#ee3900
--presence-primary-02-text#ffffff
--presence-primary-03#ffcf24
--presence-primary-03-text#080b11
--presence-primary-04#40a700
--presence-primary-04-text#ffffff
--presence-primary-05#e632b4
--presence-primary-05-text#ffffff
--presence-primary-06#3f5dfb
--presence-primary-06-text#ffffff
--presence-secondary-01#ceb1fc
--presence-secondary-01-text#080b11
--presence-secondary-02#66dfe7
--presence-secondary-02-text#080b11
--presence-secondary-03#bce83d
--presence-secondary-03-text#080b11
--presence-secondary-04#ff9dbb
--presence-secondary-04-text#080b11
--presence-secondary-05#ffa800
--presence-secondary-05-text#080b11
--presence-secondary-06#b7cffe
--presence-secondary-06-text#080b11
--presence-tertiary-01#80483b
--presence-tertiary-01-text#ffffff
--presence-tertiary-02#15728f
--presence-tertiary-02-text#ffffff
--presence-tertiary-03#8b8604
--presence-tertiary-03-text#ffffff
--presence-tertiary-04#e9c570
--presence-tertiary-04-text#080b11
--presence-tertiary-05#c3ccd5
--presence-tertiary-05-text#080b11
--presence-tertiary-06#666666
--presence-tertiary-06-text#080b11

Spacing​

TokenValue
--spacing-00rem (0px)
--spacing-100.625rem (10px)
--spacing-120.75rem (12px)
--spacing-161rem (16px)
--spacing-20.125rem (2px)
--spacing-201.25rem (20px)
--spacing-241.5rem (24px)
--spacing-322rem (32px)
--spacing-362.25rem (36px)
--spacing-40.25rem (4px)
--spacing-402.5rem (40px)
--spacing-483rem (48px)
--spacing-60.375rem (6px)
--spacing-644rem (64px)
--spacing-80.5rem (8px)

Border radius​

TokenValue
--border-radius-00rem (0px)
--border-radius-100.625rem (10px)
--border-radius-120.75rem (12px)
--border-radius-20.125rem (2px)
--border-radius-241.5rem (24px)
--border-radius-40.25rem (4px)
--border-radius-60.375rem (6px)
--border-radius-70.4375rem (7px)
--border-radius-80.5rem (8px)
--border-radius-full625rem (10000px)

Shadows​

TokenLightDark
--shadow-l0px 36px 98px rgba(0, 0, 0, 0.17), 0px 13px 36px rgba(0, 0, 0, 0.2), 0px 7px 18px rgba(0, 0, 0, 0.14), 0px 3px 9px rgba(0, 0, 0, 0.12), 0px 1px 4px rgba(0, 0, 0, 0.1217)0px 36px 98px rgba(0, 0, 0, 0.17), 0px 13px 36px rgba(0, 0, 0, 0.2), 0px 7px 18px rgba(0, 0, 0, 0.14), 0px 3px 9px rgba(0, 0, 0, 0.12), 0px 1px 4px rgba(0, 0, 0, 0.1217)
--shadow-m0px 36px 98px 0px rgba(0, 0, 0, 0.07), 0px 13px 36px 0px rgba(0, 0, 0, 0.05), 0px 6px 18px 0px rgba(0, 0, 0, 0.04), 0px 3px 8px 0px rgba(0, 0, 0, 0.03), 0px 2px 4px 0px rgba(0, 0, 0, 0.02)0px 36px 98px 0px rgba(0, 0, 0, 0.07), 0px 13px 36px 0px rgba(0, 0, 0, 0.05), 0px 6px 18px 0px rgba(0, 0, 0, 0.04), 0px 3px 8px 0px rgba(0, 0, 0, 0.03), 0px 2px 4px 0px rgba(0, 0, 0, 0.02)
--shadow-small-focus0px 2px 2px -1px rgba(0, 0, 0, 0.08)0px 2px 2px -1px rgba(0, 0, 0, 0.08)
--shadow-small-heavy1px 1px 3px 0 rgba(0, 0, 0, 0.25)1px 1px 3px 0 rgba(0, 0, 0, 0.25)
--shadow-soft0 12px 32px 0 rgba(0, 0, 0, 0.05), 0 6px 15px 0 rgba(0, 0, 0, 0.04), 0 3px 7px 0 rgba(0, 0, 0, 0.03), 0 1px 3px 0 rgba(0, 0, 0, 0.02)var(--shadow-l)

Drop shadows​

TokenLightDark
--drop-shadow-ldrop-shadow(0px 36px 98px rgba(0, 0, 0, 0.17)) drop-shadow(0px 13px 36px rgba(0, 0, 0, 0.2)) drop-shadow(0px 7px 18px rgba(0, 0, 0, 0.14)) drop-shadow(0px 3px 9px rgba(0, 0, 0, 0.12)) drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.1217))drop-shadow(0px 36px 98px rgba(0, 0, 0, 0.17)) drop-shadow(0px 13px 36px rgba(0, 0, 0, 0.2)) drop-shadow(0px 7px 18px rgba(0, 0, 0, 0.14)) drop-shadow(0px 3px 9px rgba(0, 0, 0, 0.12)) drop-shadow(0px 1px 4px rgba(0, 0, 0, 0.1217))
--drop-shadow-mdrop-shadow(0px 36px 98px 0px rgba(0, 0, 0, 0.07)) drop-shadow(0px 13px 36px 0px rgba(0, 0, 0, 0.05)) drop-shadow(0px 6px 18px 0px rgba(0, 0, 0, 0.04)) drop-shadow(0px 3px 8px 0px rgba(0, 0, 0, 0.03)) drop-shadow(0px 2px 4px 0px rgba(0, 0, 0, 0.02))drop-shadow(0px 36px 98px 0px rgba(0, 0, 0, 0.07)) drop-shadow(0px 13px 36px 0px rgba(0, 0, 0, 0.05)) drop-shadow(0px 6px 18px 0px rgba(0, 0, 0, 0.04)) drop-shadow(0px 3px 8px 0px rgba(0, 0, 0, 0.03)) drop-shadow(0px 2px 4px 0px rgba(0, 0, 0, 0.02))

Typography​

TokenValue
--font-family-defaultvar(--font-family-inter)
--font-family-inter"Inter", -apple-system, blinkmacsystemfont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif
--font-weight-bold700
--font-weight-medium500
--font-weight-regular400
--font-weight-semi-bold600

Motion​

TokenValue
--motion-duration-100100ms
--motion-duration-200200ms
--motion-duration-300300ms

Layering​

TokenValue
--z-index-default0
--z-index-floating-panel10
--z-index-global-indicator10000
--z-index-negative-1
--z-index-overlay100
--z-index-pre-overlay99
--z-index-s11
--z-index-s22
--z-index-s33
--z-index-s44
--z-index-s55
--z-index-s66
--z-index-s77
--z-index-s88
--z-index-s99
--z-index-toast100000
--z-index-tooltip1000

Legacy colors​

TokenLightDark
--legacy-colors-background-altvar(--colors-gray-100)var(--colors-gray-15)
--legacy-colors-blue-lightvar(--colors-blue-a-30)var(--colors-blue-a-30)
--legacy-colors-blue-mainvar(--colors-blue-45)var(--colors-blue-60)
--legacy-colors-blue-mediumvar(--colors-blue-60)var(--colors-blue-45)
--legacy-colors-brand-lightvar(--colors-mint-95)var(--colors-mint-95)
--legacy-colors-brand-mainvar(--colors-mint-85)var(--colors-mint-85)
--legacy-colors-green-mainvar(--colors-green-55)var(--colors-green-55)
--legacy-colors-highlightvar(--colors-indigo-35)var(--colors-indigo-43)
--legacy-colors-ink-lightvar(--colors-gray-90)var(--colors-gray-25)
--legacy-colors-ink-mainvar(--colors-gray-05)var(--colors-gray-95)
--legacy-colors-ink-mediumvar(--colors-gray-45)var(--colors-gray-70)
--legacy-colors-ink-medium-lightvar(--colors-gray-70)var(--colors-gray-55)
--legacy-colors-ink-super-lightvar(--colors-gray-95)var(--colors-gray-25)
--legacy-colors-red-lightvar(--colors-red-85)var(--colors-red-45)
--legacy-colors-red-mainvar(--colors-red-45)var(--colors-red-85)
--legacy-colors-red-mediumvar(--colors-red-60)var(--colors-red-60)
--legacy-colors-red-super-lightvar(--colors-red-95)var(--colors-red-95)
--legacy-colors-transparent-main-10var(--colors-black-a-10)var(--colors-white-a-10)
--legacy-colors-transparent-main-15var(--colors-black-a-15)var(--colors-white-a-15)
--legacy-colors-transparent-main-5var(--colors-black-a-5)var(--colors-white-a-5)
--legacy-colors-violetvar(--colors-violet-60)var(--colors-violet-50)

Other​

TokenLightDark
--box-shadow-defaultvar(--shadow-m)var(--shadow-l)
--others-aigreen#dfff00#dfff00
--others-gradientfull#191b1e#191b1e
--others-gradientfullalt#101b2c#101b2c
--others-gradienthalf#ffffff00#ffffff00
--scrollbar-width-default12px12px