@iskra-ui/tokens 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENCE.md +79 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +155 -0
- package/dist/tokens.css +163 -0
- package/dist/tokens.json +91 -0
- package/package.json +38 -0
- package/src/brands/aurora.json +9 -0
- package/src/primitives/palette.json +41 -0
- package/src/semantic/border.json +8 -0
- package/src/semantic/breakpoint.json +7 -0
- package/src/semantic/color.json +85 -0
- package/src/semantic/motion.json +8 -0
- package/src/semantic/opacity.json +7 -0
- package/src/semantic/radius.json +5 -0
- package/src/semantic/size.json +14 -0
- package/src/semantic/space.json +11 -0
- package/src/semantic/typography.json +34 -0
- package/src/semantic/z-index.json +9 -0
- package/src/themes/cold.json +22 -0
- package/src/themes/warm.json +22 -0
package/LICENCE.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Лицензии
|
|
2
|
+
|
|
3
|
+
Документ фиксирует правовой статус кода дизайн-системы **Искра.DCI** и сторонних компонентов, которые **поставляются потребителям** вместе с npm-пакетами `@iskra-ui/*`.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Пакеты `@iskra-ui/*`
|
|
8
|
+
|
|
9
|
+
| Пакет | Статус |
|
|
10
|
+
| --------------------- | ---------------------------------------------- |
|
|
11
|
+
| `@iskra-ui/tokens` | Проприетарное ПО |
|
|
12
|
+
| `@iskra-ui/styles` | Проприетарное ПО + сторонние шрифты (см. ниже) |
|
|
13
|
+
| `@iskra-ui/icons` | Проприетарное ПО |
|
|
14
|
+
| `@iskra-ui/core` | Проприетарное ПО |
|
|
15
|
+
| `@iskra-ui/react` | Проприетарное ПО |
|
|
16
|
+
| `@iskra-ui/vue` | Проприетарное ПО |
|
|
17
|
+
| `@iskra-ui/dci-react` | Проприетарное ПО |
|
|
18
|
+
|
|
19
|
+
Исходный код, дизайн-токены, компоненты, документация и торговые обозначения **Искра.DCI** / **ИСКРА.DCI** принадлежат правообладателю платформы. Все права защищены.
|
|
20
|
+
|
|
21
|
+
Пакеты публикуются в публичном npm-реестре (`publishConfig.access: public`). Использование, копирование, распространение и модификация **вне условий, согласованных с правообладателем**, запрещены.
|
|
22
|
+
|
|
23
|
+
Приватные пакеты монорепозитория (`@iskra-ui/eslint-config`, `@iskra-ui/tsconfig`, `@iskra-ui/docs-react`) распространяются только внутри репозитория и не публикуются в npm.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Сторонние компоненты в составе поставки
|
|
28
|
+
|
|
29
|
+
### Шрифты (`@iskra-ui/styles`)
|
|
30
|
+
|
|
31
|
+
В бандл `@iskra-ui/styles` встроены variable-шрифты (self-hosted, без CDN):
|
|
32
|
+
|
|
33
|
+
| Шрифт | Файл | Лицензия |
|
|
34
|
+
| ---------------------------------------------------- | ---------------------------------- | --------------------------------------------------------- |
|
|
35
|
+
| [Inter](https://rsms.me/inter/) | `Inter-VariableFont_opsz_wght.ttf` | [SIL Open Font License 1.1](https://openfontlicense.org/) |
|
|
36
|
+
| [JetBrains Mono](https://www.jetbrains.com/lp/mono/) | `JetBrainsMono_wght_.ttf` | [SIL Open Font License 1.1](https://openfontlicense.org/) |
|
|
37
|
+
|
|
38
|
+
Шрифты копируются в `packages/styles/dist/fonts/` при сборке пакета. При распространении производных продуктов необходимо сохранять уведомления OFL для этих файлов.
|
|
39
|
+
|
|
40
|
+
**Краткое условие OFL 1.1:** шрифты можно использовать, изучать, модифицировать и распространять при условии, что производные шрифты не продаются отдельно и что уведомление об авторских правах и лицензии OFL сохраняется в составе дистрибутива.
|
|
41
|
+
|
|
42
|
+
### Иконки (`@iskra-ui/icons`)
|
|
43
|
+
|
|
44
|
+
Набор `@iskra-ui/icons` — **оригинальная SVG-разметка** Искра.DCI (16×16, stroke 1.5px), нарисованная под геометрию outline-иконок, принятую в бренде.
|
|
45
|
+
|
|
46
|
+
Геометрия согласована со стилем:
|
|
47
|
+
|
|
48
|
+
| Источник | Лицензия | Примечание |
|
|
49
|
+
| --------------------------------------------- | -------- | ---------------------------------------------------------------------- |
|
|
50
|
+
| [Feather Icons](https://feathericons.com/) | MIT | Референс по stroke и сетке; глифы в репозитории не копируются дословно |
|
|
51
|
+
| [Heroicons](https://heroicons.com/) (outline) | MIT | Допустимый заменитель при отсутствии глифа в наборе |
|
|
52
|
+
|
|
53
|
+
MIT-лицензии Feather Icons и Heroicons **не распространяются** на код `@iskra-ui/icons`, но указаны как происхождение визуального языка. При публикации открытых форков или выноса иконок в отдельный OSS-пакет — сверьтесь с юридической службой правообладателя.
|
|
54
|
+
|
|
55
|
+
### Инструменты разработки (не входят в npm-поставку)
|
|
56
|
+
|
|
57
|
+
Зависимости dev/build (React, Vue, Vite, Storybook, ESLint, Turbo, Changesets и др.) подчиняются лицензиям соответствующих проектов. Они **не включаются** в publishable-артефакты `@iskra-ui/*` и в этом документе не перечисляются.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Торговые марки
|
|
62
|
+
|
|
63
|
+
**Искра**, **Искра.DCI**, **ИСКРА.DCI**, логотип-искра и маскот **Бит** — элементы бренда платформы. Их использование вне продуктов правообладателя регулируется отдельно от лицензии на исходный код.
|
|
64
|
+
|
|
65
|
+
Названия **React**, **Vue**, **pnpm**, **Storybook** и других сторонних проектов принадлежат их владельцам.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Вопросы по лицензированию
|
|
70
|
+
|
|
71
|
+
По условиям использования пакетов `@iskra-ui/*`, white-label брендингу и включению компонентов в сторонние продукты обращайтесь к правообладателю платформы Искра.DCI.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## См. также
|
|
76
|
+
|
|
77
|
+
- [README.md](README.md) — обзор монорепозитория
|
|
78
|
+
- [docs/PACKAGES.md](docs/PACKAGES.md) — состав поставки пакетов
|
|
79
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — разработка и релизы
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// GENERATED by @iskra-ui/tokens — do not edit.
|
|
2
|
+
export type TokenName = "--border" | "--focus-ring" | "--border-width-thin" | "--border-width-regular" | "--border-width-strong" | "--bp-sm" | "--bp-md" | "--bp-lg" | "--bp-xl" | "--bg" | "--panel" | "--panel-soft" | "--panel-muted" | "--line" | "--line-soft" | "--fg1" | "--fg2" | "--fg3" | "--accent" | "--accent-hover" | "--accent-safe" | "--accent-soft" | "--accent-line" | "--fg-on-accent" | "--fg-on-status" | "--scrim" | "--status-ok" | "--status-warn" | "--status-err" | "--status-off" | "--status-info" | "--ease" | "--dur" | "--dur-fast" | "--dur-normal" | "--dur-slow" | "--opacity-disabled" | "--opacity-muted" | "--opacity-overlay" | "--opacity-pressed" | "--radius" | "--radius-sm" | "--control-h" | "--control-h-lg" | "--control-s" | "--control-m" | "--control-l" | "--icon-sm" | "--icon-md" | "--avatar-sm" | "--avatar-md" | "--avatar-lg" | "--min-target" | "--s1" | "--s2" | "--s3" | "--s4" | "--s5" | "--s6" | "--s7" | "--s8" | "--font-ui" | "--font-display" | "--font-mono" | "--text-h1" | "--lh-h1" | "--wt-h1" | "--text-h2" | "--lh-h2" | "--wt-h2" | "--text-h3" | "--lh-h3" | "--wt-h3" | "--text-ui" | "--lh-ui" | "--wt-ui" | "--text-ui-med" | "--wt-ui-med" | "--text-small" | "--lh-sm" | "--text-mono" | "--lh-mono" | "--text-label" | "--z-dropdown" | "--z-sticky" | "--z-overlay" | "--z-modal" | "--z-toast" | "--z-tooltip";
|
|
3
|
+
export type BrandName = "aurora";
|
|
4
|
+
export declare const tokens: Record<TokenName, string>;
|
|
5
|
+
export declare const themes: { cold: Partial<Record<TokenName, string>>; warm: Partial<Record<TokenName, string>> };
|
|
6
|
+
export declare const brands: Record<BrandName, Partial<Record<TokenName, string>>>;
|
|
7
|
+
export declare const tokenNames: TokenName[];
|
|
8
|
+
export declare function cssVar(name: TokenName | string, fallback?: string): string;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// GENERATED by @iskra-ui/tokens — do not edit.
|
|
2
|
+
export const tokens = {
|
|
3
|
+
"--border": "1px solid var(--line)",
|
|
4
|
+
"--focus-ring": "0 0 0 1px var(--accent)",
|
|
5
|
+
"--border-width-thin": "1px",
|
|
6
|
+
"--border-width-regular": "1px",
|
|
7
|
+
"--border-width-strong": "2px",
|
|
8
|
+
"--bp-sm": "640px",
|
|
9
|
+
"--bp-md": "768px",
|
|
10
|
+
"--bp-lg": "1024px",
|
|
11
|
+
"--bp-xl": "1280px",
|
|
12
|
+
"--bg": "#0d1117",
|
|
13
|
+
"--panel": "#161b22",
|
|
14
|
+
"--panel-soft": "#1d2530",
|
|
15
|
+
"--panel-muted": "#202a35",
|
|
16
|
+
"--line": "#30363d",
|
|
17
|
+
"--line-soft": "rgba(48, 54, 61, 0.5)",
|
|
18
|
+
"--fg1": "#f0f6fc",
|
|
19
|
+
"--fg2": "#8b949e",
|
|
20
|
+
"--fg3": "#6e7681",
|
|
21
|
+
"--accent": "#00ffc2",
|
|
22
|
+
"--accent-hover": "#00cc9a",
|
|
23
|
+
"--accent-safe": "#00aa85",
|
|
24
|
+
"--accent-soft": "rgba(0, 170, 133, 0.14)",
|
|
25
|
+
"--accent-line": "rgba(0, 170, 133, 0.32)",
|
|
26
|
+
"--fg-on-accent": "#0d1117",
|
|
27
|
+
"--fg-on-status": "#ffffff",
|
|
28
|
+
"--scrim": "#0d1117",
|
|
29
|
+
"--status-ok": "#00ffc2",
|
|
30
|
+
"--status-warn": "#f97316",
|
|
31
|
+
"--status-err": "#f85149",
|
|
32
|
+
"--status-off": "#6e7681",
|
|
33
|
+
"--status-info": "#58a6ff",
|
|
34
|
+
"--ease": "cubic-bezier(.2,.6,.2,1)",
|
|
35
|
+
"--dur": ".15s",
|
|
36
|
+
"--dur-fast": "100ms",
|
|
37
|
+
"--dur-normal": "150ms",
|
|
38
|
+
"--dur-slow": "250ms",
|
|
39
|
+
"--opacity-disabled": 0.45,
|
|
40
|
+
"--opacity-muted": 0.7,
|
|
41
|
+
"--opacity-overlay": 0.6,
|
|
42
|
+
"--opacity-pressed": 0.85,
|
|
43
|
+
"--radius": "4px",
|
|
44
|
+
"--radius-sm": "2px",
|
|
45
|
+
"--control-h": "32px",
|
|
46
|
+
"--control-h-lg": "36px",
|
|
47
|
+
"--control-s": "28px",
|
|
48
|
+
"--control-m": "32px",
|
|
49
|
+
"--control-l": "36px",
|
|
50
|
+
"--icon-sm": "16px",
|
|
51
|
+
"--icon-md": "20px",
|
|
52
|
+
"--avatar-sm": "24px",
|
|
53
|
+
"--avatar-md": "32px",
|
|
54
|
+
"--avatar-lg": "48px",
|
|
55
|
+
"--min-target": "24px",
|
|
56
|
+
"--s1": "4px",
|
|
57
|
+
"--s2": "8px",
|
|
58
|
+
"--s3": "12px",
|
|
59
|
+
"--s4": "16px",
|
|
60
|
+
"--s5": "24px",
|
|
61
|
+
"--s6": "32px",
|
|
62
|
+
"--s7": "48px",
|
|
63
|
+
"--s8": "64px",
|
|
64
|
+
"--font-ui": "'Inter', system-ui, -apple-system, sans-serif",
|
|
65
|
+
"--font-display": "'Inter', system-ui, -apple-system, sans-serif",
|
|
66
|
+
"--font-mono": "'JetBrains Mono', ui-monospace, 'SF Mono', monospace",
|
|
67
|
+
"--text-h1": "24px",
|
|
68
|
+
"--lh-h1": 1.2,
|
|
69
|
+
"--wt-h1": 600,
|
|
70
|
+
"--text-h2": "20px",
|
|
71
|
+
"--lh-h2": 1.2,
|
|
72
|
+
"--wt-h2": 600,
|
|
73
|
+
"--text-h3": "18px",
|
|
74
|
+
"--lh-h3": 1.2,
|
|
75
|
+
"--wt-h3": 600,
|
|
76
|
+
"--text-ui": "14px",
|
|
77
|
+
"--lh-ui": 1.4,
|
|
78
|
+
"--wt-ui": 400,
|
|
79
|
+
"--text-ui-med": "14px",
|
|
80
|
+
"--wt-ui-med": 500,
|
|
81
|
+
"--text-small": "12px",
|
|
82
|
+
"--lh-sm": 1.4,
|
|
83
|
+
"--text-mono": "13px",
|
|
84
|
+
"--lh-mono": 1.45,
|
|
85
|
+
"--text-label": "11px",
|
|
86
|
+
"--z-dropdown": 1000,
|
|
87
|
+
"--z-sticky": 1100,
|
|
88
|
+
"--z-overlay": 1200,
|
|
89
|
+
"--z-modal": 1300,
|
|
90
|
+
"--z-toast": 1400,
|
|
91
|
+
"--z-tooltip": 1500
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export const themes = {
|
|
95
|
+
"cold": {
|
|
96
|
+
"--bg": "#eef2f7",
|
|
97
|
+
"--panel": "#e2e8f0",
|
|
98
|
+
"--panel-soft": "#e9eef4",
|
|
99
|
+
"--panel-muted": "#dce3ec",
|
|
100
|
+
"--line": "#cdd5e0",
|
|
101
|
+
"--line-soft": "rgba(205, 213, 224, 0.6)",
|
|
102
|
+
"--fg1": "#1c2128",
|
|
103
|
+
"--fg2": "#57606a",
|
|
104
|
+
"--fg3": "#8b949e",
|
|
105
|
+
"--accent": "#00aa85",
|
|
106
|
+
"--accent-hover": "#009478",
|
|
107
|
+
"--accent-safe": "#008268",
|
|
108
|
+
"--accent-soft": "#e6f7f2",
|
|
109
|
+
"--accent-line": "rgba(0, 170, 133, 0.32)",
|
|
110
|
+
"--status-ok": "#00aa85",
|
|
111
|
+
"--status-warn": "#d0610a",
|
|
112
|
+
"--status-err": "#d0302a",
|
|
113
|
+
"--status-off": "#6e7681",
|
|
114
|
+
"--status-info": "#2e6da4"
|
|
115
|
+
},
|
|
116
|
+
"warm": {
|
|
117
|
+
"--bg": "#f5f0e8",
|
|
118
|
+
"--panel": "#ede8df",
|
|
119
|
+
"--panel-soft": "#f0ebe3",
|
|
120
|
+
"--panel-muted": "#e4ded3",
|
|
121
|
+
"--line": "#d8d2c8",
|
|
122
|
+
"--line-soft": "rgba(216, 210, 200, 0.6)",
|
|
123
|
+
"--fg1": "#1c1a17",
|
|
124
|
+
"--fg2": "#6b6560",
|
|
125
|
+
"--fg3": "#9a948c",
|
|
126
|
+
"--accent": "#009b78",
|
|
127
|
+
"--accent-hover": "#008268",
|
|
128
|
+
"--accent-safe": "#00795d",
|
|
129
|
+
"--accent-soft": "#e8f5f0",
|
|
130
|
+
"--accent-line": "rgba(0, 155, 120, 0.32)",
|
|
131
|
+
"--status-ok": "#009b78",
|
|
132
|
+
"--status-warn": "#c2620a",
|
|
133
|
+
"--status-err": "#c23b36",
|
|
134
|
+
"--status-off": "#7a756e",
|
|
135
|
+
"--status-info": "#3a6fa8"
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export const brands = {
|
|
140
|
+
"aurora": {
|
|
141
|
+
"--accent": "#7c5cff",
|
|
142
|
+
"--accent-hover": "#6a47f5",
|
|
143
|
+
"--accent-safe": "#6a47f5",
|
|
144
|
+
"--accent-soft": "rgba(124, 92, 255, 0.14)",
|
|
145
|
+
"--accent-line": "rgba(124, 92, 255, 0.32)",
|
|
146
|
+
"--status-ok": "#7c5cff"
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export const tokenNames = Object.keys(tokens);
|
|
151
|
+
|
|
152
|
+
export function cssVar(name, fallback) {
|
|
153
|
+
const n = name.startsWith('--') ? name : '--' + name;
|
|
154
|
+
return fallback == null ? `var(${n})` : `var(${n}, ${fallback})`;
|
|
155
|
+
}
|
package/dist/tokens.css
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/* Искра.DCI design tokens — GENERATED by @iskra-ui/tokens (do not edit). */
|
|
2
|
+
/* Hard-Shell Minimal · single accent hue · root font-size is intentionally 14px. */
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Do not edit directly, this file was auto-generated.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
--border: 1px solid var(--line);
|
|
10
|
+
--focus-ring: 0 0 0 1px var(--accent);
|
|
11
|
+
--border-width-thin: 1px;
|
|
12
|
+
--border-width-regular: 1px;
|
|
13
|
+
--border-width-strong: 2px;
|
|
14
|
+
--bp-sm: 640px;
|
|
15
|
+
--bp-md: 768px;
|
|
16
|
+
--bp-lg: 1024px;
|
|
17
|
+
--bp-xl: 1280px;
|
|
18
|
+
--bg: #0d1117; /** Global page background */
|
|
19
|
+
--panel: #161b22; /** Elevated graphite — cards, modals */
|
|
20
|
+
--panel-soft: #1d2530;
|
|
21
|
+
--panel-muted: #202a35;
|
|
22
|
+
--line: #30363d;
|
|
23
|
+
--line-soft: rgba(48, 54, 61, 0.5);
|
|
24
|
+
--fg1: #f0f6fc; /** Primary text */
|
|
25
|
+
--fg2: #8b949e; /** Secondary text, placeholders */
|
|
26
|
+
--fg3: #6e7681; /** Tertiary / disabled */
|
|
27
|
+
--accent: #00ffc2; /** Indicators, borders, focus ONLY — never accent text on dark */
|
|
28
|
+
--accent-hover: #00cc9a;
|
|
29
|
+
--accent-safe: #00aa85; /** AA-safe accent for text/fills */
|
|
30
|
+
--accent-soft: rgba(0, 170, 133, 0.14);
|
|
31
|
+
--accent-line: rgba(0, 170, 133, 0.32);
|
|
32
|
+
--fg-on-accent: #0d1117; /** Dark text/icons on bright accent fills (accent stays bright across themes — stable) */
|
|
33
|
+
--fg-on-status: #ffffff; /** White text on saturated status fills (stable across themes) */
|
|
34
|
+
--scrim: #0d1117; /** Modal/overlay scrim base — always dark */
|
|
35
|
+
--status-ok: #00ffc2; /** Sync / Online */
|
|
36
|
+
--status-warn: #f97316; /** Drift / Warning */
|
|
37
|
+
--status-err: #f85149; /** Error / Critical */
|
|
38
|
+
--status-off: #6e7681; /** Maintenance / Inactive */
|
|
39
|
+
--status-info: #58a6ff; /** Info / Neutral (used minimally) */
|
|
40
|
+
--ease: cubic-bezier(.2,.6,.2,1);
|
|
41
|
+
--dur: .15s;
|
|
42
|
+
--dur-fast: 100ms;
|
|
43
|
+
--dur-normal: 150ms;
|
|
44
|
+
--dur-slow: 250ms;
|
|
45
|
+
--opacity-disabled: 0.45;
|
|
46
|
+
--opacity-muted: 0.7;
|
|
47
|
+
--opacity-overlay: 0.6;
|
|
48
|
+
--opacity-pressed: 0.85;
|
|
49
|
+
--radius: 4px;
|
|
50
|
+
--radius-sm: 2px;
|
|
51
|
+
--control-h: 32px;
|
|
52
|
+
--control-h-lg: 36px;
|
|
53
|
+
--control-s: 28px;
|
|
54
|
+
--control-m: 32px;
|
|
55
|
+
--control-l: 36px;
|
|
56
|
+
--icon-sm: 16px;
|
|
57
|
+
--icon-md: 20px;
|
|
58
|
+
--avatar-sm: 24px;
|
|
59
|
+
--avatar-md: 32px;
|
|
60
|
+
--avatar-lg: 48px;
|
|
61
|
+
--min-target: 24px;
|
|
62
|
+
--s1: 4px;
|
|
63
|
+
--s2: 8px;
|
|
64
|
+
--s3: 12px;
|
|
65
|
+
--s4: 16px;
|
|
66
|
+
--s5: 24px;
|
|
67
|
+
--s6: 32px;
|
|
68
|
+
--s7: 48px;
|
|
69
|
+
--s8: 64px;
|
|
70
|
+
--font-ui: 'Inter', system-ui, -apple-system, sans-serif;
|
|
71
|
+
--font-display: 'Inter', system-ui, -apple-system, sans-serif;
|
|
72
|
+
--font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', monospace;
|
|
73
|
+
--text-h1: 24px;
|
|
74
|
+
--lh-h1: 1.2;
|
|
75
|
+
--wt-h1: 600;
|
|
76
|
+
--text-h2: 20px;
|
|
77
|
+
--lh-h2: 1.2;
|
|
78
|
+
--wt-h2: 600;
|
|
79
|
+
--text-h3: 18px;
|
|
80
|
+
--lh-h3: 1.2;
|
|
81
|
+
--wt-h3: 600;
|
|
82
|
+
--text-ui: 14px;
|
|
83
|
+
--lh-ui: 1.4;
|
|
84
|
+
--wt-ui: 400;
|
|
85
|
+
--text-ui-med: 14px;
|
|
86
|
+
--wt-ui-med: 500;
|
|
87
|
+
--text-small: 12px;
|
|
88
|
+
--lh-sm: 1.4;
|
|
89
|
+
--text-mono: 13px;
|
|
90
|
+
--lh-mono: 1.45;
|
|
91
|
+
--text-label: 11px;
|
|
92
|
+
--z-dropdown: 1000;
|
|
93
|
+
--z-sticky: 1100;
|
|
94
|
+
--z-overlay: 1200;
|
|
95
|
+
--z-modal: 1300;
|
|
96
|
+
--z-toast: 1400;
|
|
97
|
+
--z-tooltip: 1500;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Do not edit directly, this file was auto-generated.
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
.theme-cold {
|
|
105
|
+
--bg: #eef2f7;
|
|
106
|
+
--panel: #e2e8f0;
|
|
107
|
+
--panel-soft: #e9eef4;
|
|
108
|
+
--panel-muted: #dce3ec;
|
|
109
|
+
--line: #cdd5e0;
|
|
110
|
+
--line-soft: rgba(205, 213, 224, 0.6);
|
|
111
|
+
--fg1: #1c2128;
|
|
112
|
+
--fg2: #57606a;
|
|
113
|
+
--fg3: #8b949e;
|
|
114
|
+
--accent: #00aa85;
|
|
115
|
+
--accent-hover: #009478;
|
|
116
|
+
--accent-safe: #008268;
|
|
117
|
+
--accent-soft: #e6f7f2;
|
|
118
|
+
--accent-line: rgba(0, 170, 133, 0.32);
|
|
119
|
+
--status-ok: #00aa85;
|
|
120
|
+
--status-warn: #d0610a;
|
|
121
|
+
--status-err: #d0302a;
|
|
122
|
+
--status-off: #6e7681;
|
|
123
|
+
--status-info: #2e6da4;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Do not edit directly, this file was auto-generated.
|
|
128
|
+
*/
|
|
129
|
+
|
|
130
|
+
.theme-warm {
|
|
131
|
+
--bg: #f5f0e8;
|
|
132
|
+
--panel: #ede8df;
|
|
133
|
+
--panel-soft: #f0ebe3;
|
|
134
|
+
--panel-muted: #e4ded3;
|
|
135
|
+
--line: #d8d2c8;
|
|
136
|
+
--line-soft: rgba(216, 210, 200, 0.6);
|
|
137
|
+
--fg1: #1c1a17;
|
|
138
|
+
--fg2: #6b6560;
|
|
139
|
+
--fg3: #9a948c;
|
|
140
|
+
--accent: #009b78;
|
|
141
|
+
--accent-hover: #008268;
|
|
142
|
+
--accent-safe: #00795d;
|
|
143
|
+
--accent-soft: #e8f5f0;
|
|
144
|
+
--accent-line: rgba(0, 155, 120, 0.32);
|
|
145
|
+
--status-ok: #009b78;
|
|
146
|
+
--status-warn: #c2620a;
|
|
147
|
+
--status-err: #c23b36;
|
|
148
|
+
--status-off: #7a756e;
|
|
149
|
+
--status-info: #3a6fa8;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Do not edit directly, this file was auto-generated.
|
|
154
|
+
*/
|
|
155
|
+
|
|
156
|
+
.brand-aurora {
|
|
157
|
+
--accent: #7c5cff;
|
|
158
|
+
--accent-hover: #6a47f5;
|
|
159
|
+
--accent-safe: #6a47f5;
|
|
160
|
+
--accent-soft: rgba(124, 92, 255, 0.14);
|
|
161
|
+
--accent-line: rgba(124, 92, 255, 0.32);
|
|
162
|
+
--status-ok: #7c5cff;
|
|
163
|
+
}
|
package/dist/tokens.json
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"--border": "1px solid var(--line)",
|
|
3
|
+
"--focus-ring": "0 0 0 1px var(--accent)",
|
|
4
|
+
"--border-width-thin": "1px",
|
|
5
|
+
"--border-width-regular": "1px",
|
|
6
|
+
"--border-width-strong": "2px",
|
|
7
|
+
"--bp-sm": "640px",
|
|
8
|
+
"--bp-md": "768px",
|
|
9
|
+
"--bp-lg": "1024px",
|
|
10
|
+
"--bp-xl": "1280px",
|
|
11
|
+
"--bg": "#0d1117",
|
|
12
|
+
"--panel": "#161b22",
|
|
13
|
+
"--panel-soft": "#1d2530",
|
|
14
|
+
"--panel-muted": "#202a35",
|
|
15
|
+
"--line": "#30363d",
|
|
16
|
+
"--line-soft": "rgba(48, 54, 61, 0.5)",
|
|
17
|
+
"--fg1": "#f0f6fc",
|
|
18
|
+
"--fg2": "#8b949e",
|
|
19
|
+
"--fg3": "#6e7681",
|
|
20
|
+
"--accent": "#00ffc2",
|
|
21
|
+
"--accent-hover": "#00cc9a",
|
|
22
|
+
"--accent-safe": "#00aa85",
|
|
23
|
+
"--accent-soft": "rgba(0, 170, 133, 0.14)",
|
|
24
|
+
"--accent-line": "rgba(0, 170, 133, 0.32)",
|
|
25
|
+
"--fg-on-accent": "#0d1117",
|
|
26
|
+
"--fg-on-status": "#ffffff",
|
|
27
|
+
"--scrim": "#0d1117",
|
|
28
|
+
"--status-ok": "#00ffc2",
|
|
29
|
+
"--status-warn": "#f97316",
|
|
30
|
+
"--status-err": "#f85149",
|
|
31
|
+
"--status-off": "#6e7681",
|
|
32
|
+
"--status-info": "#58a6ff",
|
|
33
|
+
"--ease": "cubic-bezier(.2,.6,.2,1)",
|
|
34
|
+
"--dur": ".15s",
|
|
35
|
+
"--dur-fast": "100ms",
|
|
36
|
+
"--dur-normal": "150ms",
|
|
37
|
+
"--dur-slow": "250ms",
|
|
38
|
+
"--opacity-disabled": 0.45,
|
|
39
|
+
"--opacity-muted": 0.7,
|
|
40
|
+
"--opacity-overlay": 0.6,
|
|
41
|
+
"--opacity-pressed": 0.85,
|
|
42
|
+
"--radius": "4px",
|
|
43
|
+
"--radius-sm": "2px",
|
|
44
|
+
"--control-h": "32px",
|
|
45
|
+
"--control-h-lg": "36px",
|
|
46
|
+
"--control-s": "28px",
|
|
47
|
+
"--control-m": "32px",
|
|
48
|
+
"--control-l": "36px",
|
|
49
|
+
"--icon-sm": "16px",
|
|
50
|
+
"--icon-md": "20px",
|
|
51
|
+
"--avatar-sm": "24px",
|
|
52
|
+
"--avatar-md": "32px",
|
|
53
|
+
"--avatar-lg": "48px",
|
|
54
|
+
"--min-target": "24px",
|
|
55
|
+
"--s1": "4px",
|
|
56
|
+
"--s2": "8px",
|
|
57
|
+
"--s3": "12px",
|
|
58
|
+
"--s4": "16px",
|
|
59
|
+
"--s5": "24px",
|
|
60
|
+
"--s6": "32px",
|
|
61
|
+
"--s7": "48px",
|
|
62
|
+
"--s8": "64px",
|
|
63
|
+
"--font-ui": "'Inter', system-ui, -apple-system, sans-serif",
|
|
64
|
+
"--font-display": "'Inter', system-ui, -apple-system, sans-serif",
|
|
65
|
+
"--font-mono": "'JetBrains Mono', ui-monospace, 'SF Mono', monospace",
|
|
66
|
+
"--text-h1": "24px",
|
|
67
|
+
"--lh-h1": 1.2,
|
|
68
|
+
"--wt-h1": 600,
|
|
69
|
+
"--text-h2": "20px",
|
|
70
|
+
"--lh-h2": 1.2,
|
|
71
|
+
"--wt-h2": 600,
|
|
72
|
+
"--text-h3": "18px",
|
|
73
|
+
"--lh-h3": 1.2,
|
|
74
|
+
"--wt-h3": 600,
|
|
75
|
+
"--text-ui": "14px",
|
|
76
|
+
"--lh-ui": 1.4,
|
|
77
|
+
"--wt-ui": 400,
|
|
78
|
+
"--text-ui-med": "14px",
|
|
79
|
+
"--wt-ui-med": 500,
|
|
80
|
+
"--text-small": "12px",
|
|
81
|
+
"--lh-sm": 1.4,
|
|
82
|
+
"--text-mono": "13px",
|
|
83
|
+
"--lh-mono": 1.45,
|
|
84
|
+
"--text-label": "11px",
|
|
85
|
+
"--z-dropdown": 1000,
|
|
86
|
+
"--z-sticky": 1100,
|
|
87
|
+
"--z-overlay": 1200,
|
|
88
|
+
"--z-modal": 1300,
|
|
89
|
+
"--z-toast": 1400,
|
|
90
|
+
"--z-tooltip": 1500
|
|
91
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@iskra-ui/tokens",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Искра.DCI design tokens (DTCG) → CSS variables + typed TS map via Style Dictionary.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"sideEffects": [
|
|
10
|
+
"**/*.css"
|
|
11
|
+
],
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"src"
|
|
15
|
+
],
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"import": "./dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./tokens.css": "./dist/tokens.css",
|
|
22
|
+
"./tokens.json": "./dist/tokens.json",
|
|
23
|
+
"./src/*": "./src/*"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"style-dictionary": "^5.4.0",
|
|
27
|
+
"typescript": "^6.0.0",
|
|
28
|
+
"@iskra-ui/tsconfig": "0.1.0"
|
|
29
|
+
},
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public",
|
|
32
|
+
"provenance": true
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "node build.mjs",
|
|
36
|
+
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "White-label brand pack «Aurora» — re-tints the accent hue only. Applied via .brand-aurora and composes on top of any theme (dark/cold/warm).",
|
|
3
|
+
"accent": { "$type": "color", "$value": "#7C5CFF" },
|
|
4
|
+
"accent-hover": { "$type": "color", "$value": "#6A47F5" },
|
|
5
|
+
"accent-safe": { "$type": "color", "$value": "#6A47F5" },
|
|
6
|
+
"accent-soft": { "$type": "color", "$value": "rgba(124,92,255,.14)" },
|
|
7
|
+
"accent-line": { "$type": "color", "$value": "rgba(124,92,255,.32)" },
|
|
8
|
+
"status-ok": { "$type": "color", "$value": "#7C5CFF" }
|
|
9
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"palette": {
|
|
3
|
+
"$type": "color",
|
|
4
|
+
"$description": "Primitive brand palette. Physical values only — referenced by semantic tokens, base layer for white-label brand packs.",
|
|
5
|
+
"mint": {
|
|
6
|
+
"bright": {
|
|
7
|
+
"$value": "#00FFC2",
|
|
8
|
+
"$description": "Cyber Mint — signal/indicator/border/focus only"
|
|
9
|
+
},
|
|
10
|
+
"mid": { "$value": "#00CC9A", "$description": "Mint hover / pressed accent" },
|
|
11
|
+
"safe": { "$value": "#00AA85", "$description": "AA-safe mint for accent TEXT on dark" }
|
|
12
|
+
},
|
|
13
|
+
"anthracite": {
|
|
14
|
+
"deep": { "$value": "#0D1117", "$description": "Global page background" }
|
|
15
|
+
},
|
|
16
|
+
"base": {
|
|
17
|
+
"white": {
|
|
18
|
+
"$value": "#FFFFFF",
|
|
19
|
+
"$description": "Pure white — text on saturated status fills"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"graphite": {
|
|
23
|
+
"100": { "$value": "#161B22", "$description": "Elevated panels, cards, modals" },
|
|
24
|
+
"200": { "$value": "#1D2530", "$description": "Slightly raised insets" },
|
|
25
|
+
"300": { "$value": "#202A35", "$description": "Table headers, hover fills" }
|
|
26
|
+
},
|
|
27
|
+
"slate": {
|
|
28
|
+
"line": { "$value": "#30363D", "$description": "Hairline borders / dividers" }
|
|
29
|
+
},
|
|
30
|
+
"ink": {
|
|
31
|
+
"primary": { "$value": "#F0F6FC" },
|
|
32
|
+
"secondary": { "$value": "#8B949E" },
|
|
33
|
+
"tertiary": { "$value": "#6E7681" }
|
|
34
|
+
},
|
|
35
|
+
"status": {
|
|
36
|
+
"orange": { "$value": "#F97316" },
|
|
37
|
+
"red": { "$value": "#F85149" },
|
|
38
|
+
"blue": { "$value": "#58A6FF" }
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Borders & elevation. No shadows — depth is a 1px hairline + a surface-color step.",
|
|
3
|
+
"border": { "$type": "string", "$value": "1px solid var(--line)" },
|
|
4
|
+
"focus-ring": { "$type": "string", "$value": "0 0 0 1px var(--accent)" },
|
|
5
|
+
"border-width-thin": { "$type": "dimension", "$value": "1px" },
|
|
6
|
+
"border-width-regular": { "$type": "dimension", "$value": "1px" },
|
|
7
|
+
"border-width-strong": { "$type": "dimension", "$value": "2px" }
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Responsive breakpoints and container widths.",
|
|
3
|
+
"bp-sm": { "$type": "dimension", "$value": "640px" },
|
|
4
|
+
"bp-md": { "$type": "dimension", "$value": "768px" },
|
|
5
|
+
"bp-lg": { "$type": "dimension", "$value": "1024px" },
|
|
6
|
+
"bp-xl": { "$type": "dimension", "$value": "1280px" }
|
|
7
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Semantic color tokens — canonical Искра.DCI CSS variables (dark theme / default). Keys map 1:1 to existing --var names to preserve compatibility.",
|
|
3
|
+
"bg": {
|
|
4
|
+
"$type": "color",
|
|
5
|
+
"$value": "{palette.anthracite.deep}",
|
|
6
|
+
"$description": "Global page background"
|
|
7
|
+
},
|
|
8
|
+
"panel": {
|
|
9
|
+
"$type": "color",
|
|
10
|
+
"$value": "{palette.graphite.100}",
|
|
11
|
+
"$description": "Elevated graphite — cards, modals"
|
|
12
|
+
},
|
|
13
|
+
"panel-soft": { "$type": "color", "$value": "{palette.graphite.200}" },
|
|
14
|
+
"panel-muted": { "$type": "color", "$value": "{palette.graphite.300}" },
|
|
15
|
+
"line": { "$type": "color", "$value": "{palette.slate.line}" },
|
|
16
|
+
"line-soft": { "$type": "color", "$value": "rgba(48,54,61,.5)" },
|
|
17
|
+
|
|
18
|
+
"fg1": { "$type": "color", "$value": "{palette.ink.primary}", "$description": "Primary text" },
|
|
19
|
+
"fg2": {
|
|
20
|
+
"$type": "color",
|
|
21
|
+
"$value": "{palette.ink.secondary}",
|
|
22
|
+
"$description": "Secondary text, placeholders"
|
|
23
|
+
},
|
|
24
|
+
"fg3": {
|
|
25
|
+
"$type": "color",
|
|
26
|
+
"$value": "{palette.ink.tertiary}",
|
|
27
|
+
"$description": "Tertiary / disabled"
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
"accent": {
|
|
31
|
+
"$type": "color",
|
|
32
|
+
"$value": "{palette.mint.bright}",
|
|
33
|
+
"$description": "Indicators, borders, focus ONLY — never accent text on dark"
|
|
34
|
+
},
|
|
35
|
+
"accent-hover": { "$type": "color", "$value": "{palette.mint.mid}" },
|
|
36
|
+
"accent-safe": {
|
|
37
|
+
"$type": "color",
|
|
38
|
+
"$value": "{palette.mint.safe}",
|
|
39
|
+
"$description": "AA-safe accent for text/fills"
|
|
40
|
+
},
|
|
41
|
+
"accent-soft": { "$type": "color", "$value": "rgba(0,170,133,.14)" },
|
|
42
|
+
"accent-line": { "$type": "color", "$value": "rgba(0,170,133,.32)" },
|
|
43
|
+
|
|
44
|
+
"fg-on-accent": {
|
|
45
|
+
"$type": "color",
|
|
46
|
+
"$value": "{palette.anthracite.deep}",
|
|
47
|
+
"$description": "Dark text/icons on bright accent fills (accent stays bright across themes — stable)"
|
|
48
|
+
},
|
|
49
|
+
"fg-on-status": {
|
|
50
|
+
"$type": "color",
|
|
51
|
+
"$value": "{palette.base.white}",
|
|
52
|
+
"$description": "White text on saturated status fills (stable across themes)"
|
|
53
|
+
},
|
|
54
|
+
"scrim": {
|
|
55
|
+
"$type": "color",
|
|
56
|
+
"$value": "{palette.anthracite.deep}",
|
|
57
|
+
"$description": "Modal/overlay scrim base — always dark"
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
"status-ok": {
|
|
61
|
+
"$type": "color",
|
|
62
|
+
"$value": "{palette.mint.bright}",
|
|
63
|
+
"$description": "Sync / Online"
|
|
64
|
+
},
|
|
65
|
+
"status-warn": {
|
|
66
|
+
"$type": "color",
|
|
67
|
+
"$value": "{palette.status.orange}",
|
|
68
|
+
"$description": "Drift / Warning"
|
|
69
|
+
},
|
|
70
|
+
"status-err": {
|
|
71
|
+
"$type": "color",
|
|
72
|
+
"$value": "{palette.status.red}",
|
|
73
|
+
"$description": "Error / Critical"
|
|
74
|
+
},
|
|
75
|
+
"status-off": {
|
|
76
|
+
"$type": "color",
|
|
77
|
+
"$value": "{palette.ink.tertiary}",
|
|
78
|
+
"$description": "Maintenance / Inactive"
|
|
79
|
+
},
|
|
80
|
+
"status-info": {
|
|
81
|
+
"$type": "color",
|
|
82
|
+
"$value": "{palette.status.blue}",
|
|
83
|
+
"$description": "Info / Neutral (used minimally)"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Motion — minimal and functional (~150ms color/border transitions).",
|
|
3
|
+
"ease": { "$type": "cubicBezier", "$value": "cubic-bezier(.2,.6,.2,1)" },
|
|
4
|
+
"dur": { "$type": "duration", "$value": ".15s" },
|
|
5
|
+
"dur-fast": { "$type": "duration", "$value": "100ms" },
|
|
6
|
+
"dur-normal": { "$type": "duration", "$value": "150ms" },
|
|
7
|
+
"dur-slow": { "$type": "duration", "$value": "250ms" }
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Opacity aliases for state.",
|
|
3
|
+
"opacity-disabled": { "$type": "number", "$value": 0.45 },
|
|
4
|
+
"opacity-muted": { "$type": "number", "$value": 0.7 },
|
|
5
|
+
"opacity-overlay": { "$type": "number", "$value": 0.6 },
|
|
6
|
+
"opacity-pressed": { "$type": "number", "$value": 0.85 }
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Control heights, icon and avatar sizes. Control sizes s·m·l map to 28·32·36px.",
|
|
3
|
+
"control-h": { "$type": "dimension", "$value": "32px" },
|
|
4
|
+
"control-h-lg": { "$type": "dimension", "$value": "36px" },
|
|
5
|
+
"control-s": { "$type": "dimension", "$value": "28px" },
|
|
6
|
+
"control-m": { "$type": "dimension", "$value": "32px" },
|
|
7
|
+
"control-l": { "$type": "dimension", "$value": "36px" },
|
|
8
|
+
"icon-sm": { "$type": "dimension", "$value": "16px" },
|
|
9
|
+
"icon-md": { "$type": "dimension", "$value": "20px" },
|
|
10
|
+
"avatar-sm": { "$type": "dimension", "$value": "24px" },
|
|
11
|
+
"avatar-md": { "$type": "dimension", "$value": "32px" },
|
|
12
|
+
"avatar-lg": { "$type": "dimension", "$value": "48px" },
|
|
13
|
+
"min-target": { "$type": "dimension", "$value": "24px" }
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Spacing scale — strict 8px grid (4px allowed for micro-detail).",
|
|
3
|
+
"s1": { "$type": "dimension", "$value": "4px" },
|
|
4
|
+
"s2": { "$type": "dimension", "$value": "8px" },
|
|
5
|
+
"s3": { "$type": "dimension", "$value": "12px" },
|
|
6
|
+
"s4": { "$type": "dimension", "$value": "16px" },
|
|
7
|
+
"s5": { "$type": "dimension", "$value": "24px" },
|
|
8
|
+
"s6": { "$type": "dimension", "$value": "32px" },
|
|
9
|
+
"s7": { "$type": "dimension", "$value": "48px" },
|
|
10
|
+
"s8": { "$type": "dimension", "$value": "64px" }
|
|
11
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Type families + scale. Sizes are px on an intentional 14px root (data-dense product).",
|
|
3
|
+
"font-ui": { "$type": "fontFamily", "$value": "'Inter', system-ui, -apple-system, sans-serif" },
|
|
4
|
+
"font-display": {
|
|
5
|
+
"$type": "fontFamily",
|
|
6
|
+
"$value": "'Inter', system-ui, -apple-system, sans-serif"
|
|
7
|
+
},
|
|
8
|
+
"font-mono": {
|
|
9
|
+
"$type": "fontFamily",
|
|
10
|
+
"$value": "'JetBrains Mono', ui-monospace, 'SF Mono', monospace"
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
"text-h1": { "$type": "dimension", "$value": "24px" },
|
|
14
|
+
"lh-h1": { "$type": "number", "$value": 1.2 },
|
|
15
|
+
"wt-h1": { "$type": "number", "$value": 600 },
|
|
16
|
+
"text-h2": { "$type": "dimension", "$value": "20px" },
|
|
17
|
+
"lh-h2": { "$type": "number", "$value": 1.2 },
|
|
18
|
+
"wt-h2": { "$type": "number", "$value": 600 },
|
|
19
|
+
"text-h3": { "$type": "dimension", "$value": "18px" },
|
|
20
|
+
"lh-h3": { "$type": "number", "$value": 1.2 },
|
|
21
|
+
"wt-h3": { "$type": "number", "$value": 600 },
|
|
22
|
+
|
|
23
|
+
"text-ui": { "$type": "dimension", "$value": "14px" },
|
|
24
|
+
"lh-ui": { "$type": "number", "$value": 1.4 },
|
|
25
|
+
"wt-ui": { "$type": "number", "$value": 400 },
|
|
26
|
+
"text-ui-med": { "$type": "dimension", "$value": "14px" },
|
|
27
|
+
"wt-ui-med": { "$type": "number", "$value": 500 },
|
|
28
|
+
|
|
29
|
+
"text-small": { "$type": "dimension", "$value": "12px" },
|
|
30
|
+
"lh-sm": { "$type": "number", "$value": 1.4 },
|
|
31
|
+
"text-mono": { "$type": "dimension", "$value": "13px" },
|
|
32
|
+
"lh-mono": { "$type": "number", "$value": 1.45 },
|
|
33
|
+
"text-label": { "$type": "dimension", "$value": "11px" }
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Stacking order for overlay layers.",
|
|
3
|
+
"z-dropdown": { "$type": "number", "$value": 1000 },
|
|
4
|
+
"z-sticky": { "$type": "number", "$value": 1100 },
|
|
5
|
+
"z-overlay": { "$type": "number", "$value": 1200 },
|
|
6
|
+
"z-modal": { "$type": "number", "$value": 1300 },
|
|
7
|
+
"z-toast": { "$type": "number", "$value": 1400 },
|
|
8
|
+
"z-tooltip": { "$type": "number", "$value": 1500 }
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Cold light theme (off-white, neutral) — redefines the same semantic color tokens. Applied via .theme-cold.",
|
|
3
|
+
"bg": { "$type": "color", "$value": "#EEF2F7" },
|
|
4
|
+
"panel": { "$type": "color", "$value": "#E2E8F0" },
|
|
5
|
+
"panel-soft": { "$type": "color", "$value": "#E9EEF4" },
|
|
6
|
+
"panel-muted": { "$type": "color", "$value": "#DCE3EC" },
|
|
7
|
+
"line": { "$type": "color", "$value": "#CDD5E0" },
|
|
8
|
+
"line-soft": { "$type": "color", "$value": "rgba(205,213,224,.6)" },
|
|
9
|
+
"fg1": { "$type": "color", "$value": "#1C2128" },
|
|
10
|
+
"fg2": { "$type": "color", "$value": "#57606A" },
|
|
11
|
+
"fg3": { "$type": "color", "$value": "#8B949E" },
|
|
12
|
+
"accent": { "$type": "color", "$value": "#00AA85" },
|
|
13
|
+
"accent-hover": { "$type": "color", "$value": "#009478" },
|
|
14
|
+
"accent-safe": { "$type": "color", "$value": "#008268" },
|
|
15
|
+
"accent-soft": { "$type": "color", "$value": "#E6F7F2" },
|
|
16
|
+
"accent-line": { "$type": "color", "$value": "rgba(0,170,133,.32)" },
|
|
17
|
+
"status-ok": { "$type": "color", "$value": "#00AA85" },
|
|
18
|
+
"status-warn": { "$type": "color", "$value": "#D0610A" },
|
|
19
|
+
"status-err": { "$type": "color", "$value": "#D0302A" },
|
|
20
|
+
"status-off": { "$type": "color", "$value": "#6E7681" },
|
|
21
|
+
"status-info": { "$type": "color", "$value": "#2E6DA4" }
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "Warm light theme (paper / sand) — redefines the same semantic color tokens. Applied via .theme-warm.",
|
|
3
|
+
"bg": { "$type": "color", "$value": "#F5F0E8" },
|
|
4
|
+
"panel": { "$type": "color", "$value": "#EDE8DF" },
|
|
5
|
+
"panel-soft": { "$type": "color", "$value": "#F0EBE3" },
|
|
6
|
+
"panel-muted": { "$type": "color", "$value": "#E4DED3" },
|
|
7
|
+
"line": { "$type": "color", "$value": "#D8D2C8" },
|
|
8
|
+
"line-soft": { "$type": "color", "$value": "rgba(216,210,200,.6)" },
|
|
9
|
+
"fg1": { "$type": "color", "$value": "#1C1A17" },
|
|
10
|
+
"fg2": { "$type": "color", "$value": "#6B6560" },
|
|
11
|
+
"fg3": { "$type": "color", "$value": "#9A948C" },
|
|
12
|
+
"accent": { "$type": "color", "$value": "#009B78" },
|
|
13
|
+
"accent-hover": { "$type": "color", "$value": "#008268" },
|
|
14
|
+
"accent-safe": { "$type": "color", "$value": "#00795D" },
|
|
15
|
+
"accent-soft": { "$type": "color", "$value": "#E8F5F0" },
|
|
16
|
+
"accent-line": { "$type": "color", "$value": "rgba(0,155,120,.32)" },
|
|
17
|
+
"status-ok": { "$type": "color", "$value": "#009B78" },
|
|
18
|
+
"status-warn": { "$type": "color", "$value": "#C2620A" },
|
|
19
|
+
"status-err": { "$type": "color", "$value": "#C23B36" },
|
|
20
|
+
"status-off": { "$type": "color", "$value": "#7A756E" },
|
|
21
|
+
"status-info": { "$type": "color", "$value": "#3A6FA8" }
|
|
22
|
+
}
|