@enya-learning/nova 0.4.3 → 0.5.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.
Files changed (132) hide show
  1. package/README.md +7 -16
  2. package/dist/chunks/dist-fahbq1psobj0ox6s.js +1327 -0
  3. package/dist/chunks/dist-fahbq1psobj0ox6s.js.map +1 -0
  4. package/dist/chunks/dist-o8x0ip0z71xkr2oh.js +37 -0
  5. package/dist/chunks/dist-o8x0ip0z71xkr2oh.js.map +1 -0
  6. package/dist/components/accordion.js +59 -0
  7. package/dist/components/accordion.js.map +1 -0
  8. package/dist/components/alert-dialog.js +108 -0
  9. package/dist/components/alert-dialog.js.map +1 -0
  10. package/dist/components/alert.js +49 -0
  11. package/dist/components/alert.js.map +1 -0
  12. package/dist/components/aspect-ratio.js +16 -0
  13. package/dist/components/aspect-ratio.js.map +1 -0
  14. package/dist/components/avatar.js +58 -0
  15. package/dist/components/avatar.js.map +1 -0
  16. package/dist/components/badge.js +33 -0
  17. package/dist/components/badge.js.map +1 -0
  18. package/dist/components/breadcrumb.js +81 -0
  19. package/dist/components/breadcrumb.js.map +1 -0
  20. package/dist/components/button-group.js +47 -0
  21. package/dist/components/button-group.js.map +1 -0
  22. package/dist/components/button.js +48 -3
  23. package/dist/components/button.js.map +1 -0
  24. package/dist/components/calendar.js +3000 -0
  25. package/dist/components/calendar.js.map +1 -0
  26. package/dist/components/card.js +65 -0
  27. package/dist/components/card.js.map +1 -0
  28. package/dist/components/carousel.js +1191 -0
  29. package/dist/components/carousel.js.map +1 -0
  30. package/dist/components/chart.js +10596 -0
  31. package/dist/components/chart.js.map +1 -0
  32. package/dist/components/checkbox.js +22 -0
  33. package/dist/components/checkbox.js.map +1 -0
  34. package/dist/components/collapsible.js +28 -0
  35. package/dist/components/collapsible.js.map +1 -0
  36. package/dist/components/combobox.js +179 -0
  37. package/dist/components/combobox.js.map +1 -0
  38. package/dist/components/command.js +656 -0
  39. package/dist/components/command.js.map +1 -0
  40. package/dist/components/context-menu.js +149 -0
  41. package/dist/components/context-menu.js.map +1 -0
  42. package/dist/components/dialog.js +103 -0
  43. package/dist/components/dialog.js.map +1 -0
  44. package/dist/components/direction.js +6 -0
  45. package/dist/components/drawer.js +1042 -0
  46. package/dist/components/drawer.js.map +1 -0
  47. package/dist/components/dropdown-menu.js +153 -0
  48. package/dist/components/dropdown-menu.js.map +1 -0
  49. package/dist/components/empty.js +67 -0
  50. package/dist/components/empty.js.map +1 -0
  51. package/dist/components/enya-logo.js +42 -42
  52. package/dist/components/enya-logo.js.map +1 -1
  53. package/dist/components/field.js +119 -0
  54. package/dist/components/field.js.map +1 -0
  55. package/dist/components/hover-card.js +40 -0
  56. package/dist/components/hover-card.js.map +1 -0
  57. package/dist/components/input-group.js +85 -0
  58. package/dist/components/input-group.js.map +1 -0
  59. package/dist/components/input-otp.js +416 -0
  60. package/dist/components/input-otp.js.map +1 -0
  61. package/dist/components/input.js +18 -0
  62. package/dist/components/input.js.map +1 -0
  63. package/dist/components/item.js +133 -0
  64. package/dist/components/item.js.map +1 -0
  65. package/dist/components/kbd.js +23 -0
  66. package/dist/components/kbd.js.map +1 -0
  67. package/dist/components/label.js +16 -0
  68. package/dist/components/label.js.map +1 -0
  69. package/dist/components/menubar.js +153 -0
  70. package/dist/components/menubar.js.map +1 -0
  71. package/dist/components/native-select.js +43 -0
  72. package/dist/components/native-select.js.map +1 -0
  73. package/dist/components/navigation-menu.js +93 -0
  74. package/dist/components/navigation-menu.js.map +1 -0
  75. package/dist/components/pagination.js +95 -0
  76. package/dist/components/pagination.js.map +1 -0
  77. package/dist/components/popover.js +62 -0
  78. package/dist/components/popover.js.map +1 -0
  79. package/dist/components/progress.js +50 -0
  80. package/dist/components/progress.js.map +1 -0
  81. package/dist/components/radio-group.js +30 -0
  82. package/dist/components/radio-group.js.map +1 -0
  83. package/dist/components/resizable.js +1562 -0
  84. package/dist/components/resizable.js.map +1 -0
  85. package/dist/components/scroll-area.js +40 -0
  86. package/dist/components/scroll-area.js.map +1 -0
  87. package/dist/components/select.js +109 -0
  88. package/dist/components/select.js.map +1 -0
  89. package/dist/components/separator.js +17 -0
  90. package/dist/components/separator.js.map +1 -0
  91. package/dist/components/sheet.js +98 -0
  92. package/dist/components/sheet.js.map +1 -0
  93. package/dist/components/sidebar.js +395 -0
  94. package/dist/components/sidebar.js.map +1 -0
  95. package/dist/components/skeleton.js +15 -0
  96. package/dist/components/skeleton.js.map +1 -0
  97. package/dist/components/slider.js +36 -0
  98. package/dist/components/slider.js.map +1 -0
  99. package/dist/components/sonner.js +722 -0
  100. package/dist/components/sonner.js.map +1 -0
  101. package/dist/components/spinner.js +17 -0
  102. package/dist/components/spinner.js.map +1 -0
  103. package/dist/components/switch.js +21 -0
  104. package/dist/components/switch.js.map +1 -0
  105. package/dist/components/table.js +76 -0
  106. package/dist/components/table.js.map +1 -0
  107. package/dist/components/tabs.js +51 -0
  108. package/dist/components/tabs.js.map +1 -0
  109. package/dist/components/textarea.js +16 -0
  110. package/dist/components/textarea.js.map +1 -0
  111. package/dist/components/toggle-group.js +55 -0
  112. package/dist/components/toggle-group.js.map +1 -0
  113. package/dist/components/toggle.js +39 -0
  114. package/dist/components/toggle.js.map +1 -0
  115. package/dist/components/tooltip.js +46 -0
  116. package/dist/components/tooltip.js.map +1 -0
  117. package/dist/index.js +17 -23241
  118. package/dist/src/components/badge/badge.d.ts +1 -1
  119. package/dist/src/components/button/button.d.ts +1 -1
  120. package/dist/src/components/item/item.d.ts +1 -1
  121. package/dist/src/components/tabs/tabs.d.ts +1 -1
  122. package/dist/src/index.d.ts +1 -53
  123. package/dist/styles/nova-binding.css +102 -0
  124. package/dist/styles/nova.css +106 -48
  125. package/dist/styles/theme-nova.css +77 -81
  126. package/dist/styles/typography.css +34 -22
  127. package/package.json +17 -9
  128. package/src/eslint/no-primitive-colors.test.ts +97 -0
  129. package/dist/chunks/button-kvgr8g13fe959ju0.js +0 -81
  130. package/dist/chunks/button-kvgr8g13fe959ju0.js.map +0 -1
  131. package/dist/index.js.map +0 -1
  132. package/dist/styles/globals.css +0 -77
@@ -1,7 +1,7 @@
1
1
  import { useRender } from '@base-ui/react/use-render';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const badgeVariants: (props?: ({
4
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
4
+ variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
5
5
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
6
  declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<"span"> & VariantProps<typeof badgeVariants>): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
7
7
  export { Badge, badgeVariants };
@@ -1,7 +1,7 @@
1
1
  import { Button as ButtonPrimitive } from '@base-ui/react/button';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: ({
4
- variant?: "link" | "default" | "destructive" | "accent" | "outline" | "secondary" | "ghost" | null | undefined;
4
+ variant?: "default" | "accent" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
5
5
  size?: "default" | "xs" | "sm" | "lg" | "xl" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | "icon-xl" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  declare function Button({ className, variant, size, ...props }: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>): import("react/jsx-runtime").JSX.Element;
@@ -10,7 +10,7 @@ declare const itemVariants: (props?: ({
10
10
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
11
  declare function Item({ className, variant, size, render, ...props }: useRender.ComponentProps<"div"> & VariantProps<typeof itemVariants>): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
12
12
  declare const itemMediaVariants: (props?: ({
13
- variant?: "image" | "default" | "icon" | null | undefined;
13
+ variant?: "default" | "icon" | "image" | null | undefined;
14
14
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
15
  declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>): import("react/jsx-runtime").JSX.Element;
16
16
  declare function ItemContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare function Tabs({ className, orientation, ...props }: TabsPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
4
4
  declare const tabsListVariants: (props?: ({
5
- variant?: "line" | "default" | null | undefined;
5
+ variant?: "default" | "line" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  declare function TabsList({ className, variant, ...props }: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>): import("react/jsx-runtime").JSX.Element;
8
8
  declare function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props): import("react/jsx-runtime").JSX.Element;
@@ -1,57 +1,5 @@
1
- export * from './components/accordion';
2
- export * from './components/alert';
3
- export * from './components/alert-dialog';
4
- export * from './components/aspect-ratio';
5
- export * from './components/avatar';
6
- export * from './components/badge';
7
- export * from './components/breadcrumb';
8
1
  export * from './components/button';
9
2
  export * from './components/button-group';
10
- export * from './components/calendar';
11
- export * from './components/card';
12
- export * from './components/carousel';
13
- export * from './components/chart';
14
- export * from './components/checkbox';
15
- export * from './components/collapsible';
16
- export * from './components/combobox';
17
- export * from './components/command';
18
- export * from './components/context-menu';
19
- export * from './components/dialog';
20
- export * from './components/direction';
21
- export * from './components/drawer';
22
- export * from './components/dropdown-menu';
23
- export * from './components/empty';
24
- export * from './components/enya-logo';
25
- export * from './components/field';
26
- export * from './components/hover-card';
27
- export * from './components/input';
28
- export * from './components/input-group';
29
- export * from './components/input-otp';
30
- export * from './components/item';
31
- export * from './components/kbd';
32
- export * from './components/label';
33
- export * from './components/menubar';
34
- export * from './components/native-select';
35
- export * from './components/navigation-menu';
36
- export * from './components/pagination';
37
- export * from './components/popover';
38
- export * from './components/progress';
39
- export * from './components/radio-group';
40
- export * from './components/resizable';
41
- export * from './components/scroll-area';
42
- export * from './components/select';
43
- export * from './components/separator';
44
- export * from './components/sheet';
45
- export * from './components/sidebar';
46
- export * from './components/skeleton';
47
- export * from './components/slider';
48
- export * from './components/sonner';
49
3
  export * from './components/spinner';
50
- export * from './components/switch';
51
- export * from './components/table';
52
- export * from './components/tabs';
53
- export * from './components/textarea';
54
- export * from './components/toggle';
55
- export * from './components/toggle-group';
56
- export * from './components/tooltip';
4
+ export * from './components/enya-logo';
57
5
  export * from './utils';
@@ -19,6 +19,19 @@
19
19
  --color-nova-zinc-900: oklch(21% 0.006 285.885);
20
20
  --color-nova-zinc-950: oklch(14.1% 0.005 285.823);
21
21
 
22
+ /* Grey — Nova's neutral palette; aliases zinc so updates propagate automatically. Prefer Greys for Neutrals */
23
+ --color-nova-grey-50: var(--color-nova-zinc-50);
24
+ --color-nova-grey-100: var(--color-nova-zinc-100);
25
+ --color-nova-grey-200: var(--color-nova-zinc-200);
26
+ --color-nova-grey-300: var(--color-nova-zinc-300);
27
+ --color-nova-grey-400: var(--color-nova-zinc-400);
28
+ --color-nova-grey-500: var(--color-nova-zinc-500);
29
+ --color-nova-grey-600: var(--color-nova-zinc-600);
30
+ --color-nova-grey-700: var(--color-nova-zinc-700);
31
+ --color-nova-grey-800: var(--color-nova-zinc-800);
32
+ --color-nova-grey-900: var(--color-nova-zinc-900);
33
+ --color-nova-grey-950: var(--color-nova-zinc-950);
34
+
22
35
  --color-nova-neutral-50: oklch(98.5% 0 0);
23
36
  --color-nova-neutral-100: oklch(97% 0 0);
24
37
  --color-nova-neutral-200: oklch(92.2% 0 0);
@@ -259,6 +272,77 @@
259
272
  --color-nova-brand-800: var(--color-nova-blue-800);
260
273
  --color-nova-brand-900: var(--color-nova-blue-900);
261
274
  --color-nova-brand-950: var(--color-nova-blue-950);
275
+
276
+ /* Enya Graphic and Illustration palette */
277
+ --colour-enya-black: #151515;
278
+ --colour-enya-white: #f5f5f5;
279
+
280
+ --colour-enya-yellow: #ffbb00;
281
+ --colour-enya-yellow-100: #fff1cc;
282
+ --colour-enya-yellow-200: #ffe8aa;
283
+ --colour-enya-yellow-300: #ffdd80;
284
+ --colour-enya-yellow-400: #ffd255;
285
+ --colour-enya-yellow-900: #332500;
286
+
287
+ --colour-enya-green: #00c01e;
288
+ --colour-enya-green-100: #ccf2d2;
289
+ --colour-enya-green-200: #aaeab4;
290
+ --colour-enya-green-300: #80e08f;
291
+ --colour-enya-green-400: #55d569;
292
+ --colour-enya-green-900: #002606;
293
+
294
+ --colour-enya-orange: #ff7a00;
295
+ --colour-enya-orange-100: #ffe5ce;
296
+ --colour-enya-orange-200: #ffd4ae;
297
+ --colour-enya-orange-300: #ffbf85;
298
+ --colour-enya-orange-400: #ffaa5c;
299
+ --colour-enya-orange-900: #331902;
300
+
301
+ --colour-enya-blue: #012afc;
302
+ --colour-enya-blue-100: #ccd4fe;
303
+ --colour-enya-blue-200: #aab8fe;
304
+ --colour-enya-blue-300: #8095fe;
305
+ --colour-enya-blue-400: #5671fd;
306
+ --colour-enya-blue-900: #000832;
307
+
308
+ --colour-enya-purple: #6a00df;
309
+ --colour-enya-purple-100: #e1ccf9;
310
+ --colour-enya-purple-200: #cdaaf4;
311
+ --colour-enya-purple-300: #b580ef;
312
+ --colour-enya-purple-400: #9c55ea;
313
+ --colour-enya-purple-900: #15002d;
314
+
315
+ --colour-enya-pink: #ff709e;
316
+ --colour-enya-pink-100: #ffe2ec;
317
+ --colour-enya-pink-200: #ffcfdf;
318
+ --colour-enya-pink-300: #ffb8cf;
319
+ --colour-enya-pink-400: #ffa0be;
320
+ --colour-enya-pink-900: #331620;
321
+
322
+ --colour-enya-grey-100: #e7e6e6;
323
+ --colour-enya-grey-200: #d2cfcf;
324
+ --colour-enya-grey-300: #b2aeae;
325
+ --colour-enya-grey-400: #8b8586;
326
+ --colour-enya-grey-500: #706a6b;
327
+ --colour-enya-grey-600: #5f5b5b;
328
+ --colour-enya-grey-700: #514d4d;
329
+ --colour-enya-grey-800: #464445;
330
+ --colour-enya-grey-900: #3d3c3c;
331
+ --colour-enya-grey-950: #1a1919;
332
+
333
+ --nova-space: 4px;
334
+ --nova-space-2x: 8px;
335
+ --nova-space-3x: 12px;
336
+ --nova-space-4x: 16px;
337
+ --nova-space-6x: 24px;
338
+ --nova-space-8x: 32px;
339
+ --nova-space-10x: 40px;
340
+ --nova-space-16x: 64px;
341
+ --nova-space-24x: 96px;
342
+ --nova-space-32x: 128px;
343
+ --nova-space-sm: var(--nova-space-2x);
344
+ --nova-space-md: var(--nova-space-4x);
345
+ --nova-space-lg: var(--nova-space-8x);
262
346
  }
263
347
 
264
348
  @theme {
@@ -268,6 +352,13 @@
268
352
 
269
353
  --ease-bounce: cubic-bezier(0.2, 0, 0, 1.5);
270
354
  --default-transition-duration: 100ms;
355
+
356
+ --shadow-border:
357
+ 0px 0px 0px 1px rgba(0, 0, 0, 0.06), 0px 1px 2px -1px rgba(0, 0, 0, 0.06),
358
+ 0px 2px 4px 0px rgba(0, 0, 0, 0.04);
359
+ --shadow-border-hover:
360
+ 0px 0px 0px 1px rgba(0, 0, 0, 0.08), 0px 1px 2px -1px rgba(0, 0, 0, 0.08),
361
+ 0px 2px 4px 0px rgba(0, 0, 0, 0.06);
271
362
  }
272
363
 
273
364
  @layer base {
@@ -276,6 +367,14 @@
276
367
  }
277
368
  [data-mode="dark"] {
278
369
  color-scheme: dark;
370
+ --shadow-border:
371
+ 0px 0px 0px 1px rgba(255, 255, 255, 0.06),
372
+ 0px 1px 2px -1px rgba(255, 255, 255, 0.06),
373
+ 0px 2px 4px 0px rgba(255, 255, 255, 0.04);
374
+ --shadow-border-hover:
375
+ 0px 0px 0px 1px rgba(255, 255, 255, 0.08),
376
+ 0px 1px 2px -1px rgba(255, 255, 255, 0.08),
377
+ 0px 2px 4px 0px rgba(255, 255, 255, 0.06);
279
378
  }
280
379
  }
281
380
 
@@ -287,4 +386,7 @@
287
386
  -ms-overflow-style: none;
288
387
  scrollbar-width: none;
289
388
  }
389
+ .shadow {
390
+ box-shadow: var(--shadow-border);
391
+ }
290
392
  }
@@ -1,58 +1,116 @@
1
+ @import "tailwindcss";
2
+ @import "@fontsource-variable/inter";
3
+ @import "@fontsource-variable/geist-mono";
1
4
  @import "./nova-binding.css";
2
5
  @import "./typography.css";
6
+ @import "tw-animate-css";
7
+ @import "shadcn/tailwind.css";
8
+
9
+ @custom-variant dark (&:is([data-mode="dark"] *));
10
+ @source "../../../../apps/**/*.{ts,tsx,astro}";
11
+ @source "../**/*.{ts,tsx}";
3
12
 
4
13
  /*
5
- * Remaps shadcn CSS variables to nova tokens.
6
- * shadcn components (bg-primary, text-muted-foreground, etc.) continue
7
- * working without modification they now reflect nova brand values.
14
+ * Maps nova semantic tokens directly into Tailwind's @theme so utility
15
+ * classes like bg-background, text-foreground, bg-muted/30, border-border
16
+ * etc. are generated for consumers who import "@enya-learning/nova/styles".
8
17
  */
9
- @layer base {
10
- :root {
11
- --background: var(--color-nova-background);
12
- --foreground: var(--color-nova-foreground);
13
-
14
- --card: var(--color-nova-card);
15
- --card-foreground: var(--color-nova-card-foreground);
16
-
17
- --popover: var(--color-nova-popover);
18
- --popover-foreground: var(--color-nova-popover-foreground);
19
-
20
- --primary: var(--color-nova-primary);
21
- --primary-foreground: var(--color-nova-primary-foreground);
22
-
23
- --secondary: var(--color-nova-secondary);
24
- --secondary-foreground: var(--color-nova-secondary-foreground);
25
-
26
- --muted: var(--color-nova-muted);
27
- --muted-foreground: var(--color-nova-muted-foreground);
28
-
29
- --accent: var(--color-nova-accent);
30
- --accent-foreground: var(--color-nova-accent-foreground);
31
-
32
- --destructive: var(--color-nova-destructive);
33
- --destructive-foreground: var(--color-nova-destructive-foreground);
34
-
35
- --border: var(--color-nova-border);
36
- --input: var(--color-nova-input);
37
- --ring: var(--color-nova-ring);
38
-
39
- --radius: 0.625rem;
40
-
41
- --chart-1: var(--color-nova-chart-1);
42
- --chart-2: var(--color-nova-chart-2);
43
- --chart-3: var(--color-nova-chart-3);
44
- --chart-4: var(--color-nova-chart-4);
45
- --chart-5: var(--color-nova-chart-5);
18
+ @theme inline {
19
+ --color-background: var(--color-nova-surface-1);
20
+ --color-foreground: var(--color-nova-foreground);
21
+ --color-card: var(--color-nova-card);
22
+ --color-card-foreground: var(--color-nova-card-foreground);
23
+ --color-popover: var(--color-nova-popover);
24
+ --color-popover-foreground: var(--color-nova-popover-foreground);
25
+ --color-primary: var(--color-nova-primary);
26
+ --color-primary-foreground: var(--color-nova-primary-foreground);
27
+ --color-secondary: var(--color-nova-surface-2);
28
+ --color-secondary-foreground: var(--color-nova-foreground);
29
+ --color-muted: var(--color-nova-surface-muted);
30
+ --color-muted-foreground: var(--color-nova-muted-foreground);
31
+ --color-accent: var(--color-nova-accent);
32
+ --color-accent-foreground: var(--color-nova-accent-foreground);
33
+ --color-destructive: var(--color-nova-destructive);
34
+ --color-destructive-foreground: var(--color-nova-destructive-foreground);
35
+ --color-border: var(--color-nova-border);
36
+ --color-input: var(--color-nova-border);
37
+ --color-ring: var(--color-nova-ring);
38
+ --color-chart-1: var(--color-nova-chart-1);
39
+ --color-chart-2: var(--color-nova-chart-2);
40
+ --color-chart-3: var(--color-nova-chart-3);
41
+ --color-chart-4: var(--color-nova-chart-4);
42
+ --color-chart-5: var(--color-nova-chart-5);
43
+ --color-sidebar: var(--color-nova-sidebar);
44
+ --color-sidebar-foreground: var(--color-nova-sidebar-foreground);
45
+ --color-sidebar-primary: var(--color-nova-sidebar-primary);
46
+ --color-sidebar-primary-foreground: var(
47
+ --color-nova-sidebar-primary-foreground
48
+ );
49
+ --color-sidebar-accent: var(--color-nova-sidebar-accent);
50
+ --color-sidebar-accent-foreground: var(
51
+ --color-nova-sidebar-accent-foreground
52
+ );
53
+ --color-sidebar-border: var(--color-nova-sidebar-border);
54
+ --color-sidebar-ring: var(--color-nova-sidebar-ring);
55
+ --radius-sm: 0.375rem;
56
+ --radius-md: 0.5rem;
57
+ --radius-lg: 0.5rem;
58
+ --radius-xl: 0.75rem;
59
+ --radius-2xl: 1rem;
60
+ --radius-3xl: 1.5rem;
61
+ --radius-4xl: 2rem;
62
+ --spacing-nova-4: var(--nova-space);
63
+ --spacing-nova-8: var(--nova-space-2x);
64
+ --spacing-nova-12: var(--nova-space-3x);
65
+ --spacing-nova-16: var(--nova-space-4x);
66
+ --spacing-nova-24: var(--nova-space-6x);
67
+ --spacing-nova-32: var(--nova-space-8x);
68
+ --spacing-nova-40: var(--nova-space-10x);
69
+ --spacing-nova-64: var(--nova-space-16x);
70
+ --spacing-nova-96: var(--nova-space-24x);
71
+ --spacing-nova-128: var(--nova-space-32x);
72
+ --font-sans: "Inter Variable", sans-serif;
73
+ --font-mono: "Geist Mono Variable", ui-monospace, monospace;
74
+ --font-heading: var(--font-sans);
75
+ }
46
76
 
47
- --sidebar: var(--color-nova-sidebar);
48
- --sidebar-foreground: var(--color-nova-sidebar-foreground);
49
- --sidebar-primary: var(--color-nova-sidebar-primary);
50
- --sidebar-primary-foreground: var(--color-nova-sidebar-primary-foreground);
51
- --sidebar-accent: var(--color-nova-sidebar-accent);
52
- --sidebar-accent-foreground: var(--color-nova-sidebar-accent-foreground);
53
- --sidebar-border: var(--color-nova-sidebar-border);
54
- --sidebar-ring: var(--color-nova-sidebar-ring);
77
+ @layer base {
78
+ * {
79
+ @apply border-border outline-ring/50;
80
+ }
81
+ body {
82
+ @apply bg-background text-foreground;
83
+ }
84
+ button:not(:disabled),
85
+ [role="button"]:not(:disabled) {
86
+ cursor: pointer;
55
87
  }
56
88
  }
57
89
 
90
+ /* Scan nova's built component and chunk JS files so all component class
91
+ * names (data-open:, group-aria-expanded:, etc.) are included in the
92
+ * consumer's Tailwind output without any additional @source config. */
93
+ @source "../components/*.js";
94
+ @source "../chunks/*.js";
95
+ @source "../index.js";
96
+
97
+ /* prettier-ignore */
98
+ @source inline("text-heading-72 text-heading-64 text-heading-56 text-heading-48 text-heading-40 text-heading-32 text-heading-24 text-heading-20 text-heading-16 text-heading-14");
99
+ /* prettier-ignore */
100
+ @source inline("text-button-24 text-button-20 text-button-16 text-button-14 text-button-12");
101
+ /* prettier-ignore */
102
+ @source inline("text-label-20 text-label-18 text-label-16 text-label-14 text-label-14-mono text-label-13 text-label-13-mono text-label-12 text-label-12-mono");
103
+ /* prettier-ignore */
104
+ @source inline("text-copy-24 text-copy-20 text-copy-18 text-copy-16 text-copy-14 text-copy-13 text-copy-13-mono text-copy-12");
105
+ /* prettier-ignore */
106
+ @source inline("bg-nova-success text-nova-success-foreground bg-nova-success-soft text-nova-success-soft-foreground bg-nova-warning text-nova-warning-foreground bg-nova-warning-soft text-nova-warning-soft-foreground bg-nova-destructive bg-nova-destructive-soft text-nova-destructive-foreground text-nova-destructive-soft-foreground bg-nova-info text-nova-info-foreground bg-nova-info-soft text-nova-info-soft-foreground");
107
+ /* prettier-ignore */
108
+ @source inline("text-nova-foreground bg-nova-surface-1 bg-nova-surface-2 bg-nova-surface-3 bg-nova-accent text-nova-accent-foreground border-nova-border ring-nova-ring");
109
+ /* prettier-ignore */
110
+ @source inline("bg-nova-chart-1 bg-nova-chart-2 bg-nova-chart-3 bg-nova-chart-4 bg-nova-chart-5");
111
+ /* prettier-ignore */
112
+ @source inline("bg-nova-sidebar text-nova-sidebar-foreground bg-nova-sidebar-primary text-nova-sidebar-primary-foreground bg-nova-sidebar-accent text-nova-sidebar-accent-foreground border-nova-sidebar-border ring-nova-sidebar-ring");
113
+ /* prettier-ignore */
114
+ @source inline("bg-nova-primary text-nova-primary-foreground bg-nova-surface-muted text-nova-muted-foreground bg-nova-card text-nova-card-foreground bg-nova-popover text-nova-popover-foreground");
115
+
58
116
  /* Component-specific styles added here as components are built */
@@ -1,34 +1,21 @@
1
1
  @theme {
2
- --color-nova-background: light-dark(
2
+ --color-nova-surface-1: light-dark(
3
3
  var(--color-nova-white),
4
4
  var(--color-nova-black)
5
5
  );
6
-
7
- --color-nova-primary: light-dark(
8
- var(--color-nova-zinc-900),
9
- var(--color-nova-zinc-100)
10
- );
11
- --color-nova-primary-foreground: light-dark(
12
- var(--color-nova-zinc-100),
13
- var(--color-nova-zinc-900)
6
+ --color-nova-surface-2: light-dark(
7
+ var(--color-nova-grey-100),
8
+ var(--color-nova-grey-900)
14
9
  );
15
10
 
16
- --color-nova-secondary: light-dark(
17
- var(--color-nova-zinc-100),
18
- var(--color-nova-zinc-800)
19
- );
20
- --color-nova-secondary-foreground: light-dark(
21
- var(--color-nova-zinc-900),
22
- var(--color-nova-zinc-100)
11
+ --color-nova-surface-3: light-dark(
12
+ var(--color-nova-grey-200),
13
+ var(--color-nova-grey-800)
23
14
  );
24
15
 
25
- --color-nova-muted: light-dark(
26
- var(--color-nova-zinc-50),
27
- var(--color-nova-zinc-800)
28
- );
29
- --color-nova-muted-foreground: light-dark(
30
- var(--color-nova-zinc-500),
31
- var(--color-nova-zinc-400)
16
+ --color-nova-foreground: light-dark(
17
+ var(--color-nova-grey-900),
18
+ var(--color-nova-grey-100)
32
19
  );
33
20
 
34
21
  --color-nova-accent: light-dark(
@@ -36,65 +23,41 @@
36
23
  var(--color-nova-brand-400)
37
24
  );
38
25
  --color-nova-accent-foreground: light-dark(
39
- var(--color-nova-zinc-100),
40
- var(--color-nova-zinc-900)
41
- );
42
-
43
- /*DO NOT REFERENCE AS IT MIGHT BE DELETED IN THE FUTURE*/
44
- --color-nova-foreground: light-dark(
45
- var(--color-nova-zinc-900),
46
- var(--color-nova-zinc-100)
47
- );
48
-
49
- --color-nova-card: light-dark(
50
- var(--color-nova-zinc-50),
51
- var(--color-nova-zinc-900)
52
- );
53
- --color-nova-card-foreground: light-dark(
54
- var(--color-nova-zinc-900),
55
- var(--color-nova-zinc-100)
56
- );
57
-
58
- --color-nova-popover: light-dark(
59
- var(--color-nova-zinc-50),
60
- var(--color-nova-zinc-900)
61
- );
62
- --color-nova-popover-foreground: light-dark(
63
- var(--color-nova-zinc-900),
64
- var(--color-nova-zinc-100)
26
+ var(--color-nova-white),
27
+ var(--color-nova-brand-900)
65
28
  );
66
29
 
67
30
  --color-nova-info: light-dark(
68
- var(--color-nova-blue-600),
31
+ var(--color-nova-blue-500),
69
32
  var(--color-nova-blue-400)
70
33
  );
71
34
  --color-nova-info-foreground: light-dark(
72
- var(--color-nova-zinc-100),
73
- var(--color-nova-zinc-900)
35
+ var(--color-nova-white),
36
+ var(--color-nova-grey-900)
74
37
  );
75
38
  --color-nova-info-soft: light-dark(
76
39
  var(--color-nova-blue-50),
77
40
  var(--color-nova-blue-950)
78
41
  );
79
42
  --color-nova-info-soft-foreground: light-dark(
80
- var(--color-nova-blue-700),
43
+ var(--color-nova-blue-500),
81
44
  var(--color-nova-blue-300)
82
45
  );
83
46
 
84
47
  --color-nova-success: light-dark(
85
- var(--color-nova-emerald-600),
48
+ var(--color-nova-emerald-500),
86
49
  var(--color-nova-emerald-400)
87
50
  );
88
51
  --color-nova-success-foreground: light-dark(
89
- var(--color-nova-zinc-100),
90
- var(--color-nova-zinc-900)
52
+ var(--color-nova-emerald-50),
53
+ var(--color-nova-emerald-900)
91
54
  );
92
55
  --color-nova-success-soft: light-dark(
93
56
  var(--color-nova-emerald-50),
94
57
  var(--color-nova-emerald-950)
95
58
  );
96
59
  --color-nova-success-soft-foreground: light-dark(
97
- var(--color-nova-emerald-700),
60
+ var(--color-nova-emerald-500),
98
61
  var(--color-nova-emerald-300)
99
62
  );
100
63
 
@@ -103,15 +66,15 @@
103
66
  var(--color-nova-amber-400)
104
67
  );
105
68
  --color-nova-warning-foreground: light-dark(
106
- var(--color-nova-zinc-900),
107
- var(--color-nova-zinc-900)
69
+ var(--color-nova-white),
70
+ var(--color-nova-amber-900)
108
71
  );
109
72
  --color-nova-warning-soft: light-dark(
110
73
  var(--color-nova-amber-50),
111
74
  var(--color-nova-amber-950)
112
75
  );
113
76
  --color-nova-warning-soft-foreground: light-dark(
114
- var(--color-nova-amber-700),
77
+ var(--color-nova-amber-500),
115
78
  var(--color-nova-amber-300)
116
79
  );
117
80
 
@@ -120,25 +83,21 @@
120
83
  var(--color-nova-red-400)
121
84
  );
122
85
  --color-nova-destructive-foreground: light-dark(
123
- var(--color-nova-zinc-100),
124
- var(--color-nova-zinc-900)
86
+ var(--color-nova-white),
87
+ var(--color-nova-red-900)
125
88
  );
126
89
  --color-nova-destructive-soft: light-dark(
127
90
  var(--color-nova-red-50),
128
91
  var(--color-nova-red-950)
129
92
  );
130
93
  --color-nova-destructive-soft-foreground: light-dark(
131
- var(--color-nova-red-700),
94
+ var(--color-nova-red-500),
132
95
  var(--color-nova-red-300)
133
96
  );
134
97
 
135
98
  --color-nova-border: light-dark(
136
- var(--color-nova-zinc-200),
137
- var(--color-nova-zinc-800)
138
- );
139
- --color-nova-input: light-dark(
140
- var(--color-nova-zinc-300),
141
- var(--color-nova-zinc-700)
99
+ var(--color-nova-grey-300),
100
+ var(--color-nova-grey-700)
142
101
  );
143
102
  --color-nova-ring: light-dark(
144
103
  var(--color-nova-brand-500),
@@ -167,35 +126,72 @@
167
126
  );
168
127
 
169
128
  --color-nova-sidebar: light-dark(
170
- var(--color-nova-zinc-50),
171
- var(--color-nova-zinc-950)
129
+ var(--color-nova-grey-50),
130
+ var(--color-nova-grey-950)
172
131
  );
173
132
  --color-nova-sidebar-foreground: light-dark(
174
- var(--color-nova-zinc-900),
175
- var(--color-nova-zinc-100)
133
+ var(--color-nova-grey-900),
134
+ var(--color-nova-grey-100)
176
135
  );
177
136
  --color-nova-sidebar-primary: light-dark(
178
137
  var(--color-nova-brand-600),
179
138
  var(--color-nova-brand-400)
180
139
  );
181
140
  --color-nova-sidebar-primary-foreground: light-dark(
182
- var(--color-nova-zinc-100),
183
- var(--color-nova-zinc-900)
141
+ var(--color-nova-grey-100),
142
+ var(--color-nova-grey-900)
184
143
  );
185
144
  --color-nova-sidebar-accent: light-dark(
186
- var(--color-nova-zinc-100),
187
- var(--color-nova-zinc-800)
145
+ var(--color-nova-grey-100),
146
+ var(--color-nova-grey-800)
188
147
  );
189
148
  --color-nova-sidebar-accent-foreground: light-dark(
190
- var(--color-nova-zinc-900),
191
- var(--color-nova-zinc-100)
149
+ var(--color-nova-grey-900),
150
+ var(--color-nova-grey-100)
192
151
  );
193
152
  --color-nova-sidebar-border: light-dark(
194
- var(--color-nova-zinc-200),
195
- var(--color-nova-zinc-800)
153
+ var(--color-nova-grey-200),
154
+ var(--color-nova-grey-800)
196
155
  );
197
156
  --color-nova-sidebar-ring: light-dark(
198
157
  var(--color-nova-brand-600),
199
158
  var(--color-nova-brand-400)
200
159
  );
160
+
161
+ --color-nova-primary: light-dark(
162
+ var(--color-nova-grey-900),
163
+ var(--color-nova-grey-100)
164
+ );
165
+ --color-nova-primary-foreground: light-dark(
166
+ var(--color-nova-grey-50),
167
+ var(--color-nova-grey-900)
168
+ );
169
+
170
+ --color-nova-surface-muted: light-dark(
171
+ var(--color-nova-grey-50),
172
+ var(--color-nova-grey-950)
173
+ );
174
+ --color-nova-muted-foreground: light-dark(
175
+ var(--color-nova-grey-500),
176
+ var(--color-nova-grey-400)
177
+ );
178
+
179
+ /*------ TO BE REMOVED -----*/
180
+
181
+ --color-nova-card: light-dark(
182
+ var(--color-nova-grey-50),
183
+ var(--color-nova-grey-900)
184
+ );
185
+ --color-nova-card-foreground: light-dark(
186
+ var(--color-nova-grey-900),
187
+ var(--color-nova-grey-100)
188
+ );
189
+ --color-nova-popover: light-dark(
190
+ var(--color-nova-grey-50),
191
+ var(--color-nova-grey-900)
192
+ );
193
+ --color-nova-popover-foreground: light-dark(
194
+ var(--color-nova-grey-900),
195
+ var(--color-nova-grey-100)
196
+ );
201
197
  }