@cloudvoyant/helix 0.13.0 → 0.14.0-rc.202608291122.fb86622

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.cjs CHANGED
@@ -54,6 +54,17 @@ __export(index_exports, {
54
54
  comboboxPositionerBase: () => comboboxPositionerBase,
55
55
  comboboxTriggerBase: () => comboboxTriggerBase,
56
56
  containerBase: () => containerBase,
57
+ dialogBackdropBase: () => dialogBackdropBase,
58
+ dialogCloseTriggerBase: () => dialogCloseTriggerBase,
59
+ dialogContentBase: () => dialogContentBase,
60
+ dialogDescriptionBase: () => dialogDescriptionBase,
61
+ dialogFooterBase: () => dialogFooterBase,
62
+ dialogFooterStickyBase: () => dialogFooterStickyBase,
63
+ dialogFullscreenContentBase: () => dialogFullscreenContentBase,
64
+ dialogHeaderBase: () => dialogHeaderBase,
65
+ dialogHeaderStickyBase: () => dialogHeaderStickyBase,
66
+ dialogPositionerBase: () => dialogPositionerBase,
67
+ dialogTitleBase: () => dialogTitleBase,
57
68
  fieldErrorBase: () => fieldErrorBase,
58
69
  fieldHelperBase: () => fieldHelperBase,
59
70
  fieldLabelBase: () => fieldLabelBase,
@@ -99,10 +110,24 @@ __export(index_exports, {
99
110
  numberInputInputBase: () => numberInputInputBase,
100
111
  numberInputRootBase: () => numberInputRootBase,
101
112
  numberInputTriggerBase: () => numberInputTriggerBase,
113
+ pageContentBase: () => pageContentBase,
114
+ pageFooterBase: () => pageFooterBase,
115
+ pageGutterAreaBase: () => pageGutterAreaBase,
116
+ pageGutterContentVariants: () => pageGutterContentVariants,
117
+ pageGutterVariants: () => pageGutterVariants,
118
+ pageSectionBase: () => pageSectionBase,
119
+ pageVariants: () => pageVariants,
102
120
  paginationEllipsisBase: () => paginationEllipsisBase,
103
121
  paginationItemBase: () => paginationItemBase,
104
122
  paginationRootBase: () => paginationRootBase,
105
123
  paginationTriggerBase: () => paginationTriggerBase,
124
+ popoverArrowBase: () => popoverArrowBase,
125
+ popoverCloseTriggerBase: () => popoverCloseTriggerBase,
126
+ popoverContentBase: () => popoverContentBase,
127
+ popoverDescriptionBase: () => popoverDescriptionBase,
128
+ popoverIndicatorBase: () => popoverIndicatorBase,
129
+ popoverPositionerBase: () => popoverPositionerBase,
130
+ popoverTitleBase: () => popoverTitleBase,
106
131
  rowBase: () => rowBase,
107
132
  scrollContentBase: () => scrollContentBase,
108
133
  scrollCornerBase: () => scrollCornerBase,
@@ -149,7 +174,20 @@ __export(index_exports, {
149
174
  tagsInputRootBase: () => tagsInputRootBase,
150
175
  textareaBase: () => textareaBase,
151
176
  toggleButtonVariants: () => toggleButtonVariants,
152
- vstackBase: () => vstackBase
177
+ tooltipArrowBase: () => tooltipArrowBase,
178
+ tooltipContentBase: () => tooltipContentBase,
179
+ tooltipPositionerBase: () => tooltipPositionerBase,
180
+ vstackBase: () => vstackBase,
181
+ windowBodyBase: () => windowBodyBase,
182
+ windowCloseTriggerBase: () => windowCloseTriggerBase,
183
+ windowContentBase: () => windowContentBase,
184
+ windowControlBase: () => windowControlBase,
185
+ windowDragTriggerBase: () => windowDragTriggerBase,
186
+ windowHeaderBase: () => windowHeaderBase,
187
+ windowPositionerBase: () => windowPositionerBase,
188
+ windowResizeTriggerBase: () => windowResizeTriggerBase,
189
+ windowStageTriggerBase: () => windowStageTriggerBase,
190
+ windowTitleBase: () => windowTitleBase
153
191
  });
154
192
  module.exports = __toCommonJS(index_exports);
155
193
 
@@ -237,6 +275,45 @@ var toggleButtonVariants = (0, import_class_variance_authority2.cva)(
237
275
  }
238
276
  );
239
277
 
278
+ // src/tooltip.ts
279
+ var tooltipPositionerBase = "z-50 [--z-index:50]!";
280
+ var tooltipArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
281
+ var tooltipContentBase = "relative z-50 max-w-xs rounded-md border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md outline-none";
282
+
283
+ // src/popover.ts
284
+ var popoverPositionerBase = "z-50 [--z-index:50]!";
285
+ var popoverArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
286
+ var popoverContentBase = "relative z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none";
287
+ var popoverTitleBase = "text-sm font-semibold leading-none";
288
+ var popoverDescriptionBase = "text-sm text-muted-foreground";
289
+ var popoverCloseTriggerBase = "absolute end-3.5 top-3.5 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
290
+ var popoverIndicatorBase = "transition-transform data-[state=open]:rotate-180";
291
+
292
+ // src/dialog.ts
293
+ var dialogBackdropBase = "bg-black/50";
294
+ var dialogPositionerBase = "fixed inset-0 z-50 [--z-index:50]! flex items-start justify-center overflow-y-auto p-4";
295
+ var dialogContentBase = "relative z-50 my-auto grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg sm:rounded-lg outline-none";
296
+ var dialogTitleBase = "text-lg font-semibold leading-none tracking-tight";
297
+ var dialogDescriptionBase = "text-sm text-muted-foreground";
298
+ var dialogHeaderBase = "flex flex-col gap-2";
299
+ var dialogFooterBase = "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end";
300
+ var dialogHeaderStickyBase = "sticky top-0 z-10 bg-background";
301
+ var dialogFooterStickyBase = "sticky bottom-0 z-10 bg-background";
302
+ var dialogFullscreenContentBase = "h-dvh w-full max-w-none rounded-none border-0 p-0 sm:rounded-none";
303
+ var dialogCloseTriggerBase = "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
304
+
305
+ // src/window.ts
306
+ var windowPositionerBase = "z-50 [--z-index:50]!";
307
+ var windowContentBase = "relative z-50 flex w-80 flex-col overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-lg";
308
+ var windowDragTriggerBase = "flex flex-col";
309
+ var windowHeaderBase = "flex cursor-move items-center justify-between gap-2 border-b px-4 py-2.5";
310
+ var windowTitleBase = "text-sm font-semibold leading-none";
311
+ var windowControlBase = "flex items-center gap-1";
312
+ var windowStageTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
313
+ var windowCloseTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
314
+ var windowBodyBase = "flex flex-1 flex-col gap-4 overflow-auto p-4 text-sm";
315
+ var windowResizeTriggerBase = "absolute bottom-0 right-0 size-4 cursor-se-resize";
316
+
240
317
  // src/badge.ts
241
318
  var import_class_variance_authority3 = require("class-variance-authority");
242
319
  var fills2 = {
@@ -409,6 +486,53 @@ var scrollScrollbarBase = "relative m-[var(--scrollbar-margin)] flex touch-none
409
486
  var scrollThumbBase = "rounded-[inherit] bg-border/40 transition-colors data-[orientation=vertical]:w-full data-[orientation=horizontal]:h-full";
410
487
  var scrollCornerBase = "m-[var(--scrollbar-margin)] bg-muted opacity-0 transition-opacity duration-150 data-[hover]:opacity-100";
411
488
 
489
+ // src/page.ts
490
+ var import_class_variance_authority6 = require("class-variance-authority");
491
+
492
+ // src/cn.ts
493
+ var import_clsx = require("clsx");
494
+ var import_tailwind_merge = require("tailwind-merge");
495
+ function cn(...inputs) {
496
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
497
+ }
498
+
499
+ // src/page.ts
500
+ var pageVariants = (0, import_class_variance_authority6.cva)("min-h-svh w-full", {
501
+ variants: {
502
+ variant: {
503
+ default: 'grid grid-cols-[auto_minmax(0,1fr)_auto] grid-rows-[minmax(100svh,1fr)_auto] [grid-template-areas:"left_content_right"_"footer_footer_footer"]',
504
+ landing: colBase
505
+ }
506
+ },
507
+ defaultVariants: { variant: "default" }
508
+ });
509
+ var pageGutterAreaBase = "h-full min-w-0 [grid-area:left]";
510
+ var pageGutterVariants = (0, import_class_variance_authority6.cva)(
511
+ "sticky top-0 h-svh w-4 shrink-0 overflow-hidden p-0.5 md:w-56 md:p-2 lg:w-72 lg:p-3",
512
+ {
513
+ variants: {
514
+ side: {
515
+ left: "",
516
+ right: ""
517
+ }
518
+ },
519
+ defaultVariants: { side: "left" }
520
+ }
521
+ );
522
+ var pageGutterContentVariants = (0, import_class_variance_authority6.cva)("hidden h-full w-full flex-col md:flex", {
523
+ variants: {
524
+ align: {
525
+ start: "justify-start",
526
+ center: "justify-center",
527
+ end: "justify-end"
528
+ }
529
+ },
530
+ defaultVariants: { align: "start" }
531
+ });
532
+ var pageContentBase = "min-w-0 [grid-area:content]";
533
+ var pageFooterBase = "w-full shrink-0 [grid-area:footer]";
534
+ var pageSectionBase = cn(colBase, "min-h-svh w-full");
535
+
412
536
  // src/splitter.ts
413
537
  var splitterRootBase = "";
414
538
  var splitterPanelBase = "";
@@ -417,12 +541,12 @@ var splitterResizeTriggerSeparatorBase = "absolute bg-border group-data-[orienta
417
541
  var splitterResizeTriggerIndicatorBase = "relative z-10 rounded-full border border-border bg-muted shadow-xs data-[dragging]:bg-muted-foreground data-[focus]:bg-accent data-[disabled]:hidden data-[orientation=horizontal]:h-6 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-6";
418
542
 
419
543
  // src/sidebar.ts
420
- var import_class_variance_authority6 = require("class-variance-authority");
544
+ var import_class_variance_authority7 = require("class-variance-authority");
421
545
  var SIDEBAR_WIDTH = "16rem";
422
546
  var SIDEBAR_WIDTH_MOBILE = "18rem";
423
547
  var SIDEBAR_WIDTH_ICON = "3rem";
424
548
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
425
- var sidebarMenuButtonVariants = (0, import_class_variance_authority6.cva)(
549
+ var sidebarMenuButtonVariants = (0, import_class_variance_authority7.cva)(
426
550
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
427
551
  {
428
552
  variants: {
@@ -475,11 +599,11 @@ var sidebarStyles = {
475
599
  };
476
600
 
477
601
  // src/navbar-menu.ts
478
- var import_class_variance_authority7 = require("class-variance-authority");
602
+ var import_class_variance_authority8 = require("class-variance-authority");
479
603
  var navbarMenuRootBase = "group/nav-menu relative flex max-w-max flex-1 items-center justify-center";
480
604
  var navbarMenuListBase = "group flex flex-1 list-none items-center justify-center gap-1";
481
605
  var navbarMenuItemBase = "relative";
482
- var navbarMenuTriggerStyle = (0, import_class_variance_authority7.cva)(
606
+ var navbarMenuTriggerStyle = (0, import_class_variance_authority8.cva)(
483
607
  "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-3 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent",
484
608
  {
485
609
  variants: {
@@ -504,10 +628,10 @@ var navbarMenuViewportBase = "absolute left-(--viewport-x) top-0 mt-1.5 h-(--vie
504
628
  var navbarMenuIndicatorBase = "data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-50 flex h-1.5 items-end justify-center overflow-hidden";
505
629
 
506
630
  // src/tabs.ts
507
- var import_class_variance_authority8 = require("class-variance-authority");
631
+ var import_class_variance_authority9 = require("class-variance-authority");
508
632
  var tabsRootBase = "flex flex-col gap-2 data-[orientation=vertical]:flex-row";
509
633
  var tabsListBase = "relative z-0 flex w-fit items-center justify-center gap-x-0.5 text-muted-foreground data-[orientation=vertical]:flex-col";
510
- var tabsListVariants = (0, import_class_variance_authority8.cva)("", {
634
+ var tabsListVariants = (0, import_class_variance_authority9.cva)("", {
511
635
  variants: {
512
636
  variant: {
513
637
  default: "rounded-lg",
@@ -519,7 +643,7 @@ var tabsListVariants = (0, import_class_variance_authority8.cva)("", {
519
643
  }
520
644
  });
521
645
  var tabsIndicatorBase = "absolute inset-x-0 bottom-0 h-(--height) w-(--width) transition-[width,translate] duration-200 ease-in-out motion-reduce:transition-none";
522
- var tabsIndicatorVariants = (0, import_class_variance_authority8.cva)("", {
646
+ var tabsIndicatorVariants = (0, import_class_variance_authority9.cva)("", {
523
647
  variants: {
524
648
  variant: {
525
649
  default: "-z-1 rounded-lg bg-accent",
@@ -540,8 +664,8 @@ var paginationItemBase = "inline-flex h-9 min-w-9 items-center justify-center wh
540
664
  var paginationEllipsisBase = "flex h-8 w-12 items-end justify-center text-muted-foreground pointer-events-none select-none [&_svg]:size-4";
541
665
 
542
666
  // src/navbar.ts
543
- var import_class_variance_authority9 = require("class-variance-authority");
544
- var navbarVariants = (0, import_class_variance_authority9.cva)(
667
+ var import_class_variance_authority10 = require("class-variance-authority");
668
+ var navbarVariants = (0, import_class_variance_authority10.cva)(
545
669
  "w-full bg-background/80 backdrop-blur transition-[box-shadow,height,translate] duration-300",
546
670
  {
547
671
  variants: {
@@ -563,7 +687,7 @@ var navbarVariants = (0, import_class_variance_authority9.cva)(
563
687
  }
564
688
  );
565
689
  var navbarContainerBase = "flex items-center justify-between transition-[height,gap,padding] duration-300";
566
- var navbarDensityVariants = (0, import_class_variance_authority9.cva)("", {
690
+ var navbarDensityVariants = (0, import_class_variance_authority10.cva)("", {
567
691
  variants: {
568
692
  density: {
569
693
  relaxed: "h-16 gap-4 px-4 md:px-6",
@@ -577,7 +701,7 @@ var navbarDensityVariants = (0, import_class_variance_authority9.cva)("", {
577
701
  var navbarShrunkBase = "h-12";
578
702
  var navbarBrandBase = "flex shrink-0 items-center gap-2";
579
703
  var navbarMenuBase = "hidden items-center md:flex";
580
- var navbarMenuPlacementVariants = (0, import_class_variance_authority9.cva)("", {
704
+ var navbarMenuPlacementVariants = (0, import_class_variance_authority10.cva)("", {
581
705
  variants: {
582
706
  placement: {
583
707
  left: "justify-start",
@@ -590,7 +714,7 @@ var navbarMenuPlacementVariants = (0, import_class_variance_authority9.cva)("",
590
714
  }
591
715
  });
592
716
  var navbarActionsBase = "ml-auto hidden items-center gap-2 md:flex";
593
- var navbarTriggerVariants = (0, import_class_variance_authority9.cva)(
717
+ var navbarTriggerVariants = (0, import_class_variance_authority10.cva)(
594
718
  "inline-flex h-9 w-9 items-center justify-center text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
595
719
  {
596
720
  variants: {
@@ -669,13 +793,6 @@ var THEMES = [
669
793
  ];
670
794
  var THEME_NAMES = THEMES.map((t) => t.name);
671
795
 
672
- // src/cn.ts
673
- var import_clsx = require("clsx");
674
- var import_tailwind_merge = require("tailwind-merge");
675
- function cn(...inputs) {
676
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
677
- }
678
-
679
796
  // src/field.ts
680
797
  var fieldRootBase = "flex w-full flex-col gap-2 data-invalid:text-destructive";
681
798
  var fieldLabelBase = "flex w-fit select-none items-center gap-1 text-sm font-medium leading-none text-foreground";
@@ -688,8 +805,8 @@ var fieldsetHelperBase = "text-sm text-muted-foreground";
688
805
  var fieldsetErrorBase = "text-sm text-destructive";
689
806
 
690
807
  // src/input.ts
691
- var import_class_variance_authority10 = require("class-variance-authority");
692
- var inputVariants = (0, import_class_variance_authority10.cva)(
808
+ var import_class_variance_authority11 = require("class-variance-authority");
809
+ var inputVariants = (0, import_class_variance_authority11.cva)(
693
810
  "flex w-full min-w-0 rounded-md border border-input bg-transparent px-3 text-sm shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/24 data-invalid:border-destructive data-invalid:ring-[3px] data-invalid:ring-destructive/24",
694
811
  {
695
812
  variants: {
@@ -715,8 +832,8 @@ var numberInputInputBase = "h-9 w-full min-w-0 flex-1 border-0 bg-transparent px
715
832
  var numberInputTriggerBase = "flex size-9 shrink-0 items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
716
833
 
717
834
  // src/checkbox.ts
718
- var import_class_variance_authority11 = require("class-variance-authority");
719
- var checkboxVariants = (0, import_class_variance_authority11.cva)(
835
+ var import_class_variance_authority12 = require("class-variance-authority");
836
+ var checkboxVariants = (0, import_class_variance_authority12.cva)(
720
837
  "relative inline-flex size-4 shrink-0 items-center justify-center rounded-sm border border-input bg-transparent shadow-xs transition-shadow focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 focus-visible:ring-offset-1 focus-visible:ring-offset-background data-invalid:border-destructive data-invalid:ring-[3px] data-invalid:ring-destructive/24 disabled:pointer-events-none disabled:opacity-50",
721
838
  {
722
839
  variants: {
@@ -736,8 +853,8 @@ var checkboxLabelBase = "select-none text-sm font-medium leading-none";
736
853
  var checkboxGroupBase = "flex flex-col gap-2";
737
854
 
738
855
  // src/switch.ts
739
- var import_class_variance_authority12 = require("class-variance-authority");
740
- var switchVariants = (0, import_class_variance_authority12.cva)(
856
+ var import_class_variance_authority13 = require("class-variance-authority");
857
+ var switchVariants = (0, import_class_variance_authority13.cva)(
741
858
  "inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input p-0.5 shadow-xs transition-colors outline-none data-[state=checked]:bg-primary data-invalid:border-destructive data-invalid:ring-[3px] data-invalid:ring-destructive/24 focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50",
742
859
  {
743
860
  variants: {
@@ -757,18 +874,18 @@ var switchThumbBase = "pointer-events-none block aspect-square h-full w-auto rou
757
874
  var switchLabelBase = "select-none text-sm font-medium leading-none";
758
875
 
759
876
  // src/select.ts
760
- var import_class_variance_authority13 = require("class-variance-authority");
877
+ var import_class_variance_authority14 = require("class-variance-authority");
761
878
  var selectTriggerBase = "flex w-fit cursor-default items-center gap-2 whitespace-nowrap data-[placeholder-shown]:text-muted-foreground data-[state=open]:border-ring data-[state=open]:ring-[3px] data-[state=open]:ring-ring/30 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground";
762
879
  var selectValueBase = "flex min-w-0 items-center gap-2 truncate";
763
880
  var selectIndicatorBase = "flex items-center justify-center text-muted-foreground";
764
881
  var selectClearTriggerBase = "flex items-center justify-center text-muted-foreground opacity-60 transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
765
- var selectPositionerBase = "z-50";
882
+ var selectPositionerBase = "z-50 [--z-index:50]!";
766
883
  var selectContentBase = "relative z-50 max-h-96 min-w-(--reference-width) overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
767
884
  var selectItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
768
885
  var selectItemBase = "relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 pe-8 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground";
769
886
  var selectItemTextBase = "flex w-full flex-1 items-center gap-2";
770
887
  var selectItemIndicatorBase = "absolute inset-y-0 end-2 flex items-center justify-center text-foreground";
771
- var nativeSelectVariants = (0, import_class_variance_authority13.cva)(
888
+ var nativeSelectVariants = (0, import_class_variance_authority14.cva)(
772
889
  "appearance-none w-full min-w-0 rounded-md border border-input bg-transparent pe-8 ps-2.5 text-sm shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/24",
773
890
  {
774
891
  variants: {
@@ -787,15 +904,15 @@ var nativeSelectWrapperBase = "relative w-fit [&_svg]:pointer-events-none [&_svg
787
904
  var nativeSelectIconBase = "pointer-events-none absolute inset-y-0 end-2.5 flex items-center justify-center text-muted-foreground";
788
905
 
789
906
  // src/combobox.ts
790
- var import_class_variance_authority14 = require("class-variance-authority");
907
+ var import_class_variance_authority15 = require("class-variance-authority");
791
908
  var comboboxControlBase = "relative flex w-full flex-wrap items-center gap-1";
792
909
  var comboboxInputBase = "pe-8";
793
910
  var comboboxTriggerBase = "absolute inset-y-0 end-1 flex w-8 items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
794
911
  var comboboxClearTriggerBase = "absolute inset-y-0 end-9 flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
795
- var comboboxPositionerBase = "z-50";
912
+ var comboboxPositionerBase = "z-50 [--z-index:50]!";
796
913
  var comboboxContentBase = "relative z-50 max-h-96 min-w-48 overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
797
914
  var comboboxItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
798
- var comboboxItemVariants = (0, import_class_variance_authority14.cva)(
915
+ var comboboxItemVariants = (0, import_class_variance_authority15.cva)(
799
916
  "relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground",
800
917
  {
801
918
  variants: {
@@ -858,6 +975,17 @@ var tagsInputClearTriggerBase = "ms-auto flex shrink-0 items-center justify-cent
858
975
  comboboxPositionerBase,
859
976
  comboboxTriggerBase,
860
977
  containerBase,
978
+ dialogBackdropBase,
979
+ dialogCloseTriggerBase,
980
+ dialogContentBase,
981
+ dialogDescriptionBase,
982
+ dialogFooterBase,
983
+ dialogFooterStickyBase,
984
+ dialogFullscreenContentBase,
985
+ dialogHeaderBase,
986
+ dialogHeaderStickyBase,
987
+ dialogPositionerBase,
988
+ dialogTitleBase,
861
989
  fieldErrorBase,
862
990
  fieldHelperBase,
863
991
  fieldLabelBase,
@@ -903,10 +1031,24 @@ var tagsInputClearTriggerBase = "ms-auto flex shrink-0 items-center justify-cent
903
1031
  numberInputInputBase,
904
1032
  numberInputRootBase,
905
1033
  numberInputTriggerBase,
1034
+ pageContentBase,
1035
+ pageFooterBase,
1036
+ pageGutterAreaBase,
1037
+ pageGutterContentVariants,
1038
+ pageGutterVariants,
1039
+ pageSectionBase,
1040
+ pageVariants,
906
1041
  paginationEllipsisBase,
907
1042
  paginationItemBase,
908
1043
  paginationRootBase,
909
1044
  paginationTriggerBase,
1045
+ popoverArrowBase,
1046
+ popoverCloseTriggerBase,
1047
+ popoverContentBase,
1048
+ popoverDescriptionBase,
1049
+ popoverIndicatorBase,
1050
+ popoverPositionerBase,
1051
+ popoverTitleBase,
910
1052
  rowBase,
911
1053
  scrollContentBase,
912
1054
  scrollCornerBase,
@@ -953,5 +1095,18 @@ var tagsInputClearTriggerBase = "ms-auto flex shrink-0 items-center justify-cent
953
1095
  tagsInputRootBase,
954
1096
  textareaBase,
955
1097
  toggleButtonVariants,
956
- vstackBase
1098
+ tooltipArrowBase,
1099
+ tooltipContentBase,
1100
+ tooltipPositionerBase,
1101
+ vstackBase,
1102
+ windowBodyBase,
1103
+ windowCloseTriggerBase,
1104
+ windowContentBase,
1105
+ windowControlBase,
1106
+ windowDragTriggerBase,
1107
+ windowHeaderBase,
1108
+ windowPositionerBase,
1109
+ windowResizeTriggerBase,
1110
+ windowStageTriggerBase,
1111
+ windowTitleBase
957
1112
  });
package/dist/index.d.cts CHANGED
@@ -26,6 +26,41 @@ interface ToggleButtonProps {
26
26
  className?: string;
27
27
  }
28
28
 
29
+ declare const tooltipPositionerBase = "z-50 [--z-index:50]!";
30
+ declare const tooltipArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
31
+ declare const tooltipContentBase = "relative z-50 max-w-xs rounded-md border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md outline-none";
32
+
33
+ declare const popoverPositionerBase = "z-50 [--z-index:50]!";
34
+ declare const popoverArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
35
+ declare const popoverContentBase = "relative z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none";
36
+ declare const popoverTitleBase = "text-sm font-semibold leading-none";
37
+ declare const popoverDescriptionBase = "text-sm text-muted-foreground";
38
+ declare const popoverCloseTriggerBase = "absolute end-3.5 top-3.5 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
39
+ declare const popoverIndicatorBase = "transition-transform data-[state=open]:rotate-180";
40
+
41
+ declare const dialogBackdropBase = "bg-black/50";
42
+ declare const dialogPositionerBase = "fixed inset-0 z-50 [--z-index:50]! flex items-start justify-center overflow-y-auto p-4";
43
+ declare const dialogContentBase = "relative z-50 my-auto grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg sm:rounded-lg outline-none";
44
+ declare const dialogTitleBase = "text-lg font-semibold leading-none tracking-tight";
45
+ declare const dialogDescriptionBase = "text-sm text-muted-foreground";
46
+ declare const dialogHeaderBase = "flex flex-col gap-2";
47
+ declare const dialogFooterBase = "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end";
48
+ declare const dialogHeaderStickyBase = "sticky top-0 z-10 bg-background";
49
+ declare const dialogFooterStickyBase = "sticky bottom-0 z-10 bg-background";
50
+ declare const dialogFullscreenContentBase = "h-dvh w-full max-w-none rounded-none border-0 p-0 sm:rounded-none";
51
+ declare const dialogCloseTriggerBase = "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
52
+
53
+ declare const windowPositionerBase = "z-50 [--z-index:50]!";
54
+ declare const windowContentBase = "relative z-50 flex w-80 flex-col overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-lg";
55
+ declare const windowDragTriggerBase = "flex flex-col";
56
+ declare const windowHeaderBase = "flex cursor-move items-center justify-between gap-2 border-b px-4 py-2.5";
57
+ declare const windowTitleBase = "text-sm font-semibold leading-none";
58
+ declare const windowControlBase = "flex items-center gap-1";
59
+ declare const windowStageTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
60
+ declare const windowCloseTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
61
+ declare const windowBodyBase = "flex flex-1 flex-col gap-4 overflow-auto p-4 text-sm";
62
+ declare const windowResizeTriggerBase = "absolute bottom-0 right-0 size-4 cursor-se-resize";
63
+
29
64
  declare const badgeVariants: (props?: ({
30
65
  variant?: "solid" | "outline" | "subtle" | "surface" | "plain" | null | undefined;
31
66
  color?: "primary" | "secondary" | "success" | "danger" | "warn" | "info" | null | undefined;
@@ -91,6 +126,23 @@ declare const scrollScrollbarBase = "relative m-[var(--scrollbar-margin)] flex t
91
126
  declare const scrollThumbBase = "rounded-[inherit] bg-border/40 transition-colors data-[orientation=vertical]:w-full data-[orientation=horizontal]:h-full";
92
127
  declare const scrollCornerBase = "m-[var(--scrollbar-margin)] bg-muted opacity-0 transition-opacity duration-150 data-[hover]:opacity-100";
93
128
 
129
+ declare const pageVariants: (props?: ({
130
+ variant?: "default" | "landing" | null | undefined;
131
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
132
+ declare const pageGutterAreaBase = "h-full min-w-0 [grid-area:left]";
133
+ declare const pageGutterVariants: (props?: ({
134
+ side?: "left" | "right" | null | undefined;
135
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
136
+ declare const pageGutterContentVariants: (props?: ({
137
+ align?: "start" | "center" | "end" | null | undefined;
138
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
139
+ declare const pageContentBase = "min-w-0 [grid-area:content]";
140
+ declare const pageFooterBase = "w-full shrink-0 [grid-area:footer]";
141
+ declare const pageSectionBase: string;
142
+ type PageVariants = VariantProps<typeof pageVariants>;
143
+ type PageGutterVariants = VariantProps<typeof pageGutterVariants>;
144
+ type PageGutterContentVariants = VariantProps<typeof pageGutterContentVariants>;
145
+
94
146
  /**
95
147
  * Intentionally empty: Ark UI sets `display`/`flex-direction` on the root and
96
148
  * the panel's `height`/`width: 100%`, `overflow`, and flex sizing inline.
@@ -203,7 +255,7 @@ declare const navbarShrunkBase = "h-12";
203
255
  declare const navbarBrandBase = "flex shrink-0 items-center gap-2";
204
256
  declare const navbarMenuBase = "hidden items-center md:flex";
205
257
  declare const navbarMenuPlacementVariants: (props?: ({
206
- placement?: "left" | "center" | "right" | null | undefined;
258
+ placement?: "left" | "right" | "center" | null | undefined;
207
259
  } & class_variance_authority_types.ClassProp) | undefined) => string;
208
260
  declare const navbarActionsBase = "ml-auto hidden items-center gap-2 md:flex";
209
261
  declare const navbarTriggerVariants: (props?: ({
@@ -290,7 +342,7 @@ declare const selectTriggerBase = "flex w-fit cursor-default items-center gap-2
290
342
  declare const selectValueBase = "flex min-w-0 items-center gap-2 truncate";
291
343
  declare const selectIndicatorBase = "flex items-center justify-center text-muted-foreground";
292
344
  declare const selectClearTriggerBase = "flex items-center justify-center text-muted-foreground opacity-60 transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
293
- declare const selectPositionerBase = "z-50";
345
+ declare const selectPositionerBase = "z-50 [--z-index:50]!";
294
346
  declare const selectContentBase = "relative z-50 max-h-96 min-w-(--reference-width) overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
295
347
  declare const selectItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
296
348
  declare const selectItemBase = "relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 pe-8 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground";
@@ -310,7 +362,7 @@ declare const comboboxControlBase = "relative flex w-full flex-wrap items-center
310
362
  declare const comboboxInputBase = "pe-8";
311
363
  declare const comboboxTriggerBase = "absolute inset-y-0 end-1 flex w-8 items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
312
364
  declare const comboboxClearTriggerBase = "absolute inset-y-0 end-9 flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
313
- declare const comboboxPositionerBase = "z-50";
365
+ declare const comboboxPositionerBase = "z-50 [--z-index:50]!";
314
366
  declare const comboboxContentBase = "relative z-50 max-h-96 min-w-48 overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
315
367
  declare const comboboxItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
316
368
  declare const comboboxItemVariants: (props?: ({
@@ -336,4 +388,4 @@ interface TagsInputProps {
336
388
  className?: string;
337
389
  }
338
390
 
339
- export { type BadgeProps, type BadgeVariants, type ButtonProps, type ButtonVariants, type CardCoverProps, type CardProps, type CardVariants, type CheckboxProps, type CheckboxVariants, type ComboboxItemVariants, type ComboboxProps, type InputProps, type InputVariants, type ItemProps, type ItemVariants, type NativeSelectVariants, type NavbarDensity, type NavbarMenuDensity, type NavbarMenuVariant, type NavbarVariant, type NumberInputProps, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, type SelectItemData, type SelectProps, type SidebarContextProps, type SidebarMenuButtonVariants, type SwitchProps, type SwitchVariants, THEMES, THEME_NAMES, type TabsIndicatorVariants, type TabsListVariants, type TagsInputProps, type TextareaProps, type ThemeMeta, type ToggleButtonProps, type ToggleButtonVariants, badgeVariants, buttonVariants, cardBodyBase, cardCoverVariants, cardDescriptionBase, cardFooterBase, cardHeaderBase, cardTitleBase, cardVariants, centerBase, checkboxGroupBase, checkboxIndicatorBase, checkboxLabelBase, checkboxVariants, cn, colBase, comboboxClearTriggerBase, comboboxContentBase, comboboxControlBase, comboboxEmptyBase, comboboxInputBase, comboboxItemGroupLabelBase, comboboxItemIndicatorBase, comboboxItemVariants, comboboxListBase, comboboxPositionerBase, comboboxTriggerBase, containerBase, fieldErrorBase, fieldHelperBase, fieldLabelBase, fieldRequiredIndicatorBase, fieldRootBase, fieldsetErrorBase, fieldsetHelperBase, fieldsetLegendBase, fieldsetRootBase, hstackBase, inputVariants, itemVariants, nativeSelectIconBase, nativeSelectVariants, nativeSelectWrapperBase, navbarActionsBase, navbarActivationAreaBase, navbarBrandBase, navbarContainerBase, navbarDensityVariants, navbarMenuBase, navbarMenuContentBase, navbarMenuIndicatorBase, navbarMenuItemBase, navbarMenuLinkBase, navbarMenuListBase, navbarMenuPlacementVariants, navbarMenuRootBase, navbarMenuTriggerStyle, navbarMenuViewportBase, navbarMenuViewportPositionerBase, navbarMobileActionsBase, navbarMobileBase, navbarMobileContentBase, navbarMobileHeaderBase, navbarMobileMenuBase, navbarMobileMenuContentBase, navbarMobileMenuTriggerBase, navbarShrunkBase, navbarTriggerVariants, navbarVariants, numberInputControlBase, numberInputInputBase, numberInputRootBase, numberInputTriggerBase, paginationEllipsisBase, paginationItemBase, paginationRootBase, paginationTriggerBase, rowBase, scrollContentBase, scrollCornerBase, scrollRootBase, scrollScrollbarBase, scrollThumbBase, scrollViewportBase, selectClearTriggerBase, selectContentBase, selectIndicatorBase, selectItemBase, selectItemGroupLabelBase, selectItemIndicatorBase, selectItemTextBase, selectPositionerBase, selectTriggerBase, selectValueBase, sidebarMenuButtonVariants, sidebarStyles, splitterPanelBase, splitterResizeTriggerBase, splitterResizeTriggerIndicatorBase, splitterResizeTriggerSeparatorBase, splitterRootBase, stackBase, switchControlBase, switchLabelBase, switchThumbBase, switchVariants, tabsContentBase, tabsIndicatorBase, tabsIndicatorVariants, tabsListBase, tabsListVariants, tabsRootBase, tabsTriggerBase, tagsInputClearTriggerBase, tagsInputControlBase, tagsInputInputBase, tagsInputItemBase, tagsInputItemDeleteTriggerBase, tagsInputItemInputBase, tagsInputItemTextBase, tagsInputRootBase, textareaBase, toggleButtonVariants, vstackBase };
391
+ export { type BadgeProps, type BadgeVariants, type ButtonProps, type ButtonVariants, type CardCoverProps, type CardProps, type CardVariants, type CheckboxProps, type CheckboxVariants, type ComboboxItemVariants, type ComboboxProps, type InputProps, type InputVariants, type ItemProps, type ItemVariants, type NativeSelectVariants, type NavbarDensity, type NavbarMenuDensity, type NavbarMenuVariant, type NavbarVariant, type NumberInputProps, type PageGutterContentVariants, type PageGutterVariants, type PageVariants, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, type SelectItemData, type SelectProps, type SidebarContextProps, type SidebarMenuButtonVariants, type SwitchProps, type SwitchVariants, THEMES, THEME_NAMES, type TabsIndicatorVariants, type TabsListVariants, type TagsInputProps, type TextareaProps, type ThemeMeta, type ToggleButtonProps, type ToggleButtonVariants, badgeVariants, buttonVariants, cardBodyBase, cardCoverVariants, cardDescriptionBase, cardFooterBase, cardHeaderBase, cardTitleBase, cardVariants, centerBase, checkboxGroupBase, checkboxIndicatorBase, checkboxLabelBase, checkboxVariants, cn, colBase, comboboxClearTriggerBase, comboboxContentBase, comboboxControlBase, comboboxEmptyBase, comboboxInputBase, comboboxItemGroupLabelBase, comboboxItemIndicatorBase, comboboxItemVariants, comboboxListBase, comboboxPositionerBase, comboboxTriggerBase, containerBase, dialogBackdropBase, dialogCloseTriggerBase, dialogContentBase, dialogDescriptionBase, dialogFooterBase, dialogFooterStickyBase, dialogFullscreenContentBase, dialogHeaderBase, dialogHeaderStickyBase, dialogPositionerBase, dialogTitleBase, fieldErrorBase, fieldHelperBase, fieldLabelBase, fieldRequiredIndicatorBase, fieldRootBase, fieldsetErrorBase, fieldsetHelperBase, fieldsetLegendBase, fieldsetRootBase, hstackBase, inputVariants, itemVariants, nativeSelectIconBase, nativeSelectVariants, nativeSelectWrapperBase, navbarActionsBase, navbarActivationAreaBase, navbarBrandBase, navbarContainerBase, navbarDensityVariants, navbarMenuBase, navbarMenuContentBase, navbarMenuIndicatorBase, navbarMenuItemBase, navbarMenuLinkBase, navbarMenuListBase, navbarMenuPlacementVariants, navbarMenuRootBase, navbarMenuTriggerStyle, navbarMenuViewportBase, navbarMenuViewportPositionerBase, navbarMobileActionsBase, navbarMobileBase, navbarMobileContentBase, navbarMobileHeaderBase, navbarMobileMenuBase, navbarMobileMenuContentBase, navbarMobileMenuTriggerBase, navbarShrunkBase, navbarTriggerVariants, navbarVariants, numberInputControlBase, numberInputInputBase, numberInputRootBase, numberInputTriggerBase, pageContentBase, pageFooterBase, pageGutterAreaBase, pageGutterContentVariants, pageGutterVariants, pageSectionBase, pageVariants, paginationEllipsisBase, paginationItemBase, paginationRootBase, paginationTriggerBase, popoverArrowBase, popoverCloseTriggerBase, popoverContentBase, popoverDescriptionBase, popoverIndicatorBase, popoverPositionerBase, popoverTitleBase, rowBase, scrollContentBase, scrollCornerBase, scrollRootBase, scrollScrollbarBase, scrollThumbBase, scrollViewportBase, selectClearTriggerBase, selectContentBase, selectIndicatorBase, selectItemBase, selectItemGroupLabelBase, selectItemIndicatorBase, selectItemTextBase, selectPositionerBase, selectTriggerBase, selectValueBase, sidebarMenuButtonVariants, sidebarStyles, splitterPanelBase, splitterResizeTriggerBase, splitterResizeTriggerIndicatorBase, splitterResizeTriggerSeparatorBase, splitterRootBase, stackBase, switchControlBase, switchLabelBase, switchThumbBase, switchVariants, tabsContentBase, tabsIndicatorBase, tabsIndicatorVariants, tabsListBase, tabsListVariants, tabsRootBase, tabsTriggerBase, tagsInputClearTriggerBase, tagsInputControlBase, tagsInputInputBase, tagsInputItemBase, tagsInputItemDeleteTriggerBase, tagsInputItemInputBase, tagsInputItemTextBase, tagsInputRootBase, textareaBase, toggleButtonVariants, tooltipArrowBase, tooltipContentBase, tooltipPositionerBase, vstackBase, windowBodyBase, windowCloseTriggerBase, windowContentBase, windowControlBase, windowDragTriggerBase, windowHeaderBase, windowPositionerBase, windowResizeTriggerBase, windowStageTriggerBase, windowTitleBase };
package/dist/index.d.ts CHANGED
@@ -26,6 +26,41 @@ interface ToggleButtonProps {
26
26
  className?: string;
27
27
  }
28
28
 
29
+ declare const tooltipPositionerBase = "z-50 [--z-index:50]!";
30
+ declare const tooltipArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
31
+ declare const tooltipContentBase = "relative z-50 max-w-xs rounded-md border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md outline-none";
32
+
33
+ declare const popoverPositionerBase = "z-50 [--z-index:50]!";
34
+ declare const popoverArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
35
+ declare const popoverContentBase = "relative z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none";
36
+ declare const popoverTitleBase = "text-sm font-semibold leading-none";
37
+ declare const popoverDescriptionBase = "text-sm text-muted-foreground";
38
+ declare const popoverCloseTriggerBase = "absolute end-3.5 top-3.5 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
39
+ declare const popoverIndicatorBase = "transition-transform data-[state=open]:rotate-180";
40
+
41
+ declare const dialogBackdropBase = "bg-black/50";
42
+ declare const dialogPositionerBase = "fixed inset-0 z-50 [--z-index:50]! flex items-start justify-center overflow-y-auto p-4";
43
+ declare const dialogContentBase = "relative z-50 my-auto grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg sm:rounded-lg outline-none";
44
+ declare const dialogTitleBase = "text-lg font-semibold leading-none tracking-tight";
45
+ declare const dialogDescriptionBase = "text-sm text-muted-foreground";
46
+ declare const dialogHeaderBase = "flex flex-col gap-2";
47
+ declare const dialogFooterBase = "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end";
48
+ declare const dialogHeaderStickyBase = "sticky top-0 z-10 bg-background";
49
+ declare const dialogFooterStickyBase = "sticky bottom-0 z-10 bg-background";
50
+ declare const dialogFullscreenContentBase = "h-dvh w-full max-w-none rounded-none border-0 p-0 sm:rounded-none";
51
+ declare const dialogCloseTriggerBase = "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
52
+
53
+ declare const windowPositionerBase = "z-50 [--z-index:50]!";
54
+ declare const windowContentBase = "relative z-50 flex w-80 flex-col overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-lg";
55
+ declare const windowDragTriggerBase = "flex flex-col";
56
+ declare const windowHeaderBase = "flex cursor-move items-center justify-between gap-2 border-b px-4 py-2.5";
57
+ declare const windowTitleBase = "text-sm font-semibold leading-none";
58
+ declare const windowControlBase = "flex items-center gap-1";
59
+ declare const windowStageTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
60
+ declare const windowCloseTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
61
+ declare const windowBodyBase = "flex flex-1 flex-col gap-4 overflow-auto p-4 text-sm";
62
+ declare const windowResizeTriggerBase = "absolute bottom-0 right-0 size-4 cursor-se-resize";
63
+
29
64
  declare const badgeVariants: (props?: ({
30
65
  variant?: "solid" | "outline" | "subtle" | "surface" | "plain" | null | undefined;
31
66
  color?: "primary" | "secondary" | "success" | "danger" | "warn" | "info" | null | undefined;
@@ -91,6 +126,23 @@ declare const scrollScrollbarBase = "relative m-[var(--scrollbar-margin)] flex t
91
126
  declare const scrollThumbBase = "rounded-[inherit] bg-border/40 transition-colors data-[orientation=vertical]:w-full data-[orientation=horizontal]:h-full";
92
127
  declare const scrollCornerBase = "m-[var(--scrollbar-margin)] bg-muted opacity-0 transition-opacity duration-150 data-[hover]:opacity-100";
93
128
 
129
+ declare const pageVariants: (props?: ({
130
+ variant?: "default" | "landing" | null | undefined;
131
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
132
+ declare const pageGutterAreaBase = "h-full min-w-0 [grid-area:left]";
133
+ declare const pageGutterVariants: (props?: ({
134
+ side?: "left" | "right" | null | undefined;
135
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
136
+ declare const pageGutterContentVariants: (props?: ({
137
+ align?: "start" | "center" | "end" | null | undefined;
138
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
139
+ declare const pageContentBase = "min-w-0 [grid-area:content]";
140
+ declare const pageFooterBase = "w-full shrink-0 [grid-area:footer]";
141
+ declare const pageSectionBase: string;
142
+ type PageVariants = VariantProps<typeof pageVariants>;
143
+ type PageGutterVariants = VariantProps<typeof pageGutterVariants>;
144
+ type PageGutterContentVariants = VariantProps<typeof pageGutterContentVariants>;
145
+
94
146
  /**
95
147
  * Intentionally empty: Ark UI sets `display`/`flex-direction` on the root and
96
148
  * the panel's `height`/`width: 100%`, `overflow`, and flex sizing inline.
@@ -203,7 +255,7 @@ declare const navbarShrunkBase = "h-12";
203
255
  declare const navbarBrandBase = "flex shrink-0 items-center gap-2";
204
256
  declare const navbarMenuBase = "hidden items-center md:flex";
205
257
  declare const navbarMenuPlacementVariants: (props?: ({
206
- placement?: "left" | "center" | "right" | null | undefined;
258
+ placement?: "left" | "right" | "center" | null | undefined;
207
259
  } & class_variance_authority_types.ClassProp) | undefined) => string;
208
260
  declare const navbarActionsBase = "ml-auto hidden items-center gap-2 md:flex";
209
261
  declare const navbarTriggerVariants: (props?: ({
@@ -290,7 +342,7 @@ declare const selectTriggerBase = "flex w-fit cursor-default items-center gap-2
290
342
  declare const selectValueBase = "flex min-w-0 items-center gap-2 truncate";
291
343
  declare const selectIndicatorBase = "flex items-center justify-center text-muted-foreground";
292
344
  declare const selectClearTriggerBase = "flex items-center justify-center text-muted-foreground opacity-60 transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
293
- declare const selectPositionerBase = "z-50";
345
+ declare const selectPositionerBase = "z-50 [--z-index:50]!";
294
346
  declare const selectContentBase = "relative z-50 max-h-96 min-w-(--reference-width) overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
295
347
  declare const selectItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
296
348
  declare const selectItemBase = "relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 pe-8 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground";
@@ -310,7 +362,7 @@ declare const comboboxControlBase = "relative flex w-full flex-wrap items-center
310
362
  declare const comboboxInputBase = "pe-8";
311
363
  declare const comboboxTriggerBase = "absolute inset-y-0 end-1 flex w-8 items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
312
364
  declare const comboboxClearTriggerBase = "absolute inset-y-0 end-9 flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
313
- declare const comboboxPositionerBase = "z-50";
365
+ declare const comboboxPositionerBase = "z-50 [--z-index:50]!";
314
366
  declare const comboboxContentBase = "relative z-50 max-h-96 min-w-48 overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
315
367
  declare const comboboxItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
316
368
  declare const comboboxItemVariants: (props?: ({
@@ -336,4 +388,4 @@ interface TagsInputProps {
336
388
  className?: string;
337
389
  }
338
390
 
339
- export { type BadgeProps, type BadgeVariants, type ButtonProps, type ButtonVariants, type CardCoverProps, type CardProps, type CardVariants, type CheckboxProps, type CheckboxVariants, type ComboboxItemVariants, type ComboboxProps, type InputProps, type InputVariants, type ItemProps, type ItemVariants, type NativeSelectVariants, type NavbarDensity, type NavbarMenuDensity, type NavbarMenuVariant, type NavbarVariant, type NumberInputProps, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, type SelectItemData, type SelectProps, type SidebarContextProps, type SidebarMenuButtonVariants, type SwitchProps, type SwitchVariants, THEMES, THEME_NAMES, type TabsIndicatorVariants, type TabsListVariants, type TagsInputProps, type TextareaProps, type ThemeMeta, type ToggleButtonProps, type ToggleButtonVariants, badgeVariants, buttonVariants, cardBodyBase, cardCoverVariants, cardDescriptionBase, cardFooterBase, cardHeaderBase, cardTitleBase, cardVariants, centerBase, checkboxGroupBase, checkboxIndicatorBase, checkboxLabelBase, checkboxVariants, cn, colBase, comboboxClearTriggerBase, comboboxContentBase, comboboxControlBase, comboboxEmptyBase, comboboxInputBase, comboboxItemGroupLabelBase, comboboxItemIndicatorBase, comboboxItemVariants, comboboxListBase, comboboxPositionerBase, comboboxTriggerBase, containerBase, fieldErrorBase, fieldHelperBase, fieldLabelBase, fieldRequiredIndicatorBase, fieldRootBase, fieldsetErrorBase, fieldsetHelperBase, fieldsetLegendBase, fieldsetRootBase, hstackBase, inputVariants, itemVariants, nativeSelectIconBase, nativeSelectVariants, nativeSelectWrapperBase, navbarActionsBase, navbarActivationAreaBase, navbarBrandBase, navbarContainerBase, navbarDensityVariants, navbarMenuBase, navbarMenuContentBase, navbarMenuIndicatorBase, navbarMenuItemBase, navbarMenuLinkBase, navbarMenuListBase, navbarMenuPlacementVariants, navbarMenuRootBase, navbarMenuTriggerStyle, navbarMenuViewportBase, navbarMenuViewportPositionerBase, navbarMobileActionsBase, navbarMobileBase, navbarMobileContentBase, navbarMobileHeaderBase, navbarMobileMenuBase, navbarMobileMenuContentBase, navbarMobileMenuTriggerBase, navbarShrunkBase, navbarTriggerVariants, navbarVariants, numberInputControlBase, numberInputInputBase, numberInputRootBase, numberInputTriggerBase, paginationEllipsisBase, paginationItemBase, paginationRootBase, paginationTriggerBase, rowBase, scrollContentBase, scrollCornerBase, scrollRootBase, scrollScrollbarBase, scrollThumbBase, scrollViewportBase, selectClearTriggerBase, selectContentBase, selectIndicatorBase, selectItemBase, selectItemGroupLabelBase, selectItemIndicatorBase, selectItemTextBase, selectPositionerBase, selectTriggerBase, selectValueBase, sidebarMenuButtonVariants, sidebarStyles, splitterPanelBase, splitterResizeTriggerBase, splitterResizeTriggerIndicatorBase, splitterResizeTriggerSeparatorBase, splitterRootBase, stackBase, switchControlBase, switchLabelBase, switchThumbBase, switchVariants, tabsContentBase, tabsIndicatorBase, tabsIndicatorVariants, tabsListBase, tabsListVariants, tabsRootBase, tabsTriggerBase, tagsInputClearTriggerBase, tagsInputControlBase, tagsInputInputBase, tagsInputItemBase, tagsInputItemDeleteTriggerBase, tagsInputItemInputBase, tagsInputItemTextBase, tagsInputRootBase, textareaBase, toggleButtonVariants, vstackBase };
391
+ export { type BadgeProps, type BadgeVariants, type ButtonProps, type ButtonVariants, type CardCoverProps, type CardProps, type CardVariants, type CheckboxProps, type CheckboxVariants, type ComboboxItemVariants, type ComboboxProps, type InputProps, type InputVariants, type ItemProps, type ItemVariants, type NativeSelectVariants, type NavbarDensity, type NavbarMenuDensity, type NavbarMenuVariant, type NavbarVariant, type NumberInputProps, type PageGutterContentVariants, type PageGutterVariants, type PageVariants, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, type SelectItemData, type SelectProps, type SidebarContextProps, type SidebarMenuButtonVariants, type SwitchProps, type SwitchVariants, THEMES, THEME_NAMES, type TabsIndicatorVariants, type TabsListVariants, type TagsInputProps, type TextareaProps, type ThemeMeta, type ToggleButtonProps, type ToggleButtonVariants, badgeVariants, buttonVariants, cardBodyBase, cardCoverVariants, cardDescriptionBase, cardFooterBase, cardHeaderBase, cardTitleBase, cardVariants, centerBase, checkboxGroupBase, checkboxIndicatorBase, checkboxLabelBase, checkboxVariants, cn, colBase, comboboxClearTriggerBase, comboboxContentBase, comboboxControlBase, comboboxEmptyBase, comboboxInputBase, comboboxItemGroupLabelBase, comboboxItemIndicatorBase, comboboxItemVariants, comboboxListBase, comboboxPositionerBase, comboboxTriggerBase, containerBase, dialogBackdropBase, dialogCloseTriggerBase, dialogContentBase, dialogDescriptionBase, dialogFooterBase, dialogFooterStickyBase, dialogFullscreenContentBase, dialogHeaderBase, dialogHeaderStickyBase, dialogPositionerBase, dialogTitleBase, fieldErrorBase, fieldHelperBase, fieldLabelBase, fieldRequiredIndicatorBase, fieldRootBase, fieldsetErrorBase, fieldsetHelperBase, fieldsetLegendBase, fieldsetRootBase, hstackBase, inputVariants, itemVariants, nativeSelectIconBase, nativeSelectVariants, nativeSelectWrapperBase, navbarActionsBase, navbarActivationAreaBase, navbarBrandBase, navbarContainerBase, navbarDensityVariants, navbarMenuBase, navbarMenuContentBase, navbarMenuIndicatorBase, navbarMenuItemBase, navbarMenuLinkBase, navbarMenuListBase, navbarMenuPlacementVariants, navbarMenuRootBase, navbarMenuTriggerStyle, navbarMenuViewportBase, navbarMenuViewportPositionerBase, navbarMobileActionsBase, navbarMobileBase, navbarMobileContentBase, navbarMobileHeaderBase, navbarMobileMenuBase, navbarMobileMenuContentBase, navbarMobileMenuTriggerBase, navbarShrunkBase, navbarTriggerVariants, navbarVariants, numberInputControlBase, numberInputInputBase, numberInputRootBase, numberInputTriggerBase, pageContentBase, pageFooterBase, pageGutterAreaBase, pageGutterContentVariants, pageGutterVariants, pageSectionBase, pageVariants, paginationEllipsisBase, paginationItemBase, paginationRootBase, paginationTriggerBase, popoverArrowBase, popoverCloseTriggerBase, popoverContentBase, popoverDescriptionBase, popoverIndicatorBase, popoverPositionerBase, popoverTitleBase, rowBase, scrollContentBase, scrollCornerBase, scrollRootBase, scrollScrollbarBase, scrollThumbBase, scrollViewportBase, selectClearTriggerBase, selectContentBase, selectIndicatorBase, selectItemBase, selectItemGroupLabelBase, selectItemIndicatorBase, selectItemTextBase, selectPositionerBase, selectTriggerBase, selectValueBase, sidebarMenuButtonVariants, sidebarStyles, splitterPanelBase, splitterResizeTriggerBase, splitterResizeTriggerIndicatorBase, splitterResizeTriggerSeparatorBase, splitterRootBase, stackBase, switchControlBase, switchLabelBase, switchThumbBase, switchVariants, tabsContentBase, tabsIndicatorBase, tabsIndicatorVariants, tabsListBase, tabsListVariants, tabsRootBase, tabsTriggerBase, tagsInputClearTriggerBase, tagsInputControlBase, tagsInputInputBase, tagsInputItemBase, tagsInputItemDeleteTriggerBase, tagsInputItemInputBase, tagsInputItemTextBase, tagsInputRootBase, textareaBase, toggleButtonVariants, tooltipArrowBase, tooltipContentBase, tooltipPositionerBase, vstackBase, windowBodyBase, windowCloseTriggerBase, windowContentBase, windowControlBase, windowDragTriggerBase, windowHeaderBase, windowPositionerBase, windowResizeTriggerBase, windowStageTriggerBase, windowTitleBase };
package/dist/index.js CHANGED
@@ -82,6 +82,45 @@ var toggleButtonVariants = cva2(
82
82
  }
83
83
  );
84
84
 
85
+ // src/tooltip.ts
86
+ var tooltipPositionerBase = "z-50 [--z-index:50]!";
87
+ var tooltipArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
88
+ var tooltipContentBase = "relative z-50 max-w-xs rounded-md border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md outline-none";
89
+
90
+ // src/popover.ts
91
+ var popoverPositionerBase = "z-50 [--z-index:50]!";
92
+ var popoverArrowBase = "[--arrow-size:0.5rem] [--arrow-background:var(--color-popover)]";
93
+ var popoverContentBase = "relative z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none";
94
+ var popoverTitleBase = "text-sm font-semibold leading-none";
95
+ var popoverDescriptionBase = "text-sm text-muted-foreground";
96
+ var popoverCloseTriggerBase = "absolute end-3.5 top-3.5 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
97
+ var popoverIndicatorBase = "transition-transform data-[state=open]:rotate-180";
98
+
99
+ // src/dialog.ts
100
+ var dialogBackdropBase = "bg-black/50";
101
+ var dialogPositionerBase = "fixed inset-0 z-50 [--z-index:50]! flex items-start justify-center overflow-y-auto p-4";
102
+ var dialogContentBase = "relative z-50 my-auto grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg sm:rounded-lg outline-none";
103
+ var dialogTitleBase = "text-lg font-semibold leading-none tracking-tight";
104
+ var dialogDescriptionBase = "text-sm text-muted-foreground";
105
+ var dialogHeaderBase = "flex flex-col gap-2";
106
+ var dialogFooterBase = "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end";
107
+ var dialogHeaderStickyBase = "sticky top-0 z-10 bg-background";
108
+ var dialogFooterStickyBase = "sticky bottom-0 z-10 bg-background";
109
+ var dialogFullscreenContentBase = "h-dvh w-full max-w-none rounded-none border-0 p-0 sm:rounded-none";
110
+ var dialogCloseTriggerBase = "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-[3px] focus:ring-ring/30 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
111
+
112
+ // src/window.ts
113
+ var windowPositionerBase = "z-50 [--z-index:50]!";
114
+ var windowContentBase = "relative z-50 flex w-80 flex-col overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-lg";
115
+ var windowDragTriggerBase = "flex flex-col";
116
+ var windowHeaderBase = "flex cursor-move items-center justify-between gap-2 border-b px-4 py-2.5";
117
+ var windowTitleBase = "text-sm font-semibold leading-none";
118
+ var windowControlBase = "flex items-center gap-1";
119
+ var windowStageTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
120
+ var windowCloseTriggerBase = "inline-flex size-6 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus:ring-[3px] focus:ring-ring/30 [&_svg]:size-3.5 [&_svg]:shrink-0";
121
+ var windowBodyBase = "flex flex-1 flex-col gap-4 overflow-auto p-4 text-sm";
122
+ var windowResizeTriggerBase = "absolute bottom-0 right-0 size-4 cursor-se-resize";
123
+
85
124
  // src/badge.ts
86
125
  import { cva as cva3 } from "class-variance-authority";
87
126
  var fills2 = {
@@ -254,6 +293,53 @@ var scrollScrollbarBase = "relative m-[var(--scrollbar-margin)] flex touch-none
254
293
  var scrollThumbBase = "rounded-[inherit] bg-border/40 transition-colors data-[orientation=vertical]:w-full data-[orientation=horizontal]:h-full";
255
294
  var scrollCornerBase = "m-[var(--scrollbar-margin)] bg-muted opacity-0 transition-opacity duration-150 data-[hover]:opacity-100";
256
295
 
296
+ // src/page.ts
297
+ import { cva as cva6 } from "class-variance-authority";
298
+
299
+ // src/cn.ts
300
+ import { clsx } from "clsx";
301
+ import { twMerge } from "tailwind-merge";
302
+ function cn(...inputs) {
303
+ return twMerge(clsx(inputs));
304
+ }
305
+
306
+ // src/page.ts
307
+ var pageVariants = cva6("min-h-svh w-full", {
308
+ variants: {
309
+ variant: {
310
+ default: 'grid grid-cols-[auto_minmax(0,1fr)_auto] grid-rows-[minmax(100svh,1fr)_auto] [grid-template-areas:"left_content_right"_"footer_footer_footer"]',
311
+ landing: colBase
312
+ }
313
+ },
314
+ defaultVariants: { variant: "default" }
315
+ });
316
+ var pageGutterAreaBase = "h-full min-w-0 [grid-area:left]";
317
+ var pageGutterVariants = cva6(
318
+ "sticky top-0 h-svh w-4 shrink-0 overflow-hidden p-0.5 md:w-56 md:p-2 lg:w-72 lg:p-3",
319
+ {
320
+ variants: {
321
+ side: {
322
+ left: "",
323
+ right: ""
324
+ }
325
+ },
326
+ defaultVariants: { side: "left" }
327
+ }
328
+ );
329
+ var pageGutterContentVariants = cva6("hidden h-full w-full flex-col md:flex", {
330
+ variants: {
331
+ align: {
332
+ start: "justify-start",
333
+ center: "justify-center",
334
+ end: "justify-end"
335
+ }
336
+ },
337
+ defaultVariants: { align: "start" }
338
+ });
339
+ var pageContentBase = "min-w-0 [grid-area:content]";
340
+ var pageFooterBase = "w-full shrink-0 [grid-area:footer]";
341
+ var pageSectionBase = cn(colBase, "min-h-svh w-full");
342
+
257
343
  // src/splitter.ts
258
344
  var splitterRootBase = "";
259
345
  var splitterPanelBase = "";
@@ -262,12 +348,12 @@ var splitterResizeTriggerSeparatorBase = "absolute bg-border group-data-[orienta
262
348
  var splitterResizeTriggerIndicatorBase = "relative z-10 rounded-full border border-border bg-muted shadow-xs data-[dragging]:bg-muted-foreground data-[focus]:bg-accent data-[disabled]:hidden data-[orientation=horizontal]:h-6 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-6";
263
349
 
264
350
  // src/sidebar.ts
265
- import { cva as cva6 } from "class-variance-authority";
351
+ import { cva as cva7 } from "class-variance-authority";
266
352
  var SIDEBAR_WIDTH = "16rem";
267
353
  var SIDEBAR_WIDTH_MOBILE = "18rem";
268
354
  var SIDEBAR_WIDTH_ICON = "3rem";
269
355
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
270
- var sidebarMenuButtonVariants = cva6(
356
+ var sidebarMenuButtonVariants = cva7(
271
357
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
272
358
  {
273
359
  variants: {
@@ -320,11 +406,11 @@ var sidebarStyles = {
320
406
  };
321
407
 
322
408
  // src/navbar-menu.ts
323
- import { cva as cva7 } from "class-variance-authority";
409
+ import { cva as cva8 } from "class-variance-authority";
324
410
  var navbarMenuRootBase = "group/nav-menu relative flex max-w-max flex-1 items-center justify-center";
325
411
  var navbarMenuListBase = "group flex flex-1 list-none items-center justify-center gap-1";
326
412
  var navbarMenuItemBase = "relative";
327
- var navbarMenuTriggerStyle = cva7(
413
+ var navbarMenuTriggerStyle = cva8(
328
414
  "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-3 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent/50 data-[state=open]:text-accent-foreground data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent",
329
415
  {
330
416
  variants: {
@@ -349,10 +435,10 @@ var navbarMenuViewportBase = "absolute left-(--viewport-x) top-0 mt-1.5 h-(--vie
349
435
  var navbarMenuIndicatorBase = "data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-50 flex h-1.5 items-end justify-center overflow-hidden";
350
436
 
351
437
  // src/tabs.ts
352
- import { cva as cva8 } from "class-variance-authority";
438
+ import { cva as cva9 } from "class-variance-authority";
353
439
  var tabsRootBase = "flex flex-col gap-2 data-[orientation=vertical]:flex-row";
354
440
  var tabsListBase = "relative z-0 flex w-fit items-center justify-center gap-x-0.5 text-muted-foreground data-[orientation=vertical]:flex-col";
355
- var tabsListVariants = cva8("", {
441
+ var tabsListVariants = cva9("", {
356
442
  variants: {
357
443
  variant: {
358
444
  default: "rounded-lg",
@@ -364,7 +450,7 @@ var tabsListVariants = cva8("", {
364
450
  }
365
451
  });
366
452
  var tabsIndicatorBase = "absolute inset-x-0 bottom-0 h-(--height) w-(--width) transition-[width,translate] duration-200 ease-in-out motion-reduce:transition-none";
367
- var tabsIndicatorVariants = cva8("", {
453
+ var tabsIndicatorVariants = cva9("", {
368
454
  variants: {
369
455
  variant: {
370
456
  default: "-z-1 rounded-lg bg-accent",
@@ -385,8 +471,8 @@ var paginationItemBase = "inline-flex h-9 min-w-9 items-center justify-center wh
385
471
  var paginationEllipsisBase = "flex h-8 w-12 items-end justify-center text-muted-foreground pointer-events-none select-none [&_svg]:size-4";
386
472
 
387
473
  // src/navbar.ts
388
- import { cva as cva9 } from "class-variance-authority";
389
- var navbarVariants = cva9(
474
+ import { cva as cva10 } from "class-variance-authority";
475
+ var navbarVariants = cva10(
390
476
  "w-full bg-background/80 backdrop-blur transition-[box-shadow,height,translate] duration-300",
391
477
  {
392
478
  variants: {
@@ -408,7 +494,7 @@ var navbarVariants = cva9(
408
494
  }
409
495
  );
410
496
  var navbarContainerBase = "flex items-center justify-between transition-[height,gap,padding] duration-300";
411
- var navbarDensityVariants = cva9("", {
497
+ var navbarDensityVariants = cva10("", {
412
498
  variants: {
413
499
  density: {
414
500
  relaxed: "h-16 gap-4 px-4 md:px-6",
@@ -422,7 +508,7 @@ var navbarDensityVariants = cva9("", {
422
508
  var navbarShrunkBase = "h-12";
423
509
  var navbarBrandBase = "flex shrink-0 items-center gap-2";
424
510
  var navbarMenuBase = "hidden items-center md:flex";
425
- var navbarMenuPlacementVariants = cva9("", {
511
+ var navbarMenuPlacementVariants = cva10("", {
426
512
  variants: {
427
513
  placement: {
428
514
  left: "justify-start",
@@ -435,7 +521,7 @@ var navbarMenuPlacementVariants = cva9("", {
435
521
  }
436
522
  });
437
523
  var navbarActionsBase = "ml-auto hidden items-center gap-2 md:flex";
438
- var navbarTriggerVariants = cva9(
524
+ var navbarTriggerVariants = cva10(
439
525
  "inline-flex h-9 w-9 items-center justify-center text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
440
526
  {
441
527
  variants: {
@@ -514,13 +600,6 @@ var THEMES = [
514
600
  ];
515
601
  var THEME_NAMES = THEMES.map((t) => t.name);
516
602
 
517
- // src/cn.ts
518
- import { clsx } from "clsx";
519
- import { twMerge } from "tailwind-merge";
520
- function cn(...inputs) {
521
- return twMerge(clsx(inputs));
522
- }
523
-
524
603
  // src/field.ts
525
604
  var fieldRootBase = "flex w-full flex-col gap-2 data-invalid:text-destructive";
526
605
  var fieldLabelBase = "flex w-fit select-none items-center gap-1 text-sm font-medium leading-none text-foreground";
@@ -533,8 +612,8 @@ var fieldsetHelperBase = "text-sm text-muted-foreground";
533
612
  var fieldsetErrorBase = "text-sm text-destructive";
534
613
 
535
614
  // src/input.ts
536
- import { cva as cva10 } from "class-variance-authority";
537
- var inputVariants = cva10(
615
+ import { cva as cva11 } from "class-variance-authority";
616
+ var inputVariants = cva11(
538
617
  "flex w-full min-w-0 rounded-md border border-input bg-transparent px-3 text-sm shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/24 data-invalid:border-destructive data-invalid:ring-[3px] data-invalid:ring-destructive/24",
539
618
  {
540
619
  variants: {
@@ -560,8 +639,8 @@ var numberInputInputBase = "h-9 w-full min-w-0 flex-1 border-0 bg-transparent px
560
639
  var numberInputTriggerBase = "flex size-9 shrink-0 items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
561
640
 
562
641
  // src/checkbox.ts
563
- import { cva as cva11 } from "class-variance-authority";
564
- var checkboxVariants = cva11(
642
+ import { cva as cva12 } from "class-variance-authority";
643
+ var checkboxVariants = cva12(
565
644
  "relative inline-flex size-4 shrink-0 items-center justify-center rounded-sm border border-input bg-transparent shadow-xs transition-shadow focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 focus-visible:ring-offset-1 focus-visible:ring-offset-background data-invalid:border-destructive data-invalid:ring-[3px] data-invalid:ring-destructive/24 disabled:pointer-events-none disabled:opacity-50",
566
645
  {
567
646
  variants: {
@@ -581,8 +660,8 @@ var checkboxLabelBase = "select-none text-sm font-medium leading-none";
581
660
  var checkboxGroupBase = "flex flex-col gap-2";
582
661
 
583
662
  // src/switch.ts
584
- import { cva as cva12 } from "class-variance-authority";
585
- var switchVariants = cva12(
663
+ import { cva as cva13 } from "class-variance-authority";
664
+ var switchVariants = cva13(
586
665
  "inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input p-0.5 shadow-xs transition-colors outline-none data-[state=checked]:bg-primary data-invalid:border-destructive data-invalid:ring-[3px] data-invalid:ring-destructive/24 focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:opacity-50",
587
666
  {
588
667
  variants: {
@@ -602,18 +681,18 @@ var switchThumbBase = "pointer-events-none block aspect-square h-full w-auto rou
602
681
  var switchLabelBase = "select-none text-sm font-medium leading-none";
603
682
 
604
683
  // src/select.ts
605
- import { cva as cva13 } from "class-variance-authority";
684
+ import { cva as cva14 } from "class-variance-authority";
606
685
  var selectTriggerBase = "flex w-fit cursor-default items-center gap-2 whitespace-nowrap data-[placeholder-shown]:text-muted-foreground data-[state=open]:border-ring data-[state=open]:ring-[3px] data-[state=open]:ring-ring/30 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground";
607
686
  var selectValueBase = "flex min-w-0 items-center gap-2 truncate";
608
687
  var selectIndicatorBase = "flex items-center justify-center text-muted-foreground";
609
688
  var selectClearTriggerBase = "flex items-center justify-center text-muted-foreground opacity-60 transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
610
- var selectPositionerBase = "z-50";
689
+ var selectPositionerBase = "z-50 [--z-index:50]!";
611
690
  var selectContentBase = "relative z-50 max-h-96 min-w-(--reference-width) overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
612
691
  var selectItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
613
692
  var selectItemBase = "relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 pe-8 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground";
614
693
  var selectItemTextBase = "flex w-full flex-1 items-center gap-2";
615
694
  var selectItemIndicatorBase = "absolute inset-y-0 end-2 flex items-center justify-center text-foreground";
616
- var nativeSelectVariants = cva13(
695
+ var nativeSelectVariants = cva14(
617
696
  "appearance-none w-full min-w-0 rounded-md border border-input bg-transparent pe-8 ps-2.5 text-sm shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/24",
618
697
  {
619
698
  variants: {
@@ -632,15 +711,15 @@ var nativeSelectWrapperBase = "relative w-fit [&_svg]:pointer-events-none [&_svg
632
711
  var nativeSelectIconBase = "pointer-events-none absolute inset-y-0 end-2.5 flex items-center justify-center text-muted-foreground";
633
712
 
634
713
  // src/combobox.ts
635
- import { cva as cva14 } from "class-variance-authority";
714
+ import { cva as cva15 } from "class-variance-authority";
636
715
  var comboboxControlBase = "relative flex w-full flex-wrap items-center gap-1";
637
716
  var comboboxInputBase = "pe-8";
638
717
  var comboboxTriggerBase = "absolute inset-y-0 end-1 flex w-8 items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0";
639
718
  var comboboxClearTriggerBase = "absolute inset-y-0 end-9 flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none [&_svg]:pointer-events-none [&_svg]:size-3.5 [&_svg]:shrink-0";
640
- var comboboxPositionerBase = "z-50";
719
+ var comboboxPositionerBase = "z-50 [--z-index:50]!";
641
720
  var comboboxContentBase = "relative z-50 max-h-96 min-w-48 overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none";
642
721
  var comboboxItemGroupLabelBase = "px-2 py-1.5 text-xs font-semibold text-muted-foreground";
643
- var comboboxItemVariants = cva14(
722
+ var comboboxItemVariants = cva15(
644
723
  "relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground",
645
724
  {
646
725
  variants: {
@@ -702,6 +781,17 @@ export {
702
781
  comboboxPositionerBase,
703
782
  comboboxTriggerBase,
704
783
  containerBase,
784
+ dialogBackdropBase,
785
+ dialogCloseTriggerBase,
786
+ dialogContentBase,
787
+ dialogDescriptionBase,
788
+ dialogFooterBase,
789
+ dialogFooterStickyBase,
790
+ dialogFullscreenContentBase,
791
+ dialogHeaderBase,
792
+ dialogHeaderStickyBase,
793
+ dialogPositionerBase,
794
+ dialogTitleBase,
705
795
  fieldErrorBase,
706
796
  fieldHelperBase,
707
797
  fieldLabelBase,
@@ -747,10 +837,24 @@ export {
747
837
  numberInputInputBase,
748
838
  numberInputRootBase,
749
839
  numberInputTriggerBase,
840
+ pageContentBase,
841
+ pageFooterBase,
842
+ pageGutterAreaBase,
843
+ pageGutterContentVariants,
844
+ pageGutterVariants,
845
+ pageSectionBase,
846
+ pageVariants,
750
847
  paginationEllipsisBase,
751
848
  paginationItemBase,
752
849
  paginationRootBase,
753
850
  paginationTriggerBase,
851
+ popoverArrowBase,
852
+ popoverCloseTriggerBase,
853
+ popoverContentBase,
854
+ popoverDescriptionBase,
855
+ popoverIndicatorBase,
856
+ popoverPositionerBase,
857
+ popoverTitleBase,
754
858
  rowBase,
755
859
  scrollContentBase,
756
860
  scrollCornerBase,
@@ -797,5 +901,18 @@ export {
797
901
  tagsInputRootBase,
798
902
  textareaBase,
799
903
  toggleButtonVariants,
800
- vstackBase
904
+ tooltipArrowBase,
905
+ tooltipContentBase,
906
+ tooltipPositionerBase,
907
+ vstackBase,
908
+ windowBodyBase,
909
+ windowCloseTriggerBase,
910
+ windowContentBase,
911
+ windowControlBase,
912
+ windowDragTriggerBase,
913
+ windowHeaderBase,
914
+ windowPositionerBase,
915
+ windowResizeTriggerBase,
916
+ windowStageTriggerBase,
917
+ windowTitleBase
801
918
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudvoyant/helix",
3
- "version": "0.13.0",
3
+ "version": "0.14.0-rc.202608291122.fb86622",
4
4
  "description": "helix shared component interfaces, cva variants, and theme",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,3 +21,25 @@
21
21
  @source "../dist";
22
22
  @source "../../helix-react/dist";
23
23
  @source "../../helix-svelte/dist";
24
+
25
+ /*
26
+ * Overlay arrows (tooltip/popover): the arrow tip is a 45°-rotated square
27
+ * whose center sits on the content's edge. Give it the content border, then
28
+ * clip away the half that overlaps the content so the border runs only along
29
+ * the two outer edges — no border line between the arrow and the body.
30
+ */
31
+ [data-part='arrow-tip'] {
32
+ border: 1px solid var(--color-border);
33
+ }
34
+ [data-part='positioner']:has([data-part='content'][data-side='bottom']) [data-part='arrow'] [data-part='arrow-tip'] {
35
+ clip-path: polygon(50% 0%, 100% 52%, 0% 52%);
36
+ }
37
+ [data-part='positioner']:has([data-part='content'][data-side='top']) [data-part='arrow'] [data-part='arrow-tip'] {
38
+ clip-path: polygon(50% 100%, 0% 48%, 100% 48%);
39
+ }
40
+ [data-part='positioner']:has([data-part='content'][data-side='right']) [data-part='arrow'] [data-part='arrow-tip'] {
41
+ clip-path: polygon(0% 50%, 52% 0%, 52% 100%);
42
+ }
43
+ [data-part='positioner']:has([data-part='content'][data-side='left']) [data-part='arrow'] [data-part='arrow-tip'] {
44
+ clip-path: polygon(100% 50%, 48% 0%, 48% 100%);
45
+ }
package/src/theme.css CHANGED
@@ -158,4 +158,31 @@
158
158
  body {
159
159
  @apply bg-background text-foreground;
160
160
  }
161
+ /* helix page scrollbar. `Page` relies on the document scrollbar (sticky
162
+ gutters + footer bottom-out need window scrolling, so the page body is
163
+ never wrapped in Ark ScrollArea). Style that document scrollbar — and any
164
+ other native scrollbar — to match the Scroll component's look: thin,
165
+ rounded, --border-based. The Scroll component's own viewport keeps hiding
166
+ its native scrollbar ([scrollbar-width:none] / ::-webkit-scrollbar:hidden),
167
+ so this never double-styles it. */
168
+ * {
169
+ scrollbar-width: thin;
170
+ scrollbar-color: color-mix(in oklab, var(--border) 40%, transparent) transparent;
171
+ }
172
+ ::-webkit-scrollbar {
173
+ width: 0.5rem;
174
+ height: 0.5rem;
175
+ }
176
+ ::-webkit-scrollbar-track {
177
+ background: transparent;
178
+ }
179
+ ::-webkit-scrollbar-thumb {
180
+ background-color: color-mix(in oklab, var(--border) 40%, transparent);
181
+ border-radius: 9999px;
182
+ border: 2px solid transparent;
183
+ background-clip: padding-box;
184
+ }
185
+ ::-webkit-scrollbar-thumb:hover {
186
+ background-color: var(--border);
187
+ }
161
188
  }