@bearmenu/ui 0.5.2 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-ERMIA7NP.js → chunk-7PPCH42H.js} +3 -3
- package/dist/{chunk-HLQ2IRE7.js → chunk-BAZFVSSG.js} +3 -3
- package/dist/chunk-D5QHEHXJ.js +26 -0
- package/dist/{chunk-UISA4CIG.js → chunk-N2KNBPAQ.js} +2 -2
- package/dist/{chunk-7H54PTVH.js → chunk-PSR7N36A.js} +38 -10
- package/dist/chunk-RIDXFY6M.js +38 -0
- package/dist/chunk-UUJVXN2O.js +82 -0
- package/dist/chunk-WKMLZDUT.js +122 -0
- package/dist/chunk-XK2ZDQVE.js +122 -0
- package/dist/{chunk-4KOMHDZD.js → chunk-Y5D5LP4A.js} +18 -3
- package/dist/chunk-YJ6OBKZJ.js +32 -0
- package/dist/{chunk-ESO2EM3L.js → chunk-ZBBUKXM5.js} +2 -2
- package/dist/chunk-ZFNOCP6W.js +106 -0
- package/dist/components/accordion.js +11 -5
- package/dist/components/alert-dialog.js +5 -3
- package/dist/components/alert.d.ts +4 -1
- package/dist/components/alert.js +25 -9
- package/dist/components/avatar.d.ts +17 -2
- package/dist/components/avatar.js +91 -12
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/breadcrumb.js +5 -2
- package/dist/components/button-group.d.ts +14 -0
- package/dist/components/button-group.js +39 -0
- package/dist/components/button.d.ts +3 -1
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +3 -3
- package/dist/components/card.d.ts +13 -5
- package/dist/components/card.js +2 -2
- package/dist/components/carousel.d.ts +20 -3
- package/dist/components/carousel.js +72 -12
- package/dist/components/checkbox.js +1 -1
- package/dist/components/circular-progress.d.ts +16 -0
- package/dist/components/circular-progress.js +105 -0
- package/dist/components/combobox.d.ts +27 -0
- package/dist/components/combobox.js +102 -0
- package/dist/components/command.d.ts +16 -3
- package/dist/components/command.js +2 -2
- package/dist/components/currency-input.d.ts +1 -0
- package/dist/components/currency-input.js +73 -52
- package/dist/components/date-input.d.ts +10 -0
- package/dist/components/date-input.js +40 -0
- package/dist/components/description-list.d.ts +15 -0
- package/dist/components/description-list.js +67 -0
- package/dist/components/dialog.d.ts +13 -2
- package/dist/components/dialog.js +1 -1
- package/dist/components/drawer.d.ts +5 -2
- package/dist/components/drawer.js +47 -9
- package/dist/components/dropdown-menu.d.ts +7 -2
- package/dist/components/dropdown-menu.js +22 -6
- package/dist/components/empty-state.js +2 -2
- package/dist/components/field.d.ts +22 -0
- package/dist/components/field.js +130 -0
- package/dist/components/form.d.ts +2 -1
- package/dist/components/form.js +11 -1
- package/dist/components/haptic-button.js +3 -3
- package/dist/components/input-group.d.ts +18 -0
- package/dist/components/input-group.js +92 -0
- package/dist/components/input.d.ts +8 -2
- package/dist/components/input.js +1 -1
- package/dist/components/item.d.ts +23 -0
- package/dist/components/item.js +120 -0
- package/dist/components/kbd.d.ts +13 -0
- package/dist/components/kbd.js +49 -0
- package/dist/components/lazy-markdown.d.ts +3 -1
- package/dist/components/lazy-markdown.js +7 -7
- package/dist/components/link-button.js +1 -1
- package/dist/components/multi-select-combobox.js +92 -83
- package/dist/components/multi-select-menu.d.ts +0 -4
- package/dist/components/multi-select-menu.js +28 -17
- package/dist/components/native-select.d.ts +12 -0
- package/dist/components/native-select.js +49 -0
- package/dist/components/pagination.d.ts +5 -2
- package/dist/components/pagination.js +66 -7
- package/dist/components/place-about-tab.js +4 -4
- package/dist/components/place-card.js +1 -1
- package/dist/components/place-details-mobile.js +4 -4
- package/dist/components/popover.d.ts +7 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/progress.d.ts +5 -1
- package/dist/components/progress.js +17 -3
- package/dist/components/radio-group.js +12 -3
- package/dist/components/rating.d.ts +2 -0
- package/dist/components/rating.js +88 -70
- package/dist/components/scroll-fade.d.ts +15 -0
- package/dist/components/scroll-fade.js +116 -0
- package/dist/components/search-bar.d.ts +1 -2
- package/dist/components/search-bar.js +37 -60
- package/dist/components/searchable-select.js +76 -72
- package/dist/components/select.d.ts +5 -1
- package/dist/components/select.js +30 -14
- package/dist/components/selection-bar.d.ts +11 -0
- package/dist/components/selection-bar.js +65 -0
- package/dist/components/separator.js +3 -2
- package/dist/components/sheet.d.ts +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/skeleton-card.js +1 -1
- package/dist/components/skeleton.js +1 -1
- package/dist/components/slider.js +21 -4
- package/dist/components/sliding-panels.js +9 -6
- package/dist/components/spinner.d.ts +17 -0
- package/dist/components/spinner.js +50 -0
- package/dist/components/stepper.d.ts +18 -0
- package/dist/components/stepper.js +199 -0
- package/dist/components/switch.js +4 -3
- package/dist/components/table.d.ts +23 -5
- package/dist/components/table.js +121 -35
- package/dist/components/tabs.d.ts +3 -1
- package/dist/components/tabs.js +37 -9
- package/dist/components/tag-group.d.ts +9 -0
- package/dist/components/tag-group.js +26 -0
- package/dist/components/tag.d.ts +17 -0
- package/dist/components/tag.js +61 -0
- package/dist/components/text.d.ts +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/textarea.js +2 -1
- package/dist/components/toast.js +1 -1
- package/dist/components/toaster.js +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle.js +1 -1
- package/dist/components/tooltip.d.ts +3 -2
- package/dist/components/tooltip.js +16 -2
- package/package.json +45 -26
- package/src/components/accordion.tsx +11 -6
- package/src/components/alert-dialog.tsx +4 -2
- package/src/components/alert.tsx +20 -8
- package/src/components/avatar.tsx +106 -13
- package/src/components/badge.tsx +12 -11
- package/src/components/breadcrumb.tsx +5 -2
- package/src/components/button-group.stories.tsx +52 -0
- package/src/components/button-group.tsx +40 -0
- package/src/components/button.test.tsx +174 -0
- package/src/components/button.tsx +42 -19
- package/src/components/calendar.tsx +2 -2
- package/src/components/card.tsx +55 -13
- package/src/components/carousel.tsx +85 -13
- package/src/components/checkbox.test.tsx +58 -0
- package/src/components/checkbox.tsx +8 -3
- package/src/components/circular-progress.stories.tsx +39 -0
- package/src/components/circular-progress.tsx +102 -0
- package/src/components/collapsible.stories.tsx +7 -3
- package/src/components/combobox.stories.tsx +82 -0
- package/src/components/combobox.test.tsx +118 -0
- package/src/components/combobox.tsx +136 -0
- package/src/components/command.test.tsx +91 -0
- package/src/components/command.tsx +38 -15
- package/src/components/currency-input.test.tsx +63 -0
- package/src/components/currency-input.tsx +84 -66
- package/src/components/date-input.stories.tsx +31 -0
- package/src/components/date-input.tsx +43 -0
- package/src/components/description-list.stories.tsx +62 -0
- package/src/components/description-list.tsx +68 -0
- package/src/components/dialog.test.tsx +84 -0
- package/src/components/dialog.tsx +64 -24
- package/src/components/drawer.tsx +72 -23
- package/src/components/dropdown-menu.test.tsx +180 -0
- package/src/components/dropdown-menu.tsx +31 -6
- package/src/components/field.stories.tsx +36 -0
- package/src/components/field.test.tsx +157 -0
- package/src/components/field.tsx +146 -0
- package/src/components/form.stories.tsx +3 -2
- package/src/components/form.test.tsx +95 -0
- package/src/components/form.tsx +9 -0
- package/src/components/haptic-button.tsx +1 -1
- package/src/components/input-group.stories.tsx +61 -0
- package/src/components/input-group.tsx +99 -0
- package/src/components/input.test.tsx +103 -0
- package/src/components/input.tsx +24 -7
- package/src/components/item.stories.tsx +52 -0
- package/src/components/item.tsx +115 -0
- package/src/components/kbd.stories.tsx +33 -0
- package/src/components/kbd.tsx +46 -0
- package/src/components/lazy-markdown.tsx +10 -7
- package/src/components/multi-select-combobox.test.tsx +101 -0
- package/src/components/multi-select-combobox.tsx +85 -82
- package/src/components/multi-select-menu.tsx +49 -41
- package/src/components/native-select.stories.tsx +52 -0
- package/src/components/native-select.tsx +45 -0
- package/src/components/pagination.tsx +64 -5
- package/src/components/popover.tsx +66 -3
- package/src/components/progress.tsx +27 -4
- package/src/components/radio-group.test.tsx +64 -0
- package/src/components/radio-group.tsx +11 -3
- package/src/components/rating.test.tsx +112 -0
- package/src/components/rating.tsx +97 -82
- package/src/components/scroll-fade.stories.tsx +98 -0
- package/src/components/scroll-fade.tsx +127 -0
- package/src/components/search-bar.stories.tsx +1 -32
- package/src/components/search-bar.tsx +22 -59
- package/src/components/searchable-select.tsx +69 -73
- package/src/components/select.tsx +34 -19
- package/src/components/selection-bar.stories.tsx +37 -0
- package/src/components/selection-bar.tsx +65 -0
- package/src/components/separator.tsx +5 -2
- package/src/components/sheet.tsx +1 -1
- package/src/components/skeleton.tsx +2 -2
- package/src/components/slider.test.tsx +45 -0
- package/src/components/slider.tsx +31 -12
- package/src/components/sliding-panels.tsx +8 -5
- package/src/components/spinner.stories.tsx +35 -0
- package/src/components/spinner.tsx +50 -0
- package/src/components/stepper.stories.tsx +71 -0
- package/src/components/stepper.tsx +220 -0
- package/src/components/switch.test.tsx +52 -0
- package/src/components/switch.tsx +4 -3
- package/src/components/table.tsx +140 -35
- package/src/components/tabs.test.tsx +107 -0
- package/src/components/tabs.tsx +70 -23
- package/src/components/tag-group.stories.tsx +39 -0
- package/src/components/tag-group.tsx +28 -0
- package/src/components/tag.stories.tsx +50 -0
- package/src/components/tag.tsx +63 -0
- package/src/components/text.test.tsx +1 -1
- package/src/components/text.tsx +19 -3
- package/src/components/textarea.test.tsx +48 -0
- package/src/components/textarea.tsx +2 -1
- package/src/components/toast.tsx +4 -3
- package/src/components/toggle.tsx +2 -2
- package/src/components/tooltip.tsx +12 -2
- package/src/globals.css +126 -90
- package/dist/chunk-2BMJRXQX.js +0 -80
- package/dist/chunk-4AVS6CV4.js +0 -89
- package/dist/chunk-4UO73SKC.js +0 -26
- package/dist/chunk-CW24PLDW.js +0 -24
- package/dist/chunk-IQASCH2V.js +0 -25
- package/dist/chunk-NKHH23YK.js +0 -31
- package/dist/chunk-QJ54Z7TC.js +0 -83
package/src/globals.css
CHANGED
|
@@ -26,25 +26,6 @@ h6 {
|
|
|
26
26
|
transform: translateZ(0);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
/* Dynamic tab content - auto-sizes to tallest content */
|
|
30
|
-
.tab-content-container {
|
|
31
|
-
display: grid;
|
|
32
|
-
grid-template-rows: 1fr;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.tab-content-container > * {
|
|
36
|
-
grid-row: 1;
|
|
37
|
-
grid-column: 1;
|
|
38
|
-
opacity: 0;
|
|
39
|
-
pointer-events: none;
|
|
40
|
-
transition: opacity 0.2s ease;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.tab-content-container > [data-state="active"] {
|
|
44
|
-
opacity: 1;
|
|
45
|
-
pointer-events: auto;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
29
|
:root {
|
|
49
30
|
/* Safe area insets for PWA/iOS notch support */
|
|
50
31
|
--sat: env(safe-area-inset-top);
|
|
@@ -93,6 +74,45 @@ h6 {
|
|
|
93
74
|
--success-foreground: oklch(0.985 0 0);
|
|
94
75
|
--warning: oklch(0.72 0.18 68);
|
|
95
76
|
--warning-foreground: oklch(0.18 0.04 45);
|
|
77
|
+
|
|
78
|
+
/* Brown variant — replaces hardcoded #482E1F across button/badge */
|
|
79
|
+
--brown: oklch(0.31 0.05 45);
|
|
80
|
+
--brown-foreground: oklch(0.985 0 0);
|
|
81
|
+
|
|
82
|
+
/* Shadow tokens — color + per-step alpha (themed in .dark) */
|
|
83
|
+
--shadow-color: 0 0% 0%;
|
|
84
|
+
--shadow-alpha-2xs: 0.05;
|
|
85
|
+
--shadow-alpha-xs: 0.08;
|
|
86
|
+
--shadow-alpha-sm: 0.1;
|
|
87
|
+
--shadow-alpha-md: 0.12;
|
|
88
|
+
--shadow-alpha-lg: 0.15;
|
|
89
|
+
--shadow-alpha-xl: 0.18;
|
|
90
|
+
--shadow-alpha-2xl: 0.25;
|
|
91
|
+
|
|
92
|
+
/* Motion */
|
|
93
|
+
--duration-instant: 0ms;
|
|
94
|
+
--duration-fast: 150ms;
|
|
95
|
+
--duration-base: 200ms;
|
|
96
|
+
--duration-slow: 300ms;
|
|
97
|
+
--duration-slower: 500ms;
|
|
98
|
+
--duration-drawer: 350ms;
|
|
99
|
+
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
|
|
100
|
+
--ease-in: cubic-bezier(0.7, 0, 0.84, 0);
|
|
101
|
+
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
102
|
+
--ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
|
|
103
|
+
--ease-spring: cubic-bezier(0.5, 1.5, 0.5, 1);
|
|
104
|
+
|
|
105
|
+
/* Z-index scale */
|
|
106
|
+
--z-base: 0;
|
|
107
|
+
--z-sticky: 100;
|
|
108
|
+
--z-fixed: 200;
|
|
109
|
+
--z-overlay: 800;
|
|
110
|
+
--z-drawer: 900;
|
|
111
|
+
--z-modal: 1000;
|
|
112
|
+
--z-popover: 1100;
|
|
113
|
+
--z-dropdown: 1200;
|
|
114
|
+
--z-tooltip: 1300;
|
|
115
|
+
--z-toast: 1400;
|
|
96
116
|
}
|
|
97
117
|
|
|
98
118
|
.dark {
|
|
@@ -110,7 +130,8 @@ h6 {
|
|
|
110
130
|
--muted-foreground: oklch(0.6 0.012 60);
|
|
111
131
|
--accent: oklch(0.3 0.04 50);
|
|
112
132
|
--accent-foreground: oklch(0.97 0.008 60);
|
|
113
|
-
|
|
133
|
+
/* AA-compliant on dark surfaces but dialed back from 0.68 to soften eye strain */
|
|
134
|
+
--destructive: oklch(0.58 0.17 25.7);
|
|
114
135
|
--destructive-foreground: oklch(0.985 0 0);
|
|
115
136
|
--border: oklch(0.3 0.015 45);
|
|
116
137
|
--input: oklch(0.3 0.015 45);
|
|
@@ -136,6 +157,18 @@ h6 {
|
|
|
136
157
|
--success-foreground: oklch(0.985 0 0);
|
|
137
158
|
--warning: oklch(0.76 0.15 68);
|
|
138
159
|
--warning-foreground: oklch(0.18 0.04 45);
|
|
160
|
+
|
|
161
|
+
--brown: oklch(0.31 0.05 45);
|
|
162
|
+
--brown-foreground: oklch(0.985 0 0);
|
|
163
|
+
|
|
164
|
+
/* Heavier shadow alphas — default Tailwind tints disappear on dark surfaces */
|
|
165
|
+
--shadow-alpha-2xs: 0.25;
|
|
166
|
+
--shadow-alpha-xs: 0.3;
|
|
167
|
+
--shadow-alpha-sm: 0.35;
|
|
168
|
+
--shadow-alpha-md: 0.4;
|
|
169
|
+
--shadow-alpha-lg: 0.5;
|
|
170
|
+
--shadow-alpha-xl: 0.55;
|
|
171
|
+
--shadow-alpha-2xl: 0.65;
|
|
139
172
|
}
|
|
140
173
|
|
|
141
174
|
@theme inline {
|
|
@@ -165,10 +198,18 @@ h6 {
|
|
|
165
198
|
--color-chart-3: var(--chart-3);
|
|
166
199
|
--color-chart-4: var(--chart-4);
|
|
167
200
|
--color-chart-5: var(--chart-5);
|
|
201
|
+
--color-brown: var(--brown);
|
|
202
|
+
--color-brown-foreground: var(--brown-foreground);
|
|
203
|
+
|
|
204
|
+
/* Radius scale */
|
|
168
205
|
--radius-sm: calc(var(--radius) - 4px);
|
|
169
206
|
--radius-md: calc(var(--radius) - 2px);
|
|
170
207
|
--radius-lg: var(--radius);
|
|
171
208
|
--radius-xl: calc(var(--radius) + 4px);
|
|
209
|
+
--radius-2xl: calc(var(--radius) + 8px);
|
|
210
|
+
--radius-3xl: calc(var(--radius) + 14px);
|
|
211
|
+
--radius-4xl: calc(var(--radius) + 22px);
|
|
212
|
+
|
|
172
213
|
--color-sidebar: var(--sidebar);
|
|
173
214
|
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
174
215
|
--color-sidebar-primary: var(--sidebar-primary);
|
|
@@ -185,6 +226,29 @@ h6 {
|
|
|
185
226
|
--color-surface-foreground: var(--surface-foreground);
|
|
186
227
|
--color-surface-2: var(--surface-2);
|
|
187
228
|
--color-line-soft: var(--line-soft);
|
|
229
|
+
|
|
230
|
+
/* Theme-aware shadow utilities — override Tailwind defaults so they
|
|
231
|
+
stay visible on dark surfaces */
|
|
232
|
+
--shadow-2xs: 0 1px hsl(var(--shadow-color) / var(--shadow-alpha-2xs));
|
|
233
|
+
--shadow-xs: 0 1px 2px 0 hsl(var(--shadow-color) / var(--shadow-alpha-xs));
|
|
234
|
+
--shadow-sm:
|
|
235
|
+
0 1px 3px 0 hsl(var(--shadow-color) / var(--shadow-alpha-sm)),
|
|
236
|
+
0 1px 2px -1px hsl(var(--shadow-color) / var(--shadow-alpha-sm));
|
|
237
|
+
--shadow-md:
|
|
238
|
+
0 4px 6px -1px hsl(var(--shadow-color) / var(--shadow-alpha-md)),
|
|
239
|
+
0 2px 4px -2px hsl(var(--shadow-color) / var(--shadow-alpha-md));
|
|
240
|
+
--shadow-lg:
|
|
241
|
+
0 10px 15px -3px hsl(var(--shadow-color) / var(--shadow-alpha-lg)),
|
|
242
|
+
0 4px 6px -4px hsl(var(--shadow-color) / var(--shadow-alpha-lg));
|
|
243
|
+
--shadow-xl:
|
|
244
|
+
0 20px 25px -5px hsl(var(--shadow-color) / var(--shadow-alpha-xl)),
|
|
245
|
+
0 8px 10px -6px hsl(var(--shadow-color) / var(--shadow-alpha-xl));
|
|
246
|
+
--shadow-2xl: 0 25px 50px -12px hsl(var(--shadow-color) / var(--shadow-alpha-2xl));
|
|
247
|
+
|
|
248
|
+
/* Default transition tokens — consumed by Tailwind's `transition-*` utilities */
|
|
249
|
+
--default-transition-duration: var(--duration-base);
|
|
250
|
+
--default-transition-timing-function: var(--ease-out);
|
|
251
|
+
|
|
188
252
|
--animate-highlight-ring: highlight-ring 5s ease-out forwards;
|
|
189
253
|
}
|
|
190
254
|
|
|
@@ -207,41 +271,42 @@ h6 {
|
|
|
207
271
|
}
|
|
208
272
|
}
|
|
209
273
|
|
|
210
|
-
/*
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
/* Light-mode: opaque background for modal surfaces (Dialog, Sheet, Drawer) */
|
|
221
|
-
:root .glass[role="dialog"] {
|
|
222
|
-
background: rgba(255, 255, 255, 0.97);
|
|
223
|
-
border-color: rgba(0, 0, 0, 0.08);
|
|
224
|
-
backdrop-filter: blur(20px);
|
|
274
|
+
/* Respect prefers-reduced-motion globally */
|
|
275
|
+
@media (prefers-reduced-motion: reduce) {
|
|
276
|
+
*,
|
|
277
|
+
*::before,
|
|
278
|
+
*::after {
|
|
279
|
+
animation-duration: 0.01ms !important;
|
|
280
|
+
animation-iteration-count: 1 !important;
|
|
281
|
+
transition-duration: 0.01ms !important;
|
|
282
|
+
scroll-behavior: auto !important;
|
|
283
|
+
}
|
|
225
284
|
}
|
|
226
285
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
286
|
+
/* Glass surface — token-driven, works in both themes. Was previously a hardcoded
|
|
287
|
+
rgba(255,255,255,...) literal with a [role="dialog"]-only light-mode override,
|
|
288
|
+
which left ~38 non-dialog consumers invisible on light pages. */
|
|
289
|
+
.glass {
|
|
290
|
+
background: color-mix(in oklch, var(--card) 55%, transparent);
|
|
291
|
+
backdrop-filter: blur(20px) saturate(180%);
|
|
292
|
+
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
293
|
+
border: 1px solid color-mix(in oklch, var(--foreground) 14%, transparent);
|
|
294
|
+
box-shadow: var(--shadow-md);
|
|
230
295
|
}
|
|
231
296
|
|
|
232
297
|
.glass-hover {
|
|
233
298
|
transition:
|
|
234
|
-
background-color
|
|
235
|
-
border-color
|
|
299
|
+
background-color var(--duration-base) var(--ease-out),
|
|
300
|
+
border-color var(--duration-base) var(--ease-out);
|
|
236
301
|
}
|
|
237
302
|
|
|
238
303
|
.glass-hover:hover {
|
|
239
|
-
background:
|
|
240
|
-
border-color:
|
|
304
|
+
background: color-mix(in oklch, var(--card) 70%, transparent);
|
|
305
|
+
border-color: color-mix(in oklch, var(--foreground) 24%, transparent);
|
|
241
306
|
}
|
|
242
307
|
|
|
243
308
|
.glass-glow {
|
|
244
|
-
box-shadow: 0 0 12px
|
|
309
|
+
box-shadow: 0 0 12px color-mix(in oklch, var(--accent) 60%, transparent);
|
|
245
310
|
}
|
|
246
311
|
|
|
247
312
|
/* Scroll-to highlight pulse */
|
|
@@ -266,7 +331,7 @@ h6 {
|
|
|
266
331
|
animation: highlight-pulse 1s ease-in-out 3;
|
|
267
332
|
}
|
|
268
333
|
|
|
269
|
-
/* Scrollbar styling */
|
|
334
|
+
/* Scrollbar styling — token-driven, single rule covers both themes */
|
|
270
335
|
::-webkit-scrollbar {
|
|
271
336
|
width: 8px;
|
|
272
337
|
}
|
|
@@ -276,20 +341,12 @@ h6 {
|
|
|
276
341
|
}
|
|
277
342
|
|
|
278
343
|
::-webkit-scrollbar-thumb {
|
|
279
|
-
background:
|
|
344
|
+
background: color-mix(in oklch, var(--muted-foreground) 35%, transparent);
|
|
280
345
|
border-radius: 4px;
|
|
281
346
|
}
|
|
282
347
|
|
|
283
348
|
::-webkit-scrollbar-thumb:hover {
|
|
284
|
-
background:
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
.dark ::-webkit-scrollbar-thumb {
|
|
288
|
-
background: oklch(1 0 0 / 0.1);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
.dark ::-webkit-scrollbar-thumb:hover {
|
|
292
|
-
background: oklch(1 0 0 / 0.2);
|
|
349
|
+
background: color-mix(in oklch, var(--muted-foreground) 60%, transparent);
|
|
293
350
|
}
|
|
294
351
|
|
|
295
352
|
/* Hide scrollbar for horizontal carousels */
|
|
@@ -302,22 +359,17 @@ h6 {
|
|
|
302
359
|
display: none !important;
|
|
303
360
|
}
|
|
304
361
|
|
|
305
|
-
/* Selection
|
|
362
|
+
/* Selection — themed via accent tokens (was hardcoded gold+white, 1.06:1 in light) */
|
|
306
363
|
::selection {
|
|
307
|
-
background:
|
|
308
|
-
color:
|
|
364
|
+
background: color-mix(in oklch, var(--accent) 60%, transparent);
|
|
365
|
+
color: var(--accent-foreground);
|
|
309
366
|
}
|
|
310
367
|
|
|
311
|
-
/* Focus ring
|
|
368
|
+
/* Focus ring helper */
|
|
312
369
|
.focus-ring {
|
|
313
370
|
@apply focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background;
|
|
314
371
|
}
|
|
315
372
|
|
|
316
|
-
/* App Background — solid color, no gradient */
|
|
317
|
-
.bg-cave-depth {
|
|
318
|
-
background: var(--background);
|
|
319
|
-
}
|
|
320
|
-
|
|
321
373
|
/* Highlight ring animation — used when scrolling to a specific card */
|
|
322
374
|
@keyframes highlight-ring {
|
|
323
375
|
0% {
|
|
@@ -355,20 +407,27 @@ h6 {
|
|
|
355
407
|
}
|
|
356
408
|
|
|
357
409
|
.animate-collapsible-down {
|
|
358
|
-
animation: collapsible-down
|
|
410
|
+
animation: collapsible-down var(--duration-slow) var(--ease-out);
|
|
359
411
|
}
|
|
360
412
|
|
|
361
413
|
.animate-collapsible-up {
|
|
362
|
-
animation: collapsible-up
|
|
414
|
+
animation: collapsible-up var(--duration-base) var(--ease-in);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/* Shimmer — referenced by Skeleton (was undefined → animation was dead) */
|
|
418
|
+
@keyframes shimmer {
|
|
419
|
+
100% {
|
|
420
|
+
transform: translateX(100%);
|
|
421
|
+
}
|
|
363
422
|
}
|
|
364
423
|
|
|
365
424
|
/* Swiper pagination styling for experience cards */
|
|
366
425
|
.swiper-pagination-bullet {
|
|
367
|
-
background:
|
|
426
|
+
background: color-mix(in oklch, var(--foreground) 30%, transparent) !important;
|
|
368
427
|
opacity: 1 !important;
|
|
369
428
|
width: 6px !important;
|
|
370
429
|
height: 6px !important;
|
|
371
|
-
transition: all
|
|
430
|
+
transition: all var(--duration-slow) var(--ease-out) !important;
|
|
372
431
|
}
|
|
373
432
|
|
|
374
433
|
.swiper-pagination-bullet-active {
|
|
@@ -377,14 +436,6 @@ h6 {
|
|
|
377
436
|
border-radius: 4px !important;
|
|
378
437
|
}
|
|
379
438
|
|
|
380
|
-
.dark .swiper-pagination-bullet {
|
|
381
|
-
background: rgba(255, 255, 255, 0.3) !important;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
.dark .swiper-pagination-bullet-active {
|
|
385
|
-
background: var(--color-primary) !important;
|
|
386
|
-
}
|
|
387
|
-
|
|
388
439
|
/* Safe Area Utilities for PWA */
|
|
389
440
|
.safe-top {
|
|
390
441
|
padding-top: max(3rem, env(safe-area-inset-top));
|
|
@@ -402,21 +453,6 @@ h6 {
|
|
|
402
453
|
padding-right: max(0px, env(safe-area-inset-right));
|
|
403
454
|
}
|
|
404
455
|
|
|
405
|
-
/* Specific for mobile header (3rem = 48px = 12 in Tailwind) */
|
|
406
|
-
/* Only apply safe area padding when app is in PWA/standalone mode */
|
|
407
|
-
/* @media (max-width: 768px) and (display-mode: standalone) {
|
|
408
|
-
.mobile-header-safe {
|
|
409
|
-
padding-top: calc(3rem + env(safe-area-inset-top, 0px));
|
|
410
|
-
}
|
|
411
|
-
} */
|
|
412
|
-
|
|
413
|
-
/* In browser mode, just use normal padding */
|
|
414
|
-
/* @media (max-width: 768px) and (display-mode: browser) {
|
|
415
|
-
.mobile-header-safe {
|
|
416
|
-
padding-top: 3rem;
|
|
417
|
-
}
|
|
418
|
-
} */
|
|
419
|
-
|
|
420
456
|
/* For sticky header */
|
|
421
457
|
.sticky-header-safe {
|
|
422
458
|
top: env(safe-area-inset-top, 0);
|
package/dist/chunk-2BMJRXQX.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { useHaptic } from './chunk-R47NEOSI.js';
|
|
2
|
-
import { cn } from './chunk-FEK5XGZW.js';
|
|
3
|
-
import { __objRest, __spreadValues } from './chunk-3GWWZKX7.js';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
6
|
-
import { cva } from 'class-variance-authority';
|
|
7
|
-
import { jsx } from 'react/jsx-runtime';
|
|
8
|
-
|
|
9
|
-
var buttonVariants = cva(
|
|
10
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-3xl text-sm font-medium transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer [@media(pointer:coarse)]:active:scale-95",
|
|
11
|
-
{
|
|
12
|
-
variants: {
|
|
13
|
-
variant: {
|
|
14
|
-
default: "bg-primary backdrop-blur-sm text-primary-foreground shadow-lg hover:bg-primary/85 border border-primary/20 transition-colors duration-200",
|
|
15
|
-
destructive: "bg-destructive text-destructive-foreground shadow-lg hover:bg-destructive/90 hover:shadow-destructive/20 backdrop-blur-sm border border-destructive/20",
|
|
16
|
-
outline: "border border-border bg-sidebar backdrop-blur-md hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:border-sidebar-accent-foreground/20 hover:shadow-lg",
|
|
17
|
-
secondary: "bg-secondary text-secondary-foreground shadow-lg hover:bg-secondary/90 hover:shadow-secondary/20 backdrop-blur-sm border border-secondary/20",
|
|
18
|
-
ghost: "hover:bg-foreground/10 hover:text-foreground transition-colors duration-200",
|
|
19
|
-
link: "text-primary underline-offset-4 hover:underline hover:text-primary/80",
|
|
20
|
-
glass: "glass glass-hover text-foreground hover:text-accent-foreground",
|
|
21
|
-
brown: "bg-[#482E1F] text-white shadow-lg hover:bg-[#352317] hover:shadow-[#482E1F]/20 backdrop-blur-sm border border-[#482E1F]/30 transition-all duration-300",
|
|
22
|
-
antagonist: "bg-primary-foreground text-primary shadow-lg hover:bg-primary-foreground/90 hover:shadow-primary-foreground/20 backdrop-blur-sm border border-primary-foreground/20 transition-all duration-300"
|
|
23
|
-
},
|
|
24
|
-
size: {
|
|
25
|
-
default: "h-11 px-6 py-2",
|
|
26
|
-
sm: "h-9 rounded-lg px-4",
|
|
27
|
-
lg: "h-12 rounded-xl px-8",
|
|
28
|
-
icon: "h-11 w-11"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
defaultVariants: {
|
|
32
|
-
variant: "default",
|
|
33
|
-
size: "default"
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
var Button = React.forwardRef(
|
|
38
|
-
(_a, ref) => {
|
|
39
|
-
var _b = _a, {
|
|
40
|
-
className,
|
|
41
|
-
variant,
|
|
42
|
-
size,
|
|
43
|
-
asChild = false,
|
|
44
|
-
haptic = true,
|
|
45
|
-
hapticStyle = "light",
|
|
46
|
-
onClick
|
|
47
|
-
} = _b, props = __objRest(_b, [
|
|
48
|
-
"className",
|
|
49
|
-
"variant",
|
|
50
|
-
"size",
|
|
51
|
-
"asChild",
|
|
52
|
-
"haptic",
|
|
53
|
-
"hapticStyle",
|
|
54
|
-
"onClick"
|
|
55
|
-
]);
|
|
56
|
-
const Comp = asChild ? Slot : "button";
|
|
57
|
-
const { trigger } = useHaptic();
|
|
58
|
-
const [isMounted, setIsMounted] = React.useState(false);
|
|
59
|
-
React.useEffect(() => {
|
|
60
|
-
setIsMounted(true);
|
|
61
|
-
}, []);
|
|
62
|
-
const handleClick = (event) => {
|
|
63
|
-
if (haptic && isMounted) {
|
|
64
|
-
trigger(hapticStyle);
|
|
65
|
-
}
|
|
66
|
-
onClick == null ? void 0 : onClick(event);
|
|
67
|
-
};
|
|
68
|
-
return /* @__PURE__ */ jsx(
|
|
69
|
-
Comp,
|
|
70
|
-
__spreadValues({
|
|
71
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
72
|
-
ref,
|
|
73
|
-
onClick: handleClick
|
|
74
|
-
}, props)
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
Button.displayName = "Button";
|
|
79
|
-
|
|
80
|
-
export { Button, buttonVariants };
|
package/dist/chunk-4AVS6CV4.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-FEK5XGZW.js';
|
|
2
|
-
import { __objRest, __spreadValues, __spreadProps } from './chunk-3GWWZKX7.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
5
|
-
import { X } from 'lucide-react';
|
|
6
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
var Dialog = DialogPrimitive.Root;
|
|
9
|
-
var DialogTrigger = DialogPrimitive.Trigger;
|
|
10
|
-
var DialogPortal = DialogPrimitive.Portal;
|
|
11
|
-
var DialogClose = DialogPrimitive.Close;
|
|
12
|
-
var DialogOverlay = React.forwardRef((_a, ref) => {
|
|
13
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
14
|
-
return /* @__PURE__ */ jsx(
|
|
15
|
-
DialogPrimitive.Overlay,
|
|
16
|
-
__spreadValues({
|
|
17
|
-
ref,
|
|
18
|
-
className: cn(
|
|
19
|
-
"fixed inset-0 z-[1000] bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
20
|
-
className
|
|
21
|
-
)
|
|
22
|
-
}, props)
|
|
23
|
-
);
|
|
24
|
-
});
|
|
25
|
-
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
26
|
-
var DialogContent = React.forwardRef((_a, ref) => {
|
|
27
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
28
|
-
return /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
29
|
-
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
30
|
-
/* @__PURE__ */ jsxs(
|
|
31
|
-
DialogPrimitive.Content,
|
|
32
|
-
__spreadProps(__spreadValues({
|
|
33
|
-
ref,
|
|
34
|
-
className: cn(
|
|
35
|
-
"fixed left-[50%] top-[50%] z-[1000] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-card p-6 shadow-2xl duration-300 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 rounded-2xl border border-border",
|
|
36
|
-
className
|
|
37
|
-
)
|
|
38
|
-
}, props), {
|
|
39
|
-
children: [
|
|
40
|
-
children,
|
|
41
|
-
/* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-lg opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:bg-muted p-2", children: [
|
|
42
|
-
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
43
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
44
|
-
] })
|
|
45
|
-
]
|
|
46
|
-
})
|
|
47
|
-
)
|
|
48
|
-
] });
|
|
49
|
-
});
|
|
50
|
-
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
51
|
-
var DialogHeader = (_a) => {
|
|
52
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
53
|
-
return /* @__PURE__ */ jsx("div", __spreadValues({ className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className) }, props));
|
|
54
|
-
};
|
|
55
|
-
DialogHeader.displayName = "DialogHeader";
|
|
56
|
-
var DialogFooter = (_a) => {
|
|
57
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
58
|
-
return /* @__PURE__ */ jsx(
|
|
59
|
-
"div",
|
|
60
|
-
__spreadValues({
|
|
61
|
-
className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)
|
|
62
|
-
}, props)
|
|
63
|
-
);
|
|
64
|
-
};
|
|
65
|
-
DialogFooter.displayName = "DialogFooter";
|
|
66
|
-
var DialogTitle = React.forwardRef((_a, ref) => {
|
|
67
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
68
|
-
return /* @__PURE__ */ jsx(
|
|
69
|
-
DialogPrimitive.Title,
|
|
70
|
-
__spreadValues({
|
|
71
|
-
ref,
|
|
72
|
-
className: cn("text-lg font-semibold leading-none tracking-tight", className)
|
|
73
|
-
}, props)
|
|
74
|
-
);
|
|
75
|
-
});
|
|
76
|
-
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
77
|
-
var DialogDescription = React.forwardRef((_a, ref) => {
|
|
78
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
79
|
-
return /* @__PURE__ */ jsx(
|
|
80
|
-
DialogPrimitive.Description,
|
|
81
|
-
__spreadValues({
|
|
82
|
-
ref,
|
|
83
|
-
className: cn("text-sm text-muted-foreground", className)
|
|
84
|
-
}, props)
|
|
85
|
-
);
|
|
86
|
-
});
|
|
87
|
-
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
88
|
-
|
|
89
|
-
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
|
package/dist/chunk-4UO73SKC.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-FEK5XGZW.js';
|
|
2
|
-
import { __objRest, __spreadValues } from './chunk-3GWWZKX7.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var Popover = PopoverPrimitive.Root;
|
|
8
|
-
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
9
|
-
var PopoverContent = React.forwardRef((_a, ref) => {
|
|
10
|
-
var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
|
|
11
|
-
return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
12
|
-
PopoverPrimitive.Content,
|
|
13
|
-
__spreadValues({
|
|
14
|
-
ref,
|
|
15
|
-
align,
|
|
16
|
-
sideOffset,
|
|
17
|
-
className: cn(
|
|
18
|
-
"z-50 w-72 rounded-xl bg-cave-depth p-4 text-popover-foreground shadow-2xl outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border border-border/50",
|
|
19
|
-
className
|
|
20
|
-
)
|
|
21
|
-
}, props)
|
|
22
|
-
) });
|
|
23
|
-
});
|
|
24
|
-
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
25
|
-
|
|
26
|
-
export { Popover, PopoverContent, PopoverTrigger };
|
package/dist/chunk-CW24PLDW.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-FEK5XGZW.js';
|
|
2
|
-
import { __objRest, __spreadValues } from './chunk-3GWWZKX7.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
var Input = React.forwardRef(
|
|
7
|
-
(_a, ref) => {
|
|
8
|
-
var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
|
|
9
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
-
"input",
|
|
11
|
-
__spreadValues({
|
|
12
|
-
type,
|
|
13
|
-
className: cn(
|
|
14
|
-
"flex h-11 w-full rounded-xl border border-border bg-input/50 backdrop-blur-md px-4 py-2 text-base transition-all duration-300 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:bg-input focus-visible:border-accent-foreground/30 focus-visible:shadow-lg focus-visible:shadow-accent/10 disabled:cursor-not-allowed disabled:opacity-50",
|
|
15
|
-
className
|
|
16
|
-
),
|
|
17
|
-
ref
|
|
18
|
-
}, props)
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
Input.displayName = "Input";
|
|
23
|
-
|
|
24
|
-
export { Input };
|
package/dist/chunk-IQASCH2V.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-FEK5XGZW.js';
|
|
2
|
-
import { __objRest, __spreadProps, __spreadValues } from './chunk-3GWWZKX7.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
5
|
-
import { Check } from 'lucide-react';
|
|
6
|
-
import { jsx } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
var Checkbox = React.forwardRef((_a, ref) => {
|
|
9
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
10
|
-
return /* @__PURE__ */ jsx(
|
|
11
|
-
CheckboxPrimitive.Root,
|
|
12
|
-
__spreadProps(__spreadValues({
|
|
13
|
-
ref,
|
|
14
|
-
className: cn(
|
|
15
|
-
"peer h-5 w-5 shrink-0 rounded-md border border-border bg-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary data-[state=checked]:shadow-lg data-[state=checked]:shadow-primary/20 data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary data-[state=indeterminate]:shadow-lg data-[state=indeterminate]:shadow-primary/20 hover:border-primary/40 hover:shadow-md",
|
|
16
|
-
className
|
|
17
|
-
)
|
|
18
|
-
}, props), {
|
|
19
|
-
children: /* @__PURE__ */ jsx(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx(Check, { className: "h-3.5 w-3.5 animate-in zoom-in-50 duration-200" }) })
|
|
20
|
-
})
|
|
21
|
-
);
|
|
22
|
-
});
|
|
23
|
-
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
24
|
-
|
|
25
|
-
export { Checkbox };
|
package/dist/chunk-NKHH23YK.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-FEK5XGZW.js';
|
|
2
|
-
import { __objRest, __spreadValues } from './chunk-3GWWZKX7.js';
|
|
3
|
-
import { cva } from 'class-variance-authority';
|
|
4
|
-
import { jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
var badgeVariants = cva(
|
|
7
|
-
"inline-flex items-center rounded-lg border px-2.5 py-0.5 text-xs font-semibold transition-[background-color,color,box-shadow,border-color] duration-300 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 backdrop-blur-md",
|
|
8
|
-
{
|
|
9
|
-
variants: {
|
|
10
|
-
variant: {
|
|
11
|
-
default: "border-transparent bg-primary/80 text-primary-foreground shadow-lg hover:bg-primary hover:shadow-xl hover:shadow-primary/20",
|
|
12
|
-
secondary: "border-transparent bg-secondary/80 text-secondary-foreground shadow-lg hover:bg-secondary hover:shadow-xl hover:shadow-secondary/20",
|
|
13
|
-
destructive: "border-transparent bg-destructive/80 text-destructive-foreground shadow-lg hover:bg-destructive hover:shadow-xl hover:shadow-destructive/20",
|
|
14
|
-
outline: "text-foreground glass glass-hover",
|
|
15
|
-
overlay: "border-transparent bg-black/50 text-white backdrop-blur-sm shadow-lg",
|
|
16
|
-
glass: "glass glass-hover text-foreground border-border/50",
|
|
17
|
-
success: "border-transparent bg-green-500/80 text-primary shadow-lg hover:bg-green-500 hover:shadow-xl hover:shadow-green-500/20",
|
|
18
|
-
warning: "border-transparent bg-yellow-500/80 text-primary shadow-lg hover:bg-yellow-500 hover:shadow-xl hover:shadow-yellow-500/20"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
defaultVariants: {
|
|
22
|
-
variant: "default"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
);
|
|
26
|
-
function Badge(_a) {
|
|
27
|
-
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
|
28
|
-
return /* @__PURE__ */ jsx("div", __spreadValues({ className: cn(badgeVariants({ variant }), className) }, props));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export { Badge, badgeVariants };
|