@elvora/tokens 1.0.0-rc.1
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/LICENSE +21 -0
- package/README.md +30 -0
- package/dist/index.cjs +274 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +406 -0
- package/dist/index.d.ts +406 -0
- package/dist/index.js +251 -0
- package/dist/index.js.map +1 -0
- package/dist/tokens.css +170 -0
- package/package.json +59 -0
- package/src/tokens/breakpoints.ts +10 -0
- package/src/tokens/colors.ts +112 -0
- package/src/tokens/index.ts +30 -0
- package/src/tokens/motion.ts +19 -0
- package/src/tokens/radii.ts +13 -0
- package/src/tokens/shadows.ts +13 -0
- package/src/tokens/spacing.ts +33 -0
- package/src/tokens/typography.ts +64 -0
- package/src/tokens/zIndex.ts +20 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Elvora UI Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# @elvora/tokens
|
|
2
|
+
|
|
3
|
+
Elvora design tokens — colors, spacing, typography, radii, shadows, and motion. Single source of truth, compiled with [Style Dictionary](https://amzn.github.io/style-dictionary/) for web, RN, and theming.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add @elvora/tokens
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { colors, spacing, radii, typography } from '@elvora/tokens';
|
|
15
|
+
|
|
16
|
+
const padding = spacing[4]; // → '16px'
|
|
17
|
+
const brand = colors.intent.primary.solid;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
CSS variables are available at `@elvora/tokens/css`:
|
|
21
|
+
|
|
22
|
+
```css
|
|
23
|
+
@import '@elvora/tokens/css';
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Raw JSON is at `@elvora/tokens/raw`.
|
|
27
|
+
|
|
28
|
+
## License
|
|
29
|
+
|
|
30
|
+
MIT
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/tokens/colors.ts
|
|
4
|
+
var slate = {
|
|
5
|
+
50: "#f8fafc",
|
|
6
|
+
100: "#f1f5f9",
|
|
7
|
+
200: "#e2e8f0",
|
|
8
|
+
300: "#cbd5e1",
|
|
9
|
+
400: "#94a3b8",
|
|
10
|
+
500: "#64748b",
|
|
11
|
+
600: "#475569",
|
|
12
|
+
700: "#334155",
|
|
13
|
+
800: "#1e293b",
|
|
14
|
+
900: "#0f172a"
|
|
15
|
+
};
|
|
16
|
+
var blue = {
|
|
17
|
+
50: "#eff6ff",
|
|
18
|
+
100: "#dbeafe",
|
|
19
|
+
200: "#bfdbfe",
|
|
20
|
+
300: "#93c5fd",
|
|
21
|
+
400: "#60a5fa",
|
|
22
|
+
500: "#3b82f6",
|
|
23
|
+
600: "#2563eb",
|
|
24
|
+
700: "#1d4ed8",
|
|
25
|
+
800: "#1e40af",
|
|
26
|
+
900: "#1e3a8a"
|
|
27
|
+
};
|
|
28
|
+
var green = {
|
|
29
|
+
50: "#f0fdf4",
|
|
30
|
+
100: "#dcfce7",
|
|
31
|
+
200: "#bbf7d0",
|
|
32
|
+
300: "#86efac",
|
|
33
|
+
400: "#4ade80",
|
|
34
|
+
500: "#22c55e",
|
|
35
|
+
600: "#16a34a",
|
|
36
|
+
700: "#15803d",
|
|
37
|
+
800: "#166534",
|
|
38
|
+
900: "#14532d"
|
|
39
|
+
};
|
|
40
|
+
var amber = {
|
|
41
|
+
50: "#fffbeb",
|
|
42
|
+
100: "#fef3c7",
|
|
43
|
+
200: "#fde68a",
|
|
44
|
+
300: "#fcd34d",
|
|
45
|
+
400: "#fbbf24",
|
|
46
|
+
500: "#f59e0b",
|
|
47
|
+
600: "#d97706",
|
|
48
|
+
700: "#b45309",
|
|
49
|
+
800: "#92400e",
|
|
50
|
+
900: "#78350f"
|
|
51
|
+
};
|
|
52
|
+
var red = {
|
|
53
|
+
50: "#fef2f2",
|
|
54
|
+
100: "#fee2e2",
|
|
55
|
+
200: "#fecaca",
|
|
56
|
+
300: "#fca5a5",
|
|
57
|
+
400: "#f87171",
|
|
58
|
+
500: "#ef4444",
|
|
59
|
+
600: "#dc2626",
|
|
60
|
+
700: "#b91c1c",
|
|
61
|
+
800: "#991b1b",
|
|
62
|
+
900: "#7f1d1d"
|
|
63
|
+
};
|
|
64
|
+
var violet = {
|
|
65
|
+
50: "#f5f3ff",
|
|
66
|
+
100: "#ede9fe",
|
|
67
|
+
200: "#ddd6fe",
|
|
68
|
+
300: "#c4b5fd",
|
|
69
|
+
400: "#a78bfa",
|
|
70
|
+
500: "#8b5cf6",
|
|
71
|
+
600: "#7c3aed",
|
|
72
|
+
700: "#6d28d9",
|
|
73
|
+
800: "#5b21b6",
|
|
74
|
+
900: "#4c1d95"
|
|
75
|
+
};
|
|
76
|
+
var colors = {
|
|
77
|
+
slate,
|
|
78
|
+
blue,
|
|
79
|
+
green,
|
|
80
|
+
amber,
|
|
81
|
+
red,
|
|
82
|
+
violet,
|
|
83
|
+
white: "#ffffff",
|
|
84
|
+
black: "#000000",
|
|
85
|
+
transparent: "transparent"
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
// src/tokens/spacing.ts
|
|
89
|
+
var spacing = {
|
|
90
|
+
0: "0px",
|
|
91
|
+
px: "1px",
|
|
92
|
+
0.5: "2px",
|
|
93
|
+
1: "4px",
|
|
94
|
+
1.5: "6px",
|
|
95
|
+
2: "8px",
|
|
96
|
+
2.5: "10px",
|
|
97
|
+
3: "12px",
|
|
98
|
+
3.5: "14px",
|
|
99
|
+
4: "16px",
|
|
100
|
+
5: "20px",
|
|
101
|
+
6: "24px",
|
|
102
|
+
7: "28px",
|
|
103
|
+
8: "32px",
|
|
104
|
+
9: "36px",
|
|
105
|
+
10: "40px",
|
|
106
|
+
11: "44px",
|
|
107
|
+
12: "48px",
|
|
108
|
+
14: "56px",
|
|
109
|
+
16: "64px",
|
|
110
|
+
20: "80px",
|
|
111
|
+
24: "96px",
|
|
112
|
+
28: "112px",
|
|
113
|
+
32: "128px"
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// src/tokens/typography.ts
|
|
117
|
+
var fontFamilies = {
|
|
118
|
+
sans: '"Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif',
|
|
119
|
+
serif: 'Georgia, "Times New Roman", Times, serif',
|
|
120
|
+
mono: '"JetBrains Mono", "Fira Code", "SF Mono", Menlo, Consolas, monospace'
|
|
121
|
+
};
|
|
122
|
+
var fontSizes = {
|
|
123
|
+
xs: "12px",
|
|
124
|
+
sm: "14px",
|
|
125
|
+
base: "16px",
|
|
126
|
+
md: "16px",
|
|
127
|
+
lg: "18px",
|
|
128
|
+
xl: "20px",
|
|
129
|
+
"2xl": "24px",
|
|
130
|
+
"3xl": "30px",
|
|
131
|
+
"4xl": "36px",
|
|
132
|
+
"5xl": "48px",
|
|
133
|
+
"6xl": "60px"
|
|
134
|
+
};
|
|
135
|
+
var fontWeights = {
|
|
136
|
+
thin: 100,
|
|
137
|
+
extralight: 200,
|
|
138
|
+
light: 300,
|
|
139
|
+
regular: 400,
|
|
140
|
+
medium: 500,
|
|
141
|
+
semibold: 600,
|
|
142
|
+
bold: 700,
|
|
143
|
+
extrabold: 800,
|
|
144
|
+
black: 900
|
|
145
|
+
};
|
|
146
|
+
var lineHeights = {
|
|
147
|
+
none: 1,
|
|
148
|
+
tight: 1.2,
|
|
149
|
+
snug: 1.35,
|
|
150
|
+
normal: 1.5,
|
|
151
|
+
relaxed: 1.625,
|
|
152
|
+
loose: 2
|
|
153
|
+
};
|
|
154
|
+
var letterSpacings = {
|
|
155
|
+
tighter: "-0.04em",
|
|
156
|
+
tight: "-0.02em",
|
|
157
|
+
normal: "0em",
|
|
158
|
+
wide: "0.02em",
|
|
159
|
+
wider: "0.04em",
|
|
160
|
+
widest: "0.08em"
|
|
161
|
+
};
|
|
162
|
+
var typography = {
|
|
163
|
+
fontFamilies,
|
|
164
|
+
fontSizes,
|
|
165
|
+
fontWeights,
|
|
166
|
+
lineHeights,
|
|
167
|
+
letterSpacings
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// src/tokens/radii.ts
|
|
171
|
+
var radii = {
|
|
172
|
+
none: "0",
|
|
173
|
+
xs: "2px",
|
|
174
|
+
sm: "4px",
|
|
175
|
+
md: "6px",
|
|
176
|
+
lg: "8px",
|
|
177
|
+
xl: "12px",
|
|
178
|
+
"2xl": "16px",
|
|
179
|
+
"3xl": "24px",
|
|
180
|
+
full: "9999px"
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
// src/tokens/shadows.ts
|
|
184
|
+
var shadows = {
|
|
185
|
+
none: "none",
|
|
186
|
+
xs: "0 1px 2px 0 rgba(15, 23, 42, 0.05)",
|
|
187
|
+
sm: "0 1px 3px 0 rgba(15, 23, 42, 0.10), 0 1px 2px -1px rgba(15, 23, 42, 0.10)",
|
|
188
|
+
md: "0 4px 6px -1px rgba(15, 23, 42, 0.10), 0 2px 4px -2px rgba(15, 23, 42, 0.10)",
|
|
189
|
+
lg: "0 10px 15px -3px rgba(15, 23, 42, 0.10), 0 4px 6px -4px rgba(15, 23, 42, 0.10)",
|
|
190
|
+
xl: "0 20px 25px -5px rgba(15, 23, 42, 0.10), 0 8px 10px -6px rgba(15, 23, 42, 0.10)",
|
|
191
|
+
"2xl": "0 25px 50px -12px rgba(15, 23, 42, 0.25)",
|
|
192
|
+
inner: "inset 0 2px 4px 0 rgba(15, 23, 42, 0.06)",
|
|
193
|
+
focus: "0 0 0 3px rgba(59, 130, 246, 0.45)"
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
// src/tokens/motion.ts
|
|
197
|
+
var durations = {
|
|
198
|
+
instant: "0ms",
|
|
199
|
+
fast: "120ms",
|
|
200
|
+
normal: "200ms",
|
|
201
|
+
slow: "320ms",
|
|
202
|
+
slower: "500ms"
|
|
203
|
+
};
|
|
204
|
+
var easings = {
|
|
205
|
+
linear: "linear",
|
|
206
|
+
standard: "cubic-bezier(0.2, 0, 0, 1)",
|
|
207
|
+
emphasized: "cubic-bezier(0.3, 0, 0, 1)",
|
|
208
|
+
decelerate: "cubic-bezier(0, 0, 0, 1)",
|
|
209
|
+
accelerate: "cubic-bezier(0.3, 0, 1, 1)"
|
|
210
|
+
};
|
|
211
|
+
var motion = { durations, easings };
|
|
212
|
+
|
|
213
|
+
// src/tokens/zIndex.ts
|
|
214
|
+
var zIndex = {
|
|
215
|
+
hide: -1,
|
|
216
|
+
base: 0,
|
|
217
|
+
raised: 1,
|
|
218
|
+
dropdown: 1e3,
|
|
219
|
+
sticky: 1100,
|
|
220
|
+
banner: 1200,
|
|
221
|
+
overlay: 1300,
|
|
222
|
+
modal: 1400,
|
|
223
|
+
popover: 1500,
|
|
224
|
+
toast: 1600,
|
|
225
|
+
tooltip: 1700,
|
|
226
|
+
max: 2147483647
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
// src/tokens/breakpoints.ts
|
|
230
|
+
var breakpoints = {
|
|
231
|
+
xs: "0px",
|
|
232
|
+
sm: "640px",
|
|
233
|
+
md: "768px",
|
|
234
|
+
lg: "1024px",
|
|
235
|
+
xl: "1280px",
|
|
236
|
+
"2xl": "1536px"
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
// src/tokens/index.ts
|
|
240
|
+
var tokens = {
|
|
241
|
+
colors,
|
|
242
|
+
spacing,
|
|
243
|
+
typography,
|
|
244
|
+
radii,
|
|
245
|
+
shadows,
|
|
246
|
+
motion,
|
|
247
|
+
zIndex,
|
|
248
|
+
breakpoints
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
exports.amber = amber;
|
|
252
|
+
exports.blue = blue;
|
|
253
|
+
exports.breakpoints = breakpoints;
|
|
254
|
+
exports.colors = colors;
|
|
255
|
+
exports.durations = durations;
|
|
256
|
+
exports.easings = easings;
|
|
257
|
+
exports.fontFamilies = fontFamilies;
|
|
258
|
+
exports.fontSizes = fontSizes;
|
|
259
|
+
exports.fontWeights = fontWeights;
|
|
260
|
+
exports.green = green;
|
|
261
|
+
exports.letterSpacings = letterSpacings;
|
|
262
|
+
exports.lineHeights = lineHeights;
|
|
263
|
+
exports.motion = motion;
|
|
264
|
+
exports.radii = radii;
|
|
265
|
+
exports.red = red;
|
|
266
|
+
exports.shadows = shadows;
|
|
267
|
+
exports.slate = slate;
|
|
268
|
+
exports.spacing = spacing;
|
|
269
|
+
exports.tokens = tokens;
|
|
270
|
+
exports.typography = typography;
|
|
271
|
+
exports.violet = violet;
|
|
272
|
+
exports.zIndex = zIndex;
|
|
273
|
+
//# sourceMappingURL=index.cjs.map
|
|
274
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tokens/colors.ts","../src/tokens/spacing.ts","../src/tokens/typography.ts","../src/tokens/radii.ts","../src/tokens/shadows.ts","../src/tokens/motion.ts","../src/tokens/zIndex.ts","../src/tokens/breakpoints.ts","../src/tokens/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/**\r\n * Color tokens — a 10-step ramp per hue (50 → 900), inspired by Tailwind / AntD.\r\n * Semantic tokens (background, foreground, border, brand, status) consume these.\r\n *\r\n * Each ramp is hand-tuned for WCAG 2.2 AA contrast at step 600 against white\r\n * and step 300 against black. Do not edit step values without re-checking contrast.\r\n */\r\n\r\nexport type ColorRamp = {\r\n 50: string;\r\n 100: string;\r\n 200: string;\r\n 300: string;\r\n 400: string;\r\n 500: string;\r\n 600: string;\r\n 700: string;\r\n 800: string;\r\n 900: string;\r\n};\r\n\r\nexport const slate: ColorRamp = {\r\n 50: '#f8fafc',\r\n 100: '#f1f5f9',\r\n 200: '#e2e8f0',\r\n 300: '#cbd5e1',\r\n 400: '#94a3b8',\r\n 500: '#64748b',\r\n 600: '#475569',\r\n 700: '#334155',\r\n 800: '#1e293b',\r\n 900: '#0f172a',\r\n};\r\n\r\nexport const blue: ColorRamp = {\r\n 50: '#eff6ff',\r\n 100: '#dbeafe',\r\n 200: '#bfdbfe',\r\n 300: '#93c5fd',\r\n 400: '#60a5fa',\r\n 500: '#3b82f6',\r\n 600: '#2563eb',\r\n 700: '#1d4ed8',\r\n 800: '#1e40af',\r\n 900: '#1e3a8a',\r\n};\r\n\r\nexport const green: ColorRamp = {\r\n 50: '#f0fdf4',\r\n 100: '#dcfce7',\r\n 200: '#bbf7d0',\r\n 300: '#86efac',\r\n 400: '#4ade80',\r\n 500: '#22c55e',\r\n 600: '#16a34a',\r\n 700: '#15803d',\r\n 800: '#166534',\r\n 900: '#14532d',\r\n};\r\n\r\nexport const amber: ColorRamp = {\r\n 50: '#fffbeb',\r\n 100: '#fef3c7',\r\n 200: '#fde68a',\r\n 300: '#fcd34d',\r\n 400: '#fbbf24',\r\n 500: '#f59e0b',\r\n 600: '#d97706',\r\n 700: '#b45309',\r\n 800: '#92400e',\r\n 900: '#78350f',\r\n};\r\n\r\nexport const red: ColorRamp = {\r\n 50: '#fef2f2',\r\n 100: '#fee2e2',\r\n 200: '#fecaca',\r\n 300: '#fca5a5',\r\n 400: '#f87171',\r\n 500: '#ef4444',\r\n 600: '#dc2626',\r\n 700: '#b91c1c',\r\n 800: '#991b1b',\r\n 900: '#7f1d1d',\r\n};\r\n\r\nexport const violet: ColorRamp = {\r\n 50: '#f5f3ff',\r\n 100: '#ede9fe',\r\n 200: '#ddd6fe',\r\n 300: '#c4b5fd',\r\n 400: '#a78bfa',\r\n 500: '#8b5cf6',\r\n 600: '#7c3aed',\r\n 700: '#6d28d9',\r\n 800: '#5b21b6',\r\n 900: '#4c1d95',\r\n};\r\n\r\nexport const colors = {\r\n slate,\r\n blue,\r\n green,\r\n amber,\r\n red,\r\n violet,\r\n white: '#ffffff',\r\n black: '#000000',\r\n transparent: 'transparent',\r\n} as const;\r\n\r\nexport type Colors = typeof colors;\r\n","/**\r\n * Spacing scale based on a 4px base unit. Used for padding, margin, gap.\r\n * Numeric keys (0, 1, 2…) map to multiples of the base; named keys are aliases.\r\n */\r\nexport const spacing = {\r\n 0: '0px',\r\n px: '1px',\r\n 0.5: '2px',\r\n 1: '4px',\r\n 1.5: '6px',\r\n 2: '8px',\r\n 2.5: '10px',\r\n 3: '12px',\r\n 3.5: '14px',\r\n 4: '16px',\r\n 5: '20px',\r\n 6: '24px',\r\n 7: '28px',\r\n 8: '32px',\r\n 9: '36px',\r\n 10: '40px',\r\n 11: '44px',\r\n 12: '48px',\r\n 14: '56px',\r\n 16: '64px',\r\n 20: '80px',\r\n 24: '96px',\r\n 28: '112px',\r\n 32: '128px',\r\n} as const;\r\n\r\nexport type Spacing = typeof spacing;\r\nexport type SpacingKey = keyof Spacing;\r\n","/**\r\n * Typography tokens — font families, sizes, weights, line heights, letter spacing.\r\n * Sizes follow a 1.125 (major second) modular scale.\r\n */\r\n\r\nexport const fontFamilies = {\r\n sans: '\"Inter\", \"Segoe UI\", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif',\r\n serif: 'Georgia, \"Times New Roman\", Times, serif',\r\n mono: '\"JetBrains Mono\", \"Fira Code\", \"SF Mono\", Menlo, Consolas, monospace',\r\n} as const;\r\n\r\nexport const fontSizes = {\r\n xs: '12px',\r\n sm: '14px',\r\n base: '16px',\r\n md: '16px',\r\n lg: '18px',\r\n xl: '20px',\r\n '2xl': '24px',\r\n '3xl': '30px',\r\n '4xl': '36px',\r\n '5xl': '48px',\r\n '6xl': '60px',\r\n} as const;\r\n\r\nexport const fontWeights = {\r\n thin: 100,\r\n extralight: 200,\r\n light: 300,\r\n regular: 400,\r\n medium: 500,\r\n semibold: 600,\r\n bold: 700,\r\n extrabold: 800,\r\n black: 900,\r\n} as const;\r\n\r\nexport const lineHeights = {\r\n none: 1,\r\n tight: 1.2,\r\n snug: 1.35,\r\n normal: 1.5,\r\n relaxed: 1.625,\r\n loose: 2,\r\n} as const;\r\n\r\nexport const letterSpacings = {\r\n tighter: '-0.04em',\r\n tight: '-0.02em',\r\n normal: '0em',\r\n wide: '0.02em',\r\n wider: '0.04em',\r\n widest: '0.08em',\r\n} as const;\r\n\r\nexport const typography = {\r\n fontFamilies,\r\n fontSizes,\r\n fontWeights,\r\n lineHeights,\r\n letterSpacings,\r\n} as const;\r\n\r\nexport type Typography = typeof typography;\r\n","export const radii = {\r\n none: '0',\r\n xs: '2px',\r\n sm: '4px',\r\n md: '6px',\r\n lg: '8px',\r\n xl: '12px',\r\n '2xl': '16px',\r\n '3xl': '24px',\r\n full: '9999px',\r\n} as const;\r\n\r\nexport type Radii = typeof radii;\r\n","export const shadows = {\r\n none: 'none',\r\n xs: '0 1px 2px 0 rgba(15, 23, 42, 0.05)',\r\n sm: '0 1px 3px 0 rgba(15, 23, 42, 0.10), 0 1px 2px -1px rgba(15, 23, 42, 0.10)',\r\n md: '0 4px 6px -1px rgba(15, 23, 42, 0.10), 0 2px 4px -2px rgba(15, 23, 42, 0.10)',\r\n lg: '0 10px 15px -3px rgba(15, 23, 42, 0.10), 0 4px 6px -4px rgba(15, 23, 42, 0.10)',\r\n xl: '0 20px 25px -5px rgba(15, 23, 42, 0.10), 0 8px 10px -6px rgba(15, 23, 42, 0.10)',\r\n '2xl': '0 25px 50px -12px rgba(15, 23, 42, 0.25)',\r\n inner: 'inset 0 2px 4px 0 rgba(15, 23, 42, 0.06)',\r\n focus: '0 0 0 3px rgba(59, 130, 246, 0.45)',\r\n} as const;\r\n\r\nexport type Shadows = typeof shadows;\r\n","export const durations = {\r\n instant: '0ms',\r\n fast: '120ms',\r\n normal: '200ms',\r\n slow: '320ms',\r\n slower: '500ms',\r\n} as const;\r\n\r\nexport const easings = {\r\n linear: 'linear',\r\n standard: 'cubic-bezier(0.2, 0, 0, 1)',\r\n emphasized: 'cubic-bezier(0.3, 0, 0, 1)',\r\n decelerate: 'cubic-bezier(0, 0, 0, 1)',\r\n accelerate: 'cubic-bezier(0.3, 0, 1, 1)',\r\n} as const;\r\n\r\nexport const motion = { durations, easings } as const;\r\n\r\nexport type Motion = typeof motion;\r\n","/**\r\n * Z-index layering — keep these few and explicit. Components reach for tokens,\r\n * never magic numbers, to keep stacking predictable.\r\n */\r\nexport const zIndex = {\r\n hide: -1,\r\n base: 0,\r\n raised: 1,\r\n dropdown: 1000,\r\n sticky: 1100,\r\n banner: 1200,\r\n overlay: 1300,\r\n modal: 1400,\r\n popover: 1500,\r\n toast: 1600,\r\n tooltip: 1700,\r\n max: 2147483647,\r\n} as const;\r\n\r\nexport type ZIndex = typeof zIndex;\r\n","export const breakpoints = {\r\n xs: '0px',\r\n sm: '640px',\r\n md: '768px',\r\n lg: '1024px',\r\n xl: '1280px',\r\n '2xl': '1536px',\r\n} as const;\r\n\r\nexport type Breakpoints = typeof breakpoints;\r\n","export * from './colors';\r\nexport * from './spacing';\r\nexport * from './typography';\r\nexport * from './radii';\r\nexport * from './shadows';\r\nexport * from './motion';\r\nexport * from './zIndex';\r\nexport * from './breakpoints';\r\n\r\nimport { colors } from './colors';\r\nimport { spacing } from './spacing';\r\nimport { typography } from './typography';\r\nimport { radii } from './radii';\r\nimport { shadows } from './shadows';\r\nimport { motion } from './motion';\r\nimport { zIndex } from './zIndex';\r\nimport { breakpoints } from './breakpoints';\r\n\r\nexport const tokens = {\r\n colors,\r\n spacing,\r\n typography,\r\n radii,\r\n shadows,\r\n motion,\r\n zIndex,\r\n breakpoints,\r\n} as const;\r\n\r\nexport type Tokens = typeof tokens;\r\n"]}
|