@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 @@
1
+ {"version":3,"sources":["../src/components/Dropdown/Dropdown.context.ts","../src/components/Dropdown/DropdownTrigger.tsx","../src/components/Dropdown/DropdownItems.tsx","../src/components/Dropdown/DropdownItem.tsx","../src/components/Dropdown/DropdownSeparator.tsx","../src/components/Dropdown/Dropdown.tsx"],"names":["createContext","useContext","jsx","useRef","useFloatingPosition","useCallback","useOutsideClick","useEscapeKey","useAnimation","useEffect","Portal","cn","useState","useMemo"],"mappings":";;;;;;;;;;;AAGO,IAAM,eAAA,GAAkBA,oBAA2C,IAAI,CAAA;AAEvE,SAAS,WAAA,GAAoC;AAClD,EAAA,MAAM,GAAA,GAAMC,iBAAW,eAAe,CAAA;AACtC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,GAAA;AACT;ACVO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAAyB;AAClE,EAAA,MAAM,EAAE,OAAA,EAAS,IAAA,EAAM,SAAA,KAAc,WAAA,EAAY;AAEjD,EAAA,uBACEC,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,SAAA;AAAA,MACL,mCAAA,EAAkC,EAAA;AAAA,MAClC,SAAA,EAAU,aAAA;AAAA,MACV,OAAA,EAAS,MAAM,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,MAC5B,eAAA,EAAe,IAAA;AAAA,MACf,eAAA,EAAc,MAAA;AAAA,MAEb;AAAA;AAAA,GACH;AAEJ;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA;ACVvB,SAAS,aAAA,CAAc,EAAE,QAAA,EAAU,SAAA,EAAU,EAAuB;AACzE,EAAA,MAAM,EAAE,MAAM,OAAA,EAAS,SAAA,EAAW,aAAa,cAAA,EAAgB,SAAA,EAAW,MAAA,EAAO,GAC/E,WAAA,EAAY;AACd,EAAA,MAAM,WAAA,GAAcC,aAAuB,IAAI,CAAA;AAC/C,EAAA,MAAM,UAAA,GAAaA,aAAuB,IAAI,CAAA;AAE9C,EAAA,MAAM,QAAA,GAAWC,qCAAA,CAAoB,SAAA,EAAW,WAAA,EAAa;AAAA,IAC3D,SAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACV,CAAA;AAED,EAAA,MAAM,KAAA,GAAQC,kBAAY,MAAM;AAC9B,IAAA,OAAA,CAAQ,KAAK,CAAA;AACb,IAAA,cAAA,CAAe,EAAE,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,OAAA,EAAS,cAAc,CAAC,CAAA;AAE5B,EAAAC,iCAAA,CAAgB,UAAA,EAAY,KAAA,EAAO,IAAA,EAAM,SAAS,CAAA;AAClD,EAAAC,8BAAA,CAAa,OAAO,IAAI,CAAA;AAExB,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAW,WAAW,GAAA,EAAK,OAAA,KAAYC,8BAAA,CAAa;AAAA,IACnE,IAAA;AAAA,IACA,UAAA,EAAY,gBAAA;AAAA,IACZ,SAAA,EAAW;AAAA,GACZ,CAAA;AAED,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,WAAA,CAAY,OAAA,EAAS;AAEnC,IAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAAqB;AAC1C,MAAA,MAAM,KAAA,GAAQ,YAAY,OAAA,EAAS,gBAAA;AAAA,QACjC;AAAA,OACF;AACA,MAAA,IAAI,CAAC,OAAO,MAAA,EAAQ;AAEpB,MAAA,IAAI,CAAA,CAAE,QAAQ,WAAA,EAAa;AACzB,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,MAAM,OAAO,WAAA,GAAc,KAAA,CAAM,MAAA,GAAS,CAAA,GAAI,cAAc,CAAA,GAAI,CAAA;AAChE,QAAA,cAAA,CAAe,IAAI,CAAA;AACnB,QAAA,KAAA,CAAM,IAAI,GAAG,KAAA,EAAM;AAAA,MACrB,CAAA,MAAA,IAAW,CAAA,CAAE,GAAA,KAAQ,SAAA,EAAW;AAC9B,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,MAAM,OAAO,WAAA,GAAc,CAAA,GAAI,WAAA,GAAc,CAAA,GAAI,MAAM,MAAA,GAAS,CAAA;AAChE,QAAA,cAAA,CAAe,IAAI,CAAA;AACnB,QAAA,KAAA,CAAM,IAAI,GAAG,KAAA,EAAM;AAAA,MACrB;AAAA,IACF,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,WAAW,aAAa,CAAA;AAClD,IAAA,OAAO,MAAM,QAAA,CAAS,mBAAA,CAAoB,SAAA,EAAW,aAAa,CAAA;AAAA,EACpE,CAAA,EAAG,CAAC,IAAA,EAAM,WAAA,EAAa,cAAc,CAAC,CAAA;AAEtC,EAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAErB,EAAA,uBACEP,cAAAA,CAACQ,wBAAA,EAAA,EACC,QAAA,kBAAAR,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,CAAC,IAAA,KAAS;AACb,QAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AACrB,QAAA,WAAA,CAAY,OAAA,GAAU,IAAA;AACtB,QAAC,QAAuD,OAAA,GAAU,IAAA;AAAA,MACpE,CAAA;AAAA,MACA,2BAAA,EAA0B,EAAA;AAAA,MAC1B,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAWS,oBAAA;AAAA,QACT,wHAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAO,EAAE,IAAA,EAAM,SAAS,CAAA,EAAG,GAAA,EAAK,SAAS,CAAA,EAAE;AAAA,MAE1C;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;ACnFrB,SAAS,YAAA,CAAa;AAAA,EAC3B,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,MAAA,GAAS,KAAA;AAAA,EACT;AACF,CAAA,EAAsB;AACpB,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,WAAA,EAAY;AAEhC,EAAA,uBACET,cAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,gCAAA,EAA+B,EAAA;AAAA,MAC/B,IAAA,EAAK,QAAA;AAAA,MACL,IAAA,EAAK,UAAA;AAAA,MACL,QAAA;AAAA,MACA,eAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAWS,oBAAA;AAAA,QACT,mFAAA;AAAA,QACA,SACI,sEAAA,GACA,2EAAA;AAAA,QACJ,QAAA,IAAY,+BAAA;AAAA,QACZ;AAAA,OACF;AAAA,MACA,SAAS,MAAM;AACb,QAAA,IAAI,QAAA,EAAU;AACd,QAAA,OAAA,IAAU;AACV,QAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,MACf,CAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;ACpCpB,SAAS,iBAAA,CAAkB,EAAE,SAAA,EAAU,EAA2B;AACvE,EAAA,uBACET,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,qCAAA,EAAoC,EAAA;AAAA,MACpC,IAAA,EAAK,WAAA;AAAA,MACL,SAAA,EAAWS,oBAAA;AAAA,QACT,wCAAA;AAAA,QACA;AAAA;AACF;AAAA,GACF;AAEJ;AAEA,iBAAA,CAAkB,WAAA,GAAc,mBAAA;ACRhC,SAAS,YAAA,CAAa;AAAA,EACpB,QAAA;AAAA,EACA,SAAA,GAAY,cAAA;AAAA,EACZ,MAAA,GAAS;AACX,CAAA,EAAkB;AAChB,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIC,eAAS,KAAK,CAAA;AACtC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,EAAE,CAAA;AACjD,EAAA,MAAM,SAAA,GAAYT,aAAoB,IAAI,CAAA;AAE1C,EAAA,MAAM,GAAA,GAAMU,aAAA;AAAA,IACV,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,WAAA,EAAa,cAAA,EAAgB,WAAW,MAAA,EAAO,CAAA;AAAA,IAClF,CAAC,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,WAAW,MAAM;AAAA,GAClD;AAEA,EAAA,uBACEX,cAAAA,CAAC,eAAA,CAAgB,UAAhB,EAAyB,KAAA,EAAO,KAAM,QAAA,EAAS,CAAA;AAEpD;AAEO,IAAM,QAAA,GAAW,MAAA,CAAO,MAAA,CAAO,YAAA,EAAc;AAAA,EAClD,OAAA,EAAS,eAAA;AAAA,EACT,KAAA,EAAO,aAAA;AAAA,EACP,IAAA,EAAM,YAAA;AAAA,EACN,SAAA,EAAW;AACb,CAAC","file":"chunk-ORFHF6PT.cjs","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { DropdownContextValue } from \"./Dropdown.types\";\n\nexport const DropdownContext = createContext<DropdownContextValue | null>(null);\n\nexport function useDropdown(): DropdownContextValue {\n const ctx = useContext(DropdownContext);\n if (!ctx) {\n throw new Error(\n \"Dropdown compound components must be used within <Dropdown>\",\n );\n }\n return ctx;\n}\n","import { useDropdown } from \"./Dropdown.context\";\nimport type { DropdownTriggerProps } from \"./Dropdown.types\";\n\nexport function DropdownTrigger({ children }: DropdownTriggerProps) {\n const { setOpen, open, anchorRef } = useDropdown();\n\n return (\n <span\n ref={anchorRef as React.RefObject<HTMLSpanElement>}\n data-react-fancy-dropdown-trigger=\"\"\n className=\"inline-flex\"\n onClick={() => setOpen(!open)}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n >\n {children}\n </span>\n );\n}\n\nDropdownTrigger.displayName = \"DropdownTrigger\";\n","import { useCallback, useEffect, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Portal } from \"../Portal\";\nimport { useDropdown } from \"./Dropdown.context\";\nimport { useFloatingPosition } from \"../../hooks/use-floating-position\";\nimport { useOutsideClick } from \"../../hooks/use-outside-click\";\nimport { useEscapeKey } from \"../../hooks/use-escape-key\";\nimport { useAnimation } from \"../../hooks/use-animation\";\nimport type { DropdownItemsProps } from \"./Dropdown.types\";\n\nexport function DropdownItems({ children, className }: DropdownItemsProps) {\n const { open, setOpen, anchorRef, activeIndex, setActiveIndex, placement, offset } =\n useDropdown();\n const floatingRef = useRef<HTMLDivElement>(null);\n const outsideRef = useRef<HTMLDivElement>(null);\n\n const position = useFloatingPosition(anchorRef, floatingRef, {\n placement,\n offset,\n enabled: open,\n });\n\n const close = useCallback(() => {\n setOpen(false);\n setActiveIndex(-1);\n }, [setOpen, setActiveIndex]);\n\n useOutsideClick(outsideRef, close, open, anchorRef);\n useEscapeKey(close, open);\n\n const { mounted, className: animClass, ref: animRef } = useAnimation({\n open,\n enterClass: \"fancy-scale-in\",\n exitClass: \"fancy-fade-out\",\n });\n\n useEffect(() => {\n if (!open || !floatingRef.current) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n const items = floatingRef.current?.querySelectorAll<HTMLElement>(\n '[role=\"menuitem\"]:not([aria-disabled=\"true\"])',\n );\n if (!items?.length) return;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const next = activeIndex < items.length - 1 ? activeIndex + 1 : 0;\n setActiveIndex(next);\n items[next]?.focus();\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const prev = activeIndex > 0 ? activeIndex - 1 : items.length - 1;\n setActiveIndex(prev);\n items[prev]?.focus();\n }\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => document.removeEventListener(\"keydown\", handleKeyDown);\n }, [open, activeIndex, setActiveIndex]);\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <div\n ref={(node) => {\n outsideRef.current = node;\n floatingRef.current = node;\n (animRef as React.MutableRefObject<HTMLElement | null>).current = node;\n }}\n data-react-fancy-dropdown=\"\"\n role=\"menu\"\n className={cn(\n \"fixed z-50 min-w-[8rem] rounded-xl border border-zinc-200 bg-white p-1 shadow-lg dark:border-zinc-700 dark:bg-zinc-900\",\n animClass,\n className,\n )}\n style={{ left: position.x, top: position.y }}\n >\n {children}\n </div>\n </Portal>\n );\n}\n\nDropdownItems.displayName = \"DropdownItems\";\n","import { cn } from \"../../utils/cn\";\nimport { useDropdown } from \"./Dropdown.context\";\nimport type { DropdownItemProps } from \"./Dropdown.types\";\n\nexport function DropdownItem({\n children,\n onClick,\n disabled = false,\n danger = false,\n className,\n}: DropdownItemProps) {\n const { setOpen } = useDropdown();\n\n return (\n <button\n data-react-fancy-dropdown-item=\"\"\n type=\"button\"\n role=\"menuitem\"\n disabled={disabled}\n aria-disabled={disabled}\n className={cn(\n \"flex w-full items-center rounded-lg px-3 py-2 text-left text-sm transition-colors\",\n danger\n ? \"text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950\"\n : \"text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800\",\n disabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n onClick={() => {\n if (disabled) return;\n onClick?.();\n setOpen(false);\n }}\n >\n {children}\n </button>\n );\n}\n\nDropdownItem.displayName = \"DropdownItem\";\n","import { cn } from \"../../utils/cn\";\nimport type { DropdownSeparatorProps } from \"./Dropdown.types\";\n\nexport function DropdownSeparator({ className }: DropdownSeparatorProps) {\n return (\n <div\n data-react-fancy-dropdown-separator=\"\"\n role=\"separator\"\n className={cn(\n \"my-1 h-px bg-zinc-200 dark:bg-zinc-700\",\n className,\n )}\n />\n );\n}\n\nDropdownSeparator.displayName = \"DropdownSeparator\";\n","import { useMemo, useRef, useState } from \"react\";\nimport { DropdownContext } from \"./Dropdown.context\";\nimport { DropdownTrigger } from \"./DropdownTrigger\";\nimport { DropdownItems } from \"./DropdownItems\";\nimport { DropdownItem } from \"./DropdownItem\";\nimport { DropdownSeparator } from \"./DropdownSeparator\";\nimport type { DropdownProps } from \"./Dropdown.types\";\n\nfunction DropdownRoot({\n children,\n placement = \"bottom-start\",\n offset = 4,\n}: DropdownProps) {\n const [open, setOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const anchorRef = useRef<HTMLElement>(null);\n\n const ctx = useMemo(\n () => ({ open, setOpen, anchorRef, activeIndex, setActiveIndex, placement, offset }),\n [open, anchorRef, activeIndex, placement, offset],\n );\n\n return (\n <DropdownContext.Provider value={ctx}>{children}</DropdownContext.Provider>\n );\n}\n\nexport const Dropdown = Object.assign(DropdownRoot, {\n Trigger: DropdownTrigger,\n Items: DropdownItems,\n Item: DropdownItem,\n Separator: DropdownSeparator,\n});\n"]}
@@ -0,0 +1,124 @@
1
+ 'use strict';
2
+
3
+ var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
4
+ var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function toLength(value) {
8
+ return typeof value === "number" ? `${value}px` : value;
9
+ }
10
+ var Marquee = react.forwardRef(
11
+ ({
12
+ children,
13
+ items,
14
+ speed = 40,
15
+ duration,
16
+ direction = "left",
17
+ pauseOnHover = false,
18
+ paused = false,
19
+ gap = 40,
20
+ fade = true,
21
+ separator,
22
+ angle = 0,
23
+ decorative = true,
24
+ className,
25
+ style,
26
+ ...rest
27
+ }, ref) => {
28
+ const rootRef = react.useRef(null);
29
+ const unitRef = react.useRef(null);
30
+ react.useImperativeHandle(ref, () => rootRef.current);
31
+ const [copies, setCopies] = react.useState(1);
32
+ const [measuredDuration, setMeasuredDuration] = react.useState(null);
33
+ react.useEffect(() => {
34
+ const root = rootRef.current;
35
+ const unit = unitRef.current;
36
+ if (!root || !unit || typeof ResizeObserver === "undefined") return;
37
+ const update = () => {
38
+ const unitWidth = unit.getBoundingClientRect().width;
39
+ const containerWidth = root.clientWidth;
40
+ if (unitWidth <= 0) return;
41
+ const nextCopies = Math.max(1, Math.ceil(containerWidth / unitWidth));
42
+ setCopies(nextCopies);
43
+ if (duration === void 0) {
44
+ setMeasuredDuration(unitWidth * nextCopies / Math.max(speed, 1));
45
+ }
46
+ };
47
+ update();
48
+ const observer = new ResizeObserver(update);
49
+ observer.observe(root);
50
+ observer.observe(unit);
51
+ return () => observer.disconnect();
52
+ }, [duration, speed]);
53
+ const loopSeconds = duration ?? measuredDuration ?? 40;
54
+ const itemNodes = items ?? react.Children.toArray(children);
55
+ const hasSeparator = separator !== void 0 && separator !== null;
56
+ const renderUnit = (duplicate, unitElRef) => /* @__PURE__ */ jsxRuntime.jsx(
57
+ "div",
58
+ {
59
+ ref: unitElRef,
60
+ className: "fancy-marquee__unit",
61
+ "aria-hidden": duplicate || void 0,
62
+ children: itemNodes.map((node, i) => /* @__PURE__ */ jsxRuntime.jsxs(react.Fragment, { children: [
63
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fancy-marquee__item", "data-react-fancy-marquee-item": "", "data-index": i, children: node }),
64
+ hasSeparator && /* @__PURE__ */ jsxRuntime.jsx(
65
+ "div",
66
+ {
67
+ className: "fancy-marquee__separator",
68
+ "data-react-fancy-marquee-separator": "",
69
+ "aria-hidden": "true",
70
+ children: separator
71
+ }
72
+ )
73
+ ] }, i))
74
+ }
75
+ );
76
+ const renderGroup = (duplicate) => /* @__PURE__ */ jsxRuntime.jsx(
77
+ "div",
78
+ {
79
+ className: "fancy-marquee__group",
80
+ "data-react-fancy-marquee-group": "",
81
+ "aria-hidden": duplicate || void 0,
82
+ children: Array.from(
83
+ { length: copies },
84
+ (_, c) => /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: renderUnit(duplicate || c > 0, !duplicate && c === 0 ? unitRef : void 0) }, c)
85
+ )
86
+ }
87
+ );
88
+ const cssVars = {
89
+ "--fancy-marquee-duration": `${loopSeconds}s`,
90
+ "--fancy-marquee-gap": toLength(gap),
91
+ ...fade !== false && {
92
+ "--fancy-marquee-fade": fade === true ? "48px" : toLength(fade)
93
+ }
94
+ };
95
+ const angleStyle = angle ? { transform: `rotate(${angle}deg)`, width: "102%", marginLeft: "-1%" } : {};
96
+ return /* @__PURE__ */ jsxRuntime.jsx(
97
+ "div",
98
+ {
99
+ ref: rootRef,
100
+ "data-react-fancy-marquee": "",
101
+ "data-direction": direction,
102
+ "data-paused": paused ? "" : void 0,
103
+ "aria-hidden": decorative || void 0,
104
+ className: chunk3Z6ALUWP_cjs.cn(
105
+ "fancy-marquee",
106
+ fade !== false && "fancy-marquee--fade",
107
+ pauseOnHover && "fancy-marquee--pause-hover",
108
+ className
109
+ ),
110
+ style: { ...cssVars, ...angleStyle, ...style },
111
+ ...rest,
112
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fancy-marquee__track", "data-react-fancy-marquee-track": "", children: [
113
+ renderGroup(false),
114
+ renderGroup(true)
115
+ ] })
116
+ }
117
+ );
118
+ }
119
+ );
120
+ Marquee.displayName = "Marquee";
121
+
122
+ exports.Marquee = Marquee;
123
+ //# sourceMappingURL=chunk-ORPYY2MO.cjs.map
124
+ //# sourceMappingURL=chunk-ORPYY2MO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Marquee/Marquee.tsx"],"names":["forwardRef","useRef","useImperativeHandle","useState","useEffect","Children","jsx","Fragment","cn","jsxs"],"mappings":"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","file":"chunk-ORPYY2MO.cjs","sourcesContent":["import {\n Children,\n Fragment,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { MarqueeProps } from \"./Marquee.types\";\n\nfunction toLength(value: string | number): string {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport const Marquee = forwardRef<HTMLDivElement, MarqueeProps>(\n (\n {\n children,\n items,\n speed = 40,\n duration,\n direction = \"left\",\n pauseOnHover = false,\n paused = false,\n gap = 40,\n fade = true,\n separator,\n angle = 0,\n decorative = true,\n className,\n style,\n ...rest\n },\n ref,\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const unitRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref, () => rootRef.current as HTMLDivElement);\n\n // copies = how many times the item sequence repeats inside ONE loop copy,\n // so short content still fills the strip edge-to-edge (no blank wrap).\n const [copies, setCopies] = useState(1);\n const [measuredDuration, setMeasuredDuration] = useState<number | null>(null);\n\n // Measure one content unit (incl. its trailing gap) + the container:\n // - auto-fill: repeat the unit until one loop copy covers the container\n // - px/s mode: derive the loop duration from the loop distance so the\n // perceived speed stays constant regardless of content width.\n // Browser-only (effect) — SSR renders one unit at the fallback pace.\n useEffect(() => {\n const root = rootRef.current;\n const unit = unitRef.current;\n if (!root || !unit || typeof ResizeObserver === \"undefined\") return;\n const update = () => {\n const unitWidth = unit.getBoundingClientRect().width;\n const containerWidth = root.clientWidth;\n if (unitWidth <= 0) return;\n const nextCopies = Math.max(1, Math.ceil(containerWidth / unitWidth));\n setCopies(nextCopies);\n if (duration === undefined) {\n setMeasuredDuration((unitWidth * nextCopies) / Math.max(speed, 1));\n }\n };\n update();\n const observer = new ResizeObserver(update);\n observer.observe(root);\n observer.observe(unit);\n return () => observer.disconnect();\n }, [duration, speed]);\n\n const loopSeconds = duration ?? measuredDuration ?? 40;\n const itemNodes: ReactNode[] = items ?? Children.toArray(children);\n const hasSeparator = separator !== undefined && separator !== null;\n\n // One unit = the item sequence once (separator after every item so the\n // wrap point looks identical to any other joint).\n const renderUnit = (duplicate: boolean, unitElRef?: React.Ref<HTMLDivElement>) => (\n <div\n ref={unitElRef}\n className=\"fancy-marquee__unit\"\n aria-hidden={duplicate || undefined}\n >\n {itemNodes.map((node, i) => (\n <Fragment key={i}>\n <div className=\"fancy-marquee__item\" data-react-fancy-marquee-item=\"\" data-index={i}>\n {node}\n </div>\n {hasSeparator && (\n <div\n className=\"fancy-marquee__separator\"\n data-react-fancy-marquee-separator=\"\"\n aria-hidden=\"true\"\n >\n {separator}\n </div>\n )}\n </Fragment>\n ))}\n </div>\n );\n\n // Two identical groups + translateX(-50%) keyframes = seamless wrap. Only\n // the very first unit is exposed to AT; every repeat is aria-hidden.\n const renderGroup = (duplicate: boolean) => (\n <div\n className=\"fancy-marquee__group\"\n data-react-fancy-marquee-group=\"\"\n aria-hidden={duplicate || undefined}\n >\n {Array.from({ length: copies }, (_, c) =>\n <Fragment key={c}>\n {renderUnit(duplicate || c > 0, !duplicate && c === 0 ? unitRef : undefined)}\n </Fragment>,\n )}\n </div>\n );\n\n const cssVars: CSSProperties = {\n \"--fancy-marquee-duration\": `${loopSeconds}s`,\n \"--fancy-marquee-gap\": toLength(gap),\n ...(fade !== false && {\n \"--fancy-marquee-fade\": fade === true ? \"48px\" : toLength(fade),\n }),\n } as CSSProperties;\n\n // Tilted strips widen slightly (the classic 102% / -1% trick) so the\n // rotation never exposes the page background at the edges.\n const angleStyle: CSSProperties = angle\n ? { transform: `rotate(${angle}deg)`, width: \"102%\", marginLeft: \"-1%\" }\n : {};\n\n return (\n <div\n ref={rootRef}\n data-react-fancy-marquee=\"\"\n data-direction={direction}\n data-paused={paused ? \"\" : undefined}\n aria-hidden={decorative || undefined}\n className={cn(\n \"fancy-marquee\",\n fade !== false && \"fancy-marquee--fade\",\n pauseOnHover && \"fancy-marquee--pause-hover\",\n className,\n )}\n style={{ ...cssVars, ...angleStyle, ...style }}\n {...rest}\n >\n <div className=\"fancy-marquee__track\" data-react-fancy-marquee-track=\"\">\n {renderGroup(false)}\n {renderGroup(true)}\n </div>\n </div>\n );\n },\n);\n\nMarquee.displayName = \"Marquee\";\n"]}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ // src/hooks/use-controllable-state.ts
6
+ function useControllableState(controlledValue, defaultValue, onChange) {
7
+ const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue);
8
+ const isControlled = controlledValue !== void 0;
9
+ const value = isControlled ? controlledValue : uncontrolledValue;
10
+ const onChangeRef = react.useRef(onChange);
11
+ onChangeRef.current = onChange;
12
+ const setValue = react.useCallback(
13
+ (next) => {
14
+ const nextValue = typeof next === "function" ? next(value) : next;
15
+ if (!isControlled) {
16
+ setUncontrolledValue(nextValue);
17
+ }
18
+ onChangeRef.current?.(nextValue);
19
+ },
20
+ [isControlled, value]
21
+ );
22
+ return [value, setValue];
23
+ }
24
+
25
+ exports.useControllableState = useControllableState;
26
+ //# sourceMappingURL=chunk-OUOEQZHY.cjs.map
27
+ //# sourceMappingURL=chunk-OUOEQZHY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-controllable-state.ts"],"names":["useState","useRef","useCallback"],"mappings":";;;;;AAEO,SAAS,oBAAA,CACd,eAAA,EACA,YAAA,EACA,QAAA,EAC4C;AAC5C,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIA,eAAS,YAAY,CAAA;AACvE,EAAA,MAAM,eAAe,eAAA,KAAoB,MAAA;AACzC,EAAA,MAAM,KAAA,GAAQ,eAAe,eAAA,GAAkB,iBAAA;AAC/C,EAAA,MAAM,WAAA,GAAcC,aAAO,QAAQ,CAAA;AACnC,EAAA,WAAA,CAAY,OAAA,GAAU,QAAA;AAEtB,EAAA,MAAM,QAAA,GAAWC,iBAAA;AAAA,IACf,CAAC,IAAA,KAA+B;AAC9B,MAAA,MAAM,YACJ,OAAO,IAAA,KAAS,UAAA,GAAc,IAAA,CAAwB,KAAK,CAAA,GAAI,IAAA;AAEjE,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,oBAAA,CAAqB,SAAS,CAAA;AAAA,MAChC;AAEA,MAAA,WAAA,CAAY,UAAU,SAAS,CAAA;AAAA,IACjC,CAAA;AAAA,IACA,CAAC,cAAc,KAAK;AAAA,GACtB;AAEA,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AACzB","file":"chunk-OUOEQZHY.cjs","sourcesContent":["import { useCallback, useRef, useState } from \"react\";\n\nexport function useControllableState<T>(\n controlledValue: T | undefined,\n defaultValue: T,\n onChange?: (value: T) => void,\n): [T, (value: T | ((prev: T) => T)) => void] {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : uncontrolledValue;\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const setValue = useCallback(\n (next: T | ((prev: T) => T)) => {\n const nextValue =\n typeof next === \"function\" ? (next as (prev: T) => T)(value) : next;\n\n if (!isControlled) {\n setUncontrolledValue(nextValue);\n }\n\n onChangeRef.current?.(nextValue);\n },\n [isControlled, value],\n );\n\n return [value, setValue];\n}\n"]}
@@ -0,0 +1,121 @@
1
+ 'use strict';
2
+
3
+ var chunkJ2DI6RMR_cjs = require('./chunk-J2DI6RMR.cjs');
4
+ var chunkNBZC6LOB_cjs = require('./chunk-NBZC6LOB.cjs');
5
+ var chunk57FQGQJK_cjs = require('./chunk-57FQGQJK.cjs');
6
+ var chunkRXDRYWVD_cjs = require('./chunk-RXDRYWVD.cjs');
7
+ var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
8
+ var react = require('react');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ var PopoverContext = react.createContext(null);
12
+ function usePopover() {
13
+ const ctx = react.useContext(PopoverContext);
14
+ if (!ctx) {
15
+ throw new Error("Popover compound components must be used within <Popover>");
16
+ }
17
+ return ctx;
18
+ }
19
+ function PopoverTrigger({ children, className, ...rest }) {
20
+ const { setOpen, open, anchorRef, hover, onHoverEnter, onHoverLeave } = usePopover();
21
+ return /* @__PURE__ */ jsxRuntime.jsx(
22
+ "span",
23
+ {
24
+ ...rest,
25
+ ref: anchorRef,
26
+ "data-react-fancy-popover-trigger": "",
27
+ className: chunk3Z6ALUWP_cjs.cn("inline-flex", className),
28
+ onClick: hover ? void 0 : () => setOpen(!open),
29
+ onMouseEnter: hover ? onHoverEnter : void 0,
30
+ onMouseLeave: hover ? onHoverLeave : void 0,
31
+ "aria-expanded": open,
32
+ "aria-haspopup": true,
33
+ children
34
+ }
35
+ );
36
+ }
37
+ PopoverTrigger.displayName = "PopoverTrigger";
38
+ function PopoverContent({ children, className, style, ...rest }) {
39
+ const { open, setOpen, anchorRef, floatingRef, placement, offset, hover, onHoverEnter, onHoverLeave } = usePopover();
40
+ const outsideRef = react.useRef(null);
41
+ const position = chunkJ2DI6RMR_cjs.useFloatingPosition(anchorRef, floatingRef, {
42
+ placement,
43
+ offset,
44
+ enabled: open
45
+ });
46
+ const close = react.useCallback(() => setOpen(false), [setOpen]);
47
+ chunk57FQGQJK_cjs.useOutsideClick(outsideRef, close, open && !hover, anchorRef);
48
+ chunkRXDRYWVD_cjs.useEscapeKey(close, open);
49
+ const positioned = position.x !== -9999 && position.y !== -9999;
50
+ if (!open) return null;
51
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkNBZC6LOB_cjs.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
52
+ "div",
53
+ {
54
+ ...rest,
55
+ ref: (node) => {
56
+ outsideRef.current = node;
57
+ floatingRef.current = node;
58
+ },
59
+ "data-react-fancy-popover": "",
60
+ className: chunk3Z6ALUWP_cjs.cn(
61
+ "fixed z-50 rounded-xl border border-zinc-200 bg-white p-4 text-zinc-700 shadow-lg dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-200 dark:shadow-zinc-950/50",
62
+ positioned ? "fancy-scale-in" : "invisible",
63
+ className
64
+ ),
65
+ style: { ...style, left: position.x, top: position.y },
66
+ onMouseEnter: hover ? onHoverEnter : void 0,
67
+ onMouseLeave: hover ? onHoverLeave : void 0,
68
+ children
69
+ }
70
+ ) });
71
+ }
72
+ PopoverContent.displayName = "PopoverContent";
73
+ function PopoverRoot({
74
+ children,
75
+ open: controlledOpen,
76
+ defaultOpen = false,
77
+ onOpenChange,
78
+ placement = "bottom",
79
+ offset = 8,
80
+ hover = false,
81
+ hoverDelay = 200,
82
+ hoverCloseDelay = 300
83
+ }) {
84
+ const [internalOpen, setInternalOpen] = react.useState(defaultOpen);
85
+ const isControlled = controlledOpen !== void 0;
86
+ const open = isControlled ? controlledOpen : internalOpen;
87
+ const anchorRef = react.useRef(null);
88
+ const floatingRef = react.useRef(null);
89
+ const hoverTimeoutRef = react.useRef(void 0);
90
+ const setOpen = react.useCallback(
91
+ (next) => {
92
+ if (!isControlled) setInternalOpen(next);
93
+ onOpenChange?.(next);
94
+ },
95
+ [isControlled, onOpenChange]
96
+ );
97
+ const onHoverEnter = react.useCallback(() => {
98
+ if (!hover) return;
99
+ clearTimeout(hoverTimeoutRef.current);
100
+ hoverTimeoutRef.current = setTimeout(() => setOpen(true), hoverDelay);
101
+ }, [hover, hoverDelay, setOpen]);
102
+ const onHoverLeave = react.useCallback(() => {
103
+ if (!hover) return;
104
+ clearTimeout(hoverTimeoutRef.current);
105
+ hoverTimeoutRef.current = setTimeout(() => setOpen(false), hoverCloseDelay);
106
+ }, [hover, hoverCloseDelay, setOpen]);
107
+ const ctx = react.useMemo(
108
+ () => ({ open, setOpen, anchorRef, floatingRef, placement, offset, hover, onHoverEnter, onHoverLeave }),
109
+ [open, setOpen, placement, offset, hover, onHoverEnter, onHoverLeave]
110
+ );
111
+ return /* @__PURE__ */ jsxRuntime.jsx(PopoverContext.Provider, { value: ctx, children });
112
+ }
113
+ var Popover = Object.assign(PopoverRoot, {
114
+ Trigger: PopoverTrigger,
115
+ Content: PopoverContent
116
+ });
117
+
118
+ exports.Popover = Popover;
119
+ exports.usePopover = usePopover;
120
+ //# sourceMappingURL=chunk-PBXYU4EV.cjs.map
121
+ //# sourceMappingURL=chunk-PBXYU4EV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Popover/Popover.context.ts","../src/components/Popover/PopoverTrigger.tsx","../src/components/Popover/PopoverContent.tsx","../src/components/Popover/Popover.tsx"],"names":["createContext","useContext","jsx","cn","useRef","useFloatingPosition","useCallback","useOutsideClick","useEscapeKey","Portal","useState","useMemo"],"mappings":"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","file":"chunk-PBXYU4EV.cjs","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { PopoverContextValue } from \"./Popover.types\";\n\nexport const PopoverContext = createContext<PopoverContextValue | null>(null);\n\nexport function usePopover(): PopoverContextValue {\n const ctx = useContext(PopoverContext);\n if (!ctx) {\n throw new Error(\"Popover compound components must be used within <Popover>\");\n }\n return ctx;\n}\n","import { cn } from \"../../utils/cn\";\nimport { usePopover } from \"./Popover.context\";\nimport type { PopoverTriggerProps } from \"./Popover.types\";\n\nexport function PopoverTrigger({ children, className, ...rest }: PopoverTriggerProps) {\n const { setOpen, open, anchorRef, hover, onHoverEnter, onHoverLeave } = usePopover();\n\n return (\n <span\n {...rest}\n ref={anchorRef as React.RefObject<HTMLSpanElement>}\n data-react-fancy-popover-trigger=\"\"\n className={cn(\"inline-flex\", className)}\n onClick={hover ? undefined : () => setOpen(!open)}\n onMouseEnter={hover ? onHoverEnter : undefined}\n onMouseLeave={hover ? onHoverLeave : undefined}\n aria-expanded={open}\n aria-haspopup\n >\n {children}\n </span>\n );\n}\n\nPopoverTrigger.displayName = \"PopoverTrigger\";\n","import { useCallback, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Portal } from \"../Portal\";\nimport { usePopover } from \"./Popover.context\";\nimport { useFloatingPosition } from \"../../hooks/use-floating-position\";\nimport { useOutsideClick } from \"../../hooks/use-outside-click\";\nimport { useEscapeKey } from \"../../hooks/use-escape-key\";\nimport type { PopoverContentProps } from \"./Popover.types\";\n\nexport function PopoverContent({ children, className, style, ...rest }: PopoverContentProps) {\n const { open, setOpen, anchorRef, floatingRef, placement, offset, hover, onHoverEnter, onHoverLeave } = usePopover();\n const outsideRef = useRef<HTMLDivElement>(null);\n\n const position = useFloatingPosition(anchorRef, floatingRef, {\n placement,\n offset,\n enabled: open,\n });\n\n const close = useCallback(() => setOpen(false), [setOpen]);\n useOutsideClick(outsideRef, close, open && !hover, anchorRef);\n useEscapeKey(close, open);\n\n // Hide until position is calculated to prevent flash at (-9999, -9999)\n const positioned = position.x !== -9999 && position.y !== -9999;\n\n if (!open) return null;\n\n return (\n <Portal>\n <div\n {...rest}\n ref={(node) => {\n outsideRef.current = node;\n (floatingRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }}\n data-react-fancy-popover=\"\"\n className={cn(\n \"fixed z-50 rounded-xl border border-zinc-200 bg-white p-4 text-zinc-700 shadow-lg dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-200 dark:shadow-zinc-950/50\",\n positioned ? \"fancy-scale-in\" : \"invisible\",\n className,\n )}\n style={{ ...style, left: position.x, top: position.y }}\n onMouseEnter={hover ? onHoverEnter : undefined}\n onMouseLeave={hover ? onHoverLeave : undefined}\n >\n {children}\n </div>\n </Portal>\n );\n}\n\nPopoverContent.displayName = \"PopoverContent\";\n","import { useCallback, useMemo, useRef, useState } from \"react\";\nimport { PopoverContext } from \"./Popover.context\";\nimport { PopoverTrigger } from \"./PopoverTrigger\";\nimport { PopoverContent } from \"./PopoverContent\";\nimport type { PopoverProps } from \"./Popover.types\";\n\nfunction PopoverRoot({\n children,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n placement = \"bottom\",\n offset = 8,\n hover = false,\n hoverDelay = 200,\n hoverCloseDelay = 300,\n}: PopoverProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n\n const anchorRef = useRef<HTMLElement>(null);\n const floatingRef = useRef<HTMLDivElement>(null);\n const hoverTimeoutRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const onHoverEnter = useCallback(() => {\n if (!hover) return;\n clearTimeout(hoverTimeoutRef.current);\n hoverTimeoutRef.current = setTimeout(() => setOpen(true), hoverDelay);\n }, [hover, hoverDelay, setOpen]);\n\n const onHoverLeave = useCallback(() => {\n if (!hover) return;\n clearTimeout(hoverTimeoutRef.current);\n hoverTimeoutRef.current = setTimeout(() => setOpen(false), hoverCloseDelay);\n }, [hover, hoverCloseDelay, setOpen]);\n\n const ctx = useMemo(\n () => ({ open, setOpen, anchorRef, floatingRef, placement, offset, hover, onHoverEnter, onHoverLeave }),\n [open, setOpen, placement, offset, hover, onHoverEnter, onHoverLeave],\n );\n\n return (\n <PopoverContext.Provider value={ctx}>{children}</PopoverContext.Provider>\n );\n}\n\nexport const Popover = Object.assign(PopoverRoot, {\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n});\n"]}
@@ -0,0 +1,82 @@
1
+ 'use strict';
2
+
3
+ var chunk6OSHAP6L_cjs = require('./chunk-6OSHAP6L.cjs');
4
+ var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
5
+ var react = require('react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var gapClasses = {
9
+ sm: "gap-2",
10
+ md: "gap-3",
11
+ lg: "gap-4"
12
+ };
13
+ var nameClasses = {
14
+ sm: "text-sm",
15
+ md: "text-base",
16
+ lg: "text-lg"
17
+ };
18
+ var subtitleClasses = {
19
+ sm: "text-xs",
20
+ md: "text-sm",
21
+ lg: "text-base"
22
+ };
23
+ var Profile = react.forwardRef(
24
+ ({
25
+ src,
26
+ alt,
27
+ fallback,
28
+ name,
29
+ subtitle,
30
+ size = "md",
31
+ status,
32
+ className
33
+ }, ref) => {
34
+ return /* @__PURE__ */ jsxRuntime.jsxs(
35
+ "div",
36
+ {
37
+ ref,
38
+ "data-react-fancy-profile": "",
39
+ className: chunk3Z6ALUWP_cjs.cn("flex items-center", gapClasses[size], className),
40
+ children: [
41
+ /* @__PURE__ */ jsxRuntime.jsx(
42
+ chunk6OSHAP6L_cjs.Avatar,
43
+ {
44
+ src,
45
+ alt: alt || name,
46
+ fallback,
47
+ size,
48
+ status
49
+ }
50
+ ),
51
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col", children: [
52
+ /* @__PURE__ */ jsxRuntime.jsx(
53
+ "span",
54
+ {
55
+ className: chunk3Z6ALUWP_cjs.cn(
56
+ "truncate font-medium text-zinc-900 dark:text-zinc-100",
57
+ nameClasses[size]
58
+ ),
59
+ children: name
60
+ }
61
+ ),
62
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(
63
+ "span",
64
+ {
65
+ className: chunk3Z6ALUWP_cjs.cn(
66
+ "truncate text-zinc-500 dark:text-zinc-400",
67
+ subtitleClasses[size]
68
+ ),
69
+ children: subtitle
70
+ }
71
+ )
72
+ ] })
73
+ ]
74
+ }
75
+ );
76
+ }
77
+ );
78
+ Profile.displayName = "Profile";
79
+
80
+ exports.Profile = Profile;
81
+ //# sourceMappingURL=chunk-PH3WGR5P.cjs.map
82
+ //# sourceMappingURL=chunk-PH3WGR5P.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Profile/Profile.tsx"],"names":["forwardRef","jsxs","cn","jsx","Avatar"],"mappings":";;;;;;;AAKA,IAAM,UAAA,GAAgE;AAAA,EACpE,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,WAAA,GAAiE;AAAA,EACrE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,WAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,eAAA,GAAqE;AAAA,EACzE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,OAAA,GAAUA,gBAAA;AAAA,EACrB,CACE;AAAA,IACE,GAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA,GAAO,IAAA;AAAA,IACP,MAAA;AAAA,IACA;AAAA,KAEF,GAAA,KACG;AACH,IAAA,uBACEC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,0BAAA,EAAyB,EAAA;AAAA,QACzB,WAAWC,oBAAA,CAAG,mBAAA,EAAqB,UAAA,CAAW,IAAI,GAAG,SAAS,CAAA;AAAA,QAE9D,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAACC,wBAAA;AAAA,YAAA;AAAA,cACC,GAAA;AAAA,cACA,KAAK,GAAA,IAAO,IAAA;AAAA,cACZ,QAAA;AAAA,cACA,IAAA;AAAA,cACA;AAAA;AAAA,WACF;AAAA,0BACAH,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACb,QAAA,EAAA;AAAA,4BAAAE,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWD,oBAAA;AAAA,kBACT,uDAAA;AAAA,kBACA,YAAY,IAAI;AAAA,iBAClB;AAAA,gBAEC,QAAA,EAAA;AAAA;AAAA,aACH;AAAA,YACC,QAAA,oBACCC,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWD,oBAAA;AAAA,kBACT,2CAAA;AAAA,kBACA,gBAAgB,IAAI;AAAA,iBACtB;AAAA,gBAEC,QAAA,EAAA;AAAA;AAAA;AACH,WAAA,EAEJ;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-PH3WGR5P.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Avatar } from \"../Avatar\";\nimport type { ProfileProps } from \"./Profile.types\";\n\nconst gapClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"gap-2\",\n md: \"gap-3\",\n lg: \"gap-4\",\n};\n\nconst nameClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n};\n\nconst subtitleClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n};\n\nexport const Profile = forwardRef<HTMLDivElement, ProfileProps>(\n (\n {\n src,\n alt,\n fallback,\n name,\n subtitle,\n size = \"md\",\n status,\n className,\n },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n data-react-fancy-profile=\"\"\n className={cn(\"flex items-center\", gapClasses[size], className)}\n >\n <Avatar\n src={src}\n alt={alt || name}\n fallback={fallback}\n size={size}\n status={status}\n />\n <div className=\"flex min-w-0 flex-col\">\n <span\n className={cn(\n \"truncate font-medium text-zinc-900 dark:text-zinc-100\",\n nameClasses[size],\n )}\n >\n {name}\n </span>\n {subtitle && (\n <span\n className={cn(\n \"truncate text-zinc-500 dark:text-zinc-400\",\n subtitleClasses[size],\n )}\n >\n {subtitle}\n </span>\n )}\n </div>\n </div>\n );\n },\n);\n\nProfile.displayName = \"Profile\";\n"]}
@@ -0,0 +1,135 @@
1
+ 'use strict';
2
+
3
+ var chunkKJ22KE56_cjs = require('./chunk-KJ22KE56.cjs');
4
+ var chunkL3V3BYVS_cjs = require('./chunk-L3V3BYVS.cjs');
5
+ var chunkOUOEQZHY_cjs = require('./chunk-OUOEQZHY.cjs');
6
+ var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
7
+ var react = require('react');
8
+ var lucideReact = require('lucide-react');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ function pad(n) {
12
+ return n.toString().padStart(2, "0");
13
+ }
14
+ function parseTime(val) {
15
+ const [h, m] = val.split(":").map(Number);
16
+ return { hours: h || 0, minutes: m || 0 };
17
+ }
18
+ var TimePicker = react.forwardRef(
19
+ function TimePicker2({
20
+ value: controlledValue,
21
+ defaultValue = "12:00",
22
+ onChange,
23
+ format = "12h",
24
+ minuteStep = 1,
25
+ disabled = false,
26
+ className,
27
+ mode
28
+ }, ref) {
29
+ const [value, setValue] = chunkOUOEQZHY_cjs.useControllableState(
30
+ controlledValue,
31
+ defaultValue,
32
+ onChange
33
+ );
34
+ const resolvedMode = chunkL3V3BYVS_cjs.useFieldMode(mode);
35
+ const { showControl, interactive, enterEdit, exitEdit } = chunkKJ22KE56_cjs.useInlineEdit(resolvedMode, disabled);
36
+ const { hours: h24, minutes } = parseTime(value);
37
+ const isPM = h24 >= 12;
38
+ const displayHour = format === "12h" ? h24 % 12 || 12 : h24;
39
+ const updateTime = react.useCallback(
40
+ (hours, mins) => {
41
+ setValue(`${pad(hours)}:${pad(mins)}`);
42
+ },
43
+ [setValue]
44
+ );
45
+ const changeHour = react.useCallback(
46
+ (delta) => {
47
+ const newHour = (h24 + delta + 24) % 24;
48
+ updateTime(newHour, minutes);
49
+ },
50
+ [h24, minutes, updateTime]
51
+ );
52
+ const changeMinute = react.useCallback(
53
+ (delta) => {
54
+ const newMin = (minutes + delta + 60) % 60;
55
+ updateTime(h24, newMin);
56
+ },
57
+ [h24, minutes, updateTime]
58
+ );
59
+ const toggleAmPm = react.useCallback(() => {
60
+ updateTime((h24 + 12) % 24, minutes);
61
+ }, [h24, minutes, updateTime]);
62
+ if (!showControl) {
63
+ const formatted = format === "12h" ? `${pad(displayHour)}:${pad(minutes)} ${isPM ? "PM" : "AM"}` : `${pad(displayHour)}:${pad(minutes)}`;
64
+ return /* @__PURE__ */ jsxRuntime.jsx(
65
+ "div",
66
+ {
67
+ "data-react-fancy-time-picker": "",
68
+ "data-mode": "view",
69
+ ref,
70
+ role: interactive ? "button" : void 0,
71
+ tabIndex: interactive ? 0 : void 0,
72
+ title: interactive ? "Click to edit" : void 0,
73
+ onClick: interactive ? enterEdit : void 0,
74
+ onKeyDown: interactive ? (e) => {
75
+ if (e.key === "Enter" || e.key === " ") {
76
+ e.preventDefault();
77
+ enterEdit();
78
+ }
79
+ } : void 0,
80
+ className: chunk3Z6ALUWP_cjs.cn(
81
+ "text-sm font-medium tabular-nums text-zinc-900 dark:text-zinc-100",
82
+ interactive && "cursor-pointer rounded-md outline-none transition-colors hover:bg-zinc-100 focus-visible:ring-2 focus-visible:ring-blue-500/40 dark:hover:bg-zinc-800",
83
+ className
84
+ ),
85
+ children: formatted
86
+ }
87
+ );
88
+ }
89
+ const spinBtnClass = "flex h-7 w-full items-center justify-center rounded text-zinc-400 transition-colors hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300 disabled:opacity-50";
90
+ const displayClass = "flex h-10 w-12 items-center justify-center text-lg font-medium tabular-nums";
91
+ return /* @__PURE__ */ jsxRuntime.jsxs(
92
+ "div",
93
+ {
94
+ "data-react-fancy-time-picker": "",
95
+ ref,
96
+ onBlur: (e) => {
97
+ if (interactive && !e.currentTarget.contains(e.relatedTarget)) exitEdit();
98
+ },
99
+ className: chunk3Z6ALUWP_cjs.cn(
100
+ "inline-flex items-center gap-1 rounded-lg border border-zinc-200 bg-white p-2 dark:border-zinc-700 dark:bg-zinc-900",
101
+ disabled && "opacity-50",
102
+ className
103
+ ),
104
+ children: [
105
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
106
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", autoFocus: interactive, onClick: () => changeHour(1), disabled, className: spinBtnClass, "aria-label": "Increase hour", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 14 }) }),
107
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: displayClass, children: pad(displayHour) }),
108
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(-1), disabled, className: spinBtnClass, "aria-label": "Decrease hour", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14 }) })
109
+ ] }),
110
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg text-zinc-400", children: ":" }),
111
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
112
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(minuteStep), disabled, className: spinBtnClass, "aria-label": "Increase minute", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 14 }) }),
113
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: displayClass, children: pad(minutes) }),
114
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(-minuteStep), disabled, className: spinBtnClass, "aria-label": "Decrease minute", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14 }) })
115
+ ] }),
116
+ format === "12h" && /* @__PURE__ */ jsxRuntime.jsx(
117
+ "button",
118
+ {
119
+ type: "button",
120
+ onClick: toggleAmPm,
121
+ disabled,
122
+ className: "ml-1 rounded-lg bg-zinc-100 px-2 py-1 text-sm font-medium transition-colors hover:bg-zinc-200 dark:bg-zinc-800 dark:hover:bg-zinc-700",
123
+ children: isPM ? "PM" : "AM"
124
+ }
125
+ )
126
+ ]
127
+ }
128
+ );
129
+ }
130
+ );
131
+ TimePicker.displayName = "TimePicker";
132
+
133
+ exports.TimePicker = TimePicker;
134
+ //# sourceMappingURL=chunk-POZZY3D5.cjs.map
135
+ //# sourceMappingURL=chunk-POZZY3D5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TimePicker/TimePicker.tsx"],"names":["forwardRef","TimePicker","useControllableState","useFieldMode","useInlineEdit","useCallback","jsx","cn","jsxs","ChevronUp","ChevronDown"],"mappings":"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","file":"chunk-POZZY3D5.cjs","sourcesContent":["import { forwardRef, useCallback } from \"react\";\nimport { ChevronUp, ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { useControllableState } from \"../../hooks/use-controllable-state\";\nimport { useFieldMode } from \"../inputs/mode/FieldMode.context\";\nimport { useInlineEdit } from \"../inputs/mode/useInlineEdit\";\nimport type { TimePickerProps } from \"./TimePicker.types\";\n\nfunction pad(n: number): string {\n return n.toString().padStart(2, \"0\");\n}\n\nfunction parseTime(val: string): { hours: number; minutes: number } {\n const [h, m] = val.split(\":\").map(Number);\n return { hours: h || 0, minutes: m || 0 };\n}\n\nexport const TimePicker = forwardRef<HTMLDivElement, TimePickerProps>(\n function TimePicker(\n {\n value: controlledValue,\n defaultValue = \"12:00\",\n onChange,\n format = \"12h\",\n minuteStep = 1,\n disabled = false,\n className,\n mode,\n },\n ref,\n ) {\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n\n const { hours: h24, minutes } = parseTime(value);\n const isPM = h24 >= 12;\n const displayHour = format === \"12h\" ? (h24 % 12 || 12) : h24;\n\n // These four MUST stay above the view-mode early return below.\n //\n // They used to sit after it, which meant view mode ran three hooks and edit\n // mode ran seven. Clicking \"Click to edit\" flipped `showControl` and React\n // hit a different hook count on the very next render — the classic\n // desync, which surfaces as a crash from inside React naming none of this\n // code. Nothing caught it because no test ever crossed the boundary.\n const updateTime = useCallback(\n (hours: number, mins: number) => {\n setValue(`${pad(hours)}:${pad(mins)}`);\n },\n [setValue],\n );\n\n const changeHour = useCallback(\n (delta: number) => {\n const newHour = (h24 + delta + 24) % 24;\n updateTime(newHour, minutes);\n },\n [h24, minutes, updateTime],\n );\n\n const changeMinute = useCallback(\n (delta: number) => {\n const newMin = (minutes + delta + 60) % 60;\n updateTime(h24, newMin);\n },\n [h24, minutes, updateTime],\n );\n\n const toggleAmPm = useCallback(() => {\n updateTime((h24 + 12) % 24, minutes);\n }, [h24, minutes, updateTime]);\n\n if (!showControl) {\n const formatted =\n format === \"12h\"\n ? `${pad(displayHour)}:${pad(minutes)} ${isPM ? \"PM\" : \"AM\"}`\n : `${pad(displayHour)}:${pad(minutes)}`;\n return (\n <div\n data-react-fancy-time-picker=\"\"\n data-mode=\"view\"\n ref={ref}\n role={interactive ? \"button\" : undefined}\n tabIndex={interactive ? 0 : undefined}\n title={interactive ? \"Click to edit\" : undefined}\n onClick={interactive ? enterEdit : undefined}\n onKeyDown={\n interactive\n ? (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n enterEdit();\n }\n }\n : undefined\n }\n className={cn(\n \"text-sm font-medium tabular-nums text-zinc-900 dark:text-zinc-100\",\n interactive &&\n \"cursor-pointer rounded-md outline-none transition-colors hover:bg-zinc-100 focus-visible:ring-2 focus-visible:ring-blue-500/40 dark:hover:bg-zinc-800\",\n className,\n )}\n >\n {formatted}\n </div>\n );\n }\n\n const spinBtnClass =\n \"flex h-7 w-full items-center justify-center rounded text-zinc-400 transition-colors hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300 disabled:opacity-50\";\n const displayClass =\n \"flex h-10 w-12 items-center justify-center text-lg font-medium tabular-nums\";\n\n return (\n <div\n data-react-fancy-time-picker=\"\"\n ref={ref}\n onBlur={(e) => {\n if (interactive && !e.currentTarget.contains(e.relatedTarget as Node)) exitEdit();\n }}\n className={cn(\n \"inline-flex items-center gap-1 rounded-lg border border-zinc-200 bg-white p-2 dark:border-zinc-700 dark:bg-zinc-900\",\n disabled && \"opacity-50\",\n className,\n )}\n >\n {/* Hour column */}\n <div className=\"flex flex-col items-center\">\n <button type=\"button\" autoFocus={interactive} onClick={() => changeHour(1)} disabled={disabled} className={spinBtnClass} aria-label=\"Increase hour\">\n <ChevronUp size={14} />\n </button>\n <div className={displayClass}>{pad(displayHour)}</div>\n <button type=\"button\" onClick={() => changeHour(-1)} disabled={disabled} className={spinBtnClass} aria-label=\"Decrease hour\">\n <ChevronDown size={14} />\n </button>\n </div>\n\n <span className=\"text-lg text-zinc-400\">:</span>\n\n {/* Minute column */}\n <div className=\"flex flex-col items-center\">\n <button type=\"button\" onClick={() => changeMinute(minuteStep)} disabled={disabled} className={spinBtnClass} aria-label=\"Increase minute\">\n <ChevronUp size={14} />\n </button>\n <div className={displayClass}>{pad(minutes)}</div>\n <button type=\"button\" onClick={() => changeMinute(-minuteStep)} disabled={disabled} className={spinBtnClass} aria-label=\"Decrease minute\">\n <ChevronDown size={14} />\n </button>\n </div>\n\n {/* AM/PM toggle */}\n {format === \"12h\" && (\n <button\n type=\"button\"\n onClick={toggleAmPm}\n disabled={disabled}\n className=\"ml-1 rounded-lg bg-zinc-100 px-2 py-1 text-sm font-medium transition-colors hover:bg-zinc-200 dark:bg-zinc-800 dark:hover:bg-zinc-700\"\n >\n {isPM ? \"PM\" : \"AM\"}\n </button>\n )}\n </div>\n );\n },\n);\n\nTimePicker.displayName = \"TimePicker\";\n"]}