@particle-academy/react-fancy 5.12.0 → 5.13.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 (949) hide show
  1. package/dist/AudioViewer.types-VWhRx6XG.d.cts +22 -0
  2. package/dist/AudioViewer.types-VWhRx6XG.d.ts +22 -0
  3. package/dist/Card-BZ5F6-wd.d.cts +50 -0
  4. package/dist/Card-BZ5F6-wd.d.ts +50 -0
  5. package/dist/Carousel.context-Ba3gKZHQ.d.cts +61 -0
  6. package/dist/Carousel.context-Ba3gKZHQ.d.ts +61 -0
  7. package/dist/FieldMode.context-Bv_wuS8V.d.ts +74 -0
  8. package/dist/FieldMode.context-C28RH8GR.d.cts +74 -0
  9. package/dist/ImageViewer.types-BaqlDeuo.d.cts +55 -0
  10. package/dist/ImageViewer.types-BaqlDeuo.d.ts +55 -0
  11. package/dist/PdfViewer.types-_u6vboSl.d.cts +14 -0
  12. package/dist/PdfViewer.types-_u6vboSl.d.ts +14 -0
  13. package/dist/Timeline-7zHhIk3P.d.cts +73 -0
  14. package/dist/Timeline-Cvrd7N7-.d.ts +73 -0
  15. package/dist/VideoViewer.types-CTwS6PcM.d.cts +26 -0
  16. package/dist/VideoViewer.types-CTwS6PcM.d.ts +26 -0
  17. package/dist/accordion-panel.cjs +34 -0
  18. package/dist/accordion-panel.cjs.map +1 -0
  19. package/dist/accordion-panel.d.cts +186 -0
  20. package/dist/accordion-panel.d.ts +186 -0
  21. package/dist/accordion-panel.js +5 -0
  22. package/dist/accordion-panel.js.map +1 -0
  23. package/dist/accordion.cjs +17 -0
  24. package/dist/accordion.cjs.map +1 -0
  25. package/dist/accordion.d.cts +53 -0
  26. package/dist/accordion.d.ts +53 -0
  27. package/dist/accordion.js +4 -0
  28. package/dist/accordion.js.map +1 -0
  29. package/dist/audio-viewer.cjs +13 -0
  30. package/dist/audio-viewer.cjs.map +1 -0
  31. package/dist/audio-viewer.d.cts +14 -0
  32. package/dist/audio-viewer.d.ts +14 -0
  33. package/dist/audio-viewer.js +4 -0
  34. package/dist/audio-viewer.js.map +1 -0
  35. package/dist/autocomplete.cjs +20 -0
  36. package/dist/autocomplete.cjs.map +1 -0
  37. package/dist/autocomplete.d.cts +28 -0
  38. package/dist/autocomplete.d.ts +28 -0
  39. package/dist/autocomplete.js +11 -0
  40. package/dist/autocomplete.js.map +1 -0
  41. package/dist/avatar.cjs +13 -0
  42. package/dist/avatar.cjs.map +1 -0
  43. package/dist/avatar.d.cts +26 -0
  44. package/dist/avatar.d.ts +26 -0
  45. package/dist/avatar.js +4 -0
  46. package/dist/avatar.js.map +1 -0
  47. package/dist/badge.cjs +13 -0
  48. package/dist/badge.cjs.map +1 -0
  49. package/dist/badge.d.cts +18 -0
  50. package/dist/badge.d.ts +18 -0
  51. package/dist/badge.js +4 -0
  52. package/dist/badge.js.map +1 -0
  53. package/dist/brand.cjs +17 -0
  54. package/dist/brand.cjs.map +1 -0
  55. package/dist/brand.d.cts +43 -0
  56. package/dist/brand.d.ts +43 -0
  57. package/dist/brand.js +4 -0
  58. package/dist/brand.js.map +1 -0
  59. package/dist/breadcrumbs.cjs +15 -0
  60. package/dist/breadcrumbs.cjs.map +1 -0
  61. package/dist/breadcrumbs.d.cts +36 -0
  62. package/dist/breadcrumbs.d.ts +36 -0
  63. package/dist/breadcrumbs.js +6 -0
  64. package/dist/breadcrumbs.js.map +1 -0
  65. package/dist/button.cjs +20 -0
  66. package/dist/button.cjs.map +1 -0
  67. package/dist/button.d.cts +84 -0
  68. package/dist/button.d.ts +84 -0
  69. package/dist/button.js +7 -0
  70. package/dist/button.js.map +1 -0
  71. package/dist/calendar.cjs +13 -0
  72. package/dist/calendar.cjs.map +1 -0
  73. package/dist/calendar.d.cts +20 -0
  74. package/dist/calendar.d.ts +20 -0
  75. package/dist/calendar.js +4 -0
  76. package/dist/calendar.js.map +1 -0
  77. package/dist/callout.cjs +13 -0
  78. package/dist/callout.cjs.map +1 -0
  79. package/dist/callout.d.cts +16 -0
  80. package/dist/callout.d.ts +16 -0
  81. package/dist/callout.js +4 -0
  82. package/dist/callout.js.map +1 -0
  83. package/dist/card.cjs +29 -0
  84. package/dist/card.cjs.map +1 -0
  85. package/dist/card.d.cts +29 -0
  86. package/dist/card.d.ts +29 -0
  87. package/dist/card.js +4 -0
  88. package/dist/card.js.map +1 -0
  89. package/dist/carousel.cjs +34 -0
  90. package/dist/carousel.cjs.map +1 -0
  91. package/dist/carousel.d.cts +13 -0
  92. package/dist/carousel.d.ts +13 -0
  93. package/dist/carousel.js +5 -0
  94. package/dist/carousel.js.map +1 -0
  95. package/dist/chart.cjs +13 -0
  96. package/dist/chart.cjs.map +1 -0
  97. package/dist/chart.d.cts +140 -0
  98. package/dist/chart.d.ts +140 -0
  99. package/dist/chart.js +4 -0
  100. package/dist/chart.js.map +1 -0
  101. package/dist/chat-drawer.cjs +15 -0
  102. package/dist/chat-drawer.cjs.map +1 -0
  103. package/dist/chat-drawer.d.cts +63 -0
  104. package/dist/chat-drawer.d.ts +63 -0
  105. package/dist/chat-drawer.js +6 -0
  106. package/dist/chat-drawer.js.map +1 -0
  107. package/dist/checkbox-group.cjs +19 -0
  108. package/dist/checkbox-group.cjs.map +1 -0
  109. package/dist/checkbox-group.d.cts +18 -0
  110. package/dist/checkbox-group.d.ts +18 -0
  111. package/dist/checkbox-group.js +10 -0
  112. package/dist/checkbox-group.js.map +1 -0
  113. package/dist/checkbox.cjs +17 -0
  114. package/dist/checkbox.cjs.map +1 -0
  115. package/dist/checkbox.d.cts +16 -0
  116. package/dist/checkbox.d.ts +16 -0
  117. package/dist/checkbox.js +8 -0
  118. package/dist/checkbox.js.map +1 -0
  119. package/dist/chunk-2CNSZCVE.cjs +119 -0
  120. package/dist/chunk-2CNSZCVE.cjs.map +1 -0
  121. package/dist/chunk-2CYRAKWI.cjs +241 -0
  122. package/dist/chunk-2CYRAKWI.cjs.map +1 -0
  123. package/dist/chunk-2G3L4BLU.cjs +257 -0
  124. package/dist/chunk-2G3L4BLU.cjs.map +1 -0
  125. package/dist/chunk-2PELJ4VA.cjs +335 -0
  126. package/dist/chunk-2PELJ4VA.cjs.map +1 -0
  127. package/dist/chunk-2S7WRR5P.cjs +156 -0
  128. package/dist/chunk-2S7WRR5P.cjs.map +1 -0
  129. package/dist/chunk-32AJIHBZ.js +201 -0
  130. package/dist/chunk-32AJIHBZ.js.map +1 -0
  131. package/dist/chunk-3DJGPNUI.js +39 -0
  132. package/dist/chunk-3DJGPNUI.js.map +1 -0
  133. package/dist/chunk-3ETOEEVN.cjs +62 -0
  134. package/dist/chunk-3ETOEEVN.cjs.map +1 -0
  135. package/dist/chunk-3GRC5J2L.cjs +54 -0
  136. package/dist/chunk-3GRC5J2L.cjs.map +1 -0
  137. package/dist/chunk-3SQ34IQC.cjs +124 -0
  138. package/dist/chunk-3SQ34IQC.cjs.map +1 -0
  139. package/dist/chunk-3WGRVDQR.cjs +39 -0
  140. package/dist/chunk-3WGRVDQR.cjs.map +1 -0
  141. package/dist/chunk-3Z6ALUWP.cjs +13 -0
  142. package/dist/chunk-3Z6ALUWP.cjs.map +1 -0
  143. package/dist/chunk-45BBNJQD.js +2019 -0
  144. package/dist/chunk-45BBNJQD.js.map +1 -0
  145. package/dist/chunk-47TFRODY.cjs +107 -0
  146. package/dist/chunk-47TFRODY.cjs.map +1 -0
  147. package/dist/chunk-4DQ6HX27.cjs +187 -0
  148. package/dist/chunk-4DQ6HX27.cjs.map +1 -0
  149. package/dist/chunk-4UA45GB4.js +129 -0
  150. package/dist/chunk-4UA45GB4.js.map +1 -0
  151. package/dist/chunk-57FQGQJK.cjs +26 -0
  152. package/dist/chunk-57FQGQJK.cjs.map +1 -0
  153. package/dist/chunk-5FV6GMFP.cjs +4 -0
  154. package/dist/chunk-5FV6GMFP.cjs.map +1 -0
  155. package/dist/chunk-5HOQ2PHR.cjs +287 -0
  156. package/dist/chunk-5HOQ2PHR.cjs.map +1 -0
  157. package/dist/chunk-5I4PR2KV.cjs +131 -0
  158. package/dist/chunk-5I4PR2KV.cjs.map +1 -0
  159. package/dist/chunk-5OC6DUYT.js +139 -0
  160. package/dist/chunk-5OC6DUYT.js.map +1 -0
  161. package/dist/chunk-5QL7XT3N.js +80 -0
  162. package/dist/chunk-5QL7XT3N.js.map +1 -0
  163. package/dist/chunk-5U2DZ7AV.js +49 -0
  164. package/dist/chunk-5U2DZ7AV.js.map +1 -0
  165. package/dist/chunk-5UOQVGZC.cjs +930 -0
  166. package/dist/chunk-5UOQVGZC.cjs.map +1 -0
  167. package/dist/chunk-6BW5BQMN.cjs +57 -0
  168. package/dist/chunk-6BW5BQMN.cjs.map +1 -0
  169. package/dist/chunk-6FBFE66M.cjs +292 -0
  170. package/dist/chunk-6FBFE66M.cjs.map +1 -0
  171. package/dist/chunk-6FQGMVF2.js +25 -0
  172. package/dist/chunk-6FQGMVF2.js.map +1 -0
  173. package/dist/chunk-6GC5DMOK.cjs +141 -0
  174. package/dist/chunk-6GC5DMOK.cjs.map +1 -0
  175. package/dist/chunk-6H6OYLMJ.js +105 -0
  176. package/dist/chunk-6H6OYLMJ.js.map +1 -0
  177. package/dist/chunk-6L6LI2RL.cjs +37 -0
  178. package/dist/chunk-6L6LI2RL.cjs.map +1 -0
  179. package/dist/chunk-6MDZQIMZ.cjs +18 -0
  180. package/dist/chunk-6MDZQIMZ.cjs.map +1 -0
  181. package/dist/chunk-6OSHAP6L.cjs +110 -0
  182. package/dist/chunk-6OSHAP6L.cjs.map +1 -0
  183. package/dist/chunk-7AFEKDUS.js +202 -0
  184. package/dist/chunk-7AFEKDUS.js.map +1 -0
  185. package/dist/chunk-7C7VF4WY.cjs +155 -0
  186. package/dist/chunk-7C7VF4WY.cjs.map +1 -0
  187. package/dist/chunk-7NLKXBZ2.cjs +88 -0
  188. package/dist/chunk-7NLKXBZ2.cjs.map +1 -0
  189. package/dist/chunk-7XDKIZQE.js +382 -0
  190. package/dist/chunk-7XDKIZQE.js.map +1 -0
  191. package/dist/chunk-A22T6DKO.cjs +283 -0
  192. package/dist/chunk-A22T6DKO.cjs.map +1 -0
  193. package/dist/chunk-A3CNYKT3.js +197 -0
  194. package/dist/chunk-A3CNYKT3.js.map +1 -0
  195. package/dist/chunk-AC7M7JDO.cjs +199 -0
  196. package/dist/chunk-AC7M7JDO.cjs.map +1 -0
  197. package/dist/chunk-AGDW5ENV.js +37 -0
  198. package/dist/chunk-AGDW5ENV.js.map +1 -0
  199. package/dist/chunk-AIA5UNQ5.cjs +4 -0
  200. package/dist/chunk-AIA5UNQ5.cjs.map +1 -0
  201. package/dist/chunk-AKIUDPJU.js +119 -0
  202. package/dist/chunk-AKIUDPJU.js.map +1 -0
  203. package/dist/chunk-ANEX75DF.cjs +39 -0
  204. package/dist/chunk-ANEX75DF.cjs.map +1 -0
  205. package/dist/chunk-AOOBRPTE.cjs +142 -0
  206. package/dist/chunk-AOOBRPTE.cjs.map +1 -0
  207. package/dist/chunk-ARSQY4P7.cjs +101 -0
  208. package/dist/chunk-ARSQY4P7.cjs.map +1 -0
  209. package/dist/chunk-ATFXU6R6.js +122 -0
  210. package/dist/chunk-ATFXU6R6.js.map +1 -0
  211. package/dist/chunk-AUTW5O4W.js +3 -0
  212. package/dist/chunk-AUTW5O4W.js.map +1 -0
  213. package/dist/chunk-AVR5P4GA.cjs +832 -0
  214. package/dist/chunk-AVR5P4GA.cjs.map +1 -0
  215. package/dist/chunk-B3HVWXIQ.cjs +112 -0
  216. package/dist/chunk-B3HVWXIQ.cjs.map +1 -0
  217. package/dist/chunk-BEGDL2CD.js +81 -0
  218. package/dist/chunk-BEGDL2CD.js.map +1 -0
  219. package/dist/chunk-BFKCVSNK.cjs +80 -0
  220. package/dist/chunk-BFKCVSNK.cjs.map +1 -0
  221. package/dist/chunk-BPBI3WWQ.cjs +364 -0
  222. package/dist/chunk-BPBI3WWQ.cjs.map +1 -0
  223. package/dist/chunk-BYIY6BH2.js +927 -0
  224. package/dist/chunk-BYIY6BH2.js.map +1 -0
  225. package/dist/chunk-C4Z4S3CX.js +164 -0
  226. package/dist/chunk-C4Z4S3CX.js.map +1 -0
  227. package/dist/chunk-C5AZNBVB.js +153 -0
  228. package/dist/chunk-C5AZNBVB.js.map +1 -0
  229. package/dist/chunk-CFBK5RIZ.js +35 -0
  230. package/dist/chunk-CFBK5RIZ.js.map +1 -0
  231. package/dist/chunk-CHADHN6M.js +37 -0
  232. package/dist/chunk-CHADHN6M.js.map +1 -0
  233. package/dist/chunk-CPY7NHXM.js +88 -0
  234. package/dist/chunk-CPY7NHXM.js.map +1 -0
  235. package/dist/chunk-CS4GQXYY.js +131 -0
  236. package/dist/chunk-CS4GQXYY.js.map +1 -0
  237. package/dist/chunk-CTMJYV3O.js +99 -0
  238. package/dist/chunk-CTMJYV3O.js.map +1 -0
  239. package/dist/chunk-CZZH45GQ.cjs +122 -0
  240. package/dist/chunk-CZZH45GQ.cjs.map +1 -0
  241. package/dist/chunk-D4WM23Y4.js +109 -0
  242. package/dist/chunk-D4WM23Y4.js.map +1 -0
  243. package/dist/chunk-D7NAXQ2N.js +86 -0
  244. package/dist/chunk-D7NAXQ2N.js.map +1 -0
  245. package/dist/chunk-DJ3YM72H.cjs +353 -0
  246. package/dist/chunk-DJ3YM72H.cjs.map +1 -0
  247. package/dist/chunk-DOSSIU6S.cjs +162 -0
  248. package/dist/chunk-DOSSIU6S.cjs.map +1 -0
  249. package/dist/chunk-DSUHZO6T.js +11 -0
  250. package/dist/chunk-DSUHZO6T.js.map +1 -0
  251. package/dist/chunk-DTPGJNOI.js +204 -0
  252. package/dist/chunk-DTPGJNOI.js.map +1 -0
  253. package/dist/chunk-DV4IMAQW.js +100 -0
  254. package/dist/chunk-DV4IMAQW.js.map +1 -0
  255. package/dist/chunk-DWRMC2FN.cjs +95 -0
  256. package/dist/chunk-DWRMC2FN.cjs.map +1 -0
  257. package/dist/chunk-DZD2RJVD.js +47 -0
  258. package/dist/chunk-DZD2RJVD.js.map +1 -0
  259. package/dist/chunk-E4LFD44D.js +69 -0
  260. package/dist/chunk-E4LFD44D.js.map +1 -0
  261. package/dist/chunk-E7PHL3TD.cjs +144 -0
  262. package/dist/chunk-E7PHL3TD.cjs.map +1 -0
  263. package/dist/chunk-ECZ66DKF.js +522 -0
  264. package/dist/chunk-ECZ66DKF.js.map +1 -0
  265. package/dist/chunk-EERAEPQO.cjs +177 -0
  266. package/dist/chunk-EERAEPQO.cjs.map +1 -0
  267. package/dist/chunk-EIBW5YLS.js +52 -0
  268. package/dist/chunk-EIBW5YLS.js.map +1 -0
  269. package/dist/chunk-ESKVRRVA.js +56 -0
  270. package/dist/chunk-ESKVRRVA.js.map +1 -0
  271. package/dist/chunk-EVXDG2XN.js +108 -0
  272. package/dist/chunk-EVXDG2XN.js.map +1 -0
  273. package/dist/chunk-F6NEPU67.cjs +218 -0
  274. package/dist/chunk-F6NEPU67.cjs.map +1 -0
  275. package/dist/chunk-F6SCZCJE.js +176 -0
  276. package/dist/chunk-F6SCZCJE.js.map +1 -0
  277. package/dist/chunk-FA3D4GFC.cjs +323 -0
  278. package/dist/chunk-FA3D4GFC.cjs.map +1 -0
  279. package/dist/chunk-FCAV5IFW.js +63 -0
  280. package/dist/chunk-FCAV5IFW.js.map +1 -0
  281. package/dist/chunk-FVV76TRF.js +101 -0
  282. package/dist/chunk-FVV76TRF.js.map +1 -0
  283. package/dist/chunk-G2W7B3OG.js +420 -0
  284. package/dist/chunk-G2W7B3OG.js.map +1 -0
  285. package/dist/chunk-G34OBTU3.cjs +27 -0
  286. package/dist/chunk-G34OBTU3.cjs.map +1 -0
  287. package/dist/chunk-GFYSELJF.js +35 -0
  288. package/dist/chunk-GFYSELJF.js.map +1 -0
  289. package/dist/chunk-GIDW3SUE.cjs +59 -0
  290. package/dist/chunk-GIDW3SUE.cjs.map +1 -0
  291. package/dist/chunk-GKGL7F36.js +290 -0
  292. package/dist/chunk-GKGL7F36.js.map +1 -0
  293. package/dist/chunk-GKPCXPCD.js +262 -0
  294. package/dist/chunk-GKPCXPCD.js.map +1 -0
  295. package/dist/chunk-GZIUE4DE.js +117 -0
  296. package/dist/chunk-GZIUE4DE.js.map +1 -0
  297. package/dist/chunk-HAOYXGGJ.js +104 -0
  298. package/dist/chunk-HAOYXGGJ.js.map +1 -0
  299. package/dist/chunk-HBFVOHQC.cjs +102 -0
  300. package/dist/chunk-HBFVOHQC.cjs.map +1 -0
  301. package/dist/chunk-HG6XUJOT.js +328 -0
  302. package/dist/chunk-HG6XUJOT.js.map +1 -0
  303. package/dist/chunk-I6L7OP7G.cjs +203 -0
  304. package/dist/chunk-I6L7OP7G.cjs.map +1 -0
  305. package/dist/chunk-IE4CM2SN.js +122 -0
  306. package/dist/chunk-IE4CM2SN.js.map +1 -0
  307. package/dist/chunk-IF25CE6S.cjs +202 -0
  308. package/dist/chunk-IF25CE6S.cjs.map +1 -0
  309. package/dist/chunk-IF3T3ZCB.cjs +273 -0
  310. package/dist/chunk-IF3T3ZCB.cjs.map +1 -0
  311. package/dist/chunk-IF5LOWUL.js +273 -0
  312. package/dist/chunk-IF5LOWUL.js.map +1 -0
  313. package/dist/chunk-IGU5YXRV.cjs +138 -0
  314. package/dist/chunk-IGU5YXRV.cjs.map +1 -0
  315. package/dist/chunk-IGYIMS6J.js +174 -0
  316. package/dist/chunk-IGYIMS6J.js.map +1 -0
  317. package/dist/chunk-IJ4I55QQ.cjs +38 -0
  318. package/dist/chunk-IJ4I55QQ.cjs.map +1 -0
  319. package/dist/chunk-IXHZVFHX.cjs +44 -0
  320. package/dist/chunk-IXHZVFHX.cjs.map +1 -0
  321. package/dist/chunk-J2DI6RMR.cjs +115 -0
  322. package/dist/chunk-J2DI6RMR.cjs.map +1 -0
  323. package/dist/chunk-J3XS4HHX.js +230 -0
  324. package/dist/chunk-J3XS4HHX.js.map +1 -0
  325. package/dist/chunk-JCOBDDHF.js +118 -0
  326. package/dist/chunk-JCOBDDHF.js.map +1 -0
  327. package/dist/chunk-JHEM6IGT.cjs +49 -0
  328. package/dist/chunk-JHEM6IGT.cjs.map +1 -0
  329. package/dist/chunk-JIYP73OJ.js +169 -0
  330. package/dist/chunk-JIYP73OJ.js.map +1 -0
  331. package/dist/chunk-JKO2Y5SH.js +60 -0
  332. package/dist/chunk-JKO2Y5SH.js.map +1 -0
  333. package/dist/chunk-JPTWZ3RF.cjs +280 -0
  334. package/dist/chunk-JPTWZ3RF.cjs.map +1 -0
  335. package/dist/chunk-JXE5XID6.js +19 -0
  336. package/dist/chunk-JXE5XID6.js.map +1 -0
  337. package/dist/chunk-JXIBUIEY.cjs +144 -0
  338. package/dist/chunk-JXIBUIEY.cjs.map +1 -0
  339. package/dist/chunk-JYKZKSZJ.js +122 -0
  340. package/dist/chunk-JYKZKSZJ.js.map +1 -0
  341. package/dist/chunk-K2DZEYBF.js +321 -0
  342. package/dist/chunk-K2DZEYBF.js.map +1 -0
  343. package/dist/chunk-K7JGOQJG.js +55 -0
  344. package/dist/chunk-K7JGOQJG.js.map +1 -0
  345. package/dist/chunk-KC6QBKKB.cjs +173 -0
  346. package/dist/chunk-KC6QBKKB.cjs.map +1 -0
  347. package/dist/chunk-KE7KXY5C.cjs +233 -0
  348. package/dist/chunk-KE7KXY5C.cjs.map +1 -0
  349. package/dist/chunk-KICZTIZL.cjs +133 -0
  350. package/dist/chunk-KICZTIZL.cjs.map +1 -0
  351. package/dist/chunk-KJ22KE56.cjs +19 -0
  352. package/dist/chunk-KJ22KE56.cjs.map +1 -0
  353. package/dist/chunk-KUKYJZIU.cjs +179 -0
  354. package/dist/chunk-KUKYJZIU.cjs.map +1 -0
  355. package/dist/chunk-L3V3BYVS.cjs +15 -0
  356. package/dist/chunk-L3V3BYVS.cjs.map +1 -0
  357. package/dist/chunk-LNWO23PU.cjs +131 -0
  358. package/dist/chunk-LNWO23PU.cjs.map +1 -0
  359. package/dist/chunk-LPQVXTKV.js +36 -0
  360. package/dist/chunk-LPQVXTKV.js.map +1 -0
  361. package/dist/chunk-LZL2KD4P.cjs +207 -0
  362. package/dist/chunk-LZL2KD4P.cjs.map +1 -0
  363. package/dist/chunk-M24NCWBU.js +239 -0
  364. package/dist/chunk-M24NCWBU.js.map +1 -0
  365. package/dist/chunk-M7EEQPE7.js +137 -0
  366. package/dist/chunk-M7EEQPE7.js.map +1 -0
  367. package/dist/chunk-MDUSUJWY.cjs +31 -0
  368. package/dist/chunk-MDUSUJWY.cjs.map +1 -0
  369. package/dist/chunk-MGZE2QEM.cjs +51 -0
  370. package/dist/chunk-MGZE2QEM.cjs.map +1 -0
  371. package/dist/chunk-MILTPAF6.js +255 -0
  372. package/dist/chunk-MILTPAF6.js.map +1 -0
  373. package/dist/chunk-MQ6VGG62.js +113 -0
  374. package/dist/chunk-MQ6VGG62.js.map +1 -0
  375. package/dist/chunk-MYF2PDTU.js +137 -0
  376. package/dist/chunk-MYF2PDTU.js.map +1 -0
  377. package/dist/chunk-MZIU27UY.js +133 -0
  378. package/dist/chunk-MZIU27UY.js.map +1 -0
  379. package/dist/chunk-N7WQ53US.js +211 -0
  380. package/dist/chunk-N7WQ53US.js.map +1 -0
  381. package/dist/chunk-NBZC6LOB.cjs +43 -0
  382. package/dist/chunk-NBZC6LOB.cjs.map +1 -0
  383. package/dist/chunk-NH7NRRII.js +167 -0
  384. package/dist/chunk-NH7NRRII.js.map +1 -0
  385. package/dist/chunk-NLJGNPNN.js +284 -0
  386. package/dist/chunk-NLJGNPNN.js.map +1 -0
  387. package/dist/chunk-NNSNANNY.cjs +224 -0
  388. package/dist/chunk-NNSNANNY.cjs.map +1 -0
  389. package/dist/chunk-NPKE2IX6.js +154 -0
  390. package/dist/chunk-NPKE2IX6.js.map +1 -0
  391. package/dist/chunk-NRXK42LO.js +12 -0
  392. package/dist/chunk-NRXK42LO.js.map +1 -0
  393. package/dist/chunk-O432BDEO.js +160 -0
  394. package/dist/chunk-O432BDEO.js.map +1 -0
  395. package/dist/chunk-O4MKOSU2.js +29 -0
  396. package/dist/chunk-O4MKOSU2.js.map +1 -0
  397. package/dist/chunk-O5IO7TCO.cjs +4 -0
  398. package/dist/chunk-O5IO7TCO.cjs.map +1 -0
  399. package/dist/chunk-OL53XYHF.js +17 -0
  400. package/dist/chunk-OL53XYHF.js.map +1 -0
  401. package/dist/chunk-ORCXPDDG.js +3 -0
  402. package/dist/chunk-ORCXPDDG.js.map +1 -0
  403. package/dist/chunk-ORFHF6PT.cjs +172 -0
  404. package/dist/chunk-ORFHF6PT.cjs.map +1 -0
  405. package/dist/chunk-ORPYY2MO.cjs +124 -0
  406. package/dist/chunk-ORPYY2MO.cjs.map +1 -0
  407. package/dist/chunk-OUOEQZHY.cjs +27 -0
  408. package/dist/chunk-OUOEQZHY.cjs.map +1 -0
  409. package/dist/chunk-PBXYU4EV.cjs +121 -0
  410. package/dist/chunk-PBXYU4EV.cjs.map +1 -0
  411. package/dist/chunk-PH3WGR5P.cjs +82 -0
  412. package/dist/chunk-PH3WGR5P.cjs.map +1 -0
  413. package/dist/chunk-POZZY3D5.cjs +135 -0
  414. package/dist/chunk-POZZY3D5.cjs.map +1 -0
  415. package/dist/chunk-PPLR2DNC.cjs +41 -0
  416. package/dist/chunk-PPLR2DNC.cjs.map +1 -0
  417. package/dist/chunk-PQWQ5K6J.js +15 -0
  418. package/dist/chunk-PQWQ5K6J.js.map +1 -0
  419. package/dist/chunk-PRDWJ4AR.js +215 -0
  420. package/dist/chunk-PRDWJ4AR.js.map +1 -0
  421. package/dist/chunk-PRJSEZ5F.cjs +285 -0
  422. package/dist/chunk-PRJSEZ5F.cjs.map +1 -0
  423. package/dist/chunk-PVWPZYTR.js +830 -0
  424. package/dist/chunk-PVWPZYTR.js.map +1 -0
  425. package/dist/chunk-PYRMH34E.js +49 -0
  426. package/dist/chunk-PYRMH34E.js.map +1 -0
  427. package/dist/chunk-PZIAL4OP.cjs +524 -0
  428. package/dist/chunk-PZIAL4OP.cjs.map +1 -0
  429. package/dist/chunk-QFFC2DKK.js +56 -0
  430. package/dist/chunk-QFFC2DKK.js.map +1 -0
  431. package/dist/chunk-R55HE5C5.js +81 -0
  432. package/dist/chunk-R55HE5C5.js.map +1 -0
  433. package/dist/chunk-RA3P63XW.cjs +65 -0
  434. package/dist/chunk-RA3P63XW.cjs.map +1 -0
  435. package/dist/chunk-RES2GOQQ.js +139 -0
  436. package/dist/chunk-RES2GOQQ.js.map +1 -0
  437. package/dist/chunk-RGANGU7X.js +24 -0
  438. package/dist/chunk-RGANGU7X.js.map +1 -0
  439. package/dist/chunk-RID7CYGD.js +344 -0
  440. package/dist/chunk-RID7CYGD.js.map +1 -0
  441. package/dist/chunk-RM4QWJS3.js +200 -0
  442. package/dist/chunk-RM4QWJS3.js.map +1 -0
  443. package/dist/chunk-RNHIDZLE.cjs +103 -0
  444. package/dist/chunk-RNHIDZLE.cjs.map +1 -0
  445. package/dist/chunk-RNPFSVFN.js +24 -0
  446. package/dist/chunk-RNPFSVFN.js.map +1 -0
  447. package/dist/chunk-RR7BWUVP.cjs +58 -0
  448. package/dist/chunk-RR7BWUVP.cjs.map +1 -0
  449. package/dist/chunk-RXDRYWVD.cjs +21 -0
  450. package/dist/chunk-RXDRYWVD.cjs.map +1 -0
  451. package/dist/chunk-S3TRSECD.cjs +4 -0
  452. package/dist/chunk-S3TRSECD.cjs.map +1 -0
  453. package/dist/chunk-SCPHSBBU.cjs +83 -0
  454. package/dist/chunk-SCPHSBBU.cjs.map +1 -0
  455. package/dist/chunk-SKI33QNW.js +133 -0
  456. package/dist/chunk-SKI33QNW.js.map +1 -0
  457. package/dist/chunk-T6IXZZBQ.cjs +83 -0
  458. package/dist/chunk-T6IXZZBQ.cjs.map +1 -0
  459. package/dist/chunk-T6YELZPJ.cjs +90 -0
  460. package/dist/chunk-T6YELZPJ.cjs.map +1 -0
  461. package/dist/chunk-TECFGOV2.js +222 -0
  462. package/dist/chunk-TECFGOV2.js.map +1 -0
  463. package/dist/chunk-TJ66S5K6.js +3 -0
  464. package/dist/chunk-TJ66S5K6.js.map +1 -0
  465. package/dist/chunk-TVRCOKJQ.cjs +106 -0
  466. package/dist/chunk-TVRCOKJQ.cjs.map +1 -0
  467. package/dist/chunk-TXTRTTG7.cjs +51 -0
  468. package/dist/chunk-TXTRTTG7.cjs.map +1 -0
  469. package/dist/chunk-TZKZ2LUF.cjs +140 -0
  470. package/dist/chunk-TZKZ2LUF.cjs.map +1 -0
  471. package/dist/chunk-UCYAHLGM.js +142 -0
  472. package/dist/chunk-UCYAHLGM.js.map +1 -0
  473. package/dist/chunk-UH2YXQ2B.cjs +166 -0
  474. package/dist/chunk-UH2YXQ2B.cjs.map +1 -0
  475. package/dist/chunk-UWVVEB2N.js +55 -0
  476. package/dist/chunk-UWVVEB2N.js.map +1 -0
  477. package/dist/chunk-VBZZ4CMM.cjs +71 -0
  478. package/dist/chunk-VBZZ4CMM.cjs.map +1 -0
  479. package/dist/chunk-VE3EM4K2.cjs +57 -0
  480. package/dist/chunk-VE3EM4K2.cjs.map +1 -0
  481. package/dist/chunk-VNDOT3NK.cjs +426 -0
  482. package/dist/chunk-VNDOT3NK.cjs.map +1 -0
  483. package/dist/chunk-VXHFR5MV.js +3 -0
  484. package/dist/chunk-VXHFR5MV.js.map +1 -0
  485. package/dist/chunk-W2Q4OWHX.cjs +204 -0
  486. package/dist/chunk-W2Q4OWHX.cjs.map +1 -0
  487. package/dist/chunk-WEGL4S52.js +450 -0
  488. package/dist/chunk-WEGL4S52.js.map +1 -0
  489. package/dist/chunk-WHEXTDPV.js +41 -0
  490. package/dist/chunk-WHEXTDPV.js.map +1 -0
  491. package/dist/chunk-WT72KW5M.cjs +347 -0
  492. package/dist/chunk-WT72KW5M.cjs.map +1 -0
  493. package/dist/chunk-WVO2EKE6.cjs +101 -0
  494. package/dist/chunk-WVO2EKE6.cjs.map +1 -0
  495. package/dist/chunk-WXADO5TS.cjs +124 -0
  496. package/dist/chunk-WXADO5TS.cjs.map +1 -0
  497. package/dist/chunk-X36ZGYTF.js +281 -0
  498. package/dist/chunk-X36ZGYTF.js.map +1 -0
  499. package/dist/chunk-XBBEQLMY.cjs +214 -0
  500. package/dist/chunk-XBBEQLMY.cjs.map +1 -0
  501. package/dist/chunk-XCZZVRBY.cjs +2030 -0
  502. package/dist/chunk-XCZZVRBY.cjs.map +1 -0
  503. package/dist/chunk-XJXQG34J.js +77 -0
  504. package/dist/chunk-XJXQG34J.js.map +1 -0
  505. package/dist/chunk-XMBOZ73D.js +92 -0
  506. package/dist/chunk-XMBOZ73D.js.map +1 -0
  507. package/dist/chunk-XZYKPGSK.cjs +453 -0
  508. package/dist/chunk-XZYKPGSK.cjs.map +1 -0
  509. package/dist/chunk-YCZN4FWI.js +42 -0
  510. package/dist/chunk-YCZN4FWI.js.map +1 -0
  511. package/dist/chunk-YHXE274U.js +129 -0
  512. package/dist/chunk-YHXE274U.js.map +1 -0
  513. package/dist/chunk-YLGTDBB2.cjs +43 -0
  514. package/dist/chunk-YLGTDBB2.cjs.map +1 -0
  515. package/dist/chunk-YT42J4VQ.js +361 -0
  516. package/dist/chunk-YT42J4VQ.js.map +1 -0
  517. package/dist/chunk-YT6N44Z3.js +99 -0
  518. package/dist/chunk-YT6N44Z3.js.map +1 -0
  519. package/dist/chunk-YXC7QHNT.cjs +385 -0
  520. package/dist/chunk-YXC7QHNT.cjs.map +1 -0
  521. package/dist/chunk-ZFVSEO5Z.cjs +136 -0
  522. package/dist/chunk-ZFVSEO5Z.cjs.map +1 -0
  523. package/dist/chunk-ZLCVKYHY.js +344 -0
  524. package/dist/chunk-ZLCVKYHY.js.map +1 -0
  525. package/dist/chunk-ZNTEM7F2.js +184 -0
  526. package/dist/chunk-ZNTEM7F2.js.map +1 -0
  527. package/dist/chunk-ZT36VWIA.js +136 -0
  528. package/dist/chunk-ZT36VWIA.js.map +1 -0
  529. package/dist/chunk-ZWOEKDNI.js +281 -0
  530. package/dist/chunk-ZWOEKDNI.js.map +1 -0
  531. package/dist/code-view.cjs +13 -0
  532. package/dist/code-view.cjs.map +1 -0
  533. package/dist/code-view.d.cts +44 -0
  534. package/dist/code-view.d.ts +44 -0
  535. package/dist/code-view.js +4 -0
  536. package/dist/code-view.js.map +1 -0
  537. package/dist/color-picker.cjs +16 -0
  538. package/dist/color-picker.cjs.map +1 -0
  539. package/dist/color-picker.d.cts +20 -0
  540. package/dist/color-picker.d.ts +20 -0
  541. package/dist/color-picker.js +7 -0
  542. package/dist/color-picker.js.map +1 -0
  543. package/dist/command.cjs +21 -0
  544. package/dist/command.cjs.map +1 -0
  545. package/dist/command.d.cts +78 -0
  546. package/dist/command.d.ts +78 -0
  547. package/dist/command.js +8 -0
  548. package/dist/command.js.map +1 -0
  549. package/dist/composer.cjs +14 -0
  550. package/dist/composer.cjs.map +1 -0
  551. package/dist/composer.d.cts +17 -0
  552. package/dist/composer.d.ts +17 -0
  553. package/dist/composer.js +5 -0
  554. package/dist/composer.js.map +1 -0
  555. package/dist/content-renderer.cjs +23 -0
  556. package/dist/content-renderer.cjs.map +1 -0
  557. package/dist/content-renderer.d.cts +27 -0
  558. package/dist/content-renderer.d.ts +27 -0
  559. package/dist/content-renderer.js +6 -0
  560. package/dist/content-renderer.js.map +1 -0
  561. package/dist/context-menu.cjs +21 -0
  562. package/dist/context-menu.cjs.map +1 -0
  563. package/dist/context-menu.d.cts +91 -0
  564. package/dist/context-menu.d.ts +91 -0
  565. package/dist/context-menu.js +8 -0
  566. package/dist/context-menu.js.map +1 -0
  567. package/dist/date-picker.cjs +19 -0
  568. package/dist/date-picker.cjs.map +1 -0
  569. package/dist/date-picker.d.cts +26 -0
  570. package/dist/date-picker.d.ts +26 -0
  571. package/dist/date-picker.js +10 -0
  572. package/dist/date-picker.js.map +1 -0
  573. package/dist/drawer.cjs +21 -0
  574. package/dist/drawer.cjs.map +1 -0
  575. package/dist/drawer.d.cts +116 -0
  576. package/dist/drawer.d.ts +116 -0
  577. package/dist/drawer.js +8 -0
  578. package/dist/drawer.js.map +1 -0
  579. package/dist/dropdown.cjs +22 -0
  580. package/dist/dropdown.cjs.map +1 -0
  581. package/dist/dropdown.d.cts +67 -0
  582. package/dist/dropdown.d.ts +67 -0
  583. package/dist/dropdown.js +9 -0
  584. package/dist/dropdown.js.map +1 -0
  585. package/dist/editor.cjs +29 -0
  586. package/dist/editor.cjs.map +1 -0
  587. package/dist/editor.d.cts +153 -0
  588. package/dist/editor.d.ts +153 -0
  589. package/dist/editor.js +16 -0
  590. package/dist/editor.js.map +1 -0
  591. package/dist/emoji-select.cjs +15 -0
  592. package/dist/emoji-select.cjs.map +1 -0
  593. package/dist/emoji-select.d.cts +13 -0
  594. package/dist/emoji-select.d.ts +13 -0
  595. package/dist/emoji-select.js +6 -0
  596. package/dist/emoji-select.js.map +1 -0
  597. package/dist/emoji.cjs +14 -0
  598. package/dist/emoji.cjs.map +1 -0
  599. package/dist/emoji.d.cts +2 -0
  600. package/dist/emoji.d.ts +2 -0
  601. package/dist/emoji.js +5 -0
  602. package/dist/emoji.js.map +1 -0
  603. package/dist/extensions-6PVd3-vB.d.cts +38 -0
  604. package/dist/extensions-6PVd3-vB.d.ts +38 -0
  605. package/dist/eyebrow.cjs +13 -0
  606. package/dist/eyebrow.cjs.map +1 -0
  607. package/dist/eyebrow.d.cts +33 -0
  608. package/dist/eyebrow.d.ts +33 -0
  609. package/dist/eyebrow.js +4 -0
  610. package/dist/eyebrow.js.map +1 -0
  611. package/dist/faux-client.cjs +13 -0
  612. package/dist/faux-client.cjs.map +1 -0
  613. package/dist/faux-client.d.cts +39 -0
  614. package/dist/faux-client.d.ts +39 -0
  615. package/dist/faux-client.js +4 -0
  616. package/dist/faux-client.js.map +1 -0
  617. package/dist/field.cjs +14 -0
  618. package/dist/field.cjs.map +1 -0
  619. package/dist/field.d.cts +18 -0
  620. package/dist/field.d.ts +18 -0
  621. package/dist/field.js +5 -0
  622. package/dist/field.js.map +1 -0
  623. package/dist/file-browser.cjs +18 -0
  624. package/dist/file-browser.cjs.map +1 -0
  625. package/dist/file-browser.d.cts +269 -0
  626. package/dist/file-browser.d.ts +269 -0
  627. package/dist/file-browser.js +5 -0
  628. package/dist/file-browser.js.map +1 -0
  629. package/dist/file-upload.cjs +17 -0
  630. package/dist/file-upload.cjs.map +1 -0
  631. package/dist/file-upload.d.cts +48 -0
  632. package/dist/file-upload.d.ts +48 -0
  633. package/dist/file-upload.js +4 -0
  634. package/dist/file-upload.js.map +1 -0
  635. package/dist/heading.cjs +13 -0
  636. package/dist/heading.cjs.map +1 -0
  637. package/dist/heading.d.cts +25 -0
  638. package/dist/heading.d.ts +25 -0
  639. package/dist/heading.js +4 -0
  640. package/dist/heading.js.map +1 -0
  641. package/dist/icon.cjs +34 -0
  642. package/dist/icon.cjs.map +1 -0
  643. package/dist/icon.d.cts +51 -0
  644. package/dist/icon.d.ts +51 -0
  645. package/dist/icon.js +5 -0
  646. package/dist/icon.js.map +1 -0
  647. package/dist/image-viewer.cjs +14 -0
  648. package/dist/image-viewer.cjs.map +1 -0
  649. package/dist/image-viewer.d.cts +19 -0
  650. package/dist/image-viewer.d.ts +19 -0
  651. package/dist/image-viewer.js +5 -0
  652. package/dist/image-viewer.js.map +1 -0
  653. package/dist/index-B71wa9AW.d.cts +79 -0
  654. package/dist/index-BktWpyRH.d.cts +53 -0
  655. package/dist/index-BktWpyRH.d.ts +53 -0
  656. package/dist/index-bIntFOl5.d.ts +79 -0
  657. package/dist/index-list.cjs +13 -0
  658. package/dist/index-list.cjs.map +1 -0
  659. package/dist/index-list.d.cts +49 -0
  660. package/dist/index-list.d.ts +49 -0
  661. package/dist/index-list.js +4 -0
  662. package/dist/index-list.js.map +1 -0
  663. package/dist/index.cjs +666 -16826
  664. package/dist/index.cjs.map +1 -1
  665. package/dist/index.d.cts +93 -4078
  666. package/dist/index.d.ts +93 -4078
  667. package/dist/index.js +103 -16708
  668. package/dist/index.js.map +1 -1
  669. package/dist/input-tag.cjs +28 -0
  670. package/dist/input-tag.cjs.map +1 -0
  671. package/dist/input-tag.d.cts +134 -0
  672. package/dist/input-tag.d.ts +134 -0
  673. package/dist/input-tag.js +3 -0
  674. package/dist/input-tag.js.map +1 -0
  675. package/dist/input.cjs +20 -0
  676. package/dist/input.cjs.map +1 -0
  677. package/dist/input.d.cts +32 -0
  678. package/dist/input.d.ts +32 -0
  679. package/dist/input.js +11 -0
  680. package/dist/input.js.map +1 -0
  681. package/dist/inputs.cjs +100 -0
  682. package/dist/inputs.cjs.map +1 -0
  683. package/dist/inputs.d.cts +16 -0
  684. package/dist/inputs.d.ts +16 -0
  685. package/dist/inputs.js +27 -0
  686. package/dist/inputs.js.map +1 -0
  687. package/dist/inputs.types-CkWdvN-t.d.cts +44 -0
  688. package/dist/inputs.types-DERzxpe1.d.ts +44 -0
  689. package/dist/kanban.cjs +17 -0
  690. package/dist/kanban.cjs.map +1 -0
  691. package/dist/kanban.d.cts +136 -0
  692. package/dist/kanban.d.ts +136 -0
  693. package/dist/kanban.js +4 -0
  694. package/dist/kanban.js.map +1 -0
  695. package/dist/kbd.cjs +13 -0
  696. package/dist/kbd.cjs.map +1 -0
  697. package/dist/kbd.d.cts +30 -0
  698. package/dist/kbd.d.ts +30 -0
  699. package/dist/kbd.js +4 -0
  700. package/dist/kbd.js.map +1 -0
  701. package/dist/magic-wand.cjs +25 -0
  702. package/dist/magic-wand.cjs.map +1 -0
  703. package/dist/magic-wand.d.cts +62 -0
  704. package/dist/magic-wand.d.ts +62 -0
  705. package/dist/magic-wand.js +16 -0
  706. package/dist/magic-wand.js.map +1 -0
  707. package/dist/marquee.cjs +13 -0
  708. package/dist/marquee.cjs.map +1 -0
  709. package/dist/marquee.d.cts +48 -0
  710. package/dist/marquee.d.ts +48 -0
  711. package/dist/marquee.js +4 -0
  712. package/dist/marquee.js.map +1 -0
  713. package/dist/media-viewer.cjs +18 -0
  714. package/dist/media-viewer.cjs.map +1 -0
  715. package/dist/media-viewer.d.cts +6 -0
  716. package/dist/media-viewer.d.ts +6 -0
  717. package/dist/media-viewer.js +9 -0
  718. package/dist/media-viewer.js.map +1 -0
  719. package/dist/menu.cjs +17 -0
  720. package/dist/menu.cjs.map +1 -0
  721. package/dist/menu.d.cts +60 -0
  722. package/dist/menu.d.ts +60 -0
  723. package/dist/menu.js +4 -0
  724. package/dist/menu.js.map +1 -0
  725. package/dist/mobile-menu.cjs +26 -0
  726. package/dist/mobile-menu.cjs.map +1 -0
  727. package/dist/mobile-menu.d.cts +60 -0
  728. package/dist/mobile-menu.d.ts +60 -0
  729. package/dist/mobile-menu.js +13 -0
  730. package/dist/mobile-menu.js.map +1 -0
  731. package/dist/modal.cjs +21 -0
  732. package/dist/modal.cjs.map +1 -0
  733. package/dist/modal.d.cts +52 -0
  734. package/dist/modal.d.ts +52 -0
  735. package/dist/modal.js +8 -0
  736. package/dist/modal.js.map +1 -0
  737. package/dist/mode.cjs +37 -0
  738. package/dist/mode.cjs.map +1 -0
  739. package/dist/mode.d.cts +28 -0
  740. package/dist/mode.d.ts +28 -0
  741. package/dist/mode.js +8 -0
  742. package/dist/mode.js.map +1 -0
  743. package/dist/mood-meter.cjs +12 -0
  744. package/dist/mood-meter.cjs.map +1 -0
  745. package/dist/mood-meter.d.cts +67 -0
  746. package/dist/mood-meter.d.ts +67 -0
  747. package/dist/mood-meter.js +3 -0
  748. package/dist/mood-meter.js.map +1 -0
  749. package/dist/multi-switch.cjs +19 -0
  750. package/dist/multi-switch.cjs.map +1 -0
  751. package/dist/multi-switch.d.cts +18 -0
  752. package/dist/multi-switch.d.ts +18 -0
  753. package/dist/multi-switch.js +10 -0
  754. package/dist/multi-switch.js.map +1 -0
  755. package/dist/navbar.cjs +17 -0
  756. package/dist/navbar.cjs.map +1 -0
  757. package/dist/navbar.d.cts +60 -0
  758. package/dist/navbar.d.ts +60 -0
  759. package/dist/navbar.js +4 -0
  760. package/dist/navbar.js.map +1 -0
  761. package/dist/otp-input.cjs +16 -0
  762. package/dist/otp-input.cjs.map +1 -0
  763. package/dist/otp-input.d.cts +18 -0
  764. package/dist/otp-input.d.ts +18 -0
  765. package/dist/otp-input.js +7 -0
  766. package/dist/otp-input.js.map +1 -0
  767. package/dist/pagination.cjs +13 -0
  768. package/dist/pagination.cjs.map +1 -0
  769. package/dist/pagination.d.cts +16 -0
  770. package/dist/pagination.d.ts +16 -0
  771. package/dist/pagination.js +4 -0
  772. package/dist/pagination.js.map +1 -0
  773. package/dist/pdf-viewer.cjs +13 -0
  774. package/dist/pdf-viewer.cjs.map +1 -0
  775. package/dist/pdf-viewer.d.cts +16 -0
  776. package/dist/pdf-viewer.d.ts +16 -0
  777. package/dist/pdf-viewer.js +4 -0
  778. package/dist/pdf-viewer.js.map +1 -0
  779. package/dist/pillbox.cjs +14 -0
  780. package/dist/pillbox.cjs.map +1 -0
  781. package/dist/pillbox.d.cts +15 -0
  782. package/dist/pillbox.d.ts +15 -0
  783. package/dist/pillbox.js +5 -0
  784. package/dist/pillbox.js.map +1 -0
  785. package/dist/popover.cjs +21 -0
  786. package/dist/popover.cjs.map +1 -0
  787. package/dist/popover.d.cts +71 -0
  788. package/dist/popover.d.ts +71 -0
  789. package/dist/popover.js +8 -0
  790. package/dist/popover.js.map +1 -0
  791. package/dist/portal.cjs +12 -0
  792. package/dist/portal.cjs.map +1 -0
  793. package/dist/portal.d.cts +10 -0
  794. package/dist/portal.d.ts +10 -0
  795. package/dist/portal.js +3 -0
  796. package/dist/portal.js.map +1 -0
  797. package/dist/profile.cjs +14 -0
  798. package/dist/profile.cjs.map +1 -0
  799. package/dist/profile.d.cts +16 -0
  800. package/dist/profile.d.ts +16 -0
  801. package/dist/profile.js +5 -0
  802. package/dist/profile.js.map +1 -0
  803. package/dist/progress.cjs +13 -0
  804. package/dist/progress.cjs.map +1 -0
  805. package/dist/progress.d.cts +25 -0
  806. package/dist/progress.d.ts +25 -0
  807. package/dist/progress.js +4 -0
  808. package/dist/progress.js.map +1 -0
  809. package/dist/prompt-input.cjs +20 -0
  810. package/dist/prompt-input.cjs.map +1 -0
  811. package/dist/prompt-input.d.cts +76 -0
  812. package/dist/prompt-input.d.ts +76 -0
  813. package/dist/prompt-input.js +11 -0
  814. package/dist/prompt-input.js.map +1 -0
  815. package/dist/pull-quote.cjs +13 -0
  816. package/dist/pull-quote.cjs.map +1 -0
  817. package/dist/pull-quote.d.cts +33 -0
  818. package/dist/pull-quote.d.ts +33 -0
  819. package/dist/pull-quote.js +4 -0
  820. package/dist/pull-quote.js.map +1 -0
  821. package/dist/radio-group.cjs +19 -0
  822. package/dist/radio-group.cjs.map +1 -0
  823. package/dist/radio-group.d.cts +18 -0
  824. package/dist/radio-group.d.ts +18 -0
  825. package/dist/radio-group.js +10 -0
  826. package/dist/radio-group.js.map +1 -0
  827. package/dist/reason-tag.cjs +22 -0
  828. package/dist/reason-tag.cjs.map +1 -0
  829. package/dist/reason-tag.d.cts +57 -0
  830. package/dist/reason-tag.d.ts +57 -0
  831. package/dist/reason-tag.js +13 -0
  832. package/dist/reason-tag.js.map +1 -0
  833. package/dist/select.cjs +23 -0
  834. package/dist/select.cjs.map +1 -0
  835. package/dist/select.d.cts +41 -0
  836. package/dist/select.d.ts +41 -0
  837. package/dist/select.js +14 -0
  838. package/dist/select.js.map +1 -0
  839. package/dist/separator.cjs +13 -0
  840. package/dist/separator.cjs.map +1 -0
  841. package/dist/separator.d.cts +14 -0
  842. package/dist/separator.d.ts +14 -0
  843. package/dist/separator.js +4 -0
  844. package/dist/separator.js.map +1 -0
  845. package/dist/sidebar.cjs +25 -0
  846. package/dist/sidebar.cjs.map +1 -0
  847. package/dist/sidebar.d.cts +80 -0
  848. package/dist/sidebar.d.ts +80 -0
  849. package/dist/sidebar.js +12 -0
  850. package/dist/sidebar.js.map +1 -0
  851. package/dist/skeleton.cjs +13 -0
  852. package/dist/skeleton.cjs.map +1 -0
  853. package/dist/skeleton.d.cts +16 -0
  854. package/dist/skeleton.d.ts +16 -0
  855. package/dist/skeleton.js +4 -0
  856. package/dist/skeleton.js.map +1 -0
  857. package/dist/slider.cjs +19 -0
  858. package/dist/slider.cjs.map +1 -0
  859. package/dist/slider.d.cts +34 -0
  860. package/dist/slider.d.ts +34 -0
  861. package/dist/slider.js +10 -0
  862. package/dist/slider.js.map +1 -0
  863. package/dist/stat.cjs +17 -0
  864. package/dist/stat.cjs.map +1 -0
  865. package/dist/stat.d.cts +29 -0
  866. package/dist/stat.d.ts +29 -0
  867. package/dist/stat.js +4 -0
  868. package/dist/stat.js.map +1 -0
  869. package/dist/sticky-note.cjs +13 -0
  870. package/dist/sticky-note.cjs.map +1 -0
  871. package/dist/sticky-note.d.cts +53 -0
  872. package/dist/sticky-note.d.ts +53 -0
  873. package/dist/sticky-note.js +4 -0
  874. package/dist/sticky-note.js.map +1 -0
  875. package/dist/switch.cjs +17 -0
  876. package/dist/switch.cjs.map +1 -0
  877. package/dist/switch.d.cts +16 -0
  878. package/dist/switch.d.ts +16 -0
  879. package/dist/switch.js +8 -0
  880. package/dist/switch.js.map +1 -0
  881. package/dist/table.cjs +50 -0
  882. package/dist/table.cjs.map +1 -0
  883. package/dist/table.d.cts +89 -0
  884. package/dist/table.d.ts +89 -0
  885. package/dist/table.js +5 -0
  886. package/dist/table.js.map +1 -0
  887. package/dist/tabs.cjs +18 -0
  888. package/dist/tabs.cjs.map +1 -0
  889. package/dist/tabs.d.cts +68 -0
  890. package/dist/tabs.d.ts +68 -0
  891. package/dist/tabs.js +5 -0
  892. package/dist/tabs.js.map +1 -0
  893. package/dist/text.cjs +13 -0
  894. package/dist/text.cjs.map +1 -0
  895. package/dist/text.d.cts +17 -0
  896. package/dist/text.d.ts +17 -0
  897. package/dist/text.js +4 -0
  898. package/dist/text.js.map +1 -0
  899. package/dist/textarea.cjs +20 -0
  900. package/dist/textarea.cjs.map +1 -0
  901. package/dist/textarea.d.cts +15 -0
  902. package/dist/textarea.d.ts +15 -0
  903. package/dist/textarea.js +11 -0
  904. package/dist/textarea.js.map +1 -0
  905. package/dist/time-grid.cjs +13 -0
  906. package/dist/time-grid.cjs.map +1 -0
  907. package/dist/time-grid.d.cts +53 -0
  908. package/dist/time-grid.d.ts +53 -0
  909. package/dist/time-grid.js +4 -0
  910. package/dist/time-grid.js.map +1 -0
  911. package/dist/time-picker.cjs +16 -0
  912. package/dist/time-picker.cjs.map +1 -0
  913. package/dist/time-picker.d.cts +19 -0
  914. package/dist/time-picker.d.ts +19 -0
  915. package/dist/time-picker.js +7 -0
  916. package/dist/time-picker.js.map +1 -0
  917. package/dist/timeline.cjs +21 -0
  918. package/dist/timeline.cjs.map +1 -0
  919. package/dist/timeline.d.cts +10 -0
  920. package/dist/timeline.d.ts +10 -0
  921. package/dist/timeline.js +4 -0
  922. package/dist/timeline.js.map +1 -0
  923. package/dist/toast.cjs +18 -0
  924. package/dist/toast.cjs.map +1 -0
  925. package/dist/toast.d.cts +54 -0
  926. package/dist/toast.d.ts +54 -0
  927. package/dist/toast.js +5 -0
  928. package/dist/toast.js.map +1 -0
  929. package/dist/tooltip.cjs +15 -0
  930. package/dist/tooltip.cjs.map +1 -0
  931. package/dist/tooltip.d.cts +16 -0
  932. package/dist/tooltip.d.ts +16 -0
  933. package/dist/tooltip.js +6 -0
  934. package/dist/tooltip.js.map +1 -0
  935. package/dist/tree-nav.cjs +17 -0
  936. package/dist/tree-nav.cjs.map +1 -0
  937. package/dist/tree-nav.d.cts +114 -0
  938. package/dist/tree-nav.d.ts +114 -0
  939. package/dist/tree-nav.js +4 -0
  940. package/dist/tree-nav.js.map +1 -0
  941. package/dist/types-8Sv0rCjw.d.cts +58 -0
  942. package/dist/types-8Sv0rCjw.d.ts +58 -0
  943. package/dist/video-viewer.cjs +13 -0
  944. package/dist/video-viewer.cjs.map +1 -0
  945. package/dist/video-viewer.d.cts +14 -0
  946. package/dist/video-viewer.d.ts +14 -0
  947. package/dist/video-viewer.js +4 -0
  948. package/dist/video-viewer.js.map +1 -0
  949. package/package.json +845 -5
@@ -0,0 +1,522 @@
1
+ import { InputWrapper } from './chunk-D7NAXQ2N.js';
2
+ import { DisplayValue } from './chunk-K7JGOQJG.js';
3
+ import { Field } from './chunk-3DJGPNUI.js';
4
+ import { resolveOption, inputBaseClasses, inputSizeClasses, dirtyClasses, errorClasses } from './chunk-GFYSELJF.js';
5
+ import { useFloatingPosition } from './chunk-MQ6VGG62.js';
6
+ import { useInlineEdit } from './chunk-OL53XYHF.js';
7
+ import { useFieldMode } from './chunk-NRXK42LO.js';
8
+ import { Portal } from './chunk-WHEXTDPV.js';
9
+ import { useOutsideClick } from './chunk-RGANGU7X.js';
10
+ import { useEscapeKey } from './chunk-JXE5XID6.js';
11
+ import { cn } from './chunk-DSUHZO6T.js';
12
+ import { forwardRef, useId, useState, useEffect, useRef, useCallback, useMemo } from 'react';
13
+ import { jsx, jsxs } from 'react/jsx-runtime';
14
+
15
+ function isOptionGroup(item) {
16
+ return typeof item === "object" && "options" in item;
17
+ }
18
+ function flattenOptions(list) {
19
+ const flat = [];
20
+ for (const item of list) {
21
+ if (isOptionGroup(item)) {
22
+ flat.push(...item.options);
23
+ } else {
24
+ flat.push(item);
25
+ }
26
+ }
27
+ return flat;
28
+ }
29
+ function renderNativeOption(option, index) {
30
+ const resolved = resolveOption(option);
31
+ return /* @__PURE__ */ jsx(
32
+ "option",
33
+ {
34
+ value: resolved.value,
35
+ disabled: resolved.disabled,
36
+ children: resolved.label
37
+ },
38
+ `${resolved.value}-${index}`
39
+ );
40
+ }
41
+ var NativeSelect = forwardRef(
42
+ ({
43
+ size = "md",
44
+ dirty,
45
+ error,
46
+ label,
47
+ description,
48
+ required,
49
+ disabled,
50
+ className,
51
+ id,
52
+ list,
53
+ placeholder,
54
+ prefix,
55
+ suffix,
56
+ prefixPosition,
57
+ suffixPosition,
58
+ mode,
59
+ onValueChange,
60
+ onChange,
61
+ value,
62
+ defaultValue,
63
+ ...props
64
+ }, ref) => {
65
+ const autoId = useId();
66
+ const selectId = id ?? autoId;
67
+ const resolvedMode = useFieldMode(mode);
68
+ const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);
69
+ if (!showControl) {
70
+ const current = value ?? defaultValue;
71
+ const opt = flattenOptions(list).map((o) => resolveOption(o)).find((o) => o.value === current);
72
+ const display = /* @__PURE__ */ jsx(
73
+ DisplayValue,
74
+ {
75
+ size,
76
+ leading: prefix,
77
+ trailing: suffix,
78
+ interactive,
79
+ onActivate: enterEdit,
80
+ children: opt?.label ?? current
81
+ }
82
+ );
83
+ if (label || error || description) {
84
+ return /* @__PURE__ */ jsx(
85
+ Field,
86
+ {
87
+ label,
88
+ description,
89
+ error,
90
+ required,
91
+ htmlFor: selectId,
92
+ size,
93
+ children: display
94
+ }
95
+ );
96
+ }
97
+ return display;
98
+ }
99
+ const isControlled = value !== void 0;
100
+ const resolvedDefault = !isControlled && defaultValue === void 0 && placeholder ? "" : defaultValue;
101
+ const select = /* @__PURE__ */ jsx(
102
+ InputWrapper,
103
+ {
104
+ prefix,
105
+ suffix,
106
+ prefixPosition,
107
+ suffixPosition,
108
+ size,
109
+ children: /* @__PURE__ */ jsxs(
110
+ "select",
111
+ {
112
+ "data-react-fancy-select": "",
113
+ ref,
114
+ id: selectId,
115
+ disabled,
116
+ required,
117
+ className: cn(
118
+ inputBaseClasses,
119
+ inputSizeClasses[size],
120
+ dirtyClasses(dirty),
121
+ errorClasses(error),
122
+ "w-full appearance-none bg-no-repeat bg-[length:16px] bg-[right_8px_center]",
123
+ "bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22%236b7280%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M5.23%207.21a.75.75%200%20011.06.02L10%2011.168l3.71-3.938a.75.75%200%20111.08%201.04l-4.25%204.5a.75.75%200%2001-1.08%200l-4.25-4.5a.75.75%200%2001.02-1.06z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E')]",
124
+ "pr-8",
125
+ className
126
+ ),
127
+ onChange: (e) => {
128
+ onChange?.(e);
129
+ onValueChange?.(e.target.value);
130
+ },
131
+ ...props,
132
+ ...isControlled ? { value } : { defaultValue: resolvedDefault },
133
+ autoFocus: interactive || props.autoFocus,
134
+ onBlur: (e) => {
135
+ props.onBlur?.(e);
136
+ if (interactive) exitEdit();
137
+ },
138
+ children: [
139
+ placeholder && /* @__PURE__ */ jsx("option", { value: "", disabled: true, children: placeholder }),
140
+ list.map(
141
+ (item, index) => isOptionGroup(item) ? /* @__PURE__ */ jsx("optgroup", { label: item.label, children: item.options.map(
142
+ (opt, optIndex) => renderNativeOption(opt, optIndex)
143
+ ) }, `group-${index}`) : renderNativeOption(item, index)
144
+ )
145
+ ]
146
+ }
147
+ )
148
+ }
149
+ );
150
+ if (label || error || description) {
151
+ return /* @__PURE__ */ jsx(
152
+ Field,
153
+ {
154
+ label,
155
+ description,
156
+ error,
157
+ required,
158
+ htmlFor: selectId,
159
+ size,
160
+ children: select
161
+ }
162
+ );
163
+ }
164
+ return select;
165
+ }
166
+ );
167
+ NativeSelect.displayName = "NativeSelect";
168
+ var ListboxSelect = forwardRef(
169
+ ({
170
+ size = "md",
171
+ dirty,
172
+ error,
173
+ label,
174
+ description,
175
+ required,
176
+ disabled,
177
+ className,
178
+ id,
179
+ list,
180
+ placeholder = "Select...",
181
+ multiple = false,
182
+ values: controlledValues,
183
+ defaultValues,
184
+ onValueChange,
185
+ onValuesChange,
186
+ searchable = false,
187
+ creatable = false,
188
+ onCreate,
189
+ createLabel = "Create",
190
+ selectedSuffix = "selected",
191
+ indicator = "check",
192
+ mode,
193
+ value: controlledSingleValue,
194
+ defaultValue: defaultSingleValue
195
+ }, _ref) => {
196
+ const autoId = useId();
197
+ const selectId = id ?? autoId;
198
+ const resolvedMode = useFieldMode(mode);
199
+ const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);
200
+ const textInputEnabled = searchable || creatable;
201
+ const [open, setOpen] = useState(false);
202
+ const [search, setSearch] = useState("");
203
+ const [activeIndex, setActiveIndex] = useState(-1);
204
+ const [createdOptions, setCreatedOptions] = useState([]);
205
+ const [singleValue, setSingleValue] = useState(
206
+ controlledSingleValue ?? defaultSingleValue ?? ""
207
+ );
208
+ const currentSingle = controlledSingleValue ?? singleValue;
209
+ const [multiValues, setMultiValues] = useState(
210
+ controlledValues ?? defaultValues ?? []
211
+ );
212
+ const currentMulti = controlledValues ?? multiValues;
213
+ useEffect(() => {
214
+ if (controlledValues) setMultiValues(controlledValues);
215
+ }, [controlledValues]);
216
+ useEffect(() => {
217
+ if (controlledSingleValue !== void 0) setSingleValue(controlledSingleValue);
218
+ }, [controlledSingleValue]);
219
+ const anchorRef = useRef(null);
220
+ const listRef = useRef(null);
221
+ const searchRef = useRef(null);
222
+ const position = useFloatingPosition(anchorRef, listRef, {
223
+ placement: "bottom-start",
224
+ offset: 4,
225
+ enabled: open
226
+ });
227
+ const close = useCallback(() => {
228
+ setOpen(false);
229
+ setSearch("");
230
+ setActiveIndex(-1);
231
+ }, []);
232
+ useOutsideClick(listRef, close, open, anchorRef);
233
+ useEscapeKey(close, open);
234
+ useEffect(() => {
235
+ if (open && textInputEnabled) {
236
+ requestAnimationFrame(() => searchRef.current?.focus());
237
+ }
238
+ }, [open, textInputEnabled]);
239
+ const resolvedOptions = useMemo(() => {
240
+ const base = flattenOptions(list).map(resolveOption);
241
+ const created = createdOptions.map(resolveOption);
242
+ return [...base, ...created];
243
+ }, [list, createdOptions]);
244
+ const filtered = search ? resolvedOptions.filter(
245
+ (o) => o.label.toLowerCase().includes(search.toLowerCase())
246
+ ) : resolvedOptions;
247
+ const canCreate = creatable && search.trim().length > 0 && !resolvedOptions.some(
248
+ (o) => o.label.toLowerCase() === search.trim().toLowerCase() || o.value === search.trim()
249
+ );
250
+ const isSelected = (value) => {
251
+ if (multiple) return currentMulti.includes(value);
252
+ return currentSingle === value;
253
+ };
254
+ const toggleOption = useCallback(
255
+ (value) => {
256
+ if (multiple) {
257
+ const next = currentMulti.includes(value) ? currentMulti.filter((v) => v !== value) : [...currentMulti, value];
258
+ setMultiValues(next);
259
+ onValuesChange?.(next);
260
+ } else {
261
+ setSingleValue(value);
262
+ onValueChange?.(value);
263
+ close();
264
+ }
265
+ },
266
+ [multiple, currentMulti, onValuesChange, onValueChange, close]
267
+ );
268
+ const handleCreate = useCallback(() => {
269
+ const label2 = search.trim();
270
+ if (!label2) return;
271
+ const value = label2;
272
+ const newOption = { value, label: label2 };
273
+ setCreatedOptions((prev) => [...prev, newOption]);
274
+ onCreate?.(label2);
275
+ setSearch("");
276
+ if (multiple) {
277
+ const next = [...currentMulti, value];
278
+ setMultiValues(next);
279
+ onValuesChange?.(next);
280
+ requestAnimationFrame(() => searchRef.current?.focus());
281
+ } else {
282
+ setSingleValue(value);
283
+ onValueChange?.(value);
284
+ close();
285
+ }
286
+ }, [search, multiple, currentMulti, onCreate, onValuesChange, onValueChange, close]);
287
+ const getDisplayText = () => {
288
+ if (multiple) {
289
+ if (currentMulti.length === 0) return placeholder;
290
+ if (currentMulti.length === 1) {
291
+ const opt2 = resolvedOptions.find((o) => o.value === currentMulti[0]);
292
+ return opt2?.label ?? currentMulti[0];
293
+ }
294
+ return `${currentMulti.length} ${selectedSuffix}`;
295
+ }
296
+ if (!currentSingle) return placeholder;
297
+ const opt = resolvedOptions.find((o) => o.value === currentSingle);
298
+ return opt?.label ?? currentSingle;
299
+ };
300
+ const hasValue = multiple ? currentMulti.length > 0 : !!currentSingle;
301
+ const handleKeyDown = (e) => {
302
+ if (!open) {
303
+ if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
304
+ e.preventDefault();
305
+ setOpen(true);
306
+ }
307
+ return;
308
+ }
309
+ if (e.key === "ArrowDown") {
310
+ e.preventDefault();
311
+ setActiveIndex((i) => Math.min(i + 1, filtered.length - 1));
312
+ } else if (e.key === "ArrowUp") {
313
+ e.preventDefault();
314
+ setActiveIndex((i) => Math.max(i - 1, 0));
315
+ } else if (e.key === "Enter") {
316
+ if (activeIndex >= 0) {
317
+ e.preventDefault();
318
+ const item = filtered[activeIndex];
319
+ if (item && !item.disabled) toggleOption(item.value);
320
+ } else if (canCreate) {
321
+ e.preventDefault();
322
+ handleCreate();
323
+ }
324
+ }
325
+ };
326
+ if (!showControl) {
327
+ const labels = multiple ? currentMulti.map(
328
+ (v) => resolvedOptions.find((o) => o.value === v)?.label ?? v
329
+ ) : currentSingle ? [resolvedOptions.find((o) => o.value === currentSingle)?.label ?? currentSingle] : [];
330
+ const display = /* @__PURE__ */ jsx(DisplayValue, { size, interactive, onActivate: enterEdit, children: labels.join(", ") });
331
+ if (label || error || description) {
332
+ return /* @__PURE__ */ jsx(
333
+ Field,
334
+ {
335
+ label,
336
+ description,
337
+ error,
338
+ required,
339
+ htmlFor: selectId,
340
+ size,
341
+ children: display
342
+ }
343
+ );
344
+ }
345
+ return display;
346
+ }
347
+ const trigger = /* @__PURE__ */ jsxs(
348
+ "button",
349
+ {
350
+ ref: anchorRef,
351
+ type: "button",
352
+ id: selectId,
353
+ disabled,
354
+ autoFocus: interactive,
355
+ onClick: () => setOpen((o) => !o),
356
+ onKeyDown: handleKeyDown,
357
+ role: "combobox",
358
+ "aria-expanded": open,
359
+ "aria-haspopup": "listbox",
360
+ "data-react-fancy-select": "",
361
+ "data-variant": "listbox",
362
+ className: cn(
363
+ inputBaseClasses,
364
+ inputSizeClasses[size],
365
+ dirtyClasses(dirty),
366
+ errorClasses(error),
367
+ "flex w-full cursor-pointer items-center justify-between gap-2 text-left",
368
+ !hasValue && "text-zinc-400 dark:text-zinc-500",
369
+ className
370
+ ),
371
+ children: [
372
+ /* @__PURE__ */ jsx("span", { className: "truncate", children: getDisplayText() }),
373
+ /* @__PURE__ */ jsx(
374
+ "svg",
375
+ {
376
+ className: cn("h-4 w-4 shrink-0 text-zinc-400 transition-transform", open && "rotate-180"),
377
+ viewBox: "0 0 20 20",
378
+ fill: "currentColor",
379
+ children: /* @__PURE__ */ jsx(
380
+ "path",
381
+ {
382
+ fillRule: "evenodd",
383
+ d: "M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",
384
+ clipRule: "evenodd"
385
+ }
386
+ )
387
+ }
388
+ )
389
+ ]
390
+ }
391
+ );
392
+ const dropdown = open && /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsxs(
393
+ "div",
394
+ {
395
+ ref: listRef,
396
+ role: "listbox",
397
+ "aria-multiselectable": multiple || void 0,
398
+ className: "fixed z-50 max-h-60 min-w-[8rem] overflow-y-auto rounded-xl border border-zinc-200 bg-white p-1 shadow-lg dark:border-zinc-700 dark:bg-zinc-900 dark:shadow-zinc-950/50 fancy-scale-in",
399
+ style: {
400
+ left: position.x,
401
+ top: position.y,
402
+ width: anchorRef.current?.offsetWidth
403
+ },
404
+ children: [
405
+ textInputEnabled && /* @__PURE__ */ jsx("div", { className: "px-2 pb-1 pt-1", children: /* @__PURE__ */ jsx(
406
+ "input",
407
+ {
408
+ ref: searchRef,
409
+ type: "text",
410
+ value: search,
411
+ onChange: (e) => {
412
+ setSearch(e.target.value);
413
+ setActiveIndex(-1);
414
+ },
415
+ onKeyDown: handleKeyDown,
416
+ placeholder: creatable && !searchable ? "Type to add\u2026" : "Search\u2026",
417
+ className: "w-full rounded-md border-0 bg-zinc-100 px-2.5 py-1.5 text-sm text-zinc-900 placeholder:text-zinc-400 outline-none dark:bg-zinc-800 dark:text-zinc-100 dark:placeholder:text-zinc-500"
418
+ }
419
+ ) }),
420
+ canCreate && /* @__PURE__ */ jsxs(
421
+ "button",
422
+ {
423
+ type: "button",
424
+ onClick: handleCreate,
425
+ className: "flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-sm text-blue-600 hover:bg-blue-50 dark:text-blue-400 dark:hover:bg-blue-500/10",
426
+ children: [
427
+ /* @__PURE__ */ jsx("svg", { className: "h-4 w-4 shrink-0", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", d: "M10 3a.75.75 0 01.75.75v5.5h5.5a.75.75 0 010 1.5h-5.5v5.5a.75.75 0 01-1.5 0v-5.5h-5.5a.75.75 0 010-1.5h5.5v-5.5A.75.75 0 0110 3z", clipRule: "evenodd" }) }),
428
+ /* @__PURE__ */ jsxs("span", { className: "truncate", children: [
429
+ createLabel,
430
+ ' "',
431
+ search.trim(),
432
+ '"'
433
+ ] })
434
+ ]
435
+ }
436
+ ),
437
+ filtered.length === 0 && !canCreate ? /* @__PURE__ */ jsx("div", { className: "px-3 py-2 text-sm text-zinc-400", children: "No results found" }) : filtered.length === 0 ? null : filtered.map((option, i) => {
438
+ const selected = isSelected(option.value);
439
+ return /* @__PURE__ */ jsxs(
440
+ "button",
441
+ {
442
+ type: "button",
443
+ role: "option",
444
+ "aria-selected": selected,
445
+ disabled: option.disabled,
446
+ onClick: () => toggleOption(option.value),
447
+ className: cn(
448
+ "flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-sm transition-colors",
449
+ i === activeIndex ? "bg-zinc-100 dark:bg-zinc-800" : "hover:bg-zinc-50 dark:hover:bg-zinc-800/50",
450
+ selected ? "text-zinc-900 dark:text-zinc-100" : "text-zinc-700 dark:text-zinc-300",
451
+ option.disabled && "cursor-not-allowed opacity-50"
452
+ ),
453
+ children: [
454
+ indicator === "checkbox" ? /* @__PURE__ */ jsx(
455
+ "span",
456
+ {
457
+ className: cn(
458
+ "flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",
459
+ selected ? "border-blue-500 bg-blue-500 text-white dark:border-blue-400 dark:bg-blue-400" : "border-zinc-300 dark:border-zinc-600"
460
+ ),
461
+ children: selected && /* @__PURE__ */ jsx("svg", { className: "h-3 w-3", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("polyline", { points: "2.5 6 5 8.5 9.5 3.5" }) })
462
+ }
463
+ ) : /* @__PURE__ */ jsx("span", { className: "flex h-4 w-4 shrink-0 items-center justify-center", children: selected && /* @__PURE__ */ jsx("svg", { className: "h-4 w-4 text-blue-500 dark:text-blue-400", viewBox: "0 0 20 20", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", d: "M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z", clipRule: "evenodd" }) }) }),
464
+ /* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
465
+ /* @__PURE__ */ jsx("span", { className: "block truncate", children: option.label }),
466
+ option.description && /* @__PURE__ */ jsx("span", { className: "block truncate text-xs text-zinc-400 dark:text-zinc-500", children: option.description })
467
+ ] })
468
+ ]
469
+ },
470
+ option.value
471
+ );
472
+ })
473
+ ]
474
+ }
475
+ ) });
476
+ const content = /* @__PURE__ */ jsxs(
477
+ "div",
478
+ {
479
+ className: "relative",
480
+ onBlur: (e) => {
481
+ if (interactive && !open && !e.currentTarget.contains(e.relatedTarget)) {
482
+ exitEdit();
483
+ }
484
+ },
485
+ children: [
486
+ trigger,
487
+ dropdown
488
+ ]
489
+ }
490
+ );
491
+ if (label || error || description) {
492
+ return /* @__PURE__ */ jsx(
493
+ Field,
494
+ {
495
+ label,
496
+ description,
497
+ error,
498
+ required,
499
+ htmlFor: selectId,
500
+ size,
501
+ children: content
502
+ }
503
+ );
504
+ }
505
+ return content;
506
+ }
507
+ );
508
+ ListboxSelect.displayName = "ListboxSelect";
509
+ var Select = forwardRef(
510
+ (props, ref) => {
511
+ const variant = props.variant ?? (props.multiple ? "listbox" : "native");
512
+ if (variant === "listbox") {
513
+ return /* @__PURE__ */ jsx(ListboxSelect, { ...props, ref });
514
+ }
515
+ return /* @__PURE__ */ jsx(NativeSelect, { ...props, ref });
516
+ }
517
+ );
518
+ Select.displayName = "Select";
519
+
520
+ export { Select };
521
+ //# sourceMappingURL=chunk-ECZ66DKF.js.map
522
+ //# sourceMappingURL=chunk-ECZ66DKF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/inputs/Select/Select.tsx"],"names":["label","opt"],"mappings":"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","file":"chunk-ECZ66DKF.js","sourcesContent":["import { forwardRef, useCallback, useEffect, useId, useMemo, useRef, useState } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { Field } from \"../Field\";\nimport { InputWrapper } from \"../InputWrapper\";\nimport { Portal } from \"../../Portal\";\nimport { useFloatingPosition } from \"../../../hooks/use-floating-position\";\nimport { useOutsideClick } from \"../../../hooks/use-outside-click\";\nimport { useEscapeKey } from \"../../../hooks/use-escape-key\";\nimport {\n dirtyClasses,\n errorClasses,\n inputBaseClasses,\n inputSizeClasses,\n resolveOption,\n} from \"../inputs.utils\";\nimport { useFieldMode } from \"../mode/FieldMode.context\";\nimport { DisplayValue } from \"../mode/DisplayValue\";\nimport { useInlineEdit } from \"../mode/useInlineEdit\";\nimport type { InputOption, InputOptionGroup } from \"../inputs.types\";\nimport type { SelectProps } from \"./Select.types\";\n\nfunction isOptionGroup(\n item: InputOption | InputOptionGroup,\n): item is InputOptionGroup {\n return typeof item === \"object\" && \"options\" in item;\n}\n\nfunction flattenOptions(list: (InputOption | InputOptionGroup)[]): InputOption[] {\n const flat: InputOption[] = [];\n for (const item of list) {\n if (isOptionGroup(item)) {\n flat.push(...item.options);\n } else {\n flat.push(item);\n }\n }\n return flat;\n}\n\nfunction renderNativeOption(option: InputOption, index: number) {\n const resolved = resolveOption(option);\n return (\n <option\n key={`${resolved.value}-${index}`}\n value={resolved.value as string}\n disabled={resolved.disabled}\n >\n {resolved.label}\n </option>\n );\n}\n\n// ── Native variant ──────────────────────────────────────────────────────\n\nconst NativeSelect = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n size = \"md\",\n dirty,\n error,\n label,\n description,\n required,\n disabled,\n className,\n id,\n list,\n placeholder,\n prefix,\n suffix,\n prefixPosition,\n suffixPosition,\n mode,\n onValueChange,\n onChange,\n value,\n defaultValue,\n ...props\n },\n ref,\n ) => {\n const autoId = useId();\n const selectId = id ?? autoId;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n\n if (!showControl) {\n const current = (value ?? defaultValue) as string | undefined;\n const opt = flattenOptions(list)\n .map((o) => resolveOption(o))\n .find((o) => o.value === current);\n const display = (\n <DisplayValue\n size={size}\n leading={prefix}\n trailing={suffix}\n interactive={interactive}\n onActivate={enterEdit}\n >\n {opt?.label ?? current}\n </DisplayValue>\n );\n if (label || error || description) {\n return (\n <Field\n label={label}\n description={description}\n error={error}\n required={required}\n htmlFor={selectId}\n size={size}\n >\n {display}\n </Field>\n );\n }\n return display;\n }\n\n // When a placeholder is provided but no value/defaultValue, default to \"\"\n // so the disabled placeholder <option> is the initial selection instead of\n // the browser auto-picking the first real option.\n const isControlled = value !== undefined;\n const resolvedDefault =\n !isControlled && defaultValue === undefined && placeholder ? \"\" : defaultValue;\n\n const select = (\n <InputWrapper\n prefix={prefix}\n suffix={suffix}\n prefixPosition={prefixPosition}\n suffixPosition={suffixPosition}\n size={size}\n >\n <select\n data-react-fancy-select=\"\"\n ref={ref}\n id={selectId}\n disabled={disabled}\n required={required}\n className={cn(\n inputBaseClasses,\n inputSizeClasses[size],\n dirtyClasses(dirty),\n errorClasses(error),\n \"w-full appearance-none bg-no-repeat bg-[length:16px] bg-[right_8px_center]\",\n \"bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22%236b7280%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M5.23%207.21a.75.75%200%20011.06.02L10%2011.168l3.71-3.938a.75.75%200%20111.08%201.04l-4.25%204.5a.75.75%200%2001-1.08%200l-4.25-4.5a.75.75%200%2001.02-1.06z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E')]\",\n \"pr-8\",\n className,\n )}\n onChange={(e) => {\n onChange?.(e);\n onValueChange?.(e.target.value);\n }}\n {...props}\n {...(isControlled ? { value } : { defaultValue: resolvedDefault })}\n autoFocus={interactive || props.autoFocus}\n onBlur={(e) => {\n props.onBlur?.(e);\n if (interactive) exitEdit();\n }}\n >\n {placeholder && (\n <option value=\"\" disabled>\n {placeholder}\n </option>\n )}\n {list.map((item, index) =>\n isOptionGroup(item) ? (\n <optgroup key={`group-${index}`} label={item.label}>\n {item.options.map((opt, optIndex) =>\n renderNativeOption(opt, optIndex),\n )}\n </optgroup>\n ) : (\n renderNativeOption(item, index)\n ),\n )}\n </select>\n </InputWrapper>\n );\n\n if (label || error || description) {\n return (\n <Field\n label={label}\n description={description}\n error={error}\n required={required}\n htmlFor={selectId}\n size={size}\n >\n {select}\n </Field>\n );\n }\n\n return select;\n },\n);\n\nNativeSelect.displayName = \"NativeSelect\";\n\n// ── Listbox variant ─────────────────────────────────────────────────────\n\nconst ListboxSelect = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n size = \"md\",\n dirty,\n error,\n label,\n description,\n required,\n disabled,\n className,\n id,\n list,\n placeholder = \"Select...\",\n multiple = false,\n values: controlledValues,\n defaultValues,\n onValueChange,\n onValuesChange,\n searchable = false,\n creatable = false,\n onCreate,\n createLabel = \"Create\",\n selectedSuffix = \"selected\",\n indicator = \"check\",\n mode,\n value: controlledSingleValue,\n defaultValue: defaultSingleValue,\n },\n _ref,\n ) => {\n const autoId = useId();\n const selectId = id ?? autoId;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n\n // Creatable implies a text input, which is also the search input.\n const textInputEnabled = searchable || creatable;\n\n // ── State ──────────────────────────────────────────────\n const [open, setOpen] = useState(false);\n const [search, setSearch] = useState(\"\");\n const [activeIndex, setActiveIndex] = useState(-1);\n const [createdOptions, setCreatedOptions] = useState<InputOption[]>([]);\n\n // Single-select state\n const [singleValue, setSingleValue] = useState<string>(\n (controlledSingleValue as string) ?? (defaultSingleValue as string) ?? \"\",\n );\n const currentSingle = (controlledSingleValue as string) ?? singleValue;\n\n // Multi-select state\n const [multiValues, setMultiValues] = useState<string[]>(\n controlledValues ?? defaultValues ?? [],\n );\n const currentMulti = controlledValues ?? multiValues;\n\n // Sync controlled values\n useEffect(() => {\n if (controlledValues) setMultiValues(controlledValues);\n }, [controlledValues]);\n useEffect(() => {\n if (controlledSingleValue !== undefined) setSingleValue(controlledSingleValue as string);\n }, [controlledSingleValue]);\n\n // ── Refs ───────────────────────────────────────────────\n const anchorRef = useRef<HTMLButtonElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n\n const position = useFloatingPosition(anchorRef, listRef, {\n placement: \"bottom-start\",\n offset: 4,\n enabled: open,\n });\n\n const close = useCallback(() => {\n setOpen(false);\n setSearch(\"\");\n setActiveIndex(-1);\n }, []);\n\n // Outside-click guards the dropdown (in a Portal) against its own clicks,\n // with the trigger button ignored since it toggles open/closed itself.\n useOutsideClick(listRef, close, open, anchorRef);\n useEscapeKey(close, open);\n\n // Focus text input on open\n useEffect(() => {\n if (open && textInputEnabled) {\n requestAnimationFrame(() => searchRef.current?.focus());\n }\n }, [open, textInputEnabled]);\n\n // ── Options ────────────────────────────────────────────\n const resolvedOptions = useMemo(() => {\n const base = flattenOptions(list).map(resolveOption);\n const created = createdOptions.map(resolveOption);\n return [...base, ...created];\n }, [list, createdOptions]);\n\n const filtered = search\n ? resolvedOptions.filter((o) =>\n o.label.toLowerCase().includes(search.toLowerCase()),\n )\n : resolvedOptions;\n\n // Exact-match check to decide whether to show the \"Create X\" row\n const canCreate =\n creatable &&\n search.trim().length > 0 &&\n !resolvedOptions.some(\n (o) =>\n o.label.toLowerCase() === search.trim().toLowerCase() ||\n o.value === search.trim(),\n );\n\n // ── Selection ──────────────────────────────────────────\n const isSelected = (value: string): boolean => {\n if (multiple) return currentMulti.includes(value);\n return currentSingle === value;\n };\n\n const toggleOption = useCallback(\n (value: string) => {\n if (multiple) {\n const next = currentMulti.includes(value)\n ? currentMulti.filter((v) => v !== value)\n : [...currentMulti, value];\n setMultiValues(next);\n onValuesChange?.(next);\n } else {\n setSingleValue(value);\n onValueChange?.(value);\n close();\n }\n },\n [multiple, currentMulti, onValuesChange, onValueChange, close],\n );\n\n const handleCreate = useCallback(() => {\n const label = search.trim();\n if (!label) return;\n const value = label;\n const newOption: InputOption = { value, label };\n setCreatedOptions((prev) => [...prev, newOption]);\n onCreate?.(label);\n setSearch(\"\");\n if (multiple) {\n const next = [...currentMulti, value];\n setMultiValues(next);\n onValuesChange?.(next);\n // Keep dropdown open for multi-select; refocus input\n requestAnimationFrame(() => searchRef.current?.focus());\n } else {\n setSingleValue(value);\n onValueChange?.(value);\n close();\n }\n }, [search, multiple, currentMulti, onCreate, onValuesChange, onValueChange, close]);\n\n // ── Display text ───────────────────────────────────────\n const getDisplayText = (): string => {\n if (multiple) {\n if (currentMulti.length === 0) return placeholder;\n if (currentMulti.length === 1) {\n const opt = resolvedOptions.find((o) => o.value === currentMulti[0]);\n return opt?.label ?? currentMulti[0];\n }\n return `${currentMulti.length} ${selectedSuffix}`;\n }\n if (!currentSingle) return placeholder;\n const opt = resolvedOptions.find((o) => o.value === currentSingle);\n return opt?.label ?? currentSingle;\n };\n\n const hasValue = multiple ? currentMulti.length > 0 : !!currentSingle;\n\n // ── Keyboard ───────────────────────────────────────────\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (!open) {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setOpen(true);\n }\n return;\n }\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActiveIndex((i) => Math.min(i + 1, filtered.length - 1));\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIndex((i) => Math.max(i - 1, 0));\n } else if (e.key === \"Enter\") {\n if (activeIndex >= 0) {\n e.preventDefault();\n const item = filtered[activeIndex];\n if (item && !item.disabled) toggleOption(item.value as string);\n } else if (canCreate) {\n e.preventDefault();\n handleCreate();\n }\n }\n };\n\n // ── View mode ──────────────────────────────────────────\n if (!showControl) {\n const labels = multiple\n ? currentMulti.map(\n (v) => resolvedOptions.find((o) => o.value === v)?.label ?? v,\n )\n : currentSingle\n ? [resolvedOptions.find((o) => o.value === currentSingle)?.label ?? currentSingle]\n : [];\n const display = (\n <DisplayValue size={size} interactive={interactive} onActivate={enterEdit}>\n {labels.join(\", \")}\n </DisplayValue>\n );\n if (label || error || description) {\n return (\n <Field\n label={label}\n description={description}\n error={error}\n required={required}\n htmlFor={selectId}\n size={size}\n >\n {display}\n </Field>\n );\n }\n return display;\n }\n\n // ── Render ─────────────────────────────────────────────\n const trigger = (\n <button\n ref={anchorRef}\n type=\"button\"\n id={selectId}\n disabled={disabled}\n autoFocus={interactive}\n onClick={() => setOpen((o) => !o)}\n onKeyDown={handleKeyDown}\n role=\"combobox\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n data-react-fancy-select=\"\"\n data-variant=\"listbox\"\n className={cn(\n inputBaseClasses,\n inputSizeClasses[size],\n dirtyClasses(dirty),\n errorClasses(error),\n \"flex w-full cursor-pointer items-center justify-between gap-2 text-left\",\n !hasValue && \"text-zinc-400 dark:text-zinc-500\",\n className,\n )}\n >\n <span className=\"truncate\">{getDisplayText()}</span>\n <svg\n className={cn(\"h-4 w-4 shrink-0 text-zinc-400 transition-transform\", open && \"rotate-180\")}\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n );\n\n const dropdown = open && (\n <Portal>\n <div\n ref={listRef}\n role=\"listbox\"\n aria-multiselectable={multiple || undefined}\n className=\"fixed z-50 max-h-60 min-w-[8rem] overflow-y-auto rounded-xl border border-zinc-200 bg-white p-1 shadow-lg dark:border-zinc-700 dark:bg-zinc-900 dark:shadow-zinc-950/50 fancy-scale-in\"\n style={{\n left: position.x,\n top: position.y,\n width: anchorRef.current?.offsetWidth,\n }}\n >\n {textInputEnabled && (\n <div className=\"px-2 pb-1 pt-1\">\n <input\n ref={searchRef}\n type=\"text\"\n value={search}\n onChange={(e) => {\n setSearch(e.target.value);\n setActiveIndex(-1);\n }}\n onKeyDown={handleKeyDown}\n placeholder={creatable && !searchable ? \"Type to add…\" : \"Search…\"}\n className=\"w-full rounded-md border-0 bg-zinc-100 px-2.5 py-1.5 text-sm text-zinc-900 placeholder:text-zinc-400 outline-none dark:bg-zinc-800 dark:text-zinc-100 dark:placeholder:text-zinc-500\"\n />\n </div>\n )}\n\n {canCreate && (\n <button\n type=\"button\"\n onClick={handleCreate}\n className=\"flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-sm text-blue-600 hover:bg-blue-50 dark:text-blue-400 dark:hover:bg-blue-500/10\"\n >\n <svg className=\"h-4 w-4 shrink-0\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fillRule=\"evenodd\" d=\"M10 3a.75.75 0 01.75.75v5.5h5.5a.75.75 0 010 1.5h-5.5v5.5a.75.75 0 01-1.5 0v-5.5h-5.5a.75.75 0 010-1.5h5.5v-5.5A.75.75 0 0110 3z\" clipRule=\"evenodd\" />\n </svg>\n <span className=\"truncate\">{createLabel} &quot;{search.trim()}&quot;</span>\n </button>\n )}\n\n {filtered.length === 0 && !canCreate ? (\n <div className=\"px-3 py-2 text-sm text-zinc-400\">No results found</div>\n ) : filtered.length === 0 ? null : (\n filtered.map((option, i) => {\n const selected = isSelected(option.value as string);\n return (\n <button\n key={option.value as string}\n type=\"button\"\n role=\"option\"\n aria-selected={selected}\n disabled={option.disabled}\n onClick={() => toggleOption(option.value as string)}\n className={cn(\n \"flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-sm transition-colors\",\n i === activeIndex\n ? \"bg-zinc-100 dark:bg-zinc-800\"\n : \"hover:bg-zinc-50 dark:hover:bg-zinc-800/50\",\n selected\n ? \"text-zinc-900 dark:text-zinc-100\"\n : \"text-zinc-700 dark:text-zinc-300\",\n option.disabled && \"cursor-not-allowed opacity-50\",\n )}\n >\n {/* Indicator */}\n {indicator === \"checkbox\" ? (\n <span\n className={cn(\n \"flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors\",\n selected\n ? \"border-blue-500 bg-blue-500 text-white dark:border-blue-400 dark:bg-blue-400\"\n : \"border-zinc-300 dark:border-zinc-600\",\n )}\n >\n {selected && (\n <svg className=\"h-3 w-3\" viewBox=\"0 0 12 12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"2.5 6 5 8.5 9.5 3.5\" />\n </svg>\n )}\n </span>\n ) : (\n <span className=\"flex h-4 w-4 shrink-0 items-center justify-center\">\n {selected && (\n <svg className=\"h-4 w-4 text-blue-500 dark:text-blue-400\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path fillRule=\"evenodd\" d=\"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z\" clipRule=\"evenodd\" />\n </svg>\n )}\n </span>\n )}\n\n {/* Label + description */}\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate\">{option.label}</span>\n {option.description && (\n <span className=\"block truncate text-xs text-zinc-400 dark:text-zinc-500\">{option.description}</span>\n )}\n </span>\n </button>\n );\n })\n )}\n </div>\n </Portal>\n );\n\n const content = (\n <div\n className=\"relative\"\n onBlur={(e) => {\n // The popover is portaled (focus moves out of this wrapper), so only\n // exit edit when the dropdown is closed and focus has truly left.\n if (interactive && !open && !e.currentTarget.contains(e.relatedTarget as Node)) {\n exitEdit();\n }\n }}\n >\n {trigger}\n {dropdown}\n </div>\n );\n\n if (label || error || description) {\n return (\n <Field\n label={label}\n description={description}\n error={error}\n required={required}\n htmlFor={selectId}\n size={size}\n >\n {content}\n </Field>\n );\n }\n\n return content;\n },\n);\n\nListboxSelect.displayName = \"ListboxSelect\";\n\n// ── Public component ────────────────────────────────────────────────────\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (props, ref) => {\n const variant = props.variant ?? (props.multiple ? \"listbox\" : \"native\");\n\n if (variant === \"listbox\") {\n return <ListboxSelect {...props} ref={ref} />;\n }\n return <NativeSelect {...props} ref={ref} />;\n },\n);\n\nSelect.displayName = \"Select\";\n"]}