@cooud-ui/tokens 0.1.0 → 0.2.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/README.md CHANGED
@@ -14,7 +14,7 @@ Cooud color/typography/elevation scale in your own components.
14
14
 
15
15
  ## Install
16
16
 
17
- > Published on npm under the `@cooud` scope (available once `v0.1.0` is released).
17
+ > Published on npm under the `@cooud-ui` scope.
18
18
 
19
19
  ```sh
20
20
  # npm
@@ -100,8 +100,8 @@ Exports: `themes`, `themeNames`, `modes`, `defaultTheme`, `defaultMode`,
100
100
  **Neutral** — each with `light` and `dark` modes.
101
101
 
102
102
  The generated `styles/tokens.css` and `preset/` are checked in. After editing
103
- `src/tokens.ts`, regenerate them with `tokens:generate`; CI verifies they are in
104
- sync with `tokens:check`.
103
+ `src/tokens.ts`, regenerate them with `tokens:generate`; verify they are in sync
104
+ with `tokens:check`.
105
105
 
106
106
  ## Related packages
107
107
 
package/dist/tokens.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  * Values are cherry-picked from the premium Aurora language (cooud-workforce /
10
10
  * cooud-exchange) and the Neutral language (dashboard / refund / status).
11
11
  */
12
- export type ThemeName = "aurora" | "neutral";
12
+ export type ThemeName = "aurora" | "neutral" | "midnight" | "sunset" | "emerald";
13
13
  export type Mode = "light" | "dark";
14
14
  export interface ThemeTokens {
15
15
  primary: string;
package/dist/tokens.js CHANGED
@@ -151,11 +151,117 @@ const neutralDark = {
151
151
  error: "oklch(0.704 0.191 22.216)",
152
152
  shadowGlow: "0 0 0 4px oklch(0.6 0 0 / 0.3)",
153
153
  };
154
+ /*
155
+ * Brand presets — each spreads the matching Aurora base (keeping its WCAG-tuned
156
+ * surface / fg / border ramps) and overrides ONLY the brand-relative tokens:
157
+ * primary, accent, their foregrounds, ring, the chart ramp, the brand-hued glow,
158
+ * and a hue-matched info/success tint. This keeps a11y proven while making each
159
+ * preset visually distinct.
160
+ */
161
+ // Midnight — deep indigo → violet, premium dark-first.
162
+ const midnightDark = {
163
+ ...auroraDark,
164
+ primary: "oklch(0.55 0.205 280)", // indigo #6158e4
165
+ primaryForeground: "oklch(0.985 0.005 285)",
166
+ accent: "oklch(0.53 0.2 292)", // violet #734ad3
167
+ accentForeground: "oklch(0.985 0.005 285)",
168
+ ring: "oklch(0.55 0.205 280)",
169
+ info: "oklch(0.62 0.16 280)", // indigo-tinted info
170
+ chart1: "oklch(0.55 0.205 280)",
171
+ chart2: "oklch(0.6 0.2 295)",
172
+ chart3: "oklch(0.66 0.2 300)", // #a76ef8
173
+ chart4: "oklch(0.62 0.19 268)",
174
+ chart5: "oklch(0.7 0.16 315)",
175
+ shadowGlow: "0 12px 32px rgba(97,88,228,0.34)",
176
+ };
177
+ const midnightLight = {
178
+ ...auroraLight,
179
+ primary: "oklch(0.55 0.205 280)",
180
+ primaryForeground: "oklch(0.985 0.005 285)",
181
+ accent: "oklch(0.53 0.2 292)",
182
+ accentForeground: "oklch(0.985 0.005 285)",
183
+ ring: "oklch(0.55 0.205 280)",
184
+ info: "oklch(0.5 0.17 280)",
185
+ chart1: "oklch(0.55 0.205 280)",
186
+ chart2: "oklch(0.6 0.2 295)",
187
+ chart3: "oklch(0.66 0.2 300)",
188
+ chart4: "oklch(0.62 0.19 268)",
189
+ chart5: "oklch(0.7 0.16 315)",
190
+ shadowGlow: "0 12px 32px rgba(97,88,228,0.24)",
191
+ };
192
+ // Sunset — warm amber → rose, energetic.
193
+ const sunsetDark = {
194
+ ...auroraDark,
195
+ primary: "oklch(0.78 0.16 65)", // amber #fc9f30
196
+ primaryForeground: "oklch(0.24 0.05 55)",
197
+ accent: "oklch(0.585 0.22 18)", // rose #e01f47
198
+ accentForeground: "oklch(0.99 0.01 40)",
199
+ ring: "oklch(0.78 0.16 65)",
200
+ success: "oklch(0.74 0.16 130)", // warm-leaning green to fit the palette
201
+ info: "oklch(0.72 0.13 55)", // amber-tinted info
202
+ chart1: "oklch(0.78 0.16 65)",
203
+ chart2: "oklch(0.7 0.19 40)",
204
+ chart3: "oklch(0.585 0.22 18)", // #e01f47
205
+ chart4: "oklch(0.82 0.16 85)",
206
+ chart5: "oklch(0.66 0.18 4)",
207
+ shadowGlow: "0 12px 32px rgba(252,159,48,0.34)",
208
+ };
209
+ const sunsetLight = {
210
+ ...auroraLight,
211
+ primary: "oklch(0.78 0.16 65)",
212
+ primaryForeground: "oklch(0.24 0.05 55)",
213
+ accent: "oklch(0.585 0.22 18)",
214
+ accentForeground: "oklch(0.99 0.01 40)",
215
+ ring: "oklch(0.78 0.16 65)",
216
+ success: "oklch(0.55 0.15 130)",
217
+ info: "oklch(0.55 0.13 55)",
218
+ chart1: "oklch(0.7 0.16 60)",
219
+ chart2: "oklch(0.62 0.19 40)",
220
+ chart3: "oklch(0.585 0.22 18)",
221
+ chart4: "oklch(0.76 0.16 85)",
222
+ chart5: "oklch(0.58 0.18 4)",
223
+ shadowGlow: "0 12px 32px rgba(252,159,48,0.24)",
224
+ };
225
+ // Emerald — fresh green → teal.
226
+ const emeraldDark = {
227
+ ...auroraDark,
228
+ primary: "oklch(0.74 0.16 160)", // green #23c987
229
+ primaryForeground: "oklch(0.2 0.04 160)",
230
+ accent: "oklch(0.76 0.12 185)", // teal #3bcabb
231
+ accentForeground: "oklch(0.2 0.04 185)",
232
+ ring: "oklch(0.74 0.16 160)",
233
+ info: "oklch(0.74 0.12 185)", // teal-tinted info
234
+ chart1: "oklch(0.74 0.16 160)",
235
+ chart2: "oklch(0.76 0.12 185)",
236
+ chart3: "oklch(0.68 0.15 145)",
237
+ chart4: "oklch(0.7 0.13 200)",
238
+ chart5: "oklch(0.8 0.15 130)",
239
+ shadowGlow: "0 12px 32px rgba(35,201,135,0.34)",
240
+ };
241
+ const emeraldLight = {
242
+ ...auroraLight,
243
+ primary: "oklch(0.74 0.16 160)",
244
+ primaryForeground: "oklch(0.2 0.04 160)",
245
+ accent: "oklch(0.76 0.12 185)",
246
+ accentForeground: "oklch(0.2 0.04 185)",
247
+ ring: "oklch(0.74 0.16 160)",
248
+ success: "oklch(0.52 0.14 160)",
249
+ info: "oklch(0.52 0.11 185)",
250
+ chart1: "oklch(0.6 0.15 160)",
251
+ chart2: "oklch(0.62 0.11 185)",
252
+ chart3: "oklch(0.55 0.14 145)",
253
+ chart4: "oklch(0.58 0.12 200)",
254
+ chart5: "oklch(0.68 0.14 130)",
255
+ shadowGlow: "0 12px 32px rgba(35,201,135,0.22)",
256
+ };
154
257
  export const themes = {
155
258
  aurora: { light: auroraLight, dark: auroraDark },
156
259
  neutral: { light: neutralLight, dark: neutralDark },
260
+ midnight: { light: midnightLight, dark: midnightDark },
261
+ sunset: { light: sunsetLight, dark: sunsetDark },
262
+ emerald: { light: emeraldLight, dark: emeraldDark },
157
263
  };
158
- export const themeNames = ["aurora", "neutral"];
264
+ export const themeNames = ["aurora", "neutral", "midnight", "sunset", "emerald"];
159
265
  export const modes = ["light", "dark"];
160
266
  export const defaultTheme = "aurora";
161
267
  export const defaultMode = "dark";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cooud-ui/tokens",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Cooud design tokens — source of truth (TS) + CSS variable bridge + Tailwind v4 preset.",
5
5
  "type": "module",
6
6
  "exports": {
package/styles/tokens.css CHANGED
@@ -181,6 +181,219 @@
181
181
  --cooud-shadow-glow: 0 0 0 4px oklch(0.6 0 0 / 0.3);
182
182
  }
183
183
 
184
+ /*
185
+ * Brand presets — each spreads the Aurora ramp (proven WCAG-AA surfaces / fg /
186
+ * borders) and overrides only the brand-relative tokens. Authored light-first
187
+ * (base block = light) with a dark delta, matching the Neutral cascade shape.
188
+ */
189
+
190
+ /* Midnight preset — light base; dark delta below. */
191
+ [data-cooud-theme="midnight"] {
192
+ color-scheme: light;
193
+ --cooud-primary: oklch(0.55 0.205 280);
194
+ --cooud-primary-foreground: oklch(0.985 0.005 285);
195
+ --cooud-accent: oklch(0.53 0.2 292);
196
+ --cooud-accent-foreground: oklch(0.985 0.005 285);
197
+ --cooud-surface-base: oklch(1 0 0);
198
+ --cooud-surface-inset: oklch(0.985 0 0);
199
+ --cooud-surface-raised: oklch(1 0 0);
200
+ --cooud-surface-overlay: oklch(0.967 0.001 286);
201
+ --cooud-surface-elevated: oklch(1 0 0);
202
+ --cooud-surface-floating: oklch(1 0 0);
203
+ --cooud-fg: oklch(0.235 0.006 285.9);
204
+ --cooud-fg-secondary: oklch(0.442 0.013 286);
205
+ --cooud-fg-tertiary: oklch(0.552 0.014 286);
206
+ --cooud-fg-muted: oklch(0.705 0.015 286);
207
+ --cooud-fg-inverse: oklch(0.985 0.001 106.4);
208
+ --cooud-border: oklch(0 0 0 / 0.1);
209
+ --cooud-border-strong: oklch(0 0 0 / 0.14);
210
+ --cooud-border-soft: oklch(0 0 0 / 0.06);
211
+ --cooud-ring: oklch(0.55 0.205 280);
212
+ --cooud-success: oklch(0.52 0.15 162);
213
+ --cooud-warning: oklch(0.52 0.12 70);
214
+ --cooud-error: oklch(0.55 0.2 25);
215
+ --cooud-info: oklch(0.5 0.17 280);
216
+ --cooud-radius: 14px;
217
+ --cooud-chart-1: oklch(0.55 0.205 280);
218
+ --cooud-chart-2: oklch(0.6 0.2 295);
219
+ --cooud-chart-3: oklch(0.66 0.2 300);
220
+ --cooud-chart-4: oklch(0.62 0.19 268);
221
+ --cooud-chart-5: oklch(0.7 0.16 315);
222
+ --cooud-shadow-xs: 0 1px 2px rgba(16, 24, 40, 0.06);
223
+ --cooud-shadow-sm: 0 2px 4px rgba(16, 24, 40, 0.08);
224
+ --cooud-shadow-md: 0 6px 12px rgba(16, 24, 40, 0.1), 0 2px 4px rgba(16, 24, 40, 0.06);
225
+ --cooud-shadow-lg: 0 12px 24px rgba(16, 24, 40, 0.12), 0 4px 8px rgba(16, 24, 40, 0.08);
226
+ --cooud-shadow-glow: 0 12px 32px rgba(97, 88, 228, 0.24);
227
+ }
228
+
229
+ [data-cooud-theme="midnight"][data-cooud-mode="dark"] {
230
+ color-scheme: dark;
231
+ --cooud-surface-base: oklch(0.145 0.005 285.8);
232
+ --cooud-surface-inset: oklch(0.165 0.005 285.8);
233
+ --cooud-surface-raised: oklch(0.195 0.005 285.8);
234
+ --cooud-surface-overlay: oklch(0.235 0.006 285.9);
235
+ --cooud-surface-elevated: oklch(0.27 0.006 286);
236
+ --cooud-surface-floating: oklch(0.2 0.006 286);
237
+ --cooud-fg: oklch(0.985 0.001 106.4);
238
+ --cooud-fg-secondary: oklch(0.705 0.015 286);
239
+ --cooud-fg-tertiary: oklch(0.62 0.014 286);
240
+ --cooud-fg-muted: oklch(0.442 0.013 286);
241
+ --cooud-fg-inverse: oklch(0.235 0.006 285.9);
242
+ --cooud-border: oklch(1 0 0 / 0.1);
243
+ --cooud-border-strong: oklch(1 0 0 / 0.14);
244
+ --cooud-border-soft: oklch(1 0 0 / 0.06);
245
+ --cooud-success: oklch(0.715 0.155 162.5);
246
+ --cooud-warning: oklch(0.769 0.166 70.08);
247
+ --cooud-error: oklch(0.645 0.222 16.44);
248
+ --cooud-info: oklch(0.62 0.16 280);
249
+ --cooud-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
250
+ --cooud-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.22);
251
+ --cooud-shadow-md: 0 6px 12px rgba(0, 0, 0, 0.24), 0 2px 4px rgba(0, 0, 0, 0.16);
252
+ --cooud-shadow-lg: 0 12px 24px rgba(0, 0, 0, 0.28), 0 4px 8px rgba(0, 0, 0, 0.18);
253
+ --cooud-shadow-glow: 0 12px 32px rgba(97, 88, 228, 0.34);
254
+ }
255
+
256
+ /* Sunset preset — light base; dark delta below. */
257
+ [data-cooud-theme="sunset"] {
258
+ color-scheme: light;
259
+ --cooud-primary: oklch(0.78 0.16 65);
260
+ --cooud-primary-foreground: oklch(0.24 0.05 55);
261
+ --cooud-accent: oklch(0.585 0.22 18);
262
+ --cooud-accent-foreground: oklch(0.99 0.01 40);
263
+ --cooud-surface-base: oklch(1 0 0);
264
+ --cooud-surface-inset: oklch(0.985 0 0);
265
+ --cooud-surface-raised: oklch(1 0 0);
266
+ --cooud-surface-overlay: oklch(0.967 0.001 286);
267
+ --cooud-surface-elevated: oklch(1 0 0);
268
+ --cooud-surface-floating: oklch(1 0 0);
269
+ --cooud-fg: oklch(0.235 0.006 285.9);
270
+ --cooud-fg-secondary: oklch(0.442 0.013 286);
271
+ --cooud-fg-tertiary: oklch(0.552 0.014 286);
272
+ --cooud-fg-muted: oklch(0.705 0.015 286);
273
+ --cooud-fg-inverse: oklch(0.985 0.001 106.4);
274
+ --cooud-border: oklch(0 0 0 / 0.1);
275
+ --cooud-border-strong: oklch(0 0 0 / 0.14);
276
+ --cooud-border-soft: oklch(0 0 0 / 0.06);
277
+ --cooud-ring: oklch(0.78 0.16 65);
278
+ --cooud-success: oklch(0.55 0.15 130);
279
+ --cooud-warning: oklch(0.52 0.12 70);
280
+ --cooud-error: oklch(0.55 0.2 25);
281
+ --cooud-info: oklch(0.55 0.13 55);
282
+ --cooud-radius: 14px;
283
+ --cooud-chart-1: oklch(0.7 0.16 60);
284
+ --cooud-chart-2: oklch(0.62 0.19 40);
285
+ --cooud-chart-3: oklch(0.585 0.22 18);
286
+ --cooud-chart-4: oklch(0.76 0.16 85);
287
+ --cooud-chart-5: oklch(0.58 0.18 4);
288
+ --cooud-shadow-xs: 0 1px 2px rgba(16, 24, 40, 0.06);
289
+ --cooud-shadow-sm: 0 2px 4px rgba(16, 24, 40, 0.08);
290
+ --cooud-shadow-md: 0 6px 12px rgba(16, 24, 40, 0.1), 0 2px 4px rgba(16, 24, 40, 0.06);
291
+ --cooud-shadow-lg: 0 12px 24px rgba(16, 24, 40, 0.12), 0 4px 8px rgba(16, 24, 40, 0.08);
292
+ --cooud-shadow-glow: 0 12px 32px rgba(252, 159, 48, 0.24);
293
+ }
294
+
295
+ [data-cooud-theme="sunset"][data-cooud-mode="dark"] {
296
+ color-scheme: dark;
297
+ --cooud-surface-base: oklch(0.145 0.005 285.8);
298
+ --cooud-surface-inset: oklch(0.165 0.005 285.8);
299
+ --cooud-surface-raised: oklch(0.195 0.005 285.8);
300
+ --cooud-surface-overlay: oklch(0.235 0.006 285.9);
301
+ --cooud-surface-elevated: oklch(0.27 0.006 286);
302
+ --cooud-surface-floating: oklch(0.2 0.006 286);
303
+ --cooud-fg: oklch(0.985 0.001 106.4);
304
+ --cooud-fg-secondary: oklch(0.705 0.015 286);
305
+ --cooud-fg-tertiary: oklch(0.62 0.014 286);
306
+ --cooud-fg-muted: oklch(0.442 0.013 286);
307
+ --cooud-fg-inverse: oklch(0.235 0.006 285.9);
308
+ --cooud-border: oklch(1 0 0 / 0.1);
309
+ --cooud-border-strong: oklch(1 0 0 / 0.14);
310
+ --cooud-border-soft: oklch(1 0 0 / 0.06);
311
+ --cooud-success: oklch(0.74 0.16 130);
312
+ --cooud-warning: oklch(0.769 0.166 70.08);
313
+ --cooud-error: oklch(0.645 0.222 16.44);
314
+ --cooud-info: oklch(0.72 0.13 55);
315
+ --cooud-chart-1: oklch(0.78 0.16 65);
316
+ --cooud-chart-2: oklch(0.7 0.19 40);
317
+ --cooud-chart-4: oklch(0.82 0.16 85);
318
+ --cooud-chart-5: oklch(0.66 0.18 4);
319
+ --cooud-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
320
+ --cooud-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.22);
321
+ --cooud-shadow-md: 0 6px 12px rgba(0, 0, 0, 0.24), 0 2px 4px rgba(0, 0, 0, 0.16);
322
+ --cooud-shadow-lg: 0 12px 24px rgba(0, 0, 0, 0.28), 0 4px 8px rgba(0, 0, 0, 0.18);
323
+ --cooud-shadow-glow: 0 12px 32px rgba(252, 159, 48, 0.34);
324
+ }
325
+
326
+ /* Emerald preset — light base; dark delta below. */
327
+ [data-cooud-theme="emerald"] {
328
+ color-scheme: light;
329
+ --cooud-primary: oklch(0.74 0.16 160);
330
+ --cooud-primary-foreground: oklch(0.2 0.04 160);
331
+ --cooud-accent: oklch(0.76 0.12 185);
332
+ --cooud-accent-foreground: oklch(0.2 0.04 185);
333
+ --cooud-surface-base: oklch(1 0 0);
334
+ --cooud-surface-inset: oklch(0.985 0 0);
335
+ --cooud-surface-raised: oklch(1 0 0);
336
+ --cooud-surface-overlay: oklch(0.967 0.001 286);
337
+ --cooud-surface-elevated: oklch(1 0 0);
338
+ --cooud-surface-floating: oklch(1 0 0);
339
+ --cooud-fg: oklch(0.235 0.006 285.9);
340
+ --cooud-fg-secondary: oklch(0.442 0.013 286);
341
+ --cooud-fg-tertiary: oklch(0.552 0.014 286);
342
+ --cooud-fg-muted: oklch(0.705 0.015 286);
343
+ --cooud-fg-inverse: oklch(0.985 0.001 106.4);
344
+ --cooud-border: oklch(0 0 0 / 0.1);
345
+ --cooud-border-strong: oklch(0 0 0 / 0.14);
346
+ --cooud-border-soft: oklch(0 0 0 / 0.06);
347
+ --cooud-ring: oklch(0.74 0.16 160);
348
+ --cooud-success: oklch(0.52 0.14 160);
349
+ --cooud-warning: oklch(0.52 0.12 70);
350
+ --cooud-error: oklch(0.55 0.2 25);
351
+ --cooud-info: oklch(0.52 0.11 185);
352
+ --cooud-radius: 14px;
353
+ --cooud-chart-1: oklch(0.6 0.15 160);
354
+ --cooud-chart-2: oklch(0.62 0.11 185);
355
+ --cooud-chart-3: oklch(0.55 0.14 145);
356
+ --cooud-chart-4: oklch(0.58 0.12 200);
357
+ --cooud-chart-5: oklch(0.68 0.14 130);
358
+ --cooud-shadow-xs: 0 1px 2px rgba(16, 24, 40, 0.06);
359
+ --cooud-shadow-sm: 0 2px 4px rgba(16, 24, 40, 0.08);
360
+ --cooud-shadow-md: 0 6px 12px rgba(16, 24, 40, 0.1), 0 2px 4px rgba(16, 24, 40, 0.06);
361
+ --cooud-shadow-lg: 0 12px 24px rgba(16, 24, 40, 0.12), 0 4px 8px rgba(16, 24, 40, 0.08);
362
+ --cooud-shadow-glow: 0 12px 32px rgba(35, 201, 135, 0.22);
363
+ }
364
+
365
+ [data-cooud-theme="emerald"][data-cooud-mode="dark"] {
366
+ color-scheme: dark;
367
+ --cooud-surface-base: oklch(0.145 0.005 285.8);
368
+ --cooud-surface-inset: oklch(0.165 0.005 285.8);
369
+ --cooud-surface-raised: oklch(0.195 0.005 285.8);
370
+ --cooud-surface-overlay: oklch(0.235 0.006 285.9);
371
+ --cooud-surface-elevated: oklch(0.27 0.006 286);
372
+ --cooud-surface-floating: oklch(0.2 0.006 286);
373
+ --cooud-fg: oklch(0.985 0.001 106.4);
374
+ --cooud-fg-secondary: oklch(0.705 0.015 286);
375
+ --cooud-fg-tertiary: oklch(0.62 0.014 286);
376
+ --cooud-fg-muted: oklch(0.442 0.013 286);
377
+ --cooud-fg-inverse: oklch(0.235 0.006 285.9);
378
+ --cooud-border: oklch(1 0 0 / 0.1);
379
+ --cooud-border-strong: oklch(1 0 0 / 0.14);
380
+ --cooud-border-soft: oklch(1 0 0 / 0.06);
381
+ --cooud-success: oklch(0.715 0.155 162.5);
382
+ --cooud-warning: oklch(0.769 0.166 70.08);
383
+ --cooud-error: oklch(0.645 0.222 16.44);
384
+ --cooud-info: oklch(0.74 0.12 185);
385
+ --cooud-chart-1: oklch(0.74 0.16 160);
386
+ --cooud-chart-2: oklch(0.76 0.12 185);
387
+ --cooud-chart-3: oklch(0.68 0.15 145);
388
+ --cooud-chart-4: oklch(0.7 0.13 200);
389
+ --cooud-chart-5: oklch(0.8 0.15 130);
390
+ --cooud-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);
391
+ --cooud-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.22);
392
+ --cooud-shadow-md: 0 6px 12px rgba(0, 0, 0, 0.24), 0 2px 4px rgba(0, 0, 0, 0.16);
393
+ --cooud-shadow-lg: 0 12px 24px rgba(0, 0, 0, 0.28), 0 4px 8px rgba(0, 0, 0, 0.18);
394
+ --cooud-shadow-glow: 0 12px 32px rgba(35, 201, 135, 0.34);
395
+ }
396
+
184
397
  /* ------------------------------------------------------------------ *
185
398
  * 2. @theme inline — Tailwind v4 utility bridge
186
399
  * ------------------------------------------------------------------ */
@@ -2,7 +2,7 @@
2
2
  "$comment": "GENERATED by packages/tokens/scripts/build-tokens.ts from src/tokens.ts — do not edit by hand.",
3
3
  "defaultTheme": "aurora",
4
4
  "defaultMode": "dark",
5
- "themes": ["aurora", "neutral"],
5
+ "themes": ["aurora", "neutral", "midnight", "sunset", "emerald"],
6
6
  "modes": ["light", "dark"],
7
7
  "cssVarMap": {
8
8
  "primary": "--cooud-primary",
@@ -203,6 +203,246 @@
203
203
  "shadowLg": "0 12px 24px rgba(16,24,40,0.10), 0 4px 8px rgba(16,24,40,0.06)",
204
204
  "shadowGlow": "0 0 0 4px oklch(0.6 0 0 / 0.3)"
205
205
  }
206
+ },
207
+ "midnight": {
208
+ "light": {
209
+ "primary": "oklch(0.55 0.205 280)",
210
+ "primaryForeground": "oklch(0.985 0.005 285)",
211
+ "accent": "oklch(0.53 0.2 292)",
212
+ "accentForeground": "oklch(0.985 0.005 285)",
213
+ "surfaceBase": "oklch(1 0 0)",
214
+ "surfaceInset": "oklch(0.985 0 0)",
215
+ "surfaceRaised": "oklch(1 0 0)",
216
+ "surfaceOverlay": "oklch(0.967 0.001 286)",
217
+ "surfaceElevated": "oklch(1 0 0)",
218
+ "surfaceFloating": "oklch(1 0 0)",
219
+ "fg": "oklch(0.235 0.006 285.9)",
220
+ "fgSecondary": "oklch(0.442 0.013 286)",
221
+ "fgTertiary": "oklch(0.552 0.014 286)",
222
+ "fgMuted": "oklch(0.705 0.015 286)",
223
+ "fgInverse": "oklch(0.985 0.001 106.4)",
224
+ "border": "oklch(0 0 0 / 0.1)",
225
+ "borderStrong": "oklch(0 0 0 / 0.14)",
226
+ "borderSoft": "oklch(0 0 0 / 0.06)",
227
+ "ring": "oklch(0.55 0.205 280)",
228
+ "success": "oklch(0.52 0.15 162)",
229
+ "warning": "oklch(0.52 0.12 70)",
230
+ "error": "oklch(0.55 0.2 25)",
231
+ "info": "oklch(0.5 0.17 280)",
232
+ "radius": "14px",
233
+ "fontSans": "\"SF Pro Text\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
234
+ "fontDisplay": "\"SF Pro Display\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
235
+ "fontMono": "\"SF Mono\", \"JetBrains Mono\", ui-monospace, Menlo, Consolas, monospace",
236
+ "chart1": "oklch(0.55 0.205 280)",
237
+ "chart2": "oklch(0.6 0.2 295)",
238
+ "chart3": "oklch(0.66 0.2 300)",
239
+ "chart4": "oklch(0.62 0.19 268)",
240
+ "chart5": "oklch(0.7 0.16 315)",
241
+ "shadowXs": "0 1px 2px rgba(16,24,40,0.06)",
242
+ "shadowSm": "0 2px 4px rgba(16,24,40,0.08)",
243
+ "shadowMd": "0 6px 12px rgba(16,24,40,0.10), 0 2px 4px rgba(16,24,40,0.06)",
244
+ "shadowLg": "0 12px 24px rgba(16,24,40,0.12), 0 4px 8px rgba(16,24,40,0.08)",
245
+ "shadowGlow": "0 12px 32px rgba(97,88,228,0.24)"
246
+ },
247
+ "dark": {
248
+ "primary": "oklch(0.55 0.205 280)",
249
+ "primaryForeground": "oklch(0.985 0.005 285)",
250
+ "accent": "oklch(0.53 0.2 292)",
251
+ "accentForeground": "oklch(0.985 0.005 285)",
252
+ "surfaceBase": "oklch(0.145 0.005 285.8)",
253
+ "surfaceInset": "oklch(0.165 0.005 285.8)",
254
+ "surfaceRaised": "oklch(0.195 0.005 285.8)",
255
+ "surfaceOverlay": "oklch(0.235 0.006 285.9)",
256
+ "surfaceElevated": "oklch(0.27 0.006 286)",
257
+ "surfaceFloating": "oklch(0.2 0.006 286)",
258
+ "fg": "oklch(0.985 0.001 106.4)",
259
+ "fgSecondary": "oklch(0.705 0.015 286)",
260
+ "fgTertiary": "oklch(0.62 0.014 286)",
261
+ "fgMuted": "oklch(0.442 0.013 286)",
262
+ "fgInverse": "oklch(0.235 0.006 285.9)",
263
+ "border": "oklch(1 0 0 / 0.1)",
264
+ "borderStrong": "oklch(1 0 0 / 0.14)",
265
+ "borderSoft": "oklch(1 0 0 / 0.06)",
266
+ "ring": "oklch(0.55 0.205 280)",
267
+ "success": "oklch(0.715 0.155 162.5)",
268
+ "warning": "oklch(0.769 0.166 70.08)",
269
+ "error": "oklch(0.645 0.222 16.44)",
270
+ "info": "oklch(0.62 0.16 280)",
271
+ "radius": "14px",
272
+ "fontSans": "\"SF Pro Text\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
273
+ "fontDisplay": "\"SF Pro Display\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
274
+ "fontMono": "\"SF Mono\", \"JetBrains Mono\", ui-monospace, Menlo, Consolas, monospace",
275
+ "chart1": "oklch(0.55 0.205 280)",
276
+ "chart2": "oklch(0.6 0.2 295)",
277
+ "chart3": "oklch(0.66 0.2 300)",
278
+ "chart4": "oklch(0.62 0.19 268)",
279
+ "chart5": "oklch(0.7 0.16 315)",
280
+ "shadowXs": "0 1px 2px rgba(0,0,0,0.20)",
281
+ "shadowSm": "0 2px 4px rgba(0,0,0,0.22)",
282
+ "shadowMd": "0 6px 12px rgba(0,0,0,0.24), 0 2px 4px rgba(0,0,0,0.16)",
283
+ "shadowLg": "0 12px 24px rgba(0,0,0,0.28), 0 4px 8px rgba(0,0,0,0.18)",
284
+ "shadowGlow": "0 12px 32px rgba(97,88,228,0.34)"
285
+ }
286
+ },
287
+ "sunset": {
288
+ "light": {
289
+ "primary": "oklch(0.78 0.16 65)",
290
+ "primaryForeground": "oklch(0.24 0.05 55)",
291
+ "accent": "oklch(0.585 0.22 18)",
292
+ "accentForeground": "oklch(0.99 0.01 40)",
293
+ "surfaceBase": "oklch(1 0 0)",
294
+ "surfaceInset": "oklch(0.985 0 0)",
295
+ "surfaceRaised": "oklch(1 0 0)",
296
+ "surfaceOverlay": "oklch(0.967 0.001 286)",
297
+ "surfaceElevated": "oklch(1 0 0)",
298
+ "surfaceFloating": "oklch(1 0 0)",
299
+ "fg": "oklch(0.235 0.006 285.9)",
300
+ "fgSecondary": "oklch(0.442 0.013 286)",
301
+ "fgTertiary": "oklch(0.552 0.014 286)",
302
+ "fgMuted": "oklch(0.705 0.015 286)",
303
+ "fgInverse": "oklch(0.985 0.001 106.4)",
304
+ "border": "oklch(0 0 0 / 0.1)",
305
+ "borderStrong": "oklch(0 0 0 / 0.14)",
306
+ "borderSoft": "oklch(0 0 0 / 0.06)",
307
+ "ring": "oklch(0.78 0.16 65)",
308
+ "success": "oklch(0.55 0.15 130)",
309
+ "warning": "oklch(0.52 0.12 70)",
310
+ "error": "oklch(0.55 0.2 25)",
311
+ "info": "oklch(0.55 0.13 55)",
312
+ "radius": "14px",
313
+ "fontSans": "\"SF Pro Text\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
314
+ "fontDisplay": "\"SF Pro Display\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
315
+ "fontMono": "\"SF Mono\", \"JetBrains Mono\", ui-monospace, Menlo, Consolas, monospace",
316
+ "chart1": "oklch(0.7 0.16 60)",
317
+ "chart2": "oklch(0.62 0.19 40)",
318
+ "chart3": "oklch(0.585 0.22 18)",
319
+ "chart4": "oklch(0.76 0.16 85)",
320
+ "chart5": "oklch(0.58 0.18 4)",
321
+ "shadowXs": "0 1px 2px rgba(16,24,40,0.06)",
322
+ "shadowSm": "0 2px 4px rgba(16,24,40,0.08)",
323
+ "shadowMd": "0 6px 12px rgba(16,24,40,0.10), 0 2px 4px rgba(16,24,40,0.06)",
324
+ "shadowLg": "0 12px 24px rgba(16,24,40,0.12), 0 4px 8px rgba(16,24,40,0.08)",
325
+ "shadowGlow": "0 12px 32px rgba(252,159,48,0.24)"
326
+ },
327
+ "dark": {
328
+ "primary": "oklch(0.78 0.16 65)",
329
+ "primaryForeground": "oklch(0.24 0.05 55)",
330
+ "accent": "oklch(0.585 0.22 18)",
331
+ "accentForeground": "oklch(0.99 0.01 40)",
332
+ "surfaceBase": "oklch(0.145 0.005 285.8)",
333
+ "surfaceInset": "oklch(0.165 0.005 285.8)",
334
+ "surfaceRaised": "oklch(0.195 0.005 285.8)",
335
+ "surfaceOverlay": "oklch(0.235 0.006 285.9)",
336
+ "surfaceElevated": "oklch(0.27 0.006 286)",
337
+ "surfaceFloating": "oklch(0.2 0.006 286)",
338
+ "fg": "oklch(0.985 0.001 106.4)",
339
+ "fgSecondary": "oklch(0.705 0.015 286)",
340
+ "fgTertiary": "oklch(0.62 0.014 286)",
341
+ "fgMuted": "oklch(0.442 0.013 286)",
342
+ "fgInverse": "oklch(0.235 0.006 285.9)",
343
+ "border": "oklch(1 0 0 / 0.1)",
344
+ "borderStrong": "oklch(1 0 0 / 0.14)",
345
+ "borderSoft": "oklch(1 0 0 / 0.06)",
346
+ "ring": "oklch(0.78 0.16 65)",
347
+ "success": "oklch(0.74 0.16 130)",
348
+ "warning": "oklch(0.769 0.166 70.08)",
349
+ "error": "oklch(0.645 0.222 16.44)",
350
+ "info": "oklch(0.72 0.13 55)",
351
+ "radius": "14px",
352
+ "fontSans": "\"SF Pro Text\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
353
+ "fontDisplay": "\"SF Pro Display\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
354
+ "fontMono": "\"SF Mono\", \"JetBrains Mono\", ui-monospace, Menlo, Consolas, monospace",
355
+ "chart1": "oklch(0.78 0.16 65)",
356
+ "chart2": "oklch(0.7 0.19 40)",
357
+ "chart3": "oklch(0.585 0.22 18)",
358
+ "chart4": "oklch(0.82 0.16 85)",
359
+ "chart5": "oklch(0.66 0.18 4)",
360
+ "shadowXs": "0 1px 2px rgba(0,0,0,0.20)",
361
+ "shadowSm": "0 2px 4px rgba(0,0,0,0.22)",
362
+ "shadowMd": "0 6px 12px rgba(0,0,0,0.24), 0 2px 4px rgba(0,0,0,0.16)",
363
+ "shadowLg": "0 12px 24px rgba(0,0,0,0.28), 0 4px 8px rgba(0,0,0,0.18)",
364
+ "shadowGlow": "0 12px 32px rgba(252,159,48,0.34)"
365
+ }
366
+ },
367
+ "emerald": {
368
+ "light": {
369
+ "primary": "oklch(0.74 0.16 160)",
370
+ "primaryForeground": "oklch(0.2 0.04 160)",
371
+ "accent": "oklch(0.76 0.12 185)",
372
+ "accentForeground": "oklch(0.2 0.04 185)",
373
+ "surfaceBase": "oklch(1 0 0)",
374
+ "surfaceInset": "oklch(0.985 0 0)",
375
+ "surfaceRaised": "oklch(1 0 0)",
376
+ "surfaceOverlay": "oklch(0.967 0.001 286)",
377
+ "surfaceElevated": "oklch(1 0 0)",
378
+ "surfaceFloating": "oklch(1 0 0)",
379
+ "fg": "oklch(0.235 0.006 285.9)",
380
+ "fgSecondary": "oklch(0.442 0.013 286)",
381
+ "fgTertiary": "oklch(0.552 0.014 286)",
382
+ "fgMuted": "oklch(0.705 0.015 286)",
383
+ "fgInverse": "oklch(0.985 0.001 106.4)",
384
+ "border": "oklch(0 0 0 / 0.1)",
385
+ "borderStrong": "oklch(0 0 0 / 0.14)",
386
+ "borderSoft": "oklch(0 0 0 / 0.06)",
387
+ "ring": "oklch(0.74 0.16 160)",
388
+ "success": "oklch(0.52 0.14 160)",
389
+ "warning": "oklch(0.52 0.12 70)",
390
+ "error": "oklch(0.55 0.2 25)",
391
+ "info": "oklch(0.52 0.11 185)",
392
+ "radius": "14px",
393
+ "fontSans": "\"SF Pro Text\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
394
+ "fontDisplay": "\"SF Pro Display\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
395
+ "fontMono": "\"SF Mono\", \"JetBrains Mono\", ui-monospace, Menlo, Consolas, monospace",
396
+ "chart1": "oklch(0.6 0.15 160)",
397
+ "chart2": "oklch(0.62 0.11 185)",
398
+ "chart3": "oklch(0.55 0.14 145)",
399
+ "chart4": "oklch(0.58 0.12 200)",
400
+ "chart5": "oklch(0.68 0.14 130)",
401
+ "shadowXs": "0 1px 2px rgba(16,24,40,0.06)",
402
+ "shadowSm": "0 2px 4px rgba(16,24,40,0.08)",
403
+ "shadowMd": "0 6px 12px rgba(16,24,40,0.10), 0 2px 4px rgba(16,24,40,0.06)",
404
+ "shadowLg": "0 12px 24px rgba(16,24,40,0.12), 0 4px 8px rgba(16,24,40,0.08)",
405
+ "shadowGlow": "0 12px 32px rgba(35,201,135,0.22)"
406
+ },
407
+ "dark": {
408
+ "primary": "oklch(0.74 0.16 160)",
409
+ "primaryForeground": "oklch(0.2 0.04 160)",
410
+ "accent": "oklch(0.76 0.12 185)",
411
+ "accentForeground": "oklch(0.2 0.04 185)",
412
+ "surfaceBase": "oklch(0.145 0.005 285.8)",
413
+ "surfaceInset": "oklch(0.165 0.005 285.8)",
414
+ "surfaceRaised": "oklch(0.195 0.005 285.8)",
415
+ "surfaceOverlay": "oklch(0.235 0.006 285.9)",
416
+ "surfaceElevated": "oklch(0.27 0.006 286)",
417
+ "surfaceFloating": "oklch(0.2 0.006 286)",
418
+ "fg": "oklch(0.985 0.001 106.4)",
419
+ "fgSecondary": "oklch(0.705 0.015 286)",
420
+ "fgTertiary": "oklch(0.62 0.014 286)",
421
+ "fgMuted": "oklch(0.442 0.013 286)",
422
+ "fgInverse": "oklch(0.235 0.006 285.9)",
423
+ "border": "oklch(1 0 0 / 0.1)",
424
+ "borderStrong": "oklch(1 0 0 / 0.14)",
425
+ "borderSoft": "oklch(1 0 0 / 0.06)",
426
+ "ring": "oklch(0.74 0.16 160)",
427
+ "success": "oklch(0.715 0.155 162.5)",
428
+ "warning": "oklch(0.769 0.166 70.08)",
429
+ "error": "oklch(0.645 0.222 16.44)",
430
+ "info": "oklch(0.74 0.12 185)",
431
+ "radius": "14px",
432
+ "fontSans": "\"SF Pro Text\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
433
+ "fontDisplay": "\"SF Pro Display\", Geist, -apple-system, BlinkMacSystemFont, system-ui, sans-serif",
434
+ "fontMono": "\"SF Mono\", \"JetBrains Mono\", ui-monospace, Menlo, Consolas, monospace",
435
+ "chart1": "oklch(0.74 0.16 160)",
436
+ "chart2": "oklch(0.76 0.12 185)",
437
+ "chart3": "oklch(0.68 0.15 145)",
438
+ "chart4": "oklch(0.7 0.13 200)",
439
+ "chart5": "oklch(0.8 0.15 130)",
440
+ "shadowXs": "0 1px 2px rgba(0,0,0,0.20)",
441
+ "shadowSm": "0 2px 4px rgba(0,0,0,0.22)",
442
+ "shadowMd": "0 6px 12px rgba(0,0,0,0.24), 0 2px 4px rgba(0,0,0,0.16)",
443
+ "shadowLg": "0 12px 24px rgba(0,0,0,0.28), 0 4px 8px rgba(0,0,0,0.18)",
444
+ "shadowGlow": "0 12px 32px rgba(35,201,135,0.34)"
445
+ }
206
446
  }
207
447
  }
208
448
  }