@sytechui/theme 2.6.2 → 2.6.4

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-22RNS2JQ.mjs → chunk-T6HDMOJB.mjs} +248 -97
  20. package/dist/{chunk-K6X3VPO4.mjs → chunk-USGOG5QI.mjs} +1 -1
  21. package/dist/{chunk-LD2JADOO.mjs → chunk-W37Q6YFS.mjs} +1 -1
  22. package/dist/{chunk-6Q4A5IGD.mjs → chunk-WH4ODSEM.mjs} +1 -1
  23. package/dist/{chunk-7MY46DKJ.mjs → chunk-XBJNS5SU.mjs} +1 -1
  24. package/dist/{chunk-63TVI5PY.mjs → chunk-XKMMJKKB.mjs} +1 -1
  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 +264 -92
  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 +111 -30
  119. package/dist/components/table.d.ts +111 -30
  120. package/dist/components/table.js +181 -72
  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 +97 -16
  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 +291 -94
  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", "group-aria-[selected=true]/tr: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", "group-aria-[selected=true]/tr: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", "group-aria-[selected=true]/tr: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", "group-aria-[selected=true]/tr: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", "group-aria-[selected=true]/tr: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", "group-aria-[selected=true]/tr: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,39 @@ 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: [
6647
6753
  {
6648
- isStriped: true,
6649
- color: "default",
6650
- class: {
6651
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-default/60"
6652
- }
6653
- },
6654
- {
6655
- isStriped: true,
6656
- color: "primary",
6657
- class: {
6658
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-primary/20"
6659
- }
6660
- },
6661
- {
6662
- isStriped: true,
6663
- color: "secondary",
6664
- class: {
6665
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-secondary/20"
6666
- }
6667
- },
6668
- {
6669
- isStriped: true,
6670
- color: "success",
6754
+ isGlass: true,
6755
+ isSticky: true,
6671
6756
  class: {
6672
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-success/20"
6673
- }
6674
- },
6675
- {
6676
- isStriped: true,
6677
- color: "warning",
6678
- class: {
6679
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-warning/20"
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
+ ]
6680
6771
  }
6681
6772
  },
6682
6773
  {
6683
- isStriped: true,
6684
- color: "danger",
6774
+ isFooterSticky: true,
6775
+ isGlass: true,
6685
6776
  class: {
6686
- td: "group-data-[odd=true]/tr:data-[selected=true]/tr:before:bg-danger/20"
6777
+ tfoot: "bg-default-100/80 backdrop-blur-sm"
6687
6778
  }
6688
6779
  }
6689
6780
  ]
@@ -6692,18 +6783,58 @@ var table = tv({
6692
6783
  // src/components/tabs.ts
6693
6784
  var tabs = tv({
6694
6785
  slots: {
6695
- base: "inline-flex",
6786
+ base: "group relative inline-flex max-w-full bg-default-100",
6787
+ scroller: "max-w-full",
6696
6788
  tabList: [
6697
6789
  "relative",
6698
- "flex",
6790
+ "inline-flex",
6699
6791
  "p-1",
6700
6792
  "h-fit",
6701
6793
  "gap-2",
6702
6794
  "items-center",
6703
6795
  "flex-nowrap",
6704
- "overflow-x-scroll",
6705
- "scrollbar-hide",
6706
- "bg-default-100"
6796
+ "w-max",
6797
+ "min-w-full"
6798
+ ],
6799
+ scrollPrev: [
6800
+ "absolute",
6801
+ "z-20",
6802
+ "hidden",
6803
+ "size-4",
6804
+ "items-center",
6805
+ "justify-center",
6806
+ "rounded-full",
6807
+ "bg-transparent",
6808
+ "outline-none",
6809
+ "text-foreground",
6810
+ "transition-opacity",
6811
+ "hover:opacity-70",
6812
+ "focus-visible:outline-2",
6813
+ "focus-visible:outline-focus",
6814
+ "group-has-[[data-left-scroll=true]]:flex",
6815
+ "group-has-[[data-left-right-scroll=true]]:flex",
6816
+ "group-has-[[data-top-scroll=true]]:flex",
6817
+ "group-has-[[data-top-bottom-scroll=true]]:flex"
6818
+ ],
6819
+ scrollNext: [
6820
+ "absolute",
6821
+ "z-20",
6822
+ "hidden",
6823
+ "size-4",
6824
+ "items-center",
6825
+ "justify-center",
6826
+ "rounded-full",
6827
+ "bg-transparent",
6828
+ "outline-none",
6829
+ "text-foreground",
6830
+ "transition-opacity",
6831
+ "hover:opacity-70",
6832
+ "focus-visible:outline-2",
6833
+ "focus-visible:outline-focus",
6834
+ "group-has-[[data-right-scroll=true]]:flex",
6835
+ "group-has-[[data-left-right-scroll=true]]:flex",
6836
+ "group-has-[[data-bottom-scroll=true]]:flex",
6837
+ "group-has-[[data-top-bottom-scroll=true]]:flex"
6707
6838
  ],
6708
6839
  tab: [
6709
6840
  "z-0",
@@ -6738,7 +6869,8 @@ var tabs = tv({
6738
6869
  "absolute",
6739
6870
  "z-0",
6740
6871
  "bg-white",
6741
- "will-change-[transform,width,height]",
6872
+ // WebKit can drop nested tab title content when a composited cursor is inside ScrollShadow.
6873
+ "will-change-auto",
6742
6874
  "invisible",
6743
6875
  "data-[initialized=true]:visible",
6744
6876
  "data-[animated=true]:transition-[left,top,width,height]",
@@ -6759,14 +6891,14 @@ var tabs = tv({
6759
6891
  variant: {
6760
6892
  solid: {},
6761
6893
  light: {
6762
- tabList: "bg-transparent dark:bg-transparent"
6894
+ base: "bg-transparent dark:bg-transparent"
6763
6895
  },
6764
6896
  underlined: {
6765
- tabList: "bg-transparent dark:bg-transparent",
6897
+ base: "bg-transparent dark:bg-transparent",
6766
6898
  cursor: "h-[2px] w-[80%] bottom-0 shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]"
6767
6899
  },
6768
6900
  bordered: {
6769
- tabList: "bg-transparent dark:bg-transparent border-medium border-default-200 shadow-xs"
6901
+ base: "bg-transparent dark:bg-transparent border-medium border-default-200 shadow-xs"
6770
6902
  }
6771
6903
  },
6772
6904
  color: {
@@ -6779,16 +6911,19 @@ var tabs = tv({
6779
6911
  },
6780
6912
  size: {
6781
6913
  sm: {
6914
+ base: "rounded-medium",
6782
6915
  tabList: "rounded-medium",
6783
6916
  tab: "h-7 text-tiny rounded-small",
6784
6917
  cursor: "rounded-small"
6785
6918
  },
6786
6919
  md: {
6920
+ base: "rounded-medium",
6787
6921
  tabList: "rounded-medium",
6788
6922
  tab: "h-8 text-small rounded-small",
6789
6923
  cursor: "rounded-small"
6790
6924
  },
6791
6925
  lg: {
6926
+ base: "rounded-large",
6792
6927
  tabList: "rounded-large",
6793
6928
  tab: "h-9 text-medium rounded-medium",
6794
6929
  cursor: "rounded-medium"
@@ -6796,26 +6931,31 @@ var tabs = tv({
6796
6931
  },
6797
6932
  radius: {
6798
6933
  none: {
6934
+ base: "rounded-none",
6799
6935
  tabList: "rounded-none",
6800
6936
  tab: "rounded-none",
6801
6937
  cursor: "rounded-none"
6802
6938
  },
6803
6939
  sm: {
6940
+ base: "rounded-medium",
6804
6941
  tabList: "rounded-medium",
6805
6942
  tab: "rounded-small",
6806
6943
  cursor: "rounded-small"
6807
6944
  },
6808
6945
  md: {
6946
+ base: "rounded-medium",
6809
6947
  tabList: "rounded-medium",
6810
6948
  tab: "rounded-small",
6811
6949
  cursor: "rounded-small"
6812
6950
  },
6813
6951
  lg: {
6952
+ base: "rounded-large",
6814
6953
  tabList: "rounded-large",
6815
6954
  tab: "rounded-medium",
6816
6955
  cursor: "rounded-medium"
6817
6956
  },
6818
6957
  full: {
6958
+ base: "rounded-full",
6819
6959
  tabList: "rounded-full",
6820
6960
  tab: "rounded-full",
6821
6961
  cursor: "rounded-full"
@@ -6824,7 +6964,7 @@ var tabs = tv({
6824
6964
  fullWidth: {
6825
6965
  true: {
6826
6966
  base: "w-full",
6827
- tabList: "w-full"
6967
+ scroller: "w-full"
6828
6968
  }
6829
6969
  },
6830
6970
  isDisabled: {
@@ -6839,19 +6979,30 @@ var tabs = tv({
6839
6979
  }
6840
6980
  },
6841
6981
  placement: {
6842
- top: {},
6982
+ top: {
6983
+ scrollPrev: "top-1/2 left-1 -translate-y-1/2",
6984
+ scrollNext: "top-1/2 right-1 -translate-y-1/2"
6985
+ },
6843
6986
  start: {
6844
- tabList: "flex-col",
6987
+ scroller: "h-full",
6988
+ tabList: "min-w-0 flex-col",
6845
6989
  panel: "py-0 px-3",
6846
- tabWrapper: "flex"
6990
+ tabWrapper: "flex",
6991
+ scrollPrev: "top-1 left-1/2 -translate-x-1/2",
6992
+ scrollNext: "bottom-1 left-1/2 -translate-x-1/2"
6847
6993
  },
6848
6994
  end: {
6849
- tabList: "flex-col",
6995
+ scroller: "h-full",
6996
+ tabList: "min-w-0 flex-col",
6850
6997
  panel: "py-0 px-3",
6851
- tabWrapper: "flex flex-row-reverse"
6998
+ tabWrapper: "flex flex-row-reverse",
6999
+ scrollPrev: "top-1 left-1/2 -translate-x-1/2",
7000
+ scrollNext: "bottom-1 left-1/2 -translate-x-1/2"
6852
7001
  },
6853
7002
  bottom: {
6854
- tabWrapper: "flex flex-col-reverse"
7003
+ tabWrapper: "flex flex-col-reverse",
7004
+ scrollPrev: "top-1/2 left-1 -translate-y-1/2",
7005
+ scrollNext: "top-1/2 right-1 -translate-y-1/2"
6855
7006
  }
6856
7007
  }
6857
7008
  },
@@ -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/form.ts
6
6
  var form = tv({
@@ -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/shimmer-text.ts
6
6
  var shimmerText = tv({
@@ -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/spacer.ts
6
6
  var spacer = tv({
@@ -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/spinner.ts
6
6
  var spinner = tv({
@@ -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/divider.ts
6
6
  var divider = tv({
@@ -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({