@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,33 +1,591 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
- var chunk3XD2JUL3_js = require('../../chunk-3XD2JUL3.js');
4
- require('../../chunk-T4COXKQ3.js');
4
+ var react = require('react');
5
+ var reactAriaComponents = require('react-aria-components');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var lucideReact = require('lucide-react');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var zod = require('zod');
5
10
 
6
-
7
-
8
- Object.defineProperty(exports, "MultiSelect", {
9
- enumerable: true,
10
- get: function () { return chunk3XD2JUL3_js.MultiSelect; }
11
+ // src/elements/Select/Select.tsx
12
+ var selectTriggerVariants = classVarianceAuthority.cva(
13
+ [
14
+ // Base styles
15
+ "flex",
16
+ "w-full",
17
+ "items-center",
18
+ "justify-between",
19
+ "rounded-md",
20
+ "border",
21
+ "bg-[var(--content-background)]",
22
+ "text-[var(--content-foreground)]",
23
+ "transition-colors",
24
+ "duration-200",
25
+ "outline-none",
26
+ // Focus ring (WCAG 2.2 AAA - 7:1 contrast)
27
+ "focus-visible:ring-2",
28
+ "focus-visible:ring-[var(--ring)]",
29
+ "focus-visible:ring-offset-2",
30
+ // Hover state
31
+ "hover:bg-[var(--accent)]/10",
32
+ // Disabled state
33
+ "disabled:cursor-not-allowed",
34
+ "disabled:opacity-50",
35
+ // Loading state
36
+ "data-[loading=true]:cursor-wait",
37
+ // Truncate text
38
+ "truncate"
39
+ ],
40
+ {
41
+ variants: {
42
+ size: {
43
+ // All sizes use 44px minimum touch target for WCAG 2.2 AAA compliance
44
+ // Visual height varies but touch area remains accessible
45
+ sm: "h-9 px-3 text-sm min-h-[44px]",
46
+ default: "h-11 px-4 text-base min-h-[44px]",
47
+ lg: "h-14 px-5 text-lg min-h-[44px]"
48
+ },
49
+ isInvalid: {
50
+ true: "border-[var(--destructive)]",
51
+ false: "border-[var(--input)] hover:border-[var(--input)]/80"
52
+ }
53
+ },
54
+ defaultVariants: {
55
+ size: "default",
56
+ isInvalid: false
57
+ }
58
+ }
59
+ );
60
+ var selectItemVariants = classVarianceAuthority.cva(
61
+ [
62
+ // Base styles
63
+ "relative",
64
+ "flex",
65
+ "w-full",
66
+ "cursor-pointer",
67
+ "select-none",
68
+ "items-center",
69
+ "rounded-sm",
70
+ "outline-none",
71
+ "transition-colors",
72
+ // Padding for checkmark icon (left side)
73
+ "pl-8",
74
+ "pr-2",
75
+ // Hover state
76
+ "hover:bg-[var(--accent)]",
77
+ "hover:text-[var(--accent-foreground)]",
78
+ // Focus state
79
+ "focus:bg-[var(--accent)]",
80
+ "focus:text-[var(--accent-foreground)]",
81
+ // Selected state
82
+ "data-[selected=true]:bg-[var(--accent)]",
83
+ "data-[selected=true]:text-[var(--accent-foreground)]",
84
+ // Disabled state
85
+ "data-[disabled=true]:pointer-events-none",
86
+ "data-[disabled=true]:opacity-50",
87
+ "data-[disabled=true]:text-[var(--menu-muted)]"
88
+ ],
89
+ {
90
+ variants: {
91
+ size: {
92
+ // All sizes use 44px minimum touch target for WCAG 2.2 AAA compliance
93
+ sm: "h-9 py-1.5 text-sm min-h-[44px]",
94
+ default: "h-11 py-2 text-base min-h-[44px]",
95
+ lg: "h-14 py-3 text-lg min-h-[44px]"
96
+ }
97
+ },
98
+ defaultVariants: {
99
+ size: "default"
100
+ }
101
+ }
102
+ );
103
+ var selectPopoverVariants = classVarianceAuthority.cva(
104
+ [
105
+ // Base styles - use menu tokens to match Dropdown styling
106
+ "z-50",
107
+ "w-[--trigger-width]",
108
+ "rounded-md",
109
+ "border",
110
+ "border-[var(--menu-border)]",
111
+ "bg-[var(--menu-background)]",
112
+ "text-[var(--menu-foreground)]",
113
+ "shadow-md",
114
+ "outline-none",
115
+ "overflow-auto",
116
+ // Animations
117
+ "data-[entering]:animate-in",
118
+ "data-[entering]:fade-in-0",
119
+ "data-[entering]:zoom-in-95",
120
+ "data-[exiting]:animate-out",
121
+ "data-[exiting]:fade-out-0",
122
+ "data-[exiting]:zoom-out-95"
123
+ ],
124
+ {
125
+ variants: {
126
+ size: {
127
+ sm: "max-h-[200px] p-1",
128
+ default: "max-h-[300px] p-1",
129
+ lg: "max-h-[400px] p-1"
130
+ }
131
+ },
132
+ defaultVariants: {
133
+ size: "default"
134
+ }
135
+ }
136
+ );
137
+ var selectSectionVariants = classVarianceAuthority.cva(
138
+ [
139
+ "px-2",
140
+ "py-1.5",
141
+ "text-xs",
142
+ "font-semibold",
143
+ "text-[var(--menu-muted)]",
144
+ "uppercase",
145
+ "tracking-wider"
146
+ ],
147
+ {
148
+ variants: {
149
+ size: {
150
+ sm: "px-2 py-1 text-[10px]",
151
+ default: "px-2 py-1.5 text-xs",
152
+ lg: "px-3 py-2 text-sm"
153
+ }
154
+ },
155
+ defaultVariants: {
156
+ size: "default"
157
+ }
158
+ }
159
+ );
160
+ var selectErrorVariants = classVarianceAuthority.cva(
161
+ [
162
+ "flex",
163
+ "items-center",
164
+ "gap-1.5",
165
+ "text-sm",
166
+ "font-medium",
167
+ "text-[var(--destructive)]",
168
+ "mt-1.5"
169
+ ],
170
+ {
171
+ variants: {
172
+ size: {
173
+ sm: "text-xs mt-1",
174
+ default: "text-sm mt-1.5",
175
+ lg: "text-base mt-2"
176
+ }
177
+ },
178
+ defaultVariants: {
179
+ size: "default"
180
+ }
181
+ }
182
+ );
183
+ var SelectRoot = react.forwardRef(
184
+ ({
185
+ // Display props
186
+ label,
187
+ placeholder,
188
+ description,
189
+ // Selection props
190
+ value,
191
+ defaultValue,
192
+ // State props
193
+ isOpen,
194
+ isDisabled = false,
195
+ isRequired = false,
196
+ disabledKeys,
197
+ // Validation props
198
+ validate,
199
+ validationBehavior = "aria",
200
+ errorMessage,
201
+ // Loading state
202
+ isLoading = false,
203
+ emptyStateMessage,
204
+ // Form integration
205
+ name,
206
+ // Size variant
207
+ size = "default",
208
+ // Event handlers
209
+ onChange,
210
+ onOpenChange,
211
+ // Standard props
212
+ className,
213
+ children,
214
+ ...props
215
+ }, ref) => {
216
+ const labelId = react.useId();
217
+ const descriptionId = react.useId();
218
+ const errorId = react.useId();
219
+ const childCount = react.Children.count(children);
220
+ if (childCount > 1e3) {
221
+ console.warn(
222
+ "Select has >1000 items. Consider using Autocomplete component for better performance."
223
+ );
224
+ }
225
+ const isInvalid = Boolean(errorMessage);
226
+ return /* @__PURE__ */ jsxRuntime.jsxs(
227
+ reactAriaComponents.Select,
228
+ {
229
+ value,
230
+ defaultValue,
231
+ onChange: (key) => {
232
+ if (onChange) {
233
+ onChange(key);
234
+ }
235
+ },
236
+ placeholder,
237
+ disabledKeys,
238
+ isOpen,
239
+ onOpenChange,
240
+ isDisabled: isDisabled || isLoading,
241
+ isRequired,
242
+ name,
243
+ validate,
244
+ validationBehavior,
245
+ isInvalid,
246
+ className,
247
+ ...props,
248
+ children: [
249
+ /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.Label, { id: labelId, className: "text-sm font-medium text-[var(--content-foreground)]", children: [
250
+ label,
251
+ isRequired && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[var(--destructive)] ml-1", children: "*" })
252
+ ] }),
253
+ description && /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Text, { id: descriptionId, slot: "description", className: "text-sm text-[var(--menu-muted)] mt-1", children: description }),
254
+ /* @__PURE__ */ jsxRuntime.jsxs(
255
+ reactAriaComponents.Button,
256
+ {
257
+ ref,
258
+ className: selectTriggerVariants({ size, isInvalid }),
259
+ "aria-labelledby": labelId,
260
+ "aria-describedby": description ? descriptionId : errorMessage ? errorId : void 0,
261
+ "data-loading": isLoading,
262
+ ...isRequired && { "aria-required": "true" },
263
+ ...isLoading && { "aria-busy": "true" },
264
+ ...(isDisabled || isLoading) && { "aria-disabled": "true" },
265
+ children: [
266
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.SelectValue, { className: "flex-1 text-left truncate" }),
267
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 animate-spin text-[var(--menu-muted)]", "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 text-[var(--menu-muted)]", "aria-hidden": "true" })
268
+ ]
269
+ }
270
+ ),
271
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.FieldError, { id: errorId, className: selectErrorVariants({ size }), children: ({ validationErrors }) => {
272
+ const displayError = errorMessage || validationErrors.join(" ");
273
+ return displayError ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
274
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4", "aria-hidden": "true" }),
275
+ displayError
276
+ ] }) : null;
277
+ } }),
278
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Popover, { className: selectPopoverVariants({ size }), children: /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.ListBox, { className: "outline-none", children: [
279
+ isLoading && childCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
280
+ "div",
281
+ {
282
+ className: "h-11 px-4 py-2",
283
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 bg-[var(--accent-background)] rounded animate-pulse" })
284
+ },
285
+ `skeleton-${i}`
286
+ )) }),
287
+ !isLoading && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
288
+ children,
289
+ childCount === 0 && /* @__PURE__ */ jsxRuntime.jsx(
290
+ reactAriaComponents.ListBoxItem,
291
+ {
292
+ id: "__empty__",
293
+ textValue: "empty",
294
+ isDisabled: true,
295
+ className: "py-6 text-center text-sm text-[var(--menu-muted)] cursor-default pointer-events-none",
296
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { role: "status", children: emptyStateMessage || "No options available" })
297
+ }
298
+ )
299
+ ] })
300
+ ] }) })
301
+ ]
302
+ }
303
+ );
304
+ }
305
+ );
306
+ SelectRoot.displayName = "Select";
307
+ var MultiSelectRoot = react.forwardRef(
308
+ ({
309
+ // Display props
310
+ label,
311
+ placeholder,
312
+ description,
313
+ // Selection props
314
+ value,
315
+ defaultValue,
316
+ selectionMode: _selectionMode = "multiple",
317
+ // State props
318
+ isOpen,
319
+ isDisabled = false,
320
+ isRequired = false,
321
+ disabledKeys,
322
+ // Validation props
323
+ validate,
324
+ validationBehavior = "aria",
325
+ errorMessage,
326
+ // Loading state
327
+ isLoading = false,
328
+ emptyStateMessage,
329
+ // Form integration
330
+ name,
331
+ // Size variant
332
+ size = "default",
333
+ // Event handlers
334
+ onChange,
335
+ onOpenChange,
336
+ // Standard props
337
+ className,
338
+ children,
339
+ ...props
340
+ }, ref) => {
341
+ const labelId = react.useId();
342
+ const descriptionId = react.useId();
343
+ const errorId = react.useId();
344
+ const childCount = react.Children.count(children);
345
+ if (childCount > 1e3) {
346
+ console.warn(
347
+ "Select has >1000 items. Consider using Autocomplete component for better performance."
348
+ );
349
+ }
350
+ const isInvalid = Boolean(errorMessage);
351
+ const valueToLabelMap = react.useMemo(() => {
352
+ const map = /* @__PURE__ */ new Map();
353
+ const processChildren = (nodes) => {
354
+ react.Children.forEach(nodes, (child) => {
355
+ if (react.isValidElement(child)) {
356
+ const element = child;
357
+ if (element.type === SelectItem || element.props?.value) {
358
+ const itemValue = element.props.value;
359
+ const itemChildren = element.props.children;
360
+ if (itemValue && typeof itemChildren === "string") {
361
+ map.set(itemValue, itemChildren);
362
+ }
363
+ }
364
+ if (element.props?.children) {
365
+ processChildren(element.props.children);
366
+ }
367
+ }
368
+ });
369
+ };
370
+ processChildren(children);
371
+ return map;
372
+ }, [children]);
373
+ const displayValue = react.useMemo(() => {
374
+ if (!value || !Array.isArray(value) || value.length === 0) {
375
+ return placeholder || "";
376
+ }
377
+ if (value.length <= 2) {
378
+ const labels = value.map((v) => valueToLabelMap.get(v) || v);
379
+ return labels.join(", ");
380
+ }
381
+ return `${value.length} items selected`;
382
+ }, [value, valueToLabelMap, placeholder]);
383
+ return /* @__PURE__ */ jsxRuntime.jsxs(
384
+ reactAriaComponents.Select,
385
+ {
386
+ value,
387
+ defaultValue,
388
+ onChange: (keys) => {
389
+ if (onChange) {
390
+ onChange(keys);
391
+ }
392
+ },
393
+ selectionMode: "multiple",
394
+ disabledKeys,
395
+ isOpen,
396
+ onOpenChange,
397
+ isDisabled: isDisabled || isLoading,
398
+ isRequired,
399
+ name,
400
+ validate,
401
+ validationBehavior,
402
+ isInvalid,
403
+ className,
404
+ ...props,
405
+ children: [
406
+ /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.Label, { id: labelId, className: "text-sm font-medium text-[var(--content-foreground)]", children: [
407
+ label,
408
+ isRequired && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[var(--destructive)] ml-1", children: "*" })
409
+ ] }),
410
+ description && /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Text, { id: descriptionId, slot: "description", className: "text-sm text-[var(--menu-muted)] mt-1", children: description }),
411
+ /* @__PURE__ */ jsxRuntime.jsxs(
412
+ reactAriaComponents.Button,
413
+ {
414
+ ref,
415
+ className: selectTriggerVariants({ size, isInvalid }),
416
+ "aria-labelledby": labelId,
417
+ "aria-describedby": description ? descriptionId : errorMessage ? errorId : void 0,
418
+ "data-loading": isLoading,
419
+ ...isRequired && { "aria-required": "true" },
420
+ ...isLoading && { "aria-busy": "true" },
421
+ ...(isDisabled || isLoading) && { "aria-disabled": "true" },
422
+ children: [
423
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left truncate", children: displayValue }),
424
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 animate-spin text-[var(--menu-muted)]", "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 text-[var(--menu-muted)]", "aria-hidden": "true" })
425
+ ]
426
+ }
427
+ ),
428
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.FieldError, { id: errorId, className: selectErrorVariants({ size }), children: ({ validationErrors }) => {
429
+ const displayError = errorMessage || validationErrors.join(" ");
430
+ return displayError ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
431
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-4 w-4", "aria-hidden": "true" }),
432
+ displayError
433
+ ] }) : null;
434
+ } }),
435
+ /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Popover, { className: selectPopoverVariants({ size }), children: /* @__PURE__ */ jsxRuntime.jsxs(reactAriaComponents.ListBox, { className: "outline-none", children: [
436
+ isLoading && childCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-11 px-4 py-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 bg-[var(--accent-background)] rounded animate-pulse" }) }, `skeleton-${i}`)) }),
437
+ !isLoading && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
438
+ children,
439
+ childCount === 0 && /* @__PURE__ */ jsxRuntime.jsx(
440
+ reactAriaComponents.ListBoxItem,
441
+ {
442
+ id: "__empty__",
443
+ textValue: "empty",
444
+ isDisabled: true,
445
+ className: "py-6 text-center text-sm text-[var(--menu-muted)] cursor-default pointer-events-none",
446
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { role: "status", children: emptyStateMessage || "No options available" })
447
+ }
448
+ )
449
+ ] })
450
+ ] }) })
451
+ ]
452
+ }
453
+ );
454
+ }
455
+ );
456
+ MultiSelectRoot.displayName = "MultiSelect";
457
+ function SelectItem({ children, textValue, value, isDisabled = false, className, ...props }) {
458
+ if (!textValue && typeof children !== "string") {
459
+ const message = "Select.Item with custom children requires textValue prop for accessibility";
460
+ if (process.env.NODE_ENV === "development") {
461
+ throw new Error(message);
462
+ } else {
463
+ console.warn(message);
464
+ }
465
+ }
466
+ return /* @__PURE__ */ jsxRuntime.jsx(
467
+ reactAriaComponents.ListBoxItem,
468
+ {
469
+ id: value,
470
+ textValue: textValue || (typeof children === "string" ? children : void 0),
471
+ className: `${selectItemVariants({ size: "default" })} ${className || ""}`,
472
+ isDisabled,
473
+ ...props,
474
+ children: ({ isSelected, selectionMode, isDisabled: itemDisabled }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
475
+ selectionMode === "multiple" ? /* @__PURE__ */ jsxRuntime.jsx(
476
+ lucideReact.CheckSquare,
477
+ {
478
+ className: `absolute left-2 h-4 w-4 ${isSelected ? "visible" : "invisible"}`,
479
+ "aria-hidden": "true"
480
+ }
481
+ ) : isSelected && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "absolute left-2 h-4 w-4", "aria-hidden": "true" }),
482
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: itemDisabled ? "text-[var(--menu-muted)]" : "", children })
483
+ ] })
484
+ }
485
+ );
486
+ }
487
+ SelectItem.displayName = "SelectItem";
488
+ function SelectSection({ children, className, ...props }) {
489
+ return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.ListBoxSection, { className: `border-t border-[var(--border)] first:border-t-0 ${className || ""}`, ...props, children });
490
+ }
491
+ SelectSection.displayName = "SelectSection";
492
+ function SelectHeader({ children, className, ...props }) {
493
+ return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Header, { className: `${selectSectionVariants({ size: "default" })} ${className || ""}`, ...props, children });
494
+ }
495
+ SelectHeader.displayName = "SelectHeader";
496
+ var Select = Object.assign(SelectRoot, {
497
+ Item: SelectItem,
498
+ Section: SelectSection,
499
+ Header: SelectHeader
11
500
  });
12
- Object.defineProperty(exports, "Select", {
13
- enumerable: true,
14
- get: function () { return chunk3XD2JUL3_js.Select; }
501
+ var MultiSelect = Object.assign(MultiSelectRoot, {
502
+ Item: SelectItem,
503
+ Section: SelectSection,
504
+ Header: SelectHeader
15
505
  });
16
- Object.defineProperty(exports, "SelectHeaderPropsSchema", {
17
- enumerable: true,
18
- get: function () { return chunk3XD2JUL3_js.SelectHeaderPropsSchema; }
506
+ var BaseComponentPropsSchema = zod.z.object({
507
+ // Styling
508
+ className: zod.z.string().optional(),
509
+ // React
510
+ children: zod.z.any().optional(),
511
+ // ReactNode not directly supported by Zod
512
+ id: zod.z.string().optional(),
513
+ // Accessibility (WCAG 2.2 AA requirements)
514
+ "aria-label": zod.z.string().optional(),
515
+ "aria-labelledby": zod.z.string().optional(),
516
+ "aria-describedby": zod.z.string().optional(),
517
+ "aria-live": zod.z.enum(["off", "polite", "assertive"]).optional(),
518
+ "aria-hidden": zod.z.boolean().optional(),
519
+ // Testing & Development
520
+ "data-testid": zod.z.string().optional()
19
521
  });
20
- Object.defineProperty(exports, "SelectItemPropsSchema", {
21
- enumerable: true,
22
- get: function () { return chunk3XD2JUL3_js.SelectItemPropsSchema; }
522
+
523
+ // src/elements/Select/Select.types.ts
524
+ var SelectSizeSchema = zod.z.enum(["sm", "default", "lg"]);
525
+ var SelectionModeSchema = zod.z.enum(["single", "multiple"]);
526
+ var ValidationBehaviorSchema = zod.z.enum(["native", "aria"]);
527
+ var SelectPropsSchema = BaseComponentPropsSchema.extend({
528
+ // Display props (US-1)
529
+ label: zod.z.string(),
530
+ // Required for accessibility
531
+ placeholder: zod.z.string().optional(),
532
+ description: zod.z.string().optional(),
533
+ // Selection props (US-1, US-6)
534
+ value: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional(),
535
+ defaultValue: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional(),
536
+ selectionMode: SelectionModeSchema.optional().default("single"),
537
+ // State props (US-1, US-5)
538
+ isOpen: zod.z.boolean().optional(),
539
+ isDisabled: zod.z.boolean().optional().default(false),
540
+ isRequired: zod.z.boolean().optional().default(false),
541
+ disabledKeys: zod.z.array(zod.z.string()).optional(),
542
+ // Validation props (US-4)
543
+ validate: zod.z.custom().optional(),
544
+ validationBehavior: ValidationBehaviorSchema.optional().default("aria"),
545
+ errorMessage: zod.z.string().optional(),
546
+ // Loading state (US-7)
547
+ isLoading: zod.z.boolean().optional().default(false),
548
+ emptyStateMessage: zod.z.string().optional(),
549
+ // Form integration (US-10)
550
+ name: zod.z.string().optional(),
551
+ // Size variant (US-9)
552
+ size: SelectSizeSchema.optional().default("default"),
553
+ // Event handlers (US-1)
554
+ onChange: zod.z.custom().optional(),
555
+ onOpenChange: zod.z.custom().optional(),
556
+ // Children (Select.Item, Select.Section components)
557
+ children: zod.z.custom()
23
558
  });
24
- Object.defineProperty(exports, "SelectPropsSchema", {
25
- enumerable: true,
26
- get: function () { return chunk3XD2JUL3_js.SelectPropsSchema; }
559
+ var SelectItemPropsSchema = BaseComponentPropsSchema.extend({
560
+ // Item value (required)
561
+ value: zod.z.string(),
562
+ // Text value for typeahead and accessibility (required for custom children)
563
+ textValue: zod.z.string().optional(),
564
+ // Disabled state
565
+ isDisabled: zod.z.boolean().optional().default(false),
566
+ // Item content
567
+ children: zod.z.custom(),
568
+ // Optional className for custom styling
569
+ className: zod.z.string().optional()
27
570
  });
28
- Object.defineProperty(exports, "SelectSectionPropsSchema", {
29
- enumerable: true,
30
- get: function () { return chunk3XD2JUL3_js.SelectSectionPropsSchema; }
571
+ var SelectSectionPropsSchema = BaseComponentPropsSchema.extend({
572
+ // Section content (typically Select.Header + Select.Item components)
573
+ children: zod.z.custom(),
574
+ // Optional className for custom styling
575
+ className: zod.z.string().optional()
31
576
  });
577
+ var SelectHeaderPropsSchema = BaseComponentPropsSchema.extend({
578
+ // Header text
579
+ children: zod.z.custom(),
580
+ // Optional className for header styling
581
+ className: zod.z.string().optional()
582
+ });
583
+
584
+ exports.MultiSelect = MultiSelect;
585
+ exports.Select = Select;
586
+ exports.SelectHeaderPropsSchema = SelectHeaderPropsSchema;
587
+ exports.SelectItemPropsSchema = SelectItemPropsSchema;
588
+ exports.SelectPropsSchema = SelectPropsSchema;
589
+ exports.SelectSectionPropsSchema = SelectSectionPropsSchema;
32
590
  //# sourceMappingURL=index.js.map
33
591
  //# sourceMappingURL=index.js.map