@inui/design-system 0.0.0-stage → 1.22.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 +360 -2
- package/dist/components/ui/accordion.d.ts +44 -0
- package/dist/components/ui/accordion.d.ts.map +1 -0
- package/dist/components/ui/accordion.js +86 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/ai-avatar.d.ts +46 -0
- package/dist/components/ui/ai-avatar.d.ts.map +1 -0
- package/dist/components/ui/ai-avatar.js +43 -0
- package/dist/components/ui/ai-avatar.js.map +1 -0
- package/dist/components/ui/ai-label.d.ts +118 -0
- package/dist/components/ui/ai-label.d.ts.map +1 -0
- package/dist/components/ui/ai-label.js +184 -0
- package/dist/components/ui/ai-label.js.map +1 -0
- package/dist/components/ui/ai-sparkle.d.ts +91 -0
- package/dist/components/ui/ai-sparkle.d.ts.map +1 -0
- package/dist/components/ui/ai-sparkle.js +200 -0
- package/dist/components/ui/ai-sparkle.js.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +79 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.js +147 -0
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert.d.ts +71 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/alert.js +108 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/aspect-ratio.d.ts +30 -0
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/components/ui/aspect-ratio.js +40 -0
- package/dist/components/ui/aspect-ratio.js.map +1 -0
- package/dist/components/ui/attachment.d.ts +74 -0
- package/dist/components/ui/attachment.d.ts.map +1 -0
- package/dist/components/ui/attachment.js +142 -0
- package/dist/components/ui/attachment.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +82 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar.js +123 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.d.ts +130 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/badge.js +226 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +43 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb.js +98 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/browser-tabs.d.ts +218 -0
- package/dist/components/ui/browser-tabs.d.ts.map +1 -0
- package/dist/components/ui/browser-tabs.js +528 -0
- package/dist/components/ui/browser-tabs.js.map +1 -0
- package/dist/components/ui/bubble.d.ts +80 -0
- package/dist/components/ui/bubble.d.ts.map +1 -0
- package/dist/components/ui/bubble.js +235 -0
- package/dist/components/ui/bubble.js.map +1 -0
- package/dist/components/ui/button-group.d.ts +60 -0
- package/dist/components/ui/button-group.d.ts.map +1 -0
- package/dist/components/ui/button-group.js +89 -0
- package/dist/components/ui/button-group.js.map +1 -0
- package/dist/components/ui/button.d.ts +157 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +144 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/calendar.d.ts +57 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +163 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/card.d.ts +96 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.js +131 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/carousel.d.ts +86 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/carousel.js +207 -0
- package/dist/components/ui/carousel.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +54 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox.js +78 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +45 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +65 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/combobox.d.ts +111 -0
- package/dist/components/ui/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox.js +264 -0
- package/dist/components/ui/combobox.js.map +1 -0
- package/dist/components/ui/command.d.ts +71 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.js +133 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/context-menu.d.ts +70 -0
- package/dist/components/ui/context-menu.d.ts.map +1 -0
- package/dist/components/ui/context-menu.js +163 -0
- package/dist/components/ui/context-menu.js.map +1 -0
- package/dist/components/ui/count-badge.d.ts +40 -0
- package/dist/components/ui/count-badge.d.ts.map +1 -0
- package/dist/components/ui/count-badge.js +43 -0
- package/dist/components/ui/count-badge.js.map +1 -0
- package/dist/components/ui/data-table.d.ts +1026 -0
- package/dist/components/ui/data-table.d.ts.map +1 -0
- package/dist/components/ui/data-table.js +3423 -0
- package/dist/components/ui/data-table.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +73 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog.js +145 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/direction.d.ts +35 -0
- package/dist/components/ui/direction.d.ts.map +1 -0
- package/dist/components/ui/direction.js +35 -0
- package/dist/components/ui/direction.js.map +1 -0
- package/dist/components/ui/drawer.d.ts +53 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/drawer.js +115 -0
- package/dist/components/ui/drawer.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +75 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +173 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/dropzone.d.ts +141 -0
- package/dist/components/ui/dropzone.d.ts.map +1 -0
- package/dist/components/ui/dropzone.js +257 -0
- package/dist/components/ui/dropzone.js.map +1 -0
- package/dist/components/ui/empty.d.ts +94 -0
- package/dist/components/ui/empty.d.ts.map +1 -0
- package/dist/components/ui/empty.js +149 -0
- package/dist/components/ui/empty.js.map +1 -0
- package/dist/components/ui/field.d.ts +122 -0
- package/dist/components/ui/field.d.ts.map +1 -0
- package/dist/components/ui/field.js +254 -0
- package/dist/components/ui/field.js.map +1 -0
- package/dist/components/ui/hover-card.d.ts +51 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -0
- package/dist/components/ui/hover-card.js +101 -0
- package/dist/components/ui/hover-card.js.map +1 -0
- package/dist/components/ui/input-group.d.ts +62 -0
- package/dist/components/ui/input-group.d.ts.map +1 -0
- package/dist/components/ui/input-group.js +115 -0
- package/dist/components/ui/input-group.js.map +1 -0
- package/dist/components/ui/input-otp.d.ts +52 -0
- package/dist/components/ui/input-otp.d.ts.map +1 -0
- package/dist/components/ui/input-otp.js +89 -0
- package/dist/components/ui/input-otp.js.map +1 -0
- package/dist/components/ui/input.d.ts +47 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/input.js +47 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/item.d.ts +74 -0
- package/dist/components/ui/item.d.ts.map +1 -0
- package/dist/components/ui/item.js +176 -0
- package/dist/components/ui/item.js.map +1 -0
- package/dist/components/ui/kbd.d.ts +41 -0
- package/dist/components/ui/kbd.d.ts.map +1 -0
- package/dist/components/ui/kbd.js +58 -0
- package/dist/components/ui/kbd.js.map +1 -0
- package/dist/components/ui/key-value-pair.d.ts +56 -0
- package/dist/components/ui/key-value-pair.d.ts.map +1 -0
- package/dist/components/ui/key-value-pair.js +110 -0
- package/dist/components/ui/key-value-pair.js.map +1 -0
- package/dist/components/ui/label.d.ts +83 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/label.js +85 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/marker.d.ts +54 -0
- package/dist/components/ui/marker.d.ts.map +1 -0
- package/dist/components/ui/marker.js +79 -0
- package/dist/components/ui/marker.js.map +1 -0
- package/dist/components/ui/menubar.d.ts +72 -0
- package/dist/components/ui/menubar.d.ts.map +1 -0
- package/dist/components/ui/menubar.js +174 -0
- package/dist/components/ui/menubar.js.map +1 -0
- package/dist/components/ui/message-scroller.d.ts +53 -0
- package/dist/components/ui/message-scroller.d.ts.map +1 -0
- package/dist/components/ui/message-scroller.js +95 -0
- package/dist/components/ui/message-scroller.js.map +1 -0
- package/dist/components/ui/message.d.ts +63 -0
- package/dist/components/ui/message.d.ts.map +1 -0
- package/dist/components/ui/message.js +92 -0
- package/dist/components/ui/message.js.map +1 -0
- package/dist/components/ui/meta-list.d.ts +55 -0
- package/dist/components/ui/meta-list.d.ts.map +1 -0
- package/dist/components/ui/meta-list.js +75 -0
- package/dist/components/ui/meta-list.js.map +1 -0
- package/dist/components/ui/native-select.d.ts +51 -0
- package/dist/components/ui/native-select.d.ts.map +1 -0
- package/dist/components/ui/native-select.js +75 -0
- package/dist/components/ui/native-select.js.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +56 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu.js +116 -0
- package/dist/components/ui/navigation-menu.js.map +1 -0
- package/dist/components/ui/page-header.d.ts +223 -0
- package/dist/components/ui/page-header.d.ts.map +1 -0
- package/dist/components/ui/page-header.js +233 -0
- package/dist/components/ui/page-header.js.map +1 -0
- package/dist/components/ui/pagination.d.ts +68 -0
- package/dist/components/ui/pagination.d.ts.map +1 -0
- package/dist/components/ui/pagination.js +145 -0
- package/dist/components/ui/pagination.js.map +1 -0
- package/dist/components/ui/popover.d.ts +61 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/popover.js +144 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/progress.d.ts +35 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/progress.js +46 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/questionnaire.d.ts +92 -0
- package/dist/components/ui/questionnaire.d.ts.map +1 -0
- package/dist/components/ui/questionnaire.js +277 -0
- package/dist/components/ui/questionnaire.js.map +1 -0
- package/dist/components/ui/radio-group.d.ts +50 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/radio-group.js +65 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/resizable.d.ts +44 -0
- package/dist/components/ui/resizable.d.ts.map +1 -0
- package/dist/components/ui/resizable.js +73 -0
- package/dist/components/ui/resizable.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +55 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +72 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +274 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/select.js +609 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.d.ts +31 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/separator.js +38 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +59 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +128 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/sidebar.d.ts +166 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -0
- package/dist/components/ui/sidebar.js +512 -0
- package/dist/components/ui/sidebar.js.map +1 -0
- package/dist/components/ui/skeleton.d.ts +35 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton.js +46 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/slider.d.ts +39 -0
- package/dist/components/ui/slider.d.ts.map +1 -0
- package/dist/components/ui/slider.js +75 -0
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/sonner.d.ts +56 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/sonner.js +96 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/spinner.d.ts +37 -0
- package/dist/components/ui/spinner.d.ts.map +1 -0
- package/dist/components/ui/spinner.js +51 -0
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/stepper.d.ts +84 -0
- package/dist/components/ui/stepper.d.ts.map +1 -0
- package/dist/components/ui/stepper.js +145 -0
- package/dist/components/ui/stepper.js.map +1 -0
- package/dist/components/ui/switch.d.ts +36 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/switch.js +44 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.d.ts +80 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/table.js +130 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +87 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs.js +128 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +35 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/textarea.js +38 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/time-picker.d.ts +58 -0
- package/dist/components/ui/time-picker.d.ts.map +1 -0
- package/dist/components/ui/time-picker.js +188 -0
- package/dist/components/ui/time-picker.js.map +1 -0
- package/dist/components/ui/toggle-group.d.ts +52 -0
- package/dist/components/ui/toggle-group.d.ts.map +1 -0
- package/dist/components/ui/toggle-group.js +94 -0
- package/dist/components/ui/toggle-group.js.map +1 -0
- package/dist/components/ui/toggle.d.ts +50 -0
- package/dist/components/ui/toggle.d.ts.map +1 -0
- package/dist/components/ui/toggle.js +70 -0
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +51 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.js +78 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/hooks/use-dark-mode.d.ts +2 -0
- package/dist/hooks/use-dark-mode.d.ts.map +1 -0
- package/dist/hooks/use-dark-mode.js +36 -0
- package/dist/hooks/use-dark-mode.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +20 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/index.d.ts +88 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +77 -0
- package/dist/lib/scope.d.ts +64 -0
- package/dist/lib/scope.d.ts.map +1 -0
- package/dist/lib/scope.js +74 -0
- package/dist/lib/scope.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +11 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/theme-tokens.css +537 -0
- package/dist/theme.css +417 -0
- package/package.json +103 -3
package/dist/theme.css
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Design token registration, plus document-wide emission for direct
|
|
3
|
+
* importers. index.css pulls this in via `@reference` (registers, emits
|
|
4
|
+
* nothing); a direct `theme.css` import emits unscoped on `:root`.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* Dark mode is class-driven (.dark on <html>), not prefers-color-scheme. */
|
|
8
|
+
@custom-variant dark (&:where(.dark, .dark *));
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
* Registration only (`reference` emits nothing — avoids the `:root, :host`
|
|
12
|
+
* leak a plain `@theme` would cause). `static` keeps every token registered
|
|
13
|
+
* even if unused. EDIT VALUES IN theme-tokens.css, then mirror them here —
|
|
14
|
+
* values here are only `var()` fallbacks, never what actually renders.
|
|
15
|
+
*/
|
|
16
|
+
@theme static reference {
|
|
17
|
+
/* "DM Sans Variable" first — fontsource's variable build registers under
|
|
18
|
+
that name, not "DM Sans" (see .storybook/preview.tsx). */
|
|
19
|
+
--font-sans:
|
|
20
|
+
"DM Sans Variable", "DM Sans", -apple-system, BlinkMacSystemFont,
|
|
21
|
+
"Segoe UI", ui-sans-serif, system-ui, sans-serif;
|
|
22
|
+
--font-mono:
|
|
23
|
+
"DM Mono", ui-monospace, "SF Mono", Consolas, "Courier New", monospace;
|
|
24
|
+
|
|
25
|
+
/* Level 1 primitives — see theme-tokens.css for the full rationale, including
|
|
26
|
+
the Tailwind-convention shade renumbering (50…950 + 1000/1100/1200 extension).
|
|
27
|
+
Every semantic token below is Level 2, referencing these via var(). */
|
|
28
|
+
--color-indigo-50: #f5f6ff;
|
|
29
|
+
--color-indigo-100: #e5e8ff;
|
|
30
|
+
--color-indigo-200: #d6daff;
|
|
31
|
+
--color-indigo-300: #c7ccff;
|
|
32
|
+
--color-indigo-400: #b3baff;
|
|
33
|
+
--color-indigo-500: #9faafe;
|
|
34
|
+
--color-indigo-600: #8993fa;
|
|
35
|
+
--color-indigo-700: #7380f7;
|
|
36
|
+
--color-indigo-800: #5a67f6;
|
|
37
|
+
--color-indigo-900: #4256d7;
|
|
38
|
+
--color-indigo-950: #2f4aac;
|
|
39
|
+
--color-indigo-1000: #223987;
|
|
40
|
+
--color-indigo-1100: #192b66;
|
|
41
|
+
--color-indigo-1200: #101c46;
|
|
42
|
+
--color-red-50: #fff7f5;
|
|
43
|
+
--color-red-100: #ffe1db;
|
|
44
|
+
--color-red-200: #ffd4cc;
|
|
45
|
+
--color-red-300: #fec0b4;
|
|
46
|
+
--color-red-400: #fcac9c;
|
|
47
|
+
--color-red-500: #f49480;
|
|
48
|
+
--color-red-600: #ed765e;
|
|
49
|
+
--color-red-700: #e45b3f;
|
|
50
|
+
--color-red-800: #df3011;
|
|
51
|
+
--color-red-900: #bd1c00;
|
|
52
|
+
--color-red-950: #9e200a;
|
|
53
|
+
--color-red-1000: #791a06;
|
|
54
|
+
--color-red-1100: #5c1305;
|
|
55
|
+
--color-red-1200: #3f0e03;
|
|
56
|
+
--color-cyan-50: #eefafc;
|
|
57
|
+
--color-cyan-100: #cff1f7;
|
|
58
|
+
--color-cyan-200: #b6e8f2;
|
|
59
|
+
--color-cyan-300: #96dfee;
|
|
60
|
+
--color-cyan-400: #6ed3e7;
|
|
61
|
+
--color-cyan-500: #33c4e1;
|
|
62
|
+
--color-cyan-600: #00b2d6;
|
|
63
|
+
--color-cyan-700: #009fc7;
|
|
64
|
+
--color-cyan-800: #008cb3;
|
|
65
|
+
--color-cyan-900: #007599;
|
|
66
|
+
--color-cyan-950: #006080;
|
|
67
|
+
--color-cyan-1000: #004766;
|
|
68
|
+
--color-cyan-1100: #003952;
|
|
69
|
+
--color-cyan-1200: #002738;
|
|
70
|
+
--color-violet-50: #faf6fe;
|
|
71
|
+
--color-violet-100: #f0e7fd;
|
|
72
|
+
--color-violet-200: #e4d5fb;
|
|
73
|
+
--color-violet-300: #dcc7fa;
|
|
74
|
+
--color-violet-400: #cfb4f8;
|
|
75
|
+
--color-violet-500: #c0a0f3;
|
|
76
|
+
--color-violet-600: #ac87ee;
|
|
77
|
+
--color-violet-700: #9e72e9;
|
|
78
|
+
--color-violet-800: #8854e8;
|
|
79
|
+
--color-violet-900: #6f47cd;
|
|
80
|
+
--color-violet-950: #5b3ba5;
|
|
81
|
+
--color-violet-1000: #462d80;
|
|
82
|
+
--color-violet-1100: #322361;
|
|
83
|
+
--color-violet-1200: #211844;
|
|
84
|
+
--color-yellow-50: #fff9e5;
|
|
85
|
+
--color-yellow-100: #fff5d6;
|
|
86
|
+
--color-yellow-200: #fff0c2;
|
|
87
|
+
--color-yellow-300: #ffe9a8;
|
|
88
|
+
--color-yellow-400: #fee18b;
|
|
89
|
+
--color-yellow-500: #fbd86f;
|
|
90
|
+
--color-yellow-600: #f8cd4f;
|
|
91
|
+
--color-yellow-700: #f5c32e;
|
|
92
|
+
--color-yellow-800: #f5ba0a;
|
|
93
|
+
--color-yellow-900: #d6a100;
|
|
94
|
+
--color-yellow-950: #ad8200;
|
|
95
|
+
--color-yellow-1000: #856300;
|
|
96
|
+
--color-yellow-1100: #664d00;
|
|
97
|
+
--color-yellow-1200: #473600;
|
|
98
|
+
--color-green-50: #f1f9f0;
|
|
99
|
+
--color-green-100: #dcf0db;
|
|
100
|
+
--color-green-200: #cbe8c9;
|
|
101
|
+
--color-green-300: #b6dfb3;
|
|
102
|
+
--color-green-400: #9dd49b;
|
|
103
|
+
--color-green-500: #7ec57d;
|
|
104
|
+
--color-green-600: #5eb55e;
|
|
105
|
+
--color-green-700: #3aa63c;
|
|
106
|
+
--color-green-800: #009900;
|
|
107
|
+
--color-green-900: #008000;
|
|
108
|
+
--color-green-950: #006b00;
|
|
109
|
+
--color-green-1000: #005200;
|
|
110
|
+
--color-green-1100: #003d04;
|
|
111
|
+
--color-green-1200: #002904;
|
|
112
|
+
--color-orange-50: #ffeed1;
|
|
113
|
+
--color-orange-100: #ffe8c2;
|
|
114
|
+
--color-orange-200: #ffdca3;
|
|
115
|
+
--color-orange-300: #ffca7a;
|
|
116
|
+
--color-orange-400: #ffb657;
|
|
117
|
+
--color-orange-500: #ffa333;
|
|
118
|
+
--color-orange-600: #ff9114;
|
|
119
|
+
--color-orange-700: #eb7900;
|
|
120
|
+
--color-orange-800: #d66c00;
|
|
121
|
+
--color-orange-900: #bd5b00;
|
|
122
|
+
--color-orange-950: #a34c00;
|
|
123
|
+
--color-orange-1000: #8a3b00;
|
|
124
|
+
--color-orange-1100: #6b2900;
|
|
125
|
+
--color-orange-1200: #4d1c00;
|
|
126
|
+
--color-pink-50: #fff5f9;
|
|
127
|
+
--color-pink-100: #fee1eb;
|
|
128
|
+
--color-pink-200: #fccfdf;
|
|
129
|
+
--color-pink-300: #fabdd2;
|
|
130
|
+
--color-pink-400: #f6a7c4;
|
|
131
|
+
--color-pink-500: #ef8fb2;
|
|
132
|
+
--color-pink-600: #e7739e;
|
|
133
|
+
--color-pink-700: #de5487;
|
|
134
|
+
--color-pink-800: #d62974;
|
|
135
|
+
--color-pink-900: #bb165b;
|
|
136
|
+
--color-pink-950: #991a44;
|
|
137
|
+
--color-pink-1000: #751538;
|
|
138
|
+
--color-pink-1100: #5a112d;
|
|
139
|
+
--color-pink-1200: #3d0b20;
|
|
140
|
+
--color-teal-50: #effaf9;
|
|
141
|
+
--color-teal-100: #cff2ef;
|
|
142
|
+
--color-teal-200: #b8eae5;
|
|
143
|
+
--color-teal-300: #98e2dc;
|
|
144
|
+
--color-teal-400: #6fd8d2;
|
|
145
|
+
--color-teal-500: #2fcac0;
|
|
146
|
+
--color-teal-600: #00b8ae;
|
|
147
|
+
--color-teal-700: #00a89d;
|
|
148
|
+
--color-teal-800: #008f88;
|
|
149
|
+
--color-teal-900: #007a74;
|
|
150
|
+
--color-teal-950: #00665f;
|
|
151
|
+
--color-teal-1000: #004d47;
|
|
152
|
+
--color-teal-1100: #003d3a;
|
|
153
|
+
--color-teal-1200: #002926;
|
|
154
|
+
--color-fuchsia-50: #fdf6fc;
|
|
155
|
+
--color-fuchsia-100: #f8e2f5;
|
|
156
|
+
--color-fuchsia-200: #f3d3ef;
|
|
157
|
+
--color-fuchsia-300: #efc2e9;
|
|
158
|
+
--color-fuchsia-400: #e7ace1;
|
|
159
|
+
--color-fuchsia-500: #dd92d5;
|
|
160
|
+
--color-fuchsia-600: #d17acd;
|
|
161
|
+
--color-fuchsia-700: #c55ec1;
|
|
162
|
+
--color-fuchsia-800: #b83db8;
|
|
163
|
+
--color-fuchsia-900: #9d2d9f;
|
|
164
|
+
--color-fuchsia-950: #842a82;
|
|
165
|
+
--color-fuchsia-1000: #651f64;
|
|
166
|
+
--color-fuchsia-1100: #4e184d;
|
|
167
|
+
--color-fuchsia-1200: #371036;
|
|
168
|
+
--color-lime-50: #f5faed;
|
|
169
|
+
--color-lime-100: #e4efd3;
|
|
170
|
+
--color-lime-200: #d5e6bb;
|
|
171
|
+
--color-lime-300: #c5dc9e;
|
|
172
|
+
--color-lime-400: #b2d07d;
|
|
173
|
+
--color-lime-500: #9dc057;
|
|
174
|
+
--color-lime-600: #87b018;
|
|
175
|
+
--color-lime-700: #779d00;
|
|
176
|
+
--color-lime-800: #688900;
|
|
177
|
+
--color-lime-900: #577400;
|
|
178
|
+
--color-lime-950: #476000;
|
|
179
|
+
--color-lime-1000: #364900;
|
|
180
|
+
--color-lime-1100: #283800;
|
|
181
|
+
--color-lime-1200: #1a2700;
|
|
182
|
+
--color-blue-50: #f0f9ff;
|
|
183
|
+
--color-blue-100: #d6eeff;
|
|
184
|
+
--color-blue-200: #c2e4ff;
|
|
185
|
+
--color-blue-300: #a8d8ff;
|
|
186
|
+
--color-blue-400: #8bcafe;
|
|
187
|
+
--color-blue-500: #6fb7fb;
|
|
188
|
+
--color-blue-600: #4fa3f8;
|
|
189
|
+
--color-blue-700: #2e8ef5;
|
|
190
|
+
--color-blue-800: #0a74f5;
|
|
191
|
+
--color-blue-900: #0060d6;
|
|
192
|
+
--color-blue-950: #0051ad;
|
|
193
|
+
--color-blue-1000: #003e85;
|
|
194
|
+
--color-blue-1100: #003066;
|
|
195
|
+
--color-blue-1200: #002147;
|
|
196
|
+
--color-neutral-50: #f7f7f7;
|
|
197
|
+
--color-neutral-100: #ebebeb;
|
|
198
|
+
--color-neutral-200: #e0e0e0;
|
|
199
|
+
--color-neutral-300: #d4d4d4;
|
|
200
|
+
--color-neutral-400: #c4c4c4;
|
|
201
|
+
--color-neutral-500: #b5b5b5;
|
|
202
|
+
--color-neutral-600: #a3a3a3;
|
|
203
|
+
--color-neutral-700: #858585;
|
|
204
|
+
--color-neutral-800: #636363;
|
|
205
|
+
--color-neutral-900: #575757;
|
|
206
|
+
--color-neutral-950: #424242;
|
|
207
|
+
--color-neutral-1000: #333333;
|
|
208
|
+
--color-neutral-1100: #242424;
|
|
209
|
+
--color-neutral-1200: #1a1a1a;
|
|
210
|
+
--color-white: #ffffff;
|
|
211
|
+
|
|
212
|
+
--color-background: var(--color-neutral-50);
|
|
213
|
+
--color-foreground: var(--color-neutral-1200);
|
|
214
|
+
--color-card: var(--color-white);
|
|
215
|
+
--color-card-foreground: var(--color-neutral-1200);
|
|
216
|
+
--color-popover: var(--color-white);
|
|
217
|
+
--color-popover-foreground: var(--color-neutral-1200);
|
|
218
|
+
--color-primary: var(--color-blue-900);
|
|
219
|
+
--color-primary-foreground: var(--color-white);
|
|
220
|
+
--color-primary-hover: var(--color-blue-1000);
|
|
221
|
+
--color-primary-active: var(--color-blue-1100);
|
|
222
|
+
--color-secondary: var(--color-neutral-50);
|
|
223
|
+
--color-secondary-foreground: var(--color-neutral-1200);
|
|
224
|
+
--color-muted: var(--color-neutral-100);
|
|
225
|
+
--color-muted-foreground: var(--color-neutral-900);
|
|
226
|
+
--color-muted-hover: var(--color-neutral-200);
|
|
227
|
+
--color-muted-active: var(--color-neutral-300);
|
|
228
|
+
/* Lighter than muted-foreground on purpose — see theme-tokens.css. */
|
|
229
|
+
--color-disabled-foreground: var(--color-neutral-800);
|
|
230
|
+
/* Matches --color-muted, not border/input — accent is a hover wash, not an outline. */
|
|
231
|
+
--color-accent: var(--color-neutral-100);
|
|
232
|
+
--color-accent-foreground: var(--color-neutral-1200);
|
|
233
|
+
--color-destructive: var(--color-red-900);
|
|
234
|
+
--color-destructive-foreground: var(--color-white);
|
|
235
|
+
--color-destructive-hover: var(--color-red-950);
|
|
236
|
+
--color-destructive-active: var(--color-red-1100);
|
|
237
|
+
--color-destructive-light: var(--color-red-100);
|
|
238
|
+
--color-destructive-ultra-light: var(--color-red-50);
|
|
239
|
+
--color-destructive-text: var(--color-red-950);
|
|
240
|
+
--color-success: var(--color-green-800);
|
|
241
|
+
--color-success-foreground: var(--color-neutral-1200);
|
|
242
|
+
--color-success-light: var(--color-green-100);
|
|
243
|
+
--color-success-ultra-light: var(--color-green-50);
|
|
244
|
+
--color-success-text: var(--color-green-1000);
|
|
245
|
+
--color-warning: var(--color-yellow-950);
|
|
246
|
+
--color-warning-foreground: var(--color-neutral-1200);
|
|
247
|
+
--color-warning-light: var(--color-yellow-100);
|
|
248
|
+
--color-warning-ultra-light: var(--color-yellow-50);
|
|
249
|
+
--color-warning-text: var(--color-yellow-1100);
|
|
250
|
+
--color-warning-solid-text: var(--color-neutral-1200);
|
|
251
|
+
--color-alert: var(--color-orange-800);
|
|
252
|
+
--color-alert-foreground: var(--color-neutral-1200);
|
|
253
|
+
--color-alert-light: var(--color-orange-100);
|
|
254
|
+
--color-alert-ultra-light: var(--color-orange-50);
|
|
255
|
+
--color-alert-text: var(--color-orange-1000);
|
|
256
|
+
--color-info: var(--color-blue-950);
|
|
257
|
+
--color-info-foreground: var(--color-white);
|
|
258
|
+
--color-info-light: var(--color-blue-100);
|
|
259
|
+
--color-info-ultra-light: var(--color-blue-50);
|
|
260
|
+
--color-info-text: var(--color-blue-1100);
|
|
261
|
+
--color-surface: var(--color-white);
|
|
262
|
+
--color-surface-foreground: var(--color-neutral-1200);
|
|
263
|
+
--color-surface-chat: var(--color-white);
|
|
264
|
+
--color-surface-chat-foreground: var(--color-neutral-1200);
|
|
265
|
+
--color-surface-canvas: var(--color-neutral-50);
|
|
266
|
+
--color-surface-canvas-foreground: var(--color-neutral-1200);
|
|
267
|
+
/* Matches Neutral-200 / shadcn's actual subtlety — see theme-tokens.css
|
|
268
|
+
for the full rationale (traded the WCAG 1.4.11 3:1 floor on purpose). */
|
|
269
|
+
--color-border: var(--color-neutral-200);
|
|
270
|
+
--color-border-subtle: var(--color-neutral-100);
|
|
271
|
+
--color-input: var(--color-neutral-200);
|
|
272
|
+
/* Darker step of Primary (Blue-950), not neutral gray — see
|
|
273
|
+
theme-tokens.css for the full rationale. */
|
|
274
|
+
--color-ring: var(--color-blue-950);
|
|
275
|
+
--color-ring-destructive: var(--color-red-400);
|
|
276
|
+
--color-overlay: rgb(26 26 26 / 0.35);
|
|
277
|
+
|
|
278
|
+
/* AI identity gradient */
|
|
279
|
+
--color-ai-grad-from: #e81f76;
|
|
280
|
+
--color-ai-grad-to: #eb5324;
|
|
281
|
+
--color-ai-grad-from-alpha: 0.8;
|
|
282
|
+
--color-ai-wash: #ffc208;
|
|
283
|
+
--color-ai-wash-alpha: 0.24;
|
|
284
|
+
/* pre-baked for linear-gradient() */
|
|
285
|
+
--color-ai-grad-from-fade: color-mix(in srgb, #e81f76 80%, transparent);
|
|
286
|
+
--color-ai-wash-fade: color-mix(in srgb, #ffc208 24%, transparent);
|
|
287
|
+
|
|
288
|
+
/* Sidebar — matches --color-background, not --color-card, so a card sits
|
|
289
|
+
visibly raised against it. */
|
|
290
|
+
--color-sidebar: var(--color-neutral-50);
|
|
291
|
+
--color-sidebar-foreground: var(--color-neutral-1200);
|
|
292
|
+
--color-sidebar-primary: var(--color-blue-900);
|
|
293
|
+
--color-sidebar-primary-foreground: var(--color-white);
|
|
294
|
+
--color-sidebar-accent: var(--color-neutral-100);
|
|
295
|
+
--color-sidebar-accent-foreground: var(--color-neutral-1200);
|
|
296
|
+
--color-sidebar-border: var(--color-neutral-200);
|
|
297
|
+
--color-sidebar-ring: var(--color-blue-950);
|
|
298
|
+
|
|
299
|
+
/* Chart ramp — Accent 1-8 primitives at their -900 step, independent from
|
|
300
|
+
status colors/primary. See theme-tokens.css for the full rationale. */
|
|
301
|
+
--color-chart-1: var(--color-orange-900);
|
|
302
|
+
--color-chart-2: var(--color-violet-900);
|
|
303
|
+
--color-chart-3: var(--color-indigo-900);
|
|
304
|
+
--color-chart-4: var(--color-lime-900);
|
|
305
|
+
--color-chart-5: var(--color-cyan-900);
|
|
306
|
+
--color-chart-6: var(--color-pink-900);
|
|
307
|
+
--color-chart-7: var(--color-teal-900);
|
|
308
|
+
--color-chart-8: var(--color-fuchsia-900);
|
|
309
|
+
|
|
310
|
+
/* Shadows — neutral gray-1200 base (Night), not pure black */
|
|
311
|
+
--shadow-md:
|
|
312
|
+
0 4px 6px -1px rgb(26 26 26 / 0.1), 0 2px 4px -2px rgb(26 26 26 / 0.1);
|
|
313
|
+
--shadow-lg:
|
|
314
|
+
0 10px 15px -3px rgb(26 26 26 / 0.1), 0 4px 6px -4px rgb(26 26 26 / 0.1);
|
|
315
|
+
--shadow-popover: 0 0 20px -4px rgb(26 26 26 / 0.18);
|
|
316
|
+
/* AI glow, outward, blur layer only — the crisp ring is a separate
|
|
317
|
+
`@utility shadow-ai-glow` below (box-shadow can't paint the ring's
|
|
318
|
+
gradient). See theme-tokens.css for the full rationale. */
|
|
319
|
+
--shadow-ai-glow-blur: 0 0 16px 4px var(--color-ai-wash-fade);
|
|
320
|
+
/* AI glow, inward — a background-image glow (not a ring/border) for
|
|
321
|
+
row/column-scale AI marking, and a bottom-edge variant for whole-table
|
|
322
|
+
AI presence. See theme-tokens.css for the full rationale. */
|
|
323
|
+
--background-image-ai-glow: linear-gradient(
|
|
324
|
+
to right,
|
|
325
|
+
var(--color-ai-wash-fade),
|
|
326
|
+
transparent 20%
|
|
327
|
+
);
|
|
328
|
+
--background-image-ai-glow-bottom: linear-gradient(
|
|
329
|
+
to top,
|
|
330
|
+
var(--color-ai-wash-fade),
|
|
331
|
+
transparent 15%
|
|
332
|
+
);
|
|
333
|
+
|
|
334
|
+
/* Animation */
|
|
335
|
+
--animate-step-in: mmds-step-in 180ms ease-out both;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/* AI glow, outward, ring layer — a plain CSS variable can't hold a
|
|
339
|
+
gradient-shaped box-shadow ring, so this is an explicit `@utility`, not a
|
|
340
|
+
theme value: box-shadow only paints the soft blur (--shadow-ai-glow-blur
|
|
341
|
+
above); the crisp 1px ring is a `::before` painted with the SAME
|
|
342
|
+
two-stop gradient (ai-wash → ai-grad-from) the AI Card recipe's gradient
|
|
343
|
+
outline uses, so both read as the same colour family instead of a flat
|
|
344
|
+
approximation. `mask-composite: exclude` (the standard gradient-border
|
|
345
|
+
trick) keeps the gradient visible only in the 1px padding ring and fully
|
|
346
|
+
transparent everywhere else, so it never covers content and needs no
|
|
347
|
+
wrapper div — that's the whole point of this variant over the outline. */
|
|
348
|
+
@utility shadow-ai-glow {
|
|
349
|
+
position: relative;
|
|
350
|
+
box-shadow: var(--shadow-ai-glow-blur);
|
|
351
|
+
|
|
352
|
+
&::before {
|
|
353
|
+
content: "";
|
|
354
|
+
position: absolute;
|
|
355
|
+
inset: 0;
|
|
356
|
+
border-radius: inherit;
|
|
357
|
+
padding: 1px;
|
|
358
|
+
background: linear-gradient(
|
|
359
|
+
to right,
|
|
360
|
+
var(--color-ai-wash),
|
|
361
|
+
var(--color-ai-grad-from)
|
|
362
|
+
);
|
|
363
|
+
-webkit-mask:
|
|
364
|
+
linear-gradient(#fff 0 0) content-box,
|
|
365
|
+
linear-gradient(#fff 0 0);
|
|
366
|
+
-webkit-mask-composite: xor;
|
|
367
|
+
mask-composite: exclude;
|
|
368
|
+
pointer-events: none;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/* Authoritative values, for direct importers only — `@reference` means index.css
|
|
373
|
+
never reaches this rule. theme-tokens.css carries dark mode too. */
|
|
374
|
+
:root {
|
|
375
|
+
@import "./theme-tokens.css";
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/* Tailwind v4 dropped the old v3 default of resolving an unsuffixed border
|
|
379
|
+
utility (bare `border`/`border-b`/`border-t`/etc., no color class) to
|
|
380
|
+
gray-200 — it now resolves to `currentColor` instead, a documented
|
|
381
|
+
breaking change. MMDS's own components (Table's TableRow, Card's
|
|
382
|
+
CardFooter, Dialog's DialogFooter, Sidebar's rail edge, and others) rely
|
|
383
|
+
on that old default and never write `border-border` explicitly on every
|
|
384
|
+
one of them — same as shadcn/ui's own source, which this is forked from.
|
|
385
|
+
Path A (index.css, the prebuilt scoped stylesheet) already restores it
|
|
386
|
+
via this exact rule inside its own preflight. A direct `theme.css`
|
|
387
|
+
import has no preflight of its own, so a consuming Tailwind v4 build
|
|
388
|
+
never gets it — every one of those dividers silently renders in
|
|
389
|
+
`currentColor` (usually near-black body text) instead of the intended
|
|
390
|
+
`--color-border`. This is Tailwind's own documented v3→v4 compatibility
|
|
391
|
+
snippet (also what shadcn's CLI now scaffolds into new v4 projects'
|
|
392
|
+
`globals.css`), just pointed at the design token instead of a hardcoded
|
|
393
|
+
gray — not an MMDS-specific patch, so it stays correct across future
|
|
394
|
+
Tailwind/shadcn versions instead of drifting from them. */
|
|
395
|
+
@layer base {
|
|
396
|
+
*,
|
|
397
|
+
::after,
|
|
398
|
+
::before,
|
|
399
|
+
::backdrop,
|
|
400
|
+
::file-selector-button {
|
|
401
|
+
border-color: var(--color-border, currentColor);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/* Prefixed because `@keyframes` names resolve document-wide and can't be scoped.
|
|
406
|
+
Also duplicated in index.css, which `@reference` stops from inheriting it. */
|
|
407
|
+
@keyframes mmds-step-in {
|
|
408
|
+
from {
|
|
409
|
+
opacity: 0;
|
|
410
|
+
transform: translateY(6px);
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
to {
|
|
414
|
+
opacity: 1;
|
|
415
|
+
transform: translateY(0);
|
|
416
|
+
}
|
|
417
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,106 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inui/design-system",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "1.22.0",
|
|
4
|
+
"description": "Magic Masala design system — the full shadcn/ui component set on Tailwind CSS v4 with a customisable token layer.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"sideEffects": [
|
|
8
|
+
"**/*.css"
|
|
9
|
+
],
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./styles.css": "./dist/styles.css",
|
|
19
|
+
"./theme.css": "./dist/theme.css",
|
|
20
|
+
"./package.json": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
"main": "./dist/index.js",
|
|
23
|
+
"module": "./dist/index.js",
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"lucide-react": ">=1.0.0",
|
|
27
|
+
"react": "^19.0.0",
|
|
28
|
+
"react-dom": "^19.0.0"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@base-ui/react": "^1.7.0",
|
|
32
|
+
"@shadcn/react": "^0.3.0",
|
|
33
|
+
"@tanstack/react-table": "^8.21.3",
|
|
34
|
+
"class-variance-authority": "^0.7.1",
|
|
35
|
+
"clsx": "^2.1.1",
|
|
36
|
+
"cmdk": "^1.1.1",
|
|
37
|
+
"date-fns": "^4.4.0",
|
|
38
|
+
"embla-carousel-react": "^8.6.0",
|
|
39
|
+
"input-otp": "^1.4.2",
|
|
40
|
+
"radix-ui": "^1.6.7",
|
|
41
|
+
"react-day-picker": "^10.0.1",
|
|
42
|
+
"react-resizable-panels": "^4.12.2",
|
|
43
|
+
"sonner": "^2.0.8",
|
|
44
|
+
"tailwind-merge": "^3.6.0",
|
|
45
|
+
"vaul": "^1.1.2"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@eslint/js": "^10.0.0",
|
|
49
|
+
"@fontsource-variable/dm-sans": "^5.3.0",
|
|
50
|
+
"@fontsource/dm-mono": "^5.3.0",
|
|
51
|
+
"@storybook/addon-a11y": "^10.5.10",
|
|
52
|
+
"@storybook/addon-docs": "^10.5.10",
|
|
53
|
+
"@storybook/addon-themes": "^10.5.10",
|
|
54
|
+
"@storybook/react-vite": "^10.5.10",
|
|
55
|
+
"@tailwindcss/cli": "^4.3.3",
|
|
56
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
57
|
+
"@types/node": "^24.0.0",
|
|
58
|
+
"@types/react": "^19.2.0",
|
|
59
|
+
"@types/react-dom": "^19.2.0",
|
|
60
|
+
"@vitejs/plugin-react": "^6.0.5",
|
|
61
|
+
"eslint": "^10.0.0",
|
|
62
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
63
|
+
"eslint-plugin-storybook": "^10.5.10",
|
|
64
|
+
"fast-glob": "^3.3.3",
|
|
65
|
+
"globals": "^17.0.0",
|
|
66
|
+
"lucide-react": "^1.31.0",
|
|
67
|
+
"playwright": "^1.62.1",
|
|
68
|
+
"prettier": "^3.8.3",
|
|
69
|
+
"prettier-plugin-tailwindcss": "^0.8.0",
|
|
70
|
+
"react": "^19.2.8",
|
|
71
|
+
"react-docgen-typescript": "^2.4.0",
|
|
72
|
+
"react-dom": "^19.2.8",
|
|
73
|
+
"shadcn": "^4.17.0",
|
|
74
|
+
"storybook": "^10.5.10",
|
|
75
|
+
"tailwindcss": "^4.3.3",
|
|
76
|
+
"tsc-alias": "^1.9.1",
|
|
77
|
+
"tw-animate-css": "^1.4.0",
|
|
78
|
+
"typescript": "~6.0.3",
|
|
79
|
+
"typescript-eslint": "^8.0.0",
|
|
80
|
+
"vite": "^8.2.1"
|
|
81
|
+
},
|
|
82
|
+
"engines": {
|
|
83
|
+
"node": ">=20"
|
|
84
|
+
},
|
|
85
|
+
"scripts": {
|
|
86
|
+
"dev": "pnpm run docgen && storybook dev -p 6006",
|
|
87
|
+
"storybook": "pnpm run docgen && storybook dev -p 6006",
|
|
88
|
+
"build": "pnpm run build:js && pnpm run build:types && pnpm run build:css",
|
|
89
|
+
"build:js": "vite build -c vite.lib.config.ts",
|
|
90
|
+
"build:types": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|
|
91
|
+
"build:css": "tailwindcss -i src/styles/index.css -o dist/styles.css --minify && cp src/styles/theme.css src/styles/theme-tokens.css dist/",
|
|
92
|
+
"build:storybook": "pnpm run build:types && pnpm run docgen && storybook build -o storybook-static",
|
|
93
|
+
"typecheck": "tsc --noEmit",
|
|
94
|
+
"lint": "eslint .",
|
|
95
|
+
"lint:fix": "eslint . --fix",
|
|
96
|
+
"format": "prettier --write \"**/*.{ts,tsx,css,md,json}\"",
|
|
97
|
+
"format:check": "prettier --check \"**/*.{ts,tsx,css,md,json}\"",
|
|
98
|
+
"release": "test -n \"$PACKAGE_VERSION\" && npm pkg set version=\"$PACKAGE_VERSION\" && pnpm publish --no-git-checks --access public --tag \"${DIST_TAG:-latest}\"",
|
|
99
|
+
"docgen": "node scripts/gen-docgen.mjs",
|
|
100
|
+
"usage-guidelines": "node scripts/gen-usage-guidelines.mjs",
|
|
101
|
+
"check-contrast": "node scripts/check-foreground-contrast.mjs",
|
|
102
|
+
"check-clinical-contrast": "node scripts/check-clinical-contrast.mjs",
|
|
103
|
+
"check-colorblind-distinction": "node scripts/check-colorblind-distinction.mjs",
|
|
104
|
+
"test-a11y": "node scripts/axe-scan.mjs"
|
|
105
|
+
}
|
|
6
106
|
}
|