@particle-academy/react-fancy 5.20.0 → 5.22.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 (537) hide show
  1. package/dist/accordion-panel.cjs +8 -8
  2. package/dist/accordion-panel.js +2 -2
  3. package/dist/accordion.cjs +4 -4
  4. package/dist/accordion.js +2 -2
  5. package/dist/audio-viewer.cjs +3 -3
  6. package/dist/audio-viewer.js +2 -2
  7. package/dist/autocomplete.cjs +3 -3
  8. package/dist/autocomplete.js +2 -2
  9. package/dist/avatar.cjs +3 -3
  10. package/dist/avatar.js +2 -2
  11. package/dist/badge.cjs +3 -3
  12. package/dist/badge.js +2 -2
  13. package/dist/brand.cjs +4 -4
  14. package/dist/brand.js +2 -2
  15. package/dist/breadcrumbs.cjs +3 -3
  16. package/dist/breadcrumbs.js +2 -2
  17. package/dist/button.cjs +5 -5
  18. package/dist/button.js +3 -3
  19. package/dist/calendar.cjs +3 -3
  20. package/dist/calendar.js +2 -2
  21. package/dist/callout.cjs +3 -3
  22. package/dist/callout.js +2 -2
  23. package/dist/card.cjs +7 -7
  24. package/dist/card.js +2 -2
  25. package/dist/carousel.cjs +8 -8
  26. package/dist/carousel.js +2 -2
  27. package/dist/chart.cjs +3 -3
  28. package/dist/chart.js +2 -2
  29. package/dist/chat-drawer.cjs +4 -4
  30. package/dist/chat-drawer.js +3 -3
  31. package/dist/checkbox-group.cjs +5 -5
  32. package/dist/checkbox-group.js +4 -4
  33. package/dist/checkbox.cjs +3 -3
  34. package/dist/checkbox.js +2 -2
  35. package/dist/{chunk-ZLCVKYHY.js → chunk-25ZOOUFG.js} +3 -3
  36. package/dist/{chunk-ZLCVKYHY.js.map → chunk-25ZOOUFG.js.map} +1 -1
  37. package/dist/{chunk-UCYAHLGM.js → chunk-2LBRS6Z4.js} +3 -3
  38. package/dist/{chunk-UCYAHLGM.js.map → chunk-2LBRS6Z4.js.map} +1 -1
  39. package/dist/{chunk-E4LFD44D.js → chunk-35EN5AYE.js} +3 -3
  40. package/dist/{chunk-E4LFD44D.js.map → chunk-35EN5AYE.js.map} +1 -1
  41. package/dist/{chunk-AOOBRPTE.cjs → chunk-3EIB7RPD.cjs} +8 -8
  42. package/dist/{chunk-AOOBRPTE.cjs.map → chunk-3EIB7RPD.cjs.map} +1 -1
  43. package/dist/{chunk-GKGL7F36.js → chunk-3FG5K7A7.js} +3 -3
  44. package/dist/{chunk-GKGL7F36.js.map → chunk-3FG5K7A7.js.map} +1 -1
  45. package/dist/{chunk-WNIP443K.js → chunk-3LM47BME.js} +4 -4
  46. package/dist/{chunk-WNIP443K.js.map → chunk-3LM47BME.js.map} +1 -1
  47. package/dist/{chunk-NH7NRRII.js → chunk-4K4ECIKK.js} +3 -3
  48. package/dist/{chunk-NH7NRRII.js.map → chunk-4K4ECIKK.js.map} +1 -1
  49. package/dist/{chunk-KC6QBKKB.cjs → chunk-524TOKU3.cjs} +8 -8
  50. package/dist/{chunk-KC6QBKKB.cjs.map → chunk-524TOKU3.cjs.map} +1 -1
  51. package/dist/{chunk-6OSHAP6L.cjs → chunk-5CXJ5Z4C.cjs} +6 -6
  52. package/dist/{chunk-6OSHAP6L.cjs.map → chunk-5CXJ5Z4C.cjs.map} +1 -1
  53. package/dist/{chunk-AY3JABE3.cjs → chunk-5DSMOURR.cjs} +4 -4
  54. package/dist/{chunk-AY3JABE3.cjs.map → chunk-5DSMOURR.cjs.map} +1 -1
  55. package/dist/{chunk-VQ4M25U3.cjs → chunk-5P3PISAX.cjs} +4 -4
  56. package/dist/{chunk-VQ4M25U3.cjs.map → chunk-5P3PISAX.cjs.map} +1 -1
  57. package/dist/{chunk-P7AJAN62.js → chunk-5RLP77KK.js} +3 -3
  58. package/dist/{chunk-P7AJAN62.js.map → chunk-5RLP77KK.js.map} +1 -1
  59. package/dist/{chunk-FCAV5IFW.js → chunk-6GWOB2Z4.js} +3 -3
  60. package/dist/{chunk-FCAV5IFW.js.map → chunk-6GWOB2Z4.js.map} +1 -1
  61. package/dist/{chunk-JCOBDDHF.js → chunk-6KXAFP2T.js} +3 -3
  62. package/dist/{chunk-JCOBDDHF.js.map → chunk-6KXAFP2T.js.map} +1 -1
  63. package/dist/{chunk-E7PHL3TD.cjs → chunk-6LOV75CN.cjs} +5 -5
  64. package/dist/{chunk-E7PHL3TD.cjs.map → chunk-6LOV75CN.cjs.map} +1 -1
  65. package/dist/{chunk-CEEEENPW.js → chunk-6PF5ENWM.js} +3 -3
  66. package/dist/{chunk-CEEEENPW.js.map → chunk-6PF5ENWM.js.map} +1 -1
  67. package/dist/{chunk-2PELJ4VA.cjs → chunk-6SO2ZX3J.cjs} +15 -15
  68. package/dist/{chunk-2PELJ4VA.cjs.map → chunk-6SO2ZX3J.cjs.map} +1 -1
  69. package/dist/{chunk-AVR5P4GA.cjs → chunk-7B3HK6TY.cjs} +11 -11
  70. package/dist/{chunk-AVR5P4GA.cjs.map → chunk-7B3HK6TY.cjs.map} +1 -1
  71. package/dist/{chunk-YHXE274U.js → chunk-7CN7IHES.js} +3 -3
  72. package/dist/{chunk-YHXE274U.js.map → chunk-7CN7IHES.js.map} +1 -1
  73. package/dist/{chunk-7NLKXBZ2.cjs → chunk-7EZBMGEE.cjs} +8 -8
  74. package/dist/{chunk-7NLKXBZ2.cjs.map → chunk-7EZBMGEE.cjs.map} +1 -1
  75. package/dist/{chunk-ZFVSEO5Z.cjs → chunk-7HMEDY24.cjs} +6 -6
  76. package/dist/{chunk-ZFVSEO5Z.cjs.map → chunk-7HMEDY24.cjs.map} +1 -1
  77. package/dist/{chunk-YXC7QHNT.cjs → chunk-7VLRHXLQ.cjs} +6 -6
  78. package/dist/{chunk-YXC7QHNT.cjs.map → chunk-7VLRHXLQ.cjs.map} +1 -1
  79. package/dist/{chunk-GIDW3SUE.cjs → chunk-7Y2AENZD.cjs} +6 -6
  80. package/dist/{chunk-GIDW3SUE.cjs.map → chunk-7Y2AENZD.cjs.map} +1 -1
  81. package/dist/{chunk-ANEX75DF.cjs → chunk-AASQ6L6X.cjs} +4 -4
  82. package/dist/{chunk-ANEX75DF.cjs.map → chunk-AASQ6L6X.cjs.map} +1 -1
  83. package/dist/{chunk-ZWOEKDNI.js → chunk-AT5OG5N4.js} +3 -3
  84. package/dist/{chunk-ZWOEKDNI.js.map → chunk-AT5OG5N4.js.map} +1 -1
  85. package/dist/{chunk-TVRCOKJQ.cjs → chunk-ATJSHM6J.cjs} +4 -4
  86. package/dist/{chunk-TVRCOKJQ.cjs.map → chunk-ATJSHM6J.cjs.map} +1 -1
  87. package/dist/{chunk-A22T6DKO.cjs → chunk-AVCDGSXV.cjs} +13 -13
  88. package/dist/{chunk-A22T6DKO.cjs.map → chunk-AVCDGSXV.cjs.map} +1 -1
  89. package/dist/{chunk-MDUSUJWY.cjs → chunk-AVU4JOYM.cjs} +4 -4
  90. package/dist/{chunk-MDUSUJWY.cjs.map → chunk-AVU4JOYM.cjs.map} +1 -1
  91. package/dist/{chunk-AR2IBCX7.cjs → chunk-BZP4LOO5.cjs} +53 -53
  92. package/dist/{chunk-AR2IBCX7.cjs.map → chunk-BZP4LOO5.cjs.map} +1 -1
  93. package/dist/{chunk-HAOYXGGJ.js → chunk-CCG2L5EH.js} +3 -3
  94. package/dist/{chunk-HAOYXGGJ.js.map → chunk-CCG2L5EH.js.map} +1 -1
  95. package/dist/{chunk-Y5V5GBN4.cjs → chunk-CJVNO5YM.cjs} +6 -6
  96. package/dist/{chunk-Y5V5GBN4.cjs.map → chunk-CJVNO5YM.cjs.map} +1 -1
  97. package/dist/{chunk-PVWPZYTR.js → chunk-CK6LRROH.js} +3 -3
  98. package/dist/{chunk-PVWPZYTR.js.map → chunk-CK6LRROH.js.map} +1 -1
  99. package/dist/{chunk-LNWO23PU.cjs → chunk-COH45MGW.cjs} +7 -7
  100. package/dist/{chunk-LNWO23PU.cjs.map → chunk-COH45MGW.cjs.map} +1 -1
  101. package/dist/{chunk-EVXDG2XN.js → chunk-CRR3AMJ4.js} +3 -3
  102. package/dist/{chunk-EVXDG2XN.js.map → chunk-CRR3AMJ4.js.map} +1 -1
  103. package/dist/{chunk-BWT2L6XP.js → chunk-D7G53WOZ.js} +6 -6
  104. package/dist/{chunk-BWT2L6XP.js.map → chunk-D7G53WOZ.js.map} +1 -1
  105. package/dist/{chunk-JYKZKSZJ.js → chunk-DIHH75KD.js} +5 -5
  106. package/dist/{chunk-JYKZKSZJ.js.map → chunk-DIHH75KD.js.map} +1 -1
  107. package/dist/{chunk-ZT36VWIA.js → chunk-DKKU3VVJ.js} +5 -5
  108. package/dist/{chunk-ZT36VWIA.js.map → chunk-DKKU3VVJ.js.map} +1 -1
  109. package/dist/{chunk-PITWDKKY.js → chunk-EWRP6KCY.js} +3 -3
  110. package/dist/{chunk-PITWDKKY.js.map → chunk-EWRP6KCY.js.map} +1 -1
  111. package/dist/{chunk-HTKDPFLJ.cjs → chunk-F2VJEXN2.cjs} +16 -16
  112. package/dist/{chunk-HTKDPFLJ.cjs.map → chunk-F2VJEXN2.cjs.map} +1 -1
  113. package/dist/{chunk-DV4IMAQW.js → chunk-FA4IG5RB.js} +3 -3
  114. package/dist/{chunk-DV4IMAQW.js.map → chunk-FA4IG5RB.js.map} +1 -1
  115. package/dist/{chunk-FVV76TRF.js → chunk-FBWUXSKH.js} +3 -3
  116. package/dist/{chunk-FVV76TRF.js.map → chunk-FBWUXSKH.js.map} +1 -1
  117. package/dist/{chunk-XMBOZ73D.js → chunk-FCSR2WVS.js} +3 -3
  118. package/dist/{chunk-XMBOZ73D.js.map → chunk-FCSR2WVS.js.map} +1 -1
  119. package/dist/{chunk-3DJGPNUI.js → chunk-FERMW3YE.js} +3 -3
  120. package/dist/{chunk-3DJGPNUI.js.map → chunk-FERMW3YE.js.map} +1 -1
  121. package/dist/{chunk-M24NCWBU.js → chunk-FFWAY7F5.js} +3 -3
  122. package/dist/{chunk-M24NCWBU.js.map → chunk-FFWAY7F5.js.map} +1 -1
  123. package/dist/{chunk-SYXLPCQP.cjs → chunk-FQSSVOVQ.cjs} +4 -4
  124. package/dist/{chunk-SYXLPCQP.cjs.map → chunk-FQSSVOVQ.cjs.map} +1 -1
  125. package/dist/chunk-FWCREAIT.js +121 -0
  126. package/dist/chunk-FWCREAIT.js.map +1 -0
  127. package/dist/{chunk-RNHIDZLE.cjs → chunk-G7227RTY.cjs} +7 -7
  128. package/dist/{chunk-RNHIDZLE.cjs.map → chunk-G7227RTY.cjs.map} +1 -1
  129. package/dist/{chunk-KUKYJZIU.cjs → chunk-GBGJWAXZ.cjs} +8 -8
  130. package/dist/{chunk-KUKYJZIU.cjs.map → chunk-GBGJWAXZ.cjs.map} +1 -1
  131. package/dist/{chunk-IE4CM2SN.js → chunk-GIIGXAT4.js} +5 -5
  132. package/dist/{chunk-IE4CM2SN.js.map → chunk-GIIGXAT4.js.map} +1 -1
  133. package/dist/{chunk-SKI33QNW.js → chunk-GKEWT3DW.js} +3 -3
  134. package/dist/{chunk-SKI33QNW.js.map → chunk-GKEWT3DW.js.map} +1 -1
  135. package/dist/{chunk-X5VZRFQD.cjs → chunk-H5OPZEVQ.cjs} +5 -5
  136. package/dist/{chunk-X5VZRFQD.cjs.map → chunk-H5OPZEVQ.cjs.map} +1 -1
  137. package/dist/{chunk-CS4GQXYY.js → chunk-H6F6ZWAG.js} +3 -3
  138. package/dist/{chunk-CS4GQXYY.js.map → chunk-H6F6ZWAG.js.map} +1 -1
  139. package/dist/{chunk-T6IXZZBQ.cjs → chunk-HE3JJXIL.cjs} +4 -4
  140. package/dist/{chunk-T6IXZZBQ.cjs.map → chunk-HE3JJXIL.cjs.map} +1 -1
  141. package/dist/{chunk-ARSQY4P7.cjs → chunk-HIN6PHSE.cjs} +7 -7
  142. package/dist/{chunk-ARSQY4P7.cjs.map → chunk-HIN6PHSE.cjs.map} +1 -1
  143. package/dist/{chunk-WT72KW5M.cjs → chunk-HIOMHITU.cjs} +19 -19
  144. package/dist/{chunk-WT72KW5M.cjs.map → chunk-HIOMHITU.cjs.map} +1 -1
  145. package/dist/{chunk-B4JLRS5E.js → chunk-HOP3XXPV.js} +3 -3
  146. package/dist/{chunk-B4JLRS5E.js.map → chunk-HOP3XXPV.js.map} +1 -1
  147. package/dist/chunk-HPNIEYSJ.cjs +131 -0
  148. package/dist/chunk-HPNIEYSJ.cjs.map +1 -0
  149. package/dist/{chunk-CQWPMRYS.js → chunk-HYNED2OA.js} +5 -5
  150. package/dist/{chunk-CQWPMRYS.js.map → chunk-HYNED2OA.js.map} +1 -1
  151. package/dist/{chunk-IF5LOWUL.js → chunk-I3RPL3GE.js} +3 -3
  152. package/dist/{chunk-IF5LOWUL.js.map → chunk-I3RPL3GE.js.map} +1 -1
  153. package/dist/{chunk-6Y2QO7YV.cjs → chunk-ICT477LK.cjs} +8 -8
  154. package/dist/{chunk-6Y2QO7YV.cjs.map → chunk-ICT477LK.cjs.map} +1 -1
  155. package/dist/{chunk-VBZZ4CMM.cjs → chunk-ISPCXIJZ.cjs} +5 -5
  156. package/dist/{chunk-VBZZ4CMM.cjs.map → chunk-ISPCXIJZ.cjs.map} +1 -1
  157. package/dist/{chunk-M7EEQPE7.js → chunk-IVRYSSM7.js} +3 -3
  158. package/dist/{chunk-M7EEQPE7.js.map → chunk-IVRYSSM7.js.map} +1 -1
  159. package/dist/{chunk-D4WM23Y4.js → chunk-IWXP2YUP.js} +3 -3
  160. package/dist/{chunk-D4WM23Y4.js.map → chunk-IWXP2YUP.js.map} +1 -1
  161. package/dist/{chunk-6GC5DMOK.cjs → chunk-JFOORUUD.cjs} +8 -8
  162. package/dist/{chunk-6GC5DMOK.cjs.map → chunk-JFOORUUD.cjs.map} +1 -1
  163. package/dist/{chunk-MZIU27UY.js → chunk-JICO4LTT.js} +3 -3
  164. package/dist/{chunk-MZIU27UY.js.map → chunk-JICO4LTT.js.map} +1 -1
  165. package/dist/{chunk-ZNTEM7F2.js → chunk-JJBOKZWV.js} +3 -3
  166. package/dist/{chunk-ZNTEM7F2.js.map → chunk-JJBOKZWV.js.map} +1 -1
  167. package/dist/{chunk-FO4GCX67.cjs → chunk-JM2H642B.cjs} +9 -9
  168. package/dist/{chunk-FO4GCX67.cjs.map → chunk-JM2H642B.cjs.map} +1 -1
  169. package/dist/{chunk-7ZDIQOFH.cjs → chunk-JV6RDIA6.cjs} +13 -13
  170. package/dist/{chunk-7ZDIQOFH.cjs.map → chunk-JV6RDIA6.cjs.map} +1 -1
  171. package/dist/{chunk-K7JGOQJG.js → chunk-KKWNKBKR.js} +3 -3
  172. package/dist/{chunk-K7JGOQJG.js.map → chunk-KKWNKBKR.js.map} +1 -1
  173. package/dist/{chunk-QWSTG5MF.js → chunk-KO2HLNBB.js} +7 -7
  174. package/dist/{chunk-QWSTG5MF.js.map → chunk-KO2HLNBB.js.map} +1 -1
  175. package/dist/{chunk-5QL7XT3N.js → chunk-KQQA7JBC.js} +4 -4
  176. package/dist/{chunk-5QL7XT3N.js.map → chunk-KQQA7JBC.js.map} +1 -1
  177. package/dist/{chunk-DWRMC2FN.cjs → chunk-LMPPAQKP.cjs} +7 -7
  178. package/dist/{chunk-DWRMC2FN.cjs.map → chunk-LMPPAQKP.cjs.map} +1 -1
  179. package/dist/{chunk-JU5W65N3.cjs → chunk-LNFMT2CE.cjs} +18 -18
  180. package/dist/{chunk-JU5W65N3.cjs.map → chunk-LNFMT2CE.cjs.map} +1 -1
  181. package/dist/{chunk-M2S5GCXY.cjs → chunk-LY7PZEF4.cjs} +11 -11
  182. package/dist/{chunk-M2S5GCXY.cjs.map → chunk-LY7PZEF4.cjs.map} +1 -1
  183. package/dist/{chunk-AKIUDPJU.js → chunk-LYHQ4VBR.js} +3 -3
  184. package/dist/{chunk-AKIUDPJU.js.map → chunk-LYHQ4VBR.js.map} +1 -1
  185. package/dist/{chunk-MKFWFZVX.js → chunk-M6AONUIX.js} +3 -3
  186. package/dist/{chunk-MKFWFZVX.js.map → chunk-M6AONUIX.js.map} +1 -1
  187. package/dist/{chunk-KKYP5R3G.cjs → chunk-MCCE5RDB.cjs} +12 -12
  188. package/dist/{chunk-KKYP5R3G.cjs.map → chunk-MCCE5RDB.cjs.map} +1 -1
  189. package/dist/{chunk-X36ZGYTF.js → chunk-MEUR7C6X.js} +5 -5
  190. package/dist/{chunk-X36ZGYTF.js.map → chunk-MEUR7C6X.js.map} +1 -1
  191. package/dist/{chunk-RM4QWJS3.js → chunk-MIUSTEIV.js} +3 -3
  192. package/dist/{chunk-RM4QWJS3.js.map → chunk-MIUSTEIV.js.map} +1 -1
  193. package/dist/chunk-MMW2JGKZ.js +29 -0
  194. package/dist/chunk-MMW2JGKZ.js.map +1 -0
  195. package/dist/{chunk-RID7CYGD.js → chunk-MRRKDRZU.js} +5 -5
  196. package/dist/{chunk-RID7CYGD.js.map → chunk-MRRKDRZU.js.map} +1 -1
  197. package/dist/{chunk-A3CNYKT3.js → chunk-MUCXXYDN.js} +3 -3
  198. package/dist/{chunk-A3CNYKT3.js.map → chunk-MUCXXYDN.js.map} +1 -1
  199. package/dist/{chunk-CZZH45GQ.cjs → chunk-N4VHOTMK.cjs} +9 -9
  200. package/dist/{chunk-CZZH45GQ.cjs.map → chunk-N4VHOTMK.cjs.map} +1 -1
  201. package/dist/{chunk-6FBFE66M.cjs → chunk-N6K2CTSU.cjs} +5 -5
  202. package/dist/{chunk-6FBFE66M.cjs.map → chunk-N6K2CTSU.cjs.map} +1 -1
  203. package/dist/{chunk-DJ3YM72H.cjs → chunk-ND5D7GJB.cjs} +4 -4
  204. package/dist/{chunk-DJ3YM72H.cjs.map → chunk-ND5D7GJB.cjs.map} +1 -1
  205. package/dist/{chunk-YCZN4FWI.js → chunk-NDUEPDNS.js} +3 -3
  206. package/dist/{chunk-YCZN4FWI.js.map → chunk-NDUEPDNS.js.map} +1 -1
  207. package/dist/{chunk-6FYMMQ3G.cjs → chunk-NHTSQRAF.cjs} +10 -10
  208. package/dist/{chunk-6FYMMQ3G.cjs.map → chunk-NHTSQRAF.cjs.map} +1 -1
  209. package/dist/{chunk-PPLR2DNC.cjs → chunk-NP7SU2DF.cjs} +5 -5
  210. package/dist/{chunk-PPLR2DNC.cjs.map → chunk-NP7SU2DF.cjs.map} +1 -1
  211. package/dist/{chunk-POZZY3D5.cjs → chunk-NR346SKH.cjs} +5 -5
  212. package/dist/{chunk-POZZY3D5.cjs.map → chunk-NR346SKH.cjs.map} +1 -1
  213. package/dist/{chunk-TECFGOV2.js → chunk-NTMHP7FS.js} +3 -3
  214. package/dist/{chunk-TECFGOV2.js.map → chunk-NTMHP7FS.js.map} +1 -1
  215. package/dist/{chunk-7XDKIZQE.js → chunk-NUPQJ5SJ.js} +3 -3
  216. package/dist/{chunk-7XDKIZQE.js.map → chunk-NUPQJ5SJ.js.map} +1 -1
  217. package/dist/{chunk-M645OITZ.js → chunk-NYDR2VSA.js} +3 -3
  218. package/dist/{chunk-M645OITZ.js.map → chunk-NYDR2VSA.js.map} +1 -1
  219. package/dist/{chunk-3SQ34IQC.cjs → chunk-NZFJ4XMJ.cjs} +10 -10
  220. package/dist/{chunk-3SQ34IQC.cjs.map → chunk-NZFJ4XMJ.cjs.map} +1 -1
  221. package/dist/{chunk-YT42J4VQ.js → chunk-O6E2WC3J.js} +3 -3
  222. package/dist/{chunk-YT42J4VQ.js.map → chunk-O6E2WC3J.js.map} +1 -1
  223. package/dist/{chunk-5LHG7HEY.cjs → chunk-O6GTY53I.cjs} +4 -4
  224. package/dist/{chunk-5LHG7HEY.cjs.map → chunk-O6GTY53I.cjs.map} +1 -1
  225. package/dist/{chunk-ESKVRRVA.js → chunk-OFHO5SXA.js} +3 -3
  226. package/dist/{chunk-ESKVRRVA.js.map → chunk-OFHO5SXA.js.map} +1 -1
  227. package/dist/{chunk-SCPHSBBU.cjs → chunk-OGEE23SP.cjs} +4 -4
  228. package/dist/{chunk-SCPHSBBU.cjs.map → chunk-OGEE23SP.cjs.map} +1 -1
  229. package/dist/{chunk-RR7BWUVP.cjs → chunk-OS2QC3NE.cjs} +6 -6
  230. package/dist/{chunk-RR7BWUVP.cjs.map → chunk-OS2QC3NE.cjs.map} +1 -1
  231. package/dist/{chunk-F6SCZCJE.js → chunk-P7F32HIH.js} +3 -3
  232. package/dist/{chunk-F6SCZCJE.js.map → chunk-P7F32HIH.js.map} +1 -1
  233. package/dist/{chunk-WXADO5TS.cjs → chunk-PAESRUUH.cjs} +10 -10
  234. package/dist/{chunk-WXADO5TS.cjs.map → chunk-PAESRUUH.cjs.map} +1 -1
  235. package/dist/{chunk-PH3WGR5P.cjs → chunk-PFEFKLUV.cjs} +8 -8
  236. package/dist/{chunk-PH3WGR5P.cjs.map → chunk-PFEFKLUV.cjs.map} +1 -1
  237. package/dist/{chunk-5HOQ2PHR.cjs → chunk-PV5WDIGM.cjs} +9 -9
  238. package/dist/{chunk-5HOQ2PHR.cjs.map → chunk-PV5WDIGM.cjs.map} +1 -1
  239. package/dist/{chunk-DDRHCFUE.js → chunk-PVQBXEV3.js} +6 -6
  240. package/dist/{chunk-DDRHCFUE.js.map → chunk-PVQBXEV3.js.map} +1 -1
  241. package/dist/{chunk-D7NAXQ2N.js → chunk-PWEZCMIY.js} +3 -3
  242. package/dist/{chunk-D7NAXQ2N.js.map → chunk-PWEZCMIY.js.map} +1 -1
  243. package/dist/{chunk-LYFUPTLG.cjs → chunk-PWLBHNOA.cjs} +14 -14
  244. package/dist/{chunk-LYFUPTLG.cjs.map → chunk-PWLBHNOA.cjs.map} +1 -1
  245. package/dist/{chunk-BPBI3WWQ.cjs → chunk-QAFAPHAF.cjs} +8 -8
  246. package/dist/{chunk-BPBI3WWQ.cjs.map → chunk-QAFAPHAF.cjs.map} +1 -1
  247. package/dist/{chunk-AC7M7JDO.cjs → chunk-QDVDBUJM.cjs} +6 -6
  248. package/dist/{chunk-AC7M7JDO.cjs.map → chunk-QDVDBUJM.cjs.map} +1 -1
  249. package/dist/{chunk-2ICXWLKS.js → chunk-QJKWBU3I.js} +3 -3
  250. package/dist/{chunk-2ICXWLKS.js.map → chunk-QJKWBU3I.js.map} +1 -1
  251. package/dist/{chunk-JXIBUIEY.cjs → chunk-QKFOJKVE.cjs} +4 -4
  252. package/dist/{chunk-JXIBUIEY.cjs.map → chunk-QKFOJKVE.cjs.map} +1 -1
  253. package/dist/{chunk-NNSNANNY.cjs → chunk-QOGKO6JH.cjs} +5 -5
  254. package/dist/{chunk-NNSNANNY.cjs.map → chunk-QOGKO6JH.cjs.map} +1 -1
  255. package/dist/{chunk-B3HVWXIQ.cjs → chunk-QSFTWIUH.cjs} +8 -8
  256. package/dist/{chunk-B3HVWXIQ.cjs.map → chunk-QSFTWIUH.cjs.map} +1 -1
  257. package/dist/{chunk-3MHVFEIP.cjs → chunk-QW66UHWO.cjs} +4 -4
  258. package/dist/{chunk-3MHVFEIP.cjs.map → chunk-QW66UHWO.cjs.map} +1 -1
  259. package/dist/{chunk-IGYIMS6J.js → chunk-RA2VOQ46.js} +3 -3
  260. package/dist/{chunk-IGYIMS6J.js.map → chunk-RA2VOQ46.js.map} +1 -1
  261. package/dist/{chunk-HG6XUJOT.js → chunk-RFLPFQFF.js} +3 -3
  262. package/dist/{chunk-HG6XUJOT.js.map → chunk-RFLPFQFF.js.map} +1 -1
  263. package/dist/{chunk-KICZTIZL.cjs → chunk-RKG2Q2HT.cjs} +7 -7
  264. package/dist/{chunk-KICZTIZL.cjs.map → chunk-RKG2Q2HT.cjs.map} +1 -1
  265. package/dist/{chunk-PRJSEZ5F.cjs → chunk-RN2EW7CK.cjs} +12 -12
  266. package/dist/{chunk-PRJSEZ5F.cjs.map → chunk-RN2EW7CK.cjs.map} +1 -1
  267. package/dist/{chunk-EERAEPQO.cjs → chunk-RPVCMW64.cjs} +12 -12
  268. package/dist/{chunk-EERAEPQO.cjs.map → chunk-RPVCMW64.cjs.map} +1 -1
  269. package/dist/{chunk-ATFXU6R6.js → chunk-RSLZL6VP.js} +3 -3
  270. package/dist/{chunk-ATFXU6R6.js.map → chunk-RSLZL6VP.js.map} +1 -1
  271. package/dist/{chunk-HNITJ2UR.js → chunk-SAF5642F.js} +4 -4
  272. package/dist/{chunk-HNITJ2UR.js.map → chunk-SAF5642F.js.map} +1 -1
  273. package/dist/{chunk-4UA45GB4.js → chunk-SG3L4322.js} +6 -6
  274. package/dist/{chunk-4UA45GB4.js.map → chunk-SG3L4322.js.map} +1 -1
  275. package/dist/{chunk-PG3ILQIW.js → chunk-SLJD25VV.js} +3 -3
  276. package/dist/{chunk-PG3ILQIW.js.map → chunk-SLJD25VV.js.map} +1 -1
  277. package/dist/{chunk-EQGY3QDJ.cjs → chunk-SO4NNG26.cjs} +7 -7
  278. package/dist/{chunk-EQGY3QDJ.cjs.map → chunk-SO4NNG26.cjs.map} +1 -1
  279. package/dist/{chunk-DZD2RJVD.js → chunk-SOYORSLZ.js} +3 -3
  280. package/dist/{chunk-DZD2RJVD.js.map → chunk-SOYORSLZ.js.map} +1 -1
  281. package/dist/{chunk-MGZE2QEM.cjs → chunk-SUCBR6L5.cjs} +6 -6
  282. package/dist/{chunk-MGZE2QEM.cjs.map → chunk-SUCBR6L5.cjs.map} +1 -1
  283. package/dist/{chunk-NLJGNPNN.js → chunk-SWBF2BXA.js} +3 -3
  284. package/dist/{chunk-NLJGNPNN.js.map → chunk-SWBF2BXA.js.map} +1 -1
  285. package/dist/{chunk-6H6OYLMJ.js → chunk-SX4CSO6C.js} +3 -3
  286. package/dist/{chunk-6H6OYLMJ.js.map → chunk-SX4CSO6C.js.map} +1 -1
  287. package/dist/{chunk-ORFHF6PT.cjs → chunk-T5OCRKPD.cjs} +6 -6
  288. package/dist/{chunk-ORFHF6PT.cjs.map → chunk-T5OCRKPD.cjs.map} +1 -1
  289. package/dist/{chunk-AGDW5ENV.js → chunk-TB35HNBE.js} +3 -3
  290. package/dist/{chunk-AGDW5ENV.js.map → chunk-TB35HNBE.js.map} +1 -1
  291. package/dist/{chunk-RES2GOQQ.js → chunk-TDDWWAM5.js} +3 -3
  292. package/dist/{chunk-RES2GOQQ.js.map → chunk-TDDWWAM5.js.map} +1 -1
  293. package/dist/{chunk-6L6LI2RL.cjs → chunk-TGNQ5Y6F.cjs} +4 -4
  294. package/dist/{chunk-6L6LI2RL.cjs.map → chunk-TGNQ5Y6F.cjs.map} +1 -1
  295. package/dist/{chunk-I462NM2A.cjs → chunk-TH7VP4CL.cjs} +5 -5
  296. package/dist/{chunk-I462NM2A.cjs.map → chunk-TH7VP4CL.cjs.map} +1 -1
  297. package/dist/{chunk-PYRMH34E.js → chunk-TJJ63UJV.js} +3 -3
  298. package/dist/{chunk-PYRMH34E.js.map → chunk-TJJ63UJV.js.map} +1 -1
  299. package/dist/{chunk-I25RP6AM.js → chunk-TQFQUNV3.js} +3 -3
  300. package/dist/{chunk-I25RP6AM.js.map → chunk-TQFQUNV3.js.map} +1 -1
  301. package/dist/{chunk-RMFLRBUC.cjs → chunk-TWSPVX6X.cjs} +8 -8
  302. package/dist/{chunk-RMFLRBUC.cjs.map → chunk-TWSPVX6X.cjs.map} +1 -1
  303. package/dist/{chunk-UPVWN72I.cjs → chunk-TXCAIL5X.cjs} +7 -7
  304. package/dist/{chunk-UPVWN72I.cjs.map → chunk-TXCAIL5X.cjs.map} +1 -1
  305. package/dist/{chunk-LZL2KD4P.cjs → chunk-TZHK3LEW.cjs} +9 -9
  306. package/dist/{chunk-LZL2KD4P.cjs.map → chunk-TZHK3LEW.cjs.map} +1 -1
  307. package/dist/{chunk-74ZN5CNE.js → chunk-UIJR26YW.js} +3 -3
  308. package/dist/{chunk-74ZN5CNE.js.map → chunk-UIJR26YW.js.map} +1 -1
  309. package/dist/{chunk-CFBK5RIZ.js → chunk-UKUNWGL5.js} +3 -3
  310. package/dist/{chunk-CFBK5RIZ.js.map → chunk-UKUNWGL5.js.map} +1 -1
  311. package/dist/{chunk-IGU5YXRV.cjs → chunk-UMJ3JMDT.cjs} +9 -9
  312. package/dist/{chunk-IGU5YXRV.cjs.map → chunk-UMJ3JMDT.cjs.map} +1 -1
  313. package/dist/{chunk-JHEM6IGT.cjs → chunk-V35A6B7A.cjs} +4 -4
  314. package/dist/{chunk-JHEM6IGT.cjs.map → chunk-V35A6B7A.cjs.map} +1 -1
  315. package/dist/{chunk-PRDWJ4AR.js → chunk-VFIVF5YO.js} +3 -3
  316. package/dist/{chunk-PRDWJ4AR.js.map → chunk-VFIVF5YO.js.map} +1 -1
  317. package/dist/{chunk-Y6DK4CGY.js → chunk-VGAOLXTK.js} +14 -14
  318. package/dist/{chunk-Y6DK4CGY.js.map → chunk-VGAOLXTK.js.map} +1 -1
  319. package/dist/{chunk-IJ4I55QQ.cjs → chunk-VGBZWDMM.cjs} +4 -4
  320. package/dist/{chunk-IJ4I55QQ.cjs.map → chunk-VGBZWDMM.cjs.map} +1 -1
  321. package/dist/{chunk-DBJWHDWP.js → chunk-VKMPVFQK.js} +3 -3
  322. package/dist/{chunk-DBJWHDWP.js.map → chunk-VKMPVFQK.js.map} +1 -1
  323. package/dist/{chunk-5OC6DUYT.js → chunk-VME5743O.js} +3 -3
  324. package/dist/{chunk-5OC6DUYT.js.map → chunk-VME5743O.js.map} +1 -1
  325. package/dist/{chunk-YVDAXYHP.js → chunk-VOGI7GX3.js} +3 -3
  326. package/dist/{chunk-YVDAXYHP.js.map → chunk-VOGI7GX3.js.map} +1 -1
  327. package/dist/{chunk-R55HE5C5.js → chunk-VVL5LMLW.js} +3 -3
  328. package/dist/{chunk-R55HE5C5.js.map → chunk-VVL5LMLW.js.map} +1 -1
  329. package/dist/{chunk-2CYRAKWI.cjs → chunk-VW6WUXFR.cjs} +11 -11
  330. package/dist/{chunk-2CYRAKWI.cjs.map → chunk-VW6WUXFR.cjs.map} +1 -1
  331. package/dist/{chunk-6RYZ2MOE.js → chunk-VYQI4R6S.js} +4 -4
  332. package/dist/{chunk-6RYZ2MOE.js.map → chunk-VYQI4R6S.js.map} +1 -1
  333. package/dist/{chunk-HBFVOHQC.cjs → chunk-WCWZADR2.cjs} +7 -7
  334. package/dist/{chunk-HBFVOHQC.cjs.map → chunk-WCWZADR2.cjs.map} +1 -1
  335. package/dist/{chunk-IXHZVFHX.cjs → chunk-WKAEAGMT.cjs} +4 -4
  336. package/dist/{chunk-IXHZVFHX.cjs.map → chunk-WKAEAGMT.cjs.map} +1 -1
  337. package/dist/{chunk-PBXYU4EV.cjs → chunk-WKNVZUWZ.cjs} +5 -5
  338. package/dist/{chunk-PBXYU4EV.cjs.map → chunk-WKNVZUWZ.cjs.map} +1 -1
  339. package/dist/{chunk-6BW5BQMN.cjs → chunk-XKDW6B7X.cjs} +4 -4
  340. package/dist/{chunk-6BW5BQMN.cjs.map → chunk-XKDW6B7X.cjs.map} +1 -1
  341. package/dist/{chunk-23CLGUMT.cjs → chunk-XLFGWNW4.cjs} +4 -4
  342. package/dist/{chunk-23CLGUMT.cjs.map → chunk-XLFGWNW4.cjs.map} +1 -1
  343. package/dist/{chunk-PJ4TQ6YO.js → chunk-XLVYW5LK.js} +5 -5
  344. package/dist/{chunk-PJ4TQ6YO.js.map → chunk-XLVYW5LK.js.map} +1 -1
  345. package/dist/{chunk-MPDLL4X3.cjs → chunk-XQNYFXBY.cjs} +8 -8
  346. package/dist/{chunk-MPDLL4X3.cjs.map → chunk-XQNYFXBY.cjs.map} +1 -1
  347. package/dist/{chunk-I2JXK25I.js → chunk-XXBW4EUO.js} +3 -3
  348. package/dist/{chunk-I2JXK25I.js.map → chunk-XXBW4EUO.js.map} +1 -1
  349. package/dist/{chunk-RA3P63XW.cjs → chunk-Y3T7WMT6.cjs} +4 -4
  350. package/dist/{chunk-RA3P63XW.cjs.map → chunk-Y3T7WMT6.cjs.map} +1 -1
  351. package/dist/{chunk-LPQVXTKV.js → chunk-Y4UPKJN5.js} +3 -3
  352. package/dist/{chunk-LPQVXTKV.js.map → chunk-Y4UPKJN5.js.map} +1 -1
  353. package/dist/{chunk-47TFRODY.cjs → chunk-YAJYIRQL.cjs} +4 -4
  354. package/dist/{chunk-47TFRODY.cjs.map → chunk-YAJYIRQL.cjs.map} +1 -1
  355. package/dist/{chunk-DTPGJNOI.js → chunk-YCV43A7D.js} +3 -3
  356. package/dist/{chunk-DTPGJNOI.js.map → chunk-YCV43A7D.js.map} +1 -1
  357. package/dist/{chunk-YT6N44Z3.js → chunk-YF2EHBTV.js} +3 -3
  358. package/dist/{chunk-YT6N44Z3.js.map → chunk-YF2EHBTV.js.map} +1 -1
  359. package/dist/{chunk-4CM2VMLR.js → chunk-YLDYGT5O.js} +3 -3
  360. package/dist/{chunk-4CM2VMLR.js.map → chunk-YLDYGT5O.js.map} +1 -1
  361. package/dist/{chunk-JIYP73OJ.js → chunk-YQJWD53X.js} +3 -3
  362. package/dist/{chunk-JIYP73OJ.js.map → chunk-YQJWD53X.js.map} +1 -1
  363. package/dist/{chunk-O4MKOSU2.js → chunk-YTMQ2K64.js} +3 -3
  364. package/dist/{chunk-O4MKOSU2.js.map → chunk-YTMQ2K64.js.map} +1 -1
  365. package/dist/{chunk-IF25CE6S.cjs → chunk-YTXBU6QC.cjs} +6 -6
  366. package/dist/{chunk-IF25CE6S.cjs.map → chunk-YTXBU6QC.cjs.map} +1 -1
  367. package/dist/{chunk-F6NEPU67.cjs → chunk-Z43BI7CQ.cjs} +10 -10
  368. package/dist/{chunk-F6NEPU67.cjs.map → chunk-Z43BI7CQ.cjs.map} +1 -1
  369. package/dist/{chunk-BEGDL2CD.js → chunk-ZI7JP3TN.js} +3 -3
  370. package/dist/{chunk-BEGDL2CD.js.map → chunk-ZI7JP3TN.js.map} +1 -1
  371. package/dist/{chunk-3F66SAE7.js → chunk-ZKFFHIEW.js} +3 -3
  372. package/dist/{chunk-3F66SAE7.js.map → chunk-ZKFFHIEW.js.map} +1 -1
  373. package/dist/{chunk-QFFC2DKK.js → chunk-ZLWCZV7R.js} +3 -3
  374. package/dist/{chunk-QFFC2DKK.js.map → chunk-ZLWCZV7R.js.map} +1 -1
  375. package/dist/{chunk-BWTFK2GV.cjs → chunk-ZMD3PIYF.cjs} +12 -12
  376. package/dist/{chunk-BWTFK2GV.cjs.map → chunk-ZMD3PIYF.cjs.map} +1 -1
  377. package/dist/{chunk-5I4PR2KV.cjs → chunk-ZPHHKIFV.cjs} +10 -10
  378. package/dist/{chunk-5I4PR2KV.cjs.map → chunk-ZPHHKIFV.cjs.map} +1 -1
  379. package/dist/{chunk-JPTWZ3RF.cjs → chunk-ZTC3EQFZ.cjs} +8 -8
  380. package/dist/{chunk-JPTWZ3RF.cjs.map → chunk-ZTC3EQFZ.cjs.map} +1 -1
  381. package/dist/chunk-ZU5Q77OT.cjs +31 -0
  382. package/dist/chunk-ZU5Q77OT.cjs.map +1 -0
  383. package/dist/{chunk-ORPYY2MO.cjs → chunk-ZVDW2VX5.cjs} +4 -4
  384. package/dist/{chunk-ORPYY2MO.cjs.map → chunk-ZVDW2VX5.cjs.map} +1 -1
  385. package/dist/{chunk-4DQ6HX27.cjs → chunk-ZVRVOKXH.cjs} +7 -7
  386. package/dist/{chunk-4DQ6HX27.cjs.map → chunk-ZVRVOKXH.cjs.map} +1 -1
  387. package/dist/code-view.cjs +3 -3
  388. package/dist/code-view.js +2 -2
  389. package/dist/color-picker.cjs +3 -3
  390. package/dist/color-picker.js +2 -2
  391. package/dist/command.cjs +4 -4
  392. package/dist/command.js +2 -2
  393. package/dist/composer.cjs +3 -3
  394. package/dist/composer.js +2 -2
  395. package/dist/container.cjs +3 -3
  396. package/dist/container.js +2 -2
  397. package/dist/content-renderer.cjs +5 -5
  398. package/dist/content-renderer.js +2 -2
  399. package/dist/context-menu.cjs +4 -4
  400. package/dist/context-menu.js +2 -2
  401. package/dist/date-picker.cjs +5 -5
  402. package/dist/date-picker.js +4 -4
  403. package/dist/drawer.cjs +4 -4
  404. package/dist/drawer.js +2 -2
  405. package/dist/dropdown.cjs +4 -4
  406. package/dist/dropdown.js +2 -2
  407. package/dist/editor.cjs +7 -7
  408. package/dist/editor.js +5 -5
  409. package/dist/emoji-select.cjs +3 -3
  410. package/dist/emoji-select.js +2 -2
  411. package/dist/emoji.cjs +3 -3
  412. package/dist/emoji.js +2 -2
  413. package/dist/eyebrow.cjs +3 -3
  414. package/dist/eyebrow.js +2 -2
  415. package/dist/faux-client.cjs +3 -3
  416. package/dist/faux-client.js +2 -2
  417. package/dist/field.cjs +3 -3
  418. package/dist/field.js +2 -2
  419. package/dist/file-browser.cjs +6 -6
  420. package/dist/file-browser.js +2 -2
  421. package/dist/file-upload.cjs +4 -4
  422. package/dist/file-upload.js +2 -2
  423. package/dist/grid.cjs +3 -3
  424. package/dist/grid.js +2 -2
  425. package/dist/heading.cjs +3 -3
  426. package/dist/heading.js +2 -2
  427. package/dist/icon.cjs +8 -8
  428. package/dist/icon.js +2 -2
  429. package/dist/image-viewer.cjs +3 -3
  430. package/dist/image-viewer.js +2 -2
  431. package/dist/index-list.cjs +3 -3
  432. package/dist/index-list.js +2 -2
  433. package/dist/index.cjs +251 -223
  434. package/dist/index.d.cts +79 -2
  435. package/dist/index.d.ts +79 -2
  436. package/dist/index.js +88 -88
  437. package/dist/input.cjs +6 -6
  438. package/dist/input.js +5 -5
  439. package/dist/inputs.cjs +26 -26
  440. package/dist/inputs.js +14 -14
  441. package/dist/json-editor.cjs +27 -27
  442. package/dist/json-editor.js +16 -16
  443. package/dist/kanban.cjs +4 -4
  444. package/dist/kanban.js +2 -2
  445. package/dist/kbd.cjs +3 -3
  446. package/dist/kbd.js +2 -2
  447. package/dist/magic-wand.cjs +10 -10
  448. package/dist/magic-wand.js +9 -9
  449. package/dist/marquee.cjs +3 -3
  450. package/dist/marquee.js +2 -2
  451. package/dist/media-viewer.cjs +7 -7
  452. package/dist/media-viewer.js +6 -6
  453. package/dist/menu.cjs +4 -4
  454. package/dist/menu.js +2 -2
  455. package/dist/mobile-menu.cjs +5 -5
  456. package/dist/mobile-menu.js +3 -3
  457. package/dist/modal.cjs +4 -4
  458. package/dist/modal.js +2 -2
  459. package/dist/mode.cjs +3 -3
  460. package/dist/mode.js +2 -2
  461. package/dist/multi-switch.cjs +5 -5
  462. package/dist/multi-switch.js +4 -4
  463. package/dist/navbar.cjs +4 -4
  464. package/dist/navbar.js +2 -2
  465. package/dist/otp-input.cjs +3 -3
  466. package/dist/otp-input.js +2 -2
  467. package/dist/pagination.cjs +3 -3
  468. package/dist/pagination.js +2 -2
  469. package/dist/pdf-viewer.cjs +3 -3
  470. package/dist/pdf-viewer.js +2 -2
  471. package/dist/pillbox.cjs +3 -3
  472. package/dist/pillbox.js +2 -2
  473. package/dist/popover.cjs +4 -4
  474. package/dist/popover.js +2 -2
  475. package/dist/profile.cjs +4 -4
  476. package/dist/profile.js +3 -3
  477. package/dist/progress.cjs +3 -3
  478. package/dist/progress.js +2 -2
  479. package/dist/prompt-input.cjs +6 -6
  480. package/dist/prompt-input.js +5 -5
  481. package/dist/pull-quote.cjs +3 -3
  482. package/dist/pull-quote.js +2 -2
  483. package/dist/radio-group.cjs +5 -5
  484. package/dist/radio-group.js +4 -4
  485. package/dist/reason-tag.cjs +6 -6
  486. package/dist/reason-tag.js +5 -5
  487. package/dist/section.cjs +3 -3
  488. package/dist/section.js +2 -2
  489. package/dist/select.cjs +6 -6
  490. package/dist/select.js +5 -5
  491. package/dist/separator.cjs +3 -3
  492. package/dist/separator.js +2 -2
  493. package/dist/sidebar.cjs +5 -5
  494. package/dist/sidebar.js +3 -3
  495. package/dist/skeleton.cjs +3 -3
  496. package/dist/skeleton.js +2 -2
  497. package/dist/slider.cjs +5 -5
  498. package/dist/slider.js +4 -4
  499. package/dist/stat-list.cjs +3 -3
  500. package/dist/stat-list.js +2 -2
  501. package/dist/stat.cjs +4 -4
  502. package/dist/stat.js +2 -2
  503. package/dist/sticky-note.cjs +3 -3
  504. package/dist/sticky-note.js +2 -2
  505. package/dist/switch.cjs +3 -3
  506. package/dist/switch.js +2 -2
  507. package/dist/table.cjs +12 -12
  508. package/dist/table.js +2 -2
  509. package/dist/tabs.cjs +4 -4
  510. package/dist/tabs.js +2 -2
  511. package/dist/text.cjs +3 -3
  512. package/dist/text.js +2 -2
  513. package/dist/textarea.cjs +6 -6
  514. package/dist/textarea.js +5 -5
  515. package/dist/time-grid.cjs +3 -3
  516. package/dist/time-grid.js +2 -2
  517. package/dist/time-picker.cjs +3 -3
  518. package/dist/time-picker.js +2 -2
  519. package/dist/timeline.cjs +5 -5
  520. package/dist/timeline.js +2 -2
  521. package/dist/toast.cjs +4 -4
  522. package/dist/toast.js +2 -2
  523. package/dist/tooltip.cjs +3 -3
  524. package/dist/tooltip.js +2 -2
  525. package/dist/tree-nav.cjs +4 -4
  526. package/dist/tree-nav.js +2 -2
  527. package/dist/video-viewer.cjs +3 -3
  528. package/dist/video-viewer.js +2 -2
  529. package/package.json +2 -3
  530. package/dist/chunk-3Z6ALUWP.cjs +0 -13
  531. package/dist/chunk-3Z6ALUWP.cjs.map +0 -1
  532. package/dist/chunk-DSUHZO6T.js +0 -11
  533. package/dist/chunk-DSUHZO6T.js.map +0 -1
  534. package/dist/chunk-G34OBTU3.cjs +0 -27
  535. package/dist/chunk-G34OBTU3.cjs.map +0 -1
  536. package/dist/chunk-RNPFSVFN.js +0 -24
  537. package/dist/chunk-RNPFSVFN.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Composer/Composer.tsx"],"names":["forwardRef","Composer","useControllableState","useRef","useCallback","jsxs","cn","jsx"],"mappings":";;;;;;;AAKO,IAAM,QAAA,GAAWA,gBAAA;AAAA,EACtB,SAASC,SAAAA,CACP;AAAA,IACE,KAAA,EAAO,eAAA;AAAA,IACP,YAAA,GAAe,EAAA;AAAA,IACf,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA,GAAc,mBAAA;AAAA,IACd,OAAA;AAAA,IACA,QAAA,GAAW,KAAA;AAAA,IACX;AAAA,KAEF,GAAA,EACA;AACA,IAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,sCAAA;AAAA,MACxB,eAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,MAAM,WAAA,GAAcC,aAA4B,IAAI,CAAA;AAEpD,IAAA,MAAM,YAAA,GAAeC,kBAAY,MAAM;AACrC,MAAA,IAAI,CAAC,KAAA,CAAM,IAAA,EAAK,IAAK,QAAA,EAAU;AAC/B,MAAA,QAAA,GAAW,KAAK,CAAA;AAChB,MAAA,QAAA,CAAS,EAAE,CAAA;AACX,MAAA,WAAA,CAAY,SAAS,KAAA,EAAM;AAAA,IAC7B,GAAG,CAAC,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,QAAQ,CAAC,CAAA;AAExC,IAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAAgD;AACrE,MAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAC,EAAE,QAAA,EAAU;AACpC,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,YAAA,EAAa;AAAA,MACf;AAAA,IACF,CAAA;AAEA,IAAA,uBACEC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,2BAAA,EAA0B,EAAA;AAAA,QAC1B,GAAA;AAAA,QACA,SAAA,EAAWC,oBAAA;AAAA,UACT,kFAAA;AAAA,UACA,QAAA,IAAY,YAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,WAAA;AAAA,cACL,KAAA;AAAA,cACA,UAAU,CAAC,CAAA,KAAM,QAAA,CAAS,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,cACxC,SAAA,EAAW,aAAA;AAAA,cACX,WAAA;AAAA,cACA,QAAA;AAAA,cACA,IAAA,EAAM,CAAA;AAAA,cACN,SAAA,EAAU;AAAA;AAAA,WACZ;AAAA,0BACAF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2FAAA,EACb,QAAA,EAAA;AAAA,4BAAAE,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,4BAClDA,cAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAS,YAAA;AAAA,gBACT,QAAA,EAAU,QAAA,IAAY,CAAC,KAAA,CAAM,IAAA,EAAK;AAAA,gBAClC,SAAA,EAAU,mLAAA;AAAA,gBACX,QAAA,EAAA;AAAA;AAAA;AAED,WAAA,EACF;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-SCPHSBBU.cjs","sourcesContent":["import { forwardRef, useCallback, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useControllableState } from \"../../hooks/use-controllable-state\";\nimport type { ComposerProps } from \"./Composer.types\";\n\nexport const Composer = forwardRef<HTMLDivElement, ComposerProps>(\n function Composer(\n {\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n onSubmit,\n placeholder = \"Type a message...\",\n actions,\n disabled = false,\n className,\n },\n ref,\n ) {\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n const handleSubmit = useCallback(() => {\n if (!value.trim() || disabled) return;\n onSubmit?.(value);\n setValue(\"\");\n textareaRef.current?.focus();\n }, [value, disabled, onSubmit, setValue]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n handleSubmit();\n }\n };\n\n return (\n <div\n data-react-fancy-composer=\"\"\n ref={ref}\n className={cn(\n \"rounded-xl border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900\",\n disabled && \"opacity-50\",\n className,\n )}\n >\n <textarea\n ref={textareaRef}\n value={value}\n onChange={(e) => setValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n rows={3}\n className=\"w-full resize-none bg-transparent px-4 pt-3 text-sm outline-none placeholder:text-zinc-400\"\n />\n <div className=\"flex items-center justify-between border-t border-zinc-100 px-3 py-2 dark:border-zinc-800\">\n <div className=\"flex items-center gap-1\">{actions}</div>\n <button\n type=\"button\"\n onClick={handleSubmit}\n disabled={disabled || !value.trim()}\n className=\"rounded-lg bg-zinc-900 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-zinc-800 disabled:opacity-50 dark:bg-white dark:text-zinc-900 dark:hover:bg-zinc-100\"\n >\n Send\n </button>\n </div>\n </div>\n );\n },\n);\n\nComposer.displayName = \"Composer\";\n"]}
1
+ {"version":3,"sources":["../src/components/Composer/Composer.tsx"],"names":["forwardRef","Composer","useControllableState","useRef","useCallback","jsxs","cn","jsx"],"mappings":";;;;;;;AAKO,IAAM,QAAA,GAAWA,gBAAA;AAAA,EACtB,SAASC,SAAAA,CACP;AAAA,IACE,KAAA,EAAO,eAAA;AAAA,IACP,YAAA,GAAe,EAAA;AAAA,IACf,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA,GAAc,mBAAA;AAAA,IACd,OAAA;AAAA,IACA,QAAA,GAAW,KAAA;AAAA,IACX;AAAA,KAEF,GAAA,EACA;AACA,IAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,sCAAA;AAAA,MACxB,eAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,MAAM,WAAA,GAAcC,aAA4B,IAAI,CAAA;AAEpD,IAAA,MAAM,YAAA,GAAeC,kBAAY,MAAM;AACrC,MAAA,IAAI,CAAC,KAAA,CAAM,IAAA,EAAK,IAAK,QAAA,EAAU;AAC/B,MAAA,QAAA,GAAW,KAAK,CAAA;AAChB,MAAA,QAAA,CAAS,EAAE,CAAA;AACX,MAAA,WAAA,CAAY,SAAS,KAAA,EAAM;AAAA,IAC7B,GAAG,CAAC,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,QAAQ,CAAC,CAAA;AAExC,IAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,KAAgD;AACrE,MAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAC,EAAE,QAAA,EAAU;AACpC,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,YAAA,EAAa;AAAA,MACf;AAAA,IACF,CAAA;AAEA,IAAA,uBACEC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,2BAAA,EAA0B,EAAA;AAAA,QAC1B,GAAA;AAAA,QACA,SAAA,EAAWC,oBAAA;AAAA,UACT,kFAAA;AAAA,UACA,QAAA,IAAY,YAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,WAAA;AAAA,cACL,KAAA;AAAA,cACA,UAAU,CAAC,CAAA,KAAM,QAAA,CAAS,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,cACxC,SAAA,EAAW,aAAA;AAAA,cACX,WAAA;AAAA,cACA,QAAA;AAAA,cACA,IAAA,EAAM,CAAA;AAAA,cACN,SAAA,EAAU;AAAA;AAAA,WACZ;AAAA,0BACAF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2FAAA,EACb,QAAA,EAAA;AAAA,4BAAAE,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,4BAClDA,cAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,OAAA,EAAS,YAAA;AAAA,gBACT,QAAA,EAAU,QAAA,IAAY,CAAC,KAAA,CAAM,IAAA,EAAK;AAAA,gBAClC,SAAA,EAAU,mLAAA;AAAA,gBACX,QAAA,EAAA;AAAA;AAAA;AAED,WAAA,EACF;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-OGEE23SP.cjs","sourcesContent":["import { forwardRef, useCallback, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useControllableState } from \"../../hooks/use-controllable-state\";\nimport type { ComposerProps } from \"./Composer.types\";\n\nexport const Composer = forwardRef<HTMLDivElement, ComposerProps>(\n function Composer(\n {\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n onSubmit,\n placeholder = \"Type a message...\",\n actions,\n disabled = false,\n className,\n },\n ref,\n ) {\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue,\n onChange,\n );\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n const handleSubmit = useCallback(() => {\n if (!value.trim() || disabled) return;\n onSubmit?.(value);\n setValue(\"\");\n textareaRef.current?.focus();\n }, [value, disabled, onSubmit, setValue]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n handleSubmit();\n }\n };\n\n return (\n <div\n data-react-fancy-composer=\"\"\n ref={ref}\n className={cn(\n \"rounded-xl border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900\",\n disabled && \"opacity-50\",\n className,\n )}\n >\n <textarea\n ref={textareaRef}\n value={value}\n onChange={(e) => setValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n rows={3}\n className=\"w-full resize-none bg-transparent px-4 pt-3 text-sm outline-none placeholder:text-zinc-400\"\n />\n <div className=\"flex items-center justify-between border-t border-zinc-100 px-3 py-2 dark:border-zinc-800\">\n <div className=\"flex items-center gap-1\">{actions}</div>\n <button\n type=\"button\"\n onClick={handleSubmit}\n disabled={disabled || !value.trim()}\n className=\"rounded-lg bg-zinc-900 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-zinc-800 disabled:opacity-50 dark:bg-white dark:text-zinc-900 dark:hover:bg-zinc-100\"\n >\n Send\n </button>\n </div>\n </div>\n );\n },\n);\n\nComposer.displayName = \"Composer\";\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
3
+ var chunkZU5Q77OT_cjs = require('./chunk-ZU5Q77OT.cjs');
4
4
  var react = require('react');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
@@ -14,7 +14,7 @@ var Separator = react.forwardRef(
14
14
  role: "separator",
15
15
  "aria-orientation": "vertical",
16
16
  "data-react-fancy-separator": "",
17
- className: chunk3Z6ALUWP_cjs.cn(
17
+ className: chunkZU5Q77OT_cjs.cn(
18
18
  "inline-block h-full border-l border-zinc-200 dark:border-zinc-700",
19
19
  className
20
20
  )
@@ -28,7 +28,7 @@ var Separator = react.forwardRef(
28
28
  ref,
29
29
  role: "separator",
30
30
  "data-react-fancy-separator": "",
31
- className: chunk3Z6ALUWP_cjs.cn("flex items-center gap-3", className),
31
+ className: chunkZU5Q77OT_cjs.cn("flex items-center gap-3", className),
32
32
  children: [
33
33
  /* @__PURE__ */ jsxRuntime.jsx("hr", { className: "flex-1 border-zinc-200 dark:border-zinc-700" }),
34
34
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-zinc-500 dark:text-zinc-400", children: label }),
@@ -43,7 +43,7 @@ var Separator = react.forwardRef(
43
43
  ref,
44
44
  role: "separator",
45
45
  "data-react-fancy-separator": "",
46
- className: chunk3Z6ALUWP_cjs.cn(
46
+ className: chunkZU5Q77OT_cjs.cn(
47
47
  "border-zinc-200 dark:border-zinc-700",
48
48
  className
49
49
  )
@@ -54,5 +54,5 @@ var Separator = react.forwardRef(
54
54
  Separator.displayName = "Separator";
55
55
 
56
56
  exports.Separator = Separator;
57
- //# sourceMappingURL=chunk-RR7BWUVP.cjs.map
58
- //# sourceMappingURL=chunk-RR7BWUVP.cjs.map
57
+ //# sourceMappingURL=chunk-OS2QC3NE.cjs.map
58
+ //# sourceMappingURL=chunk-OS2QC3NE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Separator/Separator.tsx"],"names":["forwardRef","jsx","cn","jsxs"],"mappings":";;;;;;AAIO,IAAM,SAAA,GAAYA,gBAAA;AAAA,EACvB,CAAC,EAAE,WAAA,GAAc,cAAc,KAAA,EAAO,SAAA,IAAa,GAAA,KAAQ;AACzD,IAAA,IAAI,gBAAgB,UAAA,EAAY;AAC9B,MAAA,uBACEC,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,IAAA,EAAK,WAAA;AAAA,UACL,kBAAA,EAAiB,UAAA;AAAA,UACjB,4BAAA,EAA2B,EAAA;AAAA,UAC3B,SAAA,EAAWC,oBAAA;AAAA,YACT,mEAAA;AAAA,YACA;AAAA;AACF;AAAA,OACF;AAAA,IAEJ;AAEA,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,uBACEC,eAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,IAAA,EAAK,WAAA;AAAA,UACL,4BAAA,EAA2B,EAAA;AAAA,UAC3B,SAAA,EAAWD,oBAAA,CAAG,yBAAA,EAA2B,SAAS,CAAA;AAAA,UAElD,QAAA,EAAA;AAAA,4BAAAD,cAAA,CAAC,IAAA,EAAA,EAAG,WAAU,6CAAA,EAA8C,CAAA;AAAA,4BAC5DA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,0CAAA,EACb,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,4BACAA,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,6CAAA,EAA8C;AAAA;AAAA;AAAA,OAC9D;AAAA,IAEJ;AAEA,IAAA,uBACEA,cAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,WAAA;AAAA,QACL,4BAAA,EAA2B,EAAA;AAAA,QAC3B,SAAA,EAAWC,oBAAA;AAAA,UACT,sCAAA;AAAA,UACA;AAAA;AACF;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-RR7BWUVP.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { SeparatorProps } from \"./Separator.types\";\n\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(\n ({ orientation = \"horizontal\", label, className }, ref) => {\n if (orientation === \"vertical\") {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"vertical\"\n data-react-fancy-separator=\"\"\n className={cn(\n \"inline-block h-full border-l border-zinc-200 dark:border-zinc-700\",\n className,\n )}\n />\n );\n }\n\n if (label) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n data-react-fancy-separator=\"\"\n className={cn(\"flex items-center gap-3\", className)}\n >\n <hr className=\"flex-1 border-zinc-200 dark:border-zinc-700\" />\n <span className=\"text-sm text-zinc-500 dark:text-zinc-400\">\n {label}\n </span>\n <hr className=\"flex-1 border-zinc-200 dark:border-zinc-700\" />\n </div>\n );\n }\n\n return (\n <hr\n ref={ref as React.Ref<HTMLHRElement>}\n role=\"separator\"\n data-react-fancy-separator=\"\"\n className={cn(\n \"border-zinc-200 dark:border-zinc-700\",\n className,\n )}\n />\n );\n },\n);\n\nSeparator.displayName = \"Separator\";\n"]}
1
+ {"version":3,"sources":["../src/components/Separator/Separator.tsx"],"names":["forwardRef","jsx","cn","jsxs"],"mappings":";;;;;;AAIO,IAAM,SAAA,GAAYA,gBAAA;AAAA,EACvB,CAAC,EAAE,WAAA,GAAc,cAAc,KAAA,EAAO,SAAA,IAAa,GAAA,KAAQ;AACzD,IAAA,IAAI,gBAAgB,UAAA,EAAY;AAC9B,MAAA,uBACEC,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,IAAA,EAAK,WAAA;AAAA,UACL,kBAAA,EAAiB,UAAA;AAAA,UACjB,4BAAA,EAA2B,EAAA;AAAA,UAC3B,SAAA,EAAWC,oBAAA;AAAA,YACT,mEAAA;AAAA,YACA;AAAA;AACF;AAAA,OACF;AAAA,IAEJ;AAEA,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,uBACEC,eAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,IAAA,EAAK,WAAA;AAAA,UACL,4BAAA,EAA2B,EAAA;AAAA,UAC3B,SAAA,EAAWD,oBAAA,CAAG,yBAAA,EAA2B,SAAS,CAAA;AAAA,UAElD,QAAA,EAAA;AAAA,4BAAAD,cAAA,CAAC,IAAA,EAAA,EAAG,WAAU,6CAAA,EAA8C,CAAA;AAAA,4BAC5DA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,0CAAA,EACb,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,4BACAA,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,6CAAA,EAA8C;AAAA;AAAA;AAAA,OAC9D;AAAA,IAEJ;AAEA,IAAA,uBACEA,cAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,WAAA;AAAA,QACL,4BAAA,EAA2B,EAAA;AAAA,QAC3B,SAAA,EAAWC,oBAAA;AAAA,UACT,sCAAA;AAAA,UACA;AAAA;AACF;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-OS2QC3NE.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { SeparatorProps } from \"./Separator.types\";\n\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(\n ({ orientation = \"horizontal\", label, className }, ref) => {\n if (orientation === \"vertical\") {\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation=\"vertical\"\n data-react-fancy-separator=\"\"\n className={cn(\n \"inline-block h-full border-l border-zinc-200 dark:border-zinc-700\",\n className,\n )}\n />\n );\n }\n\n if (label) {\n return (\n <div\n ref={ref}\n role=\"separator\"\n data-react-fancy-separator=\"\"\n className={cn(\"flex items-center gap-3\", className)}\n >\n <hr className=\"flex-1 border-zinc-200 dark:border-zinc-700\" />\n <span className=\"text-sm text-zinc-500 dark:text-zinc-400\">\n {label}\n </span>\n <hr className=\"flex-1 border-zinc-200 dark:border-zinc-700\" />\n </div>\n );\n }\n\n return (\n <hr\n ref={ref as React.Ref<HTMLHRElement>}\n role=\"separator\"\n data-react-fancy-separator=\"\"\n className={cn(\n \"border-zinc-200 dark:border-zinc-700\",\n className,\n )}\n />\n );\n },\n);\n\nSeparator.displayName = \"Separator\";\n"]}
@@ -1,7 +1,7 @@
1
1
  import { useAnimation } from './chunk-CHADHN6M.js';
2
2
  import { Portal } from './chunk-WHEXTDPV.js';
3
3
  import { useEscapeKey } from './chunk-JXE5XID6.js';
4
- import { cn } from './chunk-DSUHZO6T.js';
4
+ import { cn } from './chunk-MMW2JGKZ.js';
5
5
  import { createContext, useContext, useEffect } from 'react';
6
6
  import { X } from 'lucide-react';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -172,5 +172,5 @@ var MobileMenu = {
172
172
  };
173
173
 
174
174
  export { MobileMenu, useMobileMenu };
175
- //# sourceMappingURL=chunk-F6SCZCJE.js.map
176
- //# sourceMappingURL=chunk-F6SCZCJE.js.map
175
+ //# sourceMappingURL=chunk-P7F32HIH.js.map
176
+ //# sourceMappingURL=chunk-P7F32HIH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/MobileMenu/MobileMenu.context.ts","../src/components/MobileMenu/MobileMenuFlyout.tsx","../src/components/MobileMenu/MobileMenuBottomBar.tsx","../src/components/MobileMenu/MobileMenuItem.tsx","../src/components/MobileMenu/MobileMenu.tsx"],"names":["jsx","jsxs"],"mappings":"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","file":"chunk-F6SCZCJE.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { MobileMenuContextValue } from \"./MobileMenu.types\";\n\nexport const MobileMenuContext = createContext<MobileMenuContextValue | null>(null);\n\nexport function useMobileMenu(): MobileMenuContextValue {\n const ctx = useContext(MobileMenuContext);\n if (!ctx) {\n throw new Error(\"useMobileMenu must be used within a <MobileMenu> component\");\n }\n return ctx;\n}\n","import { useEffect } from \"react\";\nimport { X } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { useEscapeKey } from \"../../hooks\";\nimport { useAnimation } from \"../../hooks\";\nimport { Portal } from \"../Portal\";\nimport { MobileMenuContext } from \"./MobileMenu.context\";\nimport type { MobileMenuFlyoutProps } from \"./MobileMenu.types\";\n\nexport function MobileMenuFlyout({\n children,\n open,\n onClose,\n side = \"left\",\n title,\n className,\n}: MobileMenuFlyoutProps) {\n const isLeft = side === \"left\";\n\n const { mounted, className: animClass, ref } = useAnimation({\n open,\n enterClass: isLeft ? \"fancy-slide-in-left\" : \"fancy-slide-in-right\",\n exitClass: isLeft ? \"fancy-slide-out-left\" : \"fancy-slide-out-right\",\n });\n\n useEscapeKey(onClose, open);\n\n // Lock body scroll\n useEffect(() => {\n if (open) {\n const prev = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n return () => {\n document.body.style.overflow = prev;\n };\n }\n }, [open]);\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <MobileMenuContext.Provider value={{ variant: \"flyout\" }}>\n <div data-react-fancy-mobile-menu-flyout=\"\" className=\"fixed inset-0 z-50\">\n {/* Backdrop */}\n <div\n className={cn(\n \"absolute inset-0 bg-black/40 transition-opacity\",\n open ? \"opacity-100\" : \"opacity-0\",\n )}\n onClick={onClose}\n />\n\n {/* Panel */}\n <div\n ref={ref as React.RefObject<HTMLDivElement>}\n className={cn(\n \"absolute top-0 flex h-full w-72 max-w-[80vw] flex-col bg-white shadow-xl dark:bg-zinc-900\",\n isLeft ? \"left-0\" : \"right-0\",\n animClass,\n className,\n )}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between border-b border-zinc-200 px-4 py-3 dark:border-zinc-700\">\n {title && (\n <span className=\"text-sm font-semibold text-zinc-900 dark:text-zinc-100\">\n {title}\n </span>\n )}\n {!title && <span />}\n <button\n type=\"button\"\n onClick={onClose}\n className=\"flex h-8 w-8 items-center justify-center rounded-md text-zinc-400 transition-colors hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300\"\n >\n <X className=\"h-4 w-4\" />\n </button>\n </div>\n\n {/* Content */}\n <div className=\"flex-1 overflow-y-auto p-2\">\n {children}\n </div>\n </div>\n </div>\n </MobileMenuContext.Provider>\n </Portal>\n );\n}\n\nMobileMenuFlyout.displayName = \"MobileMenuFlyout\";\n","import { cn } from \"../../utils/cn\";\nimport { MobileMenuContext } from \"./MobileMenu.context\";\nimport type { MobileMenuBottomBarProps } from \"./MobileMenu.types\";\n\nexport function MobileMenuBottomBar({ children, className }: MobileMenuBottomBarProps) {\n return (\n <MobileMenuContext.Provider value={{ variant: \"bottom-bar\" }}>\n <nav\n data-react-fancy-mobile-menu-bottom-bar=\"\"\n className={cn(\n \"fixed inset-x-0 bottom-0 z-40 flex items-stretch border-t border-zinc-200 bg-white/95 backdrop-blur-sm dark:border-zinc-700 dark:bg-zinc-900/95\",\n \"pb-[env(safe-area-inset-bottom)]\",\n className,\n )}\n >\n {children}\n </nav>\n </MobileMenuContext.Provider>\n );\n}\n\nMobileMenuBottomBar.displayName = \"MobileMenuBottomBar\";\n","import type { ElementType } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useMobileMenu } from \"./MobileMenu.context\";\nimport type { MobileMenuItemProps } from \"./MobileMenu.types\";\n\nexport function MobileMenuItem({\n children,\n href,\n as: As,\n icon,\n active = false,\n disabled = false,\n badge,\n onClick,\n className,\n ...rest\n}: MobileMenuItemProps) {\n const { variant } = useMobileMenu();\n const isBottomBar = variant === \"bottom-bar\";\n\n // See NavigableProps: link mode engages on `href` OR `as`. Keeping `onClick`\n // in link mode matters most here — a mobile item usually has to close the menu\n // as well as navigate, and it was silently dropped.\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 if (isBottomBar) {\n return (\n <Tag\n {...tagProps}\n {...rest}\n data-react-fancy-mobile-menu-item=\"\"\n data-active={active || undefined}\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled || undefined}\n className={cn(\n \"flex flex-1 flex-col items-center justify-center gap-0.5 py-1.5 text-xs font-medium transition-colors\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-inset\",\n active\n ? \"text-blue-600 dark:text-blue-400\"\n : \"text-zinc-500 hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100\",\n disabled && \"pointer-events-none opacity-50\",\n className,\n )}\n >\n {icon && <span className=\"flex h-5 w-5 items-center justify-center\">{icon}</span>}\n <span className=\"truncate\">{children}</span>\n {badge && <span className=\"absolute right-1 top-0.5\">{badge}</span>}\n </Tag>\n );\n }\n\n // Flyout variant — same as a vertical menu item\n return (\n <Tag\n {...tagProps}\n {...rest}\n data-react-fancy-mobile-menu-item=\"\"\n data-active={active || undefined}\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled || undefined}\n className={cn(\n \"flex w-full items-center gap-3 rounded-md px-3 py-2.5 text-sm font-medium transition-colors\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-blue-500\",\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 {icon && <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>}\n <span className=\"flex-1 truncate text-left\">{children}</span>\n {badge && <span className=\"shrink-0\">{badge}</span>}\n </Tag>\n );\n}\n\nMobileMenuItem.displayName = \"MobileMenuItem\";\n","import { MobileMenuFlyout } from \"./MobileMenuFlyout\";\nimport { MobileMenuBottomBar } from \"./MobileMenuBottomBar\";\nimport { MobileMenuItem } from \"./MobileMenuItem\";\n\nexport const MobileMenu = {\n Flyout: MobileMenuFlyout,\n BottomBar: MobileMenuBottomBar,\n Item: MobileMenuItem,\n};\n"]}
1
+ {"version":3,"sources":["../src/components/MobileMenu/MobileMenu.context.ts","../src/components/MobileMenu/MobileMenuFlyout.tsx","../src/components/MobileMenu/MobileMenuBottomBar.tsx","../src/components/MobileMenu/MobileMenuItem.tsx","../src/components/MobileMenu/MobileMenu.tsx"],"names":["jsx","jsxs"],"mappings":"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","file":"chunk-P7F32HIH.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { MobileMenuContextValue } from \"./MobileMenu.types\";\n\nexport const MobileMenuContext = createContext<MobileMenuContextValue | null>(null);\n\nexport function useMobileMenu(): MobileMenuContextValue {\n const ctx = useContext(MobileMenuContext);\n if (!ctx) {\n throw new Error(\"useMobileMenu must be used within a <MobileMenu> component\");\n }\n return ctx;\n}\n","import { useEffect } from \"react\";\nimport { X } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\nimport { useEscapeKey } from \"../../hooks\";\nimport { useAnimation } from \"../../hooks\";\nimport { Portal } from \"../Portal\";\nimport { MobileMenuContext } from \"./MobileMenu.context\";\nimport type { MobileMenuFlyoutProps } from \"./MobileMenu.types\";\n\nexport function MobileMenuFlyout({\n children,\n open,\n onClose,\n side = \"left\",\n title,\n className,\n}: MobileMenuFlyoutProps) {\n const isLeft = side === \"left\";\n\n const { mounted, className: animClass, ref } = useAnimation({\n open,\n enterClass: isLeft ? \"fancy-slide-in-left\" : \"fancy-slide-in-right\",\n exitClass: isLeft ? \"fancy-slide-out-left\" : \"fancy-slide-out-right\",\n });\n\n useEscapeKey(onClose, open);\n\n // Lock body scroll\n useEffect(() => {\n if (open) {\n const prev = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n return () => {\n document.body.style.overflow = prev;\n };\n }\n }, [open]);\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <MobileMenuContext.Provider value={{ variant: \"flyout\" }}>\n <div data-react-fancy-mobile-menu-flyout=\"\" className=\"fixed inset-0 z-50\">\n {/* Backdrop */}\n <div\n className={cn(\n \"absolute inset-0 bg-black/40 transition-opacity\",\n open ? \"opacity-100\" : \"opacity-0\",\n )}\n onClick={onClose}\n />\n\n {/* Panel */}\n <div\n ref={ref as React.RefObject<HTMLDivElement>}\n className={cn(\n \"absolute top-0 flex h-full w-72 max-w-[80vw] flex-col bg-white shadow-xl dark:bg-zinc-900\",\n isLeft ? \"left-0\" : \"right-0\",\n animClass,\n className,\n )}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between border-b border-zinc-200 px-4 py-3 dark:border-zinc-700\">\n {title && (\n <span className=\"text-sm font-semibold text-zinc-900 dark:text-zinc-100\">\n {title}\n </span>\n )}\n {!title && <span />}\n <button\n type=\"button\"\n onClick={onClose}\n className=\"flex h-8 w-8 items-center justify-center rounded-md text-zinc-400 transition-colors hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300\"\n >\n <X className=\"h-4 w-4\" />\n </button>\n </div>\n\n {/* Content */}\n <div className=\"flex-1 overflow-y-auto p-2\">\n {children}\n </div>\n </div>\n </div>\n </MobileMenuContext.Provider>\n </Portal>\n );\n}\n\nMobileMenuFlyout.displayName = \"MobileMenuFlyout\";\n","import { cn } from \"../../utils/cn\";\nimport { MobileMenuContext } from \"./MobileMenu.context\";\nimport type { MobileMenuBottomBarProps } from \"./MobileMenu.types\";\n\nexport function MobileMenuBottomBar({ children, className }: MobileMenuBottomBarProps) {\n return (\n <MobileMenuContext.Provider value={{ variant: \"bottom-bar\" }}>\n <nav\n data-react-fancy-mobile-menu-bottom-bar=\"\"\n className={cn(\n \"fixed inset-x-0 bottom-0 z-40 flex items-stretch border-t border-zinc-200 bg-white/95 backdrop-blur-sm dark:border-zinc-700 dark:bg-zinc-900/95\",\n \"pb-[env(safe-area-inset-bottom)]\",\n className,\n )}\n >\n {children}\n </nav>\n </MobileMenuContext.Provider>\n );\n}\n\nMobileMenuBottomBar.displayName = \"MobileMenuBottomBar\";\n","import type { ElementType } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useMobileMenu } from \"./MobileMenu.context\";\nimport type { MobileMenuItemProps } from \"./MobileMenu.types\";\n\nexport function MobileMenuItem({\n children,\n href,\n as: As,\n icon,\n active = false,\n disabled = false,\n badge,\n onClick,\n className,\n ...rest\n}: MobileMenuItemProps) {\n const { variant } = useMobileMenu();\n const isBottomBar = variant === \"bottom-bar\";\n\n // See NavigableProps: link mode engages on `href` OR `as`. Keeping `onClick`\n // in link mode matters most here — a mobile item usually has to close the menu\n // as well as navigate, and it was silently dropped.\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 if (isBottomBar) {\n return (\n <Tag\n {...tagProps}\n {...rest}\n data-react-fancy-mobile-menu-item=\"\"\n data-active={active || undefined}\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled || undefined}\n className={cn(\n \"flex flex-1 flex-col items-center justify-center gap-0.5 py-1.5 text-xs font-medium transition-colors\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-inset\",\n active\n ? \"text-blue-600 dark:text-blue-400\"\n : \"text-zinc-500 hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100\",\n disabled && \"pointer-events-none opacity-50\",\n className,\n )}\n >\n {icon && <span className=\"flex h-5 w-5 items-center justify-center\">{icon}</span>}\n <span className=\"truncate\">{children}</span>\n {badge && <span className=\"absolute right-1 top-0.5\">{badge}</span>}\n </Tag>\n );\n }\n\n // Flyout variant — same as a vertical menu item\n return (\n <Tag\n {...tagProps}\n {...rest}\n data-react-fancy-mobile-menu-item=\"\"\n data-active={active || undefined}\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled || undefined}\n className={cn(\n \"flex w-full items-center gap-3 rounded-md px-3 py-2.5 text-sm font-medium transition-colors\",\n \"outline-none focus-visible:ring-2 focus-visible:ring-blue-500\",\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 {icon && <span className=\"flex h-5 w-5 shrink-0 items-center justify-center\">{icon}</span>}\n <span className=\"flex-1 truncate text-left\">{children}</span>\n {badge && <span className=\"shrink-0\">{badge}</span>}\n </Tag>\n );\n}\n\nMobileMenuItem.displayName = \"MobileMenuItem\";\n","import { MobileMenuFlyout } from \"./MobileMenuFlyout\";\nimport { MobileMenuBottomBar } from \"./MobileMenuBottomBar\";\nimport { MobileMenuItem } from \"./MobileMenuItem\";\n\nexport const MobileMenu = {\n Flyout: MobileMenuFlyout,\n BottomBar: MobileMenuBottomBar,\n Item: MobileMenuItem,\n};\n"]}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunk6BW5BQMN_cjs = require('./chunk-6BW5BQMN.cjs');
4
- var chunkPPLR2DNC_cjs = require('./chunk-PPLR2DNC.cjs');
3
+ var chunkXKDW6B7X_cjs = require('./chunk-XKDW6B7X.cjs');
4
+ var chunkNP7SU2DF_cjs = require('./chunk-NP7SU2DF.cjs');
5
5
  var chunkYLGTDBB2_cjs = require('./chunk-YLGTDBB2.cjs');
6
6
  var chunkKJ22KE56_cjs = require('./chunk-KJ22KE56.cjs');
7
7
  var chunkL3V3BYVS_cjs = require('./chunk-L3V3BYVS.cjs');
8
8
  var chunkOUOEQZHY_cjs = require('./chunk-OUOEQZHY.cjs');
9
- var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
9
+ var chunkZU5Q77OT_cjs = require('./chunk-ZU5Q77OT.cjs');
10
10
  var react = require('react');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
 
@@ -45,7 +45,7 @@ function RadioGroup({
45
45
  xl: "h-6 w-6"
46
46
  }[size];
47
47
  const selectedIndex = list.map(chunkYLGTDBB2_cjs.resolveOption).findIndex((o) => o.value === value);
48
- const content = !showControl ? /* @__PURE__ */ jsxRuntime.jsx(chunk6BW5BQMN_cjs.DisplayValue, { size, interactive, onActivate: enterEdit, children: list.map(chunkYLGTDBB2_cjs.resolveOption).find((o) => o.value === value)?.label }) : /* @__PURE__ */ jsxRuntime.jsx(
48
+ const content = !showControl ? /* @__PURE__ */ jsxRuntime.jsx(chunkXKDW6B7X_cjs.DisplayValue, { size, interactive, onActivate: enterEdit, children: list.map(chunkYLGTDBB2_cjs.resolveOption).find((o) => o.value === value)?.label }) : /* @__PURE__ */ jsxRuntime.jsx(
49
49
  "div",
50
50
  {
51
51
  ...rest,
@@ -54,7 +54,7 @@ function RadioGroup({
54
54
  onBlur: (e) => {
55
55
  if (interactive && !e.currentTarget.contains(e.relatedTarget)) exitEdit();
56
56
  },
57
- className: chunk3Z6ALUWP_cjs.cn(
57
+ className: chunkZU5Q77OT_cjs.cn(
58
58
  "flex gap-3",
59
59
  orientation === "vertical" ? "flex-col" : "flex-row flex-wrap",
60
60
  className
@@ -76,7 +76,7 @@ function RadioGroup({
76
76
  disabled: disabled || resolved.disabled,
77
77
  autoFocus: shouldAutoFocus,
78
78
  onChange: () => setValue(resolved.value),
79
- className: chunk3Z6ALUWP_cjs.cn(
79
+ className: chunkZU5Q77OT_cjs.cn(
80
80
  sizeClasses,
81
81
  "cursor-pointer border border-zinc-300 bg-white text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-700 dark:bg-[#1e1e24]",
82
82
  chunkYLGTDBB2_cjs.dirtyRingClasses(dirty),
@@ -89,7 +89,7 @@ function RadioGroup({
89
89
  "label",
90
90
  {
91
91
  htmlFor: optionId,
92
- className: chunk3Z6ALUWP_cjs.cn(
92
+ className: chunkZU5Q77OT_cjs.cn(
93
93
  "cursor-pointer text-sm text-zinc-700 dark:text-zinc-100",
94
94
  (disabled || resolved.disabled) && "cursor-not-allowed opacity-50"
95
95
  ),
@@ -104,7 +104,7 @@ function RadioGroup({
104
104
  );
105
105
  if (label || error || description) {
106
106
  return /* @__PURE__ */ jsxRuntime.jsx(
107
- chunkPPLR2DNC_cjs.Field,
107
+ chunkNP7SU2DF_cjs.Field,
108
108
  {
109
109
  label,
110
110
  description,
@@ -120,5 +120,5 @@ function RadioGroup({
120
120
  RadioGroup.displayName = "RadioGroup";
121
121
 
122
122
  exports.RadioGroup = RadioGroup;
123
- //# sourceMappingURL=chunk-WXADO5TS.cjs.map
124
- //# sourceMappingURL=chunk-WXADO5TS.cjs.map
123
+ //# sourceMappingURL=chunk-PAESRUUH.cjs.map
124
+ //# sourceMappingURL=chunk-PAESRUUH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/inputs/RadioGroup/RadioGroup.tsx"],"names":["useId","useFieldMode","useInlineEdit","useControllableState","resolveOption","jsx","DisplayValue","cn","jsxs","dirtyRingClasses","Field"],"mappings":"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","file":"chunk-WXADO5TS.cjs","sourcesContent":["import { useId } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { useControllableState } from \"../../../hooks/use-controllable-state\";\nimport { Field } from \"../Field\";\nimport { useFieldMode } from \"../mode/FieldMode.context\";\nimport { DisplayValue } from \"../mode/DisplayValue\";\nimport { useInlineEdit } from \"../mode/useInlineEdit\";\nimport { dirtyRingClasses, resolveOption } from \"../inputs.utils\";\nimport type { RadioGroupProps } from \"./RadioGroup.types\";\n\nexport function RadioGroup<V = string>({\n size = \"md\",\n dirty,\n error,\n label,\n description,\n required,\n disabled,\n className,\n name,\n list,\n value: controlledValue,\n defaultValue,\n onValueChange,\n orientation = \"vertical\",\n mode,\n ...rest\n}: RadioGroupProps<V>) {\n const groupId = useId();\n const radioName = name ?? groupId;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue as V,\n onValueChange,\n );\n\n const sizeClasses = {\n xs: \"h-3.5 w-3.5\",\n sm: \"h-4 w-4\",\n md: \"h-[18px] w-[18px]\",\n lg: \"h-5 w-5\",\n xl: \"h-6 w-6\",\n }[size];\n\n const selectedIndex = list.map(resolveOption).findIndex((o) => o.value === value);\n\n const content = !showControl ? (\n <DisplayValue size={size} interactive={interactive} onActivate={enterEdit}>\n {list.map(resolveOption).find((o) => o.value === value)?.label}\n </DisplayValue>\n ) : (\n <div\n {...rest}\n data-react-fancy-radio-group=\"\"\n role=\"radiogroup\"\n onBlur={(e) => {\n if (interactive && !e.currentTarget.contains(e.relatedTarget as Node)) exitEdit();\n }}\n className={cn(\n \"flex gap-3\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row flex-wrap\",\n className,\n )}\n >\n {list.map((option, index) => {\n const resolved = resolveOption(option);\n const optionId = `${groupId}-${index}`;\n const isSelected = value === resolved.value;\n // Focus the selected radio on entering edit (or the first if none).\n const shouldAutoFocus =\n interactive && (selectedIndex === -1 ? index === 0 : isSelected);\n\n return (\n <div key={optionId} className=\"flex items-start gap-2\">\n <input\n id={optionId}\n type=\"radio\"\n name={radioName}\n value={String(resolved.value)}\n checked={isSelected}\n disabled={disabled || resolved.disabled}\n autoFocus={shouldAutoFocus}\n onChange={() => setValue(resolved.value)}\n className={cn(\n sizeClasses,\n \"cursor-pointer border border-zinc-300 bg-white text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-700 dark:bg-[#1e1e24]\",\n dirtyRingClasses(dirty),\n error && \"border-red-500\",\n )}\n />\n <div className=\"flex flex-col\">\n <label\n htmlFor={optionId}\n className={cn(\n \"cursor-pointer text-sm text-zinc-700 dark:text-zinc-100\",\n (disabled || resolved.disabled) &&\n \"cursor-not-allowed opacity-50\",\n )}\n >\n {resolved.label}\n </label>\n {resolved.description && (\n <span className=\"text-xs text-zinc-500 dark:text-zinc-400\">\n {resolved.description}\n </span>\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n\n if (label || error || description) {\n return (\n <Field\n label={label}\n description={description}\n error={error}\n required={required}\n size={size}\n >\n {content}\n </Field>\n );\n }\n\n return content;\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n"]}
1
+ {"version":3,"sources":["../src/components/inputs/RadioGroup/RadioGroup.tsx"],"names":["useId","useFieldMode","useInlineEdit","useControllableState","resolveOption","jsx","DisplayValue","cn","jsxs","dirtyRingClasses","Field"],"mappings":"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","file":"chunk-PAESRUUH.cjs","sourcesContent":["import { useId } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { useControllableState } from \"../../../hooks/use-controllable-state\";\nimport { Field } from \"../Field\";\nimport { useFieldMode } from \"../mode/FieldMode.context\";\nimport { DisplayValue } from \"../mode/DisplayValue\";\nimport { useInlineEdit } from \"../mode/useInlineEdit\";\nimport { dirtyRingClasses, resolveOption } from \"../inputs.utils\";\nimport type { RadioGroupProps } from \"./RadioGroup.types\";\n\nexport function RadioGroup<V = string>({\n size = \"md\",\n dirty,\n error,\n label,\n description,\n required,\n disabled,\n className,\n name,\n list,\n value: controlledValue,\n defaultValue,\n onValueChange,\n orientation = \"vertical\",\n mode,\n ...rest\n}: RadioGroupProps<V>) {\n const groupId = useId();\n const radioName = name ?? groupId;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n const [value, setValue] = useControllableState(\n controlledValue,\n defaultValue as V,\n onValueChange,\n );\n\n const sizeClasses = {\n xs: \"h-3.5 w-3.5\",\n sm: \"h-4 w-4\",\n md: \"h-[18px] w-[18px]\",\n lg: \"h-5 w-5\",\n xl: \"h-6 w-6\",\n }[size];\n\n const selectedIndex = list.map(resolveOption).findIndex((o) => o.value === value);\n\n const content = !showControl ? (\n <DisplayValue size={size} interactive={interactive} onActivate={enterEdit}>\n {list.map(resolveOption).find((o) => o.value === value)?.label}\n </DisplayValue>\n ) : (\n <div\n {...rest}\n data-react-fancy-radio-group=\"\"\n role=\"radiogroup\"\n onBlur={(e) => {\n if (interactive && !e.currentTarget.contains(e.relatedTarget as Node)) exitEdit();\n }}\n className={cn(\n \"flex gap-3\",\n orientation === \"vertical\" ? \"flex-col\" : \"flex-row flex-wrap\",\n className,\n )}\n >\n {list.map((option, index) => {\n const resolved = resolveOption(option);\n const optionId = `${groupId}-${index}`;\n const isSelected = value === resolved.value;\n // Focus the selected radio on entering edit (or the first if none).\n const shouldAutoFocus =\n interactive && (selectedIndex === -1 ? index === 0 : isSelected);\n\n return (\n <div key={optionId} className=\"flex items-start gap-2\">\n <input\n id={optionId}\n type=\"radio\"\n name={radioName}\n value={String(resolved.value)}\n checked={isSelected}\n disabled={disabled || resolved.disabled}\n autoFocus={shouldAutoFocus}\n onChange={() => setValue(resolved.value)}\n className={cn(\n sizeClasses,\n \"cursor-pointer border border-zinc-300 bg-white text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-700 dark:bg-[#1e1e24]\",\n dirtyRingClasses(dirty),\n error && \"border-red-500\",\n )}\n />\n <div className=\"flex flex-col\">\n <label\n htmlFor={optionId}\n className={cn(\n \"cursor-pointer text-sm text-zinc-700 dark:text-zinc-100\",\n (disabled || resolved.disabled) &&\n \"cursor-not-allowed opacity-50\",\n )}\n >\n {resolved.label}\n </label>\n {resolved.description && (\n <span className=\"text-xs text-zinc-500 dark:text-zinc-400\">\n {resolved.description}\n </span>\n )}\n </div>\n </div>\n );\n })}\n </div>\n );\n\n if (label || error || description) {\n return (\n <Field\n label={label}\n description={description}\n error={error}\n required={required}\n size={size}\n >\n {content}\n </Field>\n );\n }\n\n return content;\n}\n\nRadioGroup.displayName = \"RadioGroup\";\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk6OSHAP6L_cjs = require('./chunk-6OSHAP6L.cjs');
4
- var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
3
+ var chunk5CXJ5Z4C_cjs = require('./chunk-5CXJ5Z4C.cjs');
4
+ var chunkZU5Q77OT_cjs = require('./chunk-ZU5Q77OT.cjs');
5
5
  var react = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
 
@@ -36,10 +36,10 @@ var Profile = react.forwardRef(
36
36
  {
37
37
  ref,
38
38
  "data-react-fancy-profile": "",
39
- className: chunk3Z6ALUWP_cjs.cn("flex items-center", gapClasses[size], className),
39
+ className: chunkZU5Q77OT_cjs.cn("flex items-center", gapClasses[size], className),
40
40
  children: [
41
41
  /* @__PURE__ */ jsxRuntime.jsx(
42
- chunk6OSHAP6L_cjs.Avatar,
42
+ chunk5CXJ5Z4C_cjs.Avatar,
43
43
  {
44
44
  src,
45
45
  alt: alt || name,
@@ -52,7 +52,7 @@ var Profile = react.forwardRef(
52
52
  /* @__PURE__ */ jsxRuntime.jsx(
53
53
  "span",
54
54
  {
55
- className: chunk3Z6ALUWP_cjs.cn(
55
+ className: chunkZU5Q77OT_cjs.cn(
56
56
  "truncate font-medium text-zinc-900 dark:text-zinc-100",
57
57
  nameClasses[size]
58
58
  ),
@@ -62,7 +62,7 @@ var Profile = react.forwardRef(
62
62
  subtitle && /* @__PURE__ */ jsxRuntime.jsx(
63
63
  "span",
64
64
  {
65
- className: chunk3Z6ALUWP_cjs.cn(
65
+ className: chunkZU5Q77OT_cjs.cn(
66
66
  "truncate text-zinc-500 dark:text-zinc-400",
67
67
  subtitleClasses[size]
68
68
  ),
@@ -78,5 +78,5 @@ var Profile = react.forwardRef(
78
78
  Profile.displayName = "Profile";
79
79
 
80
80
  exports.Profile = Profile;
81
- //# sourceMappingURL=chunk-PH3WGR5P.cjs.map
82
- //# sourceMappingURL=chunk-PH3WGR5P.cjs.map
81
+ //# sourceMappingURL=chunk-PFEFKLUV.cjs.map
82
+ //# sourceMappingURL=chunk-PFEFKLUV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Profile/Profile.tsx"],"names":["forwardRef","jsxs","cn","jsx","Avatar"],"mappings":";;;;;;;AAKA,IAAM,UAAA,GAAgE;AAAA,EACpE,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,WAAA,GAAiE;AAAA,EACrE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,WAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,eAAA,GAAqE;AAAA,EACzE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,OAAA,GAAUA,gBAAA;AAAA,EACrB,CACE;AAAA,IACE,GAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA,GAAO,IAAA;AAAA,IACP,MAAA;AAAA,IACA;AAAA,KAEF,GAAA,KACG;AACH,IAAA,uBACEC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,0BAAA,EAAyB,EAAA;AAAA,QACzB,WAAWC,oBAAA,CAAG,mBAAA,EAAqB,UAAA,CAAW,IAAI,GAAG,SAAS,CAAA;AAAA,QAE9D,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAACC,wBAAA;AAAA,YAAA;AAAA,cACC,GAAA;AAAA,cACA,KAAK,GAAA,IAAO,IAAA;AAAA,cACZ,QAAA;AAAA,cACA,IAAA;AAAA,cACA;AAAA;AAAA,WACF;AAAA,0BACAH,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACb,QAAA,EAAA;AAAA,4BAAAE,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWD,oBAAA;AAAA,kBACT,uDAAA;AAAA,kBACA,YAAY,IAAI;AAAA,iBAClB;AAAA,gBAEC,QAAA,EAAA;AAAA;AAAA,aACH;AAAA,YACC,QAAA,oBACCC,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWD,oBAAA;AAAA,kBACT,2CAAA;AAAA,kBACA,gBAAgB,IAAI;AAAA,iBACtB;AAAA,gBAEC,QAAA,EAAA;AAAA;AAAA;AACH,WAAA,EAEJ;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-PH3WGR5P.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Avatar } from \"../Avatar\";\nimport type { ProfileProps } from \"./Profile.types\";\n\nconst gapClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"gap-2\",\n md: \"gap-3\",\n lg: \"gap-4\",\n};\n\nconst nameClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n};\n\nconst subtitleClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n};\n\nexport const Profile = forwardRef<HTMLDivElement, ProfileProps>(\n (\n {\n src,\n alt,\n fallback,\n name,\n subtitle,\n size = \"md\",\n status,\n className,\n },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n data-react-fancy-profile=\"\"\n className={cn(\"flex items-center\", gapClasses[size], className)}\n >\n <Avatar\n src={src}\n alt={alt || name}\n fallback={fallback}\n size={size}\n status={status}\n />\n <div className=\"flex min-w-0 flex-col\">\n <span\n className={cn(\n \"truncate font-medium text-zinc-900 dark:text-zinc-100\",\n nameClasses[size],\n )}\n >\n {name}\n </span>\n {subtitle && (\n <span\n className={cn(\n \"truncate text-zinc-500 dark:text-zinc-400\",\n subtitleClasses[size],\n )}\n >\n {subtitle}\n </span>\n )}\n </div>\n </div>\n );\n },\n);\n\nProfile.displayName = \"Profile\";\n"]}
1
+ {"version":3,"sources":["../src/components/Profile/Profile.tsx"],"names":["forwardRef","jsxs","cn","jsx","Avatar"],"mappings":";;;;;;;AAKA,IAAM,UAAA,GAAgE;AAAA,EACpE,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI,OAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,WAAA,GAAiE;AAAA,EACrE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,WAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,eAAA,GAAqE;AAAA,EACzE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,IAAM,OAAA,GAAUA,gBAAA;AAAA,EACrB,CACE;AAAA,IACE,GAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA,GAAO,IAAA;AAAA,IACP,MAAA;AAAA,IACA;AAAA,KAEF,GAAA,KACG;AACH,IAAA,uBACEC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,0BAAA,EAAyB,EAAA;AAAA,QACzB,WAAWC,oBAAA,CAAG,mBAAA,EAAqB,UAAA,CAAW,IAAI,GAAG,SAAS,CAAA;AAAA,QAE9D,QAAA,EAAA;AAAA,0BAAAC,cAAA;AAAA,YAACC,wBAAA;AAAA,YAAA;AAAA,cACC,GAAA;AAAA,cACA,KAAK,GAAA,IAAO,IAAA;AAAA,cACZ,QAAA;AAAA,cACA,IAAA;AAAA,cACA;AAAA;AAAA,WACF;AAAA,0BACAH,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACb,QAAA,EAAA;AAAA,4BAAAE,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWD,oBAAA;AAAA,kBACT,uDAAA;AAAA,kBACA,YAAY,IAAI;AAAA,iBAClB;AAAA,gBAEC,QAAA,EAAA;AAAA;AAAA,aACH;AAAA,YACC,QAAA,oBACCC,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAWD,oBAAA;AAAA,kBACT,2CAAA;AAAA,kBACA,gBAAgB,IAAI;AAAA,iBACtB;AAAA,gBAEC,QAAA,EAAA;AAAA;AAAA;AACH,WAAA,EAEJ;AAAA;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA","file":"chunk-PFEFKLUV.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Avatar } from \"../Avatar\";\nimport type { ProfileProps } from \"./Profile.types\";\n\nconst gapClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"gap-2\",\n md: \"gap-3\",\n lg: \"gap-4\",\n};\n\nconst nameClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"text-sm\",\n md: \"text-base\",\n lg: \"text-lg\",\n};\n\nconst subtitleClasses: Record<NonNullable<ProfileProps[\"size\"]>, string> = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n};\n\nexport const Profile = forwardRef<HTMLDivElement, ProfileProps>(\n (\n {\n src,\n alt,\n fallback,\n name,\n subtitle,\n size = \"md\",\n status,\n className,\n },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n data-react-fancy-profile=\"\"\n className={cn(\"flex items-center\", gapClasses[size], className)}\n >\n <Avatar\n src={src}\n alt={alt || name}\n fallback={fallback}\n size={size}\n status={status}\n />\n <div className=\"flex min-w-0 flex-col\">\n <span\n className={cn(\n \"truncate font-medium text-zinc-900 dark:text-zinc-100\",\n nameClasses[size],\n )}\n >\n {name}\n </span>\n {subtitle && (\n <span\n className={cn(\n \"truncate text-zinc-500 dark:text-zinc-400\",\n subtitleClasses[size],\n )}\n >\n {subtitle}\n </span>\n )}\n </div>\n </div>\n );\n },\n);\n\nProfile.displayName = \"Profile\";\n"]}
@@ -4,7 +4,7 @@ var chunk3WGRVDQR_cjs = require('./chunk-3WGRVDQR.cjs');
4
4
  var chunkNBZC6LOB_cjs = require('./chunk-NBZC6LOB.cjs');
5
5
  var chunk57FQGQJK_cjs = require('./chunk-57FQGQJK.cjs');
6
6
  var chunkRXDRYWVD_cjs = require('./chunk-RXDRYWVD.cjs');
7
- var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.cjs');
7
+ var chunkZU5Q77OT_cjs = require('./chunk-ZU5Q77OT.cjs');
8
8
  var react = require('react');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
 
@@ -32,7 +32,7 @@ function ContextMenuTrigger({
32
32
  },
33
33
  [ctx]
34
34
  );
35
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-react-fancy-context-menu-trigger": "", onContextMenu: handleContextMenu, className: chunk3Z6ALUWP_cjs.cn(className), children });
35
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-react-fancy-context-menu-trigger": "", onContextMenu: handleContextMenu, className: chunkZU5Q77OT_cjs.cn(className), children });
36
36
  }
37
37
  ContextMenuTrigger.displayName = "ContextMenuTrigger";
38
38
  var MenuGroupContext = react.createContext({
@@ -102,7 +102,7 @@ function ContextMenuSubTrigger({ children, className }) {
102
102
  role: "menuitem",
103
103
  "aria-haspopup": "menu",
104
104
  "aria-expanded": open,
105
- className: chunk3Z6ALUWP_cjs.cn(
105
+ className: chunkZU5Q77OT_cjs.cn(
106
106
  "flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-sm transition-colors",
107
107
  "text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800",
108
108
  open && "bg-zinc-100 dark:bg-zinc-800",
@@ -153,7 +153,7 @@ function ContextMenuSubContent({ children, className }) {
153
153
  ref,
154
154
  "data-react-fancy-context-menu-sub-content": "",
155
155
  role: "menu",
156
- className: chunk3Z6ALUWP_cjs.cn(
156
+ className: chunkZU5Q77OT_cjs.cn(
157
157
  "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",
158
158
  flipLeft ? "right-full mr-1" : "left-full ml-1",
159
159
  maxH && "overflow-y-auto",
@@ -208,7 +208,7 @@ function ContextMenuContent({
208
208
  },
209
209
  "data-react-fancy-context-menu": "",
210
210
  role: "menu",
211
- className: chunk3Z6ALUWP_cjs.cn(
211
+ className: chunkZU5Q77OT_cjs.cn(
212
212
  "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",
213
213
  animClass,
214
214
  className
@@ -235,7 +235,7 @@ function ContextMenuItem({
235
235
  role: "menuitem",
236
236
  disabled,
237
237
  "aria-disabled": disabled,
238
- className: chunk3Z6ALUWP_cjs.cn(
238
+ className: chunkZU5Q77OT_cjs.cn(
239
239
  "flex w-full items-center rounded-lg px-3 py-2 text-left text-sm transition-colors",
240
240
  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",
241
241
  disabled && "cursor-not-allowed opacity-50",
@@ -257,7 +257,7 @@ function ContextMenuSeparator({ className }) {
257
257
  {
258
258
  "data-react-fancy-context-menu-separator": "",
259
259
  role: "separator",
260
- className: chunk3Z6ALUWP_cjs.cn("my-1 h-px bg-zinc-200 dark:bg-zinc-700", className)
260
+ className: chunkZU5Q77OT_cjs.cn("my-1 h-px bg-zinc-200 dark:bg-zinc-700", className)
261
261
  }
262
262
  );
263
263
  }
@@ -283,5 +283,5 @@ var ContextMenu = Object.assign(ContextMenuRoot, {
283
283
 
284
284
  exports.ContextMenu = ContextMenu;
285
285
  exports.useContextMenu = useContextMenu;
286
- //# sourceMappingURL=chunk-5HOQ2PHR.cjs.map
287
- //# sourceMappingURL=chunk-5HOQ2PHR.cjs.map
286
+ //# sourceMappingURL=chunk-PV5WDIGM.cjs.map
287
+ //# sourceMappingURL=chunk-PV5WDIGM.cjs.map
@@ -1 +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","useContext","useCallback","jsx","cn","useState","useId","useRef","useEffect","jsxs","useOutsideClick","useEscapeKey","useAnimation","Portal","useMemo"],"mappings":"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","file":"chunk-5HOQ2PHR.cjs","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"]}
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","useContext","useCallback","jsx","cn","useState","useId","useRef","useEffect","jsxs","useOutsideClick","useEscapeKey","useAnimation","Portal","useMemo"],"mappings":"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","file":"chunk-PV5WDIGM.cjs","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"]}
@@ -1,11 +1,11 @@
1
- import { InputWrapper } from './chunk-D7NAXQ2N.js';
2
- import { DisplayValue } from './chunk-K7JGOQJG.js';
3
- import { Field } from './chunk-3DJGPNUI.js';
1
+ import { InputWrapper } from './chunk-PWEZCMIY.js';
2
+ import { DisplayValue } from './chunk-KKWNKBKR.js';
3
+ import { Field } from './chunk-FERMW3YE.js';
4
4
  import { inputBaseClasses, inputSizeClasses, dirtyClasses, errorClasses } from './chunk-GFYSELJF.js';
5
5
  import { useInlineEdit } from './chunk-OL53XYHF.js';
6
6
  import { useFieldMode } from './chunk-NRXK42LO.js';
7
7
  import { useControllableState } from './chunk-6FQGMVF2.js';
8
- import { cn } from './chunk-DSUHZO6T.js';
8
+ import { cn } from './chunk-MMW2JGKZ.js';
9
9
  import { forwardRef, useId } from 'react';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
11
11
 
@@ -149,5 +149,5 @@ function EyeOffIcon() {
149
149
  }
150
150
 
151
151
  export { Input };
152
- //# sourceMappingURL=chunk-DDRHCFUE.js.map
153
- //# sourceMappingURL=chunk-DDRHCFUE.js.map
152
+ //# sourceMappingURL=chunk-PVQBXEV3.js.map
153
+ //# sourceMappingURL=chunk-PVQBXEV3.js.map