@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,284 @@
1
+ import { useAnimation } from './chunk-CHADHN6M.js';
2
+ import { Portal } from './chunk-WHEXTDPV.js';
3
+ import { useOutsideClick } from './chunk-RGANGU7X.js';
4
+ import { useEscapeKey } from './chunk-JXE5XID6.js';
5
+ import { cn } from './chunk-DSUHZO6T.js';
6
+ import { createContext, useState, useRef, useMemo, useContext, useEffect, useId, useCallback } from 'react';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
+
9
+ var ContextMenuContext = createContext(null);
10
+ function useContextMenu() {
11
+ const ctx = useContext(ContextMenuContext);
12
+ if (!ctx) {
13
+ throw new Error(
14
+ "ContextMenu compound components must be used within <ContextMenu>"
15
+ );
16
+ }
17
+ return ctx;
18
+ }
19
+ function ContextMenuTrigger({
20
+ children,
21
+ className
22
+ }) {
23
+ const ctx = useContextMenu();
24
+ const handleContextMenu = useCallback(
25
+ (e) => {
26
+ e.preventDefault();
27
+ ctx.position.x = e.clientX;
28
+ ctx.position.y = e.clientY;
29
+ ctx.setOpen(true);
30
+ },
31
+ [ctx]
32
+ );
33
+ return /* @__PURE__ */ jsx("div", { "data-react-fancy-context-menu-trigger": "", onContextMenu: handleContextMenu, className: cn(className), children });
34
+ }
35
+ ContextMenuTrigger.displayName = "ContextMenuTrigger";
36
+ var MenuGroupContext = createContext({
37
+ activeSubId: null,
38
+ setActiveSub: () => {
39
+ }
40
+ });
41
+ function MenuGroupProvider({ children }) {
42
+ const [activeSubId, setActiveSub] = useState(null);
43
+ return /* @__PURE__ */ jsx(MenuGroupContext.Provider, { value: { activeSubId, setActiveSub }, children });
44
+ }
45
+ var ContextMenuSubContext = createContext({
46
+ open: false,
47
+ setOpen: () => {
48
+ },
49
+ cancelClose: () => {
50
+ }
51
+ });
52
+ function ContextMenuSub({ children }) {
53
+ const id = useId();
54
+ const { activeSubId, setActiveSub } = useContext(MenuGroupContext);
55
+ const open = activeSubId === id;
56
+ const closeTimer = useRef(null);
57
+ const activeRef = useRef(activeSubId);
58
+ activeRef.current = activeSubId;
59
+ const setOpen = useCallback((v) => {
60
+ if (closeTimer.current) {
61
+ clearTimeout(closeTimer.current);
62
+ closeTimer.current = null;
63
+ }
64
+ setActiveSub(v ? id : null);
65
+ }, [id, setActiveSub]);
66
+ const scheduleClose = useCallback(() => {
67
+ if (closeTimer.current) clearTimeout(closeTimer.current);
68
+ closeTimer.current = setTimeout(() => {
69
+ if (activeRef.current === id) setActiveSub(null);
70
+ }, 150);
71
+ }, [id, setActiveSub]);
72
+ const cancelClose = useCallback(() => {
73
+ if (closeTimer.current) {
74
+ clearTimeout(closeTimer.current);
75
+ closeTimer.current = null;
76
+ }
77
+ }, []);
78
+ useEffect(() => () => {
79
+ if (closeTimer.current) clearTimeout(closeTimer.current);
80
+ }, []);
81
+ return /* @__PURE__ */ jsx(
82
+ "div",
83
+ {
84
+ className: "relative",
85
+ onMouseEnter: cancelClose,
86
+ onMouseLeave: scheduleClose,
87
+ "data-react-fancy-context-menu-sub": "",
88
+ children: /* @__PURE__ */ jsx(ContextMenuSubContext.Provider, { value: { open, setOpen, cancelClose }, children })
89
+ }
90
+ );
91
+ }
92
+ ContextMenuSub.displayName = "ContextMenuSub";
93
+ function ContextMenuSubTrigger({ children, className }) {
94
+ const { open, setOpen, cancelClose } = useContext(ContextMenuSubContext);
95
+ return /* @__PURE__ */ jsxs(
96
+ "button",
97
+ {
98
+ type: "button",
99
+ "data-react-fancy-context-menu-sub-trigger": "",
100
+ role: "menuitem",
101
+ "aria-haspopup": "menu",
102
+ "aria-expanded": open,
103
+ className: cn(
104
+ "flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-sm transition-colors",
105
+ "text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800",
106
+ open && "bg-zinc-100 dark:bg-zinc-800",
107
+ className
108
+ ),
109
+ onMouseEnter: () => {
110
+ cancelClose();
111
+ setOpen(true);
112
+ },
113
+ onClick: () => setOpen(!open),
114
+ children: [
115
+ /* @__PURE__ */ jsx("span", { children }),
116
+ /* @__PURE__ */ jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "ml-2 opacity-50", children: /* @__PURE__ */ jsx("polyline", { points: "9 18 15 12 9 6" }) })
117
+ ]
118
+ }
119
+ );
120
+ }
121
+ ContextMenuSubTrigger.displayName = "ContextMenuSubTrigger";
122
+ function ContextMenuSubContent({ children, className }) {
123
+ const { open } = useContext(ContextMenuSubContext);
124
+ const ref = useRef(null);
125
+ const [flipLeft, setFlipLeft] = useState(false);
126
+ const [topOffset, setTopOffset] = useState(0);
127
+ const [maxH, setMaxH] = useState(void 0);
128
+ useEffect(() => {
129
+ if (!open || !ref.current) return;
130
+ const pad = 8;
131
+ const rect = ref.current.getBoundingClientRect();
132
+ setFlipLeft(rect.right > window.innerWidth - pad);
133
+ const overflow = rect.bottom - (window.innerHeight - pad);
134
+ if (overflow > 0) {
135
+ const shifted = Math.min(overflow, rect.top - pad);
136
+ setTopOffset(-shifted);
137
+ if (overflow > shifted) {
138
+ setMaxH(window.innerHeight - pad * 2);
139
+ } else {
140
+ setMaxH(void 0);
141
+ }
142
+ } else {
143
+ setTopOffset(0);
144
+ setMaxH(void 0);
145
+ }
146
+ }, [open]);
147
+ if (!open) return null;
148
+ return /* @__PURE__ */ jsx(
149
+ "div",
150
+ {
151
+ ref,
152
+ "data-react-fancy-context-menu-sub-content": "",
153
+ role: "menu",
154
+ className: cn(
155
+ "absolute 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",
156
+ flipLeft ? "right-full mr-1" : "left-full ml-1",
157
+ maxH && "overflow-y-auto",
158
+ className
159
+ ),
160
+ style: { top: topOffset, maxHeight: maxH },
161
+ children: /* @__PURE__ */ jsx(MenuGroupProvider, { children })
162
+ }
163
+ );
164
+ }
165
+ ContextMenuSubContent.displayName = "ContextMenuSubContent";
166
+ function ContextMenuContent({
167
+ children,
168
+ className
169
+ }) {
170
+ const { open, setOpen, position } = useContextMenu();
171
+ const menuRef = useRef(null);
172
+ const [adjusted, setAdjusted] = useState(position);
173
+ const close = useCallback(() => setOpen(false), [setOpen]);
174
+ useOutsideClick(menuRef, close, open);
175
+ useEscapeKey(close, open);
176
+ useEffect(() => {
177
+ const node = menuRef.current;
178
+ if (!open || !node) {
179
+ setAdjusted(position);
180
+ return;
181
+ }
182
+ requestAnimationFrame(() => {
183
+ const rect = node.getBoundingClientRect();
184
+ const pad = 8;
185
+ let x = position.x;
186
+ let y = position.y;
187
+ if (x + rect.width > window.innerWidth - pad) x = window.innerWidth - rect.width - pad;
188
+ if (y + rect.height > window.innerHeight - pad) y = window.innerHeight - rect.height - pad;
189
+ if (x < pad) x = pad;
190
+ if (y < pad) y = pad;
191
+ setAdjusted({ x, y });
192
+ });
193
+ }, [open, position]);
194
+ const { mounted, className: animClass, ref: animRef } = useAnimation({
195
+ open,
196
+ enterClass: "fancy-scale-in",
197
+ exitClass: "fancy-fade-out"
198
+ });
199
+ if (!mounted) return null;
200
+ return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
201
+ "div",
202
+ {
203
+ ref: (node) => {
204
+ menuRef.current = node;
205
+ animRef.current = node;
206
+ },
207
+ "data-react-fancy-context-menu": "",
208
+ role: "menu",
209
+ className: cn(
210
+ "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",
211
+ animClass,
212
+ className
213
+ ),
214
+ style: { left: adjusted.x, top: adjusted.y },
215
+ children: /* @__PURE__ */ jsx(MenuGroupProvider, { children })
216
+ }
217
+ ) });
218
+ }
219
+ ContextMenuContent.displayName = "ContextMenuContent";
220
+ function ContextMenuItem({
221
+ children,
222
+ onClick,
223
+ disabled = false,
224
+ danger = false,
225
+ className
226
+ }) {
227
+ const { setOpen } = useContextMenu();
228
+ return /* @__PURE__ */ jsx(
229
+ "button",
230
+ {
231
+ type: "button",
232
+ "data-react-fancy-context-menu-item": "",
233
+ role: "menuitem",
234
+ disabled,
235
+ "aria-disabled": disabled,
236
+ className: cn(
237
+ "flex w-full items-center rounded-lg px-3 py-2 text-left text-sm transition-colors",
238
+ danger ? "text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950" : "text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800",
239
+ disabled && "cursor-not-allowed opacity-50",
240
+ className
241
+ ),
242
+ onClick: () => {
243
+ if (disabled) return;
244
+ onClick?.();
245
+ setOpen(false);
246
+ },
247
+ children
248
+ }
249
+ );
250
+ }
251
+ ContextMenuItem.displayName = "ContextMenuItem";
252
+ function ContextMenuSeparator({ className }) {
253
+ return /* @__PURE__ */ jsx(
254
+ "div",
255
+ {
256
+ "data-react-fancy-context-menu-separator": "",
257
+ role: "separator",
258
+ className: cn("my-1 h-px bg-zinc-200 dark:bg-zinc-700", className)
259
+ }
260
+ );
261
+ }
262
+ ContextMenuSeparator.displayName = "ContextMenuSeparator";
263
+ function ContextMenuRoot({ children }) {
264
+ const [open, setOpen] = useState(false);
265
+ const positionRef = useRef({ x: 0, y: 0 });
266
+ const ctx = useMemo(
267
+ () => ({ open, setOpen, position: positionRef.current }),
268
+ [open]
269
+ );
270
+ return /* @__PURE__ */ jsx(ContextMenuContext.Provider, { value: ctx, children });
271
+ }
272
+ var ContextMenu = Object.assign(ContextMenuRoot, {
273
+ Trigger: ContextMenuTrigger,
274
+ Content: ContextMenuContent,
275
+ Item: ContextMenuItem,
276
+ Separator: ContextMenuSeparator,
277
+ Sub: ContextMenuSub,
278
+ SubTrigger: ContextMenuSubTrigger,
279
+ SubContent: ContextMenuSubContent
280
+ });
281
+
282
+ export { ContextMenu, useContextMenu };
283
+ //# sourceMappingURL=chunk-NLJGNPNN.js.map
284
+ //# sourceMappingURL=chunk-NLJGNPNN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ContextMenu/ContextMenu.context.ts","../src/components/ContextMenu/ContextMenuTrigger.tsx","../src/components/ContextMenu/ContextMenuSub.tsx","../src/components/ContextMenu/ContextMenuContent.tsx","../src/components/ContextMenu/ContextMenuItem.tsx","../src/components/ContextMenu/ContextMenuSeparator.tsx","../src/components/ContextMenu/ContextMenu.tsx"],"names":["createContext","jsx","useContext","useCallback","useRef","useState","useEffect"],"mappings":";;;;;;;;AAGO,IAAM,kBAAA,GACX,cAA8C,IAAI,CAAA;AAE7C,SAAS,cAAA,GAA0C;AACxD,EAAA,MAAM,GAAA,GAAM,WAAW,kBAAkB,CAAA;AACzC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,GAAA;AACT;ACTO,SAAS,kBAAA,CAAmB;AAAA,EACjC,QAAA;AAAA,EACA;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,MAAM,cAAA,EAAe;AAE3B,EAAA,MAAM,iBAAA,GAAoB,WAAA;AAAA,IACxB,CAAC,CAAA,KAAkB;AACjB,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAC,GAAA,CAA+C,QAAA,CAAS,CAAA,GAAI,CAAA,CAAE,OAAA;AAC/D,MAAC,GAAA,CAA+C,QAAA,CAAS,CAAA,GAAI,CAAA,CAAE,OAAA;AAC/D,MAAA,GAAA,CAAI,QAAQ,IAAI,CAAA;AAAA,IAClB,CAAA;AAAA,IACA,CAAC,GAAG;AAAA,GACN;AAEA,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,uCAAA,EAAsC,EAAA,EAAG,aAAA,EAAe,mBAAmB,SAAA,EAAW,EAAA,CAAG,SAAS,CAAA,EACpG,QAAA,EACH,CAAA;AAEJ;AAEA,kBAAA,CAAmB,WAAA,GAAc,oBAAA;ACdjC,IAAM,mBAAmBA,aAAAA,CAAqC;AAAA,EAC5D,WAAA,EAAa,IAAA;AAAA,EACb,cAAc,MAAM;AAAA,EAAC;AACvB,CAAC,CAAA;AAGM,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAS,EAAkC;AAC7E,EAAA,MAAM,CAAC,WAAA,EAAa,YAAY,CAAA,GAAI,SAAwB,IAAI,CAAA;AAChE,EAAA,uBACEC,GAAAA,CAAC,gBAAA,CAAiB,QAAA,EAAjB,EAA0B,OAAO,EAAE,WAAA,EAAa,YAAA,EAAa,EAC3D,QAAA,EACH,CAAA;AAEJ;AAYA,IAAM,wBAAwBD,aAAAA,CAA+B;AAAA,EAC3D,IAAA,EAAM,KAAA;AAAA,EACN,SAAS,MAAM;AAAA,EAAC,CAAA;AAAA,EAChB,aAAa,MAAM;AAAA,EAAC;AACtB,CAAC,CAAA;AAEM,SAAS,cAAA,CAAe,EAAE,QAAA,EAAS,EAAwB;AAChE,EAAA,MAAM,KAAK,KAAA,EAAM;AACjB,EAAA,MAAM,EAAE,WAAA,EAAa,YAAA,EAAa,GAAIE,WAAW,gBAAgB,CAAA;AACjE,EAAA,MAAM,OAAO,WAAA,KAAgB,EAAA;AAC7B,EAAA,MAAM,UAAA,GAAa,OAA6C,IAAI,CAAA;AACpE,EAAA,MAAM,SAAA,GAAY,OAAO,WAAW,CAAA;AACpC,EAAA,SAAA,CAAU,OAAA,GAAU,WAAA;AAEpB,EAAA,MAAM,OAAA,GAAUC,WAAAA,CAAY,CAAC,CAAA,KAAe;AAC1C,IAAA,IAAI,WAAW,OAAA,EAAS;AAAE,MAAA,YAAA,CAAa,WAAW,OAAO,CAAA;AAAG,MAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AAAA,IAAM;AACvF,IAAA,YAAA,CAAa,CAAA,GAAI,KAAK,IAAI,CAAA;AAAA,EAC5B,CAAA,EAAG,CAAC,EAAA,EAAI,YAAY,CAAC,CAAA;AAErB,EAAA,MAAM,aAAA,GAAgBA,YAAY,MAAM;AACtC,IAAA,IAAI,UAAA,CAAW,OAAA,EAAS,YAAA,CAAa,UAAA,CAAW,OAAO,CAAA;AACvD,IAAA,UAAA,CAAW,OAAA,GAAU,WAAW,MAAM;AACpC,MAAA,IAAI,SAAA,CAAU,OAAA,KAAY,EAAA,EAAI,YAAA,CAAa,IAAI,CAAA;AAAA,IACjD,GAAG,GAAG,CAAA;AAAA,EACR,CAAA,EAAG,CAAC,EAAA,EAAI,YAAY,CAAC,CAAA;AAErB,EAAA,MAAM,WAAA,GAAcA,YAAY,MAAM;AACpC,IAAA,IAAI,WAAW,OAAA,EAAS;AAAE,MAAA,YAAA,CAAa,WAAW,OAAO,CAAA;AAAG,MAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AAAA,IAAM;AAAA,EACzF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,SAAA,CAAU,MAAM,MAAM;AACpB,IAAA,IAAI,UAAA,CAAW,OAAA,EAAS,YAAA,CAAa,UAAA,CAAW,OAAO,CAAA;AAAA,EACzD,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACEF,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,UAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,YAAA,EAAc,aAAA;AAAA,MACd,mCAAA,EAAkC,EAAA;AAAA,MAElC,QAAA,kBAAAA,GAAAA,CAAC,qBAAA,CAAsB,QAAA,EAAtB,EAA+B,KAAA,EAAO,EAAE,IAAA,EAAM,OAAA,EAAS,WAAA,EAAY,EACjE,QAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,SAAS,qBAAA,CAAsB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA+B;AACzF,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,WAAA,EAAY,GAAIC,WAAW,qBAAqB,CAAA;AAEvE,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,2CAAA,EAA0C,EAAA;AAAA,MAC1C,IAAA,EAAK,UAAA;AAAA,MACL,eAAA,EAAc,MAAA;AAAA,MACd,eAAA,EAAe,IAAA;AAAA,MACf,SAAA,EAAW,EAAA;AAAA,QACT,mGAAA;AAAA,QACA,2EAAA;AAAA,QACA,IAAA,IAAQ,8BAAA;AAAA,QACR;AAAA,OACF;AAAA,MACA,cAAc,MAAM;AAClB,QAAA,WAAA,EAAY;AACZ,QAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,MACd,CAAA;AAAA,MACA,OAAA,EAAS,MAAM,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,MAE5B,QAAA,EAAA;AAAA,wBAAAD,GAAAA,CAAC,UAAM,QAAA,EAAS,CAAA;AAAA,wBAChBA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,OAAA,EAAQ,WAAA,EAAY,IAAA,EAAK,MAAA,EAAO,MAAA,EAAO,cAAA,EAAe,aAAY,GAAA,EAAI,aAAA,EAAc,OAAA,EAAQ,cAAA,EAAe,OAAA,EAAQ,SAAA,EAAU,iBAAA,EACvJ,QAAA,kBAAAA,GAAAA,CAAC,UAAA,EAAA,EAAS,MAAA,EAAO,gBAAA,EAAiB,CAAA,EACpC;AAAA;AAAA;AAAA,GACF;AAEJ;AAEA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAE7B,SAAS,qBAAA,CAAsB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA+B;AACzF,EAAA,MAAM,EAAE,IAAA,EAAK,GAAIC,UAAAA,CAAW,qBAAqB,CAAA;AACjD,EAAA,MAAM,GAAA,GAAM,OAAuB,IAAI,CAAA;AACvC,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,CAAC,CAAA;AAC5C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAA6B,MAAS,CAAA;AAE9D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,GAAA,CAAI,OAAA,EAAS;AAC3B,IAAA,MAAM,GAAA,GAAM,CAAA;AACZ,IAAA,MAAM,IAAA,GAAO,GAAA,CAAI,OAAA,CAAQ,qBAAA,EAAsB;AAG/C,IAAA,WAAA,CAAY,IAAA,CAAK,KAAA,GAAQ,MAAA,CAAO,UAAA,GAAa,GAAG,CAAA;AAGhD,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,MAAA,IAAU,MAAA,CAAO,WAAA,GAAc,GAAA,CAAA;AACrD,IAAA,IAAI,WAAW,CAAA,EAAG;AAChB,MAAA,MAAM,UAAU,IAAA,CAAK,GAAA,CAAI,QAAA,EAAU,IAAA,CAAK,MAAM,GAAG,CAAA;AACjD,MAAA,YAAA,CAAa,CAAC,OAAO,CAAA;AACrB,MAAA,IAAI,WAAW,OAAA,EAAS;AACtB,QAAA,OAAA,CAAQ,MAAA,CAAO,WAAA,GAAc,GAAA,GAAM,CAAC,CAAA;AAAA,MACtC,CAAA,MAAO;AACL,QAAA,OAAA,CAAQ,MAAS,CAAA;AAAA,MACnB;AAAA,IACF,CAAA,MAAO;AACL,MAAA,YAAA,CAAa,CAAC,CAAA;AACd,MAAA,OAAA,CAAQ,MAAS,CAAA;AAAA,IACnB;AAAA,EACF,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,EAAA,uBACED,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,2CAAA,EAA0C,EAAA;AAAA,MAC1C,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,EAAA;AAAA,QACT,2HAAA;AAAA,QACA,WAAW,iBAAA,GAAoB,gBAAA;AAAA,QAC/B,IAAA,IAAQ,iBAAA;AAAA,QACR;AAAA,OACF;AAAA,MACA,KAAA,EAAO,EAAE,GAAA,EAAK,SAAA,EAAW,WAAW,IAAA,EAAK;AAAA,MAEzC,QAAA,kBAAAA,GAAAA,CAAC,iBAAA,EAAA,EACE,QAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;ACpK7B,SAAS,kBAAA,CAAmB;AAAA,EACjC,QAAA;AAAA,EACA;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,QAAA,KAAa,cAAA,EAAe;AACnD,EAAA,MAAM,OAAA,GAAUG,OAAuB,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,SAAmC,QAAQ,CAAA;AAE3E,EAAA,MAAM,KAAA,GAAQF,YAAY,MAAM,OAAA,CAAQ,KAAK,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AACzD,EAAA,eAAA,CAAgB,OAAA,EAAS,OAAO,IAAI,CAAA;AACpC,EAAA,YAAA,CAAa,OAAO,IAAI,CAAA;AAGxB,EAAAG,UAAU,MAAM;AACd,IAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,IAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,IAAA,EAAM;AAClB,MAAA,WAAA,CAAY,QAAQ,CAAA;AACpB,MAAA;AAAA,IACF;AACA,IAAA,qBAAA,CAAsB,MAAM;AAC1B,MAAA,MAAM,IAAA,GAAO,KAAK,qBAAA,EAAsB;AACxC,MAAA,MAAM,GAAA,GAAM,CAAA;AACZ,MAAA,IAAI,IAAI,QAAA,CAAS,CAAA;AACjB,MAAA,IAAI,IAAI,QAAA,CAAS,CAAA;AACjB,MAAA,IAAI,CAAA,GAAI,IAAA,CAAK,KAAA,GAAQ,MAAA,CAAO,UAAA,GAAa,KAAK,CAAA,GAAI,MAAA,CAAO,UAAA,GAAa,IAAA,CAAK,KAAA,GAAQ,GAAA;AACnF,MAAA,IAAI,CAAA,GAAI,IAAA,CAAK,MAAA,GAAS,MAAA,CAAO,WAAA,GAAc,KAAK,CAAA,GAAI,MAAA,CAAO,WAAA,GAAc,IAAA,CAAK,MAAA,GAAS,GAAA;AACvF,MAAA,IAAI,CAAA,GAAI,KAAK,CAAA,GAAI,GAAA;AACjB,MAAA,IAAI,CAAA,GAAI,KAAK,CAAA,GAAI,GAAA;AACjB,MAAA,WAAA,CAAY,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA;AAAA,IACtB,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,IAAA,EAAM,QAAQ,CAAC,CAAA;AAEnB,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAW,WAAW,GAAA,EAAK,OAAA,KAAY,YAAA,CAAa;AAAA,IACnE,IAAA;AAAA,IACA,UAAA,EAAY,gBAAA;AAAA,IACZ,SAAA,EAAW;AAAA,GACZ,CAAA;AAED,EAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAErB,EAAA,uBACEL,GAAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAAA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,CAAC,IAAA,KAAS;AACb,QAAA,OAAA,CAAQ,OAAA,GAAU,IAAA;AAClB,QAAC,QAAuD,OAAA,GAAU,IAAA;AAAA,MACpE,CAAA;AAAA,MACA,+BAAA,EAA8B,EAAA;AAAA,MAC9B,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,EAAA;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,MAE3C,QAAA,kBAAAA,GAAAA,CAAC,iBAAA,EAAA,EACE,QAAA,EACH;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AAEA,kBAAA,CAAmB,WAAA,GAAc,oBAAA;ACtE1B,SAAS,eAAA,CAAgB;AAAA,EAC9B,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,MAAA,GAAS,KAAA;AAAA,EACT;AACF,CAAA,EAAyB;AACvB,EAAA,MAAM,EAAE,OAAA,EAAQ,GAAI,cAAA,EAAe;AAEnC,EAAA,uBACEA,GAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,oCAAA,EAAmC,EAAA;AAAA,MACnC,IAAA,EAAK,UAAA;AAAA,MACL,QAAA;AAAA,MACA,eAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAW,EAAA;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,eAAA,CAAgB,WAAA,GAAc,iBAAA;ACpCvB,SAAS,oBAAA,CAAqB,EAAE,SAAA,EAAU,EAA8B;AAC7E,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,yCAAA,EAAwC,EAAA;AAAA,MACxC,IAAA,EAAK,WAAA;AAAA,MACL,SAAA,EAAW,EAAA,CAAG,wCAAA,EAA0C,SAAS;AAAA;AAAA,GACnE;AAEJ;AAEA,oBAAA,CAAqB,WAAA,GAAc,sBAAA;ACJnC,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAS,EAAqB;AACvD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAII,SAAS,KAAK,CAAA;AACtC,EAAA,MAAM,cAAcD,MAAAA,CAAO,EAAE,GAAG,CAAA,EAAG,CAAA,EAAG,GAAG,CAAA;AAEzC,EAAA,MAAM,GAAA,GAAM,OAAA;AAAA,IACV,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,QAAA,EAAU,YAAY,OAAA,EAAQ,CAAA;AAAA,IACtD,CAAC,IAAI;AAAA,GACP;AAEA,EAAA,uBACEH,GAAAA,CAAC,kBAAA,CAAmB,UAAnB,EAA4B,KAAA,EAAO,KACjC,QAAA,EACH,CAAA;AAEJ;AAEO,IAAM,WAAA,GAAc,MAAA,CAAO,MAAA,CAAO,eAAA,EAAiB;AAAA,EACxD,OAAA,EAAS,kBAAA;AAAA,EACT,OAAA,EAAS,kBAAA;AAAA,EACT,IAAA,EAAM,eAAA;AAAA,EACN,SAAA,EAAW,oBAAA;AAAA,EACX,GAAA,EAAK,cAAA;AAAA,EACL,UAAA,EAAY,qBAAA;AAAA,EACZ,UAAA,EAAY;AACd,CAAC","file":"chunk-NLJGNPNN.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { ContextMenuContextValue } from \"./ContextMenu.types\";\n\nexport const ContextMenuContext =\n createContext<ContextMenuContextValue | null>(null);\n\nexport function useContextMenu(): ContextMenuContextValue {\n const ctx = useContext(ContextMenuContext);\n if (!ctx) {\n throw new Error(\n \"ContextMenu compound components must be used within <ContextMenu>\",\n );\n }\n return ctx;\n}\n","import { useCallback, type MouseEvent } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useContextMenu } from \"./ContextMenu.context\";\nimport type { ContextMenuTriggerProps } from \"./ContextMenu.types\";\n\nexport function ContextMenuTrigger({\n children,\n className,\n}: ContextMenuTriggerProps) {\n const ctx = useContextMenu();\n\n const handleContextMenu = useCallback(\n (e: MouseEvent) => {\n e.preventDefault();\n (ctx as { position: { x: number; y: number } }).position.x = e.clientX;\n (ctx as { position: { x: number; y: number } }).position.y = e.clientY;\n ctx.setOpen(true);\n },\n [ctx],\n );\n\n return (\n <div data-react-fancy-context-menu-trigger=\"\" onContextMenu={handleContextMenu} className={cn(className)}>\n {children}\n </div>\n );\n}\n\nContextMenuTrigger.displayName = \"ContextMenuTrigger\";\n","import { createContext, useCallback, useContext, useEffect, useId, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { ContextMenuSubProps, ContextMenuSubTriggerProps, ContextMenuSubContentProps } from \"./ContextMenu.types\";\n\n// ---------------------------------------------------------------------------\n// Sibling coordination: parent tracks which sub is active so opening one\n// immediately closes any previously-open sibling.\n// ---------------------------------------------------------------------------\n\ninterface MenuGroupContextValue {\n activeSubId: string | null;\n setActiveSub: (id: string | null) => void;\n}\n\nconst MenuGroupContext = createContext<MenuGroupContextValue>({\n activeSubId: null,\n setActiveSub: () => {},\n});\n\n/** Wrap sibling Subs so only one is open at a time. Placed inside Content/SubContent. */\nexport function MenuGroupProvider({ children }: { children: React.ReactNode }) {\n const [activeSubId, setActiveSub] = useState<string | null>(null);\n return (\n <MenuGroupContext.Provider value={{ activeSubId, setActiveSub }}>\n {children}\n </MenuGroupContext.Provider>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Sub components\n// ---------------------------------------------------------------------------\n\ninterface SubContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n cancelClose: () => void;\n}\n\nconst ContextMenuSubContext = createContext<SubContextValue>({\n open: false,\n setOpen: () => {},\n cancelClose: () => {},\n});\n\nexport function ContextMenuSub({ children }: ContextMenuSubProps) {\n const id = useId();\n const { activeSubId, setActiveSub } = useContext(MenuGroupContext);\n const open = activeSubId === id;\n const closeTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const activeRef = useRef(activeSubId);\n activeRef.current = activeSubId;\n\n const setOpen = useCallback((v: boolean) => {\n if (closeTimer.current) { clearTimeout(closeTimer.current); closeTimer.current = null; }\n setActiveSub(v ? id : null);\n }, [id, setActiveSub]);\n\n const scheduleClose = useCallback(() => {\n if (closeTimer.current) clearTimeout(closeTimer.current);\n closeTimer.current = setTimeout(() => {\n if (activeRef.current === id) setActiveSub(null);\n }, 150);\n }, [id, setActiveSub]);\n\n const cancelClose = useCallback(() => {\n if (closeTimer.current) { clearTimeout(closeTimer.current); closeTimer.current = null; }\n }, []);\n\n useEffect(() => () => {\n if (closeTimer.current) clearTimeout(closeTimer.current);\n }, []);\n\n return (\n <div\n className=\"relative\"\n onMouseEnter={cancelClose}\n onMouseLeave={scheduleClose}\n data-react-fancy-context-menu-sub=\"\"\n >\n <ContextMenuSubContext.Provider value={{ open, setOpen, cancelClose }}>\n {children}\n </ContextMenuSubContext.Provider>\n </div>\n );\n}\n\nContextMenuSub.displayName = \"ContextMenuSub\";\n\nexport function ContextMenuSubTrigger({ children, className }: ContextMenuSubTriggerProps) {\n const { open, setOpen, cancelClose } = useContext(ContextMenuSubContext);\n\n return (\n <button\n type=\"button\"\n data-react-fancy-context-menu-sub-trigger=\"\"\n role=\"menuitem\"\n aria-haspopup=\"menu\"\n aria-expanded={open}\n className={cn(\n \"flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-sm transition-colors\",\n \"text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800\",\n open && \"bg-zinc-100 dark:bg-zinc-800\",\n className,\n )}\n onMouseEnter={() => {\n cancelClose();\n setOpen(true);\n }}\n onClick={() => setOpen(!open)}\n >\n <span>{children}</span>\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"ml-2 opacity-50\">\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </button>\n );\n}\n\nContextMenuSubTrigger.displayName = \"ContextMenuSubTrigger\";\n\nexport function ContextMenuSubContent({ children, className }: ContextMenuSubContentProps) {\n const { open } = useContext(ContextMenuSubContext);\n const ref = useRef<HTMLDivElement>(null);\n const [flipLeft, setFlipLeft] = useState(false);\n const [topOffset, setTopOffset] = useState(0);\n const [maxH, setMaxH] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n if (!open || !ref.current) return;\n const pad = 8;\n const rect = ref.current.getBoundingClientRect();\n\n // Horizontal: flip left if overflowing right\n setFlipLeft(rect.right > window.innerWidth - pad);\n\n // Vertical: shift up if overflowing bottom, cap height if still too tall\n const overflow = rect.bottom - (window.innerHeight - pad);\n if (overflow > 0) {\n const shifted = Math.min(overflow, rect.top - pad);\n setTopOffset(-shifted);\n if (overflow > shifted) {\n setMaxH(window.innerHeight - pad * 2);\n } else {\n setMaxH(undefined);\n }\n } else {\n setTopOffset(0);\n setMaxH(undefined);\n }\n }, [open]);\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n data-react-fancy-context-menu-sub-content=\"\"\n role=\"menu\"\n className={cn(\n \"absolute 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 flipLeft ? \"right-full mr-1\" : \"left-full ml-1\",\n maxH && \"overflow-y-auto\",\n className,\n )}\n style={{ top: topOffset, maxHeight: maxH }}\n >\n <MenuGroupProvider>\n {children}\n </MenuGroupProvider>\n </div>\n );\n}\n\nContextMenuSubContent.displayName = \"ContextMenuSubContent\";\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Portal } from \"../Portal\";\nimport { useContextMenu } from \"./ContextMenu.context\";\nimport { useOutsideClick } from \"../../hooks/use-outside-click\";\nimport { useEscapeKey } from \"../../hooks/use-escape-key\";\nimport { useAnimation } from \"../../hooks/use-animation\";\nimport { MenuGroupProvider } from \"./ContextMenuSub\";\nimport type { ContextMenuContentProps } from \"./ContextMenu.types\";\n\nexport function ContextMenuContent({\n children,\n className,\n}: ContextMenuContentProps) {\n const { open, setOpen, position } = useContextMenu();\n const menuRef = useRef<HTMLDivElement>(null);\n const [adjusted, setAdjusted] = useState<{ x: number; y: number }>(position);\n\n const close = useCallback(() => setOpen(false), [setOpen]);\n useOutsideClick(menuRef, close, open);\n useEscapeKey(close, open);\n\n // Clamp position to viewport after mount\n useEffect(() => {\n const node = menuRef.current;\n if (!open || !node) {\n setAdjusted(position);\n return;\n }\n requestAnimationFrame(() => {\n const rect = node.getBoundingClientRect();\n const pad = 8;\n let x = position.x;\n let y = position.y;\n if (x + rect.width > window.innerWidth - pad) x = window.innerWidth - rect.width - pad;\n if (y + rect.height > window.innerHeight - pad) y = window.innerHeight - rect.height - pad;\n if (x < pad) x = pad;\n if (y < pad) y = pad;\n setAdjusted({ x, y });\n });\n }, [open, position]);\n\n const { mounted, className: animClass, ref: animRef } = useAnimation({\n open,\n enterClass: \"fancy-scale-in\",\n exitClass: \"fancy-fade-out\",\n });\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <div\n ref={(node) => {\n menuRef.current = node;\n (animRef as React.MutableRefObject<HTMLElement | null>).current = node;\n }}\n data-react-fancy-context-menu=\"\"\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: adjusted.x, top: adjusted.y }}\n >\n <MenuGroupProvider>\n {children}\n </MenuGroupProvider>\n </div>\n </Portal>\n );\n}\n\nContextMenuContent.displayName = \"ContextMenuContent\";\n","import { cn } from \"../../utils/cn\";\nimport { useContextMenu } from \"./ContextMenu.context\";\nimport type { ContextMenuItemProps } from \"./ContextMenu.types\";\n\nexport function ContextMenuItem({\n children,\n onClick,\n disabled = false,\n danger = false,\n className,\n}: ContextMenuItemProps) {\n const { setOpen } = useContextMenu();\n\n return (\n <button\n type=\"button\"\n data-react-fancy-context-menu-item=\"\"\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\nContextMenuItem.displayName = \"ContextMenuItem\";\n","import { cn } from \"../../utils/cn\";\nimport type { ContextMenuSeparatorProps } from \"./ContextMenu.types\";\n\nexport function ContextMenuSeparator({ className }: ContextMenuSeparatorProps) {\n return (\n <div\n data-react-fancy-context-menu-separator=\"\"\n role=\"separator\"\n className={cn(\"my-1 h-px bg-zinc-200 dark:bg-zinc-700\", className)}\n />\n );\n}\n\nContextMenuSeparator.displayName = \"ContextMenuSeparator\";\n","import { useMemo, useRef, useState } from \"react\";\nimport { ContextMenuContext } from \"./ContextMenu.context\";\nimport { ContextMenuTrigger } from \"./ContextMenuTrigger\";\nimport { ContextMenuContent } from \"./ContextMenuContent\";\nimport { ContextMenuItem } from \"./ContextMenuItem\";\nimport { ContextMenuSeparator } from \"./ContextMenuSeparator\";\nimport { ContextMenuSub, ContextMenuSubTrigger, ContextMenuSubContent } from \"./ContextMenuSub\";\nimport type { ContextMenuProps } from \"./ContextMenu.types\";\n\nfunction ContextMenuRoot({ children }: ContextMenuProps) {\n const [open, setOpen] = useState(false);\n const positionRef = useRef({ x: 0, y: 0 });\n\n const ctx = useMemo(\n () => ({ open, setOpen, position: positionRef.current }),\n [open],\n );\n\n return (\n <ContextMenuContext.Provider value={ctx}>\n {children}\n </ContextMenuContext.Provider>\n );\n}\n\nexport const ContextMenu = Object.assign(ContextMenuRoot, {\n Trigger: ContextMenuTrigger,\n Content: ContextMenuContent,\n Item: ContextMenuItem,\n Separator: ContextMenuSeparator,\n Sub: ContextMenuSub,\n SubTrigger: ContextMenuSubTrigger,\n SubContent: ContextMenuSubContent,\n});\n"]}
@@ -0,0 +1,224 @@
1
+ 'use strict';
2
+
3
+ var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
4
+ var react = require('react');
5
+ var lucideReact = require('lucide-react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ var DAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
9
+ var MONTHS = [
10
+ "January",
11
+ "February",
12
+ "March",
13
+ "April",
14
+ "May",
15
+ "June",
16
+ "July",
17
+ "August",
18
+ "September",
19
+ "October",
20
+ "November",
21
+ "December"
22
+ ];
23
+ function isSameDay(a, b) {
24
+ return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
25
+ }
26
+ function getDaysInMonth(year, month) {
27
+ const days = [];
28
+ const firstDay = new Date(year, month, 1);
29
+ const startDayOfWeek = firstDay.getDay();
30
+ for (let i = startDayOfWeek - 1; i >= 0; i--) {
31
+ days.push(new Date(year, month, -i));
32
+ }
33
+ const lastDate = new Date(year, month + 1, 0).getDate();
34
+ for (let d = 1; d <= lastDate; d++) {
35
+ days.push(new Date(year, month, d));
36
+ }
37
+ while (days.length < 42) {
38
+ days.push(new Date(year, month + 1, days.length - startDayOfWeek - lastDate + 1));
39
+ }
40
+ return days;
41
+ }
42
+ var Calendar = react.forwardRef(
43
+ function Calendar2({
44
+ mode = "single",
45
+ value,
46
+ onChange,
47
+ minDate,
48
+ maxDate,
49
+ disabledDates = [],
50
+ className
51
+ }, ref) {
52
+ const today = react.useMemo(() => /* @__PURE__ */ new Date(), []);
53
+ const [viewMonth, setViewMonth] = react.useState(today.getMonth());
54
+ const [viewYear, setViewYear] = react.useState(today.getFullYear());
55
+ const [rangeHover, setRangeHover] = react.useState(null);
56
+ const days = react.useMemo(
57
+ () => getDaysInMonth(viewYear, viewMonth),
58
+ [viewYear, viewMonth]
59
+ );
60
+ const prevMonth = react.useCallback(() => {
61
+ setViewMonth((m) => {
62
+ if (m === 0) {
63
+ setViewYear((y) => y - 1);
64
+ return 11;
65
+ }
66
+ return m - 1;
67
+ });
68
+ }, []);
69
+ const nextMonth = react.useCallback(() => {
70
+ setViewMonth((m) => {
71
+ if (m === 11) {
72
+ setViewYear((y) => y + 1);
73
+ return 0;
74
+ }
75
+ return m + 1;
76
+ });
77
+ }, []);
78
+ const isDisabled = react.useCallback(
79
+ (date) => {
80
+ if (minDate && date < minDate) return true;
81
+ if (maxDate && date > maxDate) return true;
82
+ return disabledDates.some((d) => isSameDay(d, date));
83
+ },
84
+ [minDate, maxDate, disabledDates]
85
+ );
86
+ const isSelected = react.useCallback(
87
+ (date) => {
88
+ if (!value) return false;
89
+ if (mode === "single" && value instanceof Date) {
90
+ return isSameDay(date, value);
91
+ }
92
+ if (mode === "multiple" && Array.isArray(value)) {
93
+ return value.some((v) => isSameDay(date, v));
94
+ }
95
+ if (mode === "range" && value && typeof value === "object" && "start" in value) {
96
+ const range = value;
97
+ if (range.start && isSameDay(date, range.start)) return true;
98
+ if (range.end && isSameDay(date, range.end)) return true;
99
+ }
100
+ return false;
101
+ },
102
+ [value, mode]
103
+ );
104
+ const isInRange = react.useCallback(
105
+ (date) => {
106
+ if (mode !== "range" || !value || typeof value !== "object" || !("start" in value))
107
+ return false;
108
+ const range = value;
109
+ if (!range.start) return false;
110
+ const end = range.end ?? rangeHover;
111
+ if (!end) return false;
112
+ const [s, e] = range.start <= end ? [range.start, end] : [end, range.start];
113
+ return date > s && date < e;
114
+ },
115
+ [value, mode, rangeHover]
116
+ );
117
+ const handleSelect = react.useCallback(
118
+ (date) => {
119
+ if (isDisabled(date)) return;
120
+ if (mode === "single") {
121
+ onChange?.(date);
122
+ } else if (mode === "multiple") {
123
+ const arr = Array.isArray(value) ? value : [];
124
+ const exists = arr.findIndex((d) => isSameDay(d, date));
125
+ if (exists >= 0) {
126
+ onChange?.(arr.filter((_, i) => i !== exists));
127
+ } else {
128
+ onChange?.([...arr, date]);
129
+ }
130
+ } else if (mode === "range") {
131
+ const range = value && typeof value === "object" && "start" in value ? value : { start: null, end: null };
132
+ if (!range.start || range.end) {
133
+ onChange?.({ start: date, end: null });
134
+ } else {
135
+ const [s, e] = date >= range.start ? [range.start, date] : [date, range.start];
136
+ onChange?.({ start: s, end: e });
137
+ }
138
+ }
139
+ },
140
+ [mode, value, onChange, isDisabled]
141
+ );
142
+ const btnBase = "flex h-8 w-8 items-center justify-center rounded-lg text-sm transition-colors";
143
+ return /* @__PURE__ */ jsxRuntime.jsxs(
144
+ "div",
145
+ {
146
+ "data-react-fancy-calendar": "",
147
+ ref,
148
+ className: chunk3Z6ALUWP_cjs.cn(
149
+ "inline-block w-72 rounded-xl border border-zinc-200 bg-white p-4 dark:border-zinc-700 dark:bg-zinc-900",
150
+ className
151
+ ),
152
+ children: [
153
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
154
+ /* @__PURE__ */ jsxRuntime.jsx(
155
+ "button",
156
+ {
157
+ type: "button",
158
+ onClick: prevMonth,
159
+ className: "rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800",
160
+ "aria-label": "Previous month",
161
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { size: 16 })
162
+ }
163
+ ),
164
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-semibold", children: [
165
+ MONTHS[viewMonth],
166
+ " ",
167
+ viewYear
168
+ ] }),
169
+ /* @__PURE__ */ jsxRuntime.jsx(
170
+ "button",
171
+ {
172
+ type: "button",
173
+ onClick: nextMonth,
174
+ className: "rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800",
175
+ "aria-label": "Next month",
176
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { size: 16 })
177
+ }
178
+ )
179
+ ] }),
180
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 grid grid-cols-7 gap-1", children: DAYS.map((d) => /* @__PURE__ */ jsxRuntime.jsx(
181
+ "div",
182
+ {
183
+ className: "flex h-8 items-center justify-center text-xs font-medium text-zinc-400",
184
+ children: d
185
+ },
186
+ d
187
+ )) }),
188
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 gap-1", children: days.map((date, i) => {
189
+ const isCurrentMonth = date.getMonth() === viewMonth;
190
+ const selected = isSelected(date);
191
+ const inRange = isInRange(date);
192
+ const disabled = isDisabled(date);
193
+ const isToday = isSameDay(date, today);
194
+ return /* @__PURE__ */ jsxRuntime.jsx(
195
+ "button",
196
+ {
197
+ type: "button",
198
+ disabled,
199
+ onClick: () => handleSelect(date),
200
+ onMouseEnter: () => mode === "range" && setRangeHover(date),
201
+ className: chunk3Z6ALUWP_cjs.cn(
202
+ btnBase,
203
+ !isCurrentMonth && "text-zinc-300 dark:text-zinc-600",
204
+ isCurrentMonth && !selected && !inRange && "text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800",
205
+ inRange && "bg-blue-50 text-blue-700 dark:bg-blue-950 dark:text-blue-300",
206
+ selected && "bg-zinc-900 text-white dark:bg-white dark:text-zinc-900",
207
+ isToday && !selected && "font-bold",
208
+ disabled && "cursor-not-allowed opacity-30"
209
+ ),
210
+ children: date.getDate()
211
+ },
212
+ i
213
+ );
214
+ }) })
215
+ ]
216
+ }
217
+ );
218
+ }
219
+ );
220
+ Calendar.displayName = "Calendar";
221
+
222
+ exports.Calendar = Calendar;
223
+ //# sourceMappingURL=chunk-NNSNANNY.cjs.map
224
+ //# sourceMappingURL=chunk-NNSNANNY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Calendar/Calendar.tsx"],"names":["forwardRef","Calendar","useMemo","useState","useCallback","jsxs","cn","jsx","ChevronLeft","ChevronRight"],"mappings":"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","file":"chunk-NNSNANNY.cjs","sourcesContent":["import { forwardRef, useCallback, useMemo, useState } from \"react\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport type { CalendarProps, DateRange } from \"./Calendar.types\";\n\nconst DAYS = [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"];\nconst MONTHS = [\n \"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\n \"July\", \"August\", \"September\", \"October\", \"November\", \"December\",\n];\n\nfunction isSameDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n}\n\nfunction getDaysInMonth(year: number, month: number): Date[] {\n const days: Date[] = [];\n const firstDay = new Date(year, month, 1);\n const startDayOfWeek = firstDay.getDay();\n\n // Fill leading days from previous month\n for (let i = startDayOfWeek - 1; i >= 0; i--) {\n days.push(new Date(year, month, -i));\n }\n\n // Fill current month\n const lastDate = new Date(year, month + 1, 0).getDate();\n for (let d = 1; d <= lastDate; d++) {\n days.push(new Date(year, month, d));\n }\n\n // Fill trailing days to complete 6 rows\n while (days.length < 42) {\n days.push(new Date(year, month + 1, days.length - startDayOfWeek - lastDate + 1));\n }\n\n return days;\n}\n\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar(\n {\n mode = \"single\",\n value,\n onChange,\n minDate,\n maxDate,\n disabledDates = [],\n className,\n },\n ref,\n ) {\n const today = useMemo(() => new Date(), []);\n const [viewMonth, setViewMonth] = useState(today.getMonth());\n const [viewYear, setViewYear] = useState(today.getFullYear());\n const [rangeHover, setRangeHover] = useState<Date | null>(null);\n\n const days = useMemo(\n () => getDaysInMonth(viewYear, viewMonth),\n [viewYear, viewMonth],\n );\n\n const prevMonth = useCallback(() => {\n setViewMonth((m) => {\n if (m === 0) {\n setViewYear((y) => y - 1);\n return 11;\n }\n return m - 1;\n });\n }, []);\n\n const nextMonth = useCallback(() => {\n setViewMonth((m) => {\n if (m === 11) {\n setViewYear((y) => y + 1);\n return 0;\n }\n return m + 1;\n });\n }, []);\n\n const isDisabled = useCallback(\n (date: Date): boolean => {\n if (minDate && date < minDate) return true;\n if (maxDate && date > maxDate) return true;\n return disabledDates.some((d) => isSameDay(d, date));\n },\n [minDate, maxDate, disabledDates],\n );\n\n const isSelected = useCallback(\n (date: Date): boolean => {\n if (!value) return false;\n if (mode === \"single\" && value instanceof Date) {\n return isSameDay(date, value);\n }\n if (mode === \"multiple\" && Array.isArray(value)) {\n return value.some((v) => isSameDay(date, v));\n }\n if (mode === \"range\" && value && typeof value === \"object\" && \"start\" in value) {\n const range = value as DateRange;\n if (range.start && isSameDay(date, range.start)) return true;\n if (range.end && isSameDay(date, range.end)) return true;\n }\n return false;\n },\n [value, mode],\n );\n\n const isInRange = useCallback(\n (date: Date): boolean => {\n if (mode !== \"range\" || !value || typeof value !== \"object\" || !(\"start\" in value))\n return false;\n const range = value as DateRange;\n if (!range.start) return false;\n const end = range.end ?? rangeHover;\n if (!end) return false;\n const [s, e] = range.start <= end ? [range.start, end] : [end, range.start];\n return date > s && date < e;\n },\n [value, mode, rangeHover],\n );\n\n const handleSelect = useCallback(\n (date: Date) => {\n if (isDisabled(date)) return;\n\n if (mode === \"single\") {\n onChange?.(date);\n } else if (mode === \"multiple\") {\n const arr = (Array.isArray(value) ? value : []) as Date[];\n const exists = arr.findIndex((d) => isSameDay(d, date));\n if (exists >= 0) {\n onChange?.(arr.filter((_, i) => i !== exists));\n } else {\n onChange?.([...arr, date]);\n }\n } else if (mode === \"range\") {\n const range = (value && typeof value === \"object\" && \"start\" in value\n ? value\n : { start: null, end: null }) as DateRange;\n\n if (!range.start || range.end) {\n onChange?.({ start: date, end: null });\n } else {\n const [s, e] =\n date >= range.start ? [range.start, date] : [date, range.start];\n onChange?.({ start: s, end: e });\n }\n }\n },\n [mode, value, onChange, isDisabled],\n );\n\n const btnBase =\n \"flex h-8 w-8 items-center justify-center rounded-lg text-sm transition-colors\";\n\n return (\n <div\n data-react-fancy-calendar=\"\"\n ref={ref}\n className={cn(\n \"inline-block w-72 rounded-xl border border-zinc-200 bg-white p-4 dark:border-zinc-700 dark:bg-zinc-900\",\n className,\n )}\n >\n {/* Header */}\n <div className=\"mb-3 flex items-center justify-between\">\n <button\n type=\"button\"\n onClick={prevMonth}\n className=\"rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800\"\n aria-label=\"Previous month\"\n >\n <ChevronLeft size={16} />\n </button>\n <span className=\"text-sm font-semibold\">\n {MONTHS[viewMonth]} {viewYear}\n </span>\n <button\n type=\"button\"\n onClick={nextMonth}\n className=\"rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800\"\n aria-label=\"Next month\"\n >\n <ChevronRight size={16} />\n </button>\n </div>\n\n {/* Day headers */}\n <div className=\"mb-1 grid grid-cols-7 gap-1\">\n {DAYS.map((d) => (\n <div\n key={d}\n className=\"flex h-8 items-center justify-center text-xs font-medium text-zinc-400\"\n >\n {d}\n </div>\n ))}\n </div>\n\n {/* Day grid */}\n <div className=\"grid grid-cols-7 gap-1\">\n {days.map((date, i) => {\n const isCurrentMonth = date.getMonth() === viewMonth;\n const selected = isSelected(date);\n const inRange = isInRange(date);\n const disabled = isDisabled(date);\n const isToday = isSameDay(date, today);\n\n return (\n <button\n key={i}\n type=\"button\"\n disabled={disabled}\n onClick={() => handleSelect(date)}\n onMouseEnter={() =>\n mode === \"range\" && setRangeHover(date)\n }\n className={cn(\n btnBase,\n !isCurrentMonth && \"text-zinc-300 dark:text-zinc-600\",\n isCurrentMonth &&\n !selected &&\n !inRange &&\n \"text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800\",\n inRange &&\n \"bg-blue-50 text-blue-700 dark:bg-blue-950 dark:text-blue-300\",\n selected &&\n \"bg-zinc-900 text-white dark:bg-white dark:text-zinc-900\",\n isToday && !selected && \"font-bold\",\n disabled && \"cursor-not-allowed opacity-30\",\n )}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n );\n },\n);\n\nCalendar.displayName = \"Calendar\";\n"]}