@tribepad/themis 1.0.1 → 1.0.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 (308) hide show
  1. package/dist/elements/Accordion/index.js +1 -335
  2. package/dist/elements/Accordion/index.js.map +1 -1
  3. package/dist/elements/Accordion/index.mjs +1 -317
  4. package/dist/elements/Accordion/index.mjs.map +1 -1
  5. package/dist/elements/AlertDialog/AlertDialog.d.ts +43 -0
  6. package/dist/elements/AlertDialog/AlertDialog.d.ts.map +1 -0
  7. package/dist/elements/AlertDialog/AlertDialog.styles.d.ts +15 -0
  8. package/dist/elements/AlertDialog/AlertDialog.styles.d.ts.map +1 -0
  9. package/dist/elements/AlertDialog/AlertDialog.types.d.ts +72 -0
  10. package/dist/elements/AlertDialog/AlertDialog.types.d.ts.map +1 -0
  11. package/dist/elements/AlertDialog/index.d.ts +25 -0
  12. package/dist/elements/AlertDialog/index.d.ts.map +1 -0
  13. package/dist/elements/AlertDialog/index.js +3 -0
  14. package/dist/elements/AlertDialog/index.js.map +1 -0
  15. package/dist/elements/AlertDialog/index.mjs +3 -0
  16. package/dist/elements/AlertDialog/index.mjs.map +1 -0
  17. package/dist/elements/Avatar/index.js +1 -468
  18. package/dist/elements/Avatar/index.js.map +1 -1
  19. package/dist/elements/Avatar/index.mjs +1 -456
  20. package/dist/elements/Avatar/index.mjs.map +1 -1
  21. package/dist/elements/Badge/index.js +1 -243
  22. package/dist/elements/Badge/index.js.map +1 -1
  23. package/dist/elements/Badge/index.mjs +1 -234
  24. package/dist/elements/Badge/index.mjs.map +1 -1
  25. package/dist/elements/Breadcrumbs/index.js +1 -821
  26. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  27. package/dist/elements/Breadcrumbs/index.mjs +1 -810
  28. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  29. package/dist/elements/Button/Button.d.ts +26 -81
  30. package/dist/elements/Button/Button.d.ts.map +1 -1
  31. package/dist/elements/Button/Button.styles.d.ts +35 -0
  32. package/dist/elements/Button/Button.styles.d.ts.map +1 -0
  33. package/dist/elements/Button/Button.types.d.ts +20 -8
  34. package/dist/elements/Button/Button.types.d.ts.map +1 -1
  35. package/dist/elements/Button/index.js +1 -288
  36. package/dist/elements/Button/index.js.map +1 -1
  37. package/dist/elements/Button/index.mjs +1 -283
  38. package/dist/elements/Button/index.mjs.map +1 -1
  39. package/dist/elements/ButtonGroup/index.js +1 -237
  40. package/dist/elements/ButtonGroup/index.js.map +1 -1
  41. package/dist/elements/ButtonGroup/index.mjs +1 -222
  42. package/dist/elements/ButtonGroup/index.mjs.map +1 -1
  43. package/dist/elements/Card/index.js +1 -579
  44. package/dist/elements/Card/index.js.map +1 -1
  45. package/dist/elements/Card/index.mjs +1 -560
  46. package/dist/elements/Card/index.mjs.map +1 -1
  47. package/dist/elements/Carousel/Carousel.d.ts +1 -11
  48. package/dist/elements/Carousel/Carousel.d.ts.map +1 -1
  49. package/dist/elements/Carousel/LazyCarousel.d.ts +1 -1
  50. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -1
  51. package/dist/elements/Carousel/index.js +1 -789
  52. package/dist/elements/Carousel/index.js.map +1 -1
  53. package/dist/elements/Carousel/index.mjs +1 -786
  54. package/dist/elements/Carousel/index.mjs.map +1 -1
  55. package/dist/elements/Chart/ChartContext.d.ts.map +1 -1
  56. package/dist/elements/Chart/index.js +1 -1842
  57. package/dist/elements/Chart/index.js.map +1 -1
  58. package/dist/elements/Chart/index.mjs +1 -1832
  59. package/dist/elements/Chart/index.mjs.map +1 -1
  60. package/dist/elements/Checkbox/index.js +1 -316
  61. package/dist/elements/Checkbox/index.js.map +1 -1
  62. package/dist/elements/Checkbox/index.mjs +1 -306
  63. package/dist/elements/Checkbox/index.mjs.map +1 -1
  64. package/dist/elements/CheckboxGroup/index.js +1 -455
  65. package/dist/elements/CheckboxGroup/index.js.map +1 -1
  66. package/dist/elements/CheckboxGroup/index.mjs +1 -439
  67. package/dist/elements/CheckboxGroup/index.mjs.map +1 -1
  68. package/dist/elements/Combobox/Combobox.d.ts +56 -0
  69. package/dist/elements/Combobox/Combobox.d.ts.map +1 -0
  70. package/dist/elements/Combobox/Combobox.styles.d.ts +29 -0
  71. package/dist/elements/Combobox/Combobox.styles.d.ts.map +1 -0
  72. package/dist/elements/Combobox/Combobox.types.d.ts +67 -0
  73. package/dist/elements/Combobox/Combobox.types.d.ts.map +1 -0
  74. package/dist/elements/Combobox/index.d.ts +20 -0
  75. package/dist/elements/Combobox/index.d.ts.map +1 -0
  76. package/dist/elements/Combobox/index.js +3 -0
  77. package/dist/elements/Combobox/index.js.map +1 -0
  78. package/dist/elements/Combobox/index.mjs +3 -0
  79. package/dist/elements/Combobox/index.mjs.map +1 -0
  80. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  81. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  82. package/dist/elements/DatePicker/index.js +1 -903
  83. package/dist/elements/DatePicker/index.js.map +1 -1
  84. package/dist/elements/DatePicker/index.mjs +1 -853
  85. package/dist/elements/DatePicker/index.mjs.map +1 -1
  86. package/dist/elements/Dropdown/Dropdown.d.ts +7 -15
  87. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -1
  88. package/dist/elements/Dropdown/Dropdown.styles.d.ts +22 -0
  89. package/dist/elements/Dropdown/Dropdown.styles.d.ts.map +1 -0
  90. package/dist/elements/Dropdown/index.d.ts +1 -0
  91. package/dist/elements/Dropdown/index.d.ts.map +1 -1
  92. package/dist/elements/Dropdown/index.js +1 -193
  93. package/dist/elements/Dropdown/index.js.map +1 -1
  94. package/dist/elements/Dropdown/index.mjs +1 -184
  95. package/dist/elements/Dropdown/index.mjs.map +1 -1
  96. package/dist/elements/FileField/index.js +1 -1539
  97. package/dist/elements/FileField/index.js.map +1 -1
  98. package/dist/elements/FileField/index.mjs +1 -1507
  99. package/dist/elements/FileField/index.mjs.map +1 -1
  100. package/dist/elements/FormLayout/index.js +1 -170
  101. package/dist/elements/FormLayout/index.js.map +1 -1
  102. package/dist/elements/FormLayout/index.mjs +1 -167
  103. package/dist/elements/FormLayout/index.mjs.map +1 -1
  104. package/dist/elements/Modal/Modal.d.ts +9 -14
  105. package/dist/elements/Modal/Modal.d.ts.map +1 -1
  106. package/dist/elements/Modal/Modal.styles.d.ts +29 -0
  107. package/dist/elements/Modal/Modal.styles.d.ts.map +1 -0
  108. package/dist/elements/Modal/index.d.ts +1 -0
  109. package/dist/elements/Modal/index.d.ts.map +1 -1
  110. package/dist/elements/Modal/index.js +1 -232
  111. package/dist/elements/Modal/index.js.map +1 -1
  112. package/dist/elements/Modal/index.mjs +1 -220
  113. package/dist/elements/Modal/index.mjs.map +1 -1
  114. package/dist/elements/NumberField/NumberField.variants.d.ts +1 -1
  115. package/dist/elements/NumberField/index.js +1 -666
  116. package/dist/elements/NumberField/index.js.map +1 -1
  117. package/dist/elements/NumberField/index.mjs +1 -654
  118. package/dist/elements/NumberField/index.mjs.map +1 -1
  119. package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -1
  120. package/dist/elements/OTPInput/index.js +1 -734
  121. package/dist/elements/OTPInput/index.js.map +1 -1
  122. package/dist/elements/OTPInput/index.mjs +1 -732
  123. package/dist/elements/OTPInput/index.mjs.map +1 -1
  124. package/dist/elements/Pagination/Pagination.d.ts +45 -0
  125. package/dist/elements/Pagination/Pagination.d.ts.map +1 -0
  126. package/dist/elements/Pagination/Pagination.styles.d.ts +10 -0
  127. package/dist/elements/Pagination/Pagination.styles.d.ts.map +1 -0
  128. package/dist/elements/Pagination/Pagination.types.d.ts +55 -0
  129. package/dist/elements/Pagination/Pagination.types.d.ts.map +1 -0
  130. package/dist/elements/Pagination/index.d.ts +21 -0
  131. package/dist/elements/Pagination/index.d.ts.map +1 -0
  132. package/dist/elements/Pagination/index.js +3 -0
  133. package/dist/elements/Pagination/index.js.map +1 -0
  134. package/dist/elements/Pagination/index.mjs +3 -0
  135. package/dist/elements/Pagination/index.mjs.map +1 -0
  136. package/dist/elements/Panel/index.js +1 -330
  137. package/dist/elements/Panel/index.js.map +1 -1
  138. package/dist/elements/Panel/index.mjs +1 -323
  139. package/dist/elements/Panel/index.mjs.map +1 -1
  140. package/dist/elements/PasswordField/PasswordField.d.ts +27 -0
  141. package/dist/elements/PasswordField/PasswordField.d.ts.map +1 -0
  142. package/dist/elements/PasswordField/PasswordField.styles.d.ts +32 -0
  143. package/dist/elements/PasswordField/PasswordField.styles.d.ts.map +1 -0
  144. package/dist/elements/PasswordField/PasswordField.types.d.ts +100 -0
  145. package/dist/elements/PasswordField/PasswordField.types.d.ts.map +1 -0
  146. package/dist/elements/PasswordField/index.css +2 -0
  147. package/dist/elements/PasswordField/index.css.map +1 -0
  148. package/dist/elements/PasswordField/index.d.ts +20 -0
  149. package/dist/elements/PasswordField/index.d.ts.map +1 -0
  150. package/dist/elements/PasswordField/index.js +3 -0
  151. package/dist/elements/PasswordField/index.js.map +1 -0
  152. package/dist/elements/PasswordField/index.mjs +3 -0
  153. package/dist/elements/PasswordField/index.mjs.map +1 -0
  154. package/dist/elements/Progress/index.js +1 -187
  155. package/dist/elements/Progress/index.js.map +1 -1
  156. package/dist/elements/Progress/index.mjs +1 -181
  157. package/dist/elements/Progress/index.mjs.map +1 -1
  158. package/dist/elements/RadioGroup/index.js +1 -369
  159. package/dist/elements/RadioGroup/index.js.map +1 -1
  160. package/dist/elements/RadioGroup/index.mjs +1 -359
  161. package/dist/elements/RadioGroup/index.mjs.map +1 -1
  162. package/dist/elements/Resizable/index.js +1 -1580
  163. package/dist/elements/Resizable/index.js.map +1 -1
  164. package/dist/elements/Resizable/index.mjs +1 -1566
  165. package/dist/elements/Resizable/index.mjs.map +1 -1
  166. package/dist/elements/SearchField/SearchField.d.ts +27 -0
  167. package/dist/elements/SearchField/SearchField.d.ts.map +1 -0
  168. package/dist/elements/SearchField/SearchField.styles.d.ts +32 -0
  169. package/dist/elements/SearchField/SearchField.styles.d.ts.map +1 -0
  170. package/dist/elements/SearchField/SearchField.types.d.ts +45 -0
  171. package/dist/elements/SearchField/SearchField.types.d.ts.map +1 -0
  172. package/dist/elements/SearchField/index.css +2 -0
  173. package/dist/elements/SearchField/index.css.map +1 -0
  174. package/dist/elements/SearchField/index.d.ts +21 -0
  175. package/dist/elements/SearchField/index.d.ts.map +1 -0
  176. package/dist/elements/SearchField/index.js +3 -0
  177. package/dist/elements/SearchField/index.js.map +1 -0
  178. package/dist/elements/SearchField/index.mjs +3 -0
  179. package/dist/elements/SearchField/index.mjs.map +1 -0
  180. package/dist/elements/Select/Select.d.ts +19 -48
  181. package/dist/elements/Select/Select.d.ts.map +1 -1
  182. package/dist/elements/Select/Select.styles.d.ts +55 -0
  183. package/dist/elements/Select/Select.styles.d.ts.map +1 -0
  184. package/dist/elements/Select/index.js +1 -589
  185. package/dist/elements/Select/index.js.map +1 -1
  186. package/dist/elements/Select/index.mjs +1 -582
  187. package/dist/elements/Select/index.mjs.map +1 -1
  188. package/dist/elements/Skeleton/index.js +1 -82
  189. package/dist/elements/Skeleton/index.js.map +1 -1
  190. package/dist/elements/Skeleton/index.mjs +1 -78
  191. package/dist/elements/Skeleton/index.mjs.map +1 -1
  192. package/dist/elements/Switch/index.js +1 -179
  193. package/dist/elements/Switch/index.js.map +1 -1
  194. package/dist/elements/Switch/index.mjs +1 -173
  195. package/dist/elements/Switch/index.mjs.map +1 -1
  196. package/dist/elements/Table/Table.d.ts +3 -24
  197. package/dist/elements/Table/Table.d.ts.map +1 -1
  198. package/dist/elements/Table/Table.styles.d.ts +24 -0
  199. package/dist/elements/Table/Table.styles.d.ts.map +1 -0
  200. package/dist/elements/Table/index.js +1 -595
  201. package/dist/elements/Table/index.js.map +1 -1
  202. package/dist/elements/Table/index.mjs +1 -578
  203. package/dist/elements/Table/index.mjs.map +1 -1
  204. package/dist/elements/Tabs/Tabs.d.ts +5 -3
  205. package/dist/elements/Tabs/Tabs.d.ts.map +1 -1
  206. package/dist/elements/Tabs/Tabs.types.d.ts +15 -0
  207. package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -1
  208. package/dist/elements/Tabs/index.js +1 -337
  209. package/dist/elements/Tabs/index.js.map +1 -1
  210. package/dist/elements/Tabs/index.mjs +1 -320
  211. package/dist/elements/Tabs/index.mjs.map +1 -1
  212. package/dist/elements/TextField/TextField.d.ts +6 -42
  213. package/dist/elements/TextField/TextField.d.ts.map +1 -1
  214. package/dist/elements/TextField/TextField.hooks.d.ts +63 -0
  215. package/dist/elements/TextField/TextField.hooks.d.ts.map +1 -0
  216. package/dist/elements/TextField/TextField.icons.d.ts +19 -0
  217. package/dist/elements/TextField/TextField.icons.d.ts.map +1 -0
  218. package/dist/elements/TextField/TextField.styles.d.ts +37 -0
  219. package/dist/elements/TextField/TextField.styles.d.ts.map +1 -0
  220. package/dist/elements/TextField/TextField.types.d.ts +3 -0
  221. package/dist/elements/TextField/TextField.types.d.ts.map +1 -1
  222. package/dist/elements/TextField/index.css +1 -22
  223. package/dist/elements/TextField/index.css.map +1 -1
  224. package/dist/elements/TextField/index.js +1 -902
  225. package/dist/elements/TextField/index.js.map +1 -1
  226. package/dist/elements/TextField/index.mjs +1 -882
  227. package/dist/elements/TextField/index.mjs.map +1 -1
  228. package/dist/elements/TimeField/index.js +1 -254
  229. package/dist/elements/TimeField/index.js.map +1 -1
  230. package/dist/elements/TimeField/index.mjs +1 -238
  231. package/dist/elements/TimeField/index.mjs.map +1 -1
  232. package/dist/elements/Toast/Toast.d.ts +0 -22
  233. package/dist/elements/Toast/Toast.d.ts.map +1 -1
  234. package/dist/elements/Toast/index.js +1 -737
  235. package/dist/elements/Toast/index.js.map +1 -1
  236. package/dist/elements/Toast/index.mjs +1 -724
  237. package/dist/elements/Toast/index.mjs.map +1 -1
  238. package/dist/elements/Tooltip/index.js +1 -323
  239. package/dist/elements/Tooltip/index.js.map +1 -1
  240. package/dist/elements/Tooltip/index.mjs +1 -310
  241. package/dist/elements/Tooltip/index.mjs.map +1 -1
  242. package/dist/elements/index.css +1 -22
  243. package/dist/elements/index.css.map +1 -1
  244. package/dist/elements/index.d.ts +13 -1
  245. package/dist/elements/index.d.ts.map +1 -1
  246. package/dist/elements/index.js +1 -12455
  247. package/dist/elements/index.js.map +1 -1
  248. package/dist/elements/index.mjs +1 -12233
  249. package/dist/elements/index.mjs.map +1 -1
  250. package/dist/index.css +1 -22
  251. package/dist/index.css.map +1 -1
  252. package/dist/index.js +2 -12490
  253. package/dist/index.js.map +1 -1
  254. package/dist/index.mjs +2 -12262
  255. package/dist/index.mjs.map +1 -1
  256. package/dist/schemas/index.js +2 -54
  257. package/dist/schemas/index.js.map +1 -1
  258. package/dist/schemas/index.mjs +2 -48
  259. package/dist/schemas/index.mjs.map +1 -1
  260. package/dist/styles/defaults.css +151 -0
  261. package/dist/styles/index.js +1 -166
  262. package/dist/styles/index.js.map +1 -1
  263. package/dist/styles/index.mjs +1 -129
  264. package/dist/styles/index.mjs.map +1 -1
  265. package/dist/styles/shared-variants.d.ts +3 -3
  266. package/dist/styles/shared-variants.d.ts.map +1 -1
  267. package/dist/utils/index.js +1 -12
  268. package/dist/utils/index.js.map +1 -1
  269. package/dist/utils/index.mjs +1 -10
  270. package/dist/utils/index.mjs.map +1 -1
  271. package/package.json +9 -7
  272. package/src/elements/Accordion/Accordion.stories.tsx +1 -1
  273. package/src/elements/AlertDialog/AlertDialog.stories.tsx +124 -0
  274. package/src/elements/Avatar/Avatar.stories.tsx +1 -1
  275. package/src/elements/Badge/Badge.stories.tsx +1 -1
  276. package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +1 -1
  277. package/src/elements/Button/Button.stories.tsx +1 -1
  278. package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +1 -1
  279. package/src/elements/Card/Card.stories.tsx +1 -1
  280. package/src/elements/Carousel/Carousel.stories.tsx +1 -1
  281. package/src/elements/Chart/Chart.stories.tsx +1 -1
  282. package/src/elements/Checkbox/Checkbox.stories.tsx +1 -1
  283. package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +4 -4
  284. package/src/elements/Combobox/Combobox.stories.tsx +133 -0
  285. package/src/elements/DatePicker/DatePicker.stories.tsx +1 -1
  286. package/src/elements/Dropdown/Dropdown.stories.tsx +1 -1
  287. package/src/elements/FileField/FileField.stories.tsx +2 -2
  288. package/src/elements/FileField/FileProgress.stories.tsx +1 -1
  289. package/src/elements/FormLayout/FormLayout.stories.tsx +1 -1
  290. package/src/elements/Modal/Modal.stories.tsx +1 -1
  291. package/src/elements/NumberField/NumberField.stories.tsx +1 -1
  292. package/src/elements/OTPInput/OTPInput.stories.tsx +1 -1
  293. package/src/elements/Pagination/Pagination.stories.tsx +203 -0
  294. package/src/elements/Panel/Panel.stories.tsx +1 -1
  295. package/src/elements/PasswordField/PasswordField.stories.tsx +167 -0
  296. package/src/elements/Progress/Progress.stories.tsx +7 -2
  297. package/src/elements/RadioGroup/RadioGroup.stories.tsx +3 -3
  298. package/src/elements/Resizable/Resizable.stories.tsx +1 -1
  299. package/src/elements/SearchField/SearchField.stories.tsx +146 -0
  300. package/src/elements/Select/Select.stories.tsx +1 -1
  301. package/src/elements/Skeleton/Skeleton.stories.tsx +1 -1
  302. package/src/elements/Switch/Switch.stories.tsx +1 -1
  303. package/src/elements/Table/Table.stories.tsx +1 -1
  304. package/src/elements/Tabs/Tabs.stories.tsx +46 -2
  305. package/src/elements/TextField/TextField.stories.tsx +1 -1
  306. package/src/elements/TimeField/TimeField.stories.tsx +1 -1
  307. package/src/elements/Toast/Toast.stories.tsx +1 -1
  308. package/src/elements/Tooltip/Tooltip.stories.tsx +1 -1
@@ -0,0 +1,24 @@
1
+ export declare const tableContainerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
+ export declare const tableVariants: (props?: ({
3
+ variant?: "default" | "bordered" | "striped" | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export declare const tableHeaderVariants: (props?: ({
6
+ sticky?: boolean | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export declare const tableFooterVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
+ export declare const tableCaptionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
10
+ export declare const columnVariants: (props?: ({
11
+ allowsSorting?: boolean | null | undefined;
12
+ align?: "end" | "center" | "start" | null | undefined;
13
+ size?: "default" | "sm" | "lg" | null | undefined;
14
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
+ export declare const rowVariants: (props?: ({
16
+ isSelected?: boolean | null | undefined;
17
+ variant?: "default" | "striped" | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ export declare const cellVariants: (props?: ({
20
+ align?: "end" | "center" | "start" | null | undefined;
21
+ size?: "default" | "sm" | "lg" | null | undefined;
22
+ isRowHeader?: boolean | null | undefined;
23
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
24
+ //# sourceMappingURL=Table.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.styles.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/Table.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,oFAAyC,CAAC;AAG7E,eAAO,MAAM,aAAa;;8EAczB,CAAC;AAGF,eAAO,MAAM,mBAAmB;;8EAU9B,CAAC;AAGH,eAAO,MAAM,mBAAmB,oFAK9B,CAAC;AAGH,eAAO,MAAM,oBAAoB,oFAE/B,CAAC;AAGH,eAAO,MAAM,cAAc;;;;8EAgC1B,CAAC;AAGF,eAAO,MAAM,WAAW;;;8EAyBvB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;8EAyBxB,CAAC"}
@@ -1,597 +1,3 @@
1
1
  "use client";
2
- 'use strict';
3
-
4
- var react = require('react');
5
- var reactAriaComponents = require('react-aria-components');
6
- var classVarianceAuthority = require('class-variance-authority');
7
- var clsx = require('clsx');
8
- var tailwindMerge = require('tailwind-merge');
9
- var jsxRuntime = require('react/jsx-runtime');
10
- var lucideReact = require('lucide-react');
11
-
12
- // src/elements/Table/Table.tsx
13
- function cn(...inputs) {
14
- return tailwindMerge.twMerge(clsx.clsx(inputs));
15
- }
16
-
17
- // src/styles/interaction-states.ts
18
- var FOCUS_STYLES = "data-[focus-visible]:ring-2 data-[focus-visible]:ring-[var(--themis-ring)] data-[focus-visible]:ring-offset-2";
19
- 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";
20
- var checkboxContainerVariants = classVarianceAuthority.cva(
21
- [
22
- "group inline-flex items-center gap-2 cursor-pointer",
23
- "transition-colors duration-200",
24
- "rtl:flex-row-reverse",
25
- FOCUS_STYLES,
26
- HIGH_CONTRAST_FOCUS
27
- ].join(" "),
28
- {
29
- variants: {
30
- size: {
31
- sm: "min-h-[44px] text-sm",
32
- default: "min-h-[44px] text-sm",
33
- lg: "min-h-[48px] text-base"
34
- },
35
- isDisabled: {
36
- true: "opacity-50 cursor-not-allowed",
37
- false: ""
38
- }
39
- },
40
- defaultVariants: {
41
- size: "default",
42
- isDisabled: false
43
- }
44
- }
45
- );
46
- var checkboxIndicatorVariants = classVarianceAuthority.cva(
47
- "flex-shrink-0 rounded-sm border-2 flex items-center justify-center transition-colors duration-200",
48
- {
49
- variants: {
50
- variant: {
51
- default: [
52
- "border-[var(--border)]",
53
- "data-[selected]:border-[var(--primary)]",
54
- "data-[selected]:bg-[var(--primary)]",
55
- "data-[indeterminate]:border-[var(--primary)]",
56
- "data-[indeterminate]:bg-[var(--primary)]"
57
- ].join(" "),
58
- destructive: [
59
- "border-[var(--border)]",
60
- "data-[selected]:border-[var(--destructive)]",
61
- "data-[selected]:bg-[var(--destructive)]",
62
- "data-[indeterminate]:border-[var(--destructive)]",
63
- "data-[indeterminate]:bg-[var(--destructive)]"
64
- ].join(" ")
65
- },
66
- size: {
67
- sm: "h-4 w-4",
68
- default: "h-5 w-5",
69
- lg: "h-6 w-6"
70
- },
71
- isInvalid: {
72
- true: "border-[var(--destructive)]",
73
- false: ""
74
- }
75
- },
76
- defaultVariants: {
77
- variant: "default",
78
- size: "default",
79
- isInvalid: false
80
- }
81
- }
82
- );
83
- var checkmarkVariants = classVarianceAuthority.cva(
84
- [
85
- "transition-transform duration-200",
86
- "[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)]",
87
- "motion-reduce:transition-none",
88
- "scale-0 data-[selected]:scale-100 data-[indeterminate]:scale-100"
89
- ].join(" "),
90
- {
91
- variants: {
92
- variant: {
93
- default: "text-[var(--primary-foreground)]",
94
- destructive: "text-[var(--destructive-foreground)]"
95
- },
96
- size: {
97
- sm: "h-3 w-3",
98
- default: "h-3.5 w-3.5",
99
- lg: "h-4 w-4"
100
- }
101
- },
102
- defaultVariants: {
103
- variant: "default",
104
- size: "default"
105
- }
106
- }
107
- );
108
- function CheckmarkIcon({ className, ...props }) {
109
- return /* @__PURE__ */ jsxRuntime.jsx(
110
- "svg",
111
- {
112
- className,
113
- viewBox: "0 0 24 24",
114
- fill: "none",
115
- stroke: "currentColor",
116
- strokeWidth: 3,
117
- strokeLinecap: "round",
118
- strokeLinejoin: "round",
119
- "aria-hidden": "true",
120
- ...props,
121
- children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "20 6 9 17 4 12" })
122
- }
123
- );
124
- }
125
- function MinusIcon({ className, ...props }) {
126
- return /* @__PURE__ */ jsxRuntime.jsx(
127
- "svg",
128
- {
129
- className,
130
- viewBox: "0 0 24 24",
131
- fill: "none",
132
- stroke: "currentColor",
133
- strokeWidth: 3,
134
- strokeLinecap: "round",
135
- strokeLinejoin: "round",
136
- "aria-hidden": "true",
137
- ...props,
138
- children: /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
139
- }
140
- );
141
- }
142
- var Checkbox = react.forwardRef(
143
- ({
144
- isSelected,
145
- defaultSelected,
146
- isDisabled,
147
- isReadOnly,
148
- isIndeterminate,
149
- isInvalid = false,
150
- isRequired = false,
151
- onChange,
152
- onFocusChange,
153
- value,
154
- name,
155
- size = "default",
156
- variant = "default",
157
- label,
158
- description,
159
- selectedIcon,
160
- className,
161
- id,
162
- "aria-label": ariaLabel,
163
- "aria-labelledby": ariaLabelledby,
164
- "aria-describedby": ariaDescribedby,
165
- "data-testid": dataTestId,
166
- slot
167
- }, ref) => {
168
- const computedIsDisabled = isDisabled || void 0;
169
- const computedIsReadOnly = isReadOnly || void 0;
170
- const computedIsIndeterminate = isIndeterminate || void 0;
171
- const renderIcon = (isChecked, isIndet) => {
172
- const iconClassName = cn(checkmarkVariants({ variant, size }));
173
- const dataSelected = isChecked || void 0;
174
- const dataIndeterminate = isIndet || void 0;
175
- if (isIndet) {
176
- return /* @__PURE__ */ jsxRuntime.jsx(
177
- MinusIcon,
178
- {
179
- className: iconClassName,
180
- "data-selected": dataSelected,
181
- "data-indeterminate": dataIndeterminate
182
- }
183
- );
184
- }
185
- if (selectedIcon && isChecked) {
186
- if (react.isValidElement(selectedIcon)) {
187
- const iconElement = selectedIcon;
188
- return react.cloneElement(iconElement, {
189
- className: cn(iconClassName, iconElement.props.className),
190
- "data-selected": dataSelected
191
- });
192
- }
193
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: iconClassName, "data-selected": dataSelected, children: selectedIcon });
194
- }
195
- return /* @__PURE__ */ jsxRuntime.jsx(
196
- CheckmarkIcon,
197
- {
198
- className: iconClassName,
199
- "data-selected": dataSelected,
200
- "data-indeterminate": dataIndeterminate
201
- }
202
- );
203
- };
204
- return /* @__PURE__ */ jsxRuntime.jsx(
205
- reactAriaComponents.Checkbox,
206
- {
207
- ref,
208
- id,
209
- isSelected,
210
- defaultSelected,
211
- isDisabled: computedIsDisabled,
212
- isReadOnly: computedIsReadOnly,
213
- isIndeterminate: computedIsIndeterminate,
214
- isInvalid,
215
- isRequired,
216
- onChange,
217
- onFocusChange,
218
- value,
219
- name,
220
- slot,
221
- "aria-label": ariaLabel,
222
- "aria-labelledby": ariaLabelledby,
223
- "aria-describedby": ariaDescribedby,
224
- "data-testid": dataTestId,
225
- className: (renderProps) => cn(
226
- checkboxContainerVariants({
227
- size,
228
- isDisabled: renderProps.isDisabled
229
- }),
230
- className
231
- ),
232
- children: (renderProps) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
233
- /* @__PURE__ */ jsxRuntime.jsx(
234
- "div",
235
- {
236
- className: checkboxIndicatorVariants({
237
- variant,
238
- size,
239
- isInvalid: renderProps.isInvalid
240
- }),
241
- "data-selected": renderProps.isSelected || void 0,
242
- "data-indeterminate": renderProps.isIndeterminate || void 0,
243
- children: renderIcon(renderProps.isSelected, renderProps.isIndeterminate)
244
- }
245
- ),
246
- (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
247
- label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-[var(--content-foreground)]", children: label }),
248
- description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--menu-muted)]", children: description })
249
- ] })
250
- ] })
251
- }
252
- );
253
- }
254
- );
255
- Checkbox.displayName = "Checkbox";
256
- var TableContext = react.createContext({
257
- variant: "default",
258
- size: "default",
259
- selectionMode: "none",
260
- stickyHeader: false
261
- });
262
- var tableContainerVariants = classVarianceAuthority.cva(["relative w-full overflow-auto"]);
263
- var tableVariants = classVarianceAuthority.cva(
264
- ["w-full caption-bottom text-sm", "border-collapse"],
265
- {
266
- variants: {
267
- variant: {
268
- default: "",
269
- bordered: "border border-[var(--border)] rounded-md",
270
- striped: ""
271
- }
272
- },
273
- defaultVariants: {
274
- variant: "default"
275
- }
276
- }
277
- );
278
- var tableHeaderVariants = classVarianceAuthority.cva(["[&_tr]:border-b"], {
279
- variants: {
280
- sticky: {
281
- true: "sticky top-0 z-10 bg-[var(--content-background)]",
282
- false: ""
283
- }
284
- },
285
- defaultVariants: {
286
- sticky: false
287
- }
288
- });
289
- var tableFooterVariants = classVarianceAuthority.cva([
290
- "border-t border-[var(--border)]",
291
- "bg-[var(--accent-background)]/50",
292
- "font-medium",
293
- "[&>tr]:last:border-b-0"
294
- ]);
295
- var tableCaptionVariants = classVarianceAuthority.cva([
296
- "mt-4 text-sm text-[var(--menu-muted)]"
297
- ]);
298
- var columnVariants = classVarianceAuthority.cva(
299
- [
300
- "h-12 px-4 text-left align-middle font-medium",
301
- "text-[var(--menu-muted)]",
302
- "[&:has([role=checkbox])]:pr-0",
303
- "select-none",
304
- "focus-visible:outline-none focus-visible:ring-2",
305
- "focus-visible:ring-[var(--ring)] focus-visible:ring-inset"
306
- ],
307
- {
308
- variants: {
309
- allowsSorting: {
310
- true: "cursor-pointer hover:bg-[var(--accent)]/50",
311
- false: ""
312
- },
313
- align: {
314
- start: "text-start",
315
- center: "text-center",
316
- end: "text-end"
317
- },
318
- size: {
319
- sm: "h-10 px-3 text-xs",
320
- default: "h-12 px-4 text-sm",
321
- lg: "h-14 px-5 text-base"
322
- }
323
- },
324
- defaultVariants: {
325
- allowsSorting: false,
326
- align: "start",
327
- size: "default"
328
- }
329
- }
330
- );
331
- var rowVariants = classVarianceAuthority.cva(
332
- [
333
- "border-b border-[var(--border)]",
334
- "transition-colors",
335
- "focus-visible:outline-none focus-visible:ring-2",
336
- "focus-visible:ring-[var(--ring)] focus-visible:ring-inset",
337
- "hover:bg-[var(--accent-background)]/50",
338
- "data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
339
- ],
340
- {
341
- variants: {
342
- isSelected: {
343
- true: "bg-[var(--accent)] data-[selected]:bg-[var(--accent)]",
344
- false: ""
345
- },
346
- variant: {
347
- default: "",
348
- striped: "even:bg-[var(--accent-background)]/30"
349
- }
350
- },
351
- defaultVariants: {
352
- isSelected: false,
353
- variant: "default"
354
- }
355
- }
356
- );
357
- var cellVariants = classVarianceAuthority.cva(
358
- ["p-4 align-middle", "[&:has([role=checkbox])]:pr-0"],
359
- {
360
- variants: {
361
- align: {
362
- start: "text-start",
363
- center: "text-center",
364
- end: "text-end"
365
- },
366
- size: {
367
- sm: "p-3 text-xs",
368
- default: "p-4 text-sm",
369
- lg: "p-5 text-base"
370
- },
371
- isRowHeader: {
372
- true: "font-medium",
373
- false: ""
374
- }
375
- },
376
- defaultVariants: {
377
- align: "start",
378
- size: "default",
379
- isRowHeader: false
380
- }
381
- }
382
- );
383
- var Table = react.forwardRef(
384
- ({
385
- className,
386
- variant = "default",
387
- size = "default",
388
- stickyHeader = false,
389
- selectionMode = "none",
390
- selectionBehavior = "toggle",
391
- disallowEmptySelection = false,
392
- disabledBehavior = "selection",
393
- selectedKeys,
394
- defaultSelectedKeys,
395
- onSelectionChange,
396
- disabledKeys,
397
- sortDescriptor,
398
- onSortChange,
399
- onRowAction,
400
- children,
401
- ...props
402
- }, ref) => {
403
- return /* @__PURE__ */ jsxRuntime.jsx(TableContext.Provider, { value: { variant, size, selectionMode, stickyHeader }, children: /* @__PURE__ */ jsxRuntime.jsx(
404
- "div",
405
- {
406
- className: cn(tableContainerVariants(), className),
407
- "data-testid": "table-container",
408
- children: /* @__PURE__ */ jsxRuntime.jsx(
409
- reactAriaComponents.Table,
410
- {
411
- ref,
412
- className: cn(tableVariants({ variant })),
413
- selectionMode,
414
- selectionBehavior,
415
- disallowEmptySelection,
416
- disabledBehavior,
417
- selectedKeys,
418
- defaultSelectedKeys,
419
- onSelectionChange,
420
- disabledKeys,
421
- sortDescriptor,
422
- onSortChange,
423
- onRowAction,
424
- "data-testid": "table",
425
- "data-variant": variant,
426
- "data-size": size,
427
- ...props,
428
- children
429
- }
430
- )
431
- }
432
- ) });
433
- }
434
- );
435
- Table.displayName = "Table";
436
- function TableHeaderInner({ className, children, columns, ...props }, ref) {
437
- const { size, selectionMode, stickyHeader } = react.useContext(TableContext);
438
- const { allowsDragging } = reactAriaComponents.useTableOptions();
439
- return /* @__PURE__ */ jsxRuntime.jsxs(
440
- reactAriaComponents.TableHeader,
441
- {
442
- ref,
443
- className: cn(tableHeaderVariants({ sticky: stickyHeader }), className),
444
- "data-testid": "table-header",
445
- ...props,
446
- children: [
447
- selectionMode === "multiple" && /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Column, { className: cn(columnVariants({ size }), "w-12"), children: /* @__PURE__ */ jsxRuntime.jsx(Checkbox, { slot: "selection", "aria-label": "Select all", size }) }),
448
- allowsDragging && /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Column, {}),
449
- columns ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Collection, { items: columns, children }) : children
450
- ]
451
- }
452
- );
453
- }
454
- var TableHeader = react.forwardRef(TableHeaderInner);
455
- TableHeader.displayName = "TableHeader";
456
- function TableBodyInner({ className, children, items, renderEmptyState, ...props }, ref) {
457
- return /* @__PURE__ */ jsxRuntime.jsx(
458
- reactAriaComponents.TableBody,
459
- {
460
- ref,
461
- className: cn(className),
462
- items,
463
- renderEmptyState: renderEmptyState ? () => /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 99, className: "text-center p-8", children: renderEmptyState() }) }) : void 0,
464
- "data-testid": "table-body",
465
- ...props,
466
- children
467
- }
468
- );
469
- }
470
- var TableBody = react.forwardRef(TableBodyInner);
471
- TableBody.displayName = "TableBody";
472
- var TableFooter = react.forwardRef(
473
- ({ className, children, ...props }, ref) => {
474
- return /* @__PURE__ */ jsxRuntime.jsx(
475
- "tfoot",
476
- {
477
- ref,
478
- className: cn(tableFooterVariants(), className),
479
- "data-testid": "table-footer",
480
- ...props,
481
- children
482
- }
483
- );
484
- }
485
- );
486
- TableFooter.displayName = "TableFooter";
487
- var TableCaption = react.forwardRef(
488
- ({ className, children, ...props }, ref) => {
489
- return /* @__PURE__ */ jsxRuntime.jsx(
490
- "caption",
491
- {
492
- ref,
493
- className: cn(tableCaptionVariants(), className),
494
- "data-testid": "table-caption",
495
- ...props,
496
- children
497
- }
498
- );
499
- }
500
- );
501
- TableCaption.displayName = "TableCaption";
502
- var Column = react.forwardRef(
503
- ({
504
- className,
505
- children,
506
- isRowHeader = false,
507
- allowsSorting = false,
508
- align = "start",
509
- width,
510
- minWidth,
511
- maxWidth,
512
- ...props
513
- }, ref) => {
514
- const { size } = react.useContext(TableContext);
515
- return /* @__PURE__ */ jsxRuntime.jsx(
516
- reactAriaComponents.Column,
517
- {
518
- ref,
519
- isRowHeader,
520
- allowsSorting,
521
- width,
522
- minWidth,
523
- maxWidth,
524
- className: cn(columnVariants({ allowsSorting, align, size }), className),
525
- ...props,
526
- children: ({ allowsSorting: canSort, sortDirection }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
527
- /* @__PURE__ */ jsxRuntime.jsx("span", { children }),
528
- canSort && sortDirection && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", "data-sort-direction": sortDirection, children: sortDirection === "ascending" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4" }) })
529
- ] })
530
- }
531
- );
532
- }
533
- );
534
- Column.displayName = "Column";
535
- function RowInner({ className, children, columns, href, isDisabled, ...props }, ref) {
536
- const { variant, size, selectionMode } = react.useContext(TableContext);
537
- const { allowsDragging } = reactAriaComponents.useTableOptions();
538
- return /* @__PURE__ */ jsxRuntime.jsxs(
539
- reactAriaComponents.Row,
540
- {
541
- ref,
542
- href,
543
- isDisabled,
544
- className: ({ isSelected, isDisabled: disabled }) => cn(
545
- rowVariants({
546
- isSelected,
547
- variant: variant === "striped" ? "striped" : "default"
548
- }),
549
- disabled && "opacity-50",
550
- className
551
- ),
552
- "data-testid": "table-row",
553
- ...props,
554
- children: [
555
- selectionMode === "multiple" && /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Cell, { className: cn(cellVariants({ size }), "w-12"), children: /* @__PURE__ */ jsxRuntime.jsx(Checkbox, { slot: "selection", "aria-label": "Select row", size }) }),
556
- allowsDragging && /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Cell, {}),
557
- columns ? /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Collection, { items: columns, children }) : children
558
- ]
559
- }
560
- );
561
- }
562
- var Row = react.forwardRef(RowInner);
563
- Row.displayName = "Row";
564
- var Cell = react.forwardRef(
565
- ({ className, children, align = "start", colSpan: _colSpan, ...props }, ref) => {
566
- const { size } = react.useContext(TableContext);
567
- return /* @__PURE__ */ jsxRuntime.jsx(
568
- reactAriaComponents.Cell,
569
- {
570
- ref,
571
- className: cn(cellVariants({ align, size }), className),
572
- ...props,
573
- children
574
- }
575
- );
576
- }
577
- );
578
- Cell.displayName = "Cell";
579
-
580
- exports.Cell = Cell;
581
- exports.Column = Column;
582
- exports.Row = Row;
583
- exports.Table = Table;
584
- exports.TableBody = TableBody;
585
- exports.TableCaption = TableCaption;
586
- exports.TableFooter = TableFooter;
587
- exports.TableHeader = TableHeader;
588
- exports.cellVariants = cellVariants;
589
- exports.columnVariants = columnVariants;
590
- exports.rowVariants = rowVariants;
591
- exports.tableCaptionVariants = tableCaptionVariants;
592
- exports.tableContainerVariants = tableContainerVariants;
593
- exports.tableFooterVariants = tableFooterVariants;
594
- exports.tableHeaderVariants = tableHeaderVariants;
595
- exports.tableVariants = tableVariants;
596
- //# sourceMappingURL=index.js.map
2
+ 'use strict';var react=require('react'),reactAriaComponents=require('react-aria-components'),classVarianceAuthority=require('class-variance-authority'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),lucideReact=require('lucide-react');function n(...a){return tailwindMerge.twMerge(clsx.clsx(a))}var V="data-[focus-visible]:ring-2 data-[focus-visible]:ring-[var(--themis-ring)] data-[focus-visible]:ring-offset-2";var S="hc:data-[focus-visible]:outline hc:data-[focus-visible]:outline-4 hc:data-[focus-visible]:outline-offset-2 hc:data-[focus-visible]:outline-foreground";var J=classVarianceAuthority.cva(["group inline-flex items-center gap-2 cursor-pointer","transition-colors duration-200","rtl:flex-row-reverse",V,S].join(" "),{variants:{size:{sm:"min-h-[44px] text-sm",default:"min-h-[44px] text-sm",lg:"min-h-[48px] text-base"},isDisabled:{true:"opacity-50 cursor-not-allowed",false:""}},defaultVariants:{size:"default",isDisabled:false}}),Q=classVarianceAuthority.cva("flex-shrink-0 rounded-sm border-2 flex items-center justify-center transition-colors duration-200",{variants:{variant:{default:["border-[var(--border)]","data-[selected]:border-[var(--primary)]","data-[selected]:bg-[var(--primary)]","data-[indeterminate]:border-[var(--primary)]","data-[indeterminate]:bg-[var(--primary)]"].join(" "),destructive:["border-[var(--border)]","data-[selected]:border-[var(--destructive-background)]","data-[selected]:bg-[var(--destructive-background)]","data-[indeterminate]:border-[var(--destructive-background)]","data-[indeterminate]:bg-[var(--destructive-background)]"].join(" ")},size:{sm:"h-4 w-4",default:"h-5 w-5",lg:"h-6 w-6"},isInvalid:{true:"border-[var(--destructive-background)]",false:""}},defaultVariants:{variant:"default",size:"default",isInvalid:false}}),X=classVarianceAuthority.cva(["transition-transform duration-200","[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)]","motion-reduce:transition-none","scale-0 data-[selected]:scale-100 data-[indeterminate]:scale-100"].join(" "),{variants:{variant:{default:"text-[var(--primary-foreground)]",destructive:"text-[var(--destructive-foreground)]"},size:{sm:"h-3 w-3",default:"h-3.5 w-3.5",lg:"h-4 w-4"}},defaultVariants:{variant:"default",size:"default"}});function Z({className:a,...e}){return jsxRuntime.jsx("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"})})}function ee({className:a,...e}){return jsxRuntime.jsx("svg",{className:a,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:jsxRuntime.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})})}var w=react.forwardRef(({isSelected:a,defaultSelected:e,isDisabled:t,isReadOnly:o,isIndeterminate:s,isInvalid:i=false,isRequired:l=false,onChange:u,onFocusChange:c,value:x,name:C,size:b="default",variant:p="default",label:h,description:g,selectedIcon:f,className:y,id:I,"aria-label":L,"aria-labelledby":be,"aria-describedby":pe,"data-testid":me,slot:ue},fe)=>{let Te=t||void 0,ve=o||void 0,xe=s||void 0,Ce=(m,U)=>{let R=n(X({variant:p,size:b})),E=m||void 0,Y=U||void 0;if(U)return jsxRuntime.jsx(ee,{className:R,"data-selected":E,"data-indeterminate":Y});if(f&&m){if(react.isValidElement(f)){let G=f;return react.cloneElement(G,{className:n(R,G.props.className),"data-selected":E})}return jsxRuntime.jsx("span",{className:R,"data-selected":E,children:f})}return jsxRuntime.jsx(Z,{className:R,"data-selected":E,"data-indeterminate":Y})};return jsxRuntime.jsx(reactAriaComponents.Checkbox,{ref:fe,id:I,isSelected:a,defaultSelected:e,isDisabled:Te,isReadOnly:ve,isIndeterminate:xe,isInvalid:i,isRequired:l,onChange:u,onFocusChange:c,value:x,name:C,slot:ue,"aria-label":L,"aria-labelledby":be,"aria-describedby":pe,"data-testid":me,className:m=>n(J({size:b,isDisabled:m.isDisabled}),y),children:m=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:Q({variant:p,size:b,isInvalid:m.isInvalid}),"data-selected":m.isSelected||void 0,"data-indeterminate":m.isIndeterminate||void 0,children:Ce(m.isSelected,m.isIndeterminate)}),(h||g)&&jsxRuntime.jsxs("div",{className:"flex flex-col",children:[h&&jsxRuntime.jsx("span",{className:"font-medium text-[var(--content-foreground)]",children:h}),g&&jsxRuntime.jsx("span",{className:"text-sm text-[var(--menu-muted)]",children:g})]})]})})});w.displayName="Checkbox";var z=classVarianceAuthority.cva(["relative w-full overflow-auto"]),B=classVarianceAuthority.cva(["w-full caption-bottom text-sm","border-collapse"],{variants:{variant:{default:"",bordered:"border border-[var(--border)] rounded-md",striped:""}},defaultVariants:{variant:"default"}}),D=classVarianceAuthority.cva(["[&_tr]:border-b"],{variants:{sticky:{true:"sticky top-0 z-10 bg-[var(--content-background)]",false:""}},defaultVariants:{sticky:false}}),F=classVarianceAuthority.cva(["border-t border-[var(--border)]","bg-[var(--accent-background)]/50","font-medium","[&>tr]:last:border-b-0"]),O=classVarianceAuthority.cva(["mt-4 text-sm text-[var(--menu-muted)]"]),k=classVarianceAuthority.cva(["h-12 px-4 text-left align-middle font-medium","text-[var(--menu-muted)]","[&:has([role=checkbox])]:pr-0","select-none","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-inset"],{variants:{allowsSorting:{true:"cursor-pointer hover:bg-[var(--accent)]/50",false:""},align:{start:"text-start",center:"text-center",end:"text-end"},size:{sm:"h-10 px-3 text-xs",default:"h-12 px-4 text-sm",lg:"h-14 px-5 text-base"}},defaultVariants:{allowsSorting:false,align:"start",size:"default"}}),H=classVarianceAuthority.cva(["border-b border-[var(--border)]","transition-colors","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-inset","hover:bg-[var(--accent-background)]/50","data-[disabled]:pointer-events-none data-[disabled]:opacity-50"],{variants:{isSelected:{true:"bg-[var(--accent)] data-[selected]:bg-[var(--accent)]",false:""},variant:{default:"",striped:"even:bg-[var(--accent-background)]/30"}},defaultVariants:{isSelected:false,variant:"default"}}),A=classVarianceAuthority.cva(["p-4 align-middle","[&:has([role=checkbox])]:pr-0"],{variants:{align:{start:"text-start",center:"text-center",end:"text-end"},size:{sm:"p-3 text-xs",default:"p-4 text-sm",lg:"p-5 text-base"},isRowHeader:{true:"font-medium",false:""}},defaultVariants:{align:"start",size:"default",isRowHeader:false}});var N=react.createContext({variant:"default",size:"default",selectionMode:"none",stickyHeader:false}),re=react.forwardRef(({className:a,variant:e="default",size:t="default",stickyHeader:o=false,selectionMode:s="none",selectionBehavior:i="toggle",disallowEmptySelection:l=false,disabledBehavior:u="selection",selectedKeys:c,defaultSelectedKeys:x,onSelectionChange:C,disabledKeys:b,sortDescriptor:p,onSortChange:h,onRowAction:g,children:f,...y},I)=>{process.env.NODE_ENV!=="production"&&t==="sm"&&s!=="none"&&console.warn('[Table] size="sm" with selectionMode produces rows shorter than the 44px WCAG 2.2 AAA minimum touch target. Use size="default" or size="lg" for accessible interactive tables.');let L=react.useMemo(()=>({variant:e,size:t,selectionMode:s,stickyHeader:o}),[e,t,s,o]);return jsxRuntime.jsx(N.Provider,{value:L,children:jsxRuntime.jsx("div",{className:n(z(),a),"data-testid":"table-container",children:jsxRuntime.jsx(reactAriaComponents.Table,{ref:I,className:n(B({variant:e})),selectionMode:s,selectionBehavior:i,disallowEmptySelection:l,disabledBehavior:u,selectedKeys:c,defaultSelectedKeys:x,onSelectionChange:C,disabledKeys:b,sortDescriptor:p,onSortChange:h,onRowAction:g,"data-testid":"table","data-variant":e,"data-size":t,...y,children:f})})})});re.displayName="Table";function De({className:a,children:e,columns:t,...o},s){let{size:i,selectionMode:l,stickyHeader:u}=react.useContext(N),{allowsDragging:c}=reactAriaComponents.useTableOptions();return jsxRuntime.jsxs(reactAriaComponents.TableHeader,{ref:s,className:n(D({sticky:u}),a),"data-testid":"table-header",...o,children:[l==="multiple"&&jsxRuntime.jsx(reactAriaComponents.Column,{className:n(k({size:i}),"w-12"),children:jsxRuntime.jsx(w,{slot:"selection","aria-label":"Select all",size:i})}),c&&jsxRuntime.jsx(reactAriaComponents.Column,{}),t?jsxRuntime.jsx(reactAriaComponents.Collection,{items:t,children:e}):e]})}var oe=react.forwardRef(De);oe.displayName="TableHeader";function Fe({className:a,children:e,items:t,renderEmptyState:o,...s},i){return jsxRuntime.jsx(reactAriaComponents.TableBody,{ref:i,className:n(a),items:t,renderEmptyState:o?()=>jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:99,className:"text-center p-8",children:o()})}):void 0,"data-testid":"table-body",...s,children:e})}var se=react.forwardRef(Fe);se.displayName="TableBody";var ne=react.forwardRef(({className:a,children:e,...t},o)=>jsxRuntime.jsx("tfoot",{ref:o,className:n(F(),a),"data-testid":"table-footer",...t,children:e}));ne.displayName="TableFooter";var ie=react.forwardRef(({className:a,children:e,...t},o)=>jsxRuntime.jsx("caption",{ref:o,className:n(O(),a),"data-testid":"table-caption",...t,children:e}));ie.displayName="TableCaption";var le=react.forwardRef(({className:a,children:e,isRowHeader:t=false,allowsSorting:o=false,align:s="start",width:i,minWidth:l,maxWidth:u,...c},x)=>{let{size:C}=react.useContext(N);return jsxRuntime.jsx(reactAriaComponents.Column,{ref:x,isRowHeader:t,allowsSorting:o,width:i,minWidth:l,maxWidth:u,className:n(k({allowsSorting:o,align:s,size:C}),a),...c,children:({allowsSorting:b,sortDirection:p})=>jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{children:e}),b&&p&&jsxRuntime.jsx("span",{"aria-hidden":"true","data-sort-direction":p,children:p==="ascending"?jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"})})]})})});le.displayName="Column";function Oe({className:a,children:e,columns:t,href:o,isDisabled:s,...i},l){let{variant:u,size:c,selectionMode:x}=react.useContext(N),{allowsDragging:C}=reactAriaComponents.useTableOptions(),b=u==="striped"?"striped":"default",p=H({isSelected:true,variant:b}),h=H({isSelected:false,variant:b}),g=n(A({size:c}),"w-12");return jsxRuntime.jsxs(reactAriaComponents.Row,{ref:l,href:o,isDisabled:s,className:({isSelected:f,isDisabled:y})=>n(f?p:h,y&&"opacity-50",a),"data-testid":"table-row",...i,children:[x==="multiple"&&jsxRuntime.jsx(reactAriaComponents.Cell,{className:g,children:jsxRuntime.jsx(w,{slot:"selection","aria-label":"Select row",size:c})}),C&&jsxRuntime.jsx(reactAriaComponents.Cell,{}),t?jsxRuntime.jsx(reactAriaComponents.Collection,{items:t,children:e}):e]})}var de=react.forwardRef(Oe);de.displayName="Row";var ce=react.memo(react.forwardRef(({className:a,children:e,align:t="start",colSpan:o,...s},i)=>{let{size:l}=react.useContext(N);return jsxRuntime.jsx(reactAriaComponents.Cell,{ref:i,className:n(A({align:t,size:l}),a),...s,children:e})}));ce.displayName="Cell";exports.Cell=ce;exports.Column=le;exports.Row=de;exports.Table=re;exports.TableBody=se;exports.TableCaption=ie;exports.TableFooter=ne;exports.TableHeader=oe;exports.cellVariants=A;exports.columnVariants=k;exports.rowVariants=H;exports.tableCaptionVariants=O;exports.tableContainerVariants=z;exports.tableFooterVariants=F;exports.tableHeaderVariants=D;exports.tableVariants=B;//# sourceMappingURL=index.js.map
597
3
  //# sourceMappingURL=index.js.map