@gv-tech/design-system 2.3.0 → 2.4.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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +8 -0
- package/dist/App.d.ts +1 -2
- package/dist/App.d.ts.map +1 -1
- package/dist/accordion.cjs.js +2 -0
- package/dist/accordion.cjs.js.map +1 -0
- package/dist/accordion.es.js +38 -0
- package/dist/accordion.es.js.map +1 -0
- package/dist/alert-dialog.cjs.js +2 -0
- package/dist/alert-dialog.cjs.js.map +1 -0
- package/dist/alert-dialog.es.js +64 -0
- package/dist/alert-dialog.es.js.map +1 -0
- package/dist/alert.cjs.js +2 -0
- package/dist/alert.cjs.js.map +1 -0
- package/dist/alert.es.js +32 -0
- package/dist/alert.es.js.map +1 -0
- package/dist/aspect-ratio.cjs.js +2 -0
- package/dist/aspect-ratio.cjs.js.map +1 -0
- package/dist/aspect-ratio.es.js +6 -0
- package/dist/aspect-ratio.es.js.map +1 -0
- package/dist/avatar.cjs.js +2 -0
- package/dist/avatar.cjs.js.map +1 -0
- package/dist/avatar.es.js +29 -0
- package/dist/avatar.es.js.map +1 -0
- package/dist/badge.cjs.js +2 -0
- package/dist/badge.cjs.js.map +1 -0
- package/dist/badge.es.js +26 -0
- package/dist/badge.es.js.map +1 -0
- package/dist/breadcrumb.cjs.js +2 -0
- package/dist/breadcrumb.cjs.js.map +1 -0
- package/dist/breadcrumb.es.js +68 -0
- package/dist/breadcrumb.es.js.map +1 -0
- package/dist/button.cjs.js +2 -0
- package/dist/button.cjs.js.map +1 -0
- package/dist/button.es.js +39 -0
- package/dist/button.es.js.map +1 -0
- package/dist/calendar.cjs.js +2 -0
- package/dist/calendar.cjs.js.map +1 -0
- package/dist/calendar.es.js +132 -0
- package/dist/calendar.es.js.map +1 -0
- package/dist/card.cjs.js +2 -0
- package/dist/card.cjs.js.map +1 -0
- package/dist/card.es.js +34 -0
- package/dist/card.es.js.map +1 -0
- package/dist/carousel.cjs.js +2 -0
- package/dist/carousel.cjs.js.map +1 -0
- package/dist/carousel.es.js +158 -0
- package/dist/carousel.es.js.map +1 -0
- package/dist/chart.cjs.js +8 -0
- package/dist/chart.cjs.js.map +1 -0
- package/dist/chart.es.js +187 -0
- package/dist/chart.es.js.map +1 -0
- package/dist/checkbox.cjs.js +2 -0
- package/dist/checkbox.cjs.js.map +1 -0
- package/dist/checkbox.es.js +20 -0
- package/dist/checkbox.es.js.map +1 -0
- package/dist/collapsible.cjs.js +2 -0
- package/dist/collapsible.cjs.js.map +1 -0
- package/dist/collapsible.es.js +8 -0
- package/dist/collapsible.es.js.map +1 -0
- package/dist/command.cjs.js +2 -0
- package/dist/command.cjs.js.map +1 -0
- package/dist/command.es.js +86 -0
- package/dist/command.es.js.map +1 -0
- package/dist/components/docs/Sidebar.d.ts +2 -1
- package/dist/components/docs/Sidebar.d.ts.map +1 -1
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/context-menu.cjs.js +2 -0
- package/dist/context-menu.cjs.js.map +1 -0
- package/dist/context-menu.es.js +121 -0
- package/dist/context-menu.es.js.map +1 -0
- package/dist/design-system.css +1 -1
- package/dist/dialog.cjs.js +2 -0
- package/dist/dialog.cjs.js.map +1 -0
- package/dist/dialog.es.js +65 -0
- package/dist/dialog.es.js.map +1 -0
- package/dist/drawer.cjs.js +2 -0
- package/dist/drawer.cjs.js.map +1 -0
- package/dist/drawer.es.js +54 -0
- package/dist/drawer.es.js.map +1 -0
- package/dist/dropdown-menu.cjs.js +2 -0
- package/dist/dropdown-menu.cjs.js.map +1 -0
- package/dist/dropdown-menu.es.js +123 -0
- package/dist/dropdown-menu.es.js.map +1 -0
- package/dist/form.cjs.js +2 -0
- package/dist/form.cjs.js.map +1 -0
- package/dist/form.es.js +83 -0
- package/dist/form.es.js.map +1 -0
- package/dist/hover-card.cjs.js +2 -0
- package/dist/hover-card.cjs.js.map +1 -0
- package/dist/hover-card.es.js +23 -0
- package/dist/hover-card.es.js.map +1 -0
- package/dist/index.cjs.js +1 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +285 -2451
- package/dist/index.es.js.map +1 -1
- package/dist/input.cjs.js +2 -0
- package/dist/input.cjs.js.map +1 -0
- package/dist/input.es.js +22 -0
- package/dist/input.es.js.map +1 -0
- package/dist/label.cjs.js +2 -0
- package/dist/label.cjs.js.map +1 -0
- package/dist/label.es.js +9 -0
- package/dist/label.es.js.map +1 -0
- package/dist/menubar.cjs.js +2 -0
- package/dist/menubar.cjs.js.map +1 -0
- package/dist/menubar.es.js +161 -0
- package/dist/menubar.es.js.map +1 -0
- package/dist/navigation-menu.cjs.js +2 -0
- package/dist/navigation-menu.cjs.js.map +1 -0
- package/dist/navigation-menu.es.js +96 -0
- package/dist/navigation-menu.es.js.map +1 -0
- package/dist/pages/GettingStarted.d.ts.map +1 -1
- package/dist/pagination.cjs.js +2 -0
- package/dist/pagination.cjs.js.map +1 -0
- package/dist/pagination.es.js +60 -0
- package/dist/pagination.es.js.map +1 -0
- package/dist/popover.cjs.js +2 -0
- package/dist/popover.cjs.js.map +1 -0
- package/dist/popover.es.js +24 -0
- package/dist/popover.es.js.map +1 -0
- package/dist/progress.cjs.js +2 -0
- package/dist/progress.cjs.js.map +1 -0
- package/dist/progress.es.js +24 -0
- package/dist/progress.es.js.map +1 -0
- package/dist/radio-group.cjs.js +2 -0
- package/dist/radio-group.cjs.js.map +1 -0
- package/dist/radio-group.es.js +23 -0
- package/dist/radio-group.es.js.map +1 -0
- package/dist/registry/command.json +1 -1
- package/dist/registry/search.json +1 -1
- package/dist/registry/search.test.json +1 -1
- package/dist/resizable.cjs.js +2 -0
- package/dist/resizable.cjs.js.map +1 -0
- package/dist/resizable.es.js +34 -0
- package/dist/resizable.es.js.map +1 -0
- package/dist/scroll-area.cjs.js +2 -0
- package/dist/scroll-area.cjs.js.map +1 -0
- package/dist/scroll-area.es.js +30 -0
- package/dist/scroll-area.es.js.map +1 -0
- package/dist/search.cjs.js +2 -0
- package/dist/search.cjs.js.map +1 -0
- package/dist/search.es.js +60 -0
- package/dist/search.es.js.map +1 -0
- package/dist/select.cjs.js +2 -0
- package/dist/select.cjs.js.map +1 -0
- package/dist/select.es.js +100 -0
- package/dist/select.es.js.map +1 -0
- package/dist/separator.cjs.js +2 -0
- package/dist/separator.cjs.js.map +1 -0
- package/dist/separator.es.js +18 -0
- package/dist/separator.es.js.map +1 -0
- package/dist/sheet.cjs.js +2 -0
- package/dist/sheet.cjs.js.map +1 -0
- package/dist/sheet.es.js +64 -0
- package/dist/sheet.es.js.map +1 -0
- package/dist/skeleton.cjs.js +2 -0
- package/dist/skeleton.cjs.js.map +1 -0
- package/dist/skeleton.es.js +9 -0
- package/dist/skeleton.es.js.map +1 -0
- package/dist/slider.cjs.js +2 -0
- package/dist/slider.cjs.js.map +1 -0
- package/dist/slider.es.js +20 -0
- package/dist/slider.es.js.map +1 -0
- package/dist/sonner.cjs.js +2 -0
- package/dist/sonner.cjs.js.map +1 -0
- package/dist/sonner.es.js +25 -0
- package/dist/sonner.es.js.map +1 -0
- package/dist/switch.cjs.js +2 -0
- package/dist/switch.cjs.js.map +1 -0
- package/dist/switch.es.js +27 -0
- package/dist/switch.es.js.map +1 -0
- package/dist/table.cjs.js +2 -0
- package/dist/table.cjs.js.map +1 -0
- package/dist/table.es.js +70 -0
- package/dist/table.es.js.map +1 -0
- package/dist/tabs.cjs.js +2 -0
- package/dist/tabs.cjs.js.map +1 -0
- package/dist/tabs.es.js +46 -0
- package/dist/tabs.es.js.map +1 -0
- package/dist/textarea.cjs.js +2 -0
- package/dist/textarea.cjs.js.map +1 -0
- package/dist/textarea.es.js +21 -0
- package/dist/textarea.es.js.map +1 -0
- package/dist/theme/tokens.d.ts +46 -0
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme-provider.cjs.js +2 -0
- package/dist/theme-provider.cjs.js.map +1 -0
- package/dist/theme-provider.es.js +9 -0
- package/dist/theme-provider.es.js.map +1 -0
- package/dist/theme-toggle-CCUkxY6o.mjs +181 -0
- package/dist/theme-toggle-CCUkxY6o.mjs.map +1 -0
- package/dist/theme-toggle-Dc_nm_32.js +2 -0
- package/dist/theme-toggle-Dc_nm_32.js.map +1 -0
- package/dist/theme-toggle.cjs.js +2 -0
- package/dist/theme-toggle.cjs.js.map +1 -0
- package/dist/theme-toggle.es.js +9 -0
- package/dist/theme-toggle.es.js.map +1 -0
- package/dist/toast.cjs.js +2 -0
- package/dist/toast.cjs.js.map +1 -0
- package/dist/toast.es.js +70 -0
- package/dist/toast.es.js.map +1 -0
- package/dist/toaster-BjPc-lId.js +2 -0
- package/dist/toaster-BjPc-lId.js.map +1 -0
- package/dist/toaster-Bk6a4gIz.mjs +120 -0
- package/dist/toaster-Bk6a4gIz.mjs.map +1 -0
- package/dist/toaster.cjs.js +2 -0
- package/dist/toaster.cjs.js.map +1 -0
- package/dist/toaster.es.js +7 -0
- package/dist/toaster.es.js.map +1 -0
- package/dist/toggle-group.cjs.js +2 -0
- package/dist/toggle-group.cjs.js.map +1 -0
- package/dist/toggle-group.es.js +33 -0
- package/dist/toggle-group.es.js.map +1 -0
- package/dist/toggle.cjs.js +2 -0
- package/dist/toggle.cjs.js.map +1 -0
- package/dist/toggle.es.js +29 -0
- package/dist/toggle.es.js.map +1 -0
- package/dist/tooltip.cjs.js +2 -0
- package/dist/tooltip.cjs.js.map +1 -0
- package/dist/tooltip.es.js +23 -0
- package/dist/tooltip.es.js.map +1 -0
- package/dist/utils-C9QGdMaH.mjs +8 -0
- package/dist/utils-C9QGdMaH.mjs.map +1 -0
- package/dist/utils-CUFNKXRW.js +2 -0
- package/dist/utils-CUFNKXRW.js.map +1 -0
- package/dist/{vendor-Bcg_ARLM.mjs → vendor-CCQzmGyD.mjs} +150 -150
- package/dist/{vendor-Bcg_ARLM.mjs.map → vendor-CCQzmGyD.mjs.map} +1 -1
- package/dist/{vendor-BrqPND3G.js → vendor-CIyDEr7H.js} +2 -2
- package/dist/{vendor-BrqPND3G.js.map → vendor-CIyDEr7H.js.map} +1 -1
- package/package.json +249 -4
- package/scripts/sync-exports.ts +52 -0
- package/scripts/sync-tokens.ts +73 -0
- package/scripts/{validate.js → validate.ts} +14 -8
- package/src/App.tsx +62 -25
- package/src/components/docs/ComponentShowcase.tsx +5 -5
- package/src/components/docs/Sidebar.tsx +3 -2
- package/src/components/ui/command.tsx +3 -1
- package/src/components/ui/search.test.tsx +2 -0
- package/src/components/ui/search.tsx +3 -3
- package/src/globals.css +22 -0
- package/src/pages/ColorTokensDocs.tsx +4 -4
- package/src/pages/GettingStarted.tsx +6 -4
- package/src/theme/tokens.ts +60 -38
- package/vite.config.ts +25 -3
|
@@ -9,6 +9,8 @@ vi.mock('@/components/ui/dialog', () => ({
|
|
|
9
9
|
DialogContent: ({ children }: { children: React.ReactNode }) => <div>{children}</div>,
|
|
10
10
|
DialogPortal: ({ children }: { children: React.ReactNode }) => <div>{children}</div>,
|
|
11
11
|
DialogOverlay: () => null,
|
|
12
|
+
DialogTitle: ({ children }: { children: React.ReactNode }) => <h2>{children}</h2>,
|
|
13
|
+
DialogDescription: ({ children }: { children: React.ReactNode }) => <p>{children}</p>,
|
|
12
14
|
}));
|
|
13
15
|
|
|
14
16
|
describe('Search', () => {
|
|
@@ -70,8 +70,8 @@ export const SearchTrigger = React.forwardRef<HTMLButtonElement, SearchTriggerPr
|
|
|
70
70
|
className={cn(
|
|
71
71
|
'relative h-9 text-sm text-muted-foreground transition-all transition-colors',
|
|
72
72
|
variant === 'default'
|
|
73
|
-
? 'w-full justify-start
|
|
74
|
-
: 'w-9 justify-center px-0
|
|
73
|
+
? 'w-full justify-start pr-12'
|
|
74
|
+
: 'w-9 justify-center px-0 md:w-40 md:justify-start md:px-3 md:pr-12 lg:w-64',
|
|
75
75
|
className,
|
|
76
76
|
)}
|
|
77
77
|
ref={ref}
|
|
@@ -79,7 +79,7 @@ export const SearchTrigger = React.forwardRef<HTMLButtonElement, SearchTriggerPr
|
|
|
79
79
|
>
|
|
80
80
|
<span className="inline-flex items-center gap-2">
|
|
81
81
|
<SearchIcon className="h-4 w-4 shrink-0" />
|
|
82
|
-
{variant === '
|
|
82
|
+
<span className={cn('truncate', variant === 'compact' && 'hidden md:inline')}>{placeholder}</span>
|
|
83
83
|
</span>
|
|
84
84
|
<kbd className="pointer-events-none absolute right-1.5 top-1.5 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 sm:flex">
|
|
85
85
|
<span className="text-xs">⌘</span>K
|
package/src/globals.css
CHANGED
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
@layer base {
|
|
36
|
+
/* @tokens-start */
|
|
36
37
|
:root {
|
|
37
38
|
--background: 0 0% 96%;
|
|
38
39
|
--foreground: 222 47% 11%;
|
|
@@ -59,6 +60,25 @@
|
|
|
59
60
|
--brand-blue: 225 73% 57%;
|
|
60
61
|
--brand-green: 151 66% 27%;
|
|
61
62
|
--brand-floral-white: 40 100% 97%;
|
|
63
|
+
--neutral-white: 0 0% 100%;
|
|
64
|
+
--neutral-black: 0 0% 0%;
|
|
65
|
+
--neutral-gray50: 0 0% 96%;
|
|
66
|
+
--neutral-gray100: 0 0% 92%;
|
|
67
|
+
--neutral-gray200: 0 0% 89%;
|
|
68
|
+
--neutral-gray300: 0 0% 88%;
|
|
69
|
+
--neutral-gray400: 0 0% 70%;
|
|
70
|
+
--neutral-gray500: 215 16% 47%;
|
|
71
|
+
--neutral-gray600: 222 47% 11%;
|
|
72
|
+
--neutral-gray700: 0 0% 18%;
|
|
73
|
+
--neutral-gray800: 0 0% 15%;
|
|
74
|
+
--neutral-gray900: 0 0% 14%;
|
|
75
|
+
--neutral-gray950: 0 0% 11%;
|
|
76
|
+
--neutral-gray975: 0 0% 9%;
|
|
77
|
+
--neutral-gray990: 0 0% 6%;
|
|
78
|
+
--semantic-success: 93 28% 54%;
|
|
79
|
+
--semantic-success-dark: 96 44% 61%;
|
|
80
|
+
--semantic-destructive: 0 84.2% 60.2%;
|
|
81
|
+
--semantic-destructive-dark: 0 62.8% 30.6%;
|
|
62
82
|
}
|
|
63
83
|
|
|
64
84
|
.dark {
|
|
@@ -81,7 +101,9 @@
|
|
|
81
101
|
--border: 0 0% 18%;
|
|
82
102
|
--input: 0 0% 18%;
|
|
83
103
|
--ring: 0 0% 90%;
|
|
104
|
+
--radius: 0.5rem;
|
|
84
105
|
}
|
|
106
|
+
/* @tokens-end */
|
|
85
107
|
}
|
|
86
108
|
|
|
87
109
|
@layer base {
|
|
@@ -7,8 +7,8 @@ export function ColorTokensDocs() {
|
|
|
7
7
|
return (
|
|
8
8
|
<div className="space-y-12">
|
|
9
9
|
<div className="space-y-4">
|
|
10
|
-
<h1 className="text-4xl font-extrabold tracking-tight">Color Tokens</h1>
|
|
11
|
-
<p className="text-xl text-muted-foreground max-w-2xl">
|
|
10
|
+
<h1 className="text-3xl md:text-4xl font-extrabold tracking-tight">Color Tokens</h1>
|
|
11
|
+
<p className="text-lg md:text-xl text-muted-foreground max-w-2xl">
|
|
12
12
|
The Garcia Ventures design system is built on a robust token architecture that ensures consistency,
|
|
13
13
|
accessibility, and easy maintenance across all digital products.
|
|
14
14
|
</p>
|
|
@@ -167,8 +167,8 @@ const MyComponent = () => {
|
|
|
167
167
|
|
|
168
168
|
<section className="space-y-6">
|
|
169
169
|
<h2 className="text-3xl font-bold tracking-tight">Semantic Tokens Reference</h2>
|
|
170
|
-
<div className="rounded-xl border shadow-sm overflow-
|
|
171
|
-
<Table>
|
|
170
|
+
<div className="rounded-xl border shadow-sm overflow-x-auto">
|
|
171
|
+
<Table className="min-w-[600px] md:min-w-full">
|
|
172
172
|
<TableHeader>
|
|
173
173
|
<TableRow className="bg-muted/50 hover:bg-muted/50">
|
|
174
174
|
<TableHead className="w-[200px]">Token</TableHead>
|
|
@@ -6,8 +6,10 @@ export function GettingStartedPage() {
|
|
|
6
6
|
return (
|
|
7
7
|
<div className="space-y-8">
|
|
8
8
|
<div className="space-y-2">
|
|
9
|
-
<h1 className="text-4xl font-bold tracking-tight
|
|
10
|
-
|
|
9
|
+
<h1 className="text-3xl md:text-4xl font-bold tracking-tight text-center md:text-left">
|
|
10
|
+
GV Tech Design System
|
|
11
|
+
</h1>
|
|
12
|
+
<p className="text-lg md:text-xl text-muted-foreground text-center md:text-left">
|
|
11
13
|
A comprehensive React component library built with shadcn/ui and Tailwind CSS.
|
|
12
14
|
</p>
|
|
13
15
|
</div>
|
|
@@ -100,8 +102,8 @@ export function InstallationPage() {
|
|
|
100
102
|
return (
|
|
101
103
|
<div className="space-y-8">
|
|
102
104
|
<div className="space-y-2">
|
|
103
|
-
<h1 className="text-3xl font-bold tracking-tight">Installation</h1>
|
|
104
|
-
<p className="text-lg text-muted-foreground">
|
|
105
|
+
<h1 className="text-2xl md:text-3xl font-bold tracking-tight">Installation</h1>
|
|
106
|
+
<p className="text-base md:text-lg text-muted-foreground">
|
|
105
107
|
Get started with the GV Tech Design System in your React project.
|
|
106
108
|
</p>
|
|
107
109
|
</div>
|
package/src/theme/tokens.ts
CHANGED
|
@@ -9,51 +9,73 @@ export const palette = {
|
|
|
9
9
|
green: 'hsl(151 66% 27%)', // #177245 (Stability)
|
|
10
10
|
floralWhite: 'hsl(40 100% 97%)', // Light Neutral / Floral White
|
|
11
11
|
},
|
|
12
|
-
|
|
12
|
+
neutral: {
|
|
13
|
+
white: 'hsl(0 0% 100%)',
|
|
14
|
+
black: 'hsl(0 0% 0%)', // Pure Black
|
|
15
|
+
gray50: 'hsl(0 0% 96%)', // White Smoke
|
|
16
|
+
gray100: 'hsl(0 0% 92%)', // Gainsboro
|
|
17
|
+
gray200: 'hsl(0 0% 89%)', // Light Gray
|
|
18
|
+
gray300: 'hsl(0 0% 88%)', // French Gray
|
|
19
|
+
gray400: 'hsl(0 0% 70%)', // Silver
|
|
20
|
+
gray500: 'hsl(215 16% 47%)', // Steel Blue
|
|
21
|
+
gray600: 'hsl(222 47% 11%)', // Oxford Blue
|
|
22
|
+
gray700: 'hsl(0 0% 18%)', // Raisin Black
|
|
23
|
+
gray800: 'hsl(0 0% 15%)', // Jet
|
|
24
|
+
gray900: 'hsl(0 0% 14%)', // Eerie Black
|
|
25
|
+
gray950: 'hsl(0 0% 11%)', // Night (alt)
|
|
26
|
+
gray975: 'hsl(0 0% 9%)', // Night
|
|
27
|
+
gray990: 'hsl(0 0% 6%)', // Black (almost)
|
|
28
|
+
},
|
|
29
|
+
semantic: {
|
|
30
|
+
success: 'hsl(93 28% 54%)', // Asparagus / Pistachio
|
|
31
|
+
successDark: 'hsl(96 44% 61%)',
|
|
32
|
+
destructive: 'hsl(0 84.2% 60.2%)', // Vivid Red
|
|
33
|
+
destructiveDark: 'hsl(0 62.8% 30.6%)', // Blood Red
|
|
34
|
+
},
|
|
13
35
|
} as const;
|
|
14
36
|
|
|
15
37
|
export const theme = {
|
|
16
38
|
light: {
|
|
17
|
-
background:
|
|
18
|
-
foreground:
|
|
19
|
-
card:
|
|
20
|
-
cardForeground:
|
|
21
|
-
popover:
|
|
22
|
-
popoverForeground:
|
|
23
|
-
primary: palette.brand.blue,
|
|
24
|
-
primaryForeground:
|
|
25
|
-
secondary:
|
|
26
|
-
secondaryForeground:
|
|
27
|
-
muted:
|
|
28
|
-
mutedForeground:
|
|
29
|
-
accent:
|
|
30
|
-
accentForeground:
|
|
31
|
-
destructive:
|
|
32
|
-
destructiveForeground:
|
|
33
|
-
border:
|
|
34
|
-
input:
|
|
35
|
-
ring:
|
|
39
|
+
background: palette.neutral.gray50,
|
|
40
|
+
foreground: palette.neutral.gray600,
|
|
41
|
+
card: palette.neutral.white,
|
|
42
|
+
cardForeground: palette.neutral.gray600,
|
|
43
|
+
popover: palette.neutral.white,
|
|
44
|
+
popoverForeground: palette.neutral.gray600,
|
|
45
|
+
primary: palette.brand.blue,
|
|
46
|
+
primaryForeground: palette.neutral.white,
|
|
47
|
+
secondary: palette.semantic.success,
|
|
48
|
+
secondaryForeground: palette.neutral.white,
|
|
49
|
+
muted: palette.neutral.gray100,
|
|
50
|
+
mutedForeground: palette.neutral.gray500,
|
|
51
|
+
accent: palette.neutral.gray300,
|
|
52
|
+
accentForeground: palette.neutral.gray600,
|
|
53
|
+
destructive: palette.semantic.destructive,
|
|
54
|
+
destructiveForeground: palette.neutral.white,
|
|
55
|
+
border: palette.neutral.gray200,
|
|
56
|
+
input: palette.neutral.gray200,
|
|
57
|
+
ring: palette.neutral.gray600,
|
|
36
58
|
radius: '0.5rem',
|
|
37
59
|
},
|
|
38
60
|
dark: {
|
|
39
|
-
background:
|
|
40
|
-
foreground:
|
|
41
|
-
card:
|
|
42
|
-
cardForeground:
|
|
43
|
-
popover:
|
|
44
|
-
popoverForeground:
|
|
45
|
-
primary: 'hsl(227 96% 71%)', //
|
|
46
|
-
primaryForeground:
|
|
47
|
-
secondary:
|
|
48
|
-
secondaryForeground:
|
|
49
|
-
muted:
|
|
50
|
-
mutedForeground:
|
|
51
|
-
accent:
|
|
52
|
-
accentForeground:
|
|
53
|
-
destructive:
|
|
54
|
-
destructiveForeground:
|
|
55
|
-
border:
|
|
56
|
-
input:
|
|
61
|
+
background: palette.neutral.gray975,
|
|
62
|
+
foreground: palette.neutral.white,
|
|
63
|
+
card: palette.neutral.gray900,
|
|
64
|
+
cardForeground: palette.neutral.white,
|
|
65
|
+
popover: palette.neutral.gray950,
|
|
66
|
+
popoverForeground: palette.neutral.white,
|
|
67
|
+
primary: 'hsl(227 96% 71%)', // Keeping as specific HSL to match original
|
|
68
|
+
primaryForeground: palette.neutral.gray975,
|
|
69
|
+
secondary: palette.semantic.successDark,
|
|
70
|
+
secondaryForeground: palette.neutral.gray975,
|
|
71
|
+
muted: palette.neutral.gray990,
|
|
72
|
+
mutedForeground: palette.neutral.gray400,
|
|
73
|
+
accent: palette.neutral.gray800,
|
|
74
|
+
accentForeground: palette.neutral.white,
|
|
75
|
+
destructive: palette.semantic.destructiveDark,
|
|
76
|
+
destructiveForeground: palette.neutral.white,
|
|
77
|
+
border: palette.neutral.gray700,
|
|
78
|
+
input: palette.neutral.gray700,
|
|
57
79
|
ring: 'hsl(0 0% 90%)', // Platinum
|
|
58
80
|
radius: '0.5rem',
|
|
59
81
|
},
|
package/vite.config.ts
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
import react from '@vitejs/plugin-react-swc';
|
|
2
|
+
import fs from 'fs';
|
|
2
3
|
import { resolve } from 'path';
|
|
3
4
|
import { defineConfig } from 'vite';
|
|
4
5
|
|
|
5
6
|
const isLibrary = process.env.VITE_LIB === 'true';
|
|
6
7
|
|
|
8
|
+
// Get all UI components for multi-entry build
|
|
9
|
+
const getEntries = () => {
|
|
10
|
+
const entries: Record<string, string> = {
|
|
11
|
+
index: resolve(__dirname, 'src/index.ts'),
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
if (isLibrary) {
|
|
15
|
+
const uiPath = resolve(__dirname, 'src/components/ui');
|
|
16
|
+
const files = fs.readdirSync(uiPath);
|
|
17
|
+
files.forEach((file) => {
|
|
18
|
+
if (file.endsWith('.tsx') && !file.includes('.test.') && !file.includes('.stories.')) {
|
|
19
|
+
const name = file.replace('.tsx', '');
|
|
20
|
+
entries[name] = resolve(uiPath, file);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return entries;
|
|
25
|
+
};
|
|
26
|
+
|
|
7
27
|
export default defineConfig({
|
|
8
28
|
plugins: [react()],
|
|
9
29
|
resolve: {
|
|
@@ -19,10 +39,12 @@ export default defineConfig({
|
|
|
19
39
|
emptyOutDir: !isLibrary,
|
|
20
40
|
lib: isLibrary
|
|
21
41
|
? {
|
|
22
|
-
entry:
|
|
42
|
+
entry: getEntries(),
|
|
23
43
|
name: 'GvtechDesign',
|
|
24
|
-
|
|
25
|
-
|
|
44
|
+
fileName: (format, entryName) =>
|
|
45
|
+
entryName === 'index'
|
|
46
|
+
? `index.${format === 'es' ? 'es' : 'cjs'}.js`
|
|
47
|
+
: `${entryName}.${format === 'es' ? 'es' : 'cjs'}.js`,
|
|
26
48
|
formats: ['es', 'cjs'],
|
|
27
49
|
}
|
|
28
50
|
: undefined,
|