primary
colors.primary- 50
#eff6ff - 100
#dbeafe - 200
#bfdbfe - 300
#93c5fd - 400
#60a5fa - 500
#3b82f6 - 600
#2563eb - 700
#1d4ed8 - 800
#1e40af - 900
#1e3a8a
Единый источник визуального языка: палитры, отступы, радиусы, типографика, motion, слои и брейкпоинты. Все значения экспортируются из kovax-react и доступны через themeToken("…").
Каждая палитра — лестница 50 → 900. 50–200 для поверхностей, 300–500 для акцентов, 600–900 для текста и фокуса.
colors.primary#eff6ff#dbeafe#bfdbfe#93c5fd#60a5fa#3b82f6#2563eb#1d4ed8#1e40af#1e3a8acolors.secondary#f8fafc#f1f5f9#e2e8f0#cbd5e1#94a3b8#64748b#475569#334155#1e293b#0f172acolors.success#ecfdf5#d1fae5#a7f3d0#6ee7b7#34d399#10b981#059669#047857#065f46#064e3bcolors.warning#fffbeb#fef3c7#fde68a#fcd34d#fbbf24#f59e0b#d97706#b45309#92400e#78350fcolors.error#fef2f2#fee2e2#fecaca#fca5a5#f87171#ef4444#dc2626#b91c1c#991b1b#7f1d1dbaseColorswhite#ffffffblack#000000Шкала размеров, насыщенностей, межстрочного и межбуквенного расстояний. Компоненты используют те же строковые токены.
text.xsThe quick brown fox
0.75remtext.smThe quick brown fox
0.875remtext.baseThe quick brown fox
1remtext.lgThe quick brown fox
1.125remtext.xlThe quick brown fox
1.25remtext.2xlThe quick brown fox
1.5remtext.3xlThe quick brown fox
1.875remtext.4xlThe quick brown fox
2.25remtext.5xlThe quick brown fox
3remfontWeight.thinAa Bb Cc 123
100fontWeight.extralightAa Bb Cc 123
200fontWeight.lightAa Bb Cc 123
300fontWeight.regularAa Bb Cc 123
400fontWeight.mediumAa Bb Cc 123
500fontWeight.semiboldAa Bb Cc 123
600fontWeight.boldAa Bb Cc 123
700fontWeight.extraboldAa Bb Cc 123
800fontWeight.blackAa Bb Cc 123
900lineHeight.noneLorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vitae velit fringilla, dictum lorem at, sollicitudin lectus.
1lineHeight.tightLorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vitae velit fringilla, dictum lorem at, sollicitudin lectus.
1.15lineHeight.snugLorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vitae velit fringilla, dictum lorem at, sollicitudin lectus.
1.3lineHeight.normalLorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vitae velit fringilla, dictum lorem at, sollicitudin lectus.
1.5lineHeight.relaxedLorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vitae velit fringilla, dictum lorem at, sollicitudin lectus.
1.65lineHeight.looseLorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vitae velit fringilla, dictum lorem at, sollicitudin lectus.
1.85letterSpacing.tighterKOVAX REACT
-0.04emletterSpacing.tightKOVAX REACT
-0.02emletterSpacing.normalKOVAX REACT
0emletterSpacing.wideKOVAX REACT
0.02emletterSpacing.widerKOVAX REACT
0.04emletterSpacing.widestKOVAX REACT
0.08emРитм отступов и контейнеров. Полоски показывают реальную ширину в rem — 5xl при стандартном root равен 96 px.
spacing.none0remspacing.2xs0.25remspacing.xs0.5remspacing.sm0.75remspacing.md1remspacing.lg1.5remspacing.xl2remspacing.2xl2.5remspacing.3xl3remspacing.4xl4remspacing.5xl6remСочетайте мелкие радиусы для плотного UI и крупные — для карточек и маркетинговых поверхностей.
borderRadius.none0borderRadius.xs0.25remborderRadius.sm0.375remborderRadius.md0.5remborderRadius.lg0.75remborderRadius.xl1remborderRadius.2xl1.25remborderRadius.3xl1.5remborderRadius.full9999pxИерархия теней плюс утилитарные: внутренняя для углублённых поверхностей и focus-ring для доступности.
shadow.nonenoneshadow.xs0 1px 1px 0 rgb(0 0 0 / 0.04)shadow.sm0 1px 2px 0 rgb(0 0 0 / 0.05)shadow.md0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)shadow.lg0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)shadow.xl0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)shadow.2xl0 25px 50px -12px rgb(0 0 0 / 0.25)shadow.innerinset 0 2px 4px 0 rgb(0 0 0 / 0.06)shadow.focusRing0 0 0 3px rgb(59 130 246 / 0.35)Сочетайте токены длительности и кривой ускорения. Старые композитные <code>transition.*</code> сохранены для совместимости.
duration.instant · easing.standard0ms · cubic-bezier(0.2, 0, 0, 1)duration.fast · easing.standard120ms · cubic-bezier(0.2, 0, 0, 1)duration.normal · easing.standard200ms · cubic-bezier(0.2, 0, 0, 1)duration.slow · easing.standard320ms · cubic-bezier(0.2, 0, 0, 1)duration.slower · easing.standard500ms · cubic-bezier(0.2, 0, 0, 1)duration.slow · easing.linear320ms · linearduration.slow · easing.standard320ms · cubic-bezier(0.2, 0, 0, 1)duration.slow · easing.decelerate320ms · cubic-bezier(0, 0, 0.2, 1)duration.slow · easing.accelerate320ms · cubic-bezier(0.4, 0, 1, 1)duration.slow · easing.bounce320ms · cubic-bezier(0.34, 1.56, 0.64, 1)transition.defaultall 0.2s ease-in-outtransition.fastall 0.1s ease-in-outtransition.slowall 0.3s ease-in-outПредсказуемое наложение слоёв. Чем выше значение, тем выше элемент.
| Токен | Значение | Назначение |
|---|---|---|
zIndex.hide | -1 | Спрятано под контентом |
zIndex.base | 0 | Базовый поток |
zIndex.docked | 10 | Закреплённый UI (сайдбары, FAB) |
zIndex.dropdown | 1000 | Меню, комбобоксы |
zIndex.sticky | 1100 | Sticky-заголовки |
zIndex.banner | 1200 | Сквозные баннеры |
zIndex.overlay | 1300 | Подложки / overlay |
zIndex.modal | 1400 | Модальные окна |
zIndex.popover | 1500 | Поповеры поверх модалок |
zIndex.skipLink | 1600 | Skip-to-content |
zIndex.toast | 1700 | Уведомления |
zIndex.tooltip | 1800 | Тултипы поверх всего |
Брейкпоинты в em — растут вместе с базовым размером шрифта пользователя для лучшей доступности.
| Токен | Значение | Медиа-запрос |
|---|---|---|
breakpoint.sm | 30em | @media (min-width: 30em) |
breakpoint.md | 48em | @media (min-width: 48em) |
breakpoint.lg | 62em | @media (min-width: 62em) |
breakpoint.xl | 80em | @media (min-width: 80em) |
breakpoint.2xl | 96em | @media (min-width: 96em) |