@particle-academy/react-fancy 5.12.0 → 5.14.0

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 (959) 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-3F66SAE7.js +40 -0
  136. package/dist/chunk-3F66SAE7.js.map +1 -0
  137. package/dist/chunk-3GRC5J2L.cjs +54 -0
  138. package/dist/chunk-3GRC5J2L.cjs.map +1 -0
  139. package/dist/chunk-3SQ34IQC.cjs +124 -0
  140. package/dist/chunk-3SQ34IQC.cjs.map +1 -0
  141. package/dist/chunk-3WGRVDQR.cjs +39 -0
  142. package/dist/chunk-3WGRVDQR.cjs.map +1 -0
  143. package/dist/chunk-3Z6ALUWP.cjs +13 -0
  144. package/dist/chunk-3Z6ALUWP.cjs.map +1 -0
  145. package/dist/chunk-45BBNJQD.js +2019 -0
  146. package/dist/chunk-45BBNJQD.js.map +1 -0
  147. package/dist/chunk-47TFRODY.cjs +107 -0
  148. package/dist/chunk-47TFRODY.cjs.map +1 -0
  149. package/dist/chunk-4DQ6HX27.cjs +187 -0
  150. package/dist/chunk-4DQ6HX27.cjs.map +1 -0
  151. package/dist/chunk-4UA45GB4.js +129 -0
  152. package/dist/chunk-4UA45GB4.js.map +1 -0
  153. package/dist/chunk-57FQGQJK.cjs +26 -0
  154. package/dist/chunk-57FQGQJK.cjs.map +1 -0
  155. package/dist/chunk-5FV6GMFP.cjs +4 -0
  156. package/dist/chunk-5FV6GMFP.cjs.map +1 -0
  157. package/dist/chunk-5HOQ2PHR.cjs +287 -0
  158. package/dist/chunk-5HOQ2PHR.cjs.map +1 -0
  159. package/dist/chunk-5I4PR2KV.cjs +131 -0
  160. package/dist/chunk-5I4PR2KV.cjs.map +1 -0
  161. package/dist/chunk-5LHG7HEY.cjs +42 -0
  162. package/dist/chunk-5LHG7HEY.cjs.map +1 -0
  163. package/dist/chunk-5OC6DUYT.js +139 -0
  164. package/dist/chunk-5OC6DUYT.js.map +1 -0
  165. package/dist/chunk-5QL7XT3N.js +80 -0
  166. package/dist/chunk-5QL7XT3N.js.map +1 -0
  167. package/dist/chunk-5U2DZ7AV.js +49 -0
  168. package/dist/chunk-5U2DZ7AV.js.map +1 -0
  169. package/dist/chunk-5UOQVGZC.cjs +930 -0
  170. package/dist/chunk-5UOQVGZC.cjs.map +1 -0
  171. package/dist/chunk-6BW5BQMN.cjs +57 -0
  172. package/dist/chunk-6BW5BQMN.cjs.map +1 -0
  173. package/dist/chunk-6FBFE66M.cjs +292 -0
  174. package/dist/chunk-6FBFE66M.cjs.map +1 -0
  175. package/dist/chunk-6FQGMVF2.js +25 -0
  176. package/dist/chunk-6FQGMVF2.js.map +1 -0
  177. package/dist/chunk-6GC5DMOK.cjs +141 -0
  178. package/dist/chunk-6GC5DMOK.cjs.map +1 -0
  179. package/dist/chunk-6H6OYLMJ.js +105 -0
  180. package/dist/chunk-6H6OYLMJ.js.map +1 -0
  181. package/dist/chunk-6L6LI2RL.cjs +37 -0
  182. package/dist/chunk-6L6LI2RL.cjs.map +1 -0
  183. package/dist/chunk-6MDZQIMZ.cjs +18 -0
  184. package/dist/chunk-6MDZQIMZ.cjs.map +1 -0
  185. package/dist/chunk-6OSHAP6L.cjs +110 -0
  186. package/dist/chunk-6OSHAP6L.cjs.map +1 -0
  187. package/dist/chunk-7AFEKDUS.js +202 -0
  188. package/dist/chunk-7AFEKDUS.js.map +1 -0
  189. package/dist/chunk-7C7VF4WY.cjs +155 -0
  190. package/dist/chunk-7C7VF4WY.cjs.map +1 -0
  191. package/dist/chunk-7NLKXBZ2.cjs +88 -0
  192. package/dist/chunk-7NLKXBZ2.cjs.map +1 -0
  193. package/dist/chunk-7XDKIZQE.js +382 -0
  194. package/dist/chunk-7XDKIZQE.js.map +1 -0
  195. package/dist/chunk-A22T6DKO.cjs +283 -0
  196. package/dist/chunk-A22T6DKO.cjs.map +1 -0
  197. package/dist/chunk-A3CNYKT3.js +197 -0
  198. package/dist/chunk-A3CNYKT3.js.map +1 -0
  199. package/dist/chunk-AC7M7JDO.cjs +199 -0
  200. package/dist/chunk-AC7M7JDO.cjs.map +1 -0
  201. package/dist/chunk-AGDW5ENV.js +37 -0
  202. package/dist/chunk-AGDW5ENV.js.map +1 -0
  203. package/dist/chunk-AIA5UNQ5.cjs +4 -0
  204. package/dist/chunk-AIA5UNQ5.cjs.map +1 -0
  205. package/dist/chunk-AKIUDPJU.js +119 -0
  206. package/dist/chunk-AKIUDPJU.js.map +1 -0
  207. package/dist/chunk-ANEX75DF.cjs +39 -0
  208. package/dist/chunk-ANEX75DF.cjs.map +1 -0
  209. package/dist/chunk-AOOBRPTE.cjs +142 -0
  210. package/dist/chunk-AOOBRPTE.cjs.map +1 -0
  211. package/dist/chunk-ARSQY4P7.cjs +101 -0
  212. package/dist/chunk-ARSQY4P7.cjs.map +1 -0
  213. package/dist/chunk-ATFXU6R6.js +122 -0
  214. package/dist/chunk-ATFXU6R6.js.map +1 -0
  215. package/dist/chunk-AUTW5O4W.js +3 -0
  216. package/dist/chunk-AUTW5O4W.js.map +1 -0
  217. package/dist/chunk-AVR5P4GA.cjs +832 -0
  218. package/dist/chunk-AVR5P4GA.cjs.map +1 -0
  219. package/dist/chunk-B3HVWXIQ.cjs +112 -0
  220. package/dist/chunk-B3HVWXIQ.cjs.map +1 -0
  221. package/dist/chunk-BEGDL2CD.js +81 -0
  222. package/dist/chunk-BEGDL2CD.js.map +1 -0
  223. package/dist/chunk-BFKCVSNK.cjs +80 -0
  224. package/dist/chunk-BFKCVSNK.cjs.map +1 -0
  225. package/dist/chunk-BPBI3WWQ.cjs +364 -0
  226. package/dist/chunk-BPBI3WWQ.cjs.map +1 -0
  227. package/dist/chunk-BYIY6BH2.js +927 -0
  228. package/dist/chunk-BYIY6BH2.js.map +1 -0
  229. package/dist/chunk-C4Z4S3CX.js +164 -0
  230. package/dist/chunk-C4Z4S3CX.js.map +1 -0
  231. package/dist/chunk-C5AZNBVB.js +153 -0
  232. package/dist/chunk-C5AZNBVB.js.map +1 -0
  233. package/dist/chunk-CFBK5RIZ.js +35 -0
  234. package/dist/chunk-CFBK5RIZ.js.map +1 -0
  235. package/dist/chunk-CHADHN6M.js +37 -0
  236. package/dist/chunk-CHADHN6M.js.map +1 -0
  237. package/dist/chunk-CPY7NHXM.js +88 -0
  238. package/dist/chunk-CPY7NHXM.js.map +1 -0
  239. package/dist/chunk-CS4GQXYY.js +131 -0
  240. package/dist/chunk-CS4GQXYY.js.map +1 -0
  241. package/dist/chunk-CTMJYV3O.js +99 -0
  242. package/dist/chunk-CTMJYV3O.js.map +1 -0
  243. package/dist/chunk-CZZH45GQ.cjs +122 -0
  244. package/dist/chunk-CZZH45GQ.cjs.map +1 -0
  245. package/dist/chunk-D4WM23Y4.js +109 -0
  246. package/dist/chunk-D4WM23Y4.js.map +1 -0
  247. package/dist/chunk-D7NAXQ2N.js +86 -0
  248. package/dist/chunk-D7NAXQ2N.js.map +1 -0
  249. package/dist/chunk-DJ3YM72H.cjs +353 -0
  250. package/dist/chunk-DJ3YM72H.cjs.map +1 -0
  251. package/dist/chunk-DOSSIU6S.cjs +162 -0
  252. package/dist/chunk-DOSSIU6S.cjs.map +1 -0
  253. package/dist/chunk-DSUHZO6T.js +11 -0
  254. package/dist/chunk-DSUHZO6T.js.map +1 -0
  255. package/dist/chunk-DTPGJNOI.js +204 -0
  256. package/dist/chunk-DTPGJNOI.js.map +1 -0
  257. package/dist/chunk-DV4IMAQW.js +100 -0
  258. package/dist/chunk-DV4IMAQW.js.map +1 -0
  259. package/dist/chunk-DWRMC2FN.cjs +95 -0
  260. package/dist/chunk-DWRMC2FN.cjs.map +1 -0
  261. package/dist/chunk-DZD2RJVD.js +47 -0
  262. package/dist/chunk-DZD2RJVD.js.map +1 -0
  263. package/dist/chunk-E4LFD44D.js +69 -0
  264. package/dist/chunk-E4LFD44D.js.map +1 -0
  265. package/dist/chunk-E7PHL3TD.cjs +144 -0
  266. package/dist/chunk-E7PHL3TD.cjs.map +1 -0
  267. package/dist/chunk-ECZ66DKF.js +522 -0
  268. package/dist/chunk-ECZ66DKF.js.map +1 -0
  269. package/dist/chunk-EERAEPQO.cjs +177 -0
  270. package/dist/chunk-EERAEPQO.cjs.map +1 -0
  271. package/dist/chunk-EIBW5YLS.js +52 -0
  272. package/dist/chunk-EIBW5YLS.js.map +1 -0
  273. package/dist/chunk-ESKVRRVA.js +56 -0
  274. package/dist/chunk-ESKVRRVA.js.map +1 -0
  275. package/dist/chunk-EVXDG2XN.js +108 -0
  276. package/dist/chunk-EVXDG2XN.js.map +1 -0
  277. package/dist/chunk-F6NEPU67.cjs +218 -0
  278. package/dist/chunk-F6NEPU67.cjs.map +1 -0
  279. package/dist/chunk-F6SCZCJE.js +176 -0
  280. package/dist/chunk-F6SCZCJE.js.map +1 -0
  281. package/dist/chunk-FA3D4GFC.cjs +323 -0
  282. package/dist/chunk-FA3D4GFC.cjs.map +1 -0
  283. package/dist/chunk-FCAV5IFW.js +63 -0
  284. package/dist/chunk-FCAV5IFW.js.map +1 -0
  285. package/dist/chunk-FVV76TRF.js +101 -0
  286. package/dist/chunk-FVV76TRF.js.map +1 -0
  287. package/dist/chunk-G2W7B3OG.js +420 -0
  288. package/dist/chunk-G2W7B3OG.js.map +1 -0
  289. package/dist/chunk-G34OBTU3.cjs +27 -0
  290. package/dist/chunk-G34OBTU3.cjs.map +1 -0
  291. package/dist/chunk-GFYSELJF.js +35 -0
  292. package/dist/chunk-GFYSELJF.js.map +1 -0
  293. package/dist/chunk-GIDW3SUE.cjs +59 -0
  294. package/dist/chunk-GIDW3SUE.cjs.map +1 -0
  295. package/dist/chunk-GKGL7F36.js +290 -0
  296. package/dist/chunk-GKGL7F36.js.map +1 -0
  297. package/dist/chunk-GKPCXPCD.js +262 -0
  298. package/dist/chunk-GKPCXPCD.js.map +1 -0
  299. package/dist/chunk-GZIUE4DE.js +117 -0
  300. package/dist/chunk-GZIUE4DE.js.map +1 -0
  301. package/dist/chunk-HAOYXGGJ.js +104 -0
  302. package/dist/chunk-HAOYXGGJ.js.map +1 -0
  303. package/dist/chunk-HBFVOHQC.cjs +102 -0
  304. package/dist/chunk-HBFVOHQC.cjs.map +1 -0
  305. package/dist/chunk-HG6XUJOT.js +328 -0
  306. package/dist/chunk-HG6XUJOT.js.map +1 -0
  307. package/dist/chunk-I6L7OP7G.cjs +203 -0
  308. package/dist/chunk-I6L7OP7G.cjs.map +1 -0
  309. package/dist/chunk-IE4CM2SN.js +122 -0
  310. package/dist/chunk-IE4CM2SN.js.map +1 -0
  311. package/dist/chunk-IF25CE6S.cjs +202 -0
  312. package/dist/chunk-IF25CE6S.cjs.map +1 -0
  313. package/dist/chunk-IF3T3ZCB.cjs +273 -0
  314. package/dist/chunk-IF3T3ZCB.cjs.map +1 -0
  315. package/dist/chunk-IF5LOWUL.js +273 -0
  316. package/dist/chunk-IF5LOWUL.js.map +1 -0
  317. package/dist/chunk-IGU5YXRV.cjs +138 -0
  318. package/dist/chunk-IGU5YXRV.cjs.map +1 -0
  319. package/dist/chunk-IGYIMS6J.js +174 -0
  320. package/dist/chunk-IGYIMS6J.js.map +1 -0
  321. package/dist/chunk-IJ4I55QQ.cjs +38 -0
  322. package/dist/chunk-IJ4I55QQ.cjs.map +1 -0
  323. package/dist/chunk-IXHZVFHX.cjs +44 -0
  324. package/dist/chunk-IXHZVFHX.cjs.map +1 -0
  325. package/dist/chunk-J2DI6RMR.cjs +115 -0
  326. package/dist/chunk-J2DI6RMR.cjs.map +1 -0
  327. package/dist/chunk-J3XS4HHX.js +230 -0
  328. package/dist/chunk-J3XS4HHX.js.map +1 -0
  329. package/dist/chunk-JCOBDDHF.js +118 -0
  330. package/dist/chunk-JCOBDDHF.js.map +1 -0
  331. package/dist/chunk-JHEM6IGT.cjs +49 -0
  332. package/dist/chunk-JHEM6IGT.cjs.map +1 -0
  333. package/dist/chunk-JIYP73OJ.js +169 -0
  334. package/dist/chunk-JIYP73OJ.js.map +1 -0
  335. package/dist/chunk-JKO2Y5SH.js +60 -0
  336. package/dist/chunk-JKO2Y5SH.js.map +1 -0
  337. package/dist/chunk-JPTWZ3RF.cjs +280 -0
  338. package/dist/chunk-JPTWZ3RF.cjs.map +1 -0
  339. package/dist/chunk-JXE5XID6.js +19 -0
  340. package/dist/chunk-JXE5XID6.js.map +1 -0
  341. package/dist/chunk-JXIBUIEY.cjs +144 -0
  342. package/dist/chunk-JXIBUIEY.cjs.map +1 -0
  343. package/dist/chunk-JYKZKSZJ.js +122 -0
  344. package/dist/chunk-JYKZKSZJ.js.map +1 -0
  345. package/dist/chunk-K2DZEYBF.js +321 -0
  346. package/dist/chunk-K2DZEYBF.js.map +1 -0
  347. package/dist/chunk-K7JGOQJG.js +55 -0
  348. package/dist/chunk-K7JGOQJG.js.map +1 -0
  349. package/dist/chunk-KC6QBKKB.cjs +173 -0
  350. package/dist/chunk-KC6QBKKB.cjs.map +1 -0
  351. package/dist/chunk-KE7KXY5C.cjs +233 -0
  352. package/dist/chunk-KE7KXY5C.cjs.map +1 -0
  353. package/dist/chunk-KICZTIZL.cjs +133 -0
  354. package/dist/chunk-KICZTIZL.cjs.map +1 -0
  355. package/dist/chunk-KJ22KE56.cjs +19 -0
  356. package/dist/chunk-KJ22KE56.cjs.map +1 -0
  357. package/dist/chunk-KUKYJZIU.cjs +179 -0
  358. package/dist/chunk-KUKYJZIU.cjs.map +1 -0
  359. package/dist/chunk-L3V3BYVS.cjs +15 -0
  360. package/dist/chunk-L3V3BYVS.cjs.map +1 -0
  361. package/dist/chunk-LNWO23PU.cjs +131 -0
  362. package/dist/chunk-LNWO23PU.cjs.map +1 -0
  363. package/dist/chunk-LPQVXTKV.js +36 -0
  364. package/dist/chunk-LPQVXTKV.js.map +1 -0
  365. package/dist/chunk-LZL2KD4P.cjs +207 -0
  366. package/dist/chunk-LZL2KD4P.cjs.map +1 -0
  367. package/dist/chunk-M24NCWBU.js +239 -0
  368. package/dist/chunk-M24NCWBU.js.map +1 -0
  369. package/dist/chunk-M7EEQPE7.js +137 -0
  370. package/dist/chunk-M7EEQPE7.js.map +1 -0
  371. package/dist/chunk-MDUSUJWY.cjs +31 -0
  372. package/dist/chunk-MDUSUJWY.cjs.map +1 -0
  373. package/dist/chunk-MGZE2QEM.cjs +51 -0
  374. package/dist/chunk-MGZE2QEM.cjs.map +1 -0
  375. package/dist/chunk-MILTPAF6.js +255 -0
  376. package/dist/chunk-MILTPAF6.js.map +1 -0
  377. package/dist/chunk-MQ6VGG62.js +113 -0
  378. package/dist/chunk-MQ6VGG62.js.map +1 -0
  379. package/dist/chunk-MYF2PDTU.js +137 -0
  380. package/dist/chunk-MYF2PDTU.js.map +1 -0
  381. package/dist/chunk-MZIU27UY.js +133 -0
  382. package/dist/chunk-MZIU27UY.js.map +1 -0
  383. package/dist/chunk-N7WQ53US.js +211 -0
  384. package/dist/chunk-N7WQ53US.js.map +1 -0
  385. package/dist/chunk-NBZC6LOB.cjs +43 -0
  386. package/dist/chunk-NBZC6LOB.cjs.map +1 -0
  387. package/dist/chunk-NH7NRRII.js +167 -0
  388. package/dist/chunk-NH7NRRII.js.map +1 -0
  389. package/dist/chunk-NLJGNPNN.js +284 -0
  390. package/dist/chunk-NLJGNPNN.js.map +1 -0
  391. package/dist/chunk-NNSNANNY.cjs +224 -0
  392. package/dist/chunk-NNSNANNY.cjs.map +1 -0
  393. package/dist/chunk-NPKE2IX6.js +154 -0
  394. package/dist/chunk-NPKE2IX6.js.map +1 -0
  395. package/dist/chunk-NRXK42LO.js +12 -0
  396. package/dist/chunk-NRXK42LO.js.map +1 -0
  397. package/dist/chunk-O432BDEO.js +160 -0
  398. package/dist/chunk-O432BDEO.js.map +1 -0
  399. package/dist/chunk-O4MKOSU2.js +29 -0
  400. package/dist/chunk-O4MKOSU2.js.map +1 -0
  401. package/dist/chunk-O5IO7TCO.cjs +4 -0
  402. package/dist/chunk-O5IO7TCO.cjs.map +1 -0
  403. package/dist/chunk-OL53XYHF.js +17 -0
  404. package/dist/chunk-OL53XYHF.js.map +1 -0
  405. package/dist/chunk-ORCXPDDG.js +3 -0
  406. package/dist/chunk-ORCXPDDG.js.map +1 -0
  407. package/dist/chunk-ORFHF6PT.cjs +172 -0
  408. package/dist/chunk-ORFHF6PT.cjs.map +1 -0
  409. package/dist/chunk-ORPYY2MO.cjs +124 -0
  410. package/dist/chunk-ORPYY2MO.cjs.map +1 -0
  411. package/dist/chunk-OUOEQZHY.cjs +27 -0
  412. package/dist/chunk-OUOEQZHY.cjs.map +1 -0
  413. package/dist/chunk-PBXYU4EV.cjs +121 -0
  414. package/dist/chunk-PBXYU4EV.cjs.map +1 -0
  415. package/dist/chunk-PH3WGR5P.cjs +82 -0
  416. package/dist/chunk-PH3WGR5P.cjs.map +1 -0
  417. package/dist/chunk-POZZY3D5.cjs +135 -0
  418. package/dist/chunk-POZZY3D5.cjs.map +1 -0
  419. package/dist/chunk-PPLR2DNC.cjs +41 -0
  420. package/dist/chunk-PPLR2DNC.cjs.map +1 -0
  421. package/dist/chunk-PQWQ5K6J.js +15 -0
  422. package/dist/chunk-PQWQ5K6J.js.map +1 -0
  423. package/dist/chunk-PRDWJ4AR.js +215 -0
  424. package/dist/chunk-PRDWJ4AR.js.map +1 -0
  425. package/dist/chunk-PRJSEZ5F.cjs +285 -0
  426. package/dist/chunk-PRJSEZ5F.cjs.map +1 -0
  427. package/dist/chunk-PVWPZYTR.js +830 -0
  428. package/dist/chunk-PVWPZYTR.js.map +1 -0
  429. package/dist/chunk-PYRMH34E.js +49 -0
  430. package/dist/chunk-PYRMH34E.js.map +1 -0
  431. package/dist/chunk-PZIAL4OP.cjs +524 -0
  432. package/dist/chunk-PZIAL4OP.cjs.map +1 -0
  433. package/dist/chunk-QFFC2DKK.js +56 -0
  434. package/dist/chunk-QFFC2DKK.js.map +1 -0
  435. package/dist/chunk-R55HE5C5.js +81 -0
  436. package/dist/chunk-R55HE5C5.js.map +1 -0
  437. package/dist/chunk-RA3P63XW.cjs +65 -0
  438. package/dist/chunk-RA3P63XW.cjs.map +1 -0
  439. package/dist/chunk-RES2GOQQ.js +139 -0
  440. package/dist/chunk-RES2GOQQ.js.map +1 -0
  441. package/dist/chunk-RGANGU7X.js +24 -0
  442. package/dist/chunk-RGANGU7X.js.map +1 -0
  443. package/dist/chunk-RID7CYGD.js +344 -0
  444. package/dist/chunk-RID7CYGD.js.map +1 -0
  445. package/dist/chunk-RM4QWJS3.js +200 -0
  446. package/dist/chunk-RM4QWJS3.js.map +1 -0
  447. package/dist/chunk-RNHIDZLE.cjs +103 -0
  448. package/dist/chunk-RNHIDZLE.cjs.map +1 -0
  449. package/dist/chunk-RNPFSVFN.js +24 -0
  450. package/dist/chunk-RNPFSVFN.js.map +1 -0
  451. package/dist/chunk-RR7BWUVP.cjs +58 -0
  452. package/dist/chunk-RR7BWUVP.cjs.map +1 -0
  453. package/dist/chunk-RXDRYWVD.cjs +21 -0
  454. package/dist/chunk-RXDRYWVD.cjs.map +1 -0
  455. package/dist/chunk-S3TRSECD.cjs +4 -0
  456. package/dist/chunk-S3TRSECD.cjs.map +1 -0
  457. package/dist/chunk-SCPHSBBU.cjs +83 -0
  458. package/dist/chunk-SCPHSBBU.cjs.map +1 -0
  459. package/dist/chunk-SKI33QNW.js +133 -0
  460. package/dist/chunk-SKI33QNW.js.map +1 -0
  461. package/dist/chunk-T6IXZZBQ.cjs +83 -0
  462. package/dist/chunk-T6IXZZBQ.cjs.map +1 -0
  463. package/dist/chunk-T6YELZPJ.cjs +90 -0
  464. package/dist/chunk-T6YELZPJ.cjs.map +1 -0
  465. package/dist/chunk-TECFGOV2.js +222 -0
  466. package/dist/chunk-TECFGOV2.js.map +1 -0
  467. package/dist/chunk-TJ66S5K6.js +3 -0
  468. package/dist/chunk-TJ66S5K6.js.map +1 -0
  469. package/dist/chunk-TVRCOKJQ.cjs +106 -0
  470. package/dist/chunk-TVRCOKJQ.cjs.map +1 -0
  471. package/dist/chunk-TXTRTTG7.cjs +51 -0
  472. package/dist/chunk-TXTRTTG7.cjs.map +1 -0
  473. package/dist/chunk-TZKZ2LUF.cjs +140 -0
  474. package/dist/chunk-TZKZ2LUF.cjs.map +1 -0
  475. package/dist/chunk-UCYAHLGM.js +142 -0
  476. package/dist/chunk-UCYAHLGM.js.map +1 -0
  477. package/dist/chunk-UH2YXQ2B.cjs +166 -0
  478. package/dist/chunk-UH2YXQ2B.cjs.map +1 -0
  479. package/dist/chunk-UWVVEB2N.js +55 -0
  480. package/dist/chunk-UWVVEB2N.js.map +1 -0
  481. package/dist/chunk-VBZZ4CMM.cjs +71 -0
  482. package/dist/chunk-VBZZ4CMM.cjs.map +1 -0
  483. package/dist/chunk-VE3EM4K2.cjs +57 -0
  484. package/dist/chunk-VE3EM4K2.cjs.map +1 -0
  485. package/dist/chunk-VNDOT3NK.cjs +426 -0
  486. package/dist/chunk-VNDOT3NK.cjs.map +1 -0
  487. package/dist/chunk-VXHFR5MV.js +3 -0
  488. package/dist/chunk-VXHFR5MV.js.map +1 -0
  489. package/dist/chunk-W2Q4OWHX.cjs +204 -0
  490. package/dist/chunk-W2Q4OWHX.cjs.map +1 -0
  491. package/dist/chunk-WEGL4S52.js +450 -0
  492. package/dist/chunk-WEGL4S52.js.map +1 -0
  493. package/dist/chunk-WHEXTDPV.js +41 -0
  494. package/dist/chunk-WHEXTDPV.js.map +1 -0
  495. package/dist/chunk-WT72KW5M.cjs +347 -0
  496. package/dist/chunk-WT72KW5M.cjs.map +1 -0
  497. package/dist/chunk-WVO2EKE6.cjs +101 -0
  498. package/dist/chunk-WVO2EKE6.cjs.map +1 -0
  499. package/dist/chunk-WXADO5TS.cjs +124 -0
  500. package/dist/chunk-WXADO5TS.cjs.map +1 -0
  501. package/dist/chunk-X36ZGYTF.js +281 -0
  502. package/dist/chunk-X36ZGYTF.js.map +1 -0
  503. package/dist/chunk-XBBEQLMY.cjs +214 -0
  504. package/dist/chunk-XBBEQLMY.cjs.map +1 -0
  505. package/dist/chunk-XCZZVRBY.cjs +2030 -0
  506. package/dist/chunk-XCZZVRBY.cjs.map +1 -0
  507. package/dist/chunk-XJXQG34J.js +77 -0
  508. package/dist/chunk-XJXQG34J.js.map +1 -0
  509. package/dist/chunk-XMBOZ73D.js +92 -0
  510. package/dist/chunk-XMBOZ73D.js.map +1 -0
  511. package/dist/chunk-XZYKPGSK.cjs +453 -0
  512. package/dist/chunk-XZYKPGSK.cjs.map +1 -0
  513. package/dist/chunk-YCZN4FWI.js +42 -0
  514. package/dist/chunk-YCZN4FWI.js.map +1 -0
  515. package/dist/chunk-YHXE274U.js +129 -0
  516. package/dist/chunk-YHXE274U.js.map +1 -0
  517. package/dist/chunk-YLGTDBB2.cjs +43 -0
  518. package/dist/chunk-YLGTDBB2.cjs.map +1 -0
  519. package/dist/chunk-YT42J4VQ.js +361 -0
  520. package/dist/chunk-YT42J4VQ.js.map +1 -0
  521. package/dist/chunk-YT6N44Z3.js +99 -0
  522. package/dist/chunk-YT6N44Z3.js.map +1 -0
  523. package/dist/chunk-YXC7QHNT.cjs +385 -0
  524. package/dist/chunk-YXC7QHNT.cjs.map +1 -0
  525. package/dist/chunk-ZFVSEO5Z.cjs +136 -0
  526. package/dist/chunk-ZFVSEO5Z.cjs.map +1 -0
  527. package/dist/chunk-ZLCVKYHY.js +344 -0
  528. package/dist/chunk-ZLCVKYHY.js.map +1 -0
  529. package/dist/chunk-ZNTEM7F2.js +184 -0
  530. package/dist/chunk-ZNTEM7F2.js.map +1 -0
  531. package/dist/chunk-ZT36VWIA.js +136 -0
  532. package/dist/chunk-ZT36VWIA.js.map +1 -0
  533. package/dist/chunk-ZWOEKDNI.js +281 -0
  534. package/dist/chunk-ZWOEKDNI.js.map +1 -0
  535. package/dist/code-view.cjs +13 -0
  536. package/dist/code-view.cjs.map +1 -0
  537. package/dist/code-view.d.cts +44 -0
  538. package/dist/code-view.d.ts +44 -0
  539. package/dist/code-view.js +4 -0
  540. package/dist/code-view.js.map +1 -0
  541. package/dist/color-picker.cjs +16 -0
  542. package/dist/color-picker.cjs.map +1 -0
  543. package/dist/color-picker.d.cts +20 -0
  544. package/dist/color-picker.d.ts +20 -0
  545. package/dist/color-picker.js +7 -0
  546. package/dist/color-picker.js.map +1 -0
  547. package/dist/command.cjs +21 -0
  548. package/dist/command.cjs.map +1 -0
  549. package/dist/command.d.cts +78 -0
  550. package/dist/command.d.ts +78 -0
  551. package/dist/command.js +8 -0
  552. package/dist/command.js.map +1 -0
  553. package/dist/composer.cjs +14 -0
  554. package/dist/composer.cjs.map +1 -0
  555. package/dist/composer.d.cts +17 -0
  556. package/dist/composer.d.ts +17 -0
  557. package/dist/composer.js +5 -0
  558. package/dist/composer.js.map +1 -0
  559. package/dist/content-renderer.cjs +23 -0
  560. package/dist/content-renderer.cjs.map +1 -0
  561. package/dist/content-renderer.d.cts +27 -0
  562. package/dist/content-renderer.d.ts +27 -0
  563. package/dist/content-renderer.js +6 -0
  564. package/dist/content-renderer.js.map +1 -0
  565. package/dist/context-menu.cjs +21 -0
  566. package/dist/context-menu.cjs.map +1 -0
  567. package/dist/context-menu.d.cts +91 -0
  568. package/dist/context-menu.d.ts +91 -0
  569. package/dist/context-menu.js +8 -0
  570. package/dist/context-menu.js.map +1 -0
  571. package/dist/date-picker.cjs +19 -0
  572. package/dist/date-picker.cjs.map +1 -0
  573. package/dist/date-picker.d.cts +26 -0
  574. package/dist/date-picker.d.ts +26 -0
  575. package/dist/date-picker.js +10 -0
  576. package/dist/date-picker.js.map +1 -0
  577. package/dist/drawer.cjs +21 -0
  578. package/dist/drawer.cjs.map +1 -0
  579. package/dist/drawer.d.cts +116 -0
  580. package/dist/drawer.d.ts +116 -0
  581. package/dist/drawer.js +8 -0
  582. package/dist/drawer.js.map +1 -0
  583. package/dist/dropdown.cjs +22 -0
  584. package/dist/dropdown.cjs.map +1 -0
  585. package/dist/dropdown.d.cts +67 -0
  586. package/dist/dropdown.d.ts +67 -0
  587. package/dist/dropdown.js +9 -0
  588. package/dist/dropdown.js.map +1 -0
  589. package/dist/editor.cjs +29 -0
  590. package/dist/editor.cjs.map +1 -0
  591. package/dist/editor.d.cts +153 -0
  592. package/dist/editor.d.ts +153 -0
  593. package/dist/editor.js +16 -0
  594. package/dist/editor.js.map +1 -0
  595. package/dist/emoji-select.cjs +15 -0
  596. package/dist/emoji-select.cjs.map +1 -0
  597. package/dist/emoji-select.d.cts +13 -0
  598. package/dist/emoji-select.d.ts +13 -0
  599. package/dist/emoji-select.js +6 -0
  600. package/dist/emoji-select.js.map +1 -0
  601. package/dist/emoji.cjs +14 -0
  602. package/dist/emoji.cjs.map +1 -0
  603. package/dist/emoji.d.cts +2 -0
  604. package/dist/emoji.d.ts +2 -0
  605. package/dist/emoji.js +5 -0
  606. package/dist/emoji.js.map +1 -0
  607. package/dist/extensions-6PVd3-vB.d.cts +38 -0
  608. package/dist/extensions-6PVd3-vB.d.ts +38 -0
  609. package/dist/eyebrow.cjs +13 -0
  610. package/dist/eyebrow.cjs.map +1 -0
  611. package/dist/eyebrow.d.cts +33 -0
  612. package/dist/eyebrow.d.ts +33 -0
  613. package/dist/eyebrow.js +4 -0
  614. package/dist/eyebrow.js.map +1 -0
  615. package/dist/faux-client.cjs +13 -0
  616. package/dist/faux-client.cjs.map +1 -0
  617. package/dist/faux-client.d.cts +39 -0
  618. package/dist/faux-client.d.ts +39 -0
  619. package/dist/faux-client.js +4 -0
  620. package/dist/faux-client.js.map +1 -0
  621. package/dist/field.cjs +14 -0
  622. package/dist/field.cjs.map +1 -0
  623. package/dist/field.d.cts +18 -0
  624. package/dist/field.d.ts +18 -0
  625. package/dist/field.js +5 -0
  626. package/dist/field.js.map +1 -0
  627. package/dist/file-browser.cjs +18 -0
  628. package/dist/file-browser.cjs.map +1 -0
  629. package/dist/file-browser.d.cts +269 -0
  630. package/dist/file-browser.d.ts +269 -0
  631. package/dist/file-browser.js +5 -0
  632. package/dist/file-browser.js.map +1 -0
  633. package/dist/file-upload.cjs +17 -0
  634. package/dist/file-upload.cjs.map +1 -0
  635. package/dist/file-upload.d.cts +48 -0
  636. package/dist/file-upload.d.ts +48 -0
  637. package/dist/file-upload.js +4 -0
  638. package/dist/file-upload.js.map +1 -0
  639. package/dist/heading.cjs +13 -0
  640. package/dist/heading.cjs.map +1 -0
  641. package/dist/heading.d.cts +25 -0
  642. package/dist/heading.d.ts +25 -0
  643. package/dist/heading.js +4 -0
  644. package/dist/heading.js.map +1 -0
  645. package/dist/icon.cjs +34 -0
  646. package/dist/icon.cjs.map +1 -0
  647. package/dist/icon.d.cts +51 -0
  648. package/dist/icon.d.ts +51 -0
  649. package/dist/icon.js +5 -0
  650. package/dist/icon.js.map +1 -0
  651. package/dist/image-viewer.cjs +14 -0
  652. package/dist/image-viewer.cjs.map +1 -0
  653. package/dist/image-viewer.d.cts +19 -0
  654. package/dist/image-viewer.d.ts +19 -0
  655. package/dist/image-viewer.js +5 -0
  656. package/dist/image-viewer.js.map +1 -0
  657. package/dist/index-B71wa9AW.d.cts +79 -0
  658. package/dist/index-BktWpyRH.d.cts +53 -0
  659. package/dist/index-BktWpyRH.d.ts +53 -0
  660. package/dist/index-bIntFOl5.d.ts +79 -0
  661. package/dist/index-list.cjs +13 -0
  662. package/dist/index-list.cjs.map +1 -0
  663. package/dist/index-list.d.cts +49 -0
  664. package/dist/index-list.d.ts +49 -0
  665. package/dist/index-list.js +4 -0
  666. package/dist/index-list.js.map +1 -0
  667. package/dist/index.cjs +671 -16826
  668. package/dist/index.cjs.map +1 -1
  669. package/dist/index.d.cts +94 -4078
  670. package/dist/index.d.ts +94 -4078
  671. package/dist/index.js +104 -16708
  672. package/dist/index.js.map +1 -1
  673. package/dist/input-tag.cjs +28 -0
  674. package/dist/input-tag.cjs.map +1 -0
  675. package/dist/input-tag.d.cts +134 -0
  676. package/dist/input-tag.d.ts +134 -0
  677. package/dist/input-tag.js +3 -0
  678. package/dist/input-tag.js.map +1 -0
  679. package/dist/input.cjs +20 -0
  680. package/dist/input.cjs.map +1 -0
  681. package/dist/input.d.cts +32 -0
  682. package/dist/input.d.ts +32 -0
  683. package/dist/input.js +11 -0
  684. package/dist/input.js.map +1 -0
  685. package/dist/inputs.cjs +100 -0
  686. package/dist/inputs.cjs.map +1 -0
  687. package/dist/inputs.d.cts +16 -0
  688. package/dist/inputs.d.ts +16 -0
  689. package/dist/inputs.js +27 -0
  690. package/dist/inputs.js.map +1 -0
  691. package/dist/inputs.types-CkWdvN-t.d.cts +44 -0
  692. package/dist/inputs.types-DERzxpe1.d.ts +44 -0
  693. package/dist/kanban.cjs +17 -0
  694. package/dist/kanban.cjs.map +1 -0
  695. package/dist/kanban.d.cts +136 -0
  696. package/dist/kanban.d.ts +136 -0
  697. package/dist/kanban.js +4 -0
  698. package/dist/kanban.js.map +1 -0
  699. package/dist/kbd.cjs +13 -0
  700. package/dist/kbd.cjs.map +1 -0
  701. package/dist/kbd.d.cts +30 -0
  702. package/dist/kbd.d.ts +30 -0
  703. package/dist/kbd.js +4 -0
  704. package/dist/kbd.js.map +1 -0
  705. package/dist/magic-wand.cjs +25 -0
  706. package/dist/magic-wand.cjs.map +1 -0
  707. package/dist/magic-wand.d.cts +62 -0
  708. package/dist/magic-wand.d.ts +62 -0
  709. package/dist/magic-wand.js +16 -0
  710. package/dist/magic-wand.js.map +1 -0
  711. package/dist/marquee.cjs +13 -0
  712. package/dist/marquee.cjs.map +1 -0
  713. package/dist/marquee.d.cts +48 -0
  714. package/dist/marquee.d.ts +48 -0
  715. package/dist/marquee.js +4 -0
  716. package/dist/marquee.js.map +1 -0
  717. package/dist/media-viewer.cjs +18 -0
  718. package/dist/media-viewer.cjs.map +1 -0
  719. package/dist/media-viewer.d.cts +6 -0
  720. package/dist/media-viewer.d.ts +6 -0
  721. package/dist/media-viewer.js +9 -0
  722. package/dist/media-viewer.js.map +1 -0
  723. package/dist/menu.cjs +17 -0
  724. package/dist/menu.cjs.map +1 -0
  725. package/dist/menu.d.cts +60 -0
  726. package/dist/menu.d.ts +60 -0
  727. package/dist/menu.js +4 -0
  728. package/dist/menu.js.map +1 -0
  729. package/dist/mobile-menu.cjs +26 -0
  730. package/dist/mobile-menu.cjs.map +1 -0
  731. package/dist/mobile-menu.d.cts +60 -0
  732. package/dist/mobile-menu.d.ts +60 -0
  733. package/dist/mobile-menu.js +13 -0
  734. package/dist/mobile-menu.js.map +1 -0
  735. package/dist/modal.cjs +21 -0
  736. package/dist/modal.cjs.map +1 -0
  737. package/dist/modal.d.cts +52 -0
  738. package/dist/modal.d.ts +52 -0
  739. package/dist/modal.js +8 -0
  740. package/dist/modal.js.map +1 -0
  741. package/dist/mode.cjs +37 -0
  742. package/dist/mode.cjs.map +1 -0
  743. package/dist/mode.d.cts +28 -0
  744. package/dist/mode.d.ts +28 -0
  745. package/dist/mode.js +8 -0
  746. package/dist/mode.js.map +1 -0
  747. package/dist/mood-meter.cjs +12 -0
  748. package/dist/mood-meter.cjs.map +1 -0
  749. package/dist/mood-meter.d.cts +67 -0
  750. package/dist/mood-meter.d.ts +67 -0
  751. package/dist/mood-meter.js +3 -0
  752. package/dist/mood-meter.js.map +1 -0
  753. package/dist/multi-switch.cjs +19 -0
  754. package/dist/multi-switch.cjs.map +1 -0
  755. package/dist/multi-switch.d.cts +18 -0
  756. package/dist/multi-switch.d.ts +18 -0
  757. package/dist/multi-switch.js +10 -0
  758. package/dist/multi-switch.js.map +1 -0
  759. package/dist/navbar.cjs +17 -0
  760. package/dist/navbar.cjs.map +1 -0
  761. package/dist/navbar.d.cts +60 -0
  762. package/dist/navbar.d.ts +60 -0
  763. package/dist/navbar.js +4 -0
  764. package/dist/navbar.js.map +1 -0
  765. package/dist/otp-input.cjs +16 -0
  766. package/dist/otp-input.cjs.map +1 -0
  767. package/dist/otp-input.d.cts +18 -0
  768. package/dist/otp-input.d.ts +18 -0
  769. package/dist/otp-input.js +7 -0
  770. package/dist/otp-input.js.map +1 -0
  771. package/dist/pagination.cjs +13 -0
  772. package/dist/pagination.cjs.map +1 -0
  773. package/dist/pagination.d.cts +16 -0
  774. package/dist/pagination.d.ts +16 -0
  775. package/dist/pagination.js +4 -0
  776. package/dist/pagination.js.map +1 -0
  777. package/dist/pdf-viewer.cjs +13 -0
  778. package/dist/pdf-viewer.cjs.map +1 -0
  779. package/dist/pdf-viewer.d.cts +16 -0
  780. package/dist/pdf-viewer.d.ts +16 -0
  781. package/dist/pdf-viewer.js +4 -0
  782. package/dist/pdf-viewer.js.map +1 -0
  783. package/dist/pillbox.cjs +14 -0
  784. package/dist/pillbox.cjs.map +1 -0
  785. package/dist/pillbox.d.cts +15 -0
  786. package/dist/pillbox.d.ts +15 -0
  787. package/dist/pillbox.js +5 -0
  788. package/dist/pillbox.js.map +1 -0
  789. package/dist/popover.cjs +21 -0
  790. package/dist/popover.cjs.map +1 -0
  791. package/dist/popover.d.cts +71 -0
  792. package/dist/popover.d.ts +71 -0
  793. package/dist/popover.js +8 -0
  794. package/dist/popover.js.map +1 -0
  795. package/dist/portal.cjs +12 -0
  796. package/dist/portal.cjs.map +1 -0
  797. package/dist/portal.d.cts +10 -0
  798. package/dist/portal.d.ts +10 -0
  799. package/dist/portal.js +3 -0
  800. package/dist/portal.js.map +1 -0
  801. package/dist/profile.cjs +14 -0
  802. package/dist/profile.cjs.map +1 -0
  803. package/dist/profile.d.cts +16 -0
  804. package/dist/profile.d.ts +16 -0
  805. package/dist/profile.js +5 -0
  806. package/dist/profile.js.map +1 -0
  807. package/dist/progress.cjs +13 -0
  808. package/dist/progress.cjs.map +1 -0
  809. package/dist/progress.d.cts +25 -0
  810. package/dist/progress.d.ts +25 -0
  811. package/dist/progress.js +4 -0
  812. package/dist/progress.js.map +1 -0
  813. package/dist/prompt-input.cjs +20 -0
  814. package/dist/prompt-input.cjs.map +1 -0
  815. package/dist/prompt-input.d.cts +76 -0
  816. package/dist/prompt-input.d.ts +76 -0
  817. package/dist/prompt-input.js +11 -0
  818. package/dist/prompt-input.js.map +1 -0
  819. package/dist/pull-quote.cjs +13 -0
  820. package/dist/pull-quote.cjs.map +1 -0
  821. package/dist/pull-quote.d.cts +33 -0
  822. package/dist/pull-quote.d.ts +33 -0
  823. package/dist/pull-quote.js +4 -0
  824. package/dist/pull-quote.js.map +1 -0
  825. package/dist/radio-group.cjs +19 -0
  826. package/dist/radio-group.cjs.map +1 -0
  827. package/dist/radio-group.d.cts +18 -0
  828. package/dist/radio-group.d.ts +18 -0
  829. package/dist/radio-group.js +10 -0
  830. package/dist/radio-group.js.map +1 -0
  831. package/dist/reason-tag.cjs +22 -0
  832. package/dist/reason-tag.cjs.map +1 -0
  833. package/dist/reason-tag.d.cts +57 -0
  834. package/dist/reason-tag.d.ts +57 -0
  835. package/dist/reason-tag.js +13 -0
  836. package/dist/reason-tag.js.map +1 -0
  837. package/dist/select.cjs +23 -0
  838. package/dist/select.cjs.map +1 -0
  839. package/dist/select.d.cts +41 -0
  840. package/dist/select.d.ts +41 -0
  841. package/dist/select.js +14 -0
  842. package/dist/select.js.map +1 -0
  843. package/dist/separator.cjs +13 -0
  844. package/dist/separator.cjs.map +1 -0
  845. package/dist/separator.d.cts +14 -0
  846. package/dist/separator.d.ts +14 -0
  847. package/dist/separator.js +4 -0
  848. package/dist/separator.js.map +1 -0
  849. package/dist/sidebar.cjs +25 -0
  850. package/dist/sidebar.cjs.map +1 -0
  851. package/dist/sidebar.d.cts +80 -0
  852. package/dist/sidebar.d.ts +80 -0
  853. package/dist/sidebar.js +12 -0
  854. package/dist/sidebar.js.map +1 -0
  855. package/dist/skeleton.cjs +13 -0
  856. package/dist/skeleton.cjs.map +1 -0
  857. package/dist/skeleton.d.cts +16 -0
  858. package/dist/skeleton.d.ts +16 -0
  859. package/dist/skeleton.js +4 -0
  860. package/dist/skeleton.js.map +1 -0
  861. package/dist/slider.cjs +19 -0
  862. package/dist/slider.cjs.map +1 -0
  863. package/dist/slider.d.cts +34 -0
  864. package/dist/slider.d.ts +34 -0
  865. package/dist/slider.js +10 -0
  866. package/dist/slider.js.map +1 -0
  867. package/dist/stat-list.cjs +13 -0
  868. package/dist/stat-list.cjs.map +1 -0
  869. package/dist/stat-list.d.cts +43 -0
  870. package/dist/stat-list.d.ts +43 -0
  871. package/dist/stat-list.js +4 -0
  872. package/dist/stat-list.js.map +1 -0
  873. package/dist/stat.cjs +17 -0
  874. package/dist/stat.cjs.map +1 -0
  875. package/dist/stat.d.cts +29 -0
  876. package/dist/stat.d.ts +29 -0
  877. package/dist/stat.js +4 -0
  878. package/dist/stat.js.map +1 -0
  879. package/dist/sticky-note.cjs +13 -0
  880. package/dist/sticky-note.cjs.map +1 -0
  881. package/dist/sticky-note.d.cts +53 -0
  882. package/dist/sticky-note.d.ts +53 -0
  883. package/dist/sticky-note.js +4 -0
  884. package/dist/sticky-note.js.map +1 -0
  885. package/dist/switch.cjs +17 -0
  886. package/dist/switch.cjs.map +1 -0
  887. package/dist/switch.d.cts +16 -0
  888. package/dist/switch.d.ts +16 -0
  889. package/dist/switch.js +8 -0
  890. package/dist/switch.js.map +1 -0
  891. package/dist/table.cjs +50 -0
  892. package/dist/table.cjs.map +1 -0
  893. package/dist/table.d.cts +89 -0
  894. package/dist/table.d.ts +89 -0
  895. package/dist/table.js +5 -0
  896. package/dist/table.js.map +1 -0
  897. package/dist/tabs.cjs +18 -0
  898. package/dist/tabs.cjs.map +1 -0
  899. package/dist/tabs.d.cts +68 -0
  900. package/dist/tabs.d.ts +68 -0
  901. package/dist/tabs.js +5 -0
  902. package/dist/tabs.js.map +1 -0
  903. package/dist/text.cjs +13 -0
  904. package/dist/text.cjs.map +1 -0
  905. package/dist/text.d.cts +17 -0
  906. package/dist/text.d.ts +17 -0
  907. package/dist/text.js +4 -0
  908. package/dist/text.js.map +1 -0
  909. package/dist/textarea.cjs +20 -0
  910. package/dist/textarea.cjs.map +1 -0
  911. package/dist/textarea.d.cts +15 -0
  912. package/dist/textarea.d.ts +15 -0
  913. package/dist/textarea.js +11 -0
  914. package/dist/textarea.js.map +1 -0
  915. package/dist/time-grid.cjs +13 -0
  916. package/dist/time-grid.cjs.map +1 -0
  917. package/dist/time-grid.d.cts +53 -0
  918. package/dist/time-grid.d.ts +53 -0
  919. package/dist/time-grid.js +4 -0
  920. package/dist/time-grid.js.map +1 -0
  921. package/dist/time-picker.cjs +16 -0
  922. package/dist/time-picker.cjs.map +1 -0
  923. package/dist/time-picker.d.cts +19 -0
  924. package/dist/time-picker.d.ts +19 -0
  925. package/dist/time-picker.js +7 -0
  926. package/dist/time-picker.js.map +1 -0
  927. package/dist/timeline.cjs +21 -0
  928. package/dist/timeline.cjs.map +1 -0
  929. package/dist/timeline.d.cts +10 -0
  930. package/dist/timeline.d.ts +10 -0
  931. package/dist/timeline.js +4 -0
  932. package/dist/timeline.js.map +1 -0
  933. package/dist/toast.cjs +18 -0
  934. package/dist/toast.cjs.map +1 -0
  935. package/dist/toast.d.cts +54 -0
  936. package/dist/toast.d.ts +54 -0
  937. package/dist/toast.js +5 -0
  938. package/dist/toast.js.map +1 -0
  939. package/dist/tooltip.cjs +15 -0
  940. package/dist/tooltip.cjs.map +1 -0
  941. package/dist/tooltip.d.cts +16 -0
  942. package/dist/tooltip.d.ts +16 -0
  943. package/dist/tooltip.js +6 -0
  944. package/dist/tooltip.js.map +1 -0
  945. package/dist/tree-nav.cjs +17 -0
  946. package/dist/tree-nav.cjs.map +1 -0
  947. package/dist/tree-nav.d.cts +114 -0
  948. package/dist/tree-nav.d.ts +114 -0
  949. package/dist/tree-nav.js +4 -0
  950. package/dist/tree-nav.js.map +1 -0
  951. package/dist/types-8Sv0rCjw.d.cts +58 -0
  952. package/dist/types-8Sv0rCjw.d.ts +58 -0
  953. package/dist/video-viewer.cjs +13 -0
  954. package/dist/video-viewer.cjs.map +1 -0
  955. package/dist/video-viewer.d.cts +14 -0
  956. package/dist/video-viewer.d.ts +14 -0
  957. package/dist/video-viewer.js +4 -0
  958. package/dist/video-viewer.js.map +1 -0
  959. package/package.json +855 -5
@@ -0,0 +1,133 @@
1
+ import { Portal } from './chunk-WHEXTDPV.js';
2
+ import { cn } from './chunk-DSUHZO6T.js';
3
+ import { createContext, useContext, useState, useRef, useCallback, useMemo, useEffect } from 'react';
4
+ import { Check, XCircle, AlertTriangle, Info, X } from 'lucide-react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ var ToastContext = createContext(null);
8
+ function useToast() {
9
+ const ctx = useContext(ToastContext);
10
+ if (!ctx) {
11
+ throw new Error("useToast must be used within a <Toast.Provider>");
12
+ }
13
+ return ctx;
14
+ }
15
+ var VARIANT_STYLES = {
16
+ default: "border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900",
17
+ success: "border-emerald-200 bg-emerald-50 dark:border-emerald-800 dark:bg-emerald-950",
18
+ error: "border-red-200 bg-red-50 dark:border-red-800 dark:bg-red-950",
19
+ warning: "border-amber-200 bg-amber-50 dark:border-amber-800 dark:bg-amber-950",
20
+ info: "border-blue-200 bg-blue-50 dark:border-blue-800 dark:bg-blue-950"
21
+ };
22
+ var VARIANT_ICON_COLORS = {
23
+ default: "text-zinc-400",
24
+ success: "text-emerald-500",
25
+ error: "text-red-500",
26
+ warning: "text-amber-500",
27
+ info: "text-blue-500"
28
+ };
29
+ function ToastItem({ data, onDismiss }) {
30
+ const { id, title, description, variant = "default", action } = data;
31
+ const duration = data.duration ?? (action ? 0 : 5e3);
32
+ useEffect(() => {
33
+ if (duration <= 0) return;
34
+ const timer = setTimeout(() => onDismiss(id), duration);
35
+ return () => clearTimeout(timer);
36
+ }, [id, duration, onDismiss]);
37
+ return /* @__PURE__ */ jsx(
38
+ "div",
39
+ {
40
+ "data-react-fancy-toast-item": "",
41
+ role: "alert",
42
+ onKeyDown: (e) => {
43
+ if (e.key === "Escape") onDismiss(id);
44
+ },
45
+ className: cn(
46
+ "fancy-toast-in pointer-events-auto w-80 rounded-xl border p-4 shadow-lg",
47
+ VARIANT_STYLES[variant]
48
+ ),
49
+ children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
50
+ /* @__PURE__ */ jsxs("div", { className: cn("mt-0.5 shrink-0", VARIANT_ICON_COLORS[variant]), children: [
51
+ variant === "success" && /* @__PURE__ */ jsx(Check, { size: 16 }),
52
+ variant === "error" && /* @__PURE__ */ jsx(XCircle, { size: 16 }),
53
+ variant === "warning" && /* @__PURE__ */ jsx(AlertTriangle, { size: 16 }),
54
+ variant === "info" && /* @__PURE__ */ jsx(Info, { size: 16 })
55
+ ] }),
56
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
57
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-zinc-900 dark:text-zinc-100", children: title }),
58
+ description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-zinc-500 dark:text-zinc-400", children: description })
59
+ ] }),
60
+ action && /* @__PURE__ */ jsx(
61
+ "button",
62
+ {
63
+ type: "button",
64
+ onClick: () => {
65
+ action.onClick();
66
+ onDismiss(id);
67
+ },
68
+ className: "shrink-0 self-center rounded-md px-2 py-1 text-xs font-medium text-zinc-700 underline-offset-2 transition-colors hover:bg-zinc-100 hover:underline dark:text-zinc-200 dark:hover:bg-zinc-800",
69
+ children: action.label
70
+ }
71
+ ),
72
+ /* @__PURE__ */ jsx(
73
+ "button",
74
+ {
75
+ type: "button",
76
+ onClick: () => onDismiss(id),
77
+ className: "shrink-0 rounded p-0.5 text-zinc-400 transition-colors hover:text-zinc-600 dark:hover:text-zinc-300",
78
+ "aria-label": "Dismiss",
79
+ children: /* @__PURE__ */ jsx(X, { size: 14 })
80
+ }
81
+ )
82
+ ] })
83
+ }
84
+ );
85
+ }
86
+ ToastItem.displayName = "ToastItem";
87
+ var POSITION_STYLES = {
88
+ "top-right": "top-4 right-4",
89
+ "top-left": "top-4 left-4",
90
+ "bottom-right": "bottom-4 right-4",
91
+ "bottom-left": "bottom-4 left-4"
92
+ };
93
+ function ToastProvider({
94
+ children,
95
+ position = "bottom-right",
96
+ maxToasts = 5
97
+ }) {
98
+ const [toasts, setToasts] = useState([]);
99
+ const idCounter = useRef(0);
100
+ const toast = useCallback(
101
+ (data) => {
102
+ const id = `toast-${++idCounter.current}`;
103
+ setToasts((prev) => [...prev.slice(-(maxToasts - 1)), { ...data, id }]);
104
+ return id;
105
+ },
106
+ [maxToasts]
107
+ );
108
+ const dismiss = useCallback((id) => {
109
+ setToasts((prev) => prev.filter((t) => t.id !== id));
110
+ }, []);
111
+ const ctx = useMemo(() => ({ toasts, toast, dismiss }), [toasts, toast, dismiss]);
112
+ return /* @__PURE__ */ jsxs(ToastContext.Provider, { value: ctx, children: [
113
+ children,
114
+ /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
115
+ "div",
116
+ {
117
+ "data-react-fancy-toast": "",
118
+ className: cn(
119
+ "fixed z-[100] flex flex-col gap-2 pointer-events-none",
120
+ POSITION_STYLES[position]
121
+ ),
122
+ children: toasts.map((t) => /* @__PURE__ */ jsx(ToastItem, { data: t, onDismiss: dismiss }, t.id))
123
+ }
124
+ ) })
125
+ ] });
126
+ }
127
+ var Toast = {
128
+ Provider: ToastProvider
129
+ };
130
+
131
+ export { Toast, useToast };
132
+ //# sourceMappingURL=chunk-MZIU27UY.js.map
133
+ //# sourceMappingURL=chunk-MZIU27UY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Toast/Toast.context.ts","../src/components/Toast/ToastItem.tsx","../src/components/Toast/Toast.tsx"],"names":["jsxs","jsx"],"mappings":"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","file":"chunk-MZIU27UY.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { ToastContextValue } from \"./Toast.types\";\n\nexport const ToastContext = createContext<ToastContextValue | null>(null);\n\nexport function useToast(): ToastContextValue {\n const ctx = useContext(ToastContext);\n if (!ctx) {\n throw new Error(\"useToast must be used within a <Toast.Provider>\");\n }\n return ctx;\n}\n","import { useEffect } from \"react\";\nimport { AlertTriangle, Check, Info, X, XCircle } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport type { ToastItemProps } from \"./Toast.types\";\n\nconst VARIANT_STYLES = {\n default:\n \"border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900\",\n success:\n \"border-emerald-200 bg-emerald-50 dark:border-emerald-800 dark:bg-emerald-950\",\n error:\n \"border-red-200 bg-red-50 dark:border-red-800 dark:bg-red-950\",\n warning:\n \"border-amber-200 bg-amber-50 dark:border-amber-800 dark:bg-amber-950\",\n info: \"border-blue-200 bg-blue-50 dark:border-blue-800 dark:bg-blue-950\",\n} as const;\n\nconst VARIANT_ICON_COLORS = {\n default: \"text-zinc-400\",\n success: \"text-emerald-500\",\n error: \"text-red-500\",\n warning: \"text-amber-500\",\n info: \"text-blue-500\",\n} as const;\n\nexport function ToastItem({ data, onDismiss }: ToastItemProps) {\n const { id, title, description, variant = \"default\", action } = data;\n // An action toast does not expire by default.\n const duration = data.duration ?? (action ? 0 : 5000);\n\n useEffect(() => {\n if (duration <= 0) return;\n const timer = setTimeout(() => onDismiss(id), duration);\n return () => clearTimeout(timer);\n }, [id, duration, onDismiss]);\n\n return (\n <div\n data-react-fancy-toast-item=\"\"\n role=\"alert\"\n // Scoped to the toast rather than the document: a global Escape handler\n // would fight whatever modal or drawer is already listening.\n onKeyDown={(e) => {\n if (e.key === \"Escape\") onDismiss(id);\n }}\n className={cn(\n \"fancy-toast-in pointer-events-auto w-80 rounded-xl border p-4 shadow-lg\",\n VARIANT_STYLES[variant],\n )}\n >\n <div className=\"flex items-start gap-3\">\n <div className={cn(\"mt-0.5 shrink-0\", VARIANT_ICON_COLORS[variant])}>\n {variant === \"success\" && <Check size={16} />}\n {variant === \"error\" && <XCircle size={16} />}\n {variant === \"warning\" && <AlertTriangle size={16} />}\n {variant === \"info\" && <Info size={16} />}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium text-zinc-900 dark:text-zinc-100\">{title}</p>\n {description && (\n <p className=\"mt-1 text-xs text-zinc-500 dark:text-zinc-400\">\n {description}\n </p>\n )}\n </div>\n {action && (\n <button\n type=\"button\"\n onClick={() => {\n action.onClick();\n // The offer is consumed; leaving it up invites undoing an\n // already-undone action.\n onDismiss(id);\n }}\n className=\"shrink-0 self-center rounded-md px-2 py-1 text-xs font-medium text-zinc-700 underline-offset-2 transition-colors hover:bg-zinc-100 hover:underline dark:text-zinc-200 dark:hover:bg-zinc-800\"\n >\n {action.label}\n </button>\n )}\n <button\n type=\"button\"\n onClick={() => onDismiss(id)}\n className=\"shrink-0 rounded p-0.5 text-zinc-400 transition-colors hover:text-zinc-600 dark:hover:text-zinc-300\"\n aria-label=\"Dismiss\"\n >\n <X size={14} />\n </button>\n </div>\n </div>\n );\n}\n\nToastItem.displayName = \"ToastItem\";\n","import { useCallback, useMemo, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Portal } from \"../Portal\";\nimport { ToastContext } from \"./Toast.context\";\nimport { ToastItem } from \"./ToastItem\";\nimport type { ToastData, ToastProviderProps } from \"./Toast.types\";\n\nconst POSITION_STYLES = {\n \"top-right\": \"top-4 right-4\",\n \"top-left\": \"top-4 left-4\",\n \"bottom-right\": \"bottom-4 right-4\",\n \"bottom-left\": \"bottom-4 left-4\",\n} as const;\n\nfunction ToastProvider({\n children,\n position = \"bottom-right\",\n maxToasts = 5,\n}: ToastProviderProps) {\n const [toasts, setToasts] = useState<ToastData[]>([]);\n const idCounter = useRef(0);\n\n const toast = useCallback(\n (data: Omit<ToastData, \"id\">) => {\n const id = `toast-${++idCounter.current}`;\n setToasts((prev) => [...prev.slice(-(maxToasts - 1)), { ...data, id }]);\n return id;\n },\n [maxToasts],\n );\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n const ctx = useMemo(() => ({ toasts, toast, dismiss }), [toasts, toast, dismiss]);\n\n return (\n <ToastContext.Provider value={ctx}>\n {children}\n <Portal>\n <div\n data-react-fancy-toast=\"\"\n className={cn(\n \"fixed z-[100] flex flex-col gap-2 pointer-events-none\",\n POSITION_STYLES[position],\n )}\n >\n {toasts.map((t) => (\n <ToastItem key={t.id} data={t} onDismiss={dismiss} />\n ))}\n </div>\n </Portal>\n </ToastContext.Provider>\n );\n}\n\nexport const Toast = {\n Provider: ToastProvider,\n};\n"]}
@@ -0,0 +1,211 @@
1
+ import { useControllableState } from './chunk-6FQGMVF2.js';
2
+ import { cn } from './chunk-DSUHZO6T.js';
3
+ import { createContext, useState, useContext } from 'react';
4
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
+ import { PanelLeftOpen, PanelLeftClose, ChevronDown } from 'lucide-react';
6
+
7
+ var SidebarContext = createContext(null);
8
+ function useSidebar() {
9
+ const ctx = useContext(SidebarContext);
10
+ if (!ctx) {
11
+ throw new Error("useSidebar must be used within a <Sidebar> component");
12
+ }
13
+ return ctx;
14
+ }
15
+ function getLetters(children) {
16
+ if (typeof children === "string") return children.slice(0, 3);
17
+ return "...";
18
+ }
19
+ function SidebarItem({
20
+ children,
21
+ href,
22
+ as: As,
23
+ icon,
24
+ active = false,
25
+ disabled = false,
26
+ badge,
27
+ onClick,
28
+ className,
29
+ ...rest
30
+ }) {
31
+ const { collapsed, collapseMode } = useSidebar();
32
+ const isLink = Boolean(href || As);
33
+ const Tag = isLink ? As ?? "a" : "button";
34
+ const tagProps = isLink ? { ...href ? { href } : {}, onClick } : { type: "button", onClick };
35
+ const showIconOnly = collapsed && collapseMode === "icons" && icon;
36
+ const showLetters = collapsed && (collapseMode === "letters" || collapseMode === "icons" && !icon);
37
+ const title = typeof children === "string" ? children : void 0;
38
+ return /* @__PURE__ */ jsxs(
39
+ Tag,
40
+ {
41
+ ...tagProps,
42
+ ...rest,
43
+ "data-react-fancy-sidebar-item": "",
44
+ "data-active": active || void 0,
45
+ "aria-current": active ? "page" : void 0,
46
+ "aria-disabled": disabled || void 0,
47
+ title: collapsed ? title : void 0,
48
+ className: cn(
49
+ // `w-full` matters when the Tag is a <button>: form controls size to
50
+ // FIT-CONTENT, not to their parent, so a long label made the item wider
51
+ // than the sidebar and an ancestor clipped the overflow — which reads as
52
+ // a label cut off mid-word rather than an ellipsis. Without this,
53
+ // `min-w-0` on the label below can never engage, because the item is
54
+ // never under width pressure in the first place.
55
+ "flex w-full items-center rounded-md text-sm font-medium transition-colors",
56
+ "outline-none focus-visible:ring-2 focus-visible:ring-blue-500",
57
+ collapsed ? "justify-center px-2 py-2" : "gap-2 px-3 py-2",
58
+ active ? "bg-zinc-100 text-zinc-900 dark:bg-zinc-800 dark:text-zinc-100" : "text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100",
59
+ disabled && "pointer-events-none opacity-50",
60
+ className
61
+ ),
62
+ children: [
63
+ showIconOnly && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
64
+ showLetters && /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold uppercase", children: getLetters(children) }),
65
+ !collapsed && /* @__PURE__ */ jsxs(Fragment, { children: [
66
+ icon && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
67
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate text-left", children }),
68
+ badge && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: badge })
69
+ ] })
70
+ ]
71
+ }
72
+ );
73
+ }
74
+ SidebarItem.displayName = "SidebarItem";
75
+ function SidebarGroup({ children, label, className }) {
76
+ const { collapsed } = useSidebar();
77
+ return /* @__PURE__ */ jsxs("div", { "data-react-fancy-sidebar-group": "", className: cn("py-1", className), children: [
78
+ label && !collapsed && /* @__PURE__ */ jsx("p", { className: "mb-1 px-3 text-xs font-semibold uppercase tracking-wider text-zinc-400 dark:text-zinc-500", children: label }),
79
+ label && collapsed && /* @__PURE__ */ jsx("div", { className: "mx-auto mb-1 h-px w-6 bg-zinc-200 dark:bg-zinc-700" }),
80
+ children
81
+ ] });
82
+ }
83
+ SidebarGroup.displayName = "SidebarGroup";
84
+ function getLetters2(label) {
85
+ return label.slice(0, 3);
86
+ }
87
+ function SidebarSubmenu({
88
+ children,
89
+ label,
90
+ icon,
91
+ defaultOpen = false,
92
+ className
93
+ }) {
94
+ const [open, setOpen] = useState(defaultOpen);
95
+ const { collapsed, collapseMode } = useSidebar();
96
+ const showIconOnly = collapsed && collapseMode === "icons" && icon;
97
+ const showLetters = collapsed && (collapseMode === "letters" || collapseMode === "icons" && !icon);
98
+ if (collapsed) {
99
+ return /* @__PURE__ */ jsxs(
100
+ "div",
101
+ {
102
+ "data-react-fancy-sidebar-submenu": "",
103
+ title: label,
104
+ className: cn(
105
+ "flex items-center justify-center rounded-md px-2 py-2 text-sm font-medium transition-colors",
106
+ "text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900",
107
+ "dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100",
108
+ className
109
+ ),
110
+ children: [
111
+ showIconOnly && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
112
+ showLetters && /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold uppercase", children: getLetters2(label) })
113
+ ]
114
+ }
115
+ );
116
+ }
117
+ return /* @__PURE__ */ jsxs("div", { "data-react-fancy-sidebar-submenu": "", className, children: [
118
+ /* @__PURE__ */ jsxs(
119
+ "button",
120
+ {
121
+ type: "button",
122
+ onClick: () => setOpen((v) => !v),
123
+ className: cn(
124
+ "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors",
125
+ "text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900",
126
+ "dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100"
127
+ ),
128
+ children: [
129
+ icon && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
130
+ /* @__PURE__ */ jsx("span", { className: "flex-1 text-left", children: label }),
131
+ /* @__PURE__ */ jsx(
132
+ ChevronDown,
133
+ {
134
+ className: cn(
135
+ "h-3.5 w-3.5 opacity-60 transition-transform duration-200",
136
+ open && "rotate-180"
137
+ )
138
+ }
139
+ )
140
+ ]
141
+ }
142
+ ),
143
+ /* @__PURE__ */ jsx(
144
+ "div",
145
+ {
146
+ className: cn(
147
+ "grid transition-[grid-template-rows] duration-200",
148
+ open ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
149
+ ),
150
+ children: /* @__PURE__ */ jsx("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "ml-4 border-l border-zinc-200 pl-2 pt-1 dark:border-zinc-700", children }) })
151
+ }
152
+ )
153
+ ] });
154
+ }
155
+ SidebarSubmenu.displayName = "SidebarSubmenu";
156
+ function SidebarToggle({ className }) {
157
+ const { collapsed, setCollapsed } = useSidebar();
158
+ return /* @__PURE__ */ jsx(
159
+ "button",
160
+ {
161
+ type: "button",
162
+ "data-react-fancy-sidebar-toggle": "",
163
+ onClick: () => setCollapsed(!collapsed),
164
+ title: collapsed ? "Expand sidebar" : "Collapse sidebar",
165
+ className: cn(
166
+ "flex items-center justify-center rounded-md p-1.5 text-zinc-400 transition-colors",
167
+ "hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300",
168
+ className
169
+ ),
170
+ children: collapsed ? /* @__PURE__ */ jsx(PanelLeftOpen, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx(PanelLeftClose, { className: "h-4 w-4" })
171
+ }
172
+ );
173
+ }
174
+ SidebarToggle.displayName = "SidebarToggle";
175
+ function SidebarRoot({
176
+ children,
177
+ collapsed: controlledCollapsed,
178
+ defaultCollapsed = false,
179
+ onCollapsedChange,
180
+ collapseMode = "icons",
181
+ className
182
+ }) {
183
+ const [collapsed, setCollapsed] = useControllableState(
184
+ controlledCollapsed,
185
+ defaultCollapsed,
186
+ onCollapsedChange
187
+ );
188
+ return /* @__PURE__ */ jsx(SidebarContext.Provider, { value: { collapsed, collapseMode, setCollapsed }, children: /* @__PURE__ */ jsx(
189
+ "aside",
190
+ {
191
+ "data-react-fancy-sidebar": "",
192
+ "data-collapsed": collapsed || void 0,
193
+ className: cn(
194
+ "flex flex-col gap-0.5 border-r border-zinc-200 bg-white transition-[width] duration-200 dark:border-zinc-700 dark:bg-zinc-900",
195
+ collapsed ? "w-16" : "w-60",
196
+ className
197
+ ),
198
+ children
199
+ }
200
+ ) });
201
+ }
202
+ var Sidebar = Object.assign(SidebarRoot, {
203
+ Item: SidebarItem,
204
+ Group: SidebarGroup,
205
+ Submenu: SidebarSubmenu,
206
+ Toggle: SidebarToggle
207
+ });
208
+
209
+ export { Sidebar, useSidebar };
210
+ //# sourceMappingURL=chunk-N7WQ53US.js.map
211
+ //# sourceMappingURL=chunk-N7WQ53US.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Sidebar/Sidebar.context.ts","../src/components/Sidebar/SidebarItem.tsx","../src/components/Sidebar/SidebarGroup.tsx","../src/components/Sidebar/SidebarSubmenu.tsx","../src/components/Sidebar/SidebarToggle.tsx","../src/components/Sidebar/Sidebar.tsx"],"names":["jsxs","jsx","getLetters"],"mappings":"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","file":"chunk-N7WQ53US.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { SidebarContextValue } from \"./Sidebar.types\";\n\nexport const SidebarContext = createContext<SidebarContextValue | null>(null);\n\nexport function useSidebar(): SidebarContextValue {\n const ctx = useContext(SidebarContext);\n if (!ctx) {\n throw new Error(\"useSidebar must be used within a <Sidebar> component\");\n }\n return ctx;\n}\n","import type { ElementType } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useSidebar } from \"./Sidebar.context\";\nimport type { SidebarItemProps } from \"./Sidebar.types\";\n\n/** Extract first 3 characters from a ReactNode if it's a string. */\nfunction getLetters(children: React.ReactNode): string {\n if (typeof children === \"string\") return children.slice(0, 3);\n return \"...\";\n}\n\nexport function SidebarItem({\n children,\n href,\n as: As,\n icon,\n active = false,\n disabled = false,\n badge,\n onClick,\n className,\n ...rest\n}: SidebarItemProps) {\n const { collapsed, collapseMode } = useSidebar();\n\n // Link mode engages on `href` OR `as` — a `to`-based router (TanStack Router,\n // React Router) passes no href, and would otherwise render a <button> that\n // navigates nowhere. `onClick` now rides along in link mode instead of being\n // dropped: an item that both navigates and closes a drawer is the common case.\n const isLink = Boolean(href || As);\n const Tag = isLink ? ((As ?? \"a\") as ElementType) : \"button\";\n const tagProps = isLink\n ? { ...(href ? { href } : {}), onClick }\n : { type: \"button\" as const, onClick };\n\n const showIconOnly = collapsed && collapseMode === \"icons\" && icon;\n const showLetters = collapsed && (collapseMode === \"letters\" || (collapseMode === \"icons\" && !icon));\n\n const title = typeof children === \"string\" ? children : undefined;\n\n return (\n <Tag\n {...tagProps}\n {...rest}\n data-react-fancy-sidebar-item=\"\"\n data-active={active || undefined}\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled || undefined}\n title={collapsed ? title : undefined}\n className={cn(\n // `w-full` matters when the Tag is a <button>: form controls size to\n // FIT-CONTENT, not to their parent, so a long label made the item wider\n // than the sidebar and an ancestor clipped the overflow — which reads as\n // a label cut off mid-word rather than an ellipsis. Without this,\n // `min-w-0` on the label below can never engage, because the item is\n // never under width pressure in the first place.\n \"flex w-full items-center rounded-md text-sm font-medium transition-colors\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-blue-500\",\n collapsed ? \"justify-center px-2 py-2\" : \"gap-2 px-3 py-2\",\n active\n ? \"bg-zinc-100 text-zinc-900 dark:bg-zinc-800 dark:text-zinc-100\"\n : \"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100\",\n disabled && \"pointer-events-none opacity-50\",\n className,\n )}\n >\n {showIconOnly && (\n <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>\n )}\n {showLetters && (\n <span className=\"text-xs font-semibold uppercase\">{getLetters(children)}</span>\n )}\n {!collapsed && (\n <>\n {icon && <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>}\n {/*\n `min-w-0` is load-bearing, not tidiness. A flex item defaults to\n `min-width: auto`, which resolves to its MIN-CONTENT width — so with\n `truncate` alone the span refuses to shrink below the full label,\n and the item grows wider than the sidebar instead of ellipsing.\n The overflow then gets clipped by an ancestor, which looks like a\n mid-word cut rather than a truncation.\n\n Only shows up with labels longer than the sidebar is wide, which is\n why it survived: short nav labels never trigger it.\n */}\n <span className=\"min-w-0 flex-1 truncate text-left\">{children}</span>\n {badge && <span className=\"shrink-0\">{badge}</span>}\n </>\n )}\n </Tag>\n );\n}\n\nSidebarItem.displayName = \"SidebarItem\";\n","import { cn } from \"../../utils/cn\";\nimport { useSidebar } from \"./Sidebar.context\";\nimport type { SidebarGroupProps } from \"./Sidebar.types\";\n\nexport function SidebarGroup({ children, label, className }: SidebarGroupProps) {\n const { collapsed } = useSidebar();\n\n return (\n <div data-react-fancy-sidebar-group=\"\" className={cn(\"py-1\", className)}>\n {label && !collapsed && (\n <p className=\"mb-1 px-3 text-xs font-semibold uppercase tracking-wider text-zinc-400 dark:text-zinc-500\">\n {label}\n </p>\n )}\n {label && collapsed && (\n <div className=\"mx-auto mb-1 h-px w-6 bg-zinc-200 dark:bg-zinc-700\" />\n )}\n {children}\n </div>\n );\n}\n\nSidebarGroup.displayName = \"SidebarGroup\";\n","import { useState } from \"react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { useSidebar } from \"./Sidebar.context\";\nimport type { SidebarSubmenuProps } from \"./Sidebar.types\";\n\n/** Extract first 3 characters from a string. */\nfunction getLetters(label: string): string {\n return label.slice(0, 3);\n}\n\nexport function SidebarSubmenu({\n children,\n label,\n icon,\n defaultOpen = false,\n className,\n}: SidebarSubmenuProps) {\n const [open, setOpen] = useState(defaultOpen);\n const { collapsed, collapseMode } = useSidebar();\n\n const showIconOnly = collapsed && collapseMode === \"icons\" && icon;\n const showLetters = collapsed && (collapseMode === \"letters\" || (collapseMode === \"icons\" && !icon));\n\n // When collapsed, just show the icon/letters as a simple item (no expand)\n if (collapsed) {\n return (\n <div\n data-react-fancy-sidebar-submenu=\"\"\n title={label}\n className={cn(\n \"flex items-center justify-center rounded-md px-2 py-2 text-sm font-medium transition-colors\",\n \"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900\",\n \"dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100\",\n className,\n )}\n >\n {showIconOnly && (\n <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>\n )}\n {showLetters && (\n <span className=\"text-xs font-semibold uppercase\">{getLetters(label)}</span>\n )}\n </div>\n );\n }\n\n return (\n <div data-react-fancy-sidebar-submenu=\"\" className={className}>\n <button\n type=\"button\"\n onClick={() => setOpen((v) => !v)}\n className={cn(\n \"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors\",\n \"text-zinc-600 hover:bg-zinc-50 hover:text-zinc-900\",\n \"dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-100\",\n )}\n >\n {icon && <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>}\n <span className=\"flex-1 text-left\">{label}</span>\n <ChevronDown\n className={cn(\n \"h-3.5 w-3.5 opacity-60 transition-transform duration-200\",\n open && \"rotate-180\",\n )}\n />\n </button>\n <div\n className={cn(\n \"grid transition-[grid-template-rows] duration-200\",\n open ? \"grid-rows-[1fr]\" : \"grid-rows-[0fr]\",\n )}\n >\n <div className=\"overflow-hidden\">\n <div className=\"ml-4 border-l border-zinc-200 pl-2 pt-1 dark:border-zinc-700\">\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nSidebarSubmenu.displayName = \"SidebarSubmenu\";\n","import { PanelLeftClose, PanelLeftOpen } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { useSidebar } from \"./Sidebar.context\";\nimport type { SidebarToggleProps } from \"./Sidebar.types\";\n\nexport function SidebarToggle({ className }: SidebarToggleProps) {\n const { collapsed, setCollapsed } = useSidebar();\n\n return (\n <button\n type=\"button\"\n data-react-fancy-sidebar-toggle=\"\"\n onClick={() => setCollapsed(!collapsed)}\n title={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n className={cn(\n \"flex items-center justify-center rounded-md p-1.5 text-zinc-400 transition-colors\",\n \"hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300\",\n className,\n )}\n >\n {collapsed ? (\n <PanelLeftOpen className=\"h-4 w-4\" />\n ) : (\n <PanelLeftClose className=\"h-4 w-4\" />\n )}\n </button>\n );\n}\n\nSidebarToggle.displayName = \"SidebarToggle\";\n","import { cn } from \"../../utils/cn\";\nimport { useControllableState } from \"../../hooks\";\nimport { SidebarContext } from \"./Sidebar.context\";\nimport { SidebarItem } from \"./SidebarItem\";\nimport { SidebarGroup } from \"./SidebarGroup\";\nimport { SidebarSubmenu } from \"./SidebarSubmenu\";\nimport { SidebarToggle } from \"./SidebarToggle\";\nimport type { SidebarProps } from \"./Sidebar.types\";\n\nfunction SidebarRoot({\n children,\n collapsed: controlledCollapsed,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseMode = \"icons\",\n className,\n}: SidebarProps) {\n const [collapsed, setCollapsed] = useControllableState(\n controlledCollapsed,\n defaultCollapsed,\n onCollapsedChange,\n );\n\n return (\n <SidebarContext.Provider value={{ collapsed, collapseMode, setCollapsed }}>\n <aside\n data-react-fancy-sidebar=\"\"\n data-collapsed={collapsed || undefined}\n className={cn(\n \"flex flex-col gap-0.5 border-r border-zinc-200 bg-white transition-[width] duration-200 dark:border-zinc-700 dark:bg-zinc-900\",\n collapsed ? \"w-16\" : \"w-60\",\n className,\n )}\n >\n {children}\n </aside>\n </SidebarContext.Provider>\n );\n}\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Item: SidebarItem,\n Group: SidebarGroup,\n Submenu: SidebarSubmenu,\n Toggle: SidebarToggle,\n});\n"]}
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var reactDom = require('react-dom');
4
+ var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ // src/components/Portal/Portal.tsx
8
+ function Portal({ children, container }) {
9
+ const [mounted, setMounted] = react.useState(false);
10
+ react.useEffect(() => {
11
+ setMounted(true);
12
+ }, []);
13
+ if (!mounted || typeof document === "undefined") return null;
14
+ const target = container ?? document.body;
15
+ return reactDom.createPortal(
16
+ /* @__PURE__ */ jsxRuntime.jsx(PortalDarkWrapper, { children }),
17
+ target
18
+ );
19
+ }
20
+ function PortalDarkWrapper({ children }) {
21
+ const ref = react.useRef(null);
22
+ react.useEffect(() => {
23
+ const root = document.documentElement;
24
+ const wrapper = ref.current;
25
+ if (!wrapper) return;
26
+ const sync = () => {
27
+ const isDark = root.classList.contains("dark") || root.getAttribute("data-theme") === "dark";
28
+ wrapper.classList.toggle("dark", isDark);
29
+ };
30
+ sync();
31
+ const observer = new MutationObserver(sync);
32
+ observer.observe(root, {
33
+ attributes: true,
34
+ attributeFilter: ["class", "data-theme"]
35
+ });
36
+ return () => observer.disconnect();
37
+ }, []);
38
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, "data-react-fancy-portal": "", style: { display: "contents" }, children });
39
+ }
40
+
41
+ exports.Portal = Portal;
42
+ //# sourceMappingURL=chunk-NBZC6LOB.cjs.map
43
+ //# sourceMappingURL=chunk-NBZC6LOB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Portal/Portal.tsx"],"names":["useState","useEffect","createPortal","jsx","useRef"],"mappings":";;;;;;;AAQO,SAAS,MAAA,CAAO,EAAE,QAAA,EAAU,SAAA,EAAU,EAAgB;AAO3D,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC5C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,IAAI,CAAC,OAAA,IAAW,OAAO,QAAA,KAAa,aAAa,OAAO,IAAA;AAExD,EAAA,MAAM,MAAA,GAAS,aAAa,QAAA,CAAS,IAAA;AAErC,EAAA,OAAOC,qBAAA;AAAA,oBACLC,cAAA,CAAC,qBAAmB,QAAA,EAAS,CAAA;AAAA,IAC7B;AAAA,GACF;AACF;AAOA,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAS,EAA4B;AAChE,EAAA,MAAM,GAAA,GAAMC,aAAuB,IAAI,CAAA;AAEvC,EAAAH,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,OAAO,QAAA,CAAS,eAAA;AACtB,IAAA,MAAM,UAAU,GAAA,CAAI,OAAA;AACpB,IAAA,IAAI,CAAC,OAAA,EAAS;AAEd,IAAA,MAAM,OAAO,MAAM;AACjB,MAAA,MAAM,MAAA,GACJ,KAAK,SAAA,CAAU,QAAA,CAAS,MAAM,CAAA,IAC9B,IAAA,CAAK,YAAA,CAAa,YAAY,CAAA,KAAM,MAAA;AACtC,MAAA,OAAA,CAAQ,SAAA,CAAU,MAAA,CAAO,MAAA,EAAQ,MAAM,CAAA;AAAA,IACzC,CAAA;AAEA,IAAA,IAAA,EAAK;AAEL,IAAA,MAAM,QAAA,GAAW,IAAI,gBAAA,CAAiB,IAAI,CAAA;AAC1C,IAAA,QAAA,CAAS,QAAQ,IAAA,EAAM;AAAA,MACrB,UAAA,EAAY,IAAA;AAAA,MACZ,eAAA,EAAiB,CAAC,OAAA,EAAS,YAAY;AAAA,KACxC,CAAA;AAED,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EACnC,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACEE,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,yBAAA,EAAwB,EAAA,EAAG,OAAO,EAAE,OAAA,EAAS,UAAA,EAAW,EACpE,QAAA,EACH,CAAA;AAEJ","file":"chunk-NBZC6LOB.cjs","sourcesContent":["import { createPortal } from \"react-dom\";\nimport { useEffect, useRef, useState, type ReactNode } from \"react\";\n\nexport interface PortalProps {\n children: ReactNode;\n container?: HTMLElement;\n}\n\nexport function Portal({ children, container }: PortalProps) {\n // Render nothing on the server AND on the client's first (hydration) render,\n // then portal after mount. Without the `mounted` gate the client would render\n // the portal immediately while the server rendered null — a hydration\n // mismatch (the portal wrapper appears client-only). Deferring to after mount\n // keeps the first client render identical to the server. SSR-safe for every\n // Portal consumer (Toast, Modal, Dropdown, Tooltip, Popover, …).\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n if (!mounted || typeof document === \"undefined\") return null;\n\n const target = container ?? document.body;\n\n return createPortal(\n <PortalDarkWrapper>{children}</PortalDarkWrapper>,\n target,\n );\n}\n\n/**\n * Wrapper that propagates the `dark` class from <html> into the portal subtree.\n * This ensures Tailwind `dark:` utilities work even though Portal renders\n * outside the React component tree.\n */\nfunction PortalDarkWrapper({ children }: { children: ReactNode }) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const root = document.documentElement;\n const wrapper = ref.current;\n if (!wrapper) return;\n\n const sync = () => {\n const isDark =\n root.classList.contains(\"dark\") ||\n root.getAttribute(\"data-theme\") === \"dark\";\n wrapper.classList.toggle(\"dark\", isDark);\n };\n\n sync();\n\n const observer = new MutationObserver(sync);\n observer.observe(root, {\n attributes: true,\n attributeFilter: [\"class\", \"data-theme\"],\n });\n\n return () => observer.disconnect();\n }, []);\n\n return (\n <div ref={ref} data-react-fancy-portal=\"\" style={{ display: \"contents\" }}>\n {children}\n </div>\n );\n}\n"]}
@@ -0,0 +1,167 @@
1
+ import { cn } from './chunk-DSUHZO6T.js';
2
+ import { forwardRef } from 'react';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ var CardHeader = forwardRef(
6
+ ({ className, children, ...props }, ref) => {
7
+ return /* @__PURE__ */ jsx(
8
+ "div",
9
+ {
10
+ ref,
11
+ "data-react-fancy-card-header": "",
12
+ className: cn(
13
+ "border-b border-zinc-200 dark:border-zinc-700",
14
+ className
15
+ ),
16
+ ...props,
17
+ children
18
+ }
19
+ );
20
+ }
21
+ );
22
+ CardHeader.displayName = "CardHeader";
23
+ var CardBody = forwardRef(
24
+ ({ className, children, ...props }, ref) => {
25
+ return /* @__PURE__ */ jsx(
26
+ "div",
27
+ {
28
+ ref,
29
+ "data-react-fancy-card-body": "",
30
+ className: cn(className),
31
+ ...props,
32
+ children
33
+ }
34
+ );
35
+ }
36
+ );
37
+ CardBody.displayName = "CardBody";
38
+ var CardFooter = forwardRef(
39
+ ({ className, children, ...props }, ref) => {
40
+ return /* @__PURE__ */ jsx(
41
+ "div",
42
+ {
43
+ ref,
44
+ "data-react-fancy-card-footer": "",
45
+ className: cn(
46
+ "border-t border-zinc-200 dark:border-zinc-700",
47
+ className
48
+ ),
49
+ ...props,
50
+ children
51
+ }
52
+ );
53
+ }
54
+ );
55
+ CardFooter.displayName = "CardFooter";
56
+ var CardMedia = forwardRef(
57
+ ({
58
+ src,
59
+ alt = "",
60
+ ratio = "16/9",
61
+ height,
62
+ background,
63
+ objectPosition = "center",
64
+ loading = "lazy",
65
+ topLeft,
66
+ topRight,
67
+ bottomLeft,
68
+ bottomRight,
69
+ className,
70
+ style,
71
+ children,
72
+ ...props
73
+ }, ref) => {
74
+ return /* @__PURE__ */ jsxs(
75
+ "div",
76
+ {
77
+ ref,
78
+ "data-react-fancy-card-media": "",
79
+ className: cn(
80
+ "relative overflow-hidden rounded-t-lg",
81
+ // Card's `padding` prop pads EVERY direct div child
82
+ // (`[&>div]:px-4 …`), which would inset the media and break the
83
+ // flush-to-the-edge look every caller wants. `!` wins regardless of
84
+ // stylesheet order, which plain `p-0` would not.
85
+ "!px-0 !py-0",
86
+ className
87
+ ),
88
+ style: {
89
+ ...height === void 0 ? { aspectRatio: ratio } : { height },
90
+ ...background ? { background } : null,
91
+ ...style
92
+ },
93
+ ...props,
94
+ children: [
95
+ src ? /* @__PURE__ */ jsx(
96
+ "img",
97
+ {
98
+ src,
99
+ alt,
100
+ loading,
101
+ className: "absolute inset-0 h-full w-full object-cover",
102
+ style: { objectPosition }
103
+ }
104
+ ) : null,
105
+ children,
106
+ topLeft ? /* @__PURE__ */ jsx("span", { className: "absolute left-2 top-2 z-10", children: topLeft }) : null,
107
+ topRight ? /* @__PURE__ */ jsx("span", { className: "absolute right-2 top-2 z-10", children: topRight }) : null,
108
+ bottomLeft ? /* @__PURE__ */ jsx("span", { className: "absolute bottom-2 left-2 z-10", children: bottomLeft }) : null,
109
+ bottomRight ? /* @__PURE__ */ jsx("span", { className: "absolute bottom-2 right-2 z-10", children: bottomRight }) : null
110
+ ]
111
+ }
112
+ );
113
+ }
114
+ );
115
+ CardMedia.displayName = "CardMedia";
116
+ var variantClasses = {
117
+ outlined: "border border-zinc-200 dark:border-zinc-700",
118
+ elevated: "shadow-md border border-zinc-100 dark:border-zinc-800",
119
+ flat: "bg-zinc-50 dark:bg-zinc-800/50"
120
+ };
121
+ var paddingClasses = {
122
+ none: "",
123
+ sm: "[&>div]:px-3 [&>div]:py-2",
124
+ md: "[&>div]:px-4 [&>div]:py-3",
125
+ lg: "[&>div]:px-6 [&>div]:py-4"
126
+ };
127
+ var CardRoot = forwardRef(
128
+ ({
129
+ variant = "outlined",
130
+ padding = "md",
131
+ interactive = false,
132
+ className,
133
+ children,
134
+ ...props
135
+ }, ref) => {
136
+ return /* @__PURE__ */ jsx(
137
+ "div",
138
+ {
139
+ ref,
140
+ "data-react-fancy-card": "",
141
+ className: cn(
142
+ "rounded-lg bg-white dark:bg-zinc-900",
143
+ variantClasses[variant],
144
+ // `overflow-hidden` is part of `interactive` rather than always-on:
145
+ // clipping unconditionally would cut off popovers and dropdowns that
146
+ // legitimately overflow a static card.
147
+ interactive && "overflow-hidden transition hover:-translate-y-0.5 hover:shadow-lg hover:border-zinc-300 dark:hover:border-zinc-600",
148
+ paddingClasses[padding],
149
+ className
150
+ ),
151
+ ...props,
152
+ children
153
+ }
154
+ );
155
+ }
156
+ );
157
+ CardRoot.displayName = "Card";
158
+ var Card = Object.assign(CardRoot, {
159
+ Media: CardMedia,
160
+ Header: CardHeader,
161
+ Body: CardBody,
162
+ Footer: CardFooter
163
+ });
164
+
165
+ export { Card, CardBody, CardFooter, CardHeader, CardMedia };
166
+ //# sourceMappingURL=chunk-NH7NRRII.js.map
167
+ //# sourceMappingURL=chunk-NH7NRRII.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Card/CardHeader.tsx","../src/components/Card/CardBody.tsx","../src/components/Card/CardFooter.tsx","../src/components/Card/CardMedia.tsx","../src/components/Card/Card.tsx"],"names":["forwardRef","jsx"],"mappings":"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","file":"chunk-NH7NRRII.js","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { CardHeaderProps } from \"./Card.types\";\n\nexport const CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-react-fancy-card-header=\"\"\n className={cn(\n \"border-b border-zinc-200 dark:border-zinc-700\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardHeader.displayName = \"CardHeader\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { CardBodyProps } from \"./Card.types\";\n\nexport const CardBody = forwardRef<HTMLDivElement, CardBodyProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-react-fancy-card-body=\"\"\n className={cn(className)}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardBody.displayName = \"CardBody\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { CardFooterProps } from \"./Card.types\";\n\nexport const CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-react-fancy-card-footer=\"\"\n className={cn(\n \"border-t border-zinc-200 dark:border-zinc-700\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardFooter.displayName = \"CardFooter\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { CardMediaProps } from \"./Card.types\";\n\n/**\n * The fixed-ratio media region at the top of a card: a thumbnail, gradient or\n * solid swatch, with slots pinned to its corners.\n *\n * This is `Card.Media` rather than a separate `<MediaCard>` because the thing\n * being asked for was never a different card — it was a card with a picture in\n * it. Four surfaces had each rebuilt exactly this (a gallery index, a package\n * grid, a starter-kit grid and a showcase grid) and one of them was already\n * wrapping `Card` and hand-rolling only this region.\n *\n * ## The `background` is not decoration\n *\n * It shows through while the image loads and stays visible if the image never\n * arrives. The gallery relied on that: each style card is keyed to a swatch, so\n * a missing screenshot degrades to the right colour rather than to a hole.\n */\nexport const CardMedia = forwardRef<HTMLDivElement, CardMediaProps>(\n (\n {\n src,\n alt = \"\",\n ratio = \"16/9\",\n height,\n background,\n objectPosition = \"center\",\n loading = \"lazy\",\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n className,\n style,\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n data-react-fancy-card-media=\"\"\n className={cn(\n \"relative overflow-hidden rounded-t-lg\",\n // Card's `padding` prop pads EVERY direct div child\n // (`[&>div]:px-4 …`), which would inset the media and break the\n // flush-to-the-edge look every caller wants. `!` wins regardless of\n // stylesheet order, which plain `p-0` would not.\n \"!px-0 !py-0\",\n className,\n )}\n style={{\n ...(height === undefined ? { aspectRatio: ratio } : { height }),\n ...(background ? { background } : null),\n ...style,\n }}\n {...props}\n >\n {src ? (\n <img\n src={src}\n alt={alt}\n loading={loading}\n className=\"absolute inset-0 h-full w-full object-cover\"\n style={{ objectPosition }}\n />\n ) : null}\n\n {children}\n\n {topLeft ? <span className=\"absolute left-2 top-2 z-10\">{topLeft}</span> : null}\n {topRight ? <span className=\"absolute right-2 top-2 z-10\">{topRight}</span> : null}\n {bottomLeft ? <span className=\"absolute bottom-2 left-2 z-10\">{bottomLeft}</span> : null}\n {bottomRight ? <span className=\"absolute bottom-2 right-2 z-10\">{bottomRight}</span> : null}\n </div>\n );\n },\n);\n\nCardMedia.displayName = \"CardMedia\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { CardHeader } from \"./CardHeader\";\nimport { CardBody } from \"./CardBody\";\nimport { CardFooter } from \"./CardFooter\";\nimport { CardMedia } from \"./CardMedia\";\nimport type { CardProps } from \"./Card.types\";\n\nconst variantClasses: Record<NonNullable<CardProps[\"variant\"]>, string> = {\n outlined: \"border border-zinc-200 dark:border-zinc-700\",\n elevated: \"shadow-md border border-zinc-100 dark:border-zinc-800\",\n flat: \"bg-zinc-50 dark:bg-zinc-800/50\",\n};\n\nconst paddingClasses: Record<NonNullable<CardProps[\"padding\"]>, string> = {\n none: \"\",\n sm: \"[&>div]:px-3 [&>div]:py-2\",\n md: \"[&>div]:px-4 [&>div]:py-3\",\n lg: \"[&>div]:px-6 [&>div]:py-4\",\n};\n\nconst CardRoot = forwardRef<HTMLDivElement, CardProps>(\n (\n {\n variant = \"outlined\",\n padding = \"md\",\n interactive = false,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n data-react-fancy-card=\"\"\n className={cn(\n \"rounded-lg bg-white dark:bg-zinc-900\",\n variantClasses[variant],\n // `overflow-hidden` is part of `interactive` rather than always-on:\n // clipping unconditionally would cut off popovers and dropdowns that\n // legitimately overflow a static card.\n interactive &&\n \"overflow-hidden transition hover:-translate-y-0.5 hover:shadow-lg hover:border-zinc-300 dark:hover:border-zinc-600\",\n paddingClasses[padding],\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nCardRoot.displayName = \"Card\";\n\nexport const Card = Object.assign(CardRoot, {\n Media: CardMedia,\n Header: CardHeader,\n Body: CardBody,\n Footer: CardFooter,\n});\n"]}