@tribepad/themis 1.0.0 → 1.0.1

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 (326) hide show
  1. package/dist/elements/Accordion/index.js +325 -66
  2. package/dist/elements/Accordion/index.js.map +1 -1
  3. package/dist/elements/Accordion/index.mjs +317 -3
  4. package/dist/elements/Accordion/index.mjs.map +1 -1
  5. package/dist/elements/Avatar/index.js +461 -45
  6. package/dist/elements/Avatar/index.js.map +1 -1
  7. package/dist/elements/Avatar/index.mjs +456 -3
  8. package/dist/elements/Avatar/index.mjs.map +1 -1
  9. package/dist/elements/Badge/index.js +238 -36
  10. package/dist/elements/Badge/index.js.map +1 -1
  11. package/dist/elements/Badge/index.mjs +234 -4
  12. package/dist/elements/Badge/index.mjs.map +1 -1
  13. package/dist/elements/Breadcrumbs/index.js +808 -39
  14. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  15. package/dist/elements/Breadcrumbs/index.mjs +810 -7
  16. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  17. package/dist/elements/Button/index.js +282 -19
  18. package/dist/elements/Button/index.js.map +1 -1
  19. package/dist/elements/Button/index.mjs +283 -4
  20. package/dist/elements/Button/index.mjs.map +1 -1
  21. package/dist/elements/ButtonGroup/index.js +229 -56
  22. package/dist/elements/ButtonGroup/index.js.map +1 -1
  23. package/dist/elements/ButtonGroup/index.mjs +222 -3
  24. package/dist/elements/ButtonGroup/index.mjs.map +1 -1
  25. package/dist/elements/Card/Card.d.ts.map +1 -1
  26. package/dist/elements/Card/index.js +563 -67
  27. package/dist/elements/Card/index.js.map +1 -1
  28. package/dist/elements/Card/index.mjs +560 -6
  29. package/dist/elements/Card/index.mjs.map +1 -1
  30. package/dist/elements/Carousel/index.js +782 -14
  31. package/dist/elements/Carousel/index.js.map +1 -1
  32. package/dist/elements/Carousel/index.mjs +786 -8
  33. package/dist/elements/Carousel/index.mjs.map +1 -1
  34. package/dist/elements/Chart/index.js +1833 -36
  35. package/dist/elements/Chart/index.js.map +1 -1
  36. package/dist/elements/Chart/index.mjs +1832 -4
  37. package/dist/elements/Chart/index.mjs.map +1 -1
  38. package/dist/elements/Checkbox/index.js +310 -39
  39. package/dist/elements/Checkbox/index.js.map +1 -1
  40. package/dist/elements/Checkbox/index.mjs +306 -4
  41. package/dist/elements/Checkbox/index.mjs.map +1 -1
  42. package/dist/elements/CheckboxGroup/index.js +445 -59
  43. package/dist/elements/CheckboxGroup/index.js.map +1 -1
  44. package/dist/elements/CheckboxGroup/index.mjs +439 -4
  45. package/dist/elements/CheckboxGroup/index.mjs.map +1 -1
  46. package/dist/elements/DatePicker/index.js +871 -89
  47. package/dist/elements/DatePicker/index.js.map +1 -1
  48. package/dist/elements/DatePicker/index.mjs +853 -4
  49. package/dist/elements/DatePicker/index.mjs.map +1 -1
  50. package/dist/elements/Dropdown/index.js +189 -35
  51. package/dist/elements/Dropdown/index.js.map +1 -1
  52. package/dist/elements/Dropdown/index.mjs +184 -2
  53. package/dist/elements/Dropdown/index.mjs.map +1 -1
  54. package/dist/elements/FileField/index.js +1532 -129
  55. package/dist/elements/FileField/index.js.map +1 -1
  56. package/dist/elements/FileField/index.mjs +1507 -7
  57. package/dist/elements/FileField/index.mjs.map +1 -1
  58. package/dist/elements/FormLayout/index.js +166 -11
  59. package/dist/elements/FormLayout/index.js.map +1 -1
  60. package/dist/elements/FormLayout/index.mjs +167 -2
  61. package/dist/elements/FormLayout/index.mjs.map +1 -1
  62. package/dist/elements/Modal/index.js +228 -46
  63. package/dist/elements/Modal/index.js.map +1 -1
  64. package/dist/elements/Modal/index.mjs +220 -1
  65. package/dist/elements/Modal/index.mjs.map +1 -1
  66. package/dist/elements/NumberField/index.js +659 -48
  67. package/dist/elements/NumberField/index.js.map +1 -1
  68. package/dist/elements/NumberField/index.mjs +654 -6
  69. package/dist/elements/NumberField/index.mjs.map +1 -1
  70. package/dist/elements/OTPInput/index.js +729 -6
  71. package/dist/elements/OTPInput/index.js.map +1 -1
  72. package/dist/elements/OTPInput/index.mjs +732 -2
  73. package/dist/elements/OTPInput/index.mjs.map +1 -1
  74. package/dist/elements/Panel/index.js +326 -27
  75. package/dist/elements/Panel/index.js.map +1 -1
  76. package/dist/elements/Panel/index.mjs +323 -2
  77. package/dist/elements/Panel/index.mjs.map +1 -1
  78. package/dist/elements/Progress/index.js +181 -22
  79. package/dist/elements/Progress/index.js.map +1 -1
  80. package/dist/elements/Progress/index.mjs +181 -3
  81. package/dist/elements/Progress/index.mjs.map +1 -1
  82. package/dist/elements/RadioGroup/index.js +358 -34
  83. package/dist/elements/RadioGroup/index.js.map +1 -1
  84. package/dist/elements/RadioGroup/index.mjs +359 -4
  85. package/dist/elements/RadioGroup/index.mjs.map +1 -1
  86. package/dist/elements/Resizable/components/ResizableHandle.d.ts +0 -8
  87. package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -1
  88. package/dist/elements/Resizable/components/ResizablePanel.d.ts +0 -8
  89. package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -1
  90. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +0 -8
  91. package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -1
  92. package/dist/elements/Resizable/components/ResizablePopover.d.ts +0 -8
  93. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -1
  94. package/dist/elements/Resizable/index.js +1568 -51
  95. package/dist/elements/Resizable/index.js.map +1 -1
  96. package/dist/elements/Resizable/index.mjs +1566 -6
  97. package/dist/elements/Resizable/index.mjs.map +1 -1
  98. package/dist/elements/Select/index.js +580 -22
  99. package/dist/elements/Select/index.js.map +1 -1
  100. package/dist/elements/Select/index.mjs +582 -2
  101. package/dist/elements/Select/index.mjs.map +1 -1
  102. package/dist/elements/Skeleton/index.js +77 -15
  103. package/dist/elements/Skeleton/index.js.map +1 -1
  104. package/dist/elements/Skeleton/index.mjs +78 -3
  105. package/dist/elements/Skeleton/index.mjs.map +1 -1
  106. package/dist/elements/Switch/index.js +153 -21
  107. package/dist/elements/Switch/index.js.map +1 -1
  108. package/dist/elements/Switch/index.mjs +149 -5
  109. package/dist/elements/Switch/index.mjs.map +1 -1
  110. package/dist/elements/Table/index.js +589 -68
  111. package/dist/elements/Table/index.js.map +1 -1
  112. package/dist/elements/Table/index.mjs +578 -5
  113. package/dist/elements/Table/index.mjs.map +1 -1
  114. package/dist/elements/Tabs/index.js +328 -63
  115. package/dist/elements/Tabs/index.js.map +1 -1
  116. package/dist/elements/Tabs/index.mjs +320 -3
  117. package/dist/elements/Tabs/index.mjs.map +1 -1
  118. package/dist/elements/TextField/index.js +695 -51
  119. package/dist/elements/TextField/index.js.map +1 -1
  120. package/dist/elements/TextField/index.mjs +684 -7
  121. package/dist/elements/TextField/index.mjs.map +1 -1
  122. package/dist/elements/TimeField/index.js +244 -33
  123. package/dist/elements/TimeField/index.js.map +1 -1
  124. package/dist/elements/TimeField/index.mjs +238 -2
  125. package/dist/elements/TimeField/index.mjs.map +1 -1
  126. package/dist/elements/Toast/index.js +727 -48
  127. package/dist/elements/Toast/index.js.map +1 -1
  128. package/dist/elements/Toast/index.mjs +724 -5
  129. package/dist/elements/Toast/index.mjs.map +1 -1
  130. package/dist/elements/Tooltip/index.js +315 -49
  131. package/dist/elements/Tooltip/index.js.map +1 -1
  132. package/dist/elements/Tooltip/index.mjs +310 -4
  133. package/dist/elements/Tooltip/index.mjs.map +1 -1
  134. package/dist/elements/index.js +12417 -799
  135. package/dist/elements/index.js.map +1 -1
  136. package/dist/elements/index.mjs +12233 -40
  137. package/dist/elements/index.mjs.map +1 -1
  138. package/dist/index.js +12452 -825
  139. package/dist/index.js.map +1 -1
  140. package/dist/index.mjs +12262 -42
  141. package/dist/index.mjs.map +1 -1
  142. package/dist/schemas/index.js +47 -21
  143. package/dist/schemas/index.js.map +1 -1
  144. package/dist/schemas/index.mjs +47 -2
  145. package/dist/schemas/index.mjs.map +1 -1
  146. package/dist/styles/index.js +161 -147
  147. package/dist/styles/index.js.map +1 -1
  148. package/dist/styles/index.mjs +128 -2
  149. package/dist/styles/index.mjs.map +1 -1
  150. package/dist/utils/index.js +7 -7
  151. package/dist/utils/index.js.map +1 -1
  152. package/dist/utils/index.mjs +9 -2
  153. package/dist/utils/index.mjs.map +1 -1
  154. package/package.json +1 -1
  155. package/dist/Carousel-NTZX5TOW.js +0 -16
  156. package/dist/Carousel-NTZX5TOW.js.map +0 -1
  157. package/dist/Carousel-YH3DOQJU.mjs +0 -7
  158. package/dist/Carousel-YH3DOQJU.mjs.map +0 -1
  159. package/dist/chunk-2HIUTHMU.mjs +0 -234
  160. package/dist/chunk-2HIUTHMU.mjs.map +0 -1
  161. package/dist/chunk-34GTFTDO.js +0 -431
  162. package/dist/chunk-34GTFTDO.js.map +0 -1
  163. package/dist/chunk-3H7ASYR7.js +0 -250
  164. package/dist/chunk-3H7ASYR7.js.map +0 -1
  165. package/dist/chunk-3IEN7JOP.js +0 -316
  166. package/dist/chunk-3IEN7JOP.js.map +0 -1
  167. package/dist/chunk-3JHN4GAL.js +0 -326
  168. package/dist/chunk-3JHN4GAL.js.map +0 -1
  169. package/dist/chunk-3MJPASQU.js +0 -232
  170. package/dist/chunk-3MJPASQU.js.map +0 -1
  171. package/dist/chunk-3XD2JUL3.js +0 -572
  172. package/dist/chunk-3XD2JUL3.js.map +0 -1
  173. package/dist/chunk-3YOY2VJ6.js +0 -189
  174. package/dist/chunk-3YOY2VJ6.js.map +0 -1
  175. package/dist/chunk-4DU5JSXB.js +0 -408
  176. package/dist/chunk-4DU5JSXB.js.map +0 -1
  177. package/dist/chunk-4E4E2GSS.js +0 -352
  178. package/dist/chunk-4E4E2GSS.js.map +0 -1
  179. package/dist/chunk-4NHAP4AN.mjs +0 -3
  180. package/dist/chunk-4NHAP4AN.mjs.map +0 -1
  181. package/dist/chunk-4S33J5NY.mjs +0 -415
  182. package/dist/chunk-4S33J5NY.mjs.map +0 -1
  183. package/dist/chunk-5SMGRT3G.mjs +0 -354
  184. package/dist/chunk-5SMGRT3G.mjs.map +0 -1
  185. package/dist/chunk-5SVLJN2C.mjs +0 -22
  186. package/dist/chunk-5SVLJN2C.mjs.map +0 -1
  187. package/dist/chunk-66WTU4EB.mjs +0 -299
  188. package/dist/chunk-66WTU4EB.mjs.map +0 -1
  189. package/dist/chunk-6S25NMOT.mjs +0 -335
  190. package/dist/chunk-6S25NMOT.mjs.map +0 -1
  191. package/dist/chunk-6SP7UB3D.js +0 -4
  192. package/dist/chunk-6SP7UB3D.js.map +0 -1
  193. package/dist/chunk-6TYWWQHM.mjs +0 -565
  194. package/dist/chunk-6TYWWQHM.mjs.map +0 -1
  195. package/dist/chunk-A3YUJA6W.mjs +0 -384
  196. package/dist/chunk-A3YUJA6W.mjs.map +0 -1
  197. package/dist/chunk-A6KEDVUR.js +0 -61
  198. package/dist/chunk-A6KEDVUR.js.map +0 -1
  199. package/dist/chunk-A77RUEWL.js +0 -730
  200. package/dist/chunk-A77RUEWL.js.map +0 -1
  201. package/dist/chunk-AA4IKMPE.mjs +0 -3
  202. package/dist/chunk-AA4IKMPE.mjs.map +0 -1
  203. package/dist/chunk-AKIA6GW6.mjs +0 -163
  204. package/dist/chunk-AKIA6GW6.mjs.map +0 -1
  205. package/dist/chunk-AL6P275L.mjs +0 -435
  206. package/dist/chunk-AL6P275L.mjs.map +0 -1
  207. package/dist/chunk-AZ3RJYTB.js +0 -37
  208. package/dist/chunk-AZ3RJYTB.js.map +0 -1
  209. package/dist/chunk-B5Q4UPL6.js +0 -32
  210. package/dist/chunk-B5Q4UPL6.js.map +0 -1
  211. package/dist/chunk-B6DHPMDP.mjs +0 -335
  212. package/dist/chunk-B6DHPMDP.mjs.map +0 -1
  213. package/dist/chunk-BDXKKMBZ.mjs +0 -184
  214. package/dist/chunk-BDXKKMBZ.mjs.map +0 -1
  215. package/dist/chunk-BL6E2DLZ.mjs +0 -52
  216. package/dist/chunk-BL6E2DLZ.mjs.map +0 -1
  217. package/dist/chunk-CGFDS4XS.mjs +0 -121
  218. package/dist/chunk-CGFDS4XS.mjs.map +0 -1
  219. package/dist/chunk-CJIW5TKI.js +0 -139
  220. package/dist/chunk-CJIW5TKI.js.map +0 -1
  221. package/dist/chunk-CKNISJOQ.js +0 -314
  222. package/dist/chunk-CKNISJOQ.js.map +0 -1
  223. package/dist/chunk-D6CBOECS.mjs +0 -1757
  224. package/dist/chunk-D6CBOECS.mjs.map +0 -1
  225. package/dist/chunk-DDWEVC2S.js +0 -166
  226. package/dist/chunk-DDWEVC2S.js.map +0 -1
  227. package/dist/chunk-DZ556D2F.mjs +0 -176
  228. package/dist/chunk-DZ556D2F.mjs.map +0 -1
  229. package/dist/chunk-E2KQFV3O.mjs +0 -10
  230. package/dist/chunk-E2KQFV3O.mjs.map +0 -1
  231. package/dist/chunk-EMMLADSC.js +0 -126
  232. package/dist/chunk-EMMLADSC.js.map +0 -1
  233. package/dist/chunk-EP4WOI5D.mjs +0 -926
  234. package/dist/chunk-EP4WOI5D.mjs.map +0 -1
  235. package/dist/chunk-FJRXLJC2.mjs +0 -160
  236. package/dist/chunk-FJRXLJC2.mjs.map +0 -1
  237. package/dist/chunk-FKQI434R.js +0 -345
  238. package/dist/chunk-FKQI434R.js.map +0 -1
  239. package/dist/chunk-FPKEAJRZ.mjs +0 -100
  240. package/dist/chunk-FPKEAJRZ.mjs.map +0 -1
  241. package/dist/chunk-FWQYB22U.js +0 -183
  242. package/dist/chunk-FWQYB22U.js.map +0 -1
  243. package/dist/chunk-GD5GHTMA.js +0 -189
  244. package/dist/chunk-GD5GHTMA.js.map +0 -1
  245. package/dist/chunk-GE5XTSDZ.js +0 -447
  246. package/dist/chunk-GE5XTSDZ.js.map +0 -1
  247. package/dist/chunk-GVE47ZAX.mjs +0 -32
  248. package/dist/chunk-GVE47ZAX.mjs.map +0 -1
  249. package/dist/chunk-HK46BT5U.mjs +0 -18
  250. package/dist/chunk-HK46BT5U.mjs.map +0 -1
  251. package/dist/chunk-HQVRMR6N.js +0 -365
  252. package/dist/chunk-HQVRMR6N.js.map +0 -1
  253. package/dist/chunk-HSGBJPJO.mjs +0 -398
  254. package/dist/chunk-HSGBJPJO.mjs.map +0 -1
  255. package/dist/chunk-I3AUTOMZ.mjs +0 -125
  256. package/dist/chunk-I3AUTOMZ.mjs.map +0 -1
  257. package/dist/chunk-IEI5LD5C.mjs +0 -1161
  258. package/dist/chunk-IEI5LD5C.mjs.map +0 -1
  259. package/dist/chunk-IIPTC2X7.mjs +0 -118
  260. package/dist/chunk-IIPTC2X7.mjs.map +0 -1
  261. package/dist/chunk-J7TLHF2Q.js +0 -4
  262. package/dist/chunk-J7TLHF2Q.js.map +0 -1
  263. package/dist/chunk-JJOWXFXQ.mjs +0 -765
  264. package/dist/chunk-JJOWXFXQ.mjs.map +0 -1
  265. package/dist/chunk-JPTSS2OA.mjs +0 -3
  266. package/dist/chunk-JPTSS2OA.mjs.map +0 -1
  267. package/dist/chunk-KFXXRLTP.js +0 -396
  268. package/dist/chunk-KFXXRLTP.js.map +0 -1
  269. package/dist/chunk-KPRRBSG6.mjs +0 -272
  270. package/dist/chunk-KPRRBSG6.mjs.map +0 -1
  271. package/dist/chunk-NFSBGRDB.mjs +0 -57
  272. package/dist/chunk-NFSBGRDB.mjs.map +0 -1
  273. package/dist/chunk-NGJVCFTM.js +0 -219
  274. package/dist/chunk-NGJVCFTM.js.map +0 -1
  275. package/dist/chunk-NSQ6MZJ6.mjs +0 -728
  276. package/dist/chunk-NSQ6MZJ6.mjs.map +0 -1
  277. package/dist/chunk-NYQYHT76.mjs +0 -296
  278. package/dist/chunk-NYQYHT76.mjs.map +0 -1
  279. package/dist/chunk-OLJJGI5B.js +0 -1193
  280. package/dist/chunk-OLJJGI5B.js.map +0 -1
  281. package/dist/chunk-Q3572X2J.js +0 -292
  282. package/dist/chunk-Q3572X2J.js.map +0 -1
  283. package/dist/chunk-QH7N7D4I.mjs +0 -210
  284. package/dist/chunk-QH7N7D4I.mjs.map +0 -1
  285. package/dist/chunk-R7XUIV25.js +0 -466
  286. package/dist/chunk-R7XUIV25.js.map +0 -1
  287. package/dist/chunk-RFFO4KPM.js +0 -135
  288. package/dist/chunk-RFFO4KPM.js.map +0 -1
  289. package/dist/chunk-RFX7QKA7.mjs +0 -180
  290. package/dist/chunk-RFX7QKA7.mjs.map +0 -1
  291. package/dist/chunk-SN5LFAP3.js +0 -940
  292. package/dist/chunk-SN5LFAP3.js.map +0 -1
  293. package/dist/chunk-T4COXKQ3.js +0 -24
  294. package/dist/chunk-T4COXKQ3.js.map +0 -1
  295. package/dist/chunk-TS54QM27.js +0 -125
  296. package/dist/chunk-TS54QM27.js.map +0 -1
  297. package/dist/chunk-UE2S4PCX.mjs +0 -220
  298. package/dist/chunk-UE2S4PCX.mjs.map +0 -1
  299. package/dist/chunk-UTW3QX2A.mjs +0 -282
  300. package/dist/chunk-UTW3QX2A.mjs.map +0 -1
  301. package/dist/chunk-V74LGMAE.js +0 -1767
  302. package/dist/chunk-V74LGMAE.js.map +0 -1
  303. package/dist/chunk-VIREG536.js +0 -12
  304. package/dist/chunk-VIREG536.js.map +0 -1
  305. package/dist/chunk-VY7M7346.js +0 -4
  306. package/dist/chunk-VY7M7346.js.map +0 -1
  307. package/dist/chunk-W3TJOO7H.mjs +0 -319
  308. package/dist/chunk-W3TJOO7H.mjs.map +0 -1
  309. package/dist/chunk-WIUOB36M.js +0 -54
  310. package/dist/chunk-WIUOB36M.js.map +0 -1
  311. package/dist/chunk-WJGLM4CY.js +0 -291
  312. package/dist/chunk-WJGLM4CY.js.map +0 -1
  313. package/dist/chunk-WNURH5OO.mjs +0 -453
  314. package/dist/chunk-WNURH5OO.mjs.map +0 -1
  315. package/dist/chunk-X25TNRSD.mjs +0 -364
  316. package/dist/chunk-X25TNRSD.mjs.map +0 -1
  317. package/dist/chunk-Y3GT7ETK.js +0 -108
  318. package/dist/chunk-Y3GT7ETK.js.map +0 -1
  319. package/dist/chunk-Z4FRNOF6.mjs +0 -115
  320. package/dist/chunk-Z4FRNOF6.mjs.map +0 -1
  321. package/dist/chunk-ZMYLD3BN.js +0 -166
  322. package/dist/chunk-ZMYLD3BN.js.map +0 -1
  323. package/dist/chunk-ZP2KV6EX.js +0 -815
  324. package/dist/chunk-ZP2KV6EX.js.map +0 -1
  325. package/dist/chunk-ZVKXFELU.js +0 -366
  326. package/dist/chunk-ZVKXFELU.js.map +0 -1
@@ -1,7 +1,580 @@
1
- export { Cell, Column, Row, Table, TableBody, TableCaption, TableFooter, TableHeader, cellVariants, columnVariants, rowVariants, tableCaptionVariants, tableContainerVariants, tableFooterVariants, tableHeaderVariants, tableVariants } from '../../chunk-6S25NMOT.mjs';
2
- import '../../chunk-UTW3QX2A.mjs';
3
- import '../../chunk-HK46BT5U.mjs';
4
- import '../../chunk-E2KQFV3O.mjs';
5
- import '../../chunk-5SVLJN2C.mjs';
1
+ "use client";
2
+ import { forwardRef, createContext, useContext, isValidElement, cloneElement } from 'react';
3
+ import { Checkbox as Checkbox$1, Table as Table$1, Column as Column$1, Cell as Cell$1, useTableOptions, TableHeader as TableHeader$1, Collection, TableBody as TableBody$1, Row as Row$1 } from 'react-aria-components';
4
+ import { cva } from 'class-variance-authority';
5
+ import { clsx } from 'clsx';
6
+ import { twMerge } from 'tailwind-merge';
7
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
+ import { ChevronUp, ChevronDown } from 'lucide-react';
9
+
10
+ // src/elements/Table/Table.tsx
11
+ function cn(...inputs) {
12
+ return twMerge(clsx(inputs));
13
+ }
14
+
15
+ // src/styles/interaction-states.ts
16
+ var FOCUS_STYLES = "data-[focus-visible]:ring-2 data-[focus-visible]:ring-[var(--themis-ring)] data-[focus-visible]:ring-offset-2";
17
+ var HIGH_CONTRAST_FOCUS = "hc:data-[focus-visible]:outline hc:data-[focus-visible]:outline-4 hc:data-[focus-visible]:outline-offset-2 hc:data-[focus-visible]:outline-foreground";
18
+ var checkboxContainerVariants = cva(
19
+ [
20
+ "group inline-flex items-center gap-2 cursor-pointer",
21
+ "transition-colors duration-200",
22
+ "rtl:flex-row-reverse",
23
+ FOCUS_STYLES,
24
+ HIGH_CONTRAST_FOCUS
25
+ ].join(" "),
26
+ {
27
+ variants: {
28
+ size: {
29
+ sm: "min-h-[44px] text-sm",
30
+ default: "min-h-[44px] text-sm",
31
+ lg: "min-h-[48px] text-base"
32
+ },
33
+ isDisabled: {
34
+ true: "opacity-50 cursor-not-allowed",
35
+ false: ""
36
+ }
37
+ },
38
+ defaultVariants: {
39
+ size: "default",
40
+ isDisabled: false
41
+ }
42
+ }
43
+ );
44
+ var checkboxIndicatorVariants = cva(
45
+ "flex-shrink-0 rounded-sm border-2 flex items-center justify-center transition-colors duration-200",
46
+ {
47
+ variants: {
48
+ variant: {
49
+ default: [
50
+ "border-[var(--border)]",
51
+ "data-[selected]:border-[var(--primary)]",
52
+ "data-[selected]:bg-[var(--primary)]",
53
+ "data-[indeterminate]:border-[var(--primary)]",
54
+ "data-[indeterminate]:bg-[var(--primary)]"
55
+ ].join(" "),
56
+ destructive: [
57
+ "border-[var(--border)]",
58
+ "data-[selected]:border-[var(--destructive)]",
59
+ "data-[selected]:bg-[var(--destructive)]",
60
+ "data-[indeterminate]:border-[var(--destructive)]",
61
+ "data-[indeterminate]:bg-[var(--destructive)]"
62
+ ].join(" ")
63
+ },
64
+ size: {
65
+ sm: "h-4 w-4",
66
+ default: "h-5 w-5",
67
+ lg: "h-6 w-6"
68
+ },
69
+ isInvalid: {
70
+ true: "border-[var(--destructive)]",
71
+ false: ""
72
+ }
73
+ },
74
+ defaultVariants: {
75
+ variant: "default",
76
+ size: "default",
77
+ isInvalid: false
78
+ }
79
+ }
80
+ );
81
+ var checkmarkVariants = cva(
82
+ [
83
+ "transition-transform duration-200",
84
+ "[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)]",
85
+ "motion-reduce:transition-none",
86
+ "scale-0 data-[selected]:scale-100 data-[indeterminate]:scale-100"
87
+ ].join(" "),
88
+ {
89
+ variants: {
90
+ variant: {
91
+ default: "text-[var(--primary-foreground)]",
92
+ destructive: "text-[var(--destructive-foreground)]"
93
+ },
94
+ size: {
95
+ sm: "h-3 w-3",
96
+ default: "h-3.5 w-3.5",
97
+ lg: "h-4 w-4"
98
+ }
99
+ },
100
+ defaultVariants: {
101
+ variant: "default",
102
+ size: "default"
103
+ }
104
+ }
105
+ );
106
+ function CheckmarkIcon({ className, ...props }) {
107
+ return /* @__PURE__ */ jsx(
108
+ "svg",
109
+ {
110
+ className,
111
+ viewBox: "0 0 24 24",
112
+ fill: "none",
113
+ stroke: "currentColor",
114
+ strokeWidth: 3,
115
+ strokeLinecap: "round",
116
+ strokeLinejoin: "round",
117
+ "aria-hidden": "true",
118
+ ...props,
119
+ children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" })
120
+ }
121
+ );
122
+ }
123
+ function MinusIcon({ className, ...props }) {
124
+ return /* @__PURE__ */ jsx(
125
+ "svg",
126
+ {
127
+ className,
128
+ viewBox: "0 0 24 24",
129
+ fill: "none",
130
+ stroke: "currentColor",
131
+ strokeWidth: 3,
132
+ strokeLinecap: "round",
133
+ strokeLinejoin: "round",
134
+ "aria-hidden": "true",
135
+ ...props,
136
+ children: /* @__PURE__ */ jsx("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
137
+ }
138
+ );
139
+ }
140
+ var Checkbox = forwardRef(
141
+ ({
142
+ isSelected,
143
+ defaultSelected,
144
+ isDisabled,
145
+ isReadOnly,
146
+ isIndeterminate,
147
+ isInvalid = false,
148
+ isRequired = false,
149
+ onChange,
150
+ onFocusChange,
151
+ value,
152
+ name,
153
+ size = "default",
154
+ variant = "default",
155
+ label,
156
+ description,
157
+ selectedIcon,
158
+ className,
159
+ id,
160
+ "aria-label": ariaLabel,
161
+ "aria-labelledby": ariaLabelledby,
162
+ "aria-describedby": ariaDescribedby,
163
+ "data-testid": dataTestId,
164
+ slot
165
+ }, ref) => {
166
+ const computedIsDisabled = isDisabled || void 0;
167
+ const computedIsReadOnly = isReadOnly || void 0;
168
+ const computedIsIndeterminate = isIndeterminate || void 0;
169
+ const renderIcon = (isChecked, isIndet) => {
170
+ const iconClassName = cn(checkmarkVariants({ variant, size }));
171
+ const dataSelected = isChecked || void 0;
172
+ const dataIndeterminate = isIndet || void 0;
173
+ if (isIndet) {
174
+ return /* @__PURE__ */ jsx(
175
+ MinusIcon,
176
+ {
177
+ className: iconClassName,
178
+ "data-selected": dataSelected,
179
+ "data-indeterminate": dataIndeterminate
180
+ }
181
+ );
182
+ }
183
+ if (selectedIcon && isChecked) {
184
+ if (isValidElement(selectedIcon)) {
185
+ const iconElement = selectedIcon;
186
+ return cloneElement(iconElement, {
187
+ className: cn(iconClassName, iconElement.props.className),
188
+ "data-selected": dataSelected
189
+ });
190
+ }
191
+ return /* @__PURE__ */ jsx("span", { className: iconClassName, "data-selected": dataSelected, children: selectedIcon });
192
+ }
193
+ return /* @__PURE__ */ jsx(
194
+ CheckmarkIcon,
195
+ {
196
+ className: iconClassName,
197
+ "data-selected": dataSelected,
198
+ "data-indeterminate": dataIndeterminate
199
+ }
200
+ );
201
+ };
202
+ return /* @__PURE__ */ jsx(
203
+ Checkbox$1,
204
+ {
205
+ ref,
206
+ id,
207
+ isSelected,
208
+ defaultSelected,
209
+ isDisabled: computedIsDisabled,
210
+ isReadOnly: computedIsReadOnly,
211
+ isIndeterminate: computedIsIndeterminate,
212
+ isInvalid,
213
+ isRequired,
214
+ onChange,
215
+ onFocusChange,
216
+ value,
217
+ name,
218
+ slot,
219
+ "aria-label": ariaLabel,
220
+ "aria-labelledby": ariaLabelledby,
221
+ "aria-describedby": ariaDescribedby,
222
+ "data-testid": dataTestId,
223
+ className: (renderProps) => cn(
224
+ checkboxContainerVariants({
225
+ size,
226
+ isDisabled: renderProps.isDisabled
227
+ }),
228
+ className
229
+ ),
230
+ children: (renderProps) => /* @__PURE__ */ jsxs(Fragment, { children: [
231
+ /* @__PURE__ */ jsx(
232
+ "div",
233
+ {
234
+ className: checkboxIndicatorVariants({
235
+ variant,
236
+ size,
237
+ isInvalid: renderProps.isInvalid
238
+ }),
239
+ "data-selected": renderProps.isSelected || void 0,
240
+ "data-indeterminate": renderProps.isIndeterminate || void 0,
241
+ children: renderIcon(renderProps.isSelected, renderProps.isIndeterminate)
242
+ }
243
+ ),
244
+ (label || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
245
+ label && /* @__PURE__ */ jsx("span", { className: "font-medium text-[var(--content-foreground)]", children: label }),
246
+ description && /* @__PURE__ */ jsx("span", { className: "text-sm text-[var(--menu-muted)]", children: description })
247
+ ] })
248
+ ] })
249
+ }
250
+ );
251
+ }
252
+ );
253
+ Checkbox.displayName = "Checkbox";
254
+ var TableContext = createContext({
255
+ variant: "default",
256
+ size: "default",
257
+ selectionMode: "none",
258
+ stickyHeader: false
259
+ });
260
+ var tableContainerVariants = cva(["relative w-full overflow-auto"]);
261
+ var tableVariants = cva(
262
+ ["w-full caption-bottom text-sm", "border-collapse"],
263
+ {
264
+ variants: {
265
+ variant: {
266
+ default: "",
267
+ bordered: "border border-[var(--border)] rounded-md",
268
+ striped: ""
269
+ }
270
+ },
271
+ defaultVariants: {
272
+ variant: "default"
273
+ }
274
+ }
275
+ );
276
+ var tableHeaderVariants = cva(["[&_tr]:border-b"], {
277
+ variants: {
278
+ sticky: {
279
+ true: "sticky top-0 z-10 bg-[var(--content-background)]",
280
+ false: ""
281
+ }
282
+ },
283
+ defaultVariants: {
284
+ sticky: false
285
+ }
286
+ });
287
+ var tableFooterVariants = cva([
288
+ "border-t border-[var(--border)]",
289
+ "bg-[var(--accent-background)]/50",
290
+ "font-medium",
291
+ "[&>tr]:last:border-b-0"
292
+ ]);
293
+ var tableCaptionVariants = cva([
294
+ "mt-4 text-sm text-[var(--menu-muted)]"
295
+ ]);
296
+ var columnVariants = cva(
297
+ [
298
+ "h-12 px-4 text-left align-middle font-medium",
299
+ "text-[var(--menu-muted)]",
300
+ "[&:has([role=checkbox])]:pr-0",
301
+ "select-none",
302
+ "focus-visible:outline-none focus-visible:ring-2",
303
+ "focus-visible:ring-[var(--ring)] focus-visible:ring-inset"
304
+ ],
305
+ {
306
+ variants: {
307
+ allowsSorting: {
308
+ true: "cursor-pointer hover:bg-[var(--accent)]/50",
309
+ false: ""
310
+ },
311
+ align: {
312
+ start: "text-start",
313
+ center: "text-center",
314
+ end: "text-end"
315
+ },
316
+ size: {
317
+ sm: "h-10 px-3 text-xs",
318
+ default: "h-12 px-4 text-sm",
319
+ lg: "h-14 px-5 text-base"
320
+ }
321
+ },
322
+ defaultVariants: {
323
+ allowsSorting: false,
324
+ align: "start",
325
+ size: "default"
326
+ }
327
+ }
328
+ );
329
+ var rowVariants = cva(
330
+ [
331
+ "border-b border-[var(--border)]",
332
+ "transition-colors",
333
+ "focus-visible:outline-none focus-visible:ring-2",
334
+ "focus-visible:ring-[var(--ring)] focus-visible:ring-inset",
335
+ "hover:bg-[var(--accent-background)]/50",
336
+ "data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
337
+ ],
338
+ {
339
+ variants: {
340
+ isSelected: {
341
+ true: "bg-[var(--accent)] data-[selected]:bg-[var(--accent)]",
342
+ false: ""
343
+ },
344
+ variant: {
345
+ default: "",
346
+ striped: "even:bg-[var(--accent-background)]/30"
347
+ }
348
+ },
349
+ defaultVariants: {
350
+ isSelected: false,
351
+ variant: "default"
352
+ }
353
+ }
354
+ );
355
+ var cellVariants = cva(
356
+ ["p-4 align-middle", "[&:has([role=checkbox])]:pr-0"],
357
+ {
358
+ variants: {
359
+ align: {
360
+ start: "text-start",
361
+ center: "text-center",
362
+ end: "text-end"
363
+ },
364
+ size: {
365
+ sm: "p-3 text-xs",
366
+ default: "p-4 text-sm",
367
+ lg: "p-5 text-base"
368
+ },
369
+ isRowHeader: {
370
+ true: "font-medium",
371
+ false: ""
372
+ }
373
+ },
374
+ defaultVariants: {
375
+ align: "start",
376
+ size: "default",
377
+ isRowHeader: false
378
+ }
379
+ }
380
+ );
381
+ var Table = forwardRef(
382
+ ({
383
+ className,
384
+ variant = "default",
385
+ size = "default",
386
+ stickyHeader = false,
387
+ selectionMode = "none",
388
+ selectionBehavior = "toggle",
389
+ disallowEmptySelection = false,
390
+ disabledBehavior = "selection",
391
+ selectedKeys,
392
+ defaultSelectedKeys,
393
+ onSelectionChange,
394
+ disabledKeys,
395
+ sortDescriptor,
396
+ onSortChange,
397
+ onRowAction,
398
+ children,
399
+ ...props
400
+ }, ref) => {
401
+ return /* @__PURE__ */ jsx(TableContext.Provider, { value: { variant, size, selectionMode, stickyHeader }, children: /* @__PURE__ */ jsx(
402
+ "div",
403
+ {
404
+ className: cn(tableContainerVariants(), className),
405
+ "data-testid": "table-container",
406
+ children: /* @__PURE__ */ jsx(
407
+ Table$1,
408
+ {
409
+ ref,
410
+ className: cn(tableVariants({ variant })),
411
+ selectionMode,
412
+ selectionBehavior,
413
+ disallowEmptySelection,
414
+ disabledBehavior,
415
+ selectedKeys,
416
+ defaultSelectedKeys,
417
+ onSelectionChange,
418
+ disabledKeys,
419
+ sortDescriptor,
420
+ onSortChange,
421
+ onRowAction,
422
+ "data-testid": "table",
423
+ "data-variant": variant,
424
+ "data-size": size,
425
+ ...props,
426
+ children
427
+ }
428
+ )
429
+ }
430
+ ) });
431
+ }
432
+ );
433
+ Table.displayName = "Table";
434
+ function TableHeaderInner({ className, children, columns, ...props }, ref) {
435
+ const { size, selectionMode, stickyHeader } = useContext(TableContext);
436
+ const { allowsDragging } = useTableOptions();
437
+ return /* @__PURE__ */ jsxs(
438
+ TableHeader$1,
439
+ {
440
+ ref,
441
+ className: cn(tableHeaderVariants({ sticky: stickyHeader }), className),
442
+ "data-testid": "table-header",
443
+ ...props,
444
+ children: [
445
+ selectionMode === "multiple" && /* @__PURE__ */ jsx(Column$1, { className: cn(columnVariants({ size }), "w-12"), children: /* @__PURE__ */ jsx(Checkbox, { slot: "selection", "aria-label": "Select all", size }) }),
446
+ allowsDragging && /* @__PURE__ */ jsx(Column$1, {}),
447
+ columns ? /* @__PURE__ */ jsx(Collection, { items: columns, children }) : children
448
+ ]
449
+ }
450
+ );
451
+ }
452
+ var TableHeader = forwardRef(TableHeaderInner);
453
+ TableHeader.displayName = "TableHeader";
454
+ function TableBodyInner({ className, children, items, renderEmptyState, ...props }, ref) {
455
+ return /* @__PURE__ */ jsx(
456
+ TableBody$1,
457
+ {
458
+ ref,
459
+ className: cn(className),
460
+ items,
461
+ renderEmptyState: renderEmptyState ? () => /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: 99, className: "text-center p-8", children: renderEmptyState() }) }) : void 0,
462
+ "data-testid": "table-body",
463
+ ...props,
464
+ children
465
+ }
466
+ );
467
+ }
468
+ var TableBody = forwardRef(TableBodyInner);
469
+ TableBody.displayName = "TableBody";
470
+ var TableFooter = forwardRef(
471
+ ({ className, children, ...props }, ref) => {
472
+ return /* @__PURE__ */ jsx(
473
+ "tfoot",
474
+ {
475
+ ref,
476
+ className: cn(tableFooterVariants(), className),
477
+ "data-testid": "table-footer",
478
+ ...props,
479
+ children
480
+ }
481
+ );
482
+ }
483
+ );
484
+ TableFooter.displayName = "TableFooter";
485
+ var TableCaption = forwardRef(
486
+ ({ className, children, ...props }, ref) => {
487
+ return /* @__PURE__ */ jsx(
488
+ "caption",
489
+ {
490
+ ref,
491
+ className: cn(tableCaptionVariants(), className),
492
+ "data-testid": "table-caption",
493
+ ...props,
494
+ children
495
+ }
496
+ );
497
+ }
498
+ );
499
+ TableCaption.displayName = "TableCaption";
500
+ var Column = forwardRef(
501
+ ({
502
+ className,
503
+ children,
504
+ isRowHeader = false,
505
+ allowsSorting = false,
506
+ align = "start",
507
+ width,
508
+ minWidth,
509
+ maxWidth,
510
+ ...props
511
+ }, ref) => {
512
+ const { size } = useContext(TableContext);
513
+ return /* @__PURE__ */ jsx(
514
+ Column$1,
515
+ {
516
+ ref,
517
+ isRowHeader,
518
+ allowsSorting,
519
+ width,
520
+ minWidth,
521
+ maxWidth,
522
+ className: cn(columnVariants({ allowsSorting, align, size }), className),
523
+ ...props,
524
+ children: ({ allowsSorting: canSort, sortDirection }) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
525
+ /* @__PURE__ */ jsx("span", { children }),
526
+ canSort && sortDirection && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", "data-sort-direction": sortDirection, children: sortDirection === "ascending" ? /* @__PURE__ */ jsx(ChevronUp, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" }) })
527
+ ] })
528
+ }
529
+ );
530
+ }
531
+ );
532
+ Column.displayName = "Column";
533
+ function RowInner({ className, children, columns, href, isDisabled, ...props }, ref) {
534
+ const { variant, size, selectionMode } = useContext(TableContext);
535
+ const { allowsDragging } = useTableOptions();
536
+ return /* @__PURE__ */ jsxs(
537
+ Row$1,
538
+ {
539
+ ref,
540
+ href,
541
+ isDisabled,
542
+ className: ({ isSelected, isDisabled: disabled }) => cn(
543
+ rowVariants({
544
+ isSelected,
545
+ variant: variant === "striped" ? "striped" : "default"
546
+ }),
547
+ disabled && "opacity-50",
548
+ className
549
+ ),
550
+ "data-testid": "table-row",
551
+ ...props,
552
+ children: [
553
+ selectionMode === "multiple" && /* @__PURE__ */ jsx(Cell$1, { className: cn(cellVariants({ size }), "w-12"), children: /* @__PURE__ */ jsx(Checkbox, { slot: "selection", "aria-label": "Select row", size }) }),
554
+ allowsDragging && /* @__PURE__ */ jsx(Cell$1, {}),
555
+ columns ? /* @__PURE__ */ jsx(Collection, { items: columns, children }) : children
556
+ ]
557
+ }
558
+ );
559
+ }
560
+ var Row = forwardRef(RowInner);
561
+ Row.displayName = "Row";
562
+ var Cell = forwardRef(
563
+ ({ className, children, align = "start", colSpan: _colSpan, ...props }, ref) => {
564
+ const { size } = useContext(TableContext);
565
+ return /* @__PURE__ */ jsx(
566
+ Cell$1,
567
+ {
568
+ ref,
569
+ className: cn(cellVariants({ align, size }), className),
570
+ ...props,
571
+ children
572
+ }
573
+ );
574
+ }
575
+ );
576
+ Cell.displayName = "Cell";
577
+
578
+ export { Cell, Column, Row, Table, TableBody, TableCaption, TableFooter, TableHeader, cellVariants, columnVariants, rowVariants, tableCaptionVariants, tableContainerVariants, tableFooterVariants, tableHeaderVariants, tableVariants };
6
579
  //# sourceMappingURL=index.mjs.map
7
580
  //# sourceMappingURL=index.mjs.map