@vertz/theme-shadcn 0.2.22 → 0.2.24

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/index.js CHANGED
@@ -5,457 +5,31 @@ import {
5
5
  createBadge,
6
6
  createButton,
7
7
  textOpacity
8
- } from "./shared/chunk-gzfp8m46.js";
8
+ } from "./shared/chunk-kmh677y0.js";
9
9
  import {
10
- configureThemeBase
11
- } from "./shared/chunk-gjsm05ga.js";
12
-
13
- // src/components/alert.ts
14
- import { resolveChildren } from "@vertz/ui";
15
- function createAlertComponents(alertStyles) {
16
- function Alert({ variant, className, class: classProp, children }) {
17
- const effectiveClass = className ?? classProp;
18
- const el = document.createElement("div");
19
- const classes = [alertStyles.root];
20
- if (variant === "destructive") {
21
- classes.push(alertStyles.destructive);
22
- }
23
- if (effectiveClass) {
24
- classes.push(effectiveClass);
25
- }
26
- el.className = classes.join(" ");
27
- el.setAttribute("role", "alert");
28
- for (const node of resolveChildren(children)) {
29
- el.appendChild(node);
30
- }
31
- return el;
32
- }
33
- function AlertTitle({ className, class: classProp, children }) {
34
- const effectiveClass = className ?? classProp;
35
- const el = document.createElement("h5");
36
- el.className = [alertStyles.title, effectiveClass].filter(Boolean).join(" ");
37
- for (const node of resolveChildren(children)) {
38
- el.appendChild(node);
39
- }
40
- return el;
41
- }
42
- function AlertDescription({ className, class: classProp, children }) {
43
- const effectiveClass = className ?? classProp;
44
- const el = document.createElement("div");
45
- el.className = [alertStyles.description, effectiveClass].filter(Boolean).join(" ");
46
- for (const node of resolveChildren(children)) {
47
- el.appendChild(node);
48
- }
49
- return el;
50
- }
51
- return { Alert, AlertTitle, AlertDescription };
52
- }
53
-
54
- // src/components/avatar.ts
55
- import { resolveChildren as resolveChildren2 } from "@vertz/ui";
56
- function createAvatarComponents(avatarStyles) {
57
- function Avatar({ className, class: classProp, children }) {
58
- const effectiveClass = className ?? classProp;
59
- const el = document.createElement("div");
60
- el.className = [avatarStyles.root, effectiveClass].filter(Boolean).join(" ");
61
- for (const node of resolveChildren2(children)) {
62
- el.appendChild(node);
63
- }
64
- return el;
65
- }
66
- function AvatarImage({
67
- src,
68
- alt,
69
- className,
70
- class: classProp
71
- }) {
72
- const effectiveClass = className ?? classProp;
73
- const el = document.createElement("img");
74
- el.className = [avatarStyles.image, effectiveClass].filter(Boolean).join(" ");
75
- el.src = src;
76
- el.alt = alt;
77
- return el;
78
- }
79
- function AvatarFallback({ className, class: classProp, children }) {
80
- const effectiveClass = className ?? classProp;
81
- const el = document.createElement("div");
82
- el.className = [avatarStyles.fallback, effectiveClass].filter(Boolean).join(" ");
83
- for (const node of resolveChildren2(children)) {
84
- el.appendChild(node);
85
- }
86
- return el;
87
- }
88
- return { Avatar, AvatarImage, AvatarFallback };
89
- }
90
-
91
- // src/components/badge.ts
92
- import { resolveChildren as resolveChildren3 } from "@vertz/ui";
93
- function createBadgeComponent(badgeStyles) {
94
- const colorStyles = {
95
- blue: "background-color: oklch(0.55 0.15 250); color: #fff;",
96
- green: "background-color: oklch(0.55 0.15 155); color: #fff;",
97
- yellow: "background-color: oklch(0.75 0.15 85); color: oklch(0.25 0.05 85);"
98
- };
99
- return function Badge({
100
- color,
101
- className,
102
- class: classProp,
103
- children
104
- }) {
105
- const effectiveClass = className ?? classProp;
106
- const el = document.createElement("span");
107
- el.className = [badgeStyles({ color }), effectiveClass].filter(Boolean).join(" ");
108
- const inlineStyle = color ? colorStyles[color] : undefined;
109
- if (inlineStyle) {
110
- el.style.cssText = inlineStyle;
111
- }
112
- for (const node of resolveChildren3(children)) {
113
- el.appendChild(node);
114
- }
115
- return el;
116
- };
117
- }
118
-
119
- // src/components/breadcrumb.ts
120
- function createBreadcrumbComponent(styles) {
121
- return function Breadcrumb(props) {
122
- const { items, separator = "/", className, class: classProp } = props;
123
- const effectiveClass = className ?? classProp;
124
- const nav = document.createElement("nav");
125
- nav.setAttribute("aria-label", "Breadcrumb");
126
- if (styles.nav)
127
- nav.className = styles.nav;
128
- if (effectiveClass) {
129
- nav.className = [nav.className, effectiveClass].filter(Boolean).join(" ");
130
- }
131
- const ol = document.createElement("ol");
132
- ol.className = styles.list;
133
- for (let i = 0;i < items.length; i++) {
134
- const item = items[i];
135
- const li = document.createElement("li");
136
- li.className = styles.item;
137
- const isLast = i === items.length - 1;
138
- if (isLast) {
139
- const span = document.createElement("span");
140
- span.setAttribute("aria-current", "page");
141
- span.className = styles.page;
142
- span.textContent = item.label;
143
- li.appendChild(span);
144
- } else {
145
- if (item.href) {
146
- const a = document.createElement("a");
147
- a.href = item.href;
148
- a.className = styles.link;
149
- a.textContent = item.label;
150
- li.appendChild(a);
151
- } else {
152
- const span = document.createElement("span");
153
- span.className = styles.link;
154
- span.textContent = item.label;
155
- li.appendChild(span);
156
- }
157
- }
158
- ol.appendChild(li);
159
- if (!isLast) {
160
- const sepLi = document.createElement("li");
161
- sepLi.setAttribute("role", "presentation");
162
- sepLi.setAttribute("aria-hidden", "true");
163
- sepLi.className = styles.separator;
164
- sepLi.textContent = separator;
165
- ol.appendChild(sepLi);
166
- }
167
- }
168
- nav.appendChild(ol);
169
- return nav;
170
- };
171
- }
172
-
173
- // src/components/button.ts
174
- import { resolveChildren as resolveChildren4 } from "@vertz/ui";
175
- import { applyProps } from "@vertz/ui-primitives/utils";
176
- function createButtonComponent(buttonStyles) {
177
- return function Button({
178
- intent,
179
- size,
180
- className,
181
- class: classProp,
182
- children,
183
- disabled,
184
- type,
185
- ...rest
186
- }) {
187
- const effectiveClass = className ?? classProp;
188
- const el = document.createElement("button");
189
- el.type = type ?? "button";
190
- el.className = [buttonStyles({ intent, size }), effectiveClass].filter(Boolean).join(" ");
191
- if (disabled)
192
- el.disabled = true;
193
- applyProps(el, rest);
194
- for (const node of resolveChildren4(children)) {
195
- el.appendChild(node);
196
- }
197
- return el;
198
- };
199
- }
200
-
201
- // src/components/card.ts
202
- import { resolveChildren as resolveChildren5 } from "@vertz/ui";
203
- function createCardComponents(cardStyles) {
204
- function Card({ className, class: classProp, children }) {
205
- const effectiveClass = className ?? classProp;
206
- const el = document.createElement("div");
207
- el.className = [cardStyles.root, effectiveClass].filter(Boolean).join(" ");
208
- for (const node of resolveChildren5(children)) {
209
- el.appendChild(node);
210
- }
211
- return el;
212
- }
213
- function CardHeader({ className, class: classProp, children }) {
214
- const effectiveClass = className ?? classProp;
215
- const el = document.createElement("div");
216
- el.className = [cardStyles.header, effectiveClass].filter(Boolean).join(" ");
217
- for (const node of resolveChildren5(children)) {
218
- el.appendChild(node);
219
- }
220
- return el;
221
- }
222
- function CardTitle({ className, class: classProp, children }) {
223
- const effectiveClass = className ?? classProp;
224
- const el = document.createElement("h3");
225
- el.className = [cardStyles.title, effectiveClass].filter(Boolean).join(" ");
226
- for (const node of resolveChildren5(children)) {
227
- el.appendChild(node);
228
- }
229
- return el;
230
- }
231
- function CardDescription({
232
- className,
233
- class: classProp,
234
- children
235
- }) {
236
- const effectiveClass = className ?? classProp;
237
- const el = document.createElement("p");
238
- el.className = [cardStyles.description, effectiveClass].filter(Boolean).join(" ");
239
- for (const node of resolveChildren5(children)) {
240
- el.appendChild(node);
241
- }
242
- return el;
243
- }
244
- function CardContent({ className, class: classProp, children }) {
245
- const effectiveClass = className ?? classProp;
246
- const el = document.createElement("div");
247
- el.className = [cardStyles.content, effectiveClass].filter(Boolean).join(" ");
248
- for (const node of resolveChildren5(children)) {
249
- el.appendChild(node);
250
- }
251
- return el;
252
- }
253
- function CardFooter({ className, class: classProp, children }) {
254
- const effectiveClass = className ?? classProp;
255
- const el = document.createElement("div");
256
- el.className = [cardStyles.footer, effectiveClass].filter(Boolean).join(" ");
257
- for (const node of resolveChildren5(children)) {
258
- el.appendChild(node);
259
- }
260
- return el;
261
- }
262
- function CardAction({ className, class: classProp, children }) {
263
- const effectiveClass = className ?? classProp;
264
- const el = document.createElement("div");
265
- el.className = [cardStyles.action, effectiveClass].filter(Boolean).join(" ");
266
- for (const node of resolveChildren5(children)) {
267
- el.appendChild(node);
268
- }
269
- return el;
270
- }
271
- return {
272
- Card,
273
- CardHeader,
274
- CardTitle,
275
- CardDescription,
276
- CardContent,
277
- CardFooter,
278
- CardAction
279
- };
280
- }
281
-
282
- // src/components/form-group.ts
283
- import { resolveChildren as resolveChildren6 } from "@vertz/ui";
284
- function createFormGroupComponents(formGroupStyles) {
285
- function FormGroup({ className, class: classProp, children }) {
286
- const effectiveClass = className ?? classProp;
287
- const el = document.createElement("div");
288
- el.className = [formGroupStyles.base, effectiveClass].filter(Boolean).join(" ");
289
- for (const node of resolveChildren6(children)) {
290
- el.appendChild(node);
291
- }
292
- return el;
293
- }
294
- function FormError({ className, class: classProp, children }) {
295
- const effectiveClass = className ?? classProp;
296
- const el = document.createElement("span");
297
- el.className = [formGroupStyles.error, effectiveClass].filter(Boolean).join(" ");
298
- for (const node of resolveChildren6(children)) {
299
- el.appendChild(node);
300
- }
301
- return el;
302
- }
303
- return {
304
- FormGroup,
305
- FormError
306
- };
307
- }
308
-
309
- // src/components/input.ts
310
- import { applyProps as applyProps2 } from "@vertz/ui-primitives/utils";
311
- function createInputComponent(inputStyles) {
312
- return function Input({
313
- className,
314
- class: classProp,
315
- name,
316
- placeholder,
317
- type,
318
- disabled,
319
- value,
320
- ...attrs
321
- }) {
322
- const effectiveClass = className ?? classProp;
323
- const el = document.createElement("input");
324
- el.className = [inputStyles.base, effectiveClass].filter(Boolean).join(" ");
325
- if (name !== undefined)
326
- el.name = name;
327
- if (placeholder !== undefined)
328
- el.placeholder = placeholder;
329
- if (type !== undefined)
330
- el.type = type;
331
- if (disabled)
332
- el.disabled = true;
333
- if (value !== undefined)
334
- el.value = value;
335
- applyProps2(el, attrs);
336
- return el;
337
- };
338
- }
339
-
340
- // src/components/label.ts
341
- import { resolveChildren as resolveChildren7 } from "@vertz/ui";
342
- function createLabelComponent(labelStyles) {
343
- return function Label({
344
- className,
345
- class: classProp,
346
- for: htmlFor,
347
- children
348
- }) {
349
- const effectiveClass = className ?? classProp;
350
- const el = document.createElement("label");
351
- el.className = [labelStyles.base, effectiveClass].filter(Boolean).join(" ");
352
- if (htmlFor !== undefined)
353
- el.htmlFor = htmlFor;
354
- for (const node of resolveChildren7(children)) {
355
- el.appendChild(node);
356
- }
357
- return el;
358
- };
359
- }
360
-
361
- // src/components/pagination.ts
362
- function createPaginationComponent(styles) {
363
- return function Pagination(props) {
364
- const {
365
- currentPage,
366
- totalPages,
367
- onPageChange,
368
- siblingCount = 1,
369
- className,
370
- class: classProp
371
- } = props;
372
- const effectiveClass = className ?? classProp;
373
- const nav = document.createElement("nav");
374
- nav.setAttribute("aria-label", "Pagination");
375
- if (styles.nav)
376
- nav.classList.add(styles.nav);
377
- if (effectiveClass)
378
- nav.classList.add(effectiveClass);
379
- const ul = document.createElement("ul");
380
- ul.classList.add(styles.list);
381
- const prevLi = document.createElement("li");
382
- prevLi.classList.add(styles.item);
383
- const prevBtn = document.createElement("button");
384
- prevBtn.setAttribute("type", "button");
385
- prevBtn.classList.add(styles.link);
386
- prevBtn.textContent = "‹";
387
- prevBtn.setAttribute("aria-label", "Previous page");
388
- if (currentPage <= 1) {
389
- prevBtn.disabled = true;
390
- } else {
391
- prevBtn.addEventListener("click", () => onPageChange(currentPage - 1));
392
- }
393
- prevLi.appendChild(prevBtn);
394
- ul.appendChild(prevLi);
395
- const range = generatePaginationRange(currentPage, totalPages, siblingCount);
396
- for (const page of range) {
397
- const li = document.createElement("li");
398
- li.classList.add(styles.item);
399
- if (page === "...") {
400
- const span = document.createElement("span");
401
- span.setAttribute("aria-hidden", "true");
402
- span.classList.add(styles.ellipsis);
403
- span.textContent = "…";
404
- li.appendChild(span);
405
- } else {
406
- const btn = document.createElement("button");
407
- btn.setAttribute("type", "button");
408
- btn.textContent = String(page);
409
- if (page === currentPage) {
410
- btn.classList.add(styles.linkActive);
411
- btn.setAttribute("aria-current", "page");
412
- } else {
413
- btn.classList.add(styles.link);
414
- btn.addEventListener("click", () => onPageChange(page));
415
- }
416
- li.appendChild(btn);
417
- }
418
- ul.appendChild(li);
419
- }
420
- const nextLi = document.createElement("li");
421
- nextLi.classList.add(styles.item);
422
- const nextBtn = document.createElement("button");
423
- nextBtn.setAttribute("type", "button");
424
- nextBtn.classList.add(styles.link);
425
- nextBtn.textContent = "›";
426
- nextBtn.setAttribute("aria-label", "Next page");
427
- if (currentPage >= totalPages) {
428
- nextBtn.disabled = true;
429
- } else {
430
- nextBtn.addEventListener("click", () => onPageChange(currentPage + 1));
431
- }
432
- nextLi.appendChild(nextBtn);
433
- ul.appendChild(nextLi);
434
- nav.appendChild(ul);
435
- return nav;
436
- };
437
- }
438
- function generatePaginationRange(current, total, siblings) {
439
- const range = [];
440
- const left = Math.max(2, current - siblings);
441
- const right = Math.min(total - 1, current + siblings);
442
- range.push(1);
443
- if (left > 2) {
444
- range.push("...");
445
- }
446
- for (let i = left;i <= right; i++) {
447
- if (i !== 1 && i !== total) {
448
- range.push(i);
449
- }
450
- }
451
- if (right < total - 1) {
452
- range.push("...");
453
- }
454
- if (total > 1) {
455
- range.push(total);
456
- }
457
- return range;
458
- }
10
+ RADIUS_VALUES,
11
+ configureThemeBase,
12
+ palettes
13
+ } from "./shared/chunk-f0wk9320.js";
14
+ // src/configure.ts
15
+ import {
16
+ ComposedAlert,
17
+ ComposedAvatar,
18
+ ComposedBadge,
19
+ ComposedBreadcrumb,
20
+ ComposedButton,
21
+ ComposedCard,
22
+ ComposedEmptyState,
23
+ ComposedFormGroup,
24
+ ComposedInput,
25
+ ComposedLabel,
26
+ ComposedPagination,
27
+ ComposedSeparator,
28
+ ComposedSkeleton,
29
+ ComposedTable,
30
+ ComposedTextarea,
31
+ withStyles as withStyles18
32
+ } from "@vertz/ui-primitives";
459
33
 
460
34
  // src/components/primitives/accordion.ts
461
35
  import { ComposedAccordion, withStyles } from "@vertz/ui-primitives";
@@ -475,25 +49,10 @@ function createThemedAccordion(styles) {
475
49
  });
476
50
  }
477
51
 
478
- // src/components/primitives/alert-dialog.ts
479
- import { ComposedAlertDialog, withStyles as withStyles2 } from "@vertz/ui-primitives";
480
- function createThemedAlertDialog(styles) {
481
- return withStyles2(ComposedAlertDialog, {
482
- overlay: styles.overlay,
483
- content: styles.panel,
484
- cancel: styles.cancel,
485
- action: styles.action,
486
- title: styles.title,
487
- description: styles.description,
488
- footer: styles.footer,
489
- header: ""
490
- });
491
- }
492
-
493
52
  // src/components/primitives/calendar.ts
494
- import { ComposedCalendar, withStyles as withStyles3 } from "@vertz/ui-primitives";
53
+ import { ComposedCalendar, withStyles as withStyles2 } from "@vertz/ui-primitives";
495
54
  function createThemedCalendar(styles) {
496
- const StyledCalendar = withStyles3(ComposedCalendar, {
55
+ const StyledCalendar = withStyles2(ComposedCalendar, {
497
56
  root: styles.root,
498
57
  header: styles.header,
499
58
  title: styles.title,
@@ -501,7 +60,9 @@ function createThemedCalendar(styles) {
501
60
  grid: styles.grid,
502
61
  headCell: styles.headCell,
503
62
  cell: styles.cell,
504
- dayButton: styles.dayButton
63
+ dayButton: styles.dayButton,
64
+ monthSelect: styles.monthSelect,
65
+ yearSelect: styles.yearSelect
505
66
  });
506
67
  return function CalendarRoot(props) {
507
68
  return StyledCalendar(props);
@@ -509,9 +70,9 @@ function createThemedCalendar(styles) {
509
70
  }
510
71
 
511
72
  // src/components/primitives/carousel.ts
512
- import { ComposedCarousel, withStyles as withStyles4 } from "@vertz/ui-primitives";
73
+ import { ComposedCarousel, withStyles as withStyles3 } from "@vertz/ui-primitives";
513
74
  function createThemedCarousel(styles) {
514
- const StyledCarousel = withStyles4(ComposedCarousel, {
75
+ const StyledCarousel = withStyles3(ComposedCarousel, {
515
76
  root: styles.root,
516
77
  viewport: styles.viewport,
517
78
  slide: styles.slide,
@@ -541,9 +102,9 @@ function createThemedCarousel(styles) {
541
102
  }
542
103
 
543
104
  // src/components/primitives/checkbox.ts
544
- import { ComposedCheckbox, withStyles as withStyles5 } from "@vertz/ui-primitives";
105
+ import { ComposedCheckbox, withStyles as withStyles4 } from "@vertz/ui-primitives";
545
106
  function createThemedCheckbox(styles) {
546
- const StyledCheckbox = withStyles5(ComposedCheckbox, {
107
+ const StyledCheckbox = withStyles4(ComposedCheckbox, {
547
108
  root: styles.root,
548
109
  indicator: styles.indicator
549
110
  });
@@ -578,9 +139,9 @@ function createThemedCollapsible(styles) {
578
139
  }
579
140
 
580
141
  // src/components/primitives/command.tsx
581
- import { ComposedCommand, withStyles as withStyles6 } from "@vertz/ui-primitives";
142
+ import { ComposedCommand, withStyles as withStyles5 } from "@vertz/ui-primitives";
582
143
  function createThemedCommand(styles) {
583
- const Styled = withStyles6(ComposedCommand, {
144
+ const Styled = withStyles5(ComposedCommand, {
584
145
  root: styles.root,
585
146
  input: styles.input,
586
147
  list: styles.list,
@@ -616,9 +177,9 @@ function createThemedCommand(styles) {
616
177
  }
617
178
 
618
179
  // src/components/primitives/context-menu.ts
619
- import { ComposedContextMenu, withStyles as withStyles7 } from "@vertz/ui-primitives";
180
+ import { ComposedContextMenu, withStyles as withStyles6 } from "@vertz/ui-primitives";
620
181
  function createThemedContextMenu(styles) {
621
- const Styled = withStyles7(ComposedContextMenu, {
182
+ const Styled = withStyles6(ComposedContextMenu, {
622
183
  content: styles.content,
623
184
  item: styles.item,
624
185
  group: styles.group,
@@ -652,7 +213,8 @@ function createThemedDatePicker(styles, calendarClasses) {
652
213
  formatDate,
653
214
  placeholder,
654
215
  onValueChange,
655
- onOpenChange
216
+ onOpenChange,
217
+ captionLayout
656
218
  }) {
657
219
  return ComposedDatePicker({
658
220
  children,
@@ -666,6 +228,7 @@ function createThemedDatePicker(styles, calendarClasses) {
666
228
  placeholder,
667
229
  onValueChange,
668
230
  onOpenChange,
231
+ captionLayout,
669
232
  classes: {
670
233
  trigger: styles.trigger,
671
234
  content: styles.content,
@@ -680,22 +243,30 @@ function createThemedDatePicker(styles, calendarClasses) {
680
243
  }
681
244
 
682
245
  // src/components/primitives/dialog.ts
683
- import { ComposedDialog, withStyles as withStyles8 } from "@vertz/ui-primitives";
684
- function createThemedDialog(styles) {
685
- return withStyles8(ComposedDialog, {
686
- overlay: styles.overlay,
687
- content: styles.panel,
688
- close: styles.close,
689
- header: styles.header,
690
- title: styles.title,
691
- description: styles.description,
692
- footer: styles.footer
693
- });
246
+ import {
247
+ StackDialogBody,
248
+ StackDialogCancel,
249
+ StackDialogClose,
250
+ StackDialogDescription,
251
+ StackDialogFooter,
252
+ StackDialogHeader,
253
+ StackDialogTitle
254
+ } from "@vertz/ui-primitives";
255
+ function createThemedDialog() {
256
+ return {
257
+ Header: StackDialogHeader,
258
+ Title: StackDialogTitle,
259
+ Description: StackDialogDescription,
260
+ Footer: StackDialogFooter,
261
+ Body: StackDialogBody,
262
+ Close: StackDialogClose,
263
+ Cancel: StackDialogCancel
264
+ };
694
265
  }
695
266
 
696
267
  // src/components/primitives/drawer.tsx
697
- import { __element, __enterChildren, __exitChildren, __insert } from "@vertz/ui/internals";
698
- import { resolveChildren as resolveChildren8 } from "@vertz/ui";
268
+ import { __discardMountFrame, __element, __enterChildren, __exitChildren, __flushMountFrame, __insert, __pushMountFrame } from "@vertz/ui/internals";
269
+ import { resolveChildren } from "@vertz/ui";
699
270
  import { ComposedSheet } from "@vertz/ui-primitives";
700
271
  var PANEL_CLASS_MAP = {
701
272
  left: "panelLeft",
@@ -704,87 +275,92 @@ var PANEL_CLASS_MAP = {
704
275
  bottom: "panelBottom"
705
276
  };
706
277
  function createThemedDrawer(styles) {
707
- function DrawerRoot({ children, side, onOpenChange }) {
708
- const resolvedSide = side ?? "bottom";
709
- const panelClass = styles[PANEL_CLASS_MAP[resolvedSide]];
710
- return ComposedSheet({
711
- children,
712
- side: resolvedSide,
713
- onOpenChange,
714
- classes: {
715
- overlay: styles.overlay,
716
- content: panelClass,
717
- title: styles.title,
718
- description: styles.description,
719
- close: styles.close
720
- }
278
+ const __mfDepth = __pushMountFrame();
279
+ try {
280
+ let DrawerRoot = function({ children, side, onOpenChange }) {
281
+ const resolvedSide = side ?? "bottom";
282
+ const panelClass = styles[PANEL_CLASS_MAP[resolvedSide]];
283
+ return ComposedSheet({
284
+ children,
285
+ side: resolvedSide,
286
+ onOpenChange,
287
+ classes: {
288
+ overlay: styles.overlay,
289
+ content: panelClass,
290
+ title: styles.title,
291
+ description: styles.description,
292
+ close: styles.close
293
+ }
294
+ });
295
+ }, DrawerHeader = function({ children, className: cls, class: classProp }) {
296
+ const effectiveCls = cls ?? classProp;
297
+ const combined = [styles.header, effectiveCls].filter(Boolean).join(" ");
298
+ const resolved = resolveChildren(children);
299
+ return (() => {
300
+ const __el0 = __element("div");
301
+ __el0.setAttribute("data-slot", "drawer-header");
302
+ {
303
+ const __v = combined;
304
+ if (__v != null && __v !== false)
305
+ __el0.setAttribute("class", __v === true ? "" : __v);
306
+ }
307
+ __enterChildren(__el0);
308
+ __insert(__el0, resolved);
309
+ __exitChildren();
310
+ return __el0;
311
+ })();
312
+ }, DrawerFooter = function({ children, className: cls, class: classProp }) {
313
+ const effectiveCls = cls ?? classProp;
314
+ const combined = [styles.footer, effectiveCls].filter(Boolean).join(" ");
315
+ const resolved = resolveChildren(children);
316
+ return (() => {
317
+ const __el1 = __element("div");
318
+ __el1.setAttribute("data-slot", "drawer-footer");
319
+ {
320
+ const __v = combined;
321
+ if (__v != null && __v !== false)
322
+ __el1.setAttribute("class", __v === true ? "" : __v);
323
+ }
324
+ __enterChildren(__el1);
325
+ __insert(__el1, resolved);
326
+ __exitChildren();
327
+ return __el1;
328
+ })();
329
+ }, DrawerHandle = function({ className: cls, class: classProp }) {
330
+ const effectiveCls = cls ?? classProp;
331
+ const combined = [styles.handle, effectiveCls].filter(Boolean).join(" ");
332
+ return (() => {
333
+ const __el2 = __element("div");
334
+ __el2.setAttribute("data-slot", "drawer-handle");
335
+ {
336
+ const __v = combined;
337
+ if (__v != null && __v !== false)
338
+ __el2.setAttribute("class", __v === true ? "" : __v);
339
+ }
340
+ return __el2;
341
+ })();
342
+ };
343
+ const __mfResult0 = Object.assign(DrawerRoot, {
344
+ Trigger: ComposedSheet.Trigger,
345
+ Content: ComposedSheet.Content,
346
+ Header: DrawerHeader,
347
+ Title: ComposedSheet.Title,
348
+ Description: ComposedSheet.Description,
349
+ Footer: DrawerFooter,
350
+ Handle: DrawerHandle
721
351
  });
352
+ __flushMountFrame();
353
+ return __mfResult0;
354
+ } catch (__mfErr) {
355
+ __discardMountFrame(__mfDepth);
356
+ throw __mfErr;
722
357
  }
723
- function DrawerHeader({ children, className: cls, class: classProp }) {
724
- const effectiveCls = cls ?? classProp;
725
- const combined = [styles.header, effectiveCls].filter(Boolean).join(" ");
726
- const resolved = resolveChildren8(children);
727
- return (() => {
728
- const __el0 = __element("div");
729
- __el0.setAttribute("data-slot", "drawer-header");
730
- {
731
- const __v = combined;
732
- if (__v != null && __v !== false)
733
- __el0.setAttribute("class", __v === true ? "" : __v);
734
- }
735
- __enterChildren(__el0);
736
- __insert(__el0, resolved);
737
- __exitChildren();
738
- return __el0;
739
- })();
740
- }
741
- function DrawerFooter({ children, className: cls, class: classProp }) {
742
- const effectiveCls = cls ?? classProp;
743
- const combined = [styles.footer, effectiveCls].filter(Boolean).join(" ");
744
- const resolved = resolveChildren8(children);
745
- return (() => {
746
- const __el1 = __element("div");
747
- __el1.setAttribute("data-slot", "drawer-footer");
748
- {
749
- const __v = combined;
750
- if (__v != null && __v !== false)
751
- __el1.setAttribute("class", __v === true ? "" : __v);
752
- }
753
- __enterChildren(__el1);
754
- __insert(__el1, resolved);
755
- __exitChildren();
756
- return __el1;
757
- })();
758
- }
759
- function DrawerHandle({ className: cls, class: classProp }) {
760
- const effectiveCls = cls ?? classProp;
761
- const combined = [styles.handle, effectiveCls].filter(Boolean).join(" ");
762
- return (() => {
763
- const __el2 = __element("div");
764
- __el2.setAttribute("data-slot", "drawer-handle");
765
- {
766
- const __v = combined;
767
- if (__v != null && __v !== false)
768
- __el2.setAttribute("class", __v === true ? "" : __v);
769
- }
770
- return __el2;
771
- })();
772
- }
773
- return Object.assign(DrawerRoot, {
774
- Trigger: ComposedSheet.Trigger,
775
- Content: ComposedSheet.Content,
776
- Header: DrawerHeader,
777
- Title: ComposedSheet.Title,
778
- Description: ComposedSheet.Description,
779
- Footer: DrawerFooter,
780
- Handle: DrawerHandle
781
- });
782
358
  }
783
359
 
784
360
  // src/components/primitives/dropdown-menu.ts
785
- import { ComposedDropdownMenu, withStyles as withStyles9 } from "@vertz/ui-primitives";
361
+ import { ComposedDropdownMenu, withStyles as withStyles7 } from "@vertz/ui-primitives";
786
362
  function createThemedDropdownMenu(styles) {
787
- const Styled = withStyles9(ComposedDropdownMenu, {
363
+ const Styled = withStyles7(ComposedDropdownMenu, {
788
364
  content: styles.content,
789
365
  item: styles.item,
790
366
  group: styles.group,
@@ -835,9 +411,9 @@ function createThemedHoverCard(styles) {
835
411
  }
836
412
 
837
413
  // src/components/primitives/menubar.ts
838
- import { ComposedMenubar, withStyles as withStyles10 } from "@vertz/ui-primitives";
414
+ import { ComposedMenubar, withStyles as withStyles8 } from "@vertz/ui-primitives";
839
415
  function createThemedMenubar(styles) {
840
- const Styled = withStyles10(ComposedMenubar, {
416
+ const Styled = withStyles8(ComposedMenubar, {
841
417
  root: styles.root,
842
418
  trigger: styles.trigger,
843
419
  content: styles.content,
@@ -847,7 +423,7 @@ function createThemedMenubar(styles) {
847
423
  separator: styles.separator
848
424
  });
849
425
  function MenubarRoot({ children, onSelect }) {
850
- return Styled({ children, onSelect });
426
+ return Styled({ children, onSelect, positioning: { placement: "bottom-start" } });
851
427
  }
852
428
  return Object.assign(MenubarRoot, {
853
429
  Menu: ComposedMenubar.Menu,
@@ -861,9 +437,9 @@ function createThemedMenubar(styles) {
861
437
  }
862
438
 
863
439
  // src/components/primitives/navigation-menu.tsx
864
- import { ComposedNavigationMenu, withStyles as withStyles11 } from "@vertz/ui-primitives";
440
+ import { ComposedNavigationMenu, withStyles as withStyles9 } from "@vertz/ui-primitives";
865
441
  function createThemedNavigationMenu(styles) {
866
- const Styled = withStyles11(ComposedNavigationMenu, {
442
+ const Styled = withStyles9(ComposedNavigationMenu, {
867
443
  root: styles.root,
868
444
  list: styles.list,
869
445
  trigger: styles.trigger,
@@ -895,9 +471,9 @@ function createThemedNavigationMenu(styles) {
895
471
  }
896
472
 
897
473
  // src/components/primitives/popover.ts
898
- import { ComposedPopover, withStyles as withStyles12 } from "@vertz/ui-primitives";
474
+ import { ComposedPopover, withStyles as withStyles10 } from "@vertz/ui-primitives";
899
475
  function createThemedPopover(styles) {
900
- const StyledPopover = withStyles12(ComposedPopover, {
476
+ const StyledPopover = withStyles10(ComposedPopover, {
901
477
  content: styles.content
902
478
  });
903
479
  function PopoverRoot({ children, onOpenChange }) {
@@ -921,9 +497,9 @@ function createThemedProgress(styles) {
921
497
  }
922
498
 
923
499
  // src/components/primitives/radio-group.ts
924
- import { ComposedRadioGroup, withStyles as withStyles13 } from "@vertz/ui-primitives";
500
+ import { ComposedRadioGroup, withStyles as withStyles11 } from "@vertz/ui-primitives";
925
501
  function createThemedRadioGroup(styles) {
926
- const StyledRadioGroup = withStyles13(ComposedRadioGroup, {
502
+ const StyledRadioGroup = withStyles11(ComposedRadioGroup, {
927
503
  root: styles.root,
928
504
  item: styles.item,
929
505
  indicator: styles.indicator,
@@ -981,9 +557,9 @@ function createThemedScrollArea(styles) {
981
557
  }
982
558
 
983
559
  // src/components/primitives/select.ts
984
- import { ComposedSelect, withStyles as withStyles14 } from "@vertz/ui-primitives";
560
+ import { ComposedSelect, withStyles as withStyles12 } from "@vertz/ui-primitives";
985
561
  function createThemedSelect(styles) {
986
- const StyledSelect = withStyles14(ComposedSelect, {
562
+ const StyledSelect = withStyles12(ComposedSelect, {
987
563
  trigger: styles.trigger,
988
564
  content: styles.content,
989
565
  item: styles.item,
@@ -1065,13 +641,13 @@ function createThemedSlider(styles) {
1065
641
  }
1066
642
 
1067
643
  // src/components/primitives/switch.ts
1068
- import { ComposedSwitch, withStyles as withStyles15 } from "@vertz/ui-primitives";
644
+ import { ComposedSwitch, withStyles as withStyles13 } from "@vertz/ui-primitives";
1069
645
  function createThemedSwitch(styles) {
1070
- const DefaultSwitch = withStyles15(ComposedSwitch, {
646
+ const DefaultSwitch = withStyles13(ComposedSwitch, {
1071
647
  root: styles.root,
1072
648
  thumb: styles.thumb
1073
649
  });
1074
- const SmSwitch = withStyles15(ComposedSwitch, {
650
+ const SmSwitch = withStyles13(ComposedSwitch, {
1075
651
  root: styles.rootSm,
1076
652
  thumb: styles.thumbSm
1077
653
  });
@@ -1082,14 +658,14 @@ function createThemedSwitch(styles) {
1082
658
  }
1083
659
 
1084
660
  // src/components/primitives/tabs.ts
1085
- import { ComposedTabs, withStyles as withStyles16 } from "@vertz/ui-primitives";
661
+ import { ComposedTabs, withStyles as withStyles14 } from "@vertz/ui-primitives";
1086
662
  function createThemedTabs(styles) {
1087
- const DefaultTabs = withStyles16(ComposedTabs, {
663
+ const DefaultTabs = withStyles14(ComposedTabs, {
1088
664
  list: styles.list,
1089
665
  trigger: styles.trigger,
1090
666
  panel: styles.panel
1091
667
  });
1092
- const LineTabs = withStyles16(ComposedTabs, {
668
+ const LineTabs = withStyles14(ComposedTabs, {
1093
669
  list: styles.listLine,
1094
670
  trigger: styles.triggerLine,
1095
671
  panel: styles.panel
@@ -1122,9 +698,9 @@ function createThemedToast(styles) {
1122
698
  }
1123
699
 
1124
700
  // src/components/primitives/toggle.ts
1125
- import { ComposedToggle, withStyles as withStyles17 } from "@vertz/ui-primitives";
701
+ import { ComposedToggle, withStyles as withStyles15 } from "@vertz/ui-primitives";
1126
702
  function createThemedToggle(styles) {
1127
- const StyledToggle = withStyles17(ComposedToggle, {
703
+ const StyledToggle = withStyles15(ComposedToggle, {
1128
704
  root: styles.root
1129
705
  });
1130
706
  return function ToggleRoot(props) {
@@ -1133,9 +709,9 @@ function createThemedToggle(styles) {
1133
709
  }
1134
710
 
1135
711
  // src/components/primitives/toggle-group.tsx
1136
- import { ComposedToggleGroup, withStyles as withStyles18 } from "@vertz/ui-primitives";
712
+ import { ComposedToggleGroup, withStyles as withStyles16 } from "@vertz/ui-primitives";
1137
713
  function createThemedToggleGroup(styles) {
1138
- const StyledToggleGroup = withStyles18(ComposedToggleGroup, {
714
+ const StyledToggleGroup = withStyles16(ComposedToggleGroup, {
1139
715
  root: styles.root,
1140
716
  item: styles.item
1141
717
  });
@@ -1148,9 +724,9 @@ function createThemedToggleGroup(styles) {
1148
724
  }
1149
725
 
1150
726
  // src/components/primitives/tooltip.ts
1151
- import { ComposedTooltip, withStyles as withStyles19 } from "@vertz/ui-primitives";
727
+ import { ComposedTooltip, withStyles as withStyles17 } from "@vertz/ui-primitives";
1152
728
  function createThemedTooltip(styles) {
1153
- const StyledTooltip = withStyles19(ComposedTooltip, {
729
+ const StyledTooltip = withStyles17(ComposedTooltip, {
1154
730
  content: styles.content
1155
731
  });
1156
732
  function TooltipRoot({ children, delay }) {
@@ -1162,185 +738,6 @@ function createThemedTooltip(styles) {
1162
738
  });
1163
739
  }
1164
740
 
1165
- // src/components/separator.ts
1166
- function createSeparatorComponent(separatorStyles) {
1167
- return function Separator({
1168
- orientation = "horizontal",
1169
- className,
1170
- class: classProp
1171
- }) {
1172
- const effectiveClass = className ?? classProp;
1173
- const orientationClass = orientation === "vertical" ? separatorStyles.vertical : separatorStyles.horizontal;
1174
- const el = document.createElement("hr");
1175
- el.className = [separatorStyles.base, orientationClass, effectiveClass].filter(Boolean).join(" ");
1176
- el.setAttribute("role", "separator");
1177
- el.setAttribute("aria-orientation", orientation);
1178
- return el;
1179
- };
1180
- }
1181
-
1182
- // src/components/skeleton.ts
1183
- function createSkeletonComponents(skeletonStyles) {
1184
- function Skeleton({
1185
- className,
1186
- class: classProp,
1187
- width,
1188
- height
1189
- } = {}) {
1190
- const effectiveClass = className ?? classProp;
1191
- const el = document.createElement("div");
1192
- el.className = [skeletonStyles.base, effectiveClass].filter(Boolean).join(" ");
1193
- el.setAttribute("aria-hidden", "true");
1194
- if (width)
1195
- el.style.width = width;
1196
- if (height)
1197
- el.style.height = height;
1198
- return el;
1199
- }
1200
- return { Skeleton };
1201
- }
1202
-
1203
- // src/components/table.ts
1204
- import { resolveChildren as resolveChildren9 } from "@vertz/ui";
1205
- function createTableComponents(tableStyles) {
1206
- function Table({ className, class: classProp, children }) {
1207
- const effectiveClass = className ?? classProp;
1208
- const wrapper = document.createElement("div");
1209
- wrapper.style.position = "relative";
1210
- wrapper.style.width = "100%";
1211
- wrapper.style.overflowX = "auto";
1212
- const table = document.createElement("table");
1213
- table.style.borderCollapse = "collapse";
1214
- table.className = [tableStyles.root, effectiveClass].filter(Boolean).join(" ");
1215
- for (const node of resolveChildren9(children)) {
1216
- table.appendChild(node);
1217
- }
1218
- wrapper.appendChild(table);
1219
- return wrapper;
1220
- }
1221
- function TableHeader({
1222
- className,
1223
- class: classProp,
1224
- children
1225
- }) {
1226
- const effectiveClass = className ?? classProp;
1227
- const el = document.createElement("thead");
1228
- el.className = [tableStyles.header, effectiveClass].filter(Boolean).join(" ");
1229
- for (const node of resolveChildren9(children)) {
1230
- el.appendChild(node);
1231
- }
1232
- return el;
1233
- }
1234
- function TableBody({
1235
- className,
1236
- class: classProp,
1237
- children
1238
- }) {
1239
- const effectiveClass = className ?? classProp;
1240
- const el = document.createElement("tbody");
1241
- el.className = [tableStyles.body, effectiveClass].filter(Boolean).join(" ");
1242
- for (const node of resolveChildren9(children)) {
1243
- el.appendChild(node);
1244
- }
1245
- return el;
1246
- }
1247
- function TableRow({ className, class: classProp, children }) {
1248
- const effectiveClass = className ?? classProp;
1249
- const el = document.createElement("tr");
1250
- el.className = [tableStyles.row, effectiveClass].filter(Boolean).join(" ");
1251
- for (const node of resolveChildren9(children)) {
1252
- el.appendChild(node);
1253
- }
1254
- return el;
1255
- }
1256
- function TableHead({ className, class: classProp, children }) {
1257
- const effectiveClass = className ?? classProp;
1258
- const el = document.createElement("th");
1259
- el.scope = "col";
1260
- el.className = [tableStyles.head, effectiveClass].filter(Boolean).join(" ");
1261
- for (const node of resolveChildren9(children)) {
1262
- el.appendChild(node);
1263
- }
1264
- return el;
1265
- }
1266
- function TableCell({ className, class: classProp, children }) {
1267
- const effectiveClass = className ?? classProp;
1268
- const el = document.createElement("td");
1269
- el.className = [tableStyles.cell, effectiveClass].filter(Boolean).join(" ");
1270
- for (const node of resolveChildren9(children)) {
1271
- el.appendChild(node);
1272
- }
1273
- return el;
1274
- }
1275
- function TableCaption({
1276
- className,
1277
- class: classProp,
1278
- children
1279
- }) {
1280
- const effectiveClass = className ?? classProp;
1281
- const el = document.createElement("caption");
1282
- el.className = [tableStyles.caption, effectiveClass].filter(Boolean).join(" ");
1283
- for (const node of resolveChildren9(children)) {
1284
- el.appendChild(node);
1285
- }
1286
- return el;
1287
- }
1288
- function TableFooter({
1289
- className,
1290
- class: classProp,
1291
- children
1292
- }) {
1293
- const effectiveClass = className ?? classProp;
1294
- const el = document.createElement("tfoot");
1295
- el.className = [tableStyles.footer, effectiveClass].filter(Boolean).join(" ");
1296
- for (const node of resolveChildren9(children)) {
1297
- el.appendChild(node);
1298
- }
1299
- return el;
1300
- }
1301
- return {
1302
- Table,
1303
- TableHeader,
1304
- TableBody,
1305
- TableRow,
1306
- TableHead,
1307
- TableCell,
1308
- TableCaption,
1309
- TableFooter
1310
- };
1311
- }
1312
-
1313
- // src/components/textarea.ts
1314
- import { applyProps as applyProps3 } from "@vertz/ui-primitives/utils";
1315
- function createTextareaComponent(textareaStyles) {
1316
- return function Textarea({
1317
- className,
1318
- class: classProp,
1319
- name,
1320
- placeholder,
1321
- disabled,
1322
- value,
1323
- rows,
1324
- ...attrs
1325
- }) {
1326
- const effectiveClass = className ?? classProp;
1327
- const el = document.createElement("textarea");
1328
- el.className = [textareaStyles.base, effectiveClass].filter(Boolean).join(" ");
1329
- if (name !== undefined)
1330
- el.name = name;
1331
- if (placeholder !== undefined)
1332
- el.placeholder = placeholder;
1333
- if (disabled)
1334
- el.disabled = true;
1335
- if (value !== undefined)
1336
- el.value = value;
1337
- if (rows !== undefined)
1338
- el.rows = rows;
1339
- applyProps3(el, attrs);
1340
- return el;
1341
- };
1342
- }
1343
-
1344
741
  // src/styles/accordion.ts
1345
742
  import { css, keyframes } from "@vertz/ui";
1346
743
  var accordionDown = keyframes("vz-accordion-down", {
@@ -1362,10 +759,13 @@ function createAccordionStyles() {
1362
759
  "px:2",
1363
760
  "text:sm",
1364
761
  "font:medium",
762
+ "text:foreground",
1365
763
  "cursor:pointer",
764
+ "bg:transparent",
1366
765
  {
1367
766
  "&": {
1368
- "border-radius": "0.5rem",
767
+ border: "none",
768
+ "border-radius": "calc(var(--radius) * 1.33)",
1369
769
  "padding-top": "0.625rem",
1370
770
  "padding-bottom": "0.625rem"
1371
771
  },
@@ -1375,6 +775,7 @@ function createAccordionStyles() {
1375
775
  accordionContent: [
1376
776
  "overflow-hidden",
1377
777
  "text:sm",
778
+ "text:muted-foreground",
1378
779
  {
1379
780
  '&[data-state="open"]': [animationDecl(`${accordionDown} 200ms ease-out forwards`)]
1380
781
  },
@@ -1424,151 +825,10 @@ function createAlertStyles() {
1424
825
  css: s.css
1425
826
  };
1426
827
  }
1427
- // src/styles/alert-dialog.ts
1428
- import { css as css3 } from "@vertz/ui";
1429
- var focusRing = {
1430
- "&:focus-visible": [
1431
- "outline-none",
1432
- {
1433
- outline: "3px solid color-mix(in oklch, var(--color-ring) 50%, transparent)"
1434
- },
1435
- { "outline-offset": "2px" }
1436
- ]
1437
- };
1438
- function createAlertDialogStyles() {
1439
- const s = css3({
1440
- alertDialogOverlay: [
1441
- "fixed",
1442
- "inset:0",
1443
- "z:50",
1444
- {
1445
- "&": {
1446
- "background-color": "oklch(0 0 0 / 10%)",
1447
- "backdrop-filter": "blur(4px)",
1448
- "-webkit-backdrop-filter": "blur(4px)"
1449
- }
1450
- },
1451
- {
1452
- '&[data-state="open"]': [animationDecl("vz-fade-in 100ms ease-out forwards")]
1453
- },
1454
- {
1455
- '&[data-state="closed"]': [animationDecl("vz-fade-out 100ms ease-out forwards")]
1456
- }
1457
- ],
1458
- alertDialogPanel: [
1459
- "bg:background",
1460
- "gap:4",
1461
- {
1462
- "&": {
1463
- display: "grid",
1464
- width: "100%",
1465
- "max-width": "calc(100% - 2rem)",
1466
- "box-shadow": "0 0 0 1px color-mix(in oklch, var(--color-foreground) 10%, transparent)",
1467
- "border-radius": "0.75rem",
1468
- padding: "1rem",
1469
- margin: "auto",
1470
- height: "fit-content",
1471
- outline: "none",
1472
- border: "none",
1473
- "container-type": "inline-size"
1474
- },
1475
- "&:not([open])": { display: "none" },
1476
- "&::backdrop": {
1477
- "background-color": "oklch(0 0 0 / 10%)",
1478
- "backdrop-filter": "blur(4px)",
1479
- "-webkit-backdrop-filter": "blur(4px)"
1480
- },
1481
- '&[data-state="open"]::backdrop': {
1482
- animation: "vz-fade-in 100ms ease-out forwards"
1483
- },
1484
- '&[data-state="closed"]::backdrop': {
1485
- animation: "vz-fade-out 100ms ease-out forwards"
1486
- },
1487
- "@media (min-width: 640px)": { "max-width": "24rem" }
1488
- },
1489
- {
1490
- '&[data-state="open"]': [animationDecl("vz-zoom-in 100ms ease-out forwards")]
1491
- },
1492
- {
1493
- '&[data-state="closed"]': [animationDecl("vz-zoom-out 100ms ease-out forwards")]
1494
- }
1495
- ],
1496
- alertDialogTitle: [
1497
- {
1498
- "&": {
1499
- "font-size": "1rem",
1500
- "font-weight": "500"
1501
- }
1502
- }
1503
- ],
1504
- alertDialogDescription: ["text:sm", "text:muted-foreground"],
1505
- alertDialogFooter: [
1506
- "flex",
1507
- "gap:2",
1508
- {
1509
- "&": {
1510
- "flex-direction": "column-reverse",
1511
- "background-color": "color-mix(in oklch, var(--color-muted) 50%, transparent)",
1512
- margin: "0 -1rem -1rem -1rem",
1513
- "border-radius": "0 0 0.75rem 0.75rem",
1514
- "border-top": "1px solid var(--color-border)",
1515
- padding: "1rem"
1516
- },
1517
- "@container (min-width: 20rem)": {
1518
- "flex-direction": "row",
1519
- "justify-content": "flex-end"
1520
- }
1521
- }
1522
- ],
1523
- alertDialogCancel: [
1524
- "inline-flex",
1525
- "items:center",
1526
- "justify:center",
1527
- "rounded:md",
1528
- "border:1",
1529
- "border:input",
1530
- "bg:background",
1531
- "px:4",
1532
- "py:2",
1533
- "text:sm",
1534
- "font:medium",
1535
- "cursor:pointer",
1536
- "transition:colors",
1537
- { "&:hover": ["bg:accent", "text:accent-foreground"] },
1538
- focusRing
1539
- ],
1540
- alertDialogAction: [
1541
- "inline-flex",
1542
- "items:center",
1543
- "justify:center",
1544
- "rounded:md",
1545
- "bg:primary",
1546
- "text:primary-foreground",
1547
- "px:4",
1548
- "py:2",
1549
- "text:sm",
1550
- "font:medium",
1551
- "cursor:pointer",
1552
- "transition:colors",
1553
- { "&:hover": [{ opacity: "0.9" }] },
1554
- focusRing
1555
- ]
1556
- });
1557
- return {
1558
- overlay: s.alertDialogOverlay,
1559
- panel: s.alertDialogPanel,
1560
- title: s.alertDialogTitle,
1561
- description: s.alertDialogDescription,
1562
- footer: s.alertDialogFooter,
1563
- cancel: s.alertDialogCancel,
1564
- action: s.alertDialogAction,
1565
- css: s.css
1566
- };
1567
- }
1568
828
  // src/styles/avatar.ts
1569
- import { css as css4 } from "@vertz/ui";
829
+ import { css as css3 } from "@vertz/ui";
1570
830
  function createAvatarStyles() {
1571
- const s = css4({
831
+ const s = css3({
1572
832
  avatarRoot: ["relative", "flex", "h:8", "w:8", "shrink-0", "overflow-hidden", "rounded:full"],
1573
833
  avatarImage: [
1574
834
  "h:full",
@@ -1613,9 +873,9 @@ function createAvatarStyles() {
1613
873
  };
1614
874
  }
1615
875
  // src/styles/breadcrumb.ts
1616
- import { css as css5 } from "@vertz/ui";
876
+ import { css as css4 } from "@vertz/ui";
1617
877
  function createBreadcrumbStyles() {
1618
- const s = css5({
878
+ const s = css4({
1619
879
  breadcrumbNav: [],
1620
880
  breadcrumbList: [
1621
881
  "flex",
@@ -1623,9 +883,21 @@ function createBreadcrumbStyles() {
1623
883
  "items:center",
1624
884
  "gap:1.5",
1625
885
  "text:sm",
1626
- "text:muted-foreground"
886
+ "text:muted-foreground",
887
+ {
888
+ "&": {
889
+ "list-style": "none",
890
+ margin: "0",
891
+ padding: "0"
892
+ }
893
+ }
894
+ ],
895
+ breadcrumbItem: [
896
+ "inline-flex",
897
+ "items:center",
898
+ "gap:1.5",
899
+ { '&:first-child > [role="presentation"]': { display: "none" } }
1627
900
  ],
1628
- breadcrumbItem: ["inline-flex", "items:center", "gap:1.5"],
1629
901
  breadcrumbLink: ["transition:colors", "text:foreground", { "&:hover": ["text:foreground"] }],
1630
902
  breadcrumbPage: ["font:normal", "text:foreground"],
1631
903
  breadcrumbSeparator: []
@@ -1641,8 +913,8 @@ function createBreadcrumbStyles() {
1641
913
  };
1642
914
  }
1643
915
  // src/styles/calendar.ts
1644
- import { css as css6 } from "@vertz/ui";
1645
- var focusRing2 = {
916
+ import { css as css5 } from "@vertz/ui";
917
+ var focusRing = {
1646
918
  "&:focus-visible": [
1647
919
  "outline-none",
1648
920
  {
@@ -1652,28 +924,90 @@ var focusRing2 = {
1652
924
  ]
1653
925
  };
1654
926
  function createCalendarStyles() {
1655
- const s = css6({
1656
- calendarRoot: ["p:3"],
1657
- calendarHeader: ["flex", "items:center", "justify:between", "py:2"],
1658
- calendarTitle: ["text:sm", "font:medium"],
927
+ const s = css5({
928
+ calendarRoot: [
929
+ "w:fit",
930
+ "bg:background",
931
+ "text:foreground",
932
+ "rounded:lg",
933
+ "border:1",
934
+ "border:border",
935
+ {
936
+ "&": {
937
+ padding: "0.5rem"
938
+ }
939
+ }
940
+ ],
941
+ calendarRootNoBorder: [
942
+ "w:fit",
943
+ "bg:background",
944
+ "text:foreground",
945
+ "rounded:md",
946
+ {
947
+ "&": {
948
+ padding: "0.5rem"
949
+ }
950
+ }
951
+ ],
952
+ calendarHeader: [
953
+ "flex",
954
+ "items:center",
955
+ "justify:between",
956
+ {
957
+ "&": {
958
+ position: "relative",
959
+ height: "1.75rem",
960
+ width: "100%"
961
+ },
962
+ '&[data-caption-layout="dropdown"]': {
963
+ "justify-content": "center",
964
+ gap: "0.25rem"
965
+ },
966
+ '&[data-caption-layout="dropdown-buttons"]': {
967
+ gap: "0.25rem"
968
+ }
969
+ }
970
+ ],
971
+ calendarTitle: [
972
+ "text:sm",
973
+ "font:medium",
974
+ {
975
+ "&": {
976
+ position: "absolute",
977
+ inset: "0",
978
+ display: "flex",
979
+ "align-items": "center",
980
+ "justify-content": "center",
981
+ "pointer-events": "none",
982
+ "user-select": "none"
983
+ }
984
+ }
985
+ ],
1659
986
  calendarNavButton: [
1660
987
  "inline-flex",
1661
988
  "items:center",
1662
989
  "justify:center",
1663
- "rounded:md",
1664
- "border:1",
1665
- "border:input",
990
+ "rounded:lg",
1666
991
  "bg:transparent",
1667
992
  "cursor:pointer",
1668
- "transition:colors",
1669
- { "&:hover": ["bg:accent", "text:accent-foreground"] },
1670
- focusRing2,
993
+ "transition:all",
994
+ { "&:hover": ["bg:muted", "text:foreground"] },
995
+ focusRing,
1671
996
  {
1672
997
  "&": {
1673
998
  height: "1.75rem",
1674
- width: "1.75rem"
999
+ width: "1.75rem",
1000
+ padding: "0",
1001
+ border: "1px solid transparent",
1002
+ "user-select": "none",
1003
+ "z-index": "1"
1004
+ },
1005
+ '& svg:not([class*="size-"])': {
1006
+ width: "1rem",
1007
+ height: "1rem"
1675
1008
  }
1676
- }
1009
+ },
1010
+ { '&[aria-disabled="true"]': ["opacity:0.5"] }
1677
1011
  ],
1678
1012
  calendarGrid: [
1679
1013
  {
@@ -1685,12 +1019,13 @@ function createCalendarStyles() {
1685
1019
  ],
1686
1020
  calendarHeadCell: [
1687
1021
  "text:muted-foreground",
1688
- "text:xs",
1689
- "font:medium",
1022
+ "font:normal",
1690
1023
  {
1691
1024
  "&": {
1692
- width: "2rem",
1693
- "text-align": "center"
1025
+ width: "1.75rem",
1026
+ "text-align": "center",
1027
+ "font-size": "0.8rem",
1028
+ "user-select": "none"
1694
1029
  }
1695
1030
  }
1696
1031
  ],
@@ -1698,7 +1033,8 @@ function createCalendarStyles() {
1698
1033
  {
1699
1034
  "&": {
1700
1035
  "text-align": "center",
1701
- padding: "0"
1036
+ padding: "0",
1037
+ "user-select": "none"
1702
1038
  }
1703
1039
  }
1704
1040
  ],
@@ -1706,28 +1042,69 @@ function createCalendarStyles() {
1706
1042
  "inline-flex",
1707
1043
  "items:center",
1708
1044
  "justify:center",
1709
- "rounded:md",
1045
+ "rounded:lg",
1710
1046
  "text:sm",
1047
+ "font:normal",
1711
1048
  "bg:transparent",
1712
1049
  "cursor:pointer",
1713
- "transition:colors",
1714
- focusRing2,
1050
+ "transition:all",
1051
+ focusRing,
1715
1052
  {
1716
1053
  "&": {
1717
- height: "2rem",
1718
- width: "2rem"
1054
+ height: "1.75rem",
1055
+ width: "1.75rem",
1056
+ border: "1px solid transparent",
1057
+ padding: "0"
1719
1058
  }
1720
1059
  },
1721
- { "&:hover": ["bg:accent", "text:accent-foreground"] },
1060
+ { "&:hover": ["bg:muted", "text:foreground"] },
1722
1061
  { '&[aria-selected="true"]': ["bg:primary", "text:primary-foreground"] },
1723
- { '&[data-today="true"]': ["border:1", "border:accent"] },
1724
- { '&[aria-disabled="true"]': ["opacity:0.5", "pointer-events-none"] },
1725
- { '&[data-outside-month="true"]': ["text:muted-foreground", "opacity:0.5"] },
1726
- { '&[data-in-range="true"]': ["bg:accent"] }
1062
+ {
1063
+ '&[data-today="true"]': ["bg:muted", "text:foreground"]
1064
+ },
1065
+ {
1066
+ '&[data-today="true"][aria-selected="true"]': ["bg:primary", "text:primary-foreground"]
1067
+ },
1068
+ {
1069
+ '&[aria-disabled="true"]': ["text:muted-foreground", "opacity:0.5", "pointer-events-none"]
1070
+ },
1071
+ {
1072
+ '&[data-outside-month="true"]': ["text:muted-foreground"]
1073
+ },
1074
+ { '&[data-in-range="true"]': ["bg:muted", "text:foreground"] }
1075
+ ],
1076
+ calendarMonthSelect: [
1077
+ "text:sm",
1078
+ "font:medium",
1079
+ "bg:transparent",
1080
+ "cursor:pointer",
1081
+ focusRing,
1082
+ {
1083
+ "&": {
1084
+ border: "none",
1085
+ "padding-inline": "0.25rem",
1086
+ appearance: "auto"
1087
+ }
1088
+ }
1089
+ ],
1090
+ calendarYearSelect: [
1091
+ "text:sm",
1092
+ "font:medium",
1093
+ "bg:transparent",
1094
+ "cursor:pointer",
1095
+ focusRing,
1096
+ {
1097
+ "&": {
1098
+ border: "none",
1099
+ "padding-inline": "0.25rem",
1100
+ appearance: "auto"
1101
+ }
1102
+ }
1727
1103
  ]
1728
1104
  });
1729
1105
  return {
1730
1106
  root: s.calendarRoot,
1107
+ rootNoBorder: s.calendarRootNoBorder,
1731
1108
  header: s.calendarHeader,
1732
1109
  title: s.calendarTitle,
1733
1110
  navButton: s.calendarNavButton,
@@ -1735,13 +1112,15 @@ function createCalendarStyles() {
1735
1112
  headCell: s.calendarHeadCell,
1736
1113
  cell: s.calendarCell,
1737
1114
  dayButton: s.calendarDayButton,
1115
+ monthSelect: s.calendarMonthSelect,
1116
+ yearSelect: s.calendarYearSelect,
1738
1117
  css: s.css
1739
1118
  };
1740
1119
  }
1741
1120
  // src/styles/card.ts
1742
- import { css as css7 } from "@vertz/ui";
1121
+ import { css as css6 } from "@vertz/ui";
1743
1122
  function createCard() {
1744
- const s = css7({
1123
+ const s = css6({
1745
1124
  cardRoot: [
1746
1125
  "flex",
1747
1126
  "flex-col",
@@ -1753,7 +1132,7 @@ function createCard() {
1753
1132
  "text:sm",
1754
1133
  {
1755
1134
  "&": {
1756
- "border-radius": "0.75rem",
1135
+ "border-radius": "calc(var(--radius) * 2)",
1757
1136
  "box-shadow": "0 0 0 1px color-mix(in oklch, var(--color-foreground) 10%, transparent)"
1758
1137
  }
1759
1138
  }
@@ -1780,7 +1159,7 @@ function createCard() {
1780
1159
  {
1781
1160
  "&": {
1782
1161
  "background-color": "color-mix(in oklch, var(--color-muted) 50%, transparent)",
1783
- "border-radius": "0 0 0.75rem 0.75rem",
1162
+ "border-radius": "0 0 calc(var(--radius) * 2) calc(var(--radius) * 2)",
1784
1163
  "margin-bottom": "-1rem"
1785
1164
  }
1786
1165
  }
@@ -1799,23 +1178,12 @@ function createCard() {
1799
1178
  };
1800
1179
  }
1801
1180
  // src/styles/carousel.ts
1802
- import { css as css8 } from "@vertz/ui";
1181
+ import { css as css7 } from "@vertz/ui";
1803
1182
  function createCarouselStyles() {
1804
- const s = css8({
1805
- carouselRoot: ["relative", "overflow-hidden"],
1183
+ const s = css7({
1184
+ carouselRoot: ["relative"],
1806
1185
  carouselViewport: ["overflow-hidden"],
1807
- carouselSlide: [
1808
- "shrink-0",
1809
- {
1810
- "&": {
1811
- "min-width": "0",
1812
- "flex-grow": "0",
1813
- "flex-basis": "100%"
1814
- }
1815
- },
1816
- { '&[data-state="inactive"]': ["opacity:0"] },
1817
- { '&[data-state="active"]': ["opacity:1"] }
1818
- ],
1186
+ carouselSlide: [{ '&[data-state="inactive"]': [{ display: "none" }] }],
1819
1187
  carouselPrevButton: [
1820
1188
  "absolute",
1821
1189
  "h:8",
@@ -1824,6 +1192,7 @@ function createCarouselStyles() {
1824
1192
  "border:1",
1825
1193
  "border:border",
1826
1194
  "bg:background",
1195
+ "text:foreground",
1827
1196
  "inline-flex",
1828
1197
  "items:center",
1829
1198
  "justify:center",
@@ -1846,6 +1215,7 @@ function createCarouselStyles() {
1846
1215
  "border:1",
1847
1216
  "border:border",
1848
1217
  "bg:background",
1218
+ "text:foreground",
1849
1219
  "inline-flex",
1850
1220
  "items:center",
1851
1221
  "justify:center",
@@ -1871,8 +1241,8 @@ function createCarouselStyles() {
1871
1241
  };
1872
1242
  }
1873
1243
  // src/styles/checkbox.ts
1874
- import { css as css9 } from "@vertz/ui";
1875
- var focusRing3 = {
1244
+ import { css as css8 } from "@vertz/ui";
1245
+ var focusRing2 = {
1876
1246
  "&:focus-visible": [
1877
1247
  "outline-none",
1878
1248
  "border:ring",
@@ -1882,7 +1252,7 @@ var focusRing3 = {
1882
1252
  ]
1883
1253
  };
1884
1254
  function createCheckboxStyles() {
1885
- const s = css9({
1255
+ const s = css8({
1886
1256
  checkboxRoot: [
1887
1257
  "shrink-0",
1888
1258
  "flex",
@@ -1894,9 +1264,9 @@ function createCheckboxStyles() {
1894
1264
  "border:input",
1895
1265
  "cursor:pointer",
1896
1266
  "transition:colors",
1897
- { "&": { padding: "0", background: "transparent", "border-radius": "4px" } },
1267
+ { "&": { padding: "0", background: "transparent", "border-radius": "calc(var(--radius) * 0.67)" } },
1898
1268
  { [DARK]: [bgOpacity("input", 30)] },
1899
- focusRing3,
1269
+ focusRing2,
1900
1270
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
1901
1271
  {
1902
1272
  '&[data-state="checked"]': ["bg:primary", "text:primary-foreground", "border:primary"],
@@ -1908,10 +1278,35 @@ function createCheckboxStyles() {
1908
1278
  }
1909
1279
  ],
1910
1280
  checkboxIndicator: [
1281
+ "relative",
1911
1282
  "flex",
1912
1283
  "items:center",
1913
1284
  "justify:center",
1914
- { '&[data-state="unchecked"]': ["hidden"] }
1285
+ {
1286
+ '& [data-part="indicator-icon"]': {
1287
+ position: "absolute",
1288
+ inset: "0",
1289
+ opacity: "0",
1290
+ transform: "scale(0.5)",
1291
+ transition: "opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), " + "transform 150ms cubic-bezier(0.4, 0, 0.2, 1)"
1292
+ },
1293
+ '& [data-icon="check"] path': {
1294
+ "stroke-dasharray": "30",
1295
+ "stroke-dashoffset": "30",
1296
+ transition: "stroke-dashoffset 200ms cubic-bezier(0.4, 0, 0.2, 1) 50ms"
1297
+ },
1298
+ '&[data-state="checked"] [data-icon="check"]': {
1299
+ opacity: "1",
1300
+ transform: "scale(1)"
1301
+ },
1302
+ '&[data-state="checked"] [data-icon="check"] path': {
1303
+ "stroke-dashoffset": "0"
1304
+ },
1305
+ '&[data-state="indeterminate"] [data-icon="minus"]': {
1306
+ opacity: "1",
1307
+ transform: "scale(1)"
1308
+ }
1309
+ }
1915
1310
  ]
1916
1311
  });
1917
1312
  return {
@@ -1921,9 +1316,9 @@ function createCheckboxStyles() {
1921
1316
  };
1922
1317
  }
1923
1318
  // src/styles/collapsible.ts
1924
- import { css as css10 } from "@vertz/ui";
1319
+ import { css as css9 } from "@vertz/ui";
1925
1320
  function createCollapsibleStyles() {
1926
- const s = css10({
1321
+ const s = css9({
1927
1322
  collapsibleContent: [
1928
1323
  "overflow-hidden",
1929
1324
  "text:sm",
@@ -1941,8 +1336,8 @@ function createCollapsibleStyles() {
1941
1336
  };
1942
1337
  }
1943
1338
  // src/styles/command.ts
1944
- import { css as css11 } from "@vertz/ui";
1945
- var focusRing4 = {
1339
+ import { css as css10 } from "@vertz/ui";
1340
+ var focusRing3 = {
1946
1341
  "&:focus-visible": [
1947
1342
  "outline-none",
1948
1343
  {
@@ -1952,7 +1347,7 @@ var focusRing4 = {
1952
1347
  ]
1953
1348
  };
1954
1349
  function createCommandStyles() {
1955
- const s = css11({
1350
+ const s = css10({
1956
1351
  commandRoot: [
1957
1352
  "flex",
1958
1353
  "flex-col",
@@ -1979,10 +1374,12 @@ function createCommandStyles() {
1979
1374
  "border-bottom": "1px solid var(--color-border)"
1980
1375
  }
1981
1376
  },
1982
- focusRing4
1377
+ focusRing3
1983
1378
  ],
1984
1379
  commandList: [
1985
- "p:1",
1380
+ "px:1",
1381
+ "pb:1",
1382
+ "pt:2",
1986
1383
  {
1987
1384
  "&": {
1988
1385
  "max-height": "300px",
@@ -2045,19 +1442,23 @@ function createCommandStyles() {
2045
1442
  };
2046
1443
  }
2047
1444
  // src/styles/context-menu.ts
2048
- import { css as css12 } from "@vertz/ui";
1445
+ import { css as css11 } from "@vertz/ui";
2049
1446
  function createContextMenuStyles() {
2050
- const s = css12({
1447
+ const s = css11({
2051
1448
  cmContent: [
2052
1449
  "z:50",
2053
1450
  "overflow-hidden",
2054
1451
  "bg:popover",
2055
1452
  "text:popover-foreground",
2056
- "rounded:md",
2057
- "border:1",
2058
- "border:border",
2059
- "shadow:md",
2060
- "py:1",
1453
+ "rounded:lg",
1454
+ "w:fit",
1455
+ "p:1",
1456
+ {
1457
+ "&": {
1458
+ "box-shadow": "0 0 0 1px color-mix(in oklch, var(--color-foreground) 10%, transparent), 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
1459
+ "min-width": "8rem"
1460
+ }
1461
+ },
2061
1462
  {
2062
1463
  '&[data-state="open"]': [animationDecl("vz-zoom-in 150ms ease-out forwards")]
2063
1464
  },
@@ -2068,19 +1469,30 @@ function createContextMenuStyles() {
2068
1469
  cmItem: [
2069
1470
  "flex",
2070
1471
  "items:center",
2071
- "px:2",
2072
- "py:1.5",
1472
+ "gap:1.5",
1473
+ "px:1.5",
1474
+ "py:1",
2073
1475
  "text:sm",
2074
1476
  "cursor:pointer",
2075
- "rounded:sm",
1477
+ "rounded:md",
2076
1478
  "outline-none",
2077
1479
  { "&:hover": ["bg:accent", "text:accent-foreground"] },
2078
1480
  { "&:focus": ["bg:accent", "text:accent-foreground"] },
2079
1481
  { "&[data-disabled]": ["pointer-events-none", "opacity:0.5"] }
2080
1482
  ],
2081
1483
  cmGroup: ["py:1"],
2082
- cmLabel: ["px:2", "py:1.5", "text:xs", "font:semibold", "text:muted-foreground"],
2083
- cmSeparator: ["mx:1", "my:1", "border-t:1", "border:muted", { "&": { height: "1px" } }]
1484
+ cmLabel: ["px:1.5", "py:1", "text:xs", "font:medium", "text:muted-foreground"],
1485
+ cmSeparator: [
1486
+ "my:1",
1487
+ "bg:border",
1488
+ {
1489
+ "&": {
1490
+ "margin-left": "-0.25rem",
1491
+ "margin-right": "-0.25rem",
1492
+ height: "1px"
1493
+ }
1494
+ }
1495
+ ]
2084
1496
  });
2085
1497
  return {
2086
1498
  content: s.cmContent,
@@ -2092,8 +1504,8 @@ function createContextMenuStyles() {
2092
1504
  };
2093
1505
  }
2094
1506
  // src/styles/date-picker.ts
2095
- import { css as css13 } from "@vertz/ui";
2096
- var focusRing5 = {
1507
+ import { css as css12 } from "@vertz/ui";
1508
+ var focusRing4 = {
2097
1509
  "&:focus-visible": [
2098
1510
  "outline-none",
2099
1511
  {
@@ -2103,7 +1515,7 @@ var focusRing5 = {
2103
1515
  ]
2104
1516
  };
2105
1517
  function createDatePickerStyles() {
2106
- const s = css13({
1518
+ const s = css12({
2107
1519
  datePickerTrigger: [
2108
1520
  "inline-flex",
2109
1521
  "items:center",
@@ -2112,11 +1524,12 @@ function createDatePickerStyles() {
2112
1524
  "border:1",
2113
1525
  "border:input",
2114
1526
  "bg:background",
1527
+ "text:foreground",
2115
1528
  "text:sm",
2116
1529
  "font:normal",
2117
1530
  "cursor:pointer",
2118
1531
  "transition:colors",
2119
- focusRing5,
1532
+ focusRing4,
2120
1533
  {
2121
1534
  "&": {
2122
1535
  height: "2.5rem",
@@ -2134,6 +1547,7 @@ function createDatePickerStyles() {
2134
1547
  "border:1",
2135
1548
  "border:border",
2136
1549
  "shadow:md",
1550
+ "overflow-hidden",
2137
1551
  { "&": { padding: "0" } }
2138
1552
  ]
2139
1553
  });
@@ -2144,8 +1558,8 @@ function createDatePickerStyles() {
2144
1558
  };
2145
1559
  }
2146
1560
  // src/styles/dialog.ts
2147
- import { css as css14 } from "@vertz/ui";
2148
- var focusRing6 = {
1561
+ import { css as css13, globalCss, injectCSS } from "@vertz/ui";
1562
+ var focusRing5 = {
2149
1563
  "&:focus-visible": [
2150
1564
  "outline-none",
2151
1565
  {
@@ -2155,7 +1569,7 @@ var focusRing6 = {
2155
1569
  ]
2156
1570
  };
2157
1571
  function createDialogStyles() {
2158
- const s = css14({
1572
+ const s = css13({
2159
1573
  dialogOverlay: [
2160
1574
  "fixed",
2161
1575
  "inset:0",
@@ -2176,6 +1590,7 @@ function createDialogStyles() {
2176
1590
  ],
2177
1591
  dialogPanel: [
2178
1592
  "bg:background",
1593
+ "text:foreground",
2179
1594
  "gap:4",
2180
1595
  {
2181
1596
  "&": {
@@ -2183,7 +1598,7 @@ function createDialogStyles() {
2183
1598
  width: "100%",
2184
1599
  "max-width": "calc(100% - 2rem)",
2185
1600
  "box-shadow": "0 0 0 1px color-mix(in oklch, var(--color-foreground) 10%, transparent)",
2186
- "border-radius": "0.75rem",
1601
+ "border-radius": "calc(var(--radius) * 2)",
2187
1602
  padding: "1rem",
2188
1603
  "font-size": "0.875rem",
2189
1604
  margin: "auto",
@@ -2192,7 +1607,7 @@ function createDialogStyles() {
2192
1607
  border: "none",
2193
1608
  "container-type": "inline-size"
2194
1609
  },
2195
- "&:not([open])": { display: "none" },
1610
+ '&:not([open]):not([data-state="open"])': { display: "none" },
2196
1611
  "&::backdrop": {
2197
1612
  "background-color": "oklch(0 0 0 / 10%)",
2198
1613
  "backdrop-filter": "blur(4px)",
@@ -2222,6 +1637,7 @@ function createDialogStyles() {
2222
1637
  }
2223
1638
  ],
2224
1639
  dialogTitle: [
1640
+ "text:foreground",
2225
1641
  {
2226
1642
  "&": {
2227
1643
  "font-size": "1rem",
@@ -2254,7 +1670,7 @@ function createDialogStyles() {
2254
1670
  "&:hover": { opacity: "1" },
2255
1671
  "&:disabled": { "pointer-events": "none" }
2256
1672
  },
2257
- focusRing6
1673
+ focusRing5
2258
1674
  ],
2259
1675
  dialogFooter: [
2260
1676
  "flex",
@@ -2264,7 +1680,7 @@ function createDialogStyles() {
2264
1680
  "flex-direction": "column-reverse",
2265
1681
  "background-color": "color-mix(in oklch, var(--color-muted) 50%, transparent)",
2266
1682
  margin: "0 -1rem -1rem -1rem",
2267
- "border-radius": "0 0 0.75rem 0.75rem",
1683
+ "border-radius": "0 0 calc(var(--radius) * 2) calc(var(--radius) * 2)",
2268
1684
  "border-top": "1px solid var(--color-border)",
2269
1685
  padding: "1rem"
2270
1686
  },
@@ -2286,9 +1702,148 @@ function createDialogStyles() {
2286
1702
  css: s.css
2287
1703
  };
2288
1704
  }
1705
+ function createDialogGlobalStyles() {
1706
+ const output = globalCss({
1707
+ "dialog[data-dialog-wrapper]": {
1708
+ background: "transparent",
1709
+ border: "none",
1710
+ padding: "0",
1711
+ maxWidth: "100vw",
1712
+ maxHeight: "100vh",
1713
+ overflow: "visible"
1714
+ },
1715
+ "dialog[data-dialog-wrapper]::backdrop": {
1716
+ backgroundColor: "oklch(0 0 0 / 10%)",
1717
+ backdropFilter: "blur(4px)",
1718
+ WebkitBackdropFilter: "blur(4px)"
1719
+ },
1720
+ 'dialog[data-dialog-wrapper][data-state="open"]::backdrop': {
1721
+ animation: "vz-fade-in 100ms ease-out forwards"
1722
+ },
1723
+ 'dialog[data-dialog-wrapper][data-state="closed"]::backdrop': {
1724
+ animation: "vz-fade-out 100ms ease-out forwards"
1725
+ },
1726
+ 'dialog[data-dialog-wrapper] > [data-part="panel"]': {
1727
+ position: "relative",
1728
+ display: "grid",
1729
+ gap: "1rem",
1730
+ width: "100%",
1731
+ maxWidth: "calc(100% - 2rem)",
1732
+ boxShadow: "0 0 0 1px color-mix(in oklch, var(--color-foreground) 10%, transparent)",
1733
+ borderRadius: "calc(var(--radius) * 2)",
1734
+ padding: "1rem",
1735
+ fontSize: "0.875rem",
1736
+ margin: "auto",
1737
+ height: "fit-content",
1738
+ outline: "none",
1739
+ containerType: "inline-size",
1740
+ backgroundColor: "var(--color-background)"
1741
+ },
1742
+ 'dialog[data-dialog-wrapper][data-state="open"] > [data-part="panel"]': {
1743
+ animation: "vz-zoom-in 100ms ease-out forwards"
1744
+ },
1745
+ 'dialog[data-dialog-wrapper][data-state="closed"] > [data-part="panel"]': {
1746
+ animation: "vz-zoom-out 100ms ease-out forwards"
1747
+ },
1748
+ 'dialog[data-dialog-wrapper] [data-part="header"]': {
1749
+ display: "flex",
1750
+ flexDirection: "column",
1751
+ gap: "0.5rem"
1752
+ },
1753
+ 'dialog[data-dialog-wrapper] [data-part="title"]': {
1754
+ fontSize: "1rem",
1755
+ lineHeight: "1",
1756
+ fontWeight: "500"
1757
+ },
1758
+ 'dialog[data-dialog-wrapper] [data-part="description"]': {
1759
+ fontSize: "0.875rem",
1760
+ color: "var(--color-muted-foreground)"
1761
+ },
1762
+ 'dialog[data-dialog-wrapper] [data-part="body"]': {
1763
+ overflow: "auto"
1764
+ },
1765
+ 'dialog[data-dialog-wrapper] [data-part="footer"]': {
1766
+ display: "flex",
1767
+ gap: "0.5rem",
1768
+ flexDirection: "column-reverse",
1769
+ backgroundColor: "color-mix(in oklch, var(--color-muted) 50%, transparent)",
1770
+ margin: "0 -1rem -1rem -1rem",
1771
+ borderRadius: "0 0 calc(var(--radius) * 2) calc(var(--radius) * 2)",
1772
+ borderTop: "1px solid var(--color-border)",
1773
+ padding: "1rem"
1774
+ },
1775
+ 'dialog[data-dialog-wrapper] [data-part="close"]': {
1776
+ position: "absolute",
1777
+ top: "0.5rem",
1778
+ right: "0.5rem",
1779
+ opacity: "0.7",
1780
+ transition: "opacity 150ms",
1781
+ display: "inline-flex",
1782
+ alignItems: "center",
1783
+ justifyContent: "center",
1784
+ width: "1rem",
1785
+ height: "1rem",
1786
+ background: "none",
1787
+ border: "none",
1788
+ color: "currentColor",
1789
+ padding: "0",
1790
+ cursor: "pointer",
1791
+ borderRadius: "calc(var(--radius) * 0.33)"
1792
+ },
1793
+ 'dialog[data-dialog-wrapper] [data-part="close"]:hover': {
1794
+ opacity: "1"
1795
+ },
1796
+ 'dialog[data-dialog-wrapper] [data-part="cancel"]': {
1797
+ background: "none",
1798
+ border: "1px solid var(--color-border)",
1799
+ borderRadius: "var(--radius)",
1800
+ padding: "0.5rem 1rem",
1801
+ cursor: "pointer",
1802
+ fontSize: "0.875rem",
1803
+ color: "var(--color-foreground)"
1804
+ },
1805
+ 'dialog[data-dialog-wrapper] [data-part="confirm-cancel"]': {
1806
+ background: "none",
1807
+ border: "1px solid var(--color-border)",
1808
+ borderRadius: "var(--radius)",
1809
+ padding: "0.5rem 1rem",
1810
+ cursor: "pointer",
1811
+ fontSize: "0.875rem",
1812
+ color: "var(--color-foreground)"
1813
+ },
1814
+ 'dialog[data-dialog-wrapper] [data-part="confirm-action"]': {
1815
+ border: "none",
1816
+ borderRadius: "var(--radius)",
1817
+ padding: "0.5rem 1rem",
1818
+ cursor: "pointer",
1819
+ fontSize: "0.875rem",
1820
+ fontWeight: "500",
1821
+ color: "var(--color-primary-foreground)",
1822
+ backgroundColor: "var(--color-primary)"
1823
+ },
1824
+ 'dialog[data-dialog-wrapper] [data-part="confirm-action"][data-intent="danger"]': {
1825
+ color: "var(--color-destructive-foreground)",
1826
+ backgroundColor: "var(--color-destructive)"
1827
+ }
1828
+ });
1829
+ injectCSS(`
1830
+ @media (min-width: 640px) {
1831
+ dialog[data-dialog-wrapper] > [data-part="panel"] {
1832
+ max-width: 24rem;
1833
+ }
1834
+ }
1835
+ @container (min-width: 20rem) {
1836
+ dialog[data-dialog-wrapper] [data-part="footer"] {
1837
+ flex-direction: row;
1838
+ justify-content: flex-end;
1839
+ }
1840
+ }
1841
+ `.trim());
1842
+ return output;
1843
+ }
2289
1844
  // src/styles/drawer.ts
2290
- import { css as css15 } from "@vertz/ui";
2291
- var focusRing7 = {
1845
+ import { css as css14 } from "@vertz/ui";
1846
+ var focusRing6 = {
2292
1847
  "&:focus-visible": [
2293
1848
  "outline-none",
2294
1849
  {
@@ -2308,7 +1863,7 @@ var PANEL_BASE = [
2308
1863
  "gap:4"
2309
1864
  ];
2310
1865
  function createDrawerStyles() {
2311
- const s = css15({
1866
+ const s = css14({
2312
1867
  drawerOverlay: [
2313
1868
  "fixed",
2314
1869
  "inset:0",
@@ -2331,7 +1886,22 @@ function createDrawerStyles() {
2331
1886
  inset: "0 auto 0 0",
2332
1887
  width: "75%",
2333
1888
  "max-width": "24rem",
2334
- "border-radius": "0 0.75rem 0.75rem 0"
1889
+ height: "100dvh",
1890
+ "max-height": "none",
1891
+ margin: "0",
1892
+ outline: "none",
1893
+ border: "none",
1894
+ "border-radius": "0 calc(var(--radius) * 2) calc(var(--radius) * 2) 0"
1895
+ },
1896
+ '&:not([open]):not([data-state="open"])': { display: "none" },
1897
+ "&::backdrop": {
1898
+ "background-color": "oklch(0 0 0 / 50%)"
1899
+ },
1900
+ '&[data-state="open"]::backdrop': {
1901
+ animation: "vz-fade-in 150ms ease-out forwards"
1902
+ },
1903
+ '&[data-state="closed"]::backdrop': {
1904
+ animation: "vz-fade-out 300ms ease-out forwards"
2335
1905
  }
2336
1906
  },
2337
1907
  {
@@ -2349,7 +1919,22 @@ function createDrawerStyles() {
2349
1919
  inset: "0 0 0 auto",
2350
1920
  width: "75%",
2351
1921
  "max-width": "24rem",
2352
- "border-radius": "0.75rem 0 0 0.75rem"
1922
+ height: "100dvh",
1923
+ "max-height": "none",
1924
+ margin: "0",
1925
+ outline: "none",
1926
+ border: "none",
1927
+ "border-radius": "calc(var(--radius) * 2) 0 0 calc(var(--radius) * 2)"
1928
+ },
1929
+ '&:not([open]):not([data-state="open"])': { display: "none" },
1930
+ "&::backdrop": {
1931
+ "background-color": "oklch(0 0 0 / 50%)"
1932
+ },
1933
+ '&[data-state="open"]::backdrop': {
1934
+ animation: "vz-fade-in 150ms ease-out forwards"
1935
+ },
1936
+ '&[data-state="closed"]::backdrop': {
1937
+ animation: "vz-fade-out 300ms ease-out forwards"
2353
1938
  }
2354
1939
  },
2355
1940
  {
@@ -2365,7 +1950,22 @@ function createDrawerStyles() {
2365
1950
  {
2366
1951
  "&": {
2367
1952
  inset: "0 0 auto 0",
2368
- "border-radius": "0 0 0.75rem 0.75rem"
1953
+ width: "100dvw",
1954
+ "max-width": "none",
1955
+ margin: "0",
1956
+ outline: "none",
1957
+ border: "none",
1958
+ "border-radius": "0 0 calc(var(--radius) * 2) calc(var(--radius) * 2)"
1959
+ },
1960
+ '&:not([open]):not([data-state="open"])': { display: "none" },
1961
+ "&::backdrop": {
1962
+ "background-color": "oklch(0 0 0 / 50%)"
1963
+ },
1964
+ '&[data-state="open"]::backdrop': {
1965
+ animation: "vz-fade-in 150ms ease-out forwards"
1966
+ },
1967
+ '&[data-state="closed"]::backdrop': {
1968
+ animation: "vz-fade-out 300ms ease-out forwards"
2369
1969
  }
2370
1970
  },
2371
1971
  {
@@ -2381,7 +1981,22 @@ function createDrawerStyles() {
2381
1981
  {
2382
1982
  "&": {
2383
1983
  inset: "auto 0 0 0",
2384
- "border-radius": "0.75rem 0.75rem 0 0"
1984
+ width: "100dvw",
1985
+ "max-width": "none",
1986
+ margin: "0",
1987
+ outline: "none",
1988
+ border: "none",
1989
+ "border-radius": "calc(var(--radius) * 2) calc(var(--radius) * 2) 0 0"
1990
+ },
1991
+ '&:not([open]):not([data-state="open"])': { display: "none" },
1992
+ "&::backdrop": {
1993
+ "background-color": "oklch(0 0 0 / 50%)"
1994
+ },
1995
+ '&[data-state="open"]::backdrop': {
1996
+ animation: "vz-fade-in 150ms ease-out forwards"
1997
+ },
1998
+ '&[data-state="closed"]::backdrop': {
1999
+ animation: "vz-fade-out 300ms ease-out forwards"
2385
2000
  }
2386
2001
  },
2387
2002
  {
@@ -2427,7 +2042,7 @@ function createDrawerStyles() {
2427
2042
  "cursor:pointer",
2428
2043
  "transition:colors",
2429
2044
  { "&:hover": ["opacity:1"] },
2430
- focusRing7
2045
+ focusRing6
2431
2046
  ]
2432
2047
  });
2433
2048
  return {
@@ -2446,9 +2061,9 @@ function createDrawerStyles() {
2446
2061
  };
2447
2062
  }
2448
2063
  // src/styles/dropdown-menu.ts
2449
- import { css as css16 } from "@vertz/ui";
2064
+ import { css as css15 } from "@vertz/ui";
2450
2065
  function createDropdownMenuStyles() {
2451
- const s = css16({
2066
+ const s = css15({
2452
2067
  dmContent: [
2453
2068
  "z:50",
2454
2069
  "overflow-hidden",
@@ -2507,6 +2122,17 @@ function createDropdownMenuStyles() {
2507
2122
  css: s.css
2508
2123
  };
2509
2124
  }
2125
+ // src/styles/empty-state.ts
2126
+ import { css as css16 } from "@vertz/ui";
2127
+ function createEmptyStateStyles() {
2128
+ return css16({
2129
+ root: ["flex", "flex-col", "items:center", "justify:center", "py:12", "text:center"],
2130
+ icon: ["mb:3", "text:muted-foreground"],
2131
+ title: ["font:lg", "font:semibold", "text:foreground", "mb:1"],
2132
+ description: ["text:sm", "text:muted-foreground", "mb:4", "max-w:md"],
2133
+ action: ["mt:2"]
2134
+ });
2135
+ }
2510
2136
  // src/styles/form-group.ts
2511
2137
  import { css as css17 } from "@vertz/ui";
2512
2138
  function createFormGroup() {
@@ -2526,21 +2152,26 @@ function createHoverCardStyles() {
2526
2152
  const s = css18({
2527
2153
  hoverCardContent: [
2528
2154
  "z:50",
2529
- "rounded:md",
2155
+ "rounded:lg",
2530
2156
  "border:1",
2531
2157
  "border:border",
2532
2158
  "bg:popover",
2533
2159
  "text:popover-foreground",
2534
2160
  "shadow:md",
2161
+ "outline-none",
2535
2162
  "p:4",
2536
2163
  {
2537
2164
  "&": { width: "16rem" }
2538
2165
  },
2539
2166
  {
2540
- '&[data-state="open"]': [animationDecl("vz-fade-in 150ms ease-out forwards")]
2167
+ '&[data-state="open"]': [
2168
+ animationDecl("vz-fade-in 150ms ease-out forwards, vz-zoom-in 150ms ease-out forwards")
2169
+ ]
2541
2170
  },
2542
2171
  {
2543
- '&[data-state="closed"]': [animationDecl("vz-fade-out 150ms ease-out forwards")]
2172
+ '&[data-state="closed"]': [
2173
+ animationDecl("vz-fade-out 150ms ease-out forwards, vz-zoom-out 150ms ease-out forwards")
2174
+ ]
2544
2175
  }
2545
2176
  ]
2546
2177
  });
@@ -2552,7 +2183,7 @@ function createHoverCardStyles() {
2552
2183
  // src/styles/input.ts
2553
2184
  import { css as css19 } from "@vertz/ui";
2554
2185
  function createInput() {
2555
- const focusRing8 = {
2186
+ const focusRing7 = {
2556
2187
  "&:focus-visible": [
2557
2188
  "outline-none",
2558
2189
  "border:ring",
@@ -2581,7 +2212,7 @@ function createInput() {
2581
2212
  "text:sm",
2582
2213
  "text:foreground",
2583
2214
  "transition:colors",
2584
- focusRing8,
2215
+ focusRing7,
2585
2216
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
2586
2217
  { [DARK]: [bgOpacity("input", 30)] },
2587
2218
  {
@@ -2633,6 +2264,7 @@ function createMenubarStyles() {
2633
2264
  "border:1",
2634
2265
  "border:border",
2635
2266
  "bg:background",
2267
+ "text:foreground",
2636
2268
  "p:1",
2637
2269
  { "&": { "column-gap": "0.25rem" } }
2638
2270
  ],
@@ -2772,7 +2404,7 @@ function createNavigationMenuStyles() {
2772
2404
  }
2773
2405
  // src/styles/pagination.ts
2774
2406
  import { css as css23 } from "@vertz/ui";
2775
- var focusRing8 = {
2407
+ var focusRing7 = {
2776
2408
  "&:focus-visible": [
2777
2409
  "outline-none",
2778
2410
  {
@@ -2783,43 +2415,112 @@ var focusRing8 = {
2783
2415
  };
2784
2416
  function createPaginationStyles() {
2785
2417
  const s = css23({
2786
- paginationNav: [],
2787
- paginationList: ["flex", "flex-wrap", "items:center", "gap:1"],
2418
+ paginationNav: [
2419
+ "flex",
2420
+ "justify:center",
2421
+ {
2422
+ "&": {
2423
+ "margin-left": "auto",
2424
+ "margin-right": "auto",
2425
+ width: "100%"
2426
+ }
2427
+ }
2428
+ ],
2429
+ paginationList: [
2430
+ "flex",
2431
+ "items:center",
2432
+ {
2433
+ "&": {
2434
+ gap: "0.125rem",
2435
+ "list-style": "none",
2436
+ margin: "0",
2437
+ padding: "0"
2438
+ }
2439
+ }
2440
+ ],
2788
2441
  paginationItem: [],
2789
2442
  paginationLink: [
2790
2443
  "inline-flex",
2791
2444
  "items:center",
2792
2445
  "justify:center",
2793
- "rounded:md",
2446
+ "rounded:lg",
2794
2447
  "text:sm",
2795
2448
  "font:medium",
2796
- "h:9",
2797
- "w:9",
2798
- "border:1",
2799
- "border:input",
2800
- "bg:background",
2449
+ "bg:transparent",
2801
2450
  "cursor:pointer",
2802
- "transition:colors",
2803
- focusRing8,
2804
- { "&:hover": ["bg:accent", "text:accent-foreground"] },
2451
+ "transition:all",
2452
+ focusRing7,
2453
+ {
2454
+ "&": {
2455
+ height: "2rem",
2456
+ width: "2rem",
2457
+ border: "1px solid transparent",
2458
+ "white-space": "nowrap"
2459
+ }
2460
+ },
2461
+ { "&:hover": ["bg:muted", "text:foreground"] },
2805
2462
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] }
2806
2463
  ],
2807
2464
  paginationLinkActive: [
2808
2465
  "inline-flex",
2809
2466
  "items:center",
2810
2467
  "justify:center",
2811
- "rounded:md",
2468
+ "rounded:lg",
2812
2469
  "text:sm",
2813
2470
  "font:medium",
2814
- "h:9",
2815
- "w:9",
2816
- "bg:primary",
2817
- "text:primary-foreground",
2818
2471
  "border:1",
2819
- "border:primary",
2820
- focusRing8
2472
+ "border:border",
2473
+ "bg:background",
2474
+ "text:foreground",
2475
+ "cursor:pointer",
2476
+ focusRing7,
2477
+ {
2478
+ "&": {
2479
+ height: "2rem",
2480
+ width: "2rem"
2481
+ }
2482
+ },
2483
+ { "&:hover": ["bg:muted", "text:foreground"] }
2484
+ ],
2485
+ paginationNavButton: [
2486
+ "inline-flex",
2487
+ "items:center",
2488
+ "justify:center",
2489
+ "rounded:lg",
2490
+ "text:sm",
2491
+ "font:medium",
2492
+ "bg:transparent",
2493
+ "cursor:pointer",
2494
+ "transition:all",
2495
+ focusRing7,
2496
+ {
2497
+ "&": {
2498
+ height: "2rem",
2499
+ border: "1px solid transparent",
2500
+ "white-space": "nowrap",
2501
+ gap: "0.375rem",
2502
+ "padding-left": "0.375rem",
2503
+ "padding-right": "0.625rem"
2504
+ }
2505
+ },
2506
+ { "&:hover": ["bg:muted", "text:foreground"] },
2507
+ { "&:disabled": ["pointer-events-none", "opacity:0.5"] }
2821
2508
  ],
2822
- paginationEllipsis: ["inline-flex", "items:center", "justify:center", "h:9", "w:9", "text:sm"]
2509
+ paginationEllipsis: [
2510
+ "inline-flex",
2511
+ "items:center",
2512
+ "justify:center",
2513
+ {
2514
+ "&": {
2515
+ height: "2rem",
2516
+ width: "2rem"
2517
+ },
2518
+ '& svg:not([class*="size-"])': {
2519
+ width: "1rem",
2520
+ height: "1rem"
2521
+ }
2522
+ }
2523
+ ]
2823
2524
  });
2824
2525
  return {
2825
2526
  nav: s.paginationNav,
@@ -2827,6 +2528,7 @@ function createPaginationStyles() {
2827
2528
  item: s.paginationItem,
2828
2529
  link: s.paginationLink,
2829
2530
  linkActive: s.paginationLinkActive,
2531
+ navButton: s.paginationNavButton,
2830
2532
  ellipsis: s.paginationEllipsis,
2831
2533
  css: s.css
2832
2534
  };
@@ -2887,7 +2589,7 @@ function createProgressStyles() {
2887
2589
  }
2888
2590
  // src/styles/radio-group.ts
2889
2591
  import { css as css26 } from "@vertz/ui";
2890
- var focusRing9 = {
2592
+ var focusRing8 = {
2891
2593
  "&:focus-visible": [
2892
2594
  "outline-none",
2893
2595
  "border:ring",
@@ -2919,7 +2621,7 @@ function createRadioGroupStyles() {
2919
2621
  }
2920
2622
  },
2921
2623
  { [DARK]: [bgOpacity("input", 30)] },
2922
- focusRing9,
2624
+ focusRing8,
2923
2625
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
2924
2626
  {
2925
2627
  '&[data-state="checked"]': ["bg:primary", "text:primary-foreground", "border:primary"]
@@ -2963,7 +2665,7 @@ function createRadioGroupStyles() {
2963
2665
  }
2964
2666
  // src/styles/resizable-panel.ts
2965
2667
  import { css as css27 } from "@vertz/ui";
2966
- var focusRing10 = {
2668
+ var focusRing9 = {
2967
2669
  "&:focus-visible": [
2968
2670
  "outline-none",
2969
2671
  {
@@ -2975,14 +2677,14 @@ var focusRing10 = {
2975
2677
  function createResizablePanelStyles() {
2976
2678
  const s = css27({
2977
2679
  resizableRoot: ["flex", "h:full", "w:full"],
2978
- resizablePanel: ["overflow-hidden"],
2680
+ resizablePanel: ["overflow-hidden", { "&": [{ "white-space": "nowrap" }] }],
2979
2681
  resizableHandle: [
2980
2682
  "relative",
2981
2683
  "flex",
2982
2684
  "items:center",
2983
2685
  "justify:center",
2984
2686
  "bg:border",
2985
- focusRing10,
2687
+ focusRing9,
2986
2688
  {
2987
2689
  "&:hover": ["bg:muted-foreground"]
2988
2690
  },
@@ -3038,7 +2740,12 @@ function createScrollAreaStyles() {
3038
2740
  ]
3039
2741
  }
3040
2742
  ],
3041
- scrollAreaThumb: ["relative", "flex-1", "rounded:full", "bg:border"]
2743
+ scrollAreaThumb: [
2744
+ "relative",
2745
+ "flex-1",
2746
+ "rounded:full",
2747
+ { "&": { "background-color": "color-mix(in oklch, var(--color-foreground) 40%, transparent)" } }
2748
+ ]
3042
2749
  });
3043
2750
  return {
3044
2751
  root: s.scrollAreaRoot,
@@ -3050,7 +2757,7 @@ function createScrollAreaStyles() {
3050
2757
  }
3051
2758
  // src/styles/select.ts
3052
2759
  import { css as css29 } from "@vertz/ui";
3053
- var focusRing11 = {
2760
+ var focusRing10 = {
3054
2761
  "&:focus-visible": [
3055
2762
  "outline-none",
3056
2763
  {
@@ -3083,7 +2790,7 @@ function createSelectStyles() {
3083
2790
  "padding-left": "0.625rem"
3084
2791
  }
3085
2792
  },
3086
- focusRing11,
2793
+ focusRing10,
3087
2794
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
3088
2795
  { '&[data-state="open"]': ["border:ring"] },
3089
2796
  { [DARK]: [bgOpacity("input", 30)] },
@@ -3111,21 +2818,21 @@ function createSelectStyles() {
3111
2818
  },
3112
2819
  {
3113
2820
  '&[data-state="open"][data-side="bottom"]': [
3114
- animationDecl("vz-slide-down-in 100ms ease-out forwards")
2821
+ animationDecl("vz-slide-in-from-top 150ms ease-out forwards")
3115
2822
  ]
3116
2823
  },
3117
2824
  {
3118
2825
  '&[data-state="open"][data-side="top"]': [
3119
- animationDecl("vz-slide-up-in 100ms ease-out forwards")
2826
+ animationDecl("vz-slide-in-from-bottom 150ms ease-out forwards")
3120
2827
  ]
3121
2828
  },
3122
2829
  {
3123
2830
  '&[data-state="open"]:not([data-side])': [
3124
- animationDecl("vz-zoom-in 100ms ease-out forwards")
2831
+ animationDecl("vz-zoom-in 150ms ease-out forwards")
3125
2832
  ]
3126
2833
  },
3127
2834
  {
3128
- '&[data-state="closed"]': [animationDecl("vz-zoom-out 100ms ease-out forwards")]
2835
+ '&[data-state="closed"]': [animationDecl("vz-zoom-out 150ms ease-out forwards")]
3129
2836
  }
3130
2837
  ],
3131
2838
  selectItem: [
@@ -3216,7 +2923,7 @@ function createSeparator() {
3216
2923
  }
3217
2924
  // src/styles/sheet.ts
3218
2925
  import { css as css31 } from "@vertz/ui";
3219
- var focusRing12 = {
2926
+ var focusRing11 = {
3220
2927
  "&:focus-visible": [
3221
2928
  "outline-none",
3222
2929
  {
@@ -3273,7 +2980,7 @@ function createSheetStyles() {
3273
2980
  outline: "none",
3274
2981
  border: "none"
3275
2982
  },
3276
- "&:not([open])": { display: "none" },
2983
+ '&:not([open]):not([data-state="open"])': { display: "none" },
3277
2984
  "&::backdrop": {
3278
2985
  "background-color": "oklch(0 0 0 / 10%)",
3279
2986
  "backdrop-filter": "blur(4px)",
@@ -3307,7 +3014,7 @@ function createSheetStyles() {
3307
3014
  outline: "none",
3308
3015
  border: "none"
3309
3016
  },
3310
- "&:not([open])": { display: "none" },
3017
+ '&:not([open]):not([data-state="open"])': { display: "none" },
3311
3018
  "&::backdrop": {
3312
3019
  "background-color": "oklch(0 0 0 / 10%)",
3313
3020
  "backdrop-filter": "blur(4px)",
@@ -3339,7 +3046,7 @@ function createSheetStyles() {
3339
3046
  outline: "none",
3340
3047
  border: "none"
3341
3048
  },
3342
- "&:not([open])": { display: "none" },
3049
+ '&:not([open]):not([data-state="open"])': { display: "none" },
3343
3050
  "&::backdrop": {
3344
3051
  "background-color": "oklch(0 0 0 / 10%)",
3345
3052
  "backdrop-filter": "blur(4px)",
@@ -3371,7 +3078,7 @@ function createSheetStyles() {
3371
3078
  outline: "none",
3372
3079
  border: "none"
3373
3080
  },
3374
- "&:not([open])": { display: "none" },
3081
+ '&:not([open]):not([data-state="open"])': { display: "none" },
3375
3082
  "&::backdrop": {
3376
3083
  "background-color": "oklch(0 0 0 / 10%)",
3377
3084
  "backdrop-filter": "blur(4px)",
@@ -3415,7 +3122,7 @@ function createSheetStyles() {
3415
3122
  }
3416
3123
  },
3417
3124
  { "&:hover": ["opacity:1"] },
3418
- focusRing12
3125
+ focusRing11
3419
3126
  ]
3420
3127
  });
3421
3128
  return {
@@ -3436,9 +3143,17 @@ var pulse = keyframes2("vz-skeleton-pulse", {
3436
3143
  "0%, 100%": { opacity: "1" },
3437
3144
  "50%": { opacity: "0.5" }
3438
3145
  });
3146
+ var skeletonBase = [
3147
+ "bg:muted",
3148
+ "rounded:md",
3149
+ { "&": { animation: `${pulse} 2s ease-in-out infinite` } }
3150
+ ];
3439
3151
  function createSkeletonStyles() {
3440
3152
  return css32({
3441
- base: ["bg:muted", "rounded:md", { "&": { animation: `${pulse} 2s ease-in-out infinite` } }]
3153
+ root: [...skeletonBase],
3154
+ textRoot: ["flex", "flex-col"],
3155
+ textLine: [...skeletonBase, "h:4"],
3156
+ circleRoot: [...skeletonBase, { "&": { borderRadius: "50%" } }]
3442
3157
  });
3443
3158
  }
3444
3159
  // src/styles/slider.ts
@@ -3519,7 +3234,7 @@ function createSliderStyles() {
3519
3234
  }
3520
3235
  // src/styles/switch.ts
3521
3236
  import { css as css34 } from "@vertz/ui";
3522
- var focusRing13 = {
3237
+ var focusRing12 = {
3523
3238
  "&:focus-visible": [
3524
3239
  "outline-none",
3525
3240
  "border:ring",
@@ -3543,7 +3258,7 @@ function createSwitchStyles() {
3543
3258
  "h:5",
3544
3259
  "w:8",
3545
3260
  { [DARK]: [bgOpacity("input", 80)] },
3546
- focusRing13,
3261
+ focusRing12,
3547
3262
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
3548
3263
  {
3549
3264
  '&[data-state="checked"]': ["bg:primary"],
@@ -3591,7 +3306,7 @@ function createSwitchStyles() {
3591
3306
  "h:3.5",
3592
3307
  "w:6",
3593
3308
  { [DARK]: [bgOpacity("input", 80)] },
3594
- focusRing13,
3309
+ focusRing12,
3595
3310
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
3596
3311
  {
3597
3312
  '&[data-state="checked"]': ["bg:primary"],
@@ -3785,7 +3500,7 @@ function createTabsStyles() {
3785
3500
  // src/styles/textarea.ts
3786
3501
  import { css as css37 } from "@vertz/ui";
3787
3502
  function createTextarea() {
3788
- const focusRing14 = {
3503
+ const focusRing13 = {
3789
3504
  "&:focus-visible": [
3790
3505
  "outline-none",
3791
3506
  "border:ring",
@@ -3815,7 +3530,7 @@ function createTextarea() {
3815
3530
  "text:sm",
3816
3531
  "text:foreground",
3817
3532
  "transition:colors",
3818
- focusRing14,
3533
+ focusRing13,
3819
3534
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
3820
3535
  { [DARK]: [bgOpacity("input", 30)] }
3821
3536
  ]
@@ -3827,7 +3542,7 @@ function createTextarea() {
3827
3542
  }
3828
3543
  // src/styles/toast.ts
3829
3544
  import { css as css38 } from "@vertz/ui";
3830
- var focusRing14 = {
3545
+ var focusRing13 = {
3831
3546
  "&:focus-visible": [
3832
3547
  "outline-none",
3833
3548
  {
@@ -3894,7 +3609,7 @@ function createToastStyles() {
3894
3609
  "shrink-0",
3895
3610
  { "&": { height: "2rem" } },
3896
3611
  { "&:hover": ["bg:secondary"] },
3897
- focusRing14
3612
+ focusRing13
3898
3613
  ],
3899
3614
  toastClose: [
3900
3615
  "absolute",
@@ -3903,7 +3618,7 @@ function createToastStyles() {
3903
3618
  "cursor:pointer",
3904
3619
  "transition:colors",
3905
3620
  { "&:hover": ["opacity:1"] },
3906
- focusRing14
3621
+ focusRing13
3907
3622
  ]
3908
3623
  });
3909
3624
  return {
@@ -3918,7 +3633,7 @@ function createToastStyles() {
3918
3633
  }
3919
3634
  // src/styles/toggle.ts
3920
3635
  import { css as css39 } from "@vertz/ui";
3921
- var focusRing15 = {
3636
+ var focusRing14 = {
3922
3637
  "&:focus-visible": [
3923
3638
  "outline-none",
3924
3639
  {
@@ -3941,7 +3656,7 @@ function createToggleStyles() {
3941
3656
  "gap:2",
3942
3657
  "px:3",
3943
3658
  "h:9",
3944
- focusRing15,
3659
+ focusRing14,
3945
3660
  { "&:hover": ["bg:muted", "text:muted-foreground"] },
3946
3661
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
3947
3662
  {
@@ -3956,7 +3671,7 @@ function createToggleStyles() {
3956
3671
  }
3957
3672
  // src/styles/toggle-group.ts
3958
3673
  import { css as css40 } from "@vertz/ui";
3959
- var focusRing16 = {
3674
+ var focusRing15 = {
3960
3675
  "&:focus-visible": [
3961
3676
  "outline-none",
3962
3677
  {
@@ -3980,7 +3695,7 @@ function createToggleGroupStyles() {
3980
3695
  "bg:transparent",
3981
3696
  "cursor:pointer",
3982
3697
  "transition:colors",
3983
- focusRing16,
3698
+ focusRing15,
3984
3699
  { "&:hover": ["bg:muted", "text:muted-foreground"] },
3985
3700
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
3986
3701
  {
@@ -4033,6 +3748,7 @@ function configureTheme(config) {
4033
3748
  const separatorStyles = createSeparator();
4034
3749
  const formGroupStyles = createFormGroup();
4035
3750
  const dialogStyles = createDialogStyles();
3751
+ createDialogGlobalStyles();
4036
3752
  const dropdownMenuStyles = createDropdownMenuStyles();
4037
3753
  const selectStyles = createSelectStyles();
4038
3754
  const tabsStyles = createTabsStyles();
@@ -4043,12 +3759,12 @@ function configureTheme(config) {
4043
3759
  const radioGroupStyles = createRadioGroupStyles();
4044
3760
  const sliderStyles = createSliderStyles();
4045
3761
  const alertStyles = createAlertStyles();
4046
- const alertDialogStyles = createAlertDialogStyles();
4047
3762
  const accordionStyles = createAccordionStyles();
4048
3763
  const textareaStyles = createTextarea();
4049
3764
  const toastStyles = createToastStyles();
4050
3765
  const tooltipStyles = createTooltipStyles();
4051
3766
  const avatarStyles = createAvatarStyles();
3767
+ const emptyStateStyles = createEmptyStateStyles();
4052
3768
  const skeletonStyles = createSkeletonStyles();
4053
3769
  const tableStyles = createTableStyles();
4054
3770
  const sheetStyles = createSheetStyles();
@@ -4070,7 +3786,6 @@ function configureTheme(config) {
4070
3786
  const toggleGroupStyles = createToggleGroupStyles();
4071
3787
  const styles = {
4072
3788
  alert: alertStyles,
4073
- alertDialog: alertDialogStyles,
4074
3789
  button: buttonStyles,
4075
3790
  badge: badgeStyles,
4076
3791
  card: cardStyles,
@@ -4093,6 +3808,7 @@ function configureTheme(config) {
4093
3808
  toast: toastStyles,
4094
3809
  tooltip: tooltipStyles,
4095
3810
  avatar: avatarStyles,
3811
+ emptyState: emptyStateStyles,
4096
3812
  skeleton: skeletonStyles,
4097
3813
  table: tableStyles,
4098
3814
  sheet: sheetStyles,
@@ -4113,24 +3829,109 @@ function configureTheme(config) {
4113
3829
  toggle: toggleStyles,
4114
3830
  toggleGroup: toggleGroupStyles
4115
3831
  };
3832
+ const badgeColorInlineStyles = {
3833
+ blue: { backgroundColor: "oklch(0.55 0.15 250)", color: "#fff" },
3834
+ green: { backgroundColor: "oklch(0.55 0.15 155)", color: "#fff" },
3835
+ yellow: { backgroundColor: "oklch(0.75 0.15 85)", color: "oklch(0.25 0.05 85)" }
3836
+ };
3837
+ const DefaultAlert = withStyles18(ComposedAlert, {
3838
+ root: alertStyles.root,
3839
+ title: alertStyles.title,
3840
+ description: alertStyles.description
3841
+ });
3842
+ const DestructiveAlert = withStyles18(ComposedAlert, {
3843
+ root: [alertStyles.root, alertStyles.destructive].join(" "),
3844
+ title: alertStyles.title,
3845
+ description: alertStyles.description
3846
+ });
3847
+ function ThemedAlert({ variant, ...rest }) {
3848
+ return (variant === "destructive" ? DestructiveAlert : DefaultAlert)(rest);
3849
+ }
3850
+ const Alert = Object.assign(ThemedAlert, {
3851
+ Title: ComposedAlert.Title,
3852
+ Description: ComposedAlert.Description
3853
+ });
4116
3854
  const components = {
4117
- Alert: createAlertComponents(alertStyles),
4118
- Button: createButtonComponent(buttonStyles),
4119
- Badge: createBadgeComponent(badgeStyles),
4120
- Breadcrumb: createBreadcrumbComponent(breadcrumbStyles),
4121
- Card: createCardComponents(cardStyles),
4122
- Input: createInputComponent(inputStyles),
4123
- Textarea: createTextareaComponent(textareaStyles),
4124
- Label: createLabelComponent(labelStyles),
4125
- Pagination: createPaginationComponent(paginationStyles),
4126
- Separator: createSeparatorComponent(separatorStyles),
4127
- FormGroup: createFormGroupComponents(formGroupStyles),
4128
- Avatar: createAvatarComponents(avatarStyles),
4129
- Skeleton: createSkeletonComponents(skeletonStyles),
4130
- Table: createTableComponents(tableStyles),
3855
+ Alert,
3856
+ Button: ({ intent, size, ...rest }) => ComposedButton({ ...rest, classes: { base: buttonStyles({ intent, size }) } }),
3857
+ Badge: ({ color, ...rest }) => {
3858
+ const style = color ? badgeColorInlineStyles[color] : undefined;
3859
+ return ComposedBadge({ ...rest, classes: { base: badgeStyles({ color }) }, style });
3860
+ },
3861
+ Breadcrumb: withStyles18(ComposedBreadcrumb, {
3862
+ nav: breadcrumbStyles.nav,
3863
+ list: breadcrumbStyles.list,
3864
+ item: breadcrumbStyles.item,
3865
+ link: breadcrumbStyles.link,
3866
+ page: breadcrumbStyles.page,
3867
+ separator: breadcrumbStyles.separator
3868
+ }),
3869
+ Card: withStyles18(ComposedCard, {
3870
+ root: cardStyles.root,
3871
+ header: cardStyles.header,
3872
+ title: cardStyles.title,
3873
+ description: cardStyles.description,
3874
+ content: cardStyles.content,
3875
+ footer: cardStyles.footer,
3876
+ action: cardStyles.action
3877
+ }),
3878
+ Input: withStyles18(ComposedInput, { base: inputStyles.base }),
3879
+ Textarea: withStyles18(ComposedTextarea, { base: textareaStyles.base }),
3880
+ Label: withStyles18(ComposedLabel, { base: labelStyles.base }),
3881
+ Pagination: (props) => ComposedPagination({
3882
+ ...props,
3883
+ classes: {
3884
+ nav: paginationStyles.nav,
3885
+ list: paginationStyles.list,
3886
+ item: paginationStyles.item,
3887
+ link: paginationStyles.link,
3888
+ linkActive: paginationStyles.linkActive,
3889
+ navButton: paginationStyles.navButton,
3890
+ ellipsis: paginationStyles.ellipsis
3891
+ }
3892
+ }),
3893
+ Separator: withStyles18(ComposedSeparator, {
3894
+ base: separatorStyles.base,
3895
+ horizontal: separatorStyles.horizontal,
3896
+ vertical: separatorStyles.vertical
3897
+ }),
3898
+ FormGroup: withStyles18(ComposedFormGroup, {
3899
+ base: formGroupStyles.base,
3900
+ error: formGroupStyles.error
3901
+ }),
3902
+ Avatar: withStyles18(ComposedAvatar, {
3903
+ root: avatarStyles.root,
3904
+ image: avatarStyles.image,
3905
+ fallback: avatarStyles.fallback
3906
+ }),
3907
+ EmptyState: withStyles18(ComposedEmptyState, {
3908
+ root: emptyStateStyles.root,
3909
+ icon: emptyStateStyles.icon,
3910
+ title: emptyStateStyles.title,
3911
+ description: emptyStateStyles.description,
3912
+ action: emptyStateStyles.action
3913
+ }),
3914
+ Skeleton: Object.assign(withStyles18(ComposedSkeleton, { root: skeletonStyles.root }), {
3915
+ Text: withStyles18(ComposedSkeleton.Text, {
3916
+ root: skeletonStyles.textRoot,
3917
+ line: skeletonStyles.textLine
3918
+ }),
3919
+ Circle: withStyles18(ComposedSkeleton.Circle, {
3920
+ root: skeletonStyles.circleRoot
3921
+ })
3922
+ }),
3923
+ Table: withStyles18(ComposedTable, {
3924
+ root: tableStyles.root,
3925
+ header: tableStyles.header,
3926
+ body: tableStyles.body,
3927
+ row: tableStyles.row,
3928
+ head: tableStyles.head,
3929
+ cell: tableStyles.cell,
3930
+ caption: tableStyles.caption,
3931
+ footer: tableStyles.footer
3932
+ }),
4131
3933
  primitives: {
4132
- AlertDialog: createThemedAlertDialog(alertDialogStyles),
4133
- Dialog: createThemedDialog(dialogStyles),
3934
+ Dialog: createThemedDialog(),
4134
3935
  DropdownMenu: createThemedDropdownMenu(dropdownMenuStyles),
4135
3936
  Select: createThemedSelect(selectStyles),
4136
3937
  Tabs: createThemedTabs(tabsStyles),
@@ -4149,7 +3950,10 @@ function configureTheme(config) {
4149
3950
  Collapsible: createThemedCollapsible(collapsibleStyles),
4150
3951
  Command: createThemedCommand(commandStyles),
4151
3952
  ContextMenu: createThemedContextMenu(contextMenuStyles),
4152
- DatePicker: createThemedDatePicker(datePickerStyles, calendarStyles),
3953
+ DatePicker: createThemedDatePicker(datePickerStyles, {
3954
+ ...calendarStyles,
3955
+ root: calendarStyles.rootNoBorder
3956
+ }),
4153
3957
  Drawer: createThemedDrawer(drawerStyles),
4154
3958
  HoverCard: createThemedHoverCard(hoverCardStyles),
4155
3959
  Menubar: createThemedMenubar(menubarStyles),
@@ -4163,5 +3967,7 @@ function configureTheme(config) {
4163
3967
  return { theme, globals, styles, components };
4164
3968
  }
4165
3969
  export {
4166
- configureTheme
3970
+ palettes,
3971
+ configureTheme,
3972
+ RADIUS_VALUES
4167
3973
  };