@vertz/theme-shadcn 0.2.21 → 0.2.22

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/base.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  configureThemeBase
3
- } from "./shared/chunk-d2nh1syq.js";
3
+ } from "./shared/chunk-gjsm05ga.js";
4
4
  export {
5
5
  configureThemeBase
6
6
  };
package/dist/index.d.ts CHANGED
@@ -255,30 +255,41 @@ interface CheckboxRootProps {
255
255
  onCheckedChange?: (checked: CheckedState) => void;
256
256
  }
257
257
  type ThemedCheckboxComponent = (props: CheckboxRootProps) => HTMLElement;
258
- import { CollapsibleElements, CollapsibleOptions, CollapsibleState } from "@vertz/ui-primitives";
259
- interface CollapsibleStyleClasses {
260
- readonly content: string;
261
- }
262
- declare function createThemedCollapsible(styles: CollapsibleStyleClasses): (options?: CollapsibleOptions) => CollapsibleElements & {
263
- state: CollapsibleState;
264
- };
265
258
  import { ChildValue as ChildValue12 } from "@vertz/ui";
259
+ interface CollapsibleRootProps {
260
+ defaultOpen?: boolean;
261
+ disabled?: boolean;
262
+ onOpenChange?: (open: boolean) => void;
263
+ children?: ChildValue12;
264
+ }
265
+ interface CollapsibleSlotProps {
266
+ children?: ChildValue12;
267
+ className?: string;
268
+ /** @deprecated Use `className` instead. */
269
+ class?: string;
270
+ }
271
+ interface ThemedCollapsibleComponent {
272
+ (props: CollapsibleRootProps): HTMLElement;
273
+ Trigger: (props: CollapsibleSlotProps) => HTMLElement;
274
+ Content: (props: CollapsibleSlotProps) => HTMLElement;
275
+ }
276
+ import { ChildValue as ChildValue13 } from "@vertz/ui";
266
277
  interface CommandRootProps {
267
278
  filter?: (value: string, search: string) => boolean;
268
279
  onSelect?: (value: string) => void;
269
280
  onInputChange?: (value: string) => void;
270
281
  placeholder?: string;
271
- children?: ChildValue12;
282
+ children?: ChildValue13;
272
283
  }
273
284
  interface CommandSlotProps {
274
- children?: ChildValue12;
285
+ children?: ChildValue13;
275
286
  className?: string;
276
287
  /** @deprecated Use `className` instead. */
277
288
  class?: string;
278
289
  }
279
290
  interface CommandItemProps {
280
291
  value: string;
281
- children?: ChildValue12;
292
+ children?: ChildValue13;
282
293
  keywords?: string[];
283
294
  className?: string;
284
295
  /** @deprecated Use `className` instead. */
@@ -286,7 +297,7 @@ interface CommandItemProps {
286
297
  }
287
298
  interface CommandGroupProps {
288
299
  label: string;
289
- children?: ChildValue12;
300
+ children?: ChildValue13;
290
301
  className?: string;
291
302
  /** @deprecated Use `className` instead. */
292
303
  class?: string;
@@ -300,33 +311,33 @@ interface ThemedCommandComponent {
300
311
  Group: (props: CommandGroupProps) => HTMLElement;
301
312
  Separator: (props: CommandSlotProps) => HTMLElement;
302
313
  }
303
- import { ChildValue as ChildValue13 } from "@vertz/ui";
314
+ import { ChildValue as ChildValue14 } from "@vertz/ui";
304
315
  interface ContextMenuRootProps {
305
316
  onSelect?: (value: string) => void;
306
- children?: ChildValue13;
317
+ children?: ChildValue14;
307
318
  }
308
319
  interface ContextMenuSlotProps {
309
- children?: ChildValue13;
320
+ children?: ChildValue14;
310
321
  className?: string;
311
322
  /** @deprecated Use `className` instead. */
312
323
  class?: string;
313
324
  }
314
325
  interface ContextMenuItemProps {
315
326
  value: string;
316
- children?: ChildValue13;
327
+ children?: ChildValue14;
317
328
  className?: string;
318
329
  /** @deprecated Use `className` instead. */
319
330
  class?: string;
320
331
  }
321
332
  interface ContextMenuGroupProps {
322
333
  label: string;
323
- children?: ChildValue13;
334
+ children?: ChildValue14;
324
335
  className?: string;
325
336
  /** @deprecated Use `className` instead. */
326
337
  class?: string;
327
338
  }
328
339
  interface ContextMenuLabelProps {
329
- children?: ChildValue13;
340
+ children?: ChildValue14;
330
341
  className?: string;
331
342
  /** @deprecated Use `className` instead. */
332
343
  class?: string;
@@ -340,47 +351,71 @@ interface ThemedContextMenuComponent {
340
351
  Label: (props: ContextMenuLabelProps) => HTMLElement;
341
352
  Separator: (props: ContextMenuSlotProps) => HTMLElement;
342
353
  }
343
- import { DatePickerElements, DatePickerOptions, DatePickerState } from "@vertz/ui-primitives";
344
- interface DatePickerStyleClasses {
345
- readonly trigger: string;
346
- readonly content: string;
354
+ import { ChildValue as ChildValue15 } from "@vertz/ui";
355
+ interface DatePickerRootProps {
356
+ mode?: "single" | "range";
357
+ defaultValue?: Date | {
358
+ from: Date;
359
+ to: Date;
360
+ };
361
+ defaultMonth?: Date;
362
+ minDate?: Date;
363
+ maxDate?: Date;
364
+ disabled?: (date: Date) => boolean;
365
+ formatDate?: (date: Date) => string;
366
+ placeholder?: string;
367
+ onValueChange?: (value: Date | {
368
+ from: Date;
369
+ to: Date;
370
+ } | null) => void;
371
+ onOpenChange?: (open: boolean) => void;
372
+ children?: ChildValue15;
347
373
  }
348
- declare function createThemedDatePicker(styles: DatePickerStyleClasses): (options?: DatePickerOptions) => DatePickerElements & {
349
- state: DatePickerState;
350
- show: () => void;
351
- hide: () => void;
352
- };
353
- import { ChildValue as ChildValue14 } from "@vertz/ui";
374
+ interface DatePickerSlotProps {
375
+ children?: ChildValue15;
376
+ className?: string;
377
+ /** @deprecated Use `className` instead. */
378
+ class?: string;
379
+ }
380
+ interface ThemedDatePickerComponent {
381
+ (props: DatePickerRootProps): HTMLElement;
382
+ Trigger: (props: DatePickerSlotProps) => HTMLElement;
383
+ Content: (props: DatePickerSlotProps) => HTMLElement;
384
+ }
385
+ import { ChildValue as ChildValue16 } from "@vertz/ui";
354
386
  interface DialogRootProps {
355
- children?: ChildValue14;
387
+ children?: ChildValue16;
356
388
  onOpenChange?: (open: boolean) => void;
357
389
  }
358
390
  interface DialogSlotProps {
359
- children?: ChildValue14;
391
+ children?: ChildValue16;
360
392
  className?: string;
361
393
  /** @deprecated Use `className` instead. */
362
394
  class?: string;
363
395
  }
396
+ interface DialogContentProps extends DialogSlotProps {
397
+ showClose?: boolean;
398
+ }
364
399
  interface ThemedDialogComponent {
365
400
  (props: DialogRootProps): HTMLElement;
366
401
  Trigger: (props: DialogSlotProps) => HTMLElement;
367
- Content: (props: DialogSlotProps) => HTMLElement;
402
+ Content: (props: DialogContentProps) => HTMLElement;
368
403
  Header: (props: DialogSlotProps) => HTMLElement;
369
404
  Title: (props: DialogSlotProps) => HTMLElement;
370
405
  Description: (props: DialogSlotProps) => HTMLElement;
371
406
  Footer: (props: DialogSlotProps) => HTMLElement;
372
407
  Close: (props: DialogSlotProps) => HTMLElement;
373
408
  }
374
- import { ChildValue as ChildValue15 } from "@vertz/ui";
409
+ import { ChildValue as ChildValue17 } from "@vertz/ui";
375
410
  import { SheetSide } from "@vertz/ui-primitives";
376
411
  type DrawerSide = SheetSide;
377
412
  interface DrawerRootProps {
378
413
  side?: DrawerSide;
379
414
  onOpenChange?: (open: boolean) => void;
380
- children?: ChildValue15;
415
+ children?: ChildValue17;
381
416
  }
382
417
  interface DrawerSlotProps {
383
- children?: ChildValue15;
418
+ children?: ChildValue17;
384
419
  className?: string;
385
420
  /** @deprecated Use `className` instead. */
386
421
  class?: string;
@@ -395,34 +430,34 @@ interface ThemedDrawerComponent {
395
430
  Footer: (props: DrawerSlotProps) => HTMLElement;
396
431
  Handle: (props: DrawerSlotProps) => HTMLElement;
397
432
  }
398
- import { ChildValue as ChildValue16 } from "@vertz/ui";
433
+ import { ChildValue as ChildValue18 } from "@vertz/ui";
399
434
  interface DropdownMenuRootProps {
400
435
  onSelect?: (value: string) => void;
401
436
  onOpenChange?: (open: boolean) => void;
402
- children?: ChildValue16;
437
+ children?: ChildValue18;
403
438
  }
404
439
  interface DropdownMenuSlotProps {
405
- children?: ChildValue16;
440
+ children?: ChildValue18;
406
441
  className?: string;
407
442
  /** @deprecated Use `className` instead. */
408
443
  class?: string;
409
444
  }
410
445
  interface DropdownMenuItemProps {
411
446
  value: string;
412
- children?: ChildValue16;
447
+ children?: ChildValue18;
413
448
  className?: string;
414
449
  /** @deprecated Use `className` instead. */
415
450
  class?: string;
416
451
  }
417
452
  interface DropdownMenuGroupProps {
418
453
  label: string;
419
- children?: ChildValue16;
454
+ children?: ChildValue18;
420
455
  className?: string;
421
456
  /** @deprecated Use `className` instead. */
422
457
  class?: string;
423
458
  }
424
459
  interface DropdownMenuLabelProps {
425
- children?: ChildValue16;
460
+ children?: ChildValue18;
426
461
  className?: string;
427
462
  /** @deprecated Use `className` instead. */
428
463
  class?: string;
@@ -436,44 +471,55 @@ interface ThemedDropdownMenuComponent {
436
471
  Label: (props: DropdownMenuLabelProps) => HTMLElement;
437
472
  Separator: (props: DropdownMenuSlotProps) => HTMLElement;
438
473
  }
439
- import { HoverCardElements, HoverCardOptions, HoverCardState } from "@vertz/ui-primitives";
440
- interface HoverCardStyleClasses {
441
- readonly content: string;
474
+ import { ChildValue as ChildValue19 } from "@vertz/ui";
475
+ interface HoverCardRootProps {
476
+ openDelay?: number;
477
+ closeDelay?: number;
478
+ onOpenChange?: (open: boolean) => void;
479
+ children?: ChildValue19;
442
480
  }
443
- declare function createThemedHoverCard(styles: HoverCardStyleClasses): (options?: HoverCardOptions) => HoverCardElements & {
444
- state: HoverCardState;
445
- };
446
- import { ChildValue as ChildValue17 } from "@vertz/ui";
481
+ interface HoverCardSlotProps {
482
+ children?: ChildValue19;
483
+ className?: string;
484
+ /** @deprecated Use `className` instead. */
485
+ class?: string;
486
+ }
487
+ interface ThemedHoverCardComponent {
488
+ (props: HoverCardRootProps): HTMLElement;
489
+ Trigger: (props: HoverCardSlotProps) => HTMLElement;
490
+ Content: (props: HoverCardSlotProps) => HTMLElement;
491
+ }
492
+ import { ChildValue as ChildValue20 } from "@vertz/ui";
447
493
  interface MenubarRootProps {
448
494
  onSelect?: (value: string) => void;
449
- children?: ChildValue17;
495
+ children?: ChildValue20;
450
496
  }
451
497
  interface MenubarMenuProps {
452
498
  value: string;
453
- children?: ChildValue17;
499
+ children?: ChildValue20;
454
500
  }
455
501
  interface MenubarSlotProps {
456
- children?: ChildValue17;
502
+ children?: ChildValue20;
457
503
  className?: string;
458
504
  /** @deprecated Use `className` instead. */
459
505
  class?: string;
460
506
  }
461
507
  interface MenubarItemProps {
462
508
  value: string;
463
- children?: ChildValue17;
509
+ children?: ChildValue20;
464
510
  className?: string;
465
511
  /** @deprecated Use `className` instead. */
466
512
  class?: string;
467
513
  }
468
514
  interface MenubarGroupProps {
469
515
  label: string;
470
- children?: ChildValue17;
516
+ children?: ChildValue20;
471
517
  className?: string;
472
518
  /** @deprecated Use `className` instead. */
473
519
  class?: string;
474
520
  }
475
521
  interface MenubarLabelProps {
476
- children?: ChildValue17;
522
+ children?: ChildValue20;
477
523
  className?: string;
478
524
  /** @deprecated Use `className` instead. */
479
525
  class?: string;
@@ -488,26 +534,26 @@ interface ThemedMenubarComponent {
488
534
  Label: (props: MenubarLabelProps) => HTMLElement;
489
535
  Separator: (props: MenubarSlotProps) => HTMLElement;
490
536
  }
491
- import { ChildValue as ChildValue18 } from "@vertz/ui";
537
+ import { ChildValue as ChildValue21 } from "@vertz/ui";
492
538
  interface NavigationMenuRootProps {
493
539
  orientation?: "horizontal" | "vertical";
494
540
  delayOpen?: number;
495
541
  delayClose?: number;
496
- children?: ChildValue18;
542
+ children?: ChildValue21;
497
543
  }
498
544
  interface NavigationMenuSlotProps {
499
- children?: ChildValue18;
545
+ children?: ChildValue21;
500
546
  className?: string;
501
547
  /** @deprecated Use `className` instead. */
502
548
  class?: string;
503
549
  }
504
550
  interface NavigationMenuItemProps {
505
551
  value: string;
506
- children?: ChildValue18;
552
+ children?: ChildValue21;
507
553
  }
508
554
  interface NavigationMenuLinkProps {
509
555
  href: string;
510
- children?: ChildValue18;
556
+ children?: ChildValue21;
511
557
  className?: string;
512
558
  /** @deprecated Use `className` instead. */
513
559
  class?: string;
@@ -526,13 +572,13 @@ interface ThemedNavigationMenuComponent {
526
572
  Link: (props: NavigationMenuLinkProps) => HTMLElement;
527
573
  Viewport: (props: NavigationMenuViewportProps) => HTMLElement;
528
574
  }
529
- import { ChildValue as ChildValue19 } from "@vertz/ui";
575
+ import { ChildValue as ChildValue22 } from "@vertz/ui";
530
576
  interface PopoverRootProps {
531
577
  onOpenChange?: (open: boolean) => void;
532
- children?: ChildValue19;
578
+ children?: ChildValue22;
533
579
  }
534
580
  interface PopoverSlotProps {
535
- children?: ChildValue19;
581
+ children?: ChildValue22;
536
582
  className?: string;
537
583
  /** @deprecated Use `className` instead. */
538
584
  class?: string;
@@ -542,74 +588,87 @@ interface ThemedPopoverComponent {
542
588
  Trigger: (props: PopoverSlotProps) => HTMLElement;
543
589
  Content: (props: PopoverSlotProps) => HTMLElement;
544
590
  }
545
- import { ChildValue as ChildValue20 } from "@vertz/ui";
591
+ import { ChildValue as ChildValue23 } from "@vertz/ui";
546
592
  interface ProgressRootProps {
547
- children?: ChildValue20;
593
+ children?: ChildValue23;
548
594
  defaultValue?: number;
549
595
  min?: number;
550
596
  max?: number;
551
597
  }
552
598
  type ThemedProgressComponent = (props: ProgressRootProps) => HTMLElement;
553
- import { ChildValue as ChildValue21 } from "@vertz/ui";
599
+ import { ChildValue as ChildValue24 } from "@vertz/ui";
554
600
  interface RadioGroupRootProps {
555
- children?: ChildValue21;
601
+ children?: ChildValue24;
556
602
  defaultValue?: string;
557
603
  onValueChange?: (value: string) => void;
558
604
  }
559
605
  interface RadioGroupItemProps {
560
606
  value: string;
561
607
  disabled?: boolean;
562
- children?: ChildValue21;
608
+ children?: ChildValue24;
563
609
  }
564
610
  interface ThemedRadioGroupComponent {
565
611
  (props: RadioGroupRootProps): HTMLElement;
566
612
  Item: (props: RadioGroupItemProps) => HTMLElement;
567
613
  }
568
- import { PanelOptions, ResizablePanelElements, ResizablePanelOptions, ResizablePanelState } from "@vertz/ui-primitives";
614
+ import { ChildValue as ChildValue25 } from "@vertz/ui";
615
+ import { PanelOptions } from "@vertz/ui-primitives";
569
616
  interface ResizablePanelStyleClasses {
570
617
  readonly root: string;
571
618
  readonly panel: string;
572
619
  readonly handle: string;
573
620
  }
574
- declare function createThemedResizablePanel(styles: ResizablePanelStyleClasses): (options?: ResizablePanelOptions) => ResizablePanelElements & {
575
- state: ResizablePanelState;
576
- Panel: (panelOptions?: PanelOptions) => HTMLDivElement;
577
- Handle: () => HTMLDivElement;
578
- };
579
- import { ScrollAreaElements, ScrollAreaOptions, ScrollAreaState } from "@vertz/ui-primitives";
580
- interface ScrollAreaStyleClasses {
581
- readonly root: string;
582
- readonly viewport: string;
583
- readonly scrollbar: string;
584
- readonly thumb: string;
621
+ interface ResizablePanelRootProps {
622
+ orientation?: "horizontal" | "vertical";
623
+ onResize?: (sizes: number[]) => void;
624
+ children?: ChildValue25;
585
625
  }
586
- declare function createThemedScrollArea(styles: ScrollAreaStyleClasses): (options?: ScrollAreaOptions) => ScrollAreaElements & {
587
- state: ScrollAreaState;
588
- update: () => void;
589
- };
590
- import { ChildValue as ChildValue22 } from "@vertz/ui";
626
+ interface ResizablePanelPanelProps extends PanelOptions {
627
+ children?: ChildValue25;
628
+ className?: string;
629
+ /** @deprecated Use `className` instead. */
630
+ class?: string;
631
+ }
632
+ interface ResizablePanelHandleProps {
633
+ className?: string;
634
+ /** @deprecated Use `className` instead. */
635
+ class?: string;
636
+ }
637
+ interface ThemedResizablePanelComponent {
638
+ (props: ResizablePanelRootProps): HTMLElement;
639
+ Panel: (props: ResizablePanelPanelProps) => HTMLElement;
640
+ Handle: (props: ResizablePanelHandleProps) => HTMLElement;
641
+ }
642
+ declare function createThemedResizablePanel(styles: ResizablePanelStyleClasses): ThemedResizablePanelComponent;
643
+ import { ChildValue as ChildValue26 } from "@vertz/ui";
644
+ interface ScrollAreaRootProps {
645
+ orientation?: "vertical" | "horizontal" | "both";
646
+ children?: ChildValue26;
647
+ }
648
+ type ThemedScrollAreaComponent = (props: ScrollAreaRootProps) => HTMLElement;
649
+ import { ChildValue as ChildValue27 } from "@vertz/ui";
591
650
  interface SelectRootProps {
592
651
  defaultValue?: string;
593
652
  placeholder?: string;
594
653
  onValueChange?: (value: string) => void;
595
- children?: ChildValue22;
654
+ children?: ChildValue27;
596
655
  }
597
656
  interface SelectSlotProps {
598
- children?: ChildValue22;
657
+ children?: ChildValue27;
599
658
  className?: string;
600
659
  /** @deprecated Use `className` instead. */
601
660
  class?: string;
602
661
  }
603
662
  interface SelectItemProps {
604
663
  value: string;
605
- children?: ChildValue22;
664
+ children?: ChildValue27;
606
665
  className?: string;
607
666
  /** @deprecated Use `className` instead. */
608
667
  class?: string;
609
668
  }
610
669
  interface SelectGroupProps {
611
670
  label: string;
612
- children?: ChildValue22;
671
+ children?: ChildValue27;
613
672
  className?: string;
614
673
  /** @deprecated Use `className` instead. */
615
674
  class?: string;
@@ -622,30 +681,33 @@ interface ThemedSelectComponent {
622
681
  Group: (props: SelectGroupProps) => HTMLElement;
623
682
  Separator: (props: SelectSlotProps) => HTMLElement;
624
683
  }
625
- import { ChildValue as ChildValue23 } from "@vertz/ui";
684
+ import { ChildValue as ChildValue28 } from "@vertz/ui";
626
685
  import { SheetSide as SheetSide2 } from "@vertz/ui-primitives";
627
686
  interface SheetRootProps {
628
687
  side?: SheetSide2;
629
688
  onOpenChange?: (open: boolean) => void;
630
- children?: ChildValue23;
689
+ children?: ChildValue28;
631
690
  }
632
691
  interface SheetSlotProps {
633
- children?: ChildValue23;
692
+ children?: ChildValue28;
634
693
  className?: string;
635
694
  /** @deprecated Use `className` instead. */
636
695
  class?: string;
637
696
  }
697
+ interface SheetContentProps extends SheetSlotProps {
698
+ showClose?: boolean;
699
+ }
638
700
  interface ThemedSheetComponent {
639
701
  (props: SheetRootProps): HTMLElement;
640
702
  Trigger: (props: SheetSlotProps) => HTMLElement;
641
- Content: (props: SheetSlotProps) => HTMLElement;
703
+ Content: (props: SheetContentProps) => HTMLElement;
642
704
  Title: (props: SheetSlotProps) => HTMLElement;
643
705
  Description: (props: SheetSlotProps) => HTMLElement;
644
706
  Close: (props: SheetSlotProps) => HTMLElement;
645
707
  }
646
- import { ChildValue as ChildValue24 } from "@vertz/ui";
708
+ import { ChildValue as ChildValue29 } from "@vertz/ui";
647
709
  interface SliderRootProps {
648
- children?: ChildValue24;
710
+ children?: ChildValue29;
649
711
  defaultValue?: number;
650
712
  min?: number;
651
713
  max?: number;
@@ -654,37 +716,37 @@ interface SliderRootProps {
654
716
  onValueChange?: (value: number) => void;
655
717
  }
656
718
  type ThemedSliderComponent = (props: SliderRootProps) => HTMLElement;
657
- import { ChildValue as ChildValue25 } from "@vertz/ui";
719
+ import { ChildValue as ChildValue30 } from "@vertz/ui";
658
720
  interface ThemedSwitchProps {
659
- children?: ChildValue25;
721
+ children?: ChildValue30;
660
722
  defaultChecked?: boolean;
661
723
  disabled?: boolean;
662
724
  onCheckedChange?: (checked: boolean) => void;
663
725
  size?: "default" | "sm";
664
726
  }
665
727
  type ThemedSwitchComponent = (props: ThemedSwitchProps) => HTMLElement;
666
- import { ChildValue as ChildValue26 } from "@vertz/ui";
728
+ import { ChildValue as ChildValue31 } from "@vertz/ui";
667
729
  interface TabsRootProps {
668
730
  defaultValue?: string;
669
731
  variant?: "default" | "line";
670
- children?: ChildValue26;
732
+ children?: ChildValue31;
671
733
  }
672
734
  interface TabsSlotProps {
673
- children?: ChildValue26;
735
+ children?: ChildValue31;
674
736
  className?: string;
675
737
  /** @deprecated Use `className` instead. */
676
738
  class?: string;
677
739
  }
678
740
  interface TabsTriggerProps {
679
741
  value: string;
680
- children?: ChildValue26;
742
+ children?: ChildValue31;
681
743
  className?: string;
682
744
  /** @deprecated Use `className` instead. */
683
745
  class?: string;
684
746
  }
685
747
  interface TabsContentProps {
686
748
  value: string;
687
- children?: ChildValue26;
749
+ children?: ChildValue31;
688
750
  className?: string;
689
751
  /** @deprecated Use `className` instead. */
690
752
  class?: string;
@@ -701,30 +763,38 @@ type ThemedToastResult = ToastElements & {
701
763
  announce: (content: string) => ToastMessage;
702
764
  dismiss: (id: string) => void;
703
765
  };
704
- import { ChildValue as ChildValue27 } from "@vertz/ui";
766
+ import { ChildValue as ChildValue32 } from "@vertz/ui";
705
767
  interface ToggleRootProps {
706
- children?: ChildValue27;
768
+ children?: ChildValue32;
707
769
  defaultPressed?: boolean;
708
770
  disabled?: boolean;
709
771
  onPressedChange?: (pressed: boolean) => void;
710
772
  }
711
773
  type ThemedToggleComponent = (props: ToggleRootProps) => HTMLElement;
712
- import { ToggleGroupElements, ToggleGroupOptions, ToggleGroupState } from "@vertz/ui-primitives";
713
- interface ToggleGroupStyleClasses {
714
- readonly root: string;
715
- readonly item: string;
774
+ import { ChildValue as ChildValue33 } from "@vertz/ui";
775
+ interface ToggleGroupRootProps {
776
+ children?: ChildValue33;
777
+ type?: "single" | "multiple";
778
+ defaultValue?: string[];
779
+ orientation?: "horizontal" | "vertical";
780
+ disabled?: boolean;
781
+ onValueChange?: (value: string[]) => void;
716
782
  }
717
- declare function createThemedToggleGroup(styles: ToggleGroupStyleClasses): (options?: ToggleGroupOptions) => ToggleGroupElements & {
718
- state: ToggleGroupState;
719
- Item: (value: string) => HTMLButtonElement;
720
- };
721
- import { ChildValue as ChildValue28 } from "@vertz/ui";
783
+ interface ToggleGroupItemProps {
784
+ value: string;
785
+ children?: ChildValue33;
786
+ }
787
+ interface ThemedToggleGroupComponent {
788
+ (props: ToggleGroupRootProps): HTMLElement;
789
+ Item: (props: ToggleGroupItemProps) => HTMLElement;
790
+ }
791
+ import { ChildValue as ChildValue34 } from "@vertz/ui";
722
792
  interface TooltipRootProps {
723
793
  delay?: number;
724
- children?: ChildValue28;
794
+ children?: ChildValue34;
725
795
  }
726
796
  interface TooltipSlotProps {
727
- children?: ChildValue28;
797
+ children?: ChildValue34;
728
798
  className?: string;
729
799
  /** @deprecated Use `className` instead. */
730
800
  class?: string;
@@ -735,6 +805,7 @@ interface ThemedTooltipComponent {
735
805
  Content: (props: TooltipSlotProps) => HTMLElement;
736
806
  }
737
807
  interface SeparatorProps {
808
+ orientation?: "horizontal" | "vertical";
738
809
  className?: string;
739
810
  /** @deprecated Use `className` instead. */
740
811
  class?: string;
@@ -749,12 +820,12 @@ interface SkeletonProps {
749
820
  interface SkeletonComponents {
750
821
  Skeleton: (props?: SkeletonProps) => HTMLDivElement;
751
822
  }
752
- import { ChildValue as ChildValue29 } from "@vertz/ui";
823
+ import { ChildValue as ChildValue35 } from "@vertz/ui";
753
824
  interface TableProps {
754
825
  className?: string;
755
826
  /** @deprecated Use `className` instead. */
756
827
  class?: string;
757
- children?: ChildValue29;
828
+ children?: ChildValue35;
758
829
  }
759
830
  interface TableComponents {
760
831
  Table: (props: TableProps) => HTMLDivElement;
@@ -1214,29 +1285,29 @@ interface ThemedPrimitives {
1214
1285
  /** Themed Carousel — composable JSX component with Carousel.Slide, Carousel.Previous, Carousel.Next. */
1215
1286
  Carousel: ThemedCarouselComponent;
1216
1287
  /** Themed Collapsible — expandable/collapsible content section. */
1217
- collapsible: ReturnType<typeof createThemedCollapsible>;
1288
+ Collapsible: ThemedCollapsibleComponent;
1218
1289
  /** Themed Command — composable JSX component with Command.Input, Command.List, Command.Item, Command.Group, etc. */
1219
1290
  Command: ThemedCommandComponent;
1220
1291
  /** Themed ContextMenu — composable JSX component with ContextMenu.Trigger, ContextMenu.Content, etc. */
1221
1292
  ContextMenu: ThemedContextMenuComponent;
1222
- /** Themed DatePicker — date picker composing Calendar + Popover. */
1223
- datePicker: ReturnType<typeof createThemedDatePicker>;
1293
+ /** Themed DatePicker — composable JSX component with DatePicker.Trigger, DatePicker.Content. */
1294
+ DatePicker: ThemedDatePickerComponent;
1224
1295
  /** Themed Drawer — composable JSX component with Drawer.Trigger, Drawer.Content, Drawer.Handle, etc. */
1225
1296
  Drawer: ThemedDrawerComponent;
1226
1297
  /** Themed HoverCard — hover-triggered interactive card. */
1227
- hoverCard: ReturnType<typeof createThemedHoverCard>;
1298
+ HoverCard: ThemedHoverCardComponent;
1228
1299
  /** Themed Menubar — composable JSX component with Menubar.Menu, Menubar.Trigger, Menubar.Content, etc. */
1229
1300
  Menubar: ThemedMenubarComponent;
1230
1301
  /** Themed NavigationMenu — composable JSX component with NavigationMenu.List, NavigationMenu.Item, etc. */
1231
1302
  NavigationMenu: ThemedNavigationMenuComponent;
1232
1303
  /** Themed ResizablePanel — resizable panel layout with drag handles. */
1233
- resizablePanel: ReturnType<typeof createThemedResizablePanel>;
1234
- /** Themed ScrollArea — custom scrollbars. */
1235
- scrollArea: ReturnType<typeof createThemedScrollArea>;
1304
+ ResizablePanel: ReturnType<typeof createThemedResizablePanel>;
1305
+ /** Themed ScrollArea — composable JSX component wrapping @vertz/ui-primitives ScrollArea. */
1306
+ ScrollArea: ThemedScrollAreaComponent;
1236
1307
  /** Themed Toggle — composable JSX component wrapping @vertz/ui-primitives Toggle. */
1237
1308
  Toggle: ThemedToggleComponent;
1238
- /** Themed ToggleGroup — group of toggle buttons. */
1239
- toggleGroup: ReturnType<typeof createThemedToggleGroup>;
1309
+ /** Themed ToggleGroup — composable JSX component with ToggleGroup.Item sub-components. */
1310
+ ToggleGroup: ThemedToggleGroupComponent;
1240
1311
  }
1241
1312
  /** Component functions returned by configureTheme(). */
1242
1313
  interface ThemeComponents {
@@ -1325,13 +1396,13 @@ declare module "@vertz/ui/components" {
1325
1396
  Toast: ThemedPrimitives["Toast"];
1326
1397
  Carousel: ThemedCarouselComponent;
1327
1398
  Command: ThemedCommandComponent;
1328
- collapsible: ThemedPrimitives["collapsible"];
1329
- datePicker: ThemedPrimitives["datePicker"];
1330
- hoverCard: ThemedPrimitives["hoverCard"];
1399
+ Collapsible: ThemedCollapsibleComponent;
1400
+ DatePicker: ThemedDatePickerComponent;
1401
+ HoverCard: ThemedHoverCardComponent;
1331
1402
  NavigationMenu: ThemedNavigationMenuComponent;
1332
- resizablePanel: ThemedPrimitives["resizablePanel"];
1333
- scrollArea: ThemedPrimitives["scrollArea"];
1334
- toggleGroup: ThemedPrimitives["toggleGroup"];
1403
+ ResizablePanel: ThemedResizablePanelComponent;
1404
+ ScrollArea: ThemedPrimitives["ScrollArea"];
1405
+ ToggleGroup: ThemedToggleGroupComponent;
1335
1406
  }
1336
1407
  }
1337
1408
  export { configureTheme, ThemedPrimitives, ThemeStyles, ThemeStyle, ThemeConfig, ThemeComponents, ResolvedThemeBase, ResolvedTheme };
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  } from "./shared/chunk-gzfp8m46.js";
9
9
  import {
10
10
  configureThemeBase
11
- } from "./shared/chunk-d2nh1syq.js";
11
+ } from "./shared/chunk-gjsm05ga.js";
12
12
 
13
13
  // src/components/alert.ts
14
14
  import { resolveChildren } from "@vertz/ui";
@@ -478,7 +478,7 @@ function createThemedAccordion(styles) {
478
478
  // src/components/primitives/alert-dialog.ts
479
479
  import { ComposedAlertDialog, withStyles as withStyles2 } from "@vertz/ui-primitives";
480
480
  function createThemedAlertDialog(styles) {
481
- const StyledAlertDialog = withStyles2(ComposedAlertDialog, {
481
+ return withStyles2(ComposedAlertDialog, {
482
482
  overlay: styles.overlay,
483
483
  content: styles.panel,
484
484
  cancel: styles.cancel,
@@ -488,27 +488,6 @@ function createThemedAlertDialog(styles) {
488
488
  footer: styles.footer,
489
489
  header: ""
490
490
  });
491
- function AlertDialogRoot({
492
- children,
493
- onOpenChange,
494
- onAction
495
- }) {
496
- return StyledAlertDialog({
497
- children,
498
- onOpenChange,
499
- onAction
500
- });
501
- }
502
- return Object.assign(AlertDialogRoot, {
503
- Trigger: StyledAlertDialog.Trigger,
504
- Content: StyledAlertDialog.Content,
505
- Header: StyledAlertDialog.Header,
506
- Title: StyledAlertDialog.Title,
507
- Description: StyledAlertDialog.Description,
508
- Footer: StyledAlertDialog.Footer,
509
- Cancel: StyledAlertDialog.Cancel,
510
- Action: StyledAlertDialog.Action
511
- });
512
491
  }
513
492
 
514
493
  // src/components/primitives/calendar.ts
@@ -573,14 +552,29 @@ function createThemedCheckbox(styles) {
573
552
  };
574
553
  }
575
554
 
576
- // src/components/primitives/collapsible.ts
577
- import { Collapsible } from "@vertz/ui-primitives";
555
+ // src/components/primitives/collapsible.tsx
556
+ import { ComposedCollapsible } from "@vertz/ui-primitives";
578
557
  function createThemedCollapsible(styles) {
579
- return function themedCollapsible(options) {
580
- const result = Collapsible.Root(options);
581
- result.content.classList.add(styles.content);
582
- return result;
583
- };
558
+ function CollapsibleRoot({
559
+ children,
560
+ defaultOpen,
561
+ disabled,
562
+ onOpenChange
563
+ }) {
564
+ return ComposedCollapsible({
565
+ children,
566
+ defaultOpen,
567
+ disabled,
568
+ onOpenChange,
569
+ classes: {
570
+ content: styles.content
571
+ }
572
+ });
573
+ }
574
+ return Object.assign(CollapsibleRoot, {
575
+ Trigger: ComposedCollapsible.Trigger,
576
+ Content: ComposedCollapsible.Content
577
+ });
584
578
  }
585
579
 
586
580
  // src/components/primitives/command.tsx
@@ -644,21 +638,51 @@ function createThemedContextMenu(styles) {
644
638
  });
645
639
  }
646
640
 
647
- // src/components/primitives/date-picker.ts
648
- import { DatePicker } from "@vertz/ui-primitives";
649
- function createThemedDatePicker(styles) {
650
- return function themedDatePicker(options) {
651
- const result = DatePicker.Root(options);
652
- result.trigger.classList.add(styles.trigger);
653
- result.content.classList.add(styles.content);
654
- return result;
655
- };
641
+ // src/components/primitives/date-picker.tsx
642
+ import { ComposedDatePicker } from "@vertz/ui-primitives";
643
+ function createThemedDatePicker(styles, calendarClasses) {
644
+ function DatePickerRoot({
645
+ children,
646
+ mode,
647
+ defaultValue,
648
+ defaultMonth,
649
+ minDate,
650
+ maxDate,
651
+ disabled,
652
+ formatDate,
653
+ placeholder,
654
+ onValueChange,
655
+ onOpenChange
656
+ }) {
657
+ return ComposedDatePicker({
658
+ children,
659
+ mode,
660
+ defaultValue,
661
+ defaultMonth,
662
+ minDate,
663
+ maxDate,
664
+ disabled,
665
+ formatDate,
666
+ placeholder,
667
+ onValueChange,
668
+ onOpenChange,
669
+ classes: {
670
+ trigger: styles.trigger,
671
+ content: styles.content,
672
+ calendar: calendarClasses
673
+ }
674
+ });
675
+ }
676
+ return Object.assign(DatePickerRoot, {
677
+ Trigger: ComposedDatePicker.Trigger,
678
+ Content: ComposedDatePicker.Content
679
+ });
656
680
  }
657
681
 
658
682
  // src/components/primitives/dialog.ts
659
683
  import { ComposedDialog, withStyles as withStyles8 } from "@vertz/ui-primitives";
660
684
  function createThemedDialog(styles) {
661
- const StyledDialog = withStyles8(ComposedDialog, {
685
+ return withStyles8(ComposedDialog, {
662
686
  overlay: styles.overlay,
663
687
  content: styles.panel,
664
688
  close: styles.close,
@@ -667,27 +691,6 @@ function createThemedDialog(styles) {
667
691
  description: styles.description,
668
692
  footer: styles.footer
669
693
  });
670
- function DialogRoot({ children, onOpenChange }) {
671
- const closeIcon = document.createElement("button");
672
- closeIcon.type = "button";
673
- closeIcon.className = styles.close;
674
- closeIcon.setAttribute("aria-label", "Close");
675
- closeIcon.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>';
676
- return StyledDialog({
677
- children,
678
- onOpenChange,
679
- closeIcon
680
- });
681
- }
682
- return Object.assign(DialogRoot, {
683
- Trigger: StyledDialog.Trigger,
684
- Content: StyledDialog.Content,
685
- Header: StyledDialog.Header,
686
- Title: StyledDialog.Title,
687
- Description: StyledDialog.Description,
688
- Footer: StyledDialog.Footer,
689
- Close: StyledDialog.Close
690
- });
691
694
  }
692
695
 
693
696
  // src/components/primitives/drawer.tsx
@@ -805,17 +808,30 @@ function createThemedDropdownMenu(styles) {
805
808
  });
806
809
  }
807
810
 
808
- // src/components/primitives/hover-card.ts
809
- import { HoverCard } from "@vertz/ui-primitives";
811
+ // src/components/primitives/hover-card.tsx
812
+ import { ComposedHoverCard } from "@vertz/ui-primitives";
810
813
  function createThemedHoverCard(styles) {
811
- return function themedHoverCard(options) {
812
- const result = HoverCard.Root({
813
- ...options,
814
- positioning: { placement: "bottom", portal: true }
814
+ function HoverCardRoot({
815
+ children,
816
+ openDelay,
817
+ closeDelay,
818
+ onOpenChange
819
+ }) {
820
+ return ComposedHoverCard({
821
+ children,
822
+ openDelay,
823
+ closeDelay,
824
+ onOpenChange,
825
+ positioning: { placement: "bottom", portal: true },
826
+ classes: {
827
+ content: styles.content
828
+ }
815
829
  });
816
- result.content.classList.add(styles.content);
817
- return result;
818
- };
830
+ }
831
+ return Object.assign(HoverCardRoot, {
832
+ Trigger: ComposedHoverCard.Trigger,
833
+ Content: ComposedHoverCard.Content
834
+ });
819
835
  }
820
836
 
821
837
  // src/components/primitives/menubar.ts
@@ -910,7 +926,8 @@ function createThemedRadioGroup(styles) {
910
926
  const StyledRadioGroup = withStyles13(ComposedRadioGroup, {
911
927
  root: styles.root,
912
928
  item: styles.item,
913
- indicator: styles.indicator
929
+ indicator: styles.indicator,
930
+ indicatorIcon: styles.indicatorIcon
914
931
  });
915
932
  function RadioGroupRoot(props) {
916
933
  return StyledRadioGroup(props);
@@ -920,44 +937,47 @@ function createThemedRadioGroup(styles) {
920
937
  });
921
938
  }
922
939
 
923
- // src/components/primitives/resizable-panel.ts
924
- import { ResizablePanel } from "@vertz/ui-primitives";
940
+ // src/components/primitives/resizable-panel.tsx
941
+ import { ComposedResizablePanel } from "@vertz/ui-primitives";
925
942
  function createThemedResizablePanel(styles) {
926
- return function themedResizablePanel(options) {
927
- const result = ResizablePanel.Root(options);
928
- result.root.classList.add(styles.root);
929
- const originalPanel = result.Panel;
930
- const originalHandle = result.Handle;
931
- return {
932
- root: result.root,
933
- state: result.state,
934
- Panel: (panelOptions) => {
935
- const panel = originalPanel(panelOptions);
936
- panel.classList.add(styles.panel);
937
- return panel;
938
- },
939
- Handle: () => {
940
- const handle = originalHandle();
941
- handle.classList.add(styles.handle);
942
- return handle;
943
+ function ResizablePanelRoot({
944
+ children,
945
+ orientation,
946
+ onResize
947
+ }) {
948
+ return ComposedResizablePanel({
949
+ children,
950
+ orientation,
951
+ onResize,
952
+ classes: {
953
+ root: styles.root,
954
+ panel: styles.panel,
955
+ handle: styles.handle
943
956
  }
944
- };
945
- };
957
+ });
958
+ }
959
+ return Object.assign(ResizablePanelRoot, {
960
+ Panel: ComposedResizablePanel.Panel,
961
+ Handle: ComposedResizablePanel.Handle
962
+ });
946
963
  }
947
964
 
948
- // src/components/primitives/scroll-area.ts
949
- import { ScrollArea } from "@vertz/ui-primitives";
965
+ // src/components/primitives/scroll-area.tsx
966
+ import { ComposedScrollArea } from "@vertz/ui-primitives";
950
967
  function createThemedScrollArea(styles) {
951
- return function themedScrollArea(options) {
952
- const result = ScrollArea.Root(options);
953
- result.root.classList.add(styles.root);
954
- result.viewport.classList.add(styles.viewport);
955
- result.scrollbarY.classList.add(styles.scrollbar);
956
- result.thumbY.classList.add(styles.thumb);
957
- result.scrollbarX.classList.add(styles.scrollbar);
958
- result.thumbX.classList.add(styles.thumb);
959
- return result;
960
- };
968
+ function ScrollAreaRoot({ children, orientation }) {
969
+ return ComposedScrollArea({
970
+ children,
971
+ orientation,
972
+ classes: {
973
+ root: styles.root,
974
+ viewport: styles.viewport,
975
+ scrollbar: styles.scrollbar,
976
+ thumb: styles.thumb
977
+ }
978
+ });
979
+ }
980
+ return ScrollAreaRoot;
961
981
  }
962
982
 
963
983
  // src/components/primitives/select.ts
@@ -1112,26 +1132,25 @@ function createThemedToggle(styles) {
1112
1132
  };
1113
1133
  }
1114
1134
 
1115
- // src/components/primitives/toggle-group.ts
1116
- import { ToggleGroup } from "@vertz/ui-primitives";
1135
+ // src/components/primitives/toggle-group.tsx
1136
+ import { ComposedToggleGroup, withStyles as withStyles18 } from "@vertz/ui-primitives";
1117
1137
  function createThemedToggleGroup(styles) {
1118
- return function themedToggleGroup(options) {
1119
- const result = ToggleGroup.Root(options);
1120
- result.root.classList.add(styles.root);
1121
- const originalItem = result.Item;
1122
- result.Item = (value) => {
1123
- const item = originalItem(value);
1124
- item.classList.add(styles.item);
1125
- return item;
1126
- };
1127
- return result;
1128
- };
1138
+ const StyledToggleGroup = withStyles18(ComposedToggleGroup, {
1139
+ root: styles.root,
1140
+ item: styles.item
1141
+ });
1142
+ function ToggleGroupRoot(props) {
1143
+ return StyledToggleGroup(props);
1144
+ }
1145
+ return Object.assign(ToggleGroupRoot, {
1146
+ Item: ComposedToggleGroup.Item
1147
+ });
1129
1148
  }
1130
1149
 
1131
1150
  // src/components/primitives/tooltip.ts
1132
- import { ComposedTooltip, withStyles as withStyles18 } from "@vertz/ui-primitives";
1151
+ import { ComposedTooltip, withStyles as withStyles19 } from "@vertz/ui-primitives";
1133
1152
  function createThemedTooltip(styles) {
1134
- const StyledTooltip = withStyles18(ComposedTooltip, {
1153
+ const StyledTooltip = withStyles19(ComposedTooltip, {
1135
1154
  content: styles.content
1136
1155
  });
1137
1156
  function TooltipRoot({ children, delay }) {
@@ -1145,10 +1164,17 @@ function createThemedTooltip(styles) {
1145
1164
 
1146
1165
  // src/components/separator.ts
1147
1166
  function createSeparatorComponent(separatorStyles) {
1148
- return function Separator({ className, class: classProp }) {
1167
+ return function Separator({
1168
+ orientation = "horizontal",
1169
+ className,
1170
+ class: classProp
1171
+ }) {
1149
1172
  const effectiveClass = className ?? classProp;
1173
+ const orientationClass = orientation === "vertical" ? separatorStyles.vertical : separatorStyles.horizontal;
1150
1174
  const el = document.createElement("hr");
1151
- el.className = [separatorStyles.base, effectiveClass].filter(Boolean).join(" ");
1175
+ el.className = [separatorStyles.base, orientationClass, effectiveClass].filter(Boolean).join(" ");
1176
+ el.setAttribute("role", "separator");
1177
+ el.setAttribute("aria-orientation", orientation);
1152
1178
  return el;
1153
1179
  };
1154
1180
  }
@@ -1354,6 +1380,12 @@ function createAccordionStyles() {
1354
1380
  },
1355
1381
  {
1356
1382
  '&[data-state="closed"]': [animationDecl(`${accordionUp} 200ms ease-out forwards`)]
1383
+ },
1384
+ {
1385
+ '& [data-part="content-inner"]': {
1386
+ "padding-bottom": "1rem",
1387
+ "padding-top": "0"
1388
+ }
1357
1389
  }
1358
1390
  ]
1359
1391
  });
@@ -1424,8 +1456,6 @@ function createAlertDialogStyles() {
1424
1456
  }
1425
1457
  ],
1426
1458
  alertDialogPanel: [
1427
- "fixed",
1428
- "z:50",
1429
1459
  "bg:background",
1430
1460
  "gap:4",
1431
1461
  {
@@ -1436,11 +1466,24 @@ function createAlertDialogStyles() {
1436
1466
  "box-shadow": "0 0 0 1px color-mix(in oklch, var(--color-foreground) 10%, transparent)",
1437
1467
  "border-radius": "0.75rem",
1438
1468
  padding: "1rem",
1439
- inset: "0",
1440
1469
  margin: "auto",
1441
1470
  height: "fit-content",
1471
+ outline: "none",
1472
+ border: "none",
1442
1473
  "container-type": "inline-size"
1443
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
+ },
1444
1487
  "@media (min-width: 640px)": { "max-width": "24rem" }
1445
1488
  },
1446
1489
  {
@@ -2132,8 +2175,6 @@ function createDialogStyles() {
2132
2175
  }
2133
2176
  ],
2134
2177
  dialogPanel: [
2135
- "fixed",
2136
- "z:50",
2137
2178
  "bg:background",
2138
2179
  "gap:4",
2139
2180
  {
@@ -2145,12 +2186,24 @@ function createDialogStyles() {
2145
2186
  "border-radius": "0.75rem",
2146
2187
  padding: "1rem",
2147
2188
  "font-size": "0.875rem",
2148
- inset: "0",
2149
2189
  margin: "auto",
2150
2190
  height: "fit-content",
2151
2191
  outline: "none",
2192
+ border: "none",
2152
2193
  "container-type": "inline-size"
2153
2194
  },
2195
+ "&:not([open])": { display: "none" },
2196
+ "&::backdrop": {
2197
+ "background-color": "oklch(0 0 0 / 10%)",
2198
+ "backdrop-filter": "blur(4px)",
2199
+ "-webkit-backdrop-filter": "blur(4px)"
2200
+ },
2201
+ '&[data-state="open"]::backdrop': {
2202
+ animation: "vz-fade-in 100ms ease-out forwards"
2203
+ },
2204
+ '&[data-state="closed"]::backdrop': {
2205
+ animation: "vz-fade-out 100ms ease-out forwards"
2206
+ },
2154
2207
  "@media (min-width: 640px)": { "max-width": "24rem" }
2155
2208
  },
2156
2209
  {
@@ -2402,6 +2455,7 @@ function createDropdownMenuStyles() {
2402
2455
  "bg:popover",
2403
2456
  "text:popover-foreground",
2404
2457
  "rounded:lg",
2458
+ "w:fit",
2405
2459
  "p:1",
2406
2460
  {
2407
2461
  "&": {
@@ -2787,6 +2841,7 @@ function createPopoverStyles() {
2787
2841
  "bg:popover",
2788
2842
  "text:popover-foreground",
2789
2843
  "rounded:lg",
2844
+ "w:fit",
2790
2845
  "flex",
2791
2846
  "flex-col",
2792
2847
  "gap:2.5",
@@ -3031,7 +3086,15 @@ function createSelectStyles() {
3031
3086
  focusRing11,
3032
3087
  { "&:disabled": ["pointer-events-none", "opacity:0.5"] },
3033
3088
  { '&[data-state="open"]': ["border:ring"] },
3034
- { [DARK]: [bgOpacity("input", 30)] }
3089
+ { [DARK]: [bgOpacity("input", 30)] },
3090
+ {
3091
+ '& [data-part="chevron"]': {
3092
+ opacity: "0.5",
3093
+ "flex-shrink": "0",
3094
+ display: "flex",
3095
+ "align-items": "center"
3096
+ }
3097
+ }
3035
3098
  ],
3036
3099
  selectContent: [
3037
3100
  "z:50",
@@ -3203,7 +3266,24 @@ function createSheetStyles() {
3203
3266
  "&": {
3204
3267
  inset: "0 auto 0 0",
3205
3268
  width: "75%",
3206
- "max-width": "24rem"
3269
+ "max-width": "24rem",
3270
+ height: "100dvh",
3271
+ "max-height": "none",
3272
+ margin: "0",
3273
+ outline: "none",
3274
+ border: "none"
3275
+ },
3276
+ "&:not([open])": { display: "none" },
3277
+ "&::backdrop": {
3278
+ "background-color": "oklch(0 0 0 / 10%)",
3279
+ "backdrop-filter": "blur(4px)",
3280
+ "-webkit-backdrop-filter": "blur(4px)"
3281
+ },
3282
+ '&[data-state="open"]::backdrop': {
3283
+ animation: "vz-fade-in 100ms ease-out forwards"
3284
+ },
3285
+ '&[data-state="closed"]::backdrop': {
3286
+ animation: "vz-fade-out 300ms ease-out forwards"
3207
3287
  }
3208
3288
  },
3209
3289
  {
@@ -3220,7 +3300,24 @@ function createSheetStyles() {
3220
3300
  "&": {
3221
3301
  inset: "0 0 0 auto",
3222
3302
  width: "75%",
3223
- "max-width": "24rem"
3303
+ "max-width": "24rem",
3304
+ height: "100dvh",
3305
+ "max-height": "none",
3306
+ margin: "0",
3307
+ outline: "none",
3308
+ border: "none"
3309
+ },
3310
+ "&:not([open])": { display: "none" },
3311
+ "&::backdrop": {
3312
+ "background-color": "oklch(0 0 0 / 10%)",
3313
+ "backdrop-filter": "blur(4px)",
3314
+ "-webkit-backdrop-filter": "blur(4px)"
3315
+ },
3316
+ '&[data-state="open"]::backdrop': {
3317
+ animation: "vz-fade-in 100ms ease-out forwards"
3318
+ },
3319
+ '&[data-state="closed"]::backdrop': {
3320
+ animation: "vz-fade-out 300ms ease-out forwards"
3224
3321
  }
3225
3322
  },
3226
3323
  {
@@ -3234,7 +3331,26 @@ function createSheetStyles() {
3234
3331
  ...PANEL_BASE2,
3235
3332
  "border-b:1",
3236
3333
  {
3237
- "&": { inset: "0 0 auto 0" }
3334
+ "&": {
3335
+ inset: "0 0 auto 0",
3336
+ width: "100dvw",
3337
+ "max-width": "none",
3338
+ margin: "0",
3339
+ outline: "none",
3340
+ border: "none"
3341
+ },
3342
+ "&:not([open])": { display: "none" },
3343
+ "&::backdrop": {
3344
+ "background-color": "oklch(0 0 0 / 10%)",
3345
+ "backdrop-filter": "blur(4px)",
3346
+ "-webkit-backdrop-filter": "blur(4px)"
3347
+ },
3348
+ '&[data-state="open"]::backdrop': {
3349
+ animation: "vz-fade-in 100ms ease-out forwards"
3350
+ },
3351
+ '&[data-state="closed"]::backdrop': {
3352
+ animation: "vz-fade-out 300ms ease-out forwards"
3353
+ }
3238
3354
  },
3239
3355
  {
3240
3356
  '&[data-state="open"]': [animationDecl("vz-slide-in-from-top 300ms ease-out forwards")]
@@ -3247,7 +3363,26 @@ function createSheetStyles() {
3247
3363
  ...PANEL_BASE2,
3248
3364
  "border-t:1",
3249
3365
  {
3250
- "&": { inset: "auto 0 0 0" }
3366
+ "&": {
3367
+ inset: "auto 0 0 0",
3368
+ width: "100dvw",
3369
+ "max-width": "none",
3370
+ margin: "0",
3371
+ outline: "none",
3372
+ border: "none"
3373
+ },
3374
+ "&:not([open])": { display: "none" },
3375
+ "&::backdrop": {
3376
+ "background-color": "oklch(0 0 0 / 10%)",
3377
+ "backdrop-filter": "blur(4px)",
3378
+ "-webkit-backdrop-filter": "blur(4px)"
3379
+ },
3380
+ '&[data-state="open"]::backdrop': {
3381
+ animation: "vz-fade-in 100ms ease-out forwards"
3382
+ },
3383
+ '&[data-state="closed"]::backdrop': {
3384
+ animation: "vz-fade-out 300ms ease-out forwards"
3385
+ }
3251
3386
  },
3252
3387
  {
3253
3388
  '&[data-state="open"]': [animationDecl("vz-slide-in-from-bottom 300ms ease-out forwards")]
@@ -4011,18 +4146,18 @@ function configureTheme(config) {
4011
4146
  Sheet: createThemedSheet(sheetStyles),
4012
4147
  Calendar: createThemedCalendar(calendarStyles),
4013
4148
  Carousel: createThemedCarousel(carouselStyles),
4014
- collapsible: createThemedCollapsible(collapsibleStyles),
4149
+ Collapsible: createThemedCollapsible(collapsibleStyles),
4015
4150
  Command: createThemedCommand(commandStyles),
4016
4151
  ContextMenu: createThemedContextMenu(contextMenuStyles),
4017
- datePicker: createThemedDatePicker(datePickerStyles),
4152
+ DatePicker: createThemedDatePicker(datePickerStyles, calendarStyles),
4018
4153
  Drawer: createThemedDrawer(drawerStyles),
4019
- hoverCard: createThemedHoverCard(hoverCardStyles),
4154
+ HoverCard: createThemedHoverCard(hoverCardStyles),
4020
4155
  Menubar: createThemedMenubar(menubarStyles),
4021
4156
  NavigationMenu: createThemedNavigationMenu(navigationMenuStyles),
4022
- resizablePanel: createThemedResizablePanel(resizablePanelStyles),
4023
- scrollArea: createThemedScrollArea(scrollAreaStyles),
4157
+ ResizablePanel: createThemedResizablePanel(resizablePanelStyles),
4158
+ ScrollArea: createThemedScrollArea(scrollAreaStyles),
4024
4159
  Toggle: createThemedToggle(toggleStyles),
4025
- toggleGroup: createThemedToggleGroup(toggleGroupStyles)
4160
+ ToggleGroup: createThemedToggleGroup(toggleGroupStyles)
4026
4161
  }
4027
4162
  };
4028
4163
  return { theme, globals, styles, components };
@@ -379,6 +379,9 @@ function configureThemeBase(config) {
379
379
  color: "var(--color-foreground)",
380
380
  backgroundColor: "var(--color-background)"
381
381
  },
382
+ "dialog:not([open])": {
383
+ display: "none"
384
+ },
382
385
  'input[type="checkbox"]': {
383
386
  appearance: "none",
384
387
  width: "1rem",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertz/theme-shadcn",
3
- "version": "0.2.21",
3
+ "version": "0.2.22",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Shadcn-inspired theme for Vertz — pre-built style definitions using variants() and css()",
@@ -39,12 +39,12 @@
39
39
  "typecheck": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "@vertz/ui": "^0.2.20",
43
- "@vertz/ui-primitives": "^0.2.20"
42
+ "@vertz/ui": "^0.2.21",
43
+ "@vertz/ui-primitives": "^0.2.21"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@happy-dom/global-registrator": "^20.7.0",
47
- "@vertz/ui-compiler": "^0.2.20",
47
+ "@vertz/ui-compiler": "^0.2.21",
48
48
  "bunup": "^0.16.31",
49
49
  "happy-dom": "^20.7.0",
50
50
  "typescript": "^5.7.0"