@uncinq/design-tokens 1.0.3 → 1.1.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.
Files changed (40) hide show
  1. package/README.md +6 -6
  2. package/dist/css/index.css +3 -10
  3. package/dist/css/primitive/blur.css +1 -1
  4. package/dist/css/primitive/color.css +60 -60
  5. package/dist/css/primitive/font.css +1 -1
  6. package/dist/css/primitive/shadow.css +1 -1
  7. package/dist/css/primitive/size.css +8 -2
  8. package/dist/css/primitive.css +6 -8
  9. package/dist/css/semantic/blur.css +1 -1
  10. package/dist/css/semantic/border.css +1 -1
  11. package/dist/css/semantic/color.css +1 -17
  12. package/dist/css/semantic/focus.css +1 -1
  13. package/dist/css/semantic/form.css +7 -9
  14. package/dist/css/semantic/grid.css +1 -1
  15. package/dist/css/semantic/icon.css +2 -1
  16. package/dist/css/semantic/motion.css +6 -6
  17. package/dist/css/semantic/opacity.css +1 -1
  18. package/dist/css/semantic/radius.css +1 -1
  19. package/dist/css/semantic/ratio.css +2 -1
  20. package/dist/css/semantic/shadow.css +1 -1
  21. package/dist/css/semantic/size.css +1 -1
  22. package/dist/css/semantic/spacing.css +1 -1
  23. package/dist/css/semantic/typography.css +1 -1
  24. package/dist/css/semantic/z-index.css +1 -1
  25. package/dist/css/semantic.css +17 -19
  26. package/dist/css/themes/dark.css +24 -0
  27. package/package.json +3 -2
  28. package/tokens/primitive/color.json +1471 -211
  29. package/tokens/primitive/size.json +28 -4
  30. package/tokens/semantic/border.json +1 -1
  31. package/tokens/semantic/color.json +11 -22
  32. package/tokens/semantic/focus.json +1 -1
  33. package/tokens/semantic/form.json +38 -17
  34. package/tokens/semantic/grid.json +1 -1
  35. package/tokens/semantic/icon.json +4 -0
  36. package/tokens/semantic/motion.json +25 -25
  37. package/tokens/semantic/ratio.json +4 -0
  38. package/tokens/semantic/spacing.json +11 -11
  39. package/tokens/semantic/typography.json +16 -16
  40. package/tokens/themes/dark.json +70 -0
package/README.md CHANGED
@@ -138,7 +138,7 @@ The property mirrors the CSS property name — `background-color`, `border-color
138
138
  | `duration` | Animation timing | `--duration-fast` |
139
139
  | `easing` | Timing functions | `--easing-bounce` |
140
140
  | `transition` | Shorthand transitions | `--transition-normal`, `--transition-color` |
141
- | `ratio` | Aspect ratios | `--ratio-16-9` |
141
+ | `ratio` | Aspect ratios | `--ratio-video` |
142
142
  | `fluid-text` | Responsive fluid type scale (Utopia) | `--fluid-text-sm`, `--fluid-text-xl` |
143
143
  | `fluid-spacing` | Responsive fluid spacing scale (Utopia) | `--fluid-spacing-sm`, `--fluid-spacing-lg` |
144
144
  | `focus` | Focus ring tokens | `--focus-color`, `--focus-outline-width` |
@@ -232,7 +232,7 @@ Semantic tokens are named by **purpose**, not by value. They reference primitive
232
232
  The default brand is **sienna** — a warm brick-red. Override it in your project:
233
233
 
234
234
  ```css
235
- @layer config {
235
+ @layer tokens {
236
236
  :root {
237
237
  --color-brand: var(--color-violet-600);
238
238
  --color-brand-muted: var(--color-violet-100);
@@ -327,7 +327,7 @@ Add a new primitive scale in `tokens/primitive/color.css` following the existing
327
327
  --color-coral-950: oklch(0.225 0.078 35.0);
328
328
  ```
329
329
 
330
- Then reference it in `tokens/semantic/color.css` or your project's `@layer config` override.
330
+ Then reference it in `tokens/semantic/color.css` or your project's `@layer tokens` override.
331
331
 
332
332
  ---
333
333
 
@@ -337,12 +337,12 @@ Two approaches are available depending on how deep the override needs to go.
337
337
 
338
338
  ### 1 — CSS override (recommended)
339
339
 
340
- All tokens live in `@layer config`, the lowest-priority layer in the stack. Any `@layer config` block imported **after** this package wins by source order — no specificity tricks needed.
340
+ All tokens live in `@layer tokens`, the lowest-priority layer in the stack. Any `@layer tokens` block imported **after** this package wins by source order — no specificity tricks needed.
341
341
 
342
342
  ```css
343
343
  @import '@uncinq/design-tokens';
344
344
 
345
- @layer config {
345
+ @layer tokens {
346
346
  :root {
347
347
  --color-brand: var(--color-violet-600);
348
348
  --color-brand-muted: var(--color-violet-100);
@@ -382,7 +382,7 @@ Use this approach to:
382
382
 
383
383
  | Need | Approach |
384
384
  | --- | --- |
385
- | Change brand, typography, a few tokens | CSS `@layer config` |
385
+ | Change brand, typography, a few tokens | CSS `@layer tokens` |
386
386
  | Redefine the entire primitive palette | JSON + build |
387
387
  | Add project-specific tokens | JSON + build (or CSS if few) |
388
388
 
@@ -1,10 +1,3 @@
1
- /* @uncinq/design-tokens — index.css */
2
- /*
3
- * Imports all layers in order: primitives first, then semantic.
4
- * Use this file to get everything, or import primitive.css / semantic.css individually.
5
- *
6
- * Usage:
7
- * @import '@uncinq/design-tokens/tokens/index.css';
8
- */
9
- @import 'primitive.css';
10
- @import 'semantic.css';
1
+ @import "./primitive.css";
2
+ @import "./semantic.css";
3
+ @import "./themes/dark.css";
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* primitive/blur.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --blur-xs: 2px;
9
9
  --blur-sm: 4px;
@@ -3,22 +3,22 @@
3
3
  */
4
4
 
5
5
  /* primitive/color.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --color-black: oklch(0 0 0);
9
9
  --color-white: oklch(1 0 0);
10
10
  --color-amber-50: oklch(0.987 0.022 95.277);
11
11
  --color-amber-100: oklch(0.962 0.059 95.617);
12
- --color-amber-200: oklch(0.924 0.120 95.746);
12
+ --color-amber-200: oklch(0.924 0.12 95.746);
13
13
  --color-amber-300: oklch(0.879 0.169 91.605);
14
14
  --color-amber-400: oklch(0.828 0.189 84.429);
15
- --color-amber-500: oklch(0.769 0.188 70.080);
15
+ --color-amber-500: oklch(0.769 0.188 70.08);
16
16
  --color-amber-600: oklch(0.666 0.179 58.318);
17
17
  --color-amber-700: oklch(0.555 0.163 48.998);
18
18
  --color-amber-800: oklch(0.473 0.137 46.201);
19
19
  --color-amber-900: oklch(0.414 0.112 45.904);
20
20
  --color-amber-950: oklch(0.279 0.077 45.635);
21
- --color-blue-50: oklch(0.970 0.014 254.604);
21
+ --color-blue-50: oklch(0.97 0.014 254.604);
22
22
  --color-blue-100: oklch(0.932 0.032 255.585);
23
23
  --color-blue-200: oklch(0.882 0.059 254.128);
24
24
  --color-blue-300: oklch(0.809 0.105 251.813);
@@ -31,52 +31,52 @@
31
31
  --color-blue-950: oklch(0.282 0.091 267.935);
32
32
  --color-cyan-50: oklch(0.984 0.019 200.873);
33
33
  --color-cyan-100: oklch(0.956 0.045 203.388);
34
- --color-cyan-200: oklch(0.917 0.080 205.041);
34
+ --color-cyan-200: oklch(0.917 0.08 205.041);
35
35
  --color-cyan-300: oklch(0.865 0.127 207.078);
36
- --color-cyan-400: oklch(0.789 0.154 211.530);
36
+ --color-cyan-400: oklch(0.789 0.154 211.53);
37
37
  --color-cyan-500: oklch(0.715 0.143 215.221);
38
38
  --color-cyan-600: oklch(0.609 0.126 221.723);
39
- --color-cyan-700: oklch(0.520 0.105 223.128);
40
- --color-cyan-800: oklch(0.450 0.085 224.283);
41
- --color-cyan-900: oklch(0.398 0.070 227.392);
39
+ --color-cyan-700: oklch(0.52 0.105 223.128);
40
+ --color-cyan-800: oklch(0.45 0.085 224.283);
41
+ --color-cyan-900: oklch(0.398 0.07 227.392);
42
42
  --color-cyan-950: oklch(0.302 0.056 229.695);
43
43
  --color-emerald-50: oklch(0.979 0.021 166.113);
44
- --color-emerald-100: oklch(0.950 0.052 163.051);
45
- --color-emerald-200: oklch(0.905 0.093 164.150);
44
+ --color-emerald-100: oklch(0.95 0.052 163.051);
45
+ --color-emerald-200: oklch(0.905 0.093 164.15);
46
46
  --color-emerald-300: oklch(0.845 0.143 164.978);
47
47
  --color-emerald-400: oklch(0.765 0.177 163.223);
48
- --color-emerald-500: oklch(0.696 0.170 162.480);
48
+ --color-emerald-500: oklch(0.696 0.17 162.48);
49
49
  --color-emerald-600: oklch(0.596 0.145 163.225);
50
50
  --color-emerald-700: oklch(0.508 0.118 165.612);
51
51
  --color-emerald-800: oklch(0.432 0.095 166.913);
52
- --color-emerald-900: oklch(0.378 0.077 168.940);
52
+ --color-emerald-900: oklch(0.378 0.077 168.94);
53
53
  --color-emerald-950: oklch(0.262 0.051 172.552);
54
54
  --color-fuchsia-50: oklch(0.977 0.017 320.058);
55
55
  --color-fuchsia-100: oklch(0.952 0.037 318.852);
56
56
  --color-fuchsia-200: oklch(0.903 0.076 319.062);
57
57
  --color-fuchsia-300: oklch(0.833 0.145 321.434);
58
- --color-fuchsia-400: oklch(0.740 0.238 322.160);
59
- --color-fuchsia-500: oklch(0.667 0.295 322.150);
58
+ --color-fuchsia-400: oklch(0.74 0.238 322.16);
59
+ --color-fuchsia-500: oklch(0.667 0.295 322.15);
60
60
  --color-fuchsia-600: oklch(0.591 0.293 322.896);
61
61
  --color-fuchsia-700: oklch(0.518 0.253 323.949);
62
62
  --color-fuchsia-800: oklch(0.452 0.211 324.591);
63
- --color-fuchsia-900: oklch(0.401 0.170 325.612);
63
+ --color-fuchsia-900: oklch(0.401 0.17 325.612);
64
64
  --color-fuchsia-950: oklch(0.293 0.136 325.661);
65
65
  --color-gray-50: oklch(0.985 0.002 247.839);
66
66
  --color-gray-100: oklch(0.967 0.003 264.542);
67
67
  --color-gray-200: oklch(0.928 0.006 264.531);
68
- --color-gray-300: oklch(0.872 0.010 258.338);
68
+ --color-gray-300: oklch(0.872 0.01 258.338);
69
69
  --color-gray-400: oklch(0.707 0.022 261.325);
70
70
  --color-gray-500: oklch(0.556 0.022 264.364);
71
- --color-gray-600: oklch(0.439 0.020 264.531);
71
+ --color-gray-600: oklch(0.439 0.02 264.531);
72
72
  --color-gray-700: oklch(0.373 0.014 264.542);
73
- --color-gray-800: oklch(0.279 0.010 264.542);
73
+ --color-gray-800: oklch(0.279 0.01 264.542);
74
74
  --color-gray-900: oklch(0.208 0.006 264.542);
75
75
  --color-gray-950: oklch(0.145 0.005 264.542);
76
76
  --color-green-50: oklch(0.982 0.018 155.826);
77
77
  --color-green-100: oklch(0.962 0.044 156.743);
78
78
  --color-green-200: oklch(0.925 0.084 155.995);
79
- --color-green-300: oklch(0.871 0.150 154.449);
79
+ --color-green-300: oklch(0.871 0.15 154.449);
80
80
  --color-green-400: oklch(0.792 0.209 151.711);
81
81
  --color-green-500: oklch(0.723 0.219 149.579);
82
82
  --color-green-600: oklch(0.627 0.194 149.214);
@@ -85,42 +85,42 @@
85
85
  --color-green-900: oklch(0.393 0.095 152.535);
86
86
  --color-green-950: oklch(0.266 0.065 152.934);
87
87
  --color-indigo-50: oklch(0.962 0.018 272.314);
88
- --color-indigo-100: oklch(0.930 0.034 272.788);
89
- --color-indigo-200: oklch(0.870 0.065 274.039);
88
+ --color-indigo-100: oklch(0.93 0.034 272.788);
89
+ --color-indigo-200: oklch(0.87 0.065 274.039);
90
90
  --color-indigo-300: oklch(0.785 0.115 274.713);
91
91
  --color-indigo-400: oklch(0.673 0.182 276.935);
92
92
  --color-indigo-500: oklch(0.585 0.233 277.117);
93
93
  --color-indigo-600: oklch(0.511 0.262 276.966);
94
- --color-indigo-700: oklch(0.457 0.240 277.023);
94
+ --color-indigo-700: oklch(0.457 0.24 277.023);
95
95
  --color-indigo-800: oklch(0.398 0.195 277.366);
96
96
  --color-indigo-900: oklch(0.359 0.144 278.697);
97
- --color-indigo-950: oklch(0.257 0.090 281.288);
97
+ --color-indigo-950: oklch(0.257 0.09 281.288);
98
98
  --color-lime-50: oklch(0.986 0.031 120.757);
99
99
  --color-lime-100: oklch(0.967 0.067 122.328);
100
100
  --color-lime-200: oklch(0.938 0.127 124.321);
101
101
  --color-lime-300: oklch(0.897 0.196 126.665);
102
- --color-lime-400: oklch(0.841 0.238 128.850);
103
- --color-lime-500: oklch(0.768 0.233 130.850);
104
- --color-lime-600: oklch(0.648 0.200 131.684);
102
+ --color-lime-400: oklch(0.841 0.238 128.85);
103
+ --color-lime-500: oklch(0.768 0.233 130.85);
104
+ --color-lime-600: oklch(0.648 0.2 131.684);
105
105
  --color-lime-700: oklch(0.532 0.157 131.589);
106
106
  --color-lime-800: oklch(0.453 0.124 130.933);
107
107
  --color-lime-900: oklch(0.405 0.101 131.063);
108
108
  --color-lime-950: oklch(0.274 0.072 132.109);
109
- --color-orange-50: oklch(0.980 0.016 73.684);
109
+ --color-orange-50: oklch(0.98 0.016 73.684);
110
110
  --color-orange-100: oklch(0.954 0.038 75.164);
111
111
  --color-orange-200: oklch(0.901 0.076 70.697);
112
- --color-orange-300: oklch(0.837 0.128 66.290);
113
- --color-orange-400: oklch(0.750 0.183 55.934);
112
+ --color-orange-300: oklch(0.837 0.128 66.29);
113
+ --color-orange-400: oklch(0.75 0.183 55.934);
114
114
  --color-orange-500: oklch(0.705 0.213 47.604);
115
115
  --color-orange-600: oklch(0.646 0.222 41.116);
116
116
  --color-orange-700: oklch(0.553 0.195 38.402);
117
- --color-orange-800: oklch(0.470 0.157 37.304);
117
+ --color-orange-800: oklch(0.47 0.157 37.304);
118
118
  --color-orange-900: oklch(0.408 0.123 38.172);
119
119
  --color-orange-950: oklch(0.266 0.079 36.259);
120
120
  --color-pink-50: oklch(0.971 0.014 343.198);
121
121
  --color-pink-100: oklch(0.948 0.028 342.258);
122
122
  --color-pink-200: oklch(0.899 0.061 343.231);
123
- --color-pink-300: oklch(0.823 0.120 346.018);
123
+ --color-pink-300: oklch(0.823 0.12 346.018);
124
124
  --color-pink-400: oklch(0.718 0.202 349.761);
125
125
  --color-pink-500: oklch(0.656 0.241 354.308);
126
126
  --color-pink-600: oklch(0.592 0.249 0.584);
@@ -133,13 +133,13 @@
133
133
  --color-purple-200: oklch(0.902 0.063 306.703);
134
134
  --color-purple-300: oklch(0.827 0.119 306.383);
135
135
  --color-purple-400: oklch(0.714 0.203 305.504);
136
- --color-purple-500: oklch(0.627 0.265 303.900);
136
+ --color-purple-500: oklch(0.627 0.265 303.9);
137
137
  --color-purple-600: oklch(0.558 0.288 302.321);
138
138
  --color-purple-700: oklch(0.496 0.265 301.924);
139
139
  --color-purple-800: oklch(0.438 0.218 303.724);
140
140
  --color-purple-900: oklch(0.381 0.176 304.987);
141
141
  --color-purple-950: oklch(0.291 0.149 302.717);
142
- --color-red-50: oklch(0.971 0.013 17.380);
142
+ --color-red-50: oklch(0.971 0.013 17.38);
143
143
  --color-red-100: oklch(0.936 0.032 17.717);
144
144
  --color-red-200: oklch(0.885 0.062 18.334);
145
145
  --color-red-300: oklch(0.808 0.114 19.571);
@@ -151,45 +151,45 @@
151
151
  --color-red-900: oklch(0.396 0.141 25.723);
152
152
  --color-red-950: oklch(0.258 0.092 26.042);
153
153
  --color-rose-50: oklch(0.969 0.015 12.422);
154
- --color-rose-100: oklch(0.941 0.030 12.580);
154
+ --color-rose-100: oklch(0.941 0.03 12.58);
155
155
  --color-rose-200: oklch(0.892 0.058 10.001);
156
- --color-rose-300: oklch(0.810 0.101 2.432);
156
+ --color-rose-300: oklch(0.81 0.101 2.432);
157
157
  --color-rose-400: oklch(0.712 0.194 13.428);
158
158
  --color-rose-500: oklch(0.645 0.246 16.439);
159
159
  --color-rose-600: oklch(0.586 0.253 17.585);
160
160
  --color-rose-700: oklch(0.514 0.222 16.935);
161
161
  --color-rose-800: oklch(0.455 0.188 13.697);
162
- --color-rose-900: oklch(0.410 0.159 10.272);
162
+ --color-rose-900: oklch(0.41 0.159 10.272);
163
163
  --color-rose-950: oklch(0.271 0.105 12.094);
164
- --color-sienna-50: oklch(0.973 0.012 22.0);
164
+ --color-sienna-50: oklch(0.973 0.012 22);
165
165
  --color-sienna-100: oklch(0.945 0.028 22.5);
166
- --color-sienna-200: oklch(0.900 0.060 23.5);
167
- --color-sienna-300: oklch(0.832 0.108 25.0);
168
- --color-sienna-400: oklch(0.727 0.160 25.5);
169
- --color-sienna-500: oklch(0.630 0.198 24.0);
170
- --color-sienna-600: oklch(0.530 0.195 22.0);
171
- --color-sienna-700: oklch(0.450 0.170 20.0);
172
- --color-sienna-800: oklch(0.380 0.136 18.0);
173
- --color-sienna-900: oklch(0.322 0.106 16.0);
174
- --color-sienna-950: oklch(0.218 0.072 15.0);
175
- --color-sky-50: oklch(0.977 0.013 236.620);
166
+ --color-sienna-200: oklch(0.9 0.06 23.5);
167
+ --color-sienna-300: oklch(0.832 0.108 25);
168
+ --color-sienna-400: oklch(0.727 0.16 25.5);
169
+ --color-sienna-500: oklch(0.63 0.198 24);
170
+ --color-sienna-600: oklch(0.53 0.195 22);
171
+ --color-sienna-700: oklch(0.45 0.17 20);
172
+ --color-sienna-800: oklch(0.38 0.136 18);
173
+ --color-sienna-900: oklch(0.322 0.106 16);
174
+ --color-sienna-950: oklch(0.218 0.072 15);
175
+ --color-sky-50: oklch(0.977 0.013 236.62);
176
176
  --color-sky-100: oklch(0.951 0.026 236.824);
177
177
  --color-sky-200: oklch(0.901 0.058 230.902);
178
178
  --color-sky-300: oklch(0.828 0.111 230.318);
179
- --color-sky-400: oklch(0.746 0.160 232.661);
179
+ --color-sky-400: oklch(0.746 0.16 232.661);
180
180
  --color-sky-500: oklch(0.685 0.169 237.323);
181
181
  --color-sky-600: oklch(0.588 0.158 241.966);
182
- --color-sky-700: oklch(0.500 0.134 242.749);
183
- --color-sky-800: oklch(0.443 0.110 240.790);
184
- --color-sky-900: oklch(0.391 0.090 240.876);
182
+ --color-sky-700: oklch(0.5 0.134 242.749);
183
+ --color-sky-800: oklch(0.443 0.11 240.79);
184
+ --color-sky-900: oklch(0.391 0.09 240.876);
185
185
  --color-sky-950: oklch(0.293 0.066 243.157);
186
- --color-teal-50: oklch(0.984 0.014 180.720);
186
+ --color-teal-50: oklch(0.984 0.014 180.72);
187
187
  --color-teal-100: oklch(0.953 0.051 180.801);
188
- --color-teal-200: oklch(0.910 0.096 180.426);
188
+ --color-teal-200: oklch(0.91 0.096 180.426);
189
189
  --color-teal-300: oklch(0.855 0.138 181.071);
190
190
  --color-teal-400: oklch(0.777 0.152 181.912);
191
- --color-teal-500: oklch(0.704 0.140 182.503);
192
- --color-teal-600: oklch(0.600 0.118 184.704);
191
+ --color-teal-500: oklch(0.704 0.14 182.503);
192
+ --color-teal-600: oklch(0.6 0.118 184.704);
193
193
  --color-teal-700: oklch(0.511 0.096 186.391);
194
194
  --color-teal-800: oklch(0.437 0.078 188.216);
195
195
  --color-teal-900: oklch(0.386 0.063 188.416);
@@ -199,15 +199,15 @@
199
199
  --color-violet-200: oklch(0.894 0.057 293.283);
200
200
  --color-violet-300: oklch(0.811 0.111 293.571);
201
201
  --color-violet-400: oklch(0.702 0.183 293.541);
202
- --color-violet-500: oklch(0.606 0.250 292.717);
202
+ --color-violet-500: oklch(0.606 0.25 292.717);
203
203
  --color-violet-600: oklch(0.541 0.281 293.009);
204
- --color-violet-700: oklch(0.491 0.270 292.581);
204
+ --color-violet-700: oklch(0.491 0.27 292.581);
205
205
  --color-violet-800: oklch(0.432 0.232 292.222);
206
- --color-violet-900: oklch(0.380 0.189 293.745);
206
+ --color-violet-900: oklch(0.38 0.189 293.745);
207
207
  --color-violet-950: oklch(0.283 0.141 291.089);
208
208
  --color-yellow-50: oklch(0.987 0.026 102.212);
209
209
  --color-yellow-100: oklch(0.973 0.071 103.193);
210
- --color-yellow-200: oklch(0.945 0.129 101.540);
210
+ --color-yellow-200: oklch(0.945 0.129 101.54);
211
211
  --color-yellow-300: oklch(0.905 0.182 98.111);
212
212
  --color-yellow-400: oklch(0.852 0.199 91.936);
213
213
  --color-yellow-500: oklch(0.795 0.184 86.047);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* primitive/font.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --font-family-mono: ui-monospace, monospace;
9
9
  --font-family-sans: system-ui, sans-serif;
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* primitive/shadow.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --shadow-none: 0 0 0 0 transparent;
9
9
  --shadow-sm: 0 1px 2px 0 var(--color-shadow-normal), 0 1px 1px -1px var(--color-shadow-normal);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* primitive/size.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --size-1: 0.0625rem;
9
9
  --size-2: 0.125rem;
@@ -32,7 +32,9 @@
32
32
  --size-28: 1.75rem;
33
33
  --size-30: 1.875rem;
34
34
  --size-32: 2rem;
35
+ --size-36: 2.25rem;
35
36
  --size-40: 2.5rem;
37
+ --size-44: 2.75rem;
36
38
  --size-48: 3rem;
37
39
  --size-50: 3.125rem;
38
40
  --size-52: 3.25rem;
@@ -41,11 +43,15 @@
41
43
  --size-64: 4rem;
42
44
  --size-68: 4.25rem;
43
45
  --size-72: 4.5rem;
46
+ --size-76: 4.75rem;
44
47
  --size-80: 5rem;
45
- --size-88: 5.5rem;
46
48
  --size-96: 6rem;
47
49
  --size-100: 6.25rem;
50
+ --size-112: 7rem;
51
+ --size-128: 8rem;
52
+ --size-144: 9rem;
48
53
  --size-150: 9.375rem;
54
+ --size-160: 10rem;
49
55
  --size-768: 48rem;
50
56
  --size-1024: 64rem;
51
57
  --size-1200: 75rem;
@@ -1,8 +1,6 @@
1
- /* @uncinq/design-tokens — primitive.css */
2
- @layer config;
3
-
4
- @import 'primitive/blur.css';
5
- @import 'primitive/color.css';
6
- @import 'primitive/font.css';
7
- @import 'primitive/shadow.css';
8
- @import 'primitive/size.css';
1
+ /* primitive.css — barrel, do not edit */
2
+ @import "./primitive/blur.css";
3
+ @import "./primitive/color.css";
4
+ @import "./primitive/font.css";
5
+ @import "./primitive/shadow.css";
6
+ @import "./primitive/size.css";
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/blur.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --blur-backdrop: var(--blur-sm);
9
9
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/border.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --border-style-normal: solid;
9
9
  --border-width-none: 0px;
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/color.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --color-accent: var(--color-sienna-600);
9
9
  --color-accent-hover: var(--color-sienna-700);
@@ -80,20 +80,4 @@
80
80
  --color-warning-muted: var(--color-amber-100);
81
81
  --color-warning-strong: var(--color-amber-700);
82
82
  }
83
-
84
- @media (prefers-color-scheme: dark) {
85
- :root:not([data-color-scheme="light"]) {
86
- --color-background: var(--color-gray-950);
87
- --color-background-media: var(--color-gray-800);
88
- --color-background-muted: var(--color-gray-900);
89
- --color-background-muted-hover: var(--color-gray-800);
90
- --color-border: var(--color-gray-800);
91
- --color-heading: var(--color-white);
92
- --color-shadow: var(--color-white);
93
- --color-text: var(--color-gray-200);
94
- --color-text-disabled: var(--color-gray-600);
95
- --color-text-hover: var(--color-gray-300);
96
- --color-text-muted: var(--color-gray-400);
97
- }
98
- }
99
83
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/focus.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --focus-color-outline: var(--color-focus);
9
9
  --focus-outline-offset: 2px;
@@ -3,15 +3,18 @@
3
3
  */
4
4
 
5
5
  /* semantic/form.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --form-border-radius: var(--radius-xs);
9
9
  --form-border-width: var(--border-width-sm);
10
- --form-color-accent: var(--color-black);
10
+ --form-color-accent: var(--color-accent);
11
+ --form-color-accent-hover: var(--color-accent-hover);
12
+ --form-color-accent-muted: var(--color-accent-muted);
11
13
  --form-color-background: var(--color-white);
12
14
  --form-color-border: var(--color-border);
13
15
  --form-color-border-hover: var(--color-border-hover);
14
16
  --form-color-text: var(--color-text);
17
+ --form-color-text-on-accent: var(--color-text-on-accent);
15
18
  --form-padding: var(--spacing-control);
16
19
  --form-shadow: var(--shadow-control);
17
20
  --form-shadow-hover: var(--shadow-control-hover);
@@ -25,7 +28,8 @@
25
28
  --input-color-text: var(--form-color-text);
26
29
  --input-padding: var(--form-padding);
27
30
  --file-button-margin-inline-end: var(--size-12);
28
- --file-button-padding: var(--size-8) var(--size-12);
31
+ --file-button-padding-block: var(--size-6);
32
+ --file-button-padding-inline: var(--size-10);
29
33
  --textarea-border-radius: var(--form-border-radius);
30
34
  --textarea-border-width: var(--form-border-width);
31
35
  --textarea-color-background: var(--form-color-background);
@@ -100,10 +104,4 @@
100
104
  --switch-track-color-checked: var(--form-color-accent);
101
105
  --switch-width: var(--size-40);
102
106
  }
103
-
104
- @media (prefers-color-scheme: dark) {
105
- :root:not([data-color-scheme="light"]) {
106
- --form-color-background: var(--color-gray-900);
107
- }
108
- }
109
107
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/grid.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --columns: 12;
9
9
  --gap: var(--spacing-md);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/icon.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --icon-size: var(--size-16);
9
9
  --icon-arrow: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><line x1=%222%22 y1=%228%22 x2=%2212%22 y2=%228%22/><polyline points=%228 4 12 8 8 12%22/></svg>');
@@ -11,6 +11,7 @@
11
11
  --icon-chevron: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><polyline points=%222 5 8 11 14 5%22/></svg>');
12
12
  --icon-close: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22><line x1=%223%22 y1=%223%22 x2=%2213%22 y2=%2213%22/><line x1=%2213%22 y1=%223%22 x2=%223%22 y2=%2213%22/></svg>');
13
13
  --icon-dash: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 height=%2216%22 width=%2214%22 viewBox=%220 0 448 512%22><path d=%22M431 256c0 17.7-14.3 32-32 32H49c-17.7 0-32-14.3-32-32s14.3-32 32-32h350c17.7 0 32 14.3 32 32z%22/></svg>');
14
+ --icon-external-link: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M10 2h4v4%22/><path d=%22M6.7 9.3 14 2%22/><path d=%22M12 8.7v4a1.3 1.3 0 0 1-1.3 1.3H3.3a1.3 1.3 0 0 1-1.3-1.3V5.3a1.3 1.3 0 0 1 1.3-1.3h4%22/></svg>');
14
15
  --icon-filter: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M1.3 3.3h13.4%22/><path d=%22M4 8h8%22/><path d=%22M6 12.7h4%22/></svg>');
15
16
  --icon-menu: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22><line x1=%222%22 y1=%224%22 x2=%2214%22 y2=%224%22/><line x1=%222%22 y1=%228%22 x2=%2214%22 y2=%228%22/><line x1=%222%22 y1=%2212%22 x2=%2214%22 y2=%2212%22/></svg>');
16
17
  --icon-plus: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221%22 stroke-linecap=%22round%22><line x1=%228%22 y1=%223%22 x2=%228%22 y2=%2213%22/><line x1=%223%22 y1=%228%22 x2=%2213%22 y2=%228%22/></svg>');
@@ -3,20 +3,20 @@
3
3
  */
4
4
 
5
5
  /* semantic/motion.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --duration-fast: 150ms;
9
9
  --duration-normal: 300ms;
10
10
  --duration-slow: 600ms;
11
- --easing-linear: linear;
12
- --easing: ease-in-out;
13
- --easing-in: ease-in;
14
- --easing-out: ease-out;
11
+ --easing: var(--easing-in-out);
12
+ --easing-linear: cubic-bezier(0, 0, 1, 1);
13
+ --easing-in: cubic-bezier(0.42, 0, 1, 1);
14
+ --easing-out: cubic-bezier(0, 0, 0.58, 1);
15
+ --easing-in-out: cubic-bezier(0.42, 0, 0.58, 1);
15
16
  --easing-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
16
17
  --easing-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
17
18
  --easing-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
18
19
  --easing-bounce: cubic-bezier(0.165, 0.84, 0.44, 1);
19
- --easing-spring: linear(0, 0.006, 0.025 2.8%, 0.101, 0.197, 0.325, 0.474, 0.638, 0.806, 0.962, 1.065, 1.12, 1.14, 1.12 30.9%, 1.034, 0.997, 0.986, 0.998, 1);
20
20
  --transition-fast: all var(--duration-fast) var(--easing);
21
21
  --transition-normal: all var(--duration-normal) var(--easing);
22
22
  --transition-slow: all var(--duration-slow) var(--easing);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/opacity.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --opacity-backdrop: 0.5;
9
9
  --opacity-disabled: 0.5;
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/radius.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --radius-2xs: var(--size-2);
9
9
  --radius-xs: var(--size-4);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/ratio.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --ratio-cinema: 21 / 9;
9
9
  --ratio-hero: 4 / 1;
@@ -11,6 +11,7 @@
11
11
  --ratio-photography: 3 / 2;
12
12
  --ratio-portrait: 3 / 4;
13
13
  --ratio-print: 5 / 4;
14
+ --ratio-social: 4 / 5;
14
15
  --ratio-square: 1 / 1;
15
16
  --ratio-story: 9 / 16;
16
17
  --ratio-video: 16 / 9;
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/shadow.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --shadow-control: var(--shadow-none);
9
9
  --shadow-control-hover: var(--shadow-none);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/size.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --size-tablet: var(--size-768);
9
9
  --size-tablet-wide: var(--size-1024);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/spacing.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --spacing-2xs: var(--size-5);
9
9
  --spacing-xs: var(--size-10);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/typography.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --font-family-code: var(--font-family-mono);
9
9
  --font-family-heading: var(--font-family-sans);
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  /* semantic/z-index.css */
6
- @layer config {
6
+ @layer tokens {
7
7
  :root {
8
8
  --z-index-below: -1;
9
9
  --z-index-base: 0;