@sytechui/theme 2.6.2 → 2.6.3

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.
Files changed (159) hide show
  1. package/dist/{chunk-27EH4573.mjs → chunk-47BB6GL3.mjs} +1 -1
  2. package/dist/{chunk-GYRKKQKN.mjs → chunk-4N2PLITL.mjs} +1 -1
  3. package/dist/{chunk-3PBT3W4C.mjs → chunk-5DJU5KUL.mjs} +1 -1
  4. package/dist/{chunk-P2SWF4YK.mjs → chunk-7ARJ2TQM.mjs} +1 -1
  5. package/dist/chunk-7FAFG773.mjs +69 -0
  6. package/dist/{chunk-JGY6VQQQ.mjs → chunk-7K2CWEHT.mjs} +8 -1
  7. package/dist/{chunk-HRULT2QB.mjs → chunk-AGSAOCCR.mjs} +1 -1
  8. package/dist/{chunk-OBSH26UE.mjs → chunk-AL5UNXQI.mjs} +1 -1
  9. package/dist/{chunk-QU72GCNK.mjs → chunk-ECD4ABCS.mjs} +1 -1
  10. package/dist/{chunk-CR7SUL27.mjs → chunk-EZ47UJPD.mjs} +1 -1
  11. package/dist/{chunk-GXDNTAQH.mjs → chunk-I5YZBAB3.mjs} +1 -1
  12. package/dist/{chunk-RAC3PSZO.mjs → chunk-KKEJLP4U.mjs} +1 -1
  13. package/dist/{chunk-4XFAHRMJ.mjs → chunk-MTBQ5EO5.mjs} +1 -1
  14. package/dist/{chunk-YISEC5JS.mjs → chunk-NJBUOBAS.mjs} +9 -5
  15. package/dist/{chunk-7CAOOET2.mjs → chunk-OSP4OLTO.mjs} +1 -1
  16. package/dist/{chunk-M5F7VFZT.mjs → chunk-P5HLCB43.mjs} +1 -1
  17. package/dist/{chunk-T754O54S.mjs → chunk-PY74IHS4.mjs} +1 -1
  18. package/dist/{chunk-UJC5GXOO.mjs → chunk-ROFEKAS6.mjs} +7 -7
  19. package/dist/{chunk-K6X3VPO4.mjs → chunk-USGOG5QI.mjs} +1 -1
  20. package/dist/{chunk-LD2JADOO.mjs → chunk-W37Q6YFS.mjs} +1 -1
  21. package/dist/{chunk-6Q4A5IGD.mjs → chunk-WH4ODSEM.mjs} +1 -1
  22. package/dist/{chunk-7MY46DKJ.mjs → chunk-XBJNS5SU.mjs} +1 -1
  23. package/dist/{chunk-63TVI5PY.mjs → chunk-XKMMJKKB.mjs} +1 -1
  24. package/dist/{chunk-22RNS2JQ.mjs → chunk-Z4ZQGUPY.mjs} +260 -68
  25. package/dist/{chunk-TYJNRAT2.mjs → chunk-ZWG2GMCI.mjs} +1 -1
  26. package/dist/components/accordion.js +21 -0
  27. package/dist/components/accordion.mjs +28 -28
  28. package/dist/components/alert.js +21 -0
  29. package/dist/components/alert.mjs +7 -7
  30. package/dist/components/autocomplete.js +21 -0
  31. package/dist/components/autocomplete.mjs +7 -7
  32. package/dist/components/avatar.js +21 -0
  33. package/dist/components/avatar.mjs +28 -28
  34. package/dist/components/badge.js +21 -0
  35. package/dist/components/badge.mjs +28 -28
  36. package/dist/components/bottom-bar.js +21 -0
  37. package/dist/components/bottom-bar.mjs +28 -28
  38. package/dist/components/breadcrumbs.js +21 -0
  39. package/dist/components/breadcrumbs.mjs +28 -28
  40. package/dist/components/button.js +21 -0
  41. package/dist/components/button.mjs +28 -28
  42. package/dist/components/calendar.js +21 -0
  43. package/dist/components/calendar.mjs +28 -28
  44. package/dist/components/card.js +21 -0
  45. package/dist/components/card.mjs +28 -28
  46. package/dist/components/checkbox.js +28 -4
  47. package/dist/components/checkbox.mjs +28 -28
  48. package/dist/components/chip.js +21 -0
  49. package/dist/components/chip.mjs +28 -28
  50. package/dist/components/code.js +21 -0
  51. package/dist/components/code.mjs +28 -28
  52. package/dist/components/date-input.js +21 -0
  53. package/dist/components/date-input.mjs +7 -7
  54. package/dist/components/date-picker.js +21 -0
  55. package/dist/components/date-picker.mjs +7 -7
  56. package/dist/components/divider.js +21 -0
  57. package/dist/components/divider.mjs +7 -7
  58. package/dist/components/drawer.js +21 -0
  59. package/dist/components/drawer.mjs +7 -7
  60. package/dist/components/drip.js +21 -0
  61. package/dist/components/drip.mjs +7 -7
  62. package/dist/components/drop-zone.js +21 -0
  63. package/dist/components/drop-zone.mjs +28 -28
  64. package/dist/components/dropdown.js +21 -0
  65. package/dist/components/dropdown.mjs +28 -28
  66. package/dist/components/form.js +21 -0
  67. package/dist/components/form.mjs +7 -7
  68. package/dist/components/image.js +21 -0
  69. package/dist/components/image.mjs +7 -7
  70. package/dist/components/index.js +276 -63
  71. package/dist/components/index.mjs +29 -29
  72. package/dist/components/input-otp.js +21 -0
  73. package/dist/components/input-otp.mjs +28 -28
  74. package/dist/components/input.js +21 -0
  75. package/dist/components/input.mjs +28 -28
  76. package/dist/components/kbd.js +21 -0
  77. package/dist/components/kbd.mjs +7 -7
  78. package/dist/components/link.js +21 -0
  79. package/dist/components/link.mjs +28 -28
  80. package/dist/components/listbox.js +21 -0
  81. package/dist/components/listbox.mjs +28 -28
  82. package/dist/components/menu.js +21 -0
  83. package/dist/components/menu.mjs +28 -28
  84. package/dist/components/modal.js +21 -0
  85. package/dist/components/modal.mjs +28 -28
  86. package/dist/components/navbar.js +21 -0
  87. package/dist/components/navbar.mjs +28 -28
  88. package/dist/components/number-input.js +21 -0
  89. package/dist/components/number-input.mjs +28 -28
  90. package/dist/components/pagination.js +21 -0
  91. package/dist/components/pagination.mjs +28 -28
  92. package/dist/components/popover.js +21 -0
  93. package/dist/components/popover.mjs +28 -28
  94. package/dist/components/progress.js +21 -0
  95. package/dist/components/progress.mjs +7 -7
  96. package/dist/components/radio.js +21 -0
  97. package/dist/components/radio.mjs +28 -28
  98. package/dist/components/scroll-area.js +21 -0
  99. package/dist/components/scroll-area.mjs +7 -7
  100. package/dist/components/scroll-shadow.js +21 -0
  101. package/dist/components/scroll-shadow.mjs +7 -7
  102. package/dist/components/select.js +21 -0
  103. package/dist/components/select.mjs +28 -28
  104. package/dist/components/shimmer-text.js +21 -0
  105. package/dist/components/shimmer-text.mjs +7 -7
  106. package/dist/components/skeleton.js +21 -0
  107. package/dist/components/skeleton.mjs +7 -7
  108. package/dist/components/slider.js +21 -0
  109. package/dist/components/slider.mjs +28 -28
  110. package/dist/components/snippet.js +21 -0
  111. package/dist/components/snippet.mjs +28 -28
  112. package/dist/components/spacer.js +21 -0
  113. package/dist/components/spacer.mjs +7 -7
  114. package/dist/components/spinner.js +21 -0
  115. package/dist/components/spinner.mjs +7 -7
  116. package/dist/components/stepper.js +21 -0
  117. package/dist/components/stepper.mjs +28 -28
  118. package/dist/components/table.d.mts +93 -12
  119. package/dist/components/table.d.ts +93 -12
  120. package/dist/components/table.js +195 -44
  121. package/dist/components/table.mjs +28 -28
  122. package/dist/components/tabs.d.mts +81 -15
  123. package/dist/components/tabs.d.ts +81 -15
  124. package/dist/components/tabs.js +95 -15
  125. package/dist/components/tabs.mjs +28 -28
  126. package/dist/components/toast.js +21 -0
  127. package/dist/components/toast.mjs +28 -28
  128. package/dist/components/toggle.js +21 -0
  129. package/dist/components/toggle.mjs +28 -28
  130. package/dist/components/user.js +21 -0
  131. package/dist/components/user.mjs +28 -28
  132. package/dist/index.js +303 -65
  133. package/dist/index.mjs +33 -33
  134. package/dist/plugin.js +48 -2
  135. package/dist/plugin.mjs +7 -7
  136. package/dist/utilities/index.d.mts +18 -0
  137. package/dist/utilities/index.d.ts +18 -0
  138. package/dist/utilities/index.js +21 -0
  139. package/dist/utilities/index.mjs +4 -4
  140. package/dist/utilities/scrollbar-hide.d.mts +39 -4
  141. package/dist/utilities/scrollbar-hide.d.ts +39 -4
  142. package/dist/utilities/scrollbar-hide.js +44 -1
  143. package/dist/utilities/scrollbar-hide.mjs +4 -2
  144. package/dist/utils/classes.d.mts +7 -0
  145. package/dist/utils/classes.d.ts +7 -0
  146. package/dist/utils/classes.js +8 -1
  147. package/dist/utils/classes.mjs +1 -1
  148. package/dist/utils/cn.js +21 -0
  149. package/dist/utils/cn.mjs +6 -6
  150. package/dist/utils/index.js +29 -1
  151. package/dist/utils/index.mjs +28 -28
  152. package/dist/utils/merge-classes.js +21 -0
  153. package/dist/utils/merge-classes.mjs +28 -28
  154. package/dist/utils/tv.js +21 -0
  155. package/dist/utils/tv.mjs +6 -6
  156. package/dist/utils/tw-merge-config.js +21 -0
  157. package/dist/utils/tw-merge-config.mjs +5 -5
  158. package/package.json +1 -1
  159. package/dist/chunk-WH6SPIFG.mjs +0 -30
@@ -1,12 +1,12 @@
1
- import {
2
- tv
3
- } from "./chunk-RAC3PSZO.mjs";
4
1
  import {
5
2
  colorVariants
6
3
  } from "./chunk-GQT3YUX3.mjs";
7
4
  import {
8
5
  cn
9
- } from "./chunk-P2SWF4YK.mjs";
6
+ } from "./chunk-7ARJ2TQM.mjs";
7
+ import {
8
+ tv
9
+ } from "./chunk-KKEJLP4U.mjs";
10
10
  import {
11
11
  collapseAdjacentVariantBorders,
12
12
  dataFocusVisibleClasses,
@@ -15,7 +15,7 @@ import {
15
15
  hiddenInputClasses,
16
16
  ringClasses,
17
17
  translateCenterClasses
18
- } from "./chunk-JGY6VQQQ.mjs";
18
+ } from "./chunk-7K2CWEHT.mjs";
19
19
 
20
20
  // src/components/avatar.ts
21
21
  var avatar = tv({
@@ -3012,14 +3012,15 @@ var checkbox = tv({
3012
3012
  "justify-center",
3013
3013
  "shrink-0",
3014
3014
  "overflow-hidden",
3015
+ "shadow-small",
3015
3016
  // before
3016
3017
  "before:content-['']",
3017
3018
  "before:absolute",
3018
3019
  "before:inset-0",
3020
+ "before:border-small",
3019
3021
  "before:border-solid",
3020
- "before:border-2",
3021
- "before:box-border",
3022
- "before:border-default",
3022
+ "before:border-default-200",
3023
+ "before:bg-white",
3023
3024
  // after
3024
3025
  "after:content-['']",
3025
3026
  "after:absolute",
@@ -3029,8 +3030,10 @@ var checkbox = tv({
3029
3030
  "after:origin-center",
3030
3031
  "group-data-[selected=true]:after:scale-100",
3031
3032
  "group-data-[selected=true]:after:opacity-100",
3033
+ "group-data-[selected=true]:before:border-transparent",
3032
3034
  // hover
3033
- "group-data-[hover=true]:before:bg-default-100",
3035
+ "group-data-[hover=true]:before:border-default-400",
3036
+ "group-data-[selected=true]:group-data-[hover=true]:before:border-transparent",
3034
3037
  // focus ring
3035
3038
  ...groupDataFocusVisibleClasses
3036
3039
  ],
@@ -6424,15 +6427,36 @@ var table = tv({
6424
6427
  "justify-between",
6425
6428
  "gap-4",
6426
6429
  "shadow-small",
6427
- "bg-content1",
6428
- "overflow-auto"
6430
+ "bg-content1"
6429
6431
  ],
6432
+ scrollContainer: ["scrollbar", "overflow-x-auto"],
6433
+ resizableContainer: ["relative", "scrollbar", "overflow-auto"],
6430
6434
  table: "min-w-full h-auto",
6431
- thead: "[&>tr]:first:rounded-lg after:content-[''] after:table-row after:h-[5px]",
6432
- tbody: "after:block",
6433
- tr: ["group/tr", "outline-solid outline-transparent", ...dataFocusVisibleClasses],
6435
+ thead: [
6436
+ // VirtualizerItem wraps each column, so round via the header row rather than the column.
6437
+ "[&>[role=row]>[role=presentation]:first-child>[role=columnheader]]:rounded-s-lg",
6438
+ "[&>[role=row]>[role=presentation]:last-child>[role=columnheader]]:rounded-e-lg",
6439
+ "[&>[role=row]>[role=presentation]:last-child>[role=columnheader]]:before:hidden",
6440
+ "[&>[role=row]>[role=presentation]:last-child>[role=columnheader]>[data-slot=table-column-resizer]]:hidden",
6441
+ "[&>tr>th:last-child>[data-slot=table-column-resizer]]:hidden"
6442
+ ],
6443
+ tbody: [
6444
+ "[&:is(tbody)]:after:block",
6445
+ // A virtualized body is a div. Clip it instead of relying on first/last table cells.
6446
+ "[&:not(tbody)]:relative",
6447
+ "[&:not(tbody)]:h-full",
6448
+ "[&:not(tbody)]:overflow-hidden",
6449
+ "[&:not(tbody)]:rounded-lg"
6450
+ ],
6451
+ tr: [
6452
+ "group/tr",
6453
+ "outline-solid outline-transparent",
6454
+ "[&:not(tr)]:h-full",
6455
+ ...dataFocusVisibleClasses
6456
+ ],
6434
6457
  th: [
6435
6458
  "group/th",
6459
+ "relative",
6436
6460
  "px-3",
6437
6461
  "h-10",
6438
6462
  "text-start",
@@ -6442,21 +6466,62 @@ var table = tv({
6442
6466
  "text-foreground-500",
6443
6467
  "text-tiny",
6444
6468
  "font-semibold",
6445
- "first:rounded-s-lg",
6446
- "last:rounded-e-lg",
6469
+ "[&:not(th)]:flex [&:not(th)]:items-center",
6470
+ "[&:is(th):first-child]:rounded-s-lg",
6471
+ "[&:is(th):last-child]:rounded-e-lg",
6472
+ "[&:is(th):last-child]:before:hidden",
6473
+ "before:pointer-events-none",
6474
+ "before:absolute",
6475
+ "before:end-0",
6476
+ "before:top-1/2",
6477
+ "before:h-4",
6478
+ "before:w-px",
6479
+ "before:-translate-y-1/2",
6480
+ "before:rounded-small",
6481
+ "before:bg-default-300",
6482
+ "before:content-['']",
6447
6483
  "outline-solid outline-transparent",
6448
- "data-[sortable=true]:cursor-pointer",
6449
- "data-[hover=true]:text-foreground-400",
6484
+ "data-[allows-sorting]:cursor-pointer",
6450
6485
  ...dataFocusVisibleClasses
6451
6486
  ],
6487
+ columnResizer: [
6488
+ "absolute",
6489
+ "end-0",
6490
+ "top-1/2",
6491
+ "h-4",
6492
+ "w-px",
6493
+ "-translate-y-1/2",
6494
+ "translate-x-1/2",
6495
+ "rounded-small",
6496
+ "bg-default-300",
6497
+ "bg-clip-content",
6498
+ "box-content",
6499
+ "cursor-col-resize",
6500
+ "touch-none",
6501
+ "border-none",
6502
+ "outline-none",
6503
+ "px-2",
6504
+ "data-[hovered=true]:h-full",
6505
+ "data-[hovered=true]:w-0.5",
6506
+ "data-[hovered=true]:bg-primary",
6507
+ "data-[resizing=true]:h-full",
6508
+ "data-[resizing=true]:w-0.5",
6509
+ "data-[resizing=true]:bg-primary",
6510
+ "data-[focus-visible=true]:h-full",
6511
+ "data-[focus-visible=true]:w-0.5",
6512
+ "data-[focus-visible=true]:bg-focus"
6513
+ ],
6452
6514
  td: [
6453
6515
  "py-2",
6454
6516
  "px-3",
6455
6517
  "relative",
6518
+ "isolate",
6519
+ "z-0",
6456
6520
  "align-middle",
6457
6521
  "whitespace-normal",
6458
6522
  "text-small",
6459
6523
  "font-normal",
6524
+ "[&:not(td)]:h-full",
6460
6525
  "outline-solid outline-transparent",
6461
6526
  "[&>*]:z-1",
6462
6527
  "[&>*]:relative",
@@ -6465,10 +6530,12 @@ var table = tv({
6465
6530
  "before:pointer-events-none",
6466
6531
  "before:content-['']",
6467
6532
  "before:absolute",
6468
- "before:z-0",
6533
+ "before:-z-10",
6469
6534
  "before:inset-0",
6470
6535
  "before:opacity-0",
6471
6536
  "data-[selected=true]:before:opacity-100",
6537
+ "data-[selected]:before:opacity-100",
6538
+ "group-aria-[selected=true]/tr:before:opacity-100",
6472
6539
  // disabled
6473
6540
  "group-data-[disabled=true]/tr:text-foreground-300",
6474
6541
  "group-data-[disabled=true]/tr:cursor-not-allowed"
@@ -6485,28 +6552,28 @@ var table = tv({
6485
6552
  "group-data-[hover=true]/th:opacity-100",
6486
6553
  "data-[direction=ascending]:rotate-180"
6487
6554
  ],
6488
- emptyWrapper: "text-foreground-400 align-middle text-center h-40",
6555
+ emptyWrapper: "flex h-40 w-full items-center justify-center text-center align-middle text-foreground-400",
6489
6556
  loadingWrapper: "absolute inset-0 flex items-center justify-center"
6490
6557
  },
6491
6558
  variants: {
6492
6559
  color: {
6493
6560
  default: {
6494
- td: "before:bg-default/60 data-[selected=true]:text-default-foreground"
6561
+ td: "before:bg-default-300"
6495
6562
  },
6496
6563
  primary: {
6497
- td: "before:bg-primary/20 data-[selected=true]:text-primary"
6564
+ td: "before:bg-primary/20"
6498
6565
  },
6499
6566
  secondary: {
6500
- td: "before:bg-secondary/20 data-[selected=true]:text-secondary"
6567
+ td: "before:bg-secondary/20"
6501
6568
  },
6502
6569
  success: {
6503
- td: "before:bg-success/20 data-[selected=true]:text-success-600 dark:data-[selected=true]:text-success"
6570
+ td: "before:bg-success/20"
6504
6571
  },
6505
6572
  warning: {
6506
- td: "before:bg-warning/20 data-[selected=true]:text-warning-600 dark:data-[selected=true]:text-warning"
6573
+ td: "before:bg-warning/20"
6507
6574
  },
6508
6575
  danger: {
6509
- td: "before:bg-danger/20 data-[selected=true]:text-danger dark:data-[selected=true]:text-danger-500"
6576
+ td: "before:bg-danger/20"
6510
6577
  }
6511
6578
  },
6512
6579
  layout: {
@@ -6517,6 +6584,14 @@ var table = tv({
6517
6584
  table: "table-fixed"
6518
6585
  }
6519
6586
  },
6587
+ overflowMode: {
6588
+ wrap: {
6589
+ td: "whitespace-normal break-words"
6590
+ },
6591
+ truncate: {
6592
+ td: "truncate"
6593
+ }
6594
+ },
6520
6595
  shadow: {
6521
6596
  none: {
6522
6597
  wrapper: "shadow-none"
@@ -6539,9 +6614,9 @@ var table = tv({
6539
6614
  isStriped: {
6540
6615
  true: {
6541
6616
  td: [
6542
- "group-data-[odd=true]/tr:before:bg-default-100",
6543
- "group-data-[odd=true]/tr:before:opacity-100",
6544
- "group-data-[odd=true]/tr:before:-z-10"
6617
+ "group-even/tr:before:bg-default-100/50",
6618
+ "group-even/tr:before:opacity-100",
6619
+ "group-even/tr:before:-z-10"
6545
6620
  ]
6546
6621
  }
6547
6622
  },
@@ -6551,17 +6626,40 @@ var table = tv({
6551
6626
  },
6552
6627
  false: {}
6553
6628
  },
6554
- isHeaderSticky: {
6629
+ isBordered: {
6555
6630
  true: {
6556
- thead: "sticky top-0 z-20 [&>tr]:first:shadow-small"
6631
+ // Inner grid lines only: no border after the last column or under the last row.
6632
+ // The end border is cleared from the row because a virtualized cell is wrapped in a
6633
+ // VirtualizerItem, so `:last-child` on the cell itself matches every column.
6634
+ td: ["border-b", "border-divider", "group-last/tr:border-b-0"]
6635
+ }
6636
+ },
6637
+ isGlass: {
6638
+ true: {}
6639
+ },
6640
+ isSticky: {
6641
+ true: {
6642
+ thead: [
6643
+ "sticky top-0 z-20",
6644
+ // A virtualized rowgroup is 0-height (its children are all absolutely
6645
+ // positioned by VirtualizerItem). Stretch it to fill the sticky wrapper
6646
+ // so it has real area to paint on — same role a native <thead> already has.
6647
+ "[&:not(thead)]:absolute",
6648
+ "[&:not(thead)]:inset-0"
6649
+ ]
6650
+ }
6651
+ },
6652
+ isFooterSticky: {
6653
+ true: {
6654
+ tfoot: "sticky bottom-0 z-20 rounded-lg bg-default-100"
6557
6655
  }
6558
6656
  },
6559
6657
  isSelectable: {
6560
6658
  true: {
6561
6659
  tr: "cursor-default",
6562
6660
  td: [
6563
- "group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:bg-default-100",
6564
- "group-aria-[selected=false]/tr:group-data-[hover=true]/tr:before:opacity-70"
6661
+ "group-aria-[selected=false]/tr:group-data-[hovered]/tr:before:bg-default-100",
6662
+ "group-aria-[selected=false]/tr:group-data-[hovered]/tr:before:opacity-70"
6565
6663
  ]
6566
6664
  }
6567
6665
  },
@@ -6569,13 +6667,13 @@ var table = tv({
6569
6667
  true: {
6570
6668
  td: [
6571
6669
  // first
6572
- "group-data-[first=true]/tr:first:before:rounded-ss-lg",
6573
- "group-data-[first=true]/tr:last:before:rounded-se-lg",
6670
+ "group-first/tr:first:before:rounded-ss-lg",
6671
+ "group-first/tr:last:before:rounded-se-lg",
6574
6672
  // middle
6575
- "group-data-[middle=true]/tr:before:rounded-none",
6673
+ "group-[&:not(:first-child):not(:last-child)]/tr:before:rounded-none",
6576
6674
  // last
6577
- "group-data-[last=true]/tr:first:before:rounded-es-lg",
6578
- "group-data-[last=true]/tr:last:before:rounded-ee-lg"
6675
+ "group-last/tr:first:before:rounded-es-lg",
6676
+ "group-last/tr:last:before:rounded-ee-lg"
6579
6677
  ]
6580
6678
  },
6581
6679
  false: {
@@ -6585,19 +6683,25 @@ var table = tv({
6585
6683
  radius: {
6586
6684
  none: {
6587
6685
  wrapper: "rounded-none",
6686
+ tfoot: "rounded-none",
6687
+ thead: [
6688
+ "[&>[role=row]>[role=presentation]:first-child>[role=columnheader]]:rounded-s-none",
6689
+ "[&>[role=row]>[role=presentation]:last-child>[role=columnheader]]:rounded-e-none"
6690
+ ],
6691
+ tbody: "[&:not(tbody)]:rounded-none",
6588
6692
  th: [
6589
- "first:rounded-s-none",
6590
- "first:before:rounded-s-none",
6591
- "last:rounded-e-none",
6592
- "last:before:rounded-e-none"
6693
+ "[&:is(th):first-child]:rounded-s-none",
6694
+ "[&:is(th):first-child]:before:rounded-s-none",
6695
+ "[&:is(th):last-child]:rounded-e-none",
6696
+ "[&:is(th):last-child]:before:rounded-e-none"
6593
6697
  ],
6594
6698
  td: [
6595
6699
  "first:before:rounded-s-none",
6596
6700
  "last:before:rounded-e-none",
6597
- "group-data-[first=true]/tr:first:before:rounded-ss-none",
6598
- "group-data-[first=true]/tr:last:before:rounded-se-none",
6599
- "group-data-[last=true]/tr:first:before:rounded-es-none",
6600
- "group-data-[last=true]/tr:last:before:rounded-ee-none"
6701
+ "group-first/tr:first:before:rounded-ss-none",
6702
+ "group-first/tr:last:before:rounded-se-none",
6703
+ "group-last/tr:first:before:rounded-es-none",
6704
+ "group-last/tr:last:before:rounded-ee-none"
6601
6705
  ]
6602
6706
  },
6603
6707
  sm: {
@@ -6638,52 +6742,81 @@ var table = tv({
6638
6742
  radius: "lg",
6639
6743
  color: "default",
6640
6744
  isCompact: false,
6745
+ isGlass: true,
6641
6746
  hideHeader: false,
6642
6747
  isStriped: false,
6643
6748
  fullWidth: true,
6644
- align: "start"
6749
+ align: "start",
6750
+ overflowMode: "wrap"
6645
6751
  },
6646
6752
  compoundVariants: [
6753
+ {
6754
+ isGlass: true,
6755
+ isSticky: true,
6756
+ class: {
6757
+ // The single glass surface lives on the thead slot (rowgroup) — see the
6758
+ // isSticky variant above for why that works in both native and virtualized DOM.
6759
+ thead: "bg-default-100/80 backdrop-blur-sm",
6760
+ th: [
6761
+ // Cells stay transparent so the row group is the only thing painting glass —
6762
+ // per-cell backdrop-filter would clamp its sampling to each cell's own box,
6763
+ // producing a visible seam at every column boundary.
6764
+ "bg-transparent",
6765
+ // Native-only: a horizontally-pinned column header is sticky *within* the row
6766
+ // group, so it can scroll away from the row group's own (also-scrolling)
6767
+ // background box. It needs its own glass to stay opaque as content passes under it.
6768
+ "data-[pinned]:bg-default-100/80",
6769
+ "data-[pinned]:backdrop-blur-sm"
6770
+ ]
6771
+ }
6772
+ },
6773
+ {
6774
+ isFooterSticky: true,
6775
+ isGlass: true,
6776
+ class: {
6777
+ tfoot: "bg-default-100/80 backdrop-blur-sm"
6778
+ }
6779
+ },
6647
6780
  {
6648
6781
  isStriped: true,
6649
6782
  color: "default",
6650
6783
  class: {
6651
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-default/60"
6784
+ td: "group-even/tr:data-[selected=true]:before:bg-default/60"
6652
6785
  }
6653
6786
  },
6654
6787
  {
6655
6788
  isStriped: true,
6656
6789
  color: "primary",
6657
6790
  class: {
6658
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-primary/20"
6791
+ td: "group-even/tr:data-[selected=true]:before:bg-primary/20"
6659
6792
  }
6660
6793
  },
6661
6794
  {
6662
6795
  isStriped: true,
6663
6796
  color: "secondary",
6664
6797
  class: {
6665
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-secondary/20"
6798
+ td: "group-even/tr:data-[selected=true]:before:bg-secondary/20"
6666
6799
  }
6667
6800
  },
6668
6801
  {
6669
6802
  isStriped: true,
6670
6803
  color: "success",
6671
6804
  class: {
6672
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-success/20"
6805
+ td: "group-even/tr:data-[selected=true]:before:bg-success/20"
6673
6806
  }
6674
6807
  },
6675
6808
  {
6676
6809
  isStriped: true,
6677
6810
  color: "warning",
6678
6811
  class: {
6679
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-warning/20"
6812
+ td: "group-even/tr:data-[selected=true]:before:bg-warning/20"
6680
6813
  }
6681
6814
  },
6682
6815
  {
6683
6816
  isStriped: true,
6684
6817
  color: "danger",
6685
6818
  class: {
6686
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-danger/20"
6819
+ td: "group-even/tr:data-[selected=true]:before:bg-danger/20"
6687
6820
  }
6688
6821
  }
6689
6822
  ]
@@ -6692,18 +6825,58 @@ var table = tv({
6692
6825
  // src/components/tabs.ts
6693
6826
  var tabs = tv({
6694
6827
  slots: {
6695
- base: "inline-flex",
6828
+ base: "group relative inline-flex max-w-full bg-default-100",
6829
+ scroller: "max-w-full",
6696
6830
  tabList: [
6697
6831
  "relative",
6698
- "flex",
6832
+ "inline-flex",
6699
6833
  "p-1",
6700
6834
  "h-fit",
6701
6835
  "gap-2",
6702
6836
  "items-center",
6703
6837
  "flex-nowrap",
6704
- "overflow-x-scroll",
6705
- "scrollbar-hide",
6706
- "bg-default-100"
6838
+ "w-max",
6839
+ "min-w-full"
6840
+ ],
6841
+ scrollPrev: [
6842
+ "absolute",
6843
+ "z-20",
6844
+ "hidden",
6845
+ "size-4",
6846
+ "items-center",
6847
+ "justify-center",
6848
+ "rounded-full",
6849
+ "bg-transparent",
6850
+ "outline-none",
6851
+ "text-foreground",
6852
+ "transition-opacity",
6853
+ "hover:opacity-70",
6854
+ "focus-visible:outline-2",
6855
+ "focus-visible:outline-focus",
6856
+ "group-has-[[data-left-scroll=true]]:flex",
6857
+ "group-has-[[data-left-right-scroll=true]]:flex",
6858
+ "group-has-[[data-top-scroll=true]]:flex",
6859
+ "group-has-[[data-top-bottom-scroll=true]]:flex"
6860
+ ],
6861
+ scrollNext: [
6862
+ "absolute",
6863
+ "z-20",
6864
+ "hidden",
6865
+ "size-4",
6866
+ "items-center",
6867
+ "justify-center",
6868
+ "rounded-full",
6869
+ "bg-transparent",
6870
+ "outline-none",
6871
+ "text-foreground",
6872
+ "transition-opacity",
6873
+ "hover:opacity-70",
6874
+ "focus-visible:outline-2",
6875
+ "focus-visible:outline-focus",
6876
+ "group-has-[[data-right-scroll=true]]:flex",
6877
+ "group-has-[[data-left-right-scroll=true]]:flex",
6878
+ "group-has-[[data-bottom-scroll=true]]:flex",
6879
+ "group-has-[[data-top-bottom-scroll=true]]:flex"
6707
6880
  ],
6708
6881
  tab: [
6709
6882
  "z-0",
@@ -6759,14 +6932,14 @@ var tabs = tv({
6759
6932
  variant: {
6760
6933
  solid: {},
6761
6934
  light: {
6762
- tabList: "bg-transparent dark:bg-transparent"
6935
+ base: "bg-transparent dark:bg-transparent"
6763
6936
  },
6764
6937
  underlined: {
6765
- tabList: "bg-transparent dark:bg-transparent",
6938
+ base: "bg-transparent dark:bg-transparent",
6766
6939
  cursor: "h-[2px] w-[80%] bottom-0 shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]"
6767
6940
  },
6768
6941
  bordered: {
6769
- tabList: "bg-transparent dark:bg-transparent border-medium border-default-200 shadow-xs"
6942
+ base: "bg-transparent dark:bg-transparent border-medium border-default-200 shadow-xs"
6770
6943
  }
6771
6944
  },
6772
6945
  color: {
@@ -6779,16 +6952,19 @@ var tabs = tv({
6779
6952
  },
6780
6953
  size: {
6781
6954
  sm: {
6955
+ base: "rounded-medium",
6782
6956
  tabList: "rounded-medium",
6783
6957
  tab: "h-7 text-tiny rounded-small",
6784
6958
  cursor: "rounded-small"
6785
6959
  },
6786
6960
  md: {
6961
+ base: "rounded-medium",
6787
6962
  tabList: "rounded-medium",
6788
6963
  tab: "h-8 text-small rounded-small",
6789
6964
  cursor: "rounded-small"
6790
6965
  },
6791
6966
  lg: {
6967
+ base: "rounded-large",
6792
6968
  tabList: "rounded-large",
6793
6969
  tab: "h-9 text-medium rounded-medium",
6794
6970
  cursor: "rounded-medium"
@@ -6796,26 +6972,31 @@ var tabs = tv({
6796
6972
  },
6797
6973
  radius: {
6798
6974
  none: {
6975
+ base: "rounded-none",
6799
6976
  tabList: "rounded-none",
6800
6977
  tab: "rounded-none",
6801
6978
  cursor: "rounded-none"
6802
6979
  },
6803
6980
  sm: {
6981
+ base: "rounded-medium",
6804
6982
  tabList: "rounded-medium",
6805
6983
  tab: "rounded-small",
6806
6984
  cursor: "rounded-small"
6807
6985
  },
6808
6986
  md: {
6987
+ base: "rounded-medium",
6809
6988
  tabList: "rounded-medium",
6810
6989
  tab: "rounded-small",
6811
6990
  cursor: "rounded-small"
6812
6991
  },
6813
6992
  lg: {
6993
+ base: "rounded-large",
6814
6994
  tabList: "rounded-large",
6815
6995
  tab: "rounded-medium",
6816
6996
  cursor: "rounded-medium"
6817
6997
  },
6818
6998
  full: {
6999
+ base: "rounded-full",
6819
7000
  tabList: "rounded-full",
6820
7001
  tab: "rounded-full",
6821
7002
  cursor: "rounded-full"
@@ -6824,7 +7005,7 @@ var tabs = tv({
6824
7005
  fullWidth: {
6825
7006
  true: {
6826
7007
  base: "w-full",
6827
- tabList: "w-full"
7008
+ scroller: "w-full"
6828
7009
  }
6829
7010
  },
6830
7011
  isDisabled: {
@@ -6839,19 +7020,30 @@ var tabs = tv({
6839
7020
  }
6840
7021
  },
6841
7022
  placement: {
6842
- top: {},
7023
+ top: {
7024
+ scrollPrev: "top-1/2 left-1 -translate-y-1/2",
7025
+ scrollNext: "top-1/2 right-1 -translate-y-1/2"
7026
+ },
6843
7027
  start: {
6844
- tabList: "flex-col",
7028
+ scroller: "h-full",
7029
+ tabList: "min-w-0 flex-col",
6845
7030
  panel: "py-0 px-3",
6846
- tabWrapper: "flex"
7031
+ tabWrapper: "flex",
7032
+ scrollPrev: "top-1 left-1/2 -translate-x-1/2",
7033
+ scrollNext: "bottom-1 left-1/2 -translate-x-1/2"
6847
7034
  },
6848
7035
  end: {
6849
- tabList: "flex-col",
7036
+ scroller: "h-full",
7037
+ tabList: "min-w-0 flex-col",
6850
7038
  panel: "py-0 px-3",
6851
- tabWrapper: "flex flex-row-reverse"
7039
+ tabWrapper: "flex flex-row-reverse",
7040
+ scrollPrev: "top-1 left-1/2 -translate-x-1/2",
7041
+ scrollNext: "bottom-1 left-1/2 -translate-x-1/2"
6852
7042
  },
6853
7043
  bottom: {
6854
- tabWrapper: "flex flex-col-reverse"
7044
+ tabWrapper: "flex flex-col-reverse",
7045
+ scrollPrev: "top-1/2 left-1 -translate-y-1/2",
7046
+ scrollNext: "top-1/2 right-1 -translate-y-1/2"
6855
7047
  }
6856
7048
  }
6857
7049
  },
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tv
3
- } from "./chunk-RAC3PSZO.mjs";
3
+ } from "./chunk-KKEJLP4U.mjs";
4
4
 
5
5
  // src/components/date-input.ts
6
6
  var dateInput = tv({
@@ -115,6 +115,19 @@ var custom_default = {
115
115
 
116
116
  // src/utilities/scrollbar-hide.ts
117
117
  var scrollbar_hide_default = {
118
+ /**
119
+ * Theme-aware scrollbar
120
+ */
121
+ ".scrollbar": {
122
+ "scrollbar-width": "var(--scrollbar-width)",
123
+ "scrollbar-color": "var(--scrollbar-color)",
124
+ "scrollbar-gutter": "var(--scrollbar-gutter)"
125
+ },
126
+ ".scrollbar-thin": {
127
+ "scrollbar-width": "thin",
128
+ "scrollbar-color": "var(--scrollbar-thumb) var(--scrollbar-track)",
129
+ "scrollbar-gutter": "auto"
130
+ },
118
131
  /**
119
132
  * Scroll Hide
120
133
  */
@@ -133,10 +146,18 @@ var scrollbar_hide_default = {
133
146
  "-ms-overflow-style": "auto",
134
147
  /* Firefox */
135
148
  "scrollbar-width": "auto",
149
+ "scrollbar-color": "auto",
150
+ "scrollbar-gutter": "auto",
136
151
  /* Safari and Chrome */
137
152
  "&::-webkit-scrollbar": {
138
153
  display: "block"
139
154
  }
155
+ },
156
+ ".scrollbar-none": {
157
+ "-ms-overflow-style": "none",
158
+ "scrollbar-width": "none",
159
+ "scrollbar-color": "auto",
160
+ "scrollbar-gutter": "auto"
140
161
  }
141
162
  };
142
163