@particle-academy/react-fancy 5.21.0 → 5.23.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 (597) hide show
  1. package/dist/{FieldMode.context-C28RH8GR.d.cts → FieldMode.context-BOShROIw.d.cts} +1 -1
  2. package/dist/{FieldMode.context-Bv_wuS8V.d.ts → FieldMode.context-DNyItEKV.d.ts} +1 -1
  3. package/dist/accordion-panel.cjs +8 -8
  4. package/dist/accordion-panel.js +2 -2
  5. package/dist/accordion.cjs +4 -4
  6. package/dist/accordion.js +2 -2
  7. package/dist/audio-viewer.cjs +3 -3
  8. package/dist/audio-viewer.js +2 -2
  9. package/dist/autocomplete.cjs +3 -3
  10. package/dist/autocomplete.d.cts +1 -1
  11. package/dist/autocomplete.d.ts +1 -1
  12. package/dist/autocomplete.js +2 -2
  13. package/dist/avatar.cjs +3 -3
  14. package/dist/avatar.js +2 -2
  15. package/dist/badge.cjs +3 -3
  16. package/dist/badge.js +2 -2
  17. package/dist/brand.cjs +4 -4
  18. package/dist/brand.js +2 -2
  19. package/dist/breadcrumbs.cjs +3 -3
  20. package/dist/breadcrumbs.js +2 -2
  21. package/dist/button.cjs +5 -5
  22. package/dist/button.js +3 -3
  23. package/dist/calendar.cjs +3 -3
  24. package/dist/calendar.js +2 -2
  25. package/dist/callout.cjs +3 -3
  26. package/dist/callout.js +2 -2
  27. package/dist/card.cjs +7 -7
  28. package/dist/card.js +2 -2
  29. package/dist/carousel.cjs +8 -8
  30. package/dist/carousel.js +2 -2
  31. package/dist/chart.cjs +3 -3
  32. package/dist/chart.js +2 -2
  33. package/dist/chat-drawer.cjs +4 -4
  34. package/dist/chat-drawer.js +3 -3
  35. package/dist/checkbox-group.cjs +5 -5
  36. package/dist/checkbox-group.d.cts +2 -2
  37. package/dist/checkbox-group.d.ts +2 -2
  38. package/dist/checkbox-group.js +4 -4
  39. package/dist/checkbox.cjs +3 -3
  40. package/dist/checkbox.d.cts +1 -1
  41. package/dist/checkbox.d.ts +1 -1
  42. package/dist/checkbox.js +2 -2
  43. package/dist/{chunk-ZLCVKYHY.js → chunk-25ZOOUFG.js} +3 -3
  44. package/dist/{chunk-ZLCVKYHY.js.map → chunk-25ZOOUFG.js.map} +1 -1
  45. package/dist/{chunk-UCYAHLGM.js → chunk-2LBRS6Z4.js} +3 -3
  46. package/dist/{chunk-UCYAHLGM.js.map → chunk-2LBRS6Z4.js.map} +1 -1
  47. package/dist/{chunk-E4LFD44D.js → chunk-35EN5AYE.js} +3 -3
  48. package/dist/{chunk-E4LFD44D.js.map → chunk-35EN5AYE.js.map} +1 -1
  49. package/dist/{chunk-AOOBRPTE.cjs → chunk-3EIB7RPD.cjs} +8 -8
  50. package/dist/{chunk-AOOBRPTE.cjs.map → chunk-3EIB7RPD.cjs.map} +1 -1
  51. package/dist/{chunk-GKGL7F36.js → chunk-3FG5K7A7.js} +3 -3
  52. package/dist/{chunk-GKGL7F36.js.map → chunk-3FG5K7A7.js.map} +1 -1
  53. package/dist/{chunk-WNIP443K.js → chunk-3LM47BME.js} +4 -4
  54. package/dist/{chunk-WNIP443K.js.map → chunk-3LM47BME.js.map} +1 -1
  55. package/dist/{chunk-NH7NRRII.js → chunk-4K4ECIKK.js} +3 -3
  56. package/dist/{chunk-NH7NRRII.js.map → chunk-4K4ECIKK.js.map} +1 -1
  57. package/dist/chunk-4VVC46ZZ.js +37 -0
  58. package/dist/chunk-4VVC46ZZ.js.map +1 -0
  59. package/dist/{chunk-KC6QBKKB.cjs → chunk-524TOKU3.cjs} +8 -8
  60. package/dist/{chunk-KC6QBKKB.cjs.map → chunk-524TOKU3.cjs.map} +1 -1
  61. package/dist/{chunk-6OSHAP6L.cjs → chunk-5CXJ5Z4C.cjs} +6 -6
  62. package/dist/{chunk-6OSHAP6L.cjs.map → chunk-5CXJ5Z4C.cjs.map} +1 -1
  63. package/dist/{chunk-3DJGPNUI.js → chunk-5MU6X3KO.js} +9 -4
  64. package/dist/chunk-5MU6X3KO.js.map +1 -0
  65. package/dist/{chunk-VQ4M25U3.cjs → chunk-5P3PISAX.cjs} +4 -4
  66. package/dist/{chunk-VQ4M25U3.cjs.map → chunk-5P3PISAX.cjs.map} +1 -1
  67. package/dist/{chunk-P7AJAN62.js → chunk-5RLP77KK.js} +3 -3
  68. package/dist/{chunk-P7AJAN62.js.map → chunk-5RLP77KK.js.map} +1 -1
  69. package/dist/{chunk-AR2IBCX7.cjs → chunk-5XTNJBC5.cjs} +53 -53
  70. package/dist/{chunk-AR2IBCX7.cjs.map → chunk-5XTNJBC5.cjs.map} +1 -1
  71. package/dist/{chunk-FCAV5IFW.js → chunk-6GWOB2Z4.js} +3 -3
  72. package/dist/{chunk-FCAV5IFW.js.map → chunk-6GWOB2Z4.js.map} +1 -1
  73. package/dist/{chunk-JCOBDDHF.js → chunk-6KXAFP2T.js} +3 -3
  74. package/dist/{chunk-JCOBDDHF.js.map → chunk-6KXAFP2T.js.map} +1 -1
  75. package/dist/{chunk-E7PHL3TD.cjs → chunk-6LOV75CN.cjs} +5 -5
  76. package/dist/{chunk-E7PHL3TD.cjs.map → chunk-6LOV75CN.cjs.map} +1 -1
  77. package/dist/{chunk-CEEEENPW.js → chunk-6PF5ENWM.js} +3 -3
  78. package/dist/{chunk-CEEEENPW.js.map → chunk-6PF5ENWM.js.map} +1 -1
  79. package/dist/{chunk-2PELJ4VA.cjs → chunk-6SO2ZX3J.cjs} +15 -15
  80. package/dist/{chunk-2PELJ4VA.cjs.map → chunk-6SO2ZX3J.cjs.map} +1 -1
  81. package/dist/{chunk-AVR5P4GA.cjs → chunk-7B3HK6TY.cjs} +11 -11
  82. package/dist/{chunk-AVR5P4GA.cjs.map → chunk-7B3HK6TY.cjs.map} +1 -1
  83. package/dist/{chunk-YHXE274U.js → chunk-7CN7IHES.js} +3 -3
  84. package/dist/{chunk-YHXE274U.js.map → chunk-7CN7IHES.js.map} +1 -1
  85. package/dist/{chunk-7NLKXBZ2.cjs → chunk-7EZBMGEE.cjs} +8 -8
  86. package/dist/{chunk-7NLKXBZ2.cjs.map → chunk-7EZBMGEE.cjs.map} +1 -1
  87. package/dist/{chunk-ZFVSEO5Z.cjs → chunk-7HMEDY24.cjs} +6 -6
  88. package/dist/{chunk-ZFVSEO5Z.cjs.map → chunk-7HMEDY24.cjs.map} +1 -1
  89. package/dist/chunk-7TGJFNZM.cjs +39 -0
  90. package/dist/chunk-7TGJFNZM.cjs.map +1 -0
  91. package/dist/{chunk-YXC7QHNT.cjs → chunk-7VLRHXLQ.cjs} +6 -6
  92. package/dist/{chunk-YXC7QHNT.cjs.map → chunk-7VLRHXLQ.cjs.map} +1 -1
  93. package/dist/{chunk-GIDW3SUE.cjs → chunk-7Y2AENZD.cjs} +6 -6
  94. package/dist/{chunk-GIDW3SUE.cjs.map → chunk-7Y2AENZD.cjs.map} +1 -1
  95. package/dist/{chunk-ANEX75DF.cjs → chunk-AASQ6L6X.cjs} +4 -4
  96. package/dist/{chunk-ANEX75DF.cjs.map → chunk-AASQ6L6X.cjs.map} +1 -1
  97. package/dist/{chunk-ZWOEKDNI.js → chunk-AT5OG5N4.js} +3 -3
  98. package/dist/{chunk-ZWOEKDNI.js.map → chunk-AT5OG5N4.js.map} +1 -1
  99. package/dist/{chunk-TVRCOKJQ.cjs → chunk-ATJSHM6J.cjs} +4 -4
  100. package/dist/{chunk-TVRCOKJQ.cjs.map → chunk-ATJSHM6J.cjs.map} +1 -1
  101. package/dist/{chunk-MDUSUJWY.cjs → chunk-AVU4JOYM.cjs} +4 -4
  102. package/dist/{chunk-MDUSUJWY.cjs.map → chunk-AVU4JOYM.cjs.map} +1 -1
  103. package/dist/{chunk-PPLR2DNC.cjs → chunk-BBOIFV27.cjs} +11 -6
  104. package/dist/chunk-BBOIFV27.cjs.map +1 -0
  105. package/dist/{chunk-IGU5YXRV.cjs → chunk-BJYTI2ID.cjs} +26 -9
  106. package/dist/chunk-BJYTI2ID.cjs.map +1 -0
  107. package/dist/{chunk-HAOYXGGJ.js → chunk-CCG2L5EH.js} +3 -3
  108. package/dist/{chunk-HAOYXGGJ.js.map → chunk-CCG2L5EH.js.map} +1 -1
  109. package/dist/{chunk-Y5V5GBN4.cjs → chunk-CJVNO5YM.cjs} +6 -6
  110. package/dist/{chunk-Y5V5GBN4.cjs.map → chunk-CJVNO5YM.cjs.map} +1 -1
  111. package/dist/{chunk-PVWPZYTR.js → chunk-CK6LRROH.js} +3 -3
  112. package/dist/{chunk-PVWPZYTR.js.map → chunk-CK6LRROH.js.map} +1 -1
  113. package/dist/{chunk-LNWO23PU.cjs → chunk-COH45MGW.cjs} +7 -7
  114. package/dist/{chunk-LNWO23PU.cjs.map → chunk-COH45MGW.cjs.map} +1 -1
  115. package/dist/{chunk-EVXDG2XN.js → chunk-CRR3AMJ4.js} +3 -3
  116. package/dist/{chunk-EVXDG2XN.js.map → chunk-CRR3AMJ4.js.map} +1 -1
  117. package/dist/{chunk-4UA45GB4.js → chunk-DEFGT75G.js} +8 -6
  118. package/dist/chunk-DEFGT75G.js.map +1 -0
  119. package/dist/{chunk-Y6DK4CGY.js → chunk-E2I4C5EA.js} +14 -14
  120. package/dist/{chunk-Y6DK4CGY.js.map → chunk-E2I4C5EA.js.map} +1 -1
  121. package/dist/{chunk-PITWDKKY.js → chunk-EWRP6KCY.js} +3 -3
  122. package/dist/{chunk-PITWDKKY.js.map → chunk-EWRP6KCY.js.map} +1 -1
  123. package/dist/{chunk-HTKDPFLJ.cjs → chunk-F2VJEXN2.cjs} +16 -16
  124. package/dist/{chunk-HTKDPFLJ.cjs.map → chunk-F2VJEXN2.cjs.map} +1 -1
  125. package/dist/{chunk-DV4IMAQW.js → chunk-FA4IG5RB.js} +3 -3
  126. package/dist/{chunk-DV4IMAQW.js.map → chunk-FA4IG5RB.js.map} +1 -1
  127. package/dist/{chunk-FVV76TRF.js → chunk-FBWUXSKH.js} +3 -3
  128. package/dist/{chunk-FVV76TRF.js.map → chunk-FBWUXSKH.js.map} +1 -1
  129. package/dist/{chunk-XMBOZ73D.js → chunk-FCSR2WVS.js} +3 -3
  130. package/dist/{chunk-XMBOZ73D.js.map → chunk-FCSR2WVS.js.map} +1 -1
  131. package/dist/{chunk-M24NCWBU.js → chunk-FFWAY7F5.js} +3 -3
  132. package/dist/{chunk-M24NCWBU.js.map → chunk-FFWAY7F5.js.map} +1 -1
  133. package/dist/{chunk-SYXLPCQP.cjs → chunk-FQSSVOVQ.cjs} +4 -4
  134. package/dist/{chunk-SYXLPCQP.cjs.map → chunk-FQSSVOVQ.cjs.map} +1 -1
  135. package/dist/{chunk-X36ZGYTF.js → chunk-FUG3OCGP.js} +10 -7
  136. package/dist/chunk-FUG3OCGP.js.map +1 -0
  137. package/dist/{chunk-JU5W65N3.cjs → chunk-FXP4JLGU.cjs} +24 -18
  138. package/dist/chunk-FXP4JLGU.cjs.map +1 -0
  139. package/dist/{chunk-RNHIDZLE.cjs → chunk-G7227RTY.cjs} +7 -7
  140. package/dist/{chunk-RNHIDZLE.cjs.map → chunk-G7227RTY.cjs.map} +1 -1
  141. package/dist/{chunk-KUKYJZIU.cjs → chunk-GBGJWAXZ.cjs} +8 -8
  142. package/dist/{chunk-KUKYJZIU.cjs.map → chunk-GBGJWAXZ.cjs.map} +1 -1
  143. package/dist/{chunk-RMFLRBUC.cjs → chunk-GHAZOIEG.cjs} +8 -8
  144. package/dist/{chunk-RMFLRBUC.cjs.map → chunk-GHAZOIEG.cjs.map} +1 -1
  145. package/dist/{chunk-SKI33QNW.js → chunk-GKEWT3DW.js} +3 -3
  146. package/dist/{chunk-SKI33QNW.js.map → chunk-GKEWT3DW.js.map} +1 -1
  147. package/dist/{chunk-X5VZRFQD.cjs → chunk-H5OPZEVQ.cjs} +5 -5
  148. package/dist/{chunk-X5VZRFQD.cjs.map → chunk-H5OPZEVQ.cjs.map} +1 -1
  149. package/dist/{chunk-CS4GQXYY.js → chunk-H6F6ZWAG.js} +3 -3
  150. package/dist/{chunk-CS4GQXYY.js.map → chunk-H6F6ZWAG.js.map} +1 -1
  151. package/dist/{chunk-6FYMMQ3G.cjs → chunk-HBCKKE24.cjs} +12 -10
  152. package/dist/chunk-HBCKKE24.cjs.map +1 -0
  153. package/dist/{chunk-T6IXZZBQ.cjs → chunk-HE3JJXIL.cjs} +4 -4
  154. package/dist/{chunk-T6IXZZBQ.cjs.map → chunk-HE3JJXIL.cjs.map} +1 -1
  155. package/dist/{chunk-ARSQY4P7.cjs → chunk-HIN6PHSE.cjs} +7 -7
  156. package/dist/{chunk-ARSQY4P7.cjs.map → chunk-HIN6PHSE.cjs.map} +1 -1
  157. package/dist/{chunk-WT72KW5M.cjs → chunk-HIOMHITU.cjs} +19 -19
  158. package/dist/{chunk-WT72KW5M.cjs.map → chunk-HIOMHITU.cjs.map} +1 -1
  159. package/dist/{chunk-B4JLRS5E.js → chunk-HOP3XXPV.js} +3 -3
  160. package/dist/{chunk-B4JLRS5E.js.map → chunk-HOP3XXPV.js.map} +1 -1
  161. package/dist/{chunk-IF5LOWUL.js → chunk-I3RPL3GE.js} +3 -3
  162. package/dist/{chunk-IF5LOWUL.js.map → chunk-I3RPL3GE.js.map} +1 -1
  163. package/dist/{chunk-6Y2QO7YV.cjs → chunk-ICT477LK.cjs} +8 -8
  164. package/dist/{chunk-6Y2QO7YV.cjs.map → chunk-ICT477LK.cjs.map} +1 -1
  165. package/dist/{chunk-A22T6DKO.cjs → chunk-IRD6UXDK.cjs} +16 -13
  166. package/dist/chunk-IRD6UXDK.cjs.map +1 -0
  167. package/dist/{chunk-VBZZ4CMM.cjs → chunk-ISPCXIJZ.cjs} +5 -5
  168. package/dist/{chunk-VBZZ4CMM.cjs.map → chunk-ISPCXIJZ.cjs.map} +1 -1
  169. package/dist/{chunk-ZT36VWIA.js → chunk-IUT3Q2EC.js} +24 -7
  170. package/dist/chunk-IUT3Q2EC.js.map +1 -0
  171. package/dist/{chunk-M7EEQPE7.js → chunk-IVRYSSM7.js} +3 -3
  172. package/dist/{chunk-M7EEQPE7.js.map → chunk-IVRYSSM7.js.map} +1 -1
  173. package/dist/{chunk-D4WM23Y4.js → chunk-IWXP2YUP.js} +3 -3
  174. package/dist/{chunk-D4WM23Y4.js.map → chunk-IWXP2YUP.js.map} +1 -1
  175. package/dist/{chunk-PJ4TQ6YO.js → chunk-IYTTEPCV.js} +5 -5
  176. package/dist/{chunk-PJ4TQ6YO.js.map → chunk-IYTTEPCV.js.map} +1 -1
  177. package/dist/{chunk-DDRHCFUE.js → chunk-JAAJJJKI.js} +8 -6
  178. package/dist/chunk-JAAJJJKI.js.map +1 -0
  179. package/dist/{chunk-3SQ34IQC.cjs → chunk-JDRKYYXP.cjs} +12 -10
  180. package/dist/chunk-JDRKYYXP.cjs.map +1 -0
  181. package/dist/{chunk-6GC5DMOK.cjs → chunk-JFOORUUD.cjs} +8 -8
  182. package/dist/{chunk-6GC5DMOK.cjs.map → chunk-JFOORUUD.cjs.map} +1 -1
  183. package/dist/{chunk-MZIU27UY.js → chunk-JICO4LTT.js} +3 -3
  184. package/dist/{chunk-MZIU27UY.js.map → chunk-JICO4LTT.js.map} +1 -1
  185. package/dist/{chunk-ZNTEM7F2.js → chunk-JJBOKZWV.js} +3 -3
  186. package/dist/{chunk-ZNTEM7F2.js.map → chunk-JJBOKZWV.js.map} +1 -1
  187. package/dist/{chunk-FO4GCX67.cjs → chunk-JM2H642B.cjs} +9 -9
  188. package/dist/{chunk-FO4GCX67.cjs.map → chunk-JM2H642B.cjs.map} +1 -1
  189. package/dist/{chunk-IE4CM2SN.js → chunk-JP4C3ROX.js} +7 -5
  190. package/dist/chunk-JP4C3ROX.js.map +1 -0
  191. package/dist/{chunk-7ZDIQOFH.cjs → chunk-JV6RDIA6.cjs} +13 -13
  192. package/dist/{chunk-7ZDIQOFH.cjs.map → chunk-JV6RDIA6.cjs.map} +1 -1
  193. package/dist/{chunk-K7JGOQJG.js → chunk-KKWNKBKR.js} +3 -3
  194. package/dist/{chunk-K7JGOQJG.js.map → chunk-KKWNKBKR.js.map} +1 -1
  195. package/dist/{chunk-QWSTG5MF.js → chunk-KO2HLNBB.js} +7 -7
  196. package/dist/{chunk-QWSTG5MF.js.map → chunk-KO2HLNBB.js.map} +1 -1
  197. package/dist/{chunk-5QL7XT3N.js → chunk-KQQA7JBC.js} +4 -4
  198. package/dist/{chunk-5QL7XT3N.js.map → chunk-KQQA7JBC.js.map} +1 -1
  199. package/dist/{chunk-CQWPMRYS.js → chunk-L2FPIFMN.js} +10 -5
  200. package/dist/chunk-L2FPIFMN.js.map +1 -0
  201. package/dist/{chunk-DWRMC2FN.cjs → chunk-LMPPAQKP.cjs} +7 -7
  202. package/dist/{chunk-DWRMC2FN.cjs.map → chunk-LMPPAQKP.cjs.map} +1 -1
  203. package/dist/{chunk-M2S5GCXY.cjs → chunk-LY7PZEF4.cjs} +11 -11
  204. package/dist/{chunk-M2S5GCXY.cjs.map → chunk-LY7PZEF4.cjs.map} +1 -1
  205. package/dist/{chunk-AKIUDPJU.js → chunk-LYHQ4VBR.js} +3 -3
  206. package/dist/{chunk-AKIUDPJU.js.map → chunk-LYHQ4VBR.js.map} +1 -1
  207. package/dist/{chunk-RM4QWJS3.js → chunk-MIUSTEIV.js} +3 -3
  208. package/dist/{chunk-RM4QWJS3.js.map → chunk-MIUSTEIV.js.map} +1 -1
  209. package/dist/chunk-MMW2JGKZ.js +29 -0
  210. package/dist/chunk-MMW2JGKZ.js.map +1 -0
  211. package/dist/{chunk-RID7CYGD.js → chunk-MRRKDRZU.js} +5 -5
  212. package/dist/{chunk-RID7CYGD.js.map → chunk-MRRKDRZU.js.map} +1 -1
  213. package/dist/{chunk-A3CNYKT3.js → chunk-MUCXXYDN.js} +3 -3
  214. package/dist/{chunk-A3CNYKT3.js.map → chunk-MUCXXYDN.js.map} +1 -1
  215. package/dist/{chunk-CZZH45GQ.cjs → chunk-N4VHOTMK.cjs} +9 -9
  216. package/dist/{chunk-CZZH45GQ.cjs.map → chunk-N4VHOTMK.cjs.map} +1 -1
  217. package/dist/{chunk-6FBFE66M.cjs → chunk-N6K2CTSU.cjs} +5 -5
  218. package/dist/{chunk-6FBFE66M.cjs.map → chunk-N6K2CTSU.cjs.map} +1 -1
  219. package/dist/{chunk-DJ3YM72H.cjs → chunk-ND5D7GJB.cjs} +4 -4
  220. package/dist/{chunk-DJ3YM72H.cjs.map → chunk-ND5D7GJB.cjs.map} +1 -1
  221. package/dist/{chunk-YCZN4FWI.js → chunk-NDUEPDNS.js} +3 -3
  222. package/dist/{chunk-YCZN4FWI.js.map → chunk-NDUEPDNS.js.map} +1 -1
  223. package/dist/{chunk-POZZY3D5.cjs → chunk-NR346SKH.cjs} +5 -5
  224. package/dist/{chunk-POZZY3D5.cjs.map → chunk-NR346SKH.cjs.map} +1 -1
  225. package/dist/{chunk-TECFGOV2.js → chunk-NTMHP7FS.js} +3 -3
  226. package/dist/{chunk-TECFGOV2.js.map → chunk-NTMHP7FS.js.map} +1 -1
  227. package/dist/{chunk-7XDKIZQE.js → chunk-NUPQJ5SJ.js} +3 -3
  228. package/dist/{chunk-7XDKIZQE.js.map → chunk-NUPQJ5SJ.js.map} +1 -1
  229. package/dist/{chunk-M645OITZ.js → chunk-NYDR2VSA.js} +3 -3
  230. package/dist/{chunk-M645OITZ.js.map → chunk-NYDR2VSA.js.map} +1 -1
  231. package/dist/{chunk-YT42J4VQ.js → chunk-O6E2WC3J.js} +3 -3
  232. package/dist/{chunk-YT42J4VQ.js.map → chunk-O6E2WC3J.js.map} +1 -1
  233. package/dist/{chunk-5LHG7HEY.cjs → chunk-O6GTY53I.cjs} +4 -4
  234. package/dist/{chunk-5LHG7HEY.cjs.map → chunk-O6GTY53I.cjs.map} +1 -1
  235. package/dist/{chunk-ESKVRRVA.js → chunk-OFHO5SXA.js} +3 -3
  236. package/dist/{chunk-ESKVRRVA.js.map → chunk-OFHO5SXA.js.map} +1 -1
  237. package/dist/{chunk-SCPHSBBU.cjs → chunk-OGEE23SP.cjs} +4 -4
  238. package/dist/{chunk-SCPHSBBU.cjs.map → chunk-OGEE23SP.cjs.map} +1 -1
  239. package/dist/{chunk-RR7BWUVP.cjs → chunk-OS2QC3NE.cjs} +6 -6
  240. package/dist/{chunk-RR7BWUVP.cjs.map → chunk-OS2QC3NE.cjs.map} +1 -1
  241. package/dist/{chunk-F6SCZCJE.js → chunk-P7F32HIH.js} +3 -3
  242. package/dist/{chunk-F6SCZCJE.js.map → chunk-P7F32HIH.js.map} +1 -1
  243. package/dist/{chunk-PH3WGR5P.cjs → chunk-PFEFKLUV.cjs} +8 -8
  244. package/dist/{chunk-PH3WGR5P.cjs.map → chunk-PFEFKLUV.cjs.map} +1 -1
  245. package/dist/{chunk-JYKZKSZJ.js → chunk-PIFJECFU.js} +10 -5
  246. package/dist/chunk-PIFJECFU.js.map +1 -0
  247. package/dist/{chunk-5HOQ2PHR.cjs → chunk-PV5WDIGM.cjs} +9 -9
  248. package/dist/{chunk-5HOQ2PHR.cjs.map → chunk-PV5WDIGM.cjs.map} +1 -1
  249. package/dist/{chunk-D7NAXQ2N.js → chunk-PWEZCMIY.js} +3 -3
  250. package/dist/{chunk-D7NAXQ2N.js.map → chunk-PWEZCMIY.js.map} +1 -1
  251. package/dist/{chunk-LYFUPTLG.cjs → chunk-PWLBHNOA.cjs} +14 -14
  252. package/dist/{chunk-LYFUPTLG.cjs.map → chunk-PWLBHNOA.cjs.map} +1 -1
  253. package/dist/{chunk-BPBI3WWQ.cjs → chunk-QAFAPHAF.cjs} +8 -8
  254. package/dist/{chunk-BPBI3WWQ.cjs.map → chunk-QAFAPHAF.cjs.map} +1 -1
  255. package/dist/{chunk-AC7M7JDO.cjs → chunk-QDVDBUJM.cjs} +6 -6
  256. package/dist/{chunk-AC7M7JDO.cjs.map → chunk-QDVDBUJM.cjs.map} +1 -1
  257. package/dist/{chunk-2ICXWLKS.js → chunk-QJKWBU3I.js} +3 -3
  258. package/dist/{chunk-2ICXWLKS.js.map → chunk-QJKWBU3I.js.map} +1 -1
  259. package/dist/{chunk-JXIBUIEY.cjs → chunk-QKFOJKVE.cjs} +4 -4
  260. package/dist/{chunk-JXIBUIEY.cjs.map → chunk-QKFOJKVE.cjs.map} +1 -1
  261. package/dist/{chunk-NNSNANNY.cjs → chunk-QOGKO6JH.cjs} +5 -5
  262. package/dist/{chunk-NNSNANNY.cjs.map → chunk-QOGKO6JH.cjs.map} +1 -1
  263. package/dist/{chunk-B3HVWXIQ.cjs → chunk-QSFTWIUH.cjs} +8 -8
  264. package/dist/{chunk-B3HVWXIQ.cjs.map → chunk-QSFTWIUH.cjs.map} +1 -1
  265. package/dist/{chunk-3MHVFEIP.cjs → chunk-QW66UHWO.cjs} +4 -4
  266. package/dist/{chunk-3MHVFEIP.cjs.map → chunk-QW66UHWO.cjs.map} +1 -1
  267. package/dist/{chunk-IGYIMS6J.js → chunk-RA2VOQ46.js} +3 -3
  268. package/dist/{chunk-IGYIMS6J.js.map → chunk-RA2VOQ46.js.map} +1 -1
  269. package/dist/{chunk-HG6XUJOT.js → chunk-RFLPFQFF.js} +3 -3
  270. package/dist/{chunk-HG6XUJOT.js.map → chunk-RFLPFQFF.js.map} +1 -1
  271. package/dist/{chunk-KICZTIZL.cjs → chunk-RKG2Q2HT.cjs} +7 -7
  272. package/dist/{chunk-KICZTIZL.cjs.map → chunk-RKG2Q2HT.cjs.map} +1 -1
  273. package/dist/{chunk-PRJSEZ5F.cjs → chunk-RN2EW7CK.cjs} +12 -12
  274. package/dist/{chunk-PRJSEZ5F.cjs.map → chunk-RN2EW7CK.cjs.map} +1 -1
  275. package/dist/{chunk-EERAEPQO.cjs → chunk-RPVCMW64.cjs} +12 -12
  276. package/dist/{chunk-EERAEPQO.cjs.map → chunk-RPVCMW64.cjs.map} +1 -1
  277. package/dist/{chunk-ATFXU6R6.js → chunk-RSLZL6VP.js} +3 -3
  278. package/dist/{chunk-ATFXU6R6.js.map → chunk-RSLZL6VP.js.map} +1 -1
  279. package/dist/{chunk-HNITJ2UR.js → chunk-SAF5642F.js} +4 -4
  280. package/dist/{chunk-HNITJ2UR.js.map → chunk-SAF5642F.js.map} +1 -1
  281. package/dist/{chunk-PG3ILQIW.js → chunk-SLJD25VV.js} +3 -3
  282. package/dist/{chunk-PG3ILQIW.js.map → chunk-SLJD25VV.js.map} +1 -1
  283. package/dist/{chunk-EQGY3QDJ.cjs → chunk-SO4NNG26.cjs} +7 -7
  284. package/dist/{chunk-EQGY3QDJ.cjs.map → chunk-SO4NNG26.cjs.map} +1 -1
  285. package/dist/{chunk-DZD2RJVD.js → chunk-SOYORSLZ.js} +3 -3
  286. package/dist/{chunk-DZD2RJVD.js.map → chunk-SOYORSLZ.js.map} +1 -1
  287. package/dist/{chunk-MGZE2QEM.cjs → chunk-SUCBR6L5.cjs} +6 -6
  288. package/dist/{chunk-MGZE2QEM.cjs.map → chunk-SUCBR6L5.cjs.map} +1 -1
  289. package/dist/{chunk-NLJGNPNN.js → chunk-SWBF2BXA.js} +3 -3
  290. package/dist/{chunk-NLJGNPNN.js.map → chunk-SWBF2BXA.js.map} +1 -1
  291. package/dist/{chunk-6H6OYLMJ.js → chunk-SX4CSO6C.js} +3 -3
  292. package/dist/{chunk-6H6OYLMJ.js.map → chunk-SX4CSO6C.js.map} +1 -1
  293. package/dist/{chunk-ORFHF6PT.cjs → chunk-T5OCRKPD.cjs} +6 -6
  294. package/dist/{chunk-ORFHF6PT.cjs.map → chunk-T5OCRKPD.cjs.map} +1 -1
  295. package/dist/{chunk-AGDW5ENV.js → chunk-TB35HNBE.js} +3 -3
  296. package/dist/{chunk-AGDW5ENV.js.map → chunk-TB35HNBE.js.map} +1 -1
  297. package/dist/{chunk-RES2GOQQ.js → chunk-TDDWWAM5.js} +3 -3
  298. package/dist/{chunk-RES2GOQQ.js.map → chunk-TDDWWAM5.js.map} +1 -1
  299. package/dist/{chunk-6L6LI2RL.cjs → chunk-TGNQ5Y6F.cjs} +4 -4
  300. package/dist/{chunk-6L6LI2RL.cjs.map → chunk-TGNQ5Y6F.cjs.map} +1 -1
  301. package/dist/{chunk-I462NM2A.cjs → chunk-TH7VP4CL.cjs} +5 -5
  302. package/dist/{chunk-I462NM2A.cjs.map → chunk-TH7VP4CL.cjs.map} +1 -1
  303. package/dist/{chunk-PYRMH34E.js → chunk-TJJ63UJV.js} +3 -3
  304. package/dist/{chunk-PYRMH34E.js.map → chunk-TJJ63UJV.js.map} +1 -1
  305. package/dist/{chunk-I25RP6AM.js → chunk-TQFQUNV3.js} +3 -3
  306. package/dist/{chunk-I25RP6AM.js.map → chunk-TQFQUNV3.js.map} +1 -1
  307. package/dist/{chunk-UPVWN72I.cjs → chunk-TXCAIL5X.cjs} +7 -7
  308. package/dist/{chunk-UPVWN72I.cjs.map → chunk-TXCAIL5X.cjs.map} +1 -1
  309. package/dist/{chunk-LZL2KD4P.cjs → chunk-TZHK3LEW.cjs} +9 -9
  310. package/dist/{chunk-LZL2KD4P.cjs.map → chunk-TZHK3LEW.cjs.map} +1 -1
  311. package/dist/{chunk-WXADO5TS.cjs → chunk-UA2C2U3M.cjs} +15 -10
  312. package/dist/chunk-UA2C2U3M.cjs.map +1 -0
  313. package/dist/{chunk-74ZN5CNE.js → chunk-UIJR26YW.js} +3 -3
  314. package/dist/{chunk-74ZN5CNE.js.map → chunk-UIJR26YW.js.map} +1 -1
  315. package/dist/{chunk-CFBK5RIZ.js → chunk-UKUNWGL5.js} +3 -3
  316. package/dist/{chunk-CFBK5RIZ.js.map → chunk-UKUNWGL5.js.map} +1 -1
  317. package/dist/{chunk-JHEM6IGT.cjs → chunk-V35A6B7A.cjs} +4 -4
  318. package/dist/{chunk-JHEM6IGT.cjs.map → chunk-V35A6B7A.cjs.map} +1 -1
  319. package/dist/{chunk-5I4PR2KV.cjs → chunk-V6VFSX6V.cjs} +12 -10
  320. package/dist/chunk-V6VFSX6V.cjs.map +1 -0
  321. package/dist/{chunk-PRDWJ4AR.js → chunk-VFIVF5YO.js} +3 -3
  322. package/dist/{chunk-PRDWJ4AR.js.map → chunk-VFIVF5YO.js.map} +1 -1
  323. package/dist/{chunk-IJ4I55QQ.cjs → chunk-VGBZWDMM.cjs} +4 -4
  324. package/dist/{chunk-IJ4I55QQ.cjs.map → chunk-VGBZWDMM.cjs.map} +1 -1
  325. package/dist/{chunk-DBJWHDWP.js → chunk-VKMPVFQK.js} +3 -3
  326. package/dist/{chunk-DBJWHDWP.js.map → chunk-VKMPVFQK.js.map} +1 -1
  327. package/dist/{chunk-5OC6DUYT.js → chunk-VME5743O.js} +3 -3
  328. package/dist/{chunk-5OC6DUYT.js.map → chunk-VME5743O.js.map} +1 -1
  329. package/dist/{chunk-YVDAXYHP.js → chunk-VOGI7GX3.js} +3 -3
  330. package/dist/{chunk-YVDAXYHP.js.map → chunk-VOGI7GX3.js.map} +1 -1
  331. package/dist/{chunk-KKYP5R3G.cjs → chunk-VUKIFFWK.cjs} +17 -12
  332. package/dist/chunk-VUKIFFWK.cjs.map +1 -0
  333. package/dist/{chunk-R55HE5C5.js → chunk-VVL5LMLW.js} +3 -3
  334. package/dist/{chunk-R55HE5C5.js.map → chunk-VVL5LMLW.js.map} +1 -1
  335. package/dist/{chunk-2CYRAKWI.cjs → chunk-VW6WUXFR.cjs} +11 -11
  336. package/dist/{chunk-2CYRAKWI.cjs.map → chunk-VW6WUXFR.cjs.map} +1 -1
  337. package/dist/{chunk-6RYZ2MOE.js → chunk-VYQI4R6S.js} +4 -4
  338. package/dist/{chunk-6RYZ2MOE.js.map → chunk-VYQI4R6S.js.map} +1 -1
  339. package/dist/{chunk-HBFVOHQC.cjs → chunk-WCWZADR2.cjs} +7 -7
  340. package/dist/{chunk-HBFVOHQC.cjs.map → chunk-WCWZADR2.cjs.map} +1 -1
  341. package/dist/{chunk-IXHZVFHX.cjs → chunk-WKAEAGMT.cjs} +4 -4
  342. package/dist/{chunk-IXHZVFHX.cjs.map → chunk-WKAEAGMT.cjs.map} +1 -1
  343. package/dist/{chunk-PBXYU4EV.cjs → chunk-WKNVZUWZ.cjs} +5 -5
  344. package/dist/{chunk-PBXYU4EV.cjs.map → chunk-WKNVZUWZ.cjs.map} +1 -1
  345. package/dist/{chunk-6BW5BQMN.cjs → chunk-XKDW6B7X.cjs} +4 -4
  346. package/dist/{chunk-6BW5BQMN.cjs.map → chunk-XKDW6B7X.cjs.map} +1 -1
  347. package/dist/{chunk-23CLGUMT.cjs → chunk-XLFGWNW4.cjs} +4 -4
  348. package/dist/{chunk-23CLGUMT.cjs.map → chunk-XLFGWNW4.cjs.map} +1 -1
  349. package/dist/{chunk-MPDLL4X3.cjs → chunk-XQNYFXBY.cjs} +8 -8
  350. package/dist/{chunk-MPDLL4X3.cjs.map → chunk-XQNYFXBY.cjs.map} +1 -1
  351. package/dist/{chunk-I2JXK25I.js → chunk-XXBW4EUO.js} +3 -3
  352. package/dist/{chunk-I2JXK25I.js.map → chunk-XXBW4EUO.js.map} +1 -1
  353. package/dist/{chunk-RA3P63XW.cjs → chunk-Y3T7WMT6.cjs} +4 -4
  354. package/dist/{chunk-RA3P63XW.cjs.map → chunk-Y3T7WMT6.cjs.map} +1 -1
  355. package/dist/{chunk-LPQVXTKV.js → chunk-Y4UPKJN5.js} +3 -3
  356. package/dist/{chunk-LPQVXTKV.js.map → chunk-Y4UPKJN5.js.map} +1 -1
  357. package/dist/{chunk-47TFRODY.cjs → chunk-YAJYIRQL.cjs} +4 -4
  358. package/dist/{chunk-47TFRODY.cjs.map → chunk-YAJYIRQL.cjs.map} +1 -1
  359. package/dist/{chunk-DTPGJNOI.js → chunk-YCV43A7D.js} +3 -3
  360. package/dist/{chunk-DTPGJNOI.js.map → chunk-YCV43A7D.js.map} +1 -1
  361. package/dist/{chunk-YT6N44Z3.js → chunk-YF2EHBTV.js} +3 -3
  362. package/dist/{chunk-YT6N44Z3.js.map → chunk-YF2EHBTV.js.map} +1 -1
  363. package/dist/{chunk-4CM2VMLR.js → chunk-YLDYGT5O.js} +3 -3
  364. package/dist/{chunk-4CM2VMLR.js.map → chunk-YLDYGT5O.js.map} +1 -1
  365. package/dist/{chunk-JIYP73OJ.js → chunk-YQJWD53X.js} +3 -3
  366. package/dist/{chunk-JIYP73OJ.js.map → chunk-YQJWD53X.js.map} +1 -1
  367. package/dist/{chunk-O4MKOSU2.js → chunk-YTMQ2K64.js} +3 -3
  368. package/dist/{chunk-O4MKOSU2.js.map → chunk-YTMQ2K64.js.map} +1 -1
  369. package/dist/{chunk-IF25CE6S.cjs → chunk-YTXBU6QC.cjs} +6 -6
  370. package/dist/{chunk-IF25CE6S.cjs.map → chunk-YTXBU6QC.cjs.map} +1 -1
  371. package/dist/{chunk-F6NEPU67.cjs → chunk-Z43BI7CQ.cjs} +10 -10
  372. package/dist/{chunk-F6NEPU67.cjs.map → chunk-Z43BI7CQ.cjs.map} +1 -1
  373. package/dist/{chunk-BWT2L6XP.js → chunk-ZH3SPBVB.js} +12 -6
  374. package/dist/chunk-ZH3SPBVB.js.map +1 -0
  375. package/dist/{chunk-BEGDL2CD.js → chunk-ZI7JP3TN.js} +3 -3
  376. package/dist/{chunk-BEGDL2CD.js.map → chunk-ZI7JP3TN.js.map} +1 -1
  377. package/dist/{chunk-3F66SAE7.js → chunk-ZKFFHIEW.js} +3 -3
  378. package/dist/{chunk-3F66SAE7.js.map → chunk-ZKFFHIEW.js.map} +1 -1
  379. package/dist/{chunk-QFFC2DKK.js → chunk-ZLWCZV7R.js} +3 -3
  380. package/dist/{chunk-QFFC2DKK.js.map → chunk-ZLWCZV7R.js.map} +1 -1
  381. package/dist/{chunk-BWTFK2GV.cjs → chunk-ZMD3PIYF.cjs} +12 -12
  382. package/dist/{chunk-BWTFK2GV.cjs.map → chunk-ZMD3PIYF.cjs.map} +1 -1
  383. package/dist/{chunk-JPTWZ3RF.cjs → chunk-ZTC3EQFZ.cjs} +8 -8
  384. package/dist/{chunk-JPTWZ3RF.cjs.map → chunk-ZTC3EQFZ.cjs.map} +1 -1
  385. package/dist/chunk-ZU5Q77OT.cjs +31 -0
  386. package/dist/chunk-ZU5Q77OT.cjs.map +1 -0
  387. package/dist/{chunk-ORPYY2MO.cjs → chunk-ZVDW2VX5.cjs} +4 -4
  388. package/dist/{chunk-ORPYY2MO.cjs.map → chunk-ZVDW2VX5.cjs.map} +1 -1
  389. package/dist/{chunk-4DQ6HX27.cjs → chunk-ZVRVOKXH.cjs} +7 -7
  390. package/dist/{chunk-4DQ6HX27.cjs.map → chunk-ZVRVOKXH.cjs.map} +1 -1
  391. package/dist/code-view.cjs +3 -3
  392. package/dist/code-view.js +2 -2
  393. package/dist/color-picker.cjs +3 -3
  394. package/dist/color-picker.d.cts +1 -1
  395. package/dist/color-picker.d.ts +1 -1
  396. package/dist/color-picker.js +2 -2
  397. package/dist/command.cjs +4 -4
  398. package/dist/command.js +2 -2
  399. package/dist/composer.cjs +3 -3
  400. package/dist/composer.js +2 -2
  401. package/dist/container.cjs +3 -3
  402. package/dist/container.js +2 -2
  403. package/dist/content-renderer.cjs +5 -5
  404. package/dist/content-renderer.js +2 -2
  405. package/dist/context-menu.cjs +4 -4
  406. package/dist/context-menu.js +2 -2
  407. package/dist/date-picker.cjs +5 -5
  408. package/dist/date-picker.d.cts +1 -1
  409. package/dist/date-picker.d.ts +1 -1
  410. package/dist/date-picker.js +4 -4
  411. package/dist/drawer.cjs +4 -4
  412. package/dist/drawer.js +2 -2
  413. package/dist/dropdown.cjs +4 -4
  414. package/dist/dropdown.js +2 -2
  415. package/dist/editor.cjs +6 -6
  416. package/dist/editor.d.cts +1 -1
  417. package/dist/editor.d.ts +1 -1
  418. package/dist/editor.js +4 -4
  419. package/dist/emoji-select.cjs +3 -3
  420. package/dist/emoji-select.js +2 -2
  421. package/dist/emoji.cjs +3 -3
  422. package/dist/emoji.js +2 -2
  423. package/dist/eyebrow.cjs +3 -3
  424. package/dist/eyebrow.js +2 -2
  425. package/dist/faux-client.cjs +3 -3
  426. package/dist/faux-client.js +2 -2
  427. package/dist/field.cjs +3 -3
  428. package/dist/field.d.cts +12 -1
  429. package/dist/field.d.ts +12 -1
  430. package/dist/field.js +2 -2
  431. package/dist/file-browser.cjs +6 -6
  432. package/dist/file-browser.js +2 -2
  433. package/dist/file-upload.cjs +4 -4
  434. package/dist/file-upload.js +2 -2
  435. package/dist/grid.cjs +3 -3
  436. package/dist/grid.d.cts +22 -1
  437. package/dist/grid.d.ts +22 -1
  438. package/dist/grid.js +2 -2
  439. package/dist/heading.cjs +3 -3
  440. package/dist/heading.js +2 -2
  441. package/dist/icon.cjs +8 -8
  442. package/dist/icon.js +2 -2
  443. package/dist/image-viewer.cjs +3 -3
  444. package/dist/image-viewer.js +2 -2
  445. package/dist/{index-BfFk-CIv.d.ts → index-DWJGBEW9.d.ts} +1 -1
  446. package/dist/{index-BypPN_6l.d.cts → index-YSQnfXN-.d.cts} +1 -1
  447. package/dist/index-list.cjs +3 -3
  448. package/dist/index-list.js +2 -2
  449. package/dist/index.cjs +220 -220
  450. package/dist/index.d.cts +10 -4
  451. package/dist/index.d.ts +10 -4
  452. package/dist/index.js +87 -87
  453. package/dist/input.cjs +6 -6
  454. package/dist/input.d.cts +1 -1
  455. package/dist/input.d.ts +1 -1
  456. package/dist/input.js +5 -5
  457. package/dist/inputs.cjs +26 -26
  458. package/dist/inputs.d.cts +2 -2
  459. package/dist/inputs.d.ts +2 -2
  460. package/dist/inputs.js +14 -14
  461. package/dist/{inputs.types-CkWdvN-t.d.cts → inputs.types-CJbAS14j.d.cts} +9 -0
  462. package/dist/{inputs.types-DERzxpe1.d.ts → inputs.types-vl3PAc4q.d.ts} +9 -0
  463. package/dist/json-editor.cjs +27 -27
  464. package/dist/json-editor.d.cts +2 -2
  465. package/dist/json-editor.d.ts +2 -2
  466. package/dist/json-editor.js +16 -16
  467. package/dist/kanban.cjs +4 -4
  468. package/dist/kanban.js +2 -2
  469. package/dist/kbd.cjs +3 -3
  470. package/dist/kbd.js +2 -2
  471. package/dist/magic-wand.cjs +10 -10
  472. package/dist/magic-wand.js +9 -9
  473. package/dist/marquee.cjs +3 -3
  474. package/dist/marquee.js +2 -2
  475. package/dist/media-viewer.cjs +7 -7
  476. package/dist/media-viewer.js +6 -6
  477. package/dist/menu.cjs +4 -4
  478. package/dist/menu.js +2 -2
  479. package/dist/mobile-menu.cjs +4 -4
  480. package/dist/mobile-menu.js +2 -2
  481. package/dist/modal.cjs +4 -4
  482. package/dist/modal.js +2 -2
  483. package/dist/mode.cjs +3 -3
  484. package/dist/mode.d.cts +2 -2
  485. package/dist/mode.d.ts +2 -2
  486. package/dist/mode.js +2 -2
  487. package/dist/multi-switch.cjs +5 -5
  488. package/dist/multi-switch.d.cts +13 -3
  489. package/dist/multi-switch.d.ts +13 -3
  490. package/dist/multi-switch.js +4 -4
  491. package/dist/navbar.cjs +4 -4
  492. package/dist/navbar.js +2 -2
  493. package/dist/otp-input.cjs +3 -3
  494. package/dist/otp-input.d.cts +1 -1
  495. package/dist/otp-input.d.ts +1 -1
  496. package/dist/otp-input.js +2 -2
  497. package/dist/pagination.cjs +3 -3
  498. package/dist/pagination.js +2 -2
  499. package/dist/pdf-viewer.cjs +3 -3
  500. package/dist/pdf-viewer.js +2 -2
  501. package/dist/pillbox.cjs +3 -3
  502. package/dist/pillbox.js +2 -2
  503. package/dist/popover.cjs +4 -4
  504. package/dist/popover.js +2 -2
  505. package/dist/profile.cjs +4 -4
  506. package/dist/profile.js +3 -3
  507. package/dist/progress.cjs +3 -3
  508. package/dist/progress.js +2 -2
  509. package/dist/prompt-input.cjs +6 -6
  510. package/dist/prompt-input.js +5 -5
  511. package/dist/pull-quote.cjs +3 -3
  512. package/dist/pull-quote.js +2 -2
  513. package/dist/radio-group.cjs +5 -5
  514. package/dist/radio-group.d.cts +2 -2
  515. package/dist/radio-group.d.ts +2 -2
  516. package/dist/radio-group.js +4 -4
  517. package/dist/reason-tag.cjs +6 -6
  518. package/dist/reason-tag.js +5 -5
  519. package/dist/section.cjs +3 -3
  520. package/dist/section.js +2 -2
  521. package/dist/select.cjs +6 -6
  522. package/dist/select.d.cts +1 -1
  523. package/dist/select.d.ts +1 -1
  524. package/dist/select.js +5 -5
  525. package/dist/separator.cjs +3 -3
  526. package/dist/separator.js +2 -2
  527. package/dist/sidebar.cjs +4 -4
  528. package/dist/sidebar.js +2 -2
  529. package/dist/skeleton.cjs +3 -3
  530. package/dist/skeleton.js +2 -2
  531. package/dist/slider.cjs +5 -5
  532. package/dist/slider.d.cts +1 -1
  533. package/dist/slider.d.ts +1 -1
  534. package/dist/slider.js +4 -4
  535. package/dist/stat-list.cjs +3 -3
  536. package/dist/stat-list.js +2 -2
  537. package/dist/stat.cjs +4 -4
  538. package/dist/stat.js +2 -2
  539. package/dist/sticky-note.cjs +3 -3
  540. package/dist/sticky-note.js +2 -2
  541. package/dist/switch.cjs +3 -3
  542. package/dist/switch.d.cts +1 -1
  543. package/dist/switch.d.ts +1 -1
  544. package/dist/switch.js +2 -2
  545. package/dist/table.cjs +12 -12
  546. package/dist/table.js +2 -2
  547. package/dist/tabs.cjs +4 -4
  548. package/dist/tabs.js +2 -2
  549. package/dist/text.cjs +3 -3
  550. package/dist/text.js +2 -2
  551. package/dist/textarea.cjs +6 -6
  552. package/dist/textarea.d.cts +1 -1
  553. package/dist/textarea.d.ts +1 -1
  554. package/dist/textarea.js +5 -5
  555. package/dist/time-grid.cjs +3 -3
  556. package/dist/time-grid.js +2 -2
  557. package/dist/time-picker.cjs +3 -3
  558. package/dist/time-picker.d.cts +1 -1
  559. package/dist/time-picker.d.ts +1 -1
  560. package/dist/time-picker.js +2 -2
  561. package/dist/timeline.cjs +5 -5
  562. package/dist/timeline.js +2 -2
  563. package/dist/toast.cjs +4 -4
  564. package/dist/toast.js +2 -2
  565. package/dist/tooltip.cjs +3 -3
  566. package/dist/tooltip.js +2 -2
  567. package/dist/tree-nav.cjs +4 -4
  568. package/dist/tree-nav.js +2 -2
  569. package/dist/video-viewer.cjs +3 -3
  570. package/dist/video-viewer.js +2 -2
  571. package/package.json +1 -2
  572. package/dist/chunk-3DJGPNUI.js.map +0 -1
  573. package/dist/chunk-3SQ34IQC.cjs.map +0 -1
  574. package/dist/chunk-3Z6ALUWP.cjs +0 -13
  575. package/dist/chunk-3Z6ALUWP.cjs.map +0 -1
  576. package/dist/chunk-4UA45GB4.js.map +0 -1
  577. package/dist/chunk-5I4PR2KV.cjs.map +0 -1
  578. package/dist/chunk-6FYMMQ3G.cjs.map +0 -1
  579. package/dist/chunk-A22T6DKO.cjs.map +0 -1
  580. package/dist/chunk-AY3JABE3.cjs +0 -32
  581. package/dist/chunk-AY3JABE3.cjs.map +0 -1
  582. package/dist/chunk-BWT2L6XP.js.map +0 -1
  583. package/dist/chunk-CQWPMRYS.js.map +0 -1
  584. package/dist/chunk-DDRHCFUE.js.map +0 -1
  585. package/dist/chunk-DSUHZO6T.js +0 -11
  586. package/dist/chunk-DSUHZO6T.js.map +0 -1
  587. package/dist/chunk-IE4CM2SN.js.map +0 -1
  588. package/dist/chunk-IGU5YXRV.cjs.map +0 -1
  589. package/dist/chunk-JU5W65N3.cjs.map +0 -1
  590. package/dist/chunk-JYKZKSZJ.js.map +0 -1
  591. package/dist/chunk-KKYP5R3G.cjs.map +0 -1
  592. package/dist/chunk-MKFWFZVX.js +0 -30
  593. package/dist/chunk-MKFWFZVX.js.map +0 -1
  594. package/dist/chunk-PPLR2DNC.cjs.map +0 -1
  595. package/dist/chunk-WXADO5TS.cjs.map +0 -1
  596. package/dist/chunk-X36ZGYTF.js.map +0 -1
  597. package/dist/chunk-ZT36VWIA.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-DSUHZO6T.js';
1
+ import { cn } from './chunk-MMW2JGKZ.js';
2
2
  import { createContext, useState, useRef, useCallback, useMemo, useEffect, useContext, Children, isValidElement } from 'react';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
 
@@ -357,5 +357,5 @@ var Kanban = Object.assign(KanbanRoot, {
357
357
  });
358
358
 
359
359
  export { Kanban, useKanban };
360
- //# sourceMappingURL=chunk-YT42J4VQ.js.map
361
- //# sourceMappingURL=chunk-YT42J4VQ.js.map
360
+ //# sourceMappingURL=chunk-O6E2WC3J.js.map
361
+ //# sourceMappingURL=chunk-O6E2WC3J.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Kanban/Kanban.context.ts","../src/components/Kanban/KanbanCard.tsx","../src/components/Kanban/KanbanColumn.tsx","../src/components/Kanban/KanbanColumnHandle.tsx","../src/components/Kanban/Kanban.tsx"],"names":["useCallback","jsx","useState","useRef"],"mappings":"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","file":"chunk-YT42J4VQ.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { KanbanContextValue } from \"./Kanban.types\";\n\nexport const KanbanContext = createContext<KanbanContextValue | null>(null);\n\nexport function useKanban(): KanbanContextValue {\n const ctx = useContext(KanbanContext);\n if (!ctx) {\n throw new Error(\"Kanban compound components must be used within <Kanban>\");\n }\n return ctx;\n}\n\nexport const KanbanColumnContext = createContext<string>(\"\");\n\nexport function useKanbanColumn(): string {\n return useContext(KanbanColumnContext);\n}\n","import { useCallback } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useKanban, useKanbanColumn } from \"./Kanban.context\";\nimport type { KanbanCardProps } from \"./Kanban.types\";\n\nconst DEFAULT_CARD_CLASSES =\n \"rounded-lg border border-zinc-200 bg-white p-3 shadow-sm transition-shadow hover:shadow-md dark:border-zinc-700 dark:bg-zinc-900\";\n\nexport function KanbanCard({ children, id, className, unstyled }: KanbanCardProps) {\n const { setDraggedCard, setDragSource } = useKanban();\n const columnId = useKanbanColumn();\n\n const handleDragStart = useCallback(() => {\n setDraggedCard(id);\n setDragSource(columnId);\n }, [id, columnId, setDraggedCard, setDragSource]);\n\n const handleDragEnd = useCallback(() => {\n setDraggedCard(null);\n setDragSource(null);\n }, [setDraggedCard, setDragSource]);\n\n return (\n <div\n data-react-fancy-kanban-card=\"\"\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n className={cn(\n // Drag affordance — kept even when unstyled so users still see grab cursors.\n \"cursor-grab active:cursor-grabbing\",\n !unstyled && DEFAULT_CARD_CLASSES,\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nKanbanCard.displayName = \"KanbanCard\";\n","import { Children, isValidElement, useCallback, useEffect, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { KanbanCard } from \"./KanbanCard\";\nimport { useKanban, KanbanColumnContext } from \"./Kanban.context\";\nimport type { KanbanColumnProps } from \"./Kanban.types\";\n\nconst DEFAULT_COLUMN_CLASSES =\n \"min-h-[200px] w-72 rounded-xl bg-zinc-50 p-3 dark:bg-zinc-800/50\";\n\n/**\n * Deep-recurse through the children tree counting Kanban.Card descendants\n * regardless of wrapping (Fragment, ContextMenu, motion.div, custom HOCs,\n * etc.). Used by `hideWhenEmpty` and the WIP-limit count chip.\n */\nfunction countCardChildren(children: React.ReactNode): number {\n let n = 0;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return;\n if (child.type === KanbanCard) {\n n += 1;\n return;\n }\n const inner = (child.props as { children?: React.ReactNode }).children;\n if (inner !== undefined) n += countCardChildren(inner);\n });\n return n;\n}\n\n/**\n * Find the document-order index of a Kanban.Card with the given id, deep-\n * recursing through wrappers. Used by same-column reorder to compute the\n * post-removal insert position.\n */\nfunction findCardIndex(children: React.ReactNode, cardId: string): number {\n let idx = -1;\n let i = 0;\n function walk(nodes: React.ReactNode): void {\n Children.forEach(nodes, (child) => {\n if (idx !== -1) return;\n if (!isValidElement(child)) return;\n if (child.type === KanbanCard) {\n if ((child.props as { id?: string }).id === cardId) idx = i;\n i += 1;\n return;\n }\n const inner = (child.props as { children?: React.ReactNode }).children;\n if (inner !== undefined) walk(inner);\n });\n }\n walk(children);\n return idx;\n}\n\nexport function KanbanColumn({\n children,\n id,\n title,\n className,\n unstyled,\n wipLimit,\n hideWhenEmpty,\n}: KanbanColumnProps) {\n const { onCardMove, draggedCard, dragSource, registerColumn } = useKanban();\n const [dragOver, setDragOver] = useState(false);\n const [dropIndex, setDropIndex] = useState<number | null>(null);\n const [dropY, setDropY] = useState<number | null>(null);\n const cardsRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => registerColumn(id), [id, registerColumn]);\n\n /**\n * Compute drop position from mouse Y. Walks the *DOM* (not the React\n * tree) and queries `[data-react-fancy-kanban-card]` so wrappers\n * (ContextMenu, custom Card surfaces, motion.div) don't break the\n * indicator placement.\n */\n const updateDrop = useCallback((clientY: number) => {\n const container = cardsRef.current;\n if (!container) {\n setDropIndex(null);\n setDropY(null);\n return;\n }\n\n // Limit to cards belonging to THIS column — important if a card\n // happens to nest a sub-board (rare, but cheap to defend).\n const all = Array.from(\n container.querySelectorAll<HTMLElement>(\n \"[data-react-fancy-kanban-card]\",\n ),\n );\n const cards = all.filter(\n (el) =>\n el.closest(\"[data-react-fancy-kanban-column]\") ===\n cardsRef.current?.closest(\"[data-react-fancy-kanban-column]\"),\n );\n\n const containerRect = container.getBoundingClientRect();\n\n if (cards.length === 0) {\n setDropIndex(0);\n setDropY(0);\n return;\n }\n\n let idx = cards.length;\n let yRel = 0;\n for (let i = 0; i < cards.length; i++) {\n const rect = cards[i]!.getBoundingClientRect();\n if (clientY < rect.top + rect.height / 2) {\n idx = i;\n yRel = rect.top - containerRect.top;\n break;\n }\n }\n if (idx === cards.length) {\n const last = cards[cards.length - 1]!.getBoundingClientRect();\n yRel = last.bottom - containerRect.top;\n }\n\n setDropIndex(idx);\n setDropY(yRel);\n }, []);\n\n const handleDragOver = useCallback(\n (e: React.DragEvent) => {\n // Only react to card drags. Column drags are handled by the root.\n if (!draggedCard) return;\n e.preventDefault();\n e.stopPropagation();\n setDragOver(true);\n updateDrop(e.clientY);\n },\n [draggedCard, updateDrop],\n );\n\n const handleDragLeave = useCallback((e: React.DragEvent) => {\n if (e.currentTarget.contains(e.relatedTarget as Node | null)) return;\n setDragOver(false);\n setDropIndex(null);\n setDropY(null);\n }, []);\n\n const handleDrop = useCallback(\n (e: React.DragEvent) => {\n if (!draggedCard) return;\n e.preventDefault();\n e.stopPropagation();\n const target = dropIndex ?? 0;\n\n if (dragSource) {\n let finalIdx = target;\n if (dragSource === id) {\n const srcIdx = findCardIndex(children, draggedCard);\n if (srcIdx !== -1 && target > srcIdx) finalIdx = target - 1;\n if (srcIdx === finalIdx) {\n // No-op\n setDragOver(false);\n setDropIndex(null);\n setDropY(null);\n return;\n }\n }\n onCardMove?.(draggedCard, dragSource, id, finalIdx);\n }\n\n setDragOver(false);\n setDropIndex(null);\n setDropY(null);\n },\n [draggedCard, dragSource, dropIndex, id, onCardMove, children],\n );\n\n const cardCount = countCardChildren(children);\n if (hideWhenEmpty && cardCount === 0 && !draggedCard) return null;\n\n const showIndicator =\n draggedCard !== null &&\n dropIndex !== null &&\n dropY !== null &&\n dragOver;\n\n const overWip = wipLimit !== undefined && cardCount > wipLimit;\n\n return (\n <KanbanColumnContext.Provider value={id}>\n <div\n data-react-fancy-kanban-column=\"\"\n data-column-id={id}\n role=\"group\"\n aria-label={title}\n onDrop={handleDrop}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n className={cn(\n \"flex flex-col\",\n !unstyled && DEFAULT_COLUMN_CLASSES,\n dragOver && \"ring-2 ring-blue-400 ring-inset\",\n className,\n )}\n >\n {title && (\n <h3 className=\"mb-3 flex items-center gap-2 text-sm font-semibold text-zinc-600 dark:text-zinc-400\">\n <span className=\"flex-1\">{title}</span>\n <span\n className={cn(\n \"rounded-full px-1.5 py-0.5 text-[10px] font-semibold\",\n overWip\n ? \"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300\"\n : \"bg-zinc-200 text-zinc-700 dark:bg-zinc-700 dark:text-zinc-300\",\n )}\n >\n {cardCount}\n {wipLimit !== undefined ? `/${wipLimit}` : \"\"}\n </span>\n </h3>\n )}\n\n {/* Cards container — `relative` so the drop indicator overlay\n can position itself in the container's coordinate space.\n Children are rendered untouched so any wrapper hierarchy\n (ContextMenu, motion.div, etc.) keeps working. */}\n <div ref={cardsRef} className=\"relative flex flex-1 flex-col gap-2\">\n {children}\n\n {showIndicator && (\n <div\n data-react-fancy-kanban-drop-indicator=\"\"\n style={{ top: dropY }}\n className=\"pointer-events-none absolute left-0 right-0 h-0.5 -translate-y-1/2 rounded-full bg-blue-500/80 shadow-[0_0_0_3px_rgba(59,130,246,0.15)]\"\n />\n )}\n </div>\n </div>\n </KanbanColumnContext.Provider>\n );\n}\n\nKanbanColumn.displayName = \"KanbanColumn\";\n","import { useCallback } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useKanban, useKanbanColumn } from \"./Kanban.context\";\nimport type { KanbanColumnHandleProps } from \"./Kanban.types\";\n\n/**\n * Drag handle for column reordering.\n *\n * Mount inside a `Kanban.Column` to make that column draggable. The\n * column's parent `Kanban` listens for the drop and surfaces the new\n * position via `onColumnMove`. Without a handle, columns are static.\n *\n * Typically wrapped around the column header so users grab the title\n * to reorder; can also be a small grip icon.\n */\nexport function KanbanColumnHandle({\n children,\n className,\n}: KanbanColumnHandleProps) {\n const { setDraggedColumn } = useKanban();\n const columnId = useKanbanColumn();\n\n const handleDragStart = useCallback(\n (e: React.DragEvent) => {\n // Set a dataTransfer payload so the browser permits the drag — some\n // browsers refuse if dataTransfer is empty.\n e.dataTransfer.effectAllowed = \"move\";\n e.dataTransfer.setData(\"text/plain\", columnId);\n e.stopPropagation();\n setDraggedColumn(columnId);\n },\n [columnId, setDraggedColumn],\n );\n\n const handleDragEnd = useCallback(() => {\n setDraggedColumn(null);\n }, [setDraggedColumn]);\n\n return (\n <div\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n data-react-fancy-kanban-column-handle=\"\"\n className={cn(\n \"cursor-grab active:cursor-grabbing select-none\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nKanbanColumnHandle.displayName = \"KanbanColumnHandle\";\n","import { useCallback, useMemo, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { KanbanContext } from \"./Kanban.context\";\nimport { KanbanColumn } from \"./KanbanColumn\";\nimport { KanbanCard } from \"./KanbanCard\";\nimport { KanbanColumnHandle } from \"./KanbanColumnHandle\";\nimport type { KanbanProps } from \"./Kanban.types\";\n\n/**\n * Kanban board.\n *\n * Compound:\n * <Kanban onCardMove={...} onColumnMove={...}>\n * <Kanban.Column id=\"todo\" wipLimit={4}>\n * <Kanban.ColumnHandle>...header...</Kanban.ColumnHandle> // optional\n * <Kanban.Card id=\"...\">...</Kanban.Card>\n * </Kanban.Column>\n * </Kanban>\n *\n * Cards drag between columns AND within a column. Drop position is\n * computed from mouse Y at hover time and surfaced via the `toIndex`\n * argument on `onCardMove`.\n *\n * Columns drag horizontally to reorder when a `<Kanban.ColumnHandle>`\n * is mounted inside them. The root computes the drop index from\n * mouse X and surfaces it via `onColumnMove`.\n */\nfunction KanbanRoot({\n children,\n onCardMove,\n onColumnMove,\n className,\n}: KanbanProps) {\n const [draggedCard, setDraggedCard] = useState<string | null>(null);\n const [dragSource, setDragSource] = useState<string | null>(null);\n const [draggedColumn, setDraggedColumn] = useState<string | null>(null);\n\n const orderRef = useRef<string[]>([]);\n const [columnIds, setColumnIds] = useState<string[]>([]);\n\n const registerColumn = useCallback((id: string) => {\n if (!orderRef.current.includes(id)) {\n orderRef.current = [...orderRef.current, id];\n setColumnIds(orderRef.current);\n }\n return () => {\n orderRef.current = orderRef.current.filter((x) => x !== id);\n setColumnIds(orderRef.current);\n };\n }, []);\n\n const ctx = useMemo(\n () => ({\n draggedCard,\n setDraggedCard,\n dragSource,\n setDragSource,\n draggedColumn,\n setDraggedColumn,\n onCardMove,\n onColumnMove,\n columnIds,\n registerColumn,\n }),\n [\n draggedCard,\n dragSource,\n draggedColumn,\n onCardMove,\n onColumnMove,\n columnIds,\n registerColumn,\n ],\n );\n\n // ── Column-level drop handling ────────────────────────────────────────\n // Root listens only when a column is being dragged. Drop index is\n // computed from mouse X versus each column's horizontal midpoint.\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleDragOver = useCallback(\n (e: React.DragEvent) => {\n if (!draggedColumn) return;\n e.preventDefault();\n },\n [draggedColumn],\n );\n\n const handleDrop = useCallback(\n (e: React.DragEvent) => {\n if (!draggedColumn || !containerRef.current) return;\n e.preventDefault();\n\n const cols = containerRef.current.querySelectorAll<HTMLElement>(\n '[data-react-fancy-kanban-column]',\n );\n const x = e.clientX;\n let dropIdx = cols.length;\n for (let i = 0; i < cols.length; i++) {\n const rect = cols[i]!.getBoundingClientRect();\n if (x < rect.left + rect.width / 2) {\n dropIdx = i;\n break;\n }\n }\n\n const sourceIdx = columnIds.indexOf(draggedColumn);\n // When moving rightward, dropping at index N visually means landing\n // at N - 1 after the source is removed.\n const finalIdx =\n sourceIdx >= 0 && dropIdx > sourceIdx ? dropIdx - 1 : dropIdx;\n\n if (finalIdx !== sourceIdx) {\n onColumnMove?.(draggedColumn, finalIdx);\n }\n setDraggedColumn(null);\n },\n [draggedColumn, columnIds, onColumnMove],\n );\n\n return (\n <KanbanContext.Provider value={ctx}>\n <div\n ref={containerRef}\n data-react-fancy-kanban=\"\"\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n role=\"application\"\n aria-roledescription=\"kanban board\"\n className={cn(\"flex gap-4 overflow-x-auto p-4\", className)}\n >\n {children}\n </div>\n </KanbanContext.Provider>\n );\n}\n\nexport const Kanban = Object.assign(KanbanRoot, {\n Column: KanbanColumn,\n Card: KanbanCard,\n ColumnHandle: KanbanColumnHandle,\n});\n"]}
1
+ {"version":3,"sources":["../src/components/Kanban/Kanban.context.ts","../src/components/Kanban/KanbanCard.tsx","../src/components/Kanban/KanbanColumn.tsx","../src/components/Kanban/KanbanColumnHandle.tsx","../src/components/Kanban/Kanban.tsx"],"names":["useCallback","jsx","useState","useRef"],"mappings":";;;;AAGO,IAAM,aAAA,GAAgB,cAAyC,IAAI,CAAA;AAEnE,SAAS,SAAA,GAAgC;AAC9C,EAAA,MAAM,GAAA,GAAM,WAAW,aAAa,CAAA;AACpC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,yDAAyD,CAAA;AAAA,EAC3E;AACA,EAAA,OAAO,GAAA;AACT;AAEO,IAAM,mBAAA,GAAsB,cAAsB,EAAE,CAAA;AAEpD,SAAS,eAAA,GAA0B;AACxC,EAAA,OAAO,WAAW,mBAAmB,CAAA;AACvC;ACZA,IAAM,oBAAA,GACJ,kIAAA;AAEK,SAAS,WAAW,EAAE,QAAA,EAAU,EAAA,EAAI,SAAA,EAAW,UAAS,EAAoB;AACjF,EAAA,MAAM,EAAE,cAAA,EAAgB,aAAA,EAAc,GAAI,SAAA,EAAU;AACpD,EAAA,MAAM,WAAW,eAAA,EAAgB;AAEjC,EAAA,MAAM,eAAA,GAAkB,YAAY,MAAM;AACxC,IAAA,cAAA,CAAe,EAAE,CAAA;AACjB,IAAA,aAAA,CAAc,QAAQ,CAAA;AAAA,EACxB,GAAG,CAAC,EAAA,EAAI,QAAA,EAAU,cAAA,EAAgB,aAAa,CAAC,CAAA;AAEhD,EAAA,MAAM,aAAA,GAAgB,YAAY,MAAM;AACtC,IAAA,cAAA,CAAe,IAAI,CAAA;AACnB,IAAA,aAAA,CAAc,IAAI,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,cAAA,EAAgB,aAAa,CAAC,CAAA;AAElC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,8BAAA,EAA6B,EAAA;AAAA,MAC7B,SAAA,EAAS,IAAA;AAAA,MACT,WAAA,EAAa,eAAA;AAAA,MACb,SAAA,EAAW,aAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA;AAAA,QAET,oCAAA;AAAA,QACA,CAAC,QAAA,IAAY,oBAAA;AAAA,QACb;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AClCzB,IAAM,sBAAA,GACJ,kEAAA;AAOF,SAAS,kBAAkB,QAAA,EAAmC;AAC5D,EAAA,IAAI,CAAA,GAAI,CAAA;AACR,EAAA,QAAA,CAAS,OAAA,CAAQ,QAAA,EAAU,CAAC,KAAA,KAAU;AACpC,IAAA,IAAI,CAAC,cAAA,CAAe,KAAK,CAAA,EAAG;AAC5B,IAAA,IAAI,KAAA,CAAM,SAAS,UAAA,EAAY;AAC7B,MAAA,CAAA,IAAK,CAAA;AACL,MAAA;AAAA,IACF;AACA,IAAA,MAAM,KAAA,GAAS,MAAM,KAAA,CAAyC,QAAA;AAC9D,IAAA,IAAI,KAAA,KAAU,MAAA,EAAW,CAAA,IAAK,iBAAA,CAAkB,KAAK,CAAA;AAAA,EACvD,CAAC,CAAA;AACD,EAAA,OAAO,CAAA;AACT;AAOA,SAAS,aAAA,CAAc,UAA2B,MAAA,EAAwB;AACxE,EAAA,IAAI,GAAA,GAAM,EAAA;AACV,EAAA,IAAI,CAAA,GAAI,CAAA;AACR,EAAA,SAAS,KAAK,KAAA,EAA8B;AAC1C,IAAA,QAAA,CAAS,OAAA,CAAQ,KAAA,EAAO,CAAC,KAAA,KAAU;AACjC,MAAA,IAAI,QAAQ,EAAA,EAAI;AAChB,MAAA,IAAI,CAAC,cAAA,CAAe,KAAK,CAAA,EAAG;AAC5B,MAAA,IAAI,KAAA,CAAM,SAAS,UAAA,EAAY;AAC7B,QAAA,IAAK,KAAA,CAAM,KAAA,CAA0B,EAAA,KAAO,MAAA,EAAQ,GAAA,GAAM,CAAA;AAC1D,QAAA,CAAA,IAAK,CAAA;AACL,QAAA;AAAA,MACF;AACA,MAAA,MAAM,KAAA,GAAS,MAAM,KAAA,CAAyC,QAAA;AAC9D,MAAA,IAAI,KAAA,KAAU,MAAA,EAAW,IAAA,CAAK,KAAK,CAAA;AAAA,IACrC,CAAC,CAAA;AAAA,EACH;AACA,EAAA,IAAA,CAAK,QAAQ,CAAA;AACb,EAAA,OAAO,GAAA;AACT;AAEO,SAAS,YAAA,CAAa;AAAA,EAC3B,QAAA;AAAA,EACA,EAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAsB;AACpB,EAAA,MAAM,EAAE,UAAA,EAAY,WAAA,EAAa,UAAA,EAAY,cAAA,KAAmB,SAAA,EAAU;AAC1E,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAwB,IAAI,CAAA;AAC9D,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAwB,IAAI,CAAA;AACtD,EAAA,MAAM,QAAA,GAAW,OAAuB,IAAI,CAAA;AAE5C,EAAA,SAAA,CAAU,MAAM,cAAA,CAAe,EAAE,GAAG,CAAC,EAAA,EAAI,cAAc,CAAC,CAAA;AAQxD,EAAA,MAAM,UAAA,GAAaA,WAAAA,CAAY,CAAC,OAAA,KAAoB;AAClD,IAAA,MAAM,YAAY,QAAA,CAAS,OAAA;AAC3B,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA;AAAA,IACF;AAIA,IAAA,MAAM,MAAM,KAAA,CAAM,IAAA;AAAA,MAChB,SAAA,CAAU,gBAAA;AAAA,QACR;AAAA;AACF,KACF;AACA,IAAA,MAAM,QAAQ,GAAA,CAAI,MAAA;AAAA,MAChB,CAAC,OACC,EAAA,CAAG,OAAA,CAAQ,kCAAkC,CAAA,KAC7C,QAAA,CAAS,OAAA,EAAS,OAAA,CAAQ,kCAAkC;AAAA,KAChE;AAEA,IAAA,MAAM,aAAA,GAAgB,UAAU,qBAAA,EAAsB;AAEtD,IAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,MAAA,YAAA,CAAa,CAAC,CAAA;AACd,MAAA,QAAA,CAAS,CAAC,CAAA;AACV,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,MAAM,KAAA,CAAM,MAAA;AAChB,IAAA,IAAI,IAAA,GAAO,CAAA;AACX,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AACrC,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,CAAC,CAAA,CAAG,qBAAA,EAAsB;AAC7C,MAAA,IAAI,OAAA,GAAU,IAAA,CAAK,GAAA,GAAM,IAAA,CAAK,SAAS,CAAA,EAAG;AACxC,QAAA,GAAA,GAAM,CAAA;AACN,QAAA,IAAA,GAAO,IAAA,CAAK,MAAM,aAAA,CAAc,GAAA;AAChC,QAAA;AAAA,MACF;AAAA,IACF;AACA,IAAA,IAAI,GAAA,KAAQ,MAAM,MAAA,EAAQ;AACxB,MAAA,MAAM,OAAO,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,EAAG,qBAAA,EAAsB;AAC5D,MAAA,IAAA,GAAO,IAAA,CAAK,SAAS,aAAA,CAAc,GAAA;AAAA,IACrC;AAEA,IAAA,YAAA,CAAa,GAAG,CAAA;AAChB,IAAA,QAAA,CAAS,IAAI,CAAA;AAAA,EACf,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,cAAA,GAAiBA,WAAAA;AAAA,IACrB,CAAC,CAAA,KAAuB;AAEtB,MAAA,IAAI,CAAC,WAAA,EAAa;AAClB,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,MAAA,WAAA,CAAY,IAAI,CAAA;AAChB,MAAA,UAAA,CAAW,EAAE,OAAO,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,CAAC,aAAa,UAAU;AAAA,GAC1B;AAEA,EAAA,MAAM,eAAA,GAAkBA,WAAAA,CAAY,CAAC,CAAA,KAAuB;AAC1D,IAAA,IAAI,CAAA,CAAE,aAAA,CAAc,QAAA,CAAS,CAAA,CAAE,aAA4B,CAAA,EAAG;AAC9D,IAAA,WAAA,CAAY,KAAK,CAAA;AACjB,IAAA,YAAA,CAAa,IAAI,CAAA;AACjB,IAAA,QAAA,CAAS,IAAI,CAAA;AAAA,EACf,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,UAAA,GAAaA,WAAAA;AAAA,IACjB,CAAC,CAAA,KAAuB;AACtB,MAAA,IAAI,CAAC,WAAA,EAAa;AAClB,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,MAAA,MAAM,SAAS,SAAA,IAAa,CAAA;AAE5B,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,IAAI,QAAA,GAAW,MAAA;AACf,QAAA,IAAI,eAAe,EAAA,EAAI;AACrB,UAAA,MAAM,MAAA,GAAS,aAAA,CAAc,QAAA,EAAU,WAAW,CAAA;AAClD,UAAA,IAAI,MAAA,KAAW,EAAA,IAAM,MAAA,GAAS,MAAA,aAAmB,MAAA,GAAS,CAAA;AAC1D,UAAA,IAAI,WAAW,QAAA,EAAU;AAEvB,YAAA,WAAA,CAAY,KAAK,CAAA;AACjB,YAAA,YAAA,CAAa,IAAI,CAAA;AACjB,YAAA,QAAA,CAAS,IAAI,CAAA;AACb,YAAA;AAAA,UACF;AAAA,QACF;AACA,QAAA,UAAA,GAAa,WAAA,EAAa,UAAA,EAAY,EAAA,EAAI,QAAQ,CAAA;AAAA,MACpD;AAEA,MAAA,WAAA,CAAY,KAAK,CAAA;AACjB,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,QAAA,CAAS,IAAI,CAAA;AAAA,IACf,CAAA;AAAA,IACA,CAAC,WAAA,EAAa,UAAA,EAAY,SAAA,EAAW,EAAA,EAAI,YAAY,QAAQ;AAAA,GAC/D;AAEA,EAAA,MAAM,SAAA,GAAY,kBAAkB,QAAQ,CAAA;AAC5C,EAAA,IAAI,aAAA,IAAiB,SAAA,KAAc,CAAA,IAAK,CAAC,aAAa,OAAO,IAAA;AAE7D,EAAA,MAAM,gBACJ,WAAA,KAAgB,IAAA,IAChB,SAAA,KAAc,IAAA,IACd,UAAU,IAAA,IACV,QAAA;AAEF,EAAA,MAAM,OAAA,GAAU,QAAA,KAAa,MAAA,IAAa,SAAA,GAAY,QAAA;AAEtD,EAAA,uBACEC,GAAAA,CAAC,mBAAA,CAAoB,QAAA,EAApB,EAA6B,OAAO,EAAA,EACnC,QAAA,kBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,gCAAA,EAA+B,EAAA;AAAA,MAC/B,gBAAA,EAAgB,EAAA;AAAA,MAChB,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,KAAA;AAAA,MACZ,MAAA,EAAQ,UAAA;AAAA,MACR,UAAA,EAAY,cAAA;AAAA,MACZ,WAAA,EAAa,eAAA;AAAA,MACb,SAAA,EAAW,EAAA;AAAA,QACT,eAAA;AAAA,QACA,CAAC,QAAA,IAAY,sBAAA;AAAA,QACb,QAAA,IAAY,iCAAA;AAAA,QACZ;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,KAAA,oBACC,IAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,qFAAA,EACZ,QAAA,EAAA;AAAA,0BAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,QAAA,EAAU,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,0BAChC,IAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,sDAAA;AAAA,gBACA,UACI,8DAAA,GACA;AAAA,eACN;AAAA,cAEC,QAAA,EAAA;AAAA,gBAAA,SAAA;AAAA,gBACA,QAAA,KAAa,MAAA,GAAY,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,GAAK;AAAA;AAAA;AAAA;AAC7C,SAAA,EACF,CAAA;AAAA,wBAOF,IAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,QAAA,EAAU,WAAU,qCAAA,EAC3B,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UAEA,iCACCA,GAAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,wCAAA,EAAuC,EAAA;AAAA,cACvC,KAAA,EAAO,EAAE,GAAA,EAAK,KAAA,EAAM;AAAA,cACpB,SAAA,EAAU;AAAA;AAAA;AACZ,SAAA,EAEJ;AAAA;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AC/NpB,SAAS,kBAAA,CAAmB;AAAA,EACjC,QAAA;AAAA,EACA;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,EAAE,gBAAA,EAAiB,GAAI,SAAA,EAAU;AACvC,EAAA,MAAM,WAAW,eAAA,EAAgB;AAEjC,EAAA,MAAM,eAAA,GAAkBD,WAAAA;AAAA,IACtB,CAAC,CAAA,KAAuB;AAGtB,MAAA,CAAA,CAAE,aAAa,aAAA,GAAgB,MAAA;AAC/B,MAAA,CAAA,CAAE,YAAA,CAAa,OAAA,CAAQ,YAAA,EAAc,QAAQ,CAAA;AAC7C,MAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,MAAA,gBAAA,CAAiB,QAAQ,CAAA;AAAA,IAC3B,CAAA;AAAA,IACA,CAAC,UAAU,gBAAgB;AAAA,GAC7B;AAEA,EAAA,MAAM,aAAA,GAAgBA,YAAY,MAAM;AACtC,IAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,EACvB,CAAA,EAAG,CAAC,gBAAgB,CAAC,CAAA;AAErB,EAAA,uBACEC,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAS,IAAA;AAAA,MACT,WAAA,EAAa,eAAA;AAAA,MACb,SAAA,EAAW,aAAA;AAAA,MACX,uCAAA,EAAsC,EAAA;AAAA,MACtC,SAAA,EAAW,EAAA;AAAA,QACT,gDAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;AAEA,kBAAA,CAAmB,WAAA,GAAc,oBAAA;AC3BjC,SAAS,UAAA,CAAW;AAAA,EAClB,QAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EAAgB;AACd,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIC,SAAwB,IAAI,CAAA;AAClE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,SAAwB,IAAI,CAAA;AAChE,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,SAAwB,IAAI,CAAA;AAEtE,EAAA,MAAM,QAAA,GAAWC,MAAAA,CAAiB,EAAE,CAAA;AACpC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAID,QAAAA,CAAmB,EAAE,CAAA;AAEvD,EAAA,MAAM,cAAA,GAAiBF,WAAAA,CAAY,CAAC,EAAA,KAAe;AACjD,IAAA,IAAI,CAAC,QAAA,CAAS,OAAA,CAAQ,QAAA,CAAS,EAAE,CAAA,EAAG;AAClC,MAAA,QAAA,CAAS,OAAA,GAAU,CAAC,GAAG,QAAA,CAAS,SAAS,EAAE,CAAA;AAC3C,MAAA,YAAA,CAAa,SAAS,OAAO,CAAA;AAAA,IAC/B;AACA,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,UAAU,QAAA,CAAS,OAAA,CAAQ,OAAO,CAAC,CAAA,KAAM,MAAM,EAAE,CAAA;AAC1D,MAAA,YAAA,CAAa,SAAS,OAAO,CAAA;AAAA,IAC/B,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,GAAA,GAAM,OAAA;AAAA,IACV,OAAO;AAAA,MACL,WAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,gBAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA;AAAA,MACE,WAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AACF,GACF;AAKA,EAAA,MAAM,YAAA,GAAeG,OAAuB,IAAI,CAAA;AAEhD,EAAA,MAAM,cAAA,GAAiBH,WAAAA;AAAA,IACrB,CAAC,CAAA,KAAuB;AACtB,MAAA,IAAI,CAAC,aAAA,EAAe;AACpB,MAAA,CAAA,CAAE,cAAA,EAAe;AAAA,IACnB,CAAA;AAAA,IACA,CAAC,aAAa;AAAA,GAChB;AAEA,EAAA,MAAM,UAAA,GAAaA,WAAAA;AAAA,IACjB,CAAC,CAAA,KAAuB;AACtB,MAAA,IAAI,CAAC,aAAA,IAAiB,CAAC,YAAA,CAAa,OAAA,EAAS;AAC7C,MAAA,CAAA,CAAE,cAAA,EAAe;AAEjB,MAAA,MAAM,IAAA,GAAO,aAAa,OAAA,CAAQ,gBAAA;AAAA,QAChC;AAAA,OACF;AACA,MAAA,MAAM,IAAI,CAAA,CAAE,OAAA;AACZ,MAAA,IAAI,UAAU,IAAA,CAAK,MAAA;AACnB,MAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,QAAQ,CAAA,EAAA,EAAK;AACpC,QAAA,MAAM,IAAA,GAAO,IAAA,CAAK,CAAC,CAAA,CAAG,qBAAA,EAAsB;AAC5C,QAAA,IAAI,CAAA,GAAI,IAAA,CAAK,IAAA,GAAO,IAAA,CAAK,QAAQ,CAAA,EAAG;AAClC,UAAA,OAAA,GAAU,CAAA;AACV,UAAA;AAAA,QACF;AAAA,MACF;AAEA,MAAA,MAAM,SAAA,GAAY,SAAA,CAAU,OAAA,CAAQ,aAAa,CAAA;AAGjD,MAAA,MAAM,WACJ,SAAA,IAAa,CAAA,IAAK,OAAA,GAAU,SAAA,GAAY,UAAU,CAAA,GAAI,OAAA;AAExD,MAAA,IAAI,aAAa,SAAA,EAAW;AAC1B,QAAA,YAAA,GAAe,eAAe,QAAQ,CAAA;AAAA,MACxC;AACA,MAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,IACvB,CAAA;AAAA,IACA,CAAC,aAAA,EAAe,SAAA,EAAW,YAAY;AAAA,GACzC;AAEA,EAAA,uBACEC,GAAAA,CAAC,aAAA,CAAc,UAAd,EAAuB,KAAA,EAAO,KAC7B,QAAA,kBAAAA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,YAAA;AAAA,MACL,yBAAA,EAAwB,EAAA;AAAA,MACxB,UAAA,EAAY,cAAA;AAAA,MACZ,MAAA,EAAQ,UAAA;AAAA,MACR,IAAA,EAAK,aAAA;AAAA,MACL,sBAAA,EAAqB,cAAA;AAAA,MACrB,SAAA,EAAW,EAAA,CAAG,gCAAA,EAAkC,SAAS,CAAA;AAAA,MAExD;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAEO,IAAM,MAAA,GAAS,MAAA,CAAO,MAAA,CAAO,UAAA,EAAY;AAAA,EAC9C,MAAA,EAAQ,YAAA;AAAA,EACR,IAAA,EAAM,UAAA;AAAA,EACN,YAAA,EAAc;AAChB,CAAC","file":"chunk-O6E2WC3J.js","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { KanbanContextValue } from \"./Kanban.types\";\n\nexport const KanbanContext = createContext<KanbanContextValue | null>(null);\n\nexport function useKanban(): KanbanContextValue {\n const ctx = useContext(KanbanContext);\n if (!ctx) {\n throw new Error(\"Kanban compound components must be used within <Kanban>\");\n }\n return ctx;\n}\n\nexport const KanbanColumnContext = createContext<string>(\"\");\n\nexport function useKanbanColumn(): string {\n return useContext(KanbanColumnContext);\n}\n","import { useCallback } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useKanban, useKanbanColumn } from \"./Kanban.context\";\nimport type { KanbanCardProps } from \"./Kanban.types\";\n\nconst DEFAULT_CARD_CLASSES =\n \"rounded-lg border border-zinc-200 bg-white p-3 shadow-sm transition-shadow hover:shadow-md dark:border-zinc-700 dark:bg-zinc-900\";\n\nexport function KanbanCard({ children, id, className, unstyled }: KanbanCardProps) {\n const { setDraggedCard, setDragSource } = useKanban();\n const columnId = useKanbanColumn();\n\n const handleDragStart = useCallback(() => {\n setDraggedCard(id);\n setDragSource(columnId);\n }, [id, columnId, setDraggedCard, setDragSource]);\n\n const handleDragEnd = useCallback(() => {\n setDraggedCard(null);\n setDragSource(null);\n }, [setDraggedCard, setDragSource]);\n\n return (\n <div\n data-react-fancy-kanban-card=\"\"\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n className={cn(\n // Drag affordance — kept even when unstyled so users still see grab cursors.\n \"cursor-grab active:cursor-grabbing\",\n !unstyled && DEFAULT_CARD_CLASSES,\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nKanbanCard.displayName = \"KanbanCard\";\n","import { Children, isValidElement, useCallback, useEffect, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { KanbanCard } from \"./KanbanCard\";\nimport { useKanban, KanbanColumnContext } from \"./Kanban.context\";\nimport type { KanbanColumnProps } from \"./Kanban.types\";\n\nconst DEFAULT_COLUMN_CLASSES =\n \"min-h-[200px] w-72 rounded-xl bg-zinc-50 p-3 dark:bg-zinc-800/50\";\n\n/**\n * Deep-recurse through the children tree counting Kanban.Card descendants\n * regardless of wrapping (Fragment, ContextMenu, motion.div, custom HOCs,\n * etc.). Used by `hideWhenEmpty` and the WIP-limit count chip.\n */\nfunction countCardChildren(children: React.ReactNode): number {\n let n = 0;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return;\n if (child.type === KanbanCard) {\n n += 1;\n return;\n }\n const inner = (child.props as { children?: React.ReactNode }).children;\n if (inner !== undefined) n += countCardChildren(inner);\n });\n return n;\n}\n\n/**\n * Find the document-order index of a Kanban.Card with the given id, deep-\n * recursing through wrappers. Used by same-column reorder to compute the\n * post-removal insert position.\n */\nfunction findCardIndex(children: React.ReactNode, cardId: string): number {\n let idx = -1;\n let i = 0;\n function walk(nodes: React.ReactNode): void {\n Children.forEach(nodes, (child) => {\n if (idx !== -1) return;\n if (!isValidElement(child)) return;\n if (child.type === KanbanCard) {\n if ((child.props as { id?: string }).id === cardId) idx = i;\n i += 1;\n return;\n }\n const inner = (child.props as { children?: React.ReactNode }).children;\n if (inner !== undefined) walk(inner);\n });\n }\n walk(children);\n return idx;\n}\n\nexport function KanbanColumn({\n children,\n id,\n title,\n className,\n unstyled,\n wipLimit,\n hideWhenEmpty,\n}: KanbanColumnProps) {\n const { onCardMove, draggedCard, dragSource, registerColumn } = useKanban();\n const [dragOver, setDragOver] = useState(false);\n const [dropIndex, setDropIndex] = useState<number | null>(null);\n const [dropY, setDropY] = useState<number | null>(null);\n const cardsRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => registerColumn(id), [id, registerColumn]);\n\n /**\n * Compute drop position from mouse Y. Walks the *DOM* (not the React\n * tree) and queries `[data-react-fancy-kanban-card]` so wrappers\n * (ContextMenu, custom Card surfaces, motion.div) don't break the\n * indicator placement.\n */\n const updateDrop = useCallback((clientY: number) => {\n const container = cardsRef.current;\n if (!container) {\n setDropIndex(null);\n setDropY(null);\n return;\n }\n\n // Limit to cards belonging to THIS column — important if a card\n // happens to nest a sub-board (rare, but cheap to defend).\n const all = Array.from(\n container.querySelectorAll<HTMLElement>(\n \"[data-react-fancy-kanban-card]\",\n ),\n );\n const cards = all.filter(\n (el) =>\n el.closest(\"[data-react-fancy-kanban-column]\") ===\n cardsRef.current?.closest(\"[data-react-fancy-kanban-column]\"),\n );\n\n const containerRect = container.getBoundingClientRect();\n\n if (cards.length === 0) {\n setDropIndex(0);\n setDropY(0);\n return;\n }\n\n let idx = cards.length;\n let yRel = 0;\n for (let i = 0; i < cards.length; i++) {\n const rect = cards[i]!.getBoundingClientRect();\n if (clientY < rect.top + rect.height / 2) {\n idx = i;\n yRel = rect.top - containerRect.top;\n break;\n }\n }\n if (idx === cards.length) {\n const last = cards[cards.length - 1]!.getBoundingClientRect();\n yRel = last.bottom - containerRect.top;\n }\n\n setDropIndex(idx);\n setDropY(yRel);\n }, []);\n\n const handleDragOver = useCallback(\n (e: React.DragEvent) => {\n // Only react to card drags. Column drags are handled by the root.\n if (!draggedCard) return;\n e.preventDefault();\n e.stopPropagation();\n setDragOver(true);\n updateDrop(e.clientY);\n },\n [draggedCard, updateDrop],\n );\n\n const handleDragLeave = useCallback((e: React.DragEvent) => {\n if (e.currentTarget.contains(e.relatedTarget as Node | null)) return;\n setDragOver(false);\n setDropIndex(null);\n setDropY(null);\n }, []);\n\n const handleDrop = useCallback(\n (e: React.DragEvent) => {\n if (!draggedCard) return;\n e.preventDefault();\n e.stopPropagation();\n const target = dropIndex ?? 0;\n\n if (dragSource) {\n let finalIdx = target;\n if (dragSource === id) {\n const srcIdx = findCardIndex(children, draggedCard);\n if (srcIdx !== -1 && target > srcIdx) finalIdx = target - 1;\n if (srcIdx === finalIdx) {\n // No-op\n setDragOver(false);\n setDropIndex(null);\n setDropY(null);\n return;\n }\n }\n onCardMove?.(draggedCard, dragSource, id, finalIdx);\n }\n\n setDragOver(false);\n setDropIndex(null);\n setDropY(null);\n },\n [draggedCard, dragSource, dropIndex, id, onCardMove, children],\n );\n\n const cardCount = countCardChildren(children);\n if (hideWhenEmpty && cardCount === 0 && !draggedCard) return null;\n\n const showIndicator =\n draggedCard !== null &&\n dropIndex !== null &&\n dropY !== null &&\n dragOver;\n\n const overWip = wipLimit !== undefined && cardCount > wipLimit;\n\n return (\n <KanbanColumnContext.Provider value={id}>\n <div\n data-react-fancy-kanban-column=\"\"\n data-column-id={id}\n role=\"group\"\n aria-label={title}\n onDrop={handleDrop}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n className={cn(\n \"flex flex-col\",\n !unstyled && DEFAULT_COLUMN_CLASSES,\n dragOver && \"ring-2 ring-blue-400 ring-inset\",\n className,\n )}\n >\n {title && (\n <h3 className=\"mb-3 flex items-center gap-2 text-sm font-semibold text-zinc-600 dark:text-zinc-400\">\n <span className=\"flex-1\">{title}</span>\n <span\n className={cn(\n \"rounded-full px-1.5 py-0.5 text-[10px] font-semibold\",\n overWip\n ? \"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300\"\n : \"bg-zinc-200 text-zinc-700 dark:bg-zinc-700 dark:text-zinc-300\",\n )}\n >\n {cardCount}\n {wipLimit !== undefined ? `/${wipLimit}` : \"\"}\n </span>\n </h3>\n )}\n\n {/* Cards container — `relative` so the drop indicator overlay\n can position itself in the container's coordinate space.\n Children are rendered untouched so any wrapper hierarchy\n (ContextMenu, motion.div, etc.) keeps working. */}\n <div ref={cardsRef} className=\"relative flex flex-1 flex-col gap-2\">\n {children}\n\n {showIndicator && (\n <div\n data-react-fancy-kanban-drop-indicator=\"\"\n style={{ top: dropY }}\n className=\"pointer-events-none absolute left-0 right-0 h-0.5 -translate-y-1/2 rounded-full bg-blue-500/80 shadow-[0_0_0_3px_rgba(59,130,246,0.15)]\"\n />\n )}\n </div>\n </div>\n </KanbanColumnContext.Provider>\n );\n}\n\nKanbanColumn.displayName = \"KanbanColumn\";\n","import { useCallback } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { useKanban, useKanbanColumn } from \"./Kanban.context\";\nimport type { KanbanColumnHandleProps } from \"./Kanban.types\";\n\n/**\n * Drag handle for column reordering.\n *\n * Mount inside a `Kanban.Column` to make that column draggable. The\n * column's parent `Kanban` listens for the drop and surfaces the new\n * position via `onColumnMove`. Without a handle, columns are static.\n *\n * Typically wrapped around the column header so users grab the title\n * to reorder; can also be a small grip icon.\n */\nexport function KanbanColumnHandle({\n children,\n className,\n}: KanbanColumnHandleProps) {\n const { setDraggedColumn } = useKanban();\n const columnId = useKanbanColumn();\n\n const handleDragStart = useCallback(\n (e: React.DragEvent) => {\n // Set a dataTransfer payload so the browser permits the drag — some\n // browsers refuse if dataTransfer is empty.\n e.dataTransfer.effectAllowed = \"move\";\n e.dataTransfer.setData(\"text/plain\", columnId);\n e.stopPropagation();\n setDraggedColumn(columnId);\n },\n [columnId, setDraggedColumn],\n );\n\n const handleDragEnd = useCallback(() => {\n setDraggedColumn(null);\n }, [setDraggedColumn]);\n\n return (\n <div\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n data-react-fancy-kanban-column-handle=\"\"\n className={cn(\n \"cursor-grab active:cursor-grabbing select-none\",\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nKanbanColumnHandle.displayName = \"KanbanColumnHandle\";\n","import { useCallback, useMemo, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { KanbanContext } from \"./Kanban.context\";\nimport { KanbanColumn } from \"./KanbanColumn\";\nimport { KanbanCard } from \"./KanbanCard\";\nimport { KanbanColumnHandle } from \"./KanbanColumnHandle\";\nimport type { KanbanProps } from \"./Kanban.types\";\n\n/**\n * Kanban board.\n *\n * Compound:\n * <Kanban onCardMove={...} onColumnMove={...}>\n * <Kanban.Column id=\"todo\" wipLimit={4}>\n * <Kanban.ColumnHandle>...header...</Kanban.ColumnHandle> // optional\n * <Kanban.Card id=\"...\">...</Kanban.Card>\n * </Kanban.Column>\n * </Kanban>\n *\n * Cards drag between columns AND within a column. Drop position is\n * computed from mouse Y at hover time and surfaced via the `toIndex`\n * argument on `onCardMove`.\n *\n * Columns drag horizontally to reorder when a `<Kanban.ColumnHandle>`\n * is mounted inside them. The root computes the drop index from\n * mouse X and surfaces it via `onColumnMove`.\n */\nfunction KanbanRoot({\n children,\n onCardMove,\n onColumnMove,\n className,\n}: KanbanProps) {\n const [draggedCard, setDraggedCard] = useState<string | null>(null);\n const [dragSource, setDragSource] = useState<string | null>(null);\n const [draggedColumn, setDraggedColumn] = useState<string | null>(null);\n\n const orderRef = useRef<string[]>([]);\n const [columnIds, setColumnIds] = useState<string[]>([]);\n\n const registerColumn = useCallback((id: string) => {\n if (!orderRef.current.includes(id)) {\n orderRef.current = [...orderRef.current, id];\n setColumnIds(orderRef.current);\n }\n return () => {\n orderRef.current = orderRef.current.filter((x) => x !== id);\n setColumnIds(orderRef.current);\n };\n }, []);\n\n const ctx = useMemo(\n () => ({\n draggedCard,\n setDraggedCard,\n dragSource,\n setDragSource,\n draggedColumn,\n setDraggedColumn,\n onCardMove,\n onColumnMove,\n columnIds,\n registerColumn,\n }),\n [\n draggedCard,\n dragSource,\n draggedColumn,\n onCardMove,\n onColumnMove,\n columnIds,\n registerColumn,\n ],\n );\n\n // ── Column-level drop handling ────────────────────────────────────────\n // Root listens only when a column is being dragged. Drop index is\n // computed from mouse X versus each column's horizontal midpoint.\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleDragOver = useCallback(\n (e: React.DragEvent) => {\n if (!draggedColumn) return;\n e.preventDefault();\n },\n [draggedColumn],\n );\n\n const handleDrop = useCallback(\n (e: React.DragEvent) => {\n if (!draggedColumn || !containerRef.current) return;\n e.preventDefault();\n\n const cols = containerRef.current.querySelectorAll<HTMLElement>(\n '[data-react-fancy-kanban-column]',\n );\n const x = e.clientX;\n let dropIdx = cols.length;\n for (let i = 0; i < cols.length; i++) {\n const rect = cols[i]!.getBoundingClientRect();\n if (x < rect.left + rect.width / 2) {\n dropIdx = i;\n break;\n }\n }\n\n const sourceIdx = columnIds.indexOf(draggedColumn);\n // When moving rightward, dropping at index N visually means landing\n // at N - 1 after the source is removed.\n const finalIdx =\n sourceIdx >= 0 && dropIdx > sourceIdx ? dropIdx - 1 : dropIdx;\n\n if (finalIdx !== sourceIdx) {\n onColumnMove?.(draggedColumn, finalIdx);\n }\n setDraggedColumn(null);\n },\n [draggedColumn, columnIds, onColumnMove],\n );\n\n return (\n <KanbanContext.Provider value={ctx}>\n <div\n ref={containerRef}\n data-react-fancy-kanban=\"\"\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n role=\"application\"\n aria-roledescription=\"kanban board\"\n className={cn(\"flex gap-4 overflow-x-auto p-4\", className)}\n >\n {children}\n </div>\n </KanbanContext.Provider>\n );\n}\n\nexport const Kanban = Object.assign(KanbanRoot, {\n Column: KanbanColumn,\n Card: KanbanCard,\n ColumnHandle: KanbanColumnHandle,\n});\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 StatList = react.forwardRef(
14
14
  ...props,
15
15
  "data-react-fancy-stat-list": "",
16
16
  "data-align": align,
17
- className: chunk3Z6ALUWP_cjs.cn(
17
+ className: chunkZU5Q77OT_cjs.cn(
18
18
  "flex flex-col gap-0.5 font-mono text-[11.5px] text-zinc-500 dark:text-zinc-400",
19
19
  align === "right" ? "items-end text-right" : "items-start text-left",
20
20
  className
@@ -38,5 +38,5 @@ var StatList = react.forwardRef(
38
38
  StatList.displayName = "StatList";
39
39
 
40
40
  exports.StatList = StatList;
41
- //# sourceMappingURL=chunk-5LHG7HEY.cjs.map
42
- //# sourceMappingURL=chunk-5LHG7HEY.cjs.map
41
+ //# sourceMappingURL=chunk-O6GTY53I.cjs.map
42
+ //# sourceMappingURL=chunk-O6GTY53I.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/StatList/StatList.tsx"],"names":["forwardRef","jsx","cn","jsxs"],"mappings":";;;;;;AAoBO,IAAM,QAAA,GAAWA,gBAAA;AAAA,EACtB,CAAC,EAAE,KAAA,EAAO,KAAA,GAAQ,SAAS,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACxD,IAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,IAAA;AAE/B,IAAA,uBACEC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACC,GAAG,KAAA;AAAA,QACJ,4BAAA,EAA2B,EAAA;AAAA,QAC3B,YAAA,EAAY,KAAA;AAAA,QACZ,SAAA,EAAWC,oBAAA;AAAA,UACT,gFAAA;AAAA,UACA,KAAA,KAAU,UAAU,sBAAA,GAAyB,uBAAA;AAAA,UAC7C;AAAA,SACF;AAAA,QAEC,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,CAAA,qBAChBC,eAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YAEC,WAAA,EAAW,KAAK,GAAA,KAAQ,OAAO,KAAK,KAAA,KAAU,QAAA,GAAW,KAAK,KAAA,GAAQ,MAAA,CAAA;AAAA,YAEtE,QAAA,EAAA;AAAA,8BAAAF,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,8CAAA,EAAgD,QAAA,EAAA,IAAA,CAAK,KAAA,EAAM,CAAA;AAAA,cAAK,GAAA;AAAA,cAC5E,IAAA,CAAK;AAAA;AAAA,WAAA;AAAA,UAJD,KAAK,GAAA,KAAQ,OAAO,KAAK,KAAA,KAAU,QAAA,GAAW,KAAK,KAAA,GAAQ,CAAA;AAAA,SAMnE;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-5LHG7HEY.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { StatListProps } from \"./StatList.types\";\n\n/**\n * The mono figure stack — `70 packages / 261 components / MIT licensed`.\n *\n * The Inspiration index and `/packages` each hand-rolled this from tokens, which\n * is the gallery working as intended: it stress-tests the kit, and what it\n * hand-rolls is the gap list. The list only pays off when the gap comes back\n * here, otherwise every surface keeps a copy and they drift apart.\n *\n * Takes `items` as DATA rather than children. What those surfaces repeat is a\n * shape, not a layout, so there is nothing to assemble at the call site — and a\n * data prop is what an agent can emit, which children are not.\n *\n * The value is a `<b>` rather than a colour, because in most of these stacks the\n * figure is the only part that is not muted, and expressing that structurally\n * keeps it meaningful when a design replaces the styling wholesale.\n */\nexport const StatList = forwardRef<HTMLDivElement, StatListProps>(\n ({ items, align = \"right\", className, ...props }, ref) => {\n if (items.length === 0) return null;\n\n return (\n <div\n ref={ref}\n {...props}\n data-react-fancy-stat-list=\"\"\n data-align={align}\n className={cn(\n \"flex flex-col gap-0.5 font-mono text-[11.5px] text-zinc-500 dark:text-zinc-400\",\n align === \"right\" ? \"items-end text-right\" : \"items-start text-left\",\n className,\n )}\n >\n {items.map((item, i) => (\n <span\n key={item.key ?? (typeof item.label === \"string\" ? item.label : i)}\n data-stat={item.key ?? (typeof item.label === \"string\" ? item.label : undefined)}\n >\n <b className=\"font-medium text-zinc-900 dark:text-zinc-100\">{item.value}</b>{\" \"}\n {item.label}\n </span>\n ))}\n </div>\n );\n },\n);\n\nStatList.displayName = \"StatList\";\n"]}
1
+ {"version":3,"sources":["../src/components/StatList/StatList.tsx"],"names":["forwardRef","jsx","cn","jsxs"],"mappings":";;;;;;AAoBO,IAAM,QAAA,GAAWA,gBAAA;AAAA,EACtB,CAAC,EAAE,KAAA,EAAO,KAAA,GAAQ,SAAS,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACxD,IAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,IAAA;AAE/B,IAAA,uBACEC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACC,GAAG,KAAA;AAAA,QACJ,4BAAA,EAA2B,EAAA;AAAA,QAC3B,YAAA,EAAY,KAAA;AAAA,QACZ,SAAA,EAAWC,oBAAA;AAAA,UACT,gFAAA;AAAA,UACA,KAAA,KAAU,UAAU,sBAAA,GAAyB,uBAAA;AAAA,UAC7C;AAAA,SACF;AAAA,QAEC,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,CAAA,qBAChBC,eAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YAEC,WAAA,EAAW,KAAK,GAAA,KAAQ,OAAO,KAAK,KAAA,KAAU,QAAA,GAAW,KAAK,KAAA,GAAQ,MAAA,CAAA;AAAA,YAEtE,QAAA,EAAA;AAAA,8BAAAF,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,8CAAA,EAAgD,QAAA,EAAA,IAAA,CAAK,KAAA,EAAM,CAAA;AAAA,cAAK,GAAA;AAAA,cAC5E,IAAA,CAAK;AAAA;AAAA,WAAA;AAAA,UAJD,KAAK,GAAA,KAAQ,OAAO,KAAK,KAAA,KAAU,QAAA,GAAW,KAAK,KAAA,GAAQ,CAAA;AAAA,SAMnE;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-O6GTY53I.cjs","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { StatListProps } from \"./StatList.types\";\n\n/**\n * The mono figure stack — `70 packages / 261 components / MIT licensed`.\n *\n * The Inspiration index and `/packages` each hand-rolled this from tokens, which\n * is the gallery working as intended: it stress-tests the kit, and what it\n * hand-rolls is the gap list. The list only pays off when the gap comes back\n * here, otherwise every surface keeps a copy and they drift apart.\n *\n * Takes `items` as DATA rather than children. What those surfaces repeat is a\n * shape, not a layout, so there is nothing to assemble at the call site — and a\n * data prop is what an agent can emit, which children are not.\n *\n * The value is a `<b>` rather than a colour, because in most of these stacks the\n * figure is the only part that is not muted, and expressing that structurally\n * keeps it meaningful when a design replaces the styling wholesale.\n */\nexport const StatList = forwardRef<HTMLDivElement, StatListProps>(\n ({ items, align = \"right\", className, ...props }, ref) => {\n if (items.length === 0) return null;\n\n return (\n <div\n ref={ref}\n {...props}\n data-react-fancy-stat-list=\"\"\n data-align={align}\n className={cn(\n \"flex flex-col gap-0.5 font-mono text-[11.5px] text-zinc-500 dark:text-zinc-400\",\n align === \"right\" ? \"items-end text-right\" : \"items-start text-left\",\n className,\n )}\n >\n {items.map((item, i) => (\n <span\n key={item.key ?? (typeof item.label === \"string\" ? item.label : i)}\n data-stat={item.key ?? (typeof item.label === \"string\" ? item.label : undefined)}\n >\n <b className=\"font-medium text-zinc-900 dark:text-zinc-100\">{item.value}</b>{\" \"}\n {item.label}\n </span>\n ))}\n </div>\n );\n },\n);\n\nStatList.displayName = \"StatList\";\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-DSUHZO6T.js';
1
+ import { cn } from './chunk-MMW2JGKZ.js';
2
2
  import { forwardRef } from 'react';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
 
@@ -52,5 +52,5 @@ StatRoot.displayName = "Stat";
52
52
  var Stat = Object.assign(StatRoot, { Band: StatBand });
53
53
 
54
54
  export { Stat, StatBand };
55
- //# sourceMappingURL=chunk-ESKVRRVA.js.map
56
- //# sourceMappingURL=chunk-ESKVRRVA.js.map
55
+ //# sourceMappingURL=chunk-OFHO5SXA.js.map
56
+ //# sourceMappingURL=chunk-OFHO5SXA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Stat/StatBand.tsx","../src/components/Stat/Stat.tsx"],"names":["forwardRef","jsx"],"mappings":";;;;AAWO,IAAM,QAAA,GAAW,UAAA;AAAA,EACtB,CAAC,EAAE,OAAA,GAAU,CAAA,EAAG,SAAA,EAAW,OAAO,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC9D,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,4BAAA,EAA2B,EAAA;AAAA,QAC3B,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAAA,QACrC,OAAO,EAAE,mBAAA,EAAqB,UAAU,OAAO,CAAA,iBAAA,CAAA,EAAqB,GAAG,KAAA,EAAM;AAAA,QAC5E,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;ACtBvB,IAAM,YAAA,GAA+D;AAAA,EACnE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,UAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAcA,IAAM,QAAA,GAAWA,UAAAA;AAAA,EACf,CAAC,EAAE,KAAA,EAAO,KAAA,EAAO,IAAA,GAAO,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACrE,IAAA,uBACEC,GAAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,uBAAA,EAAsB,EAAA,EAAG,SAAA,EAAW,EAAA,CAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EACnE,sCACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAAA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,6BAAA,EAA4B,EAAA;AAAA,UAC5B,SAAA,EAAW,EAAA;AAAA,YACT,yFAAA;AAAA,YACA,aAAa,IAAI;AAAA,WACnB;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MACC,KAAA,IAAS,wBACRA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,6BAAA,EAA4B,EAAA;AAAA,UAC5B,SAAA,EAAU,mFAAA;AAAA,UAET,QAAA,EAAA;AAAA;AAAA;AACH,KAAA,EAEJ,CAAA,EAEJ,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,QAAA,CAAS,WAAA,GAAc,MAAA;AAEhB,IAAM,OAAO,MAAA,CAAO,MAAA,CAAO,UAAU,EAAE,IAAA,EAAM,UAAU","file":"chunk-ESKVRRVA.js","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { StatBandProps } from \"./Stat.types\";\n\n/**\n * The row a set of `<Stat>`s sits in.\n *\n * A plain grid, but it is the reason `<Stat>` defaults to `tabular-nums`: a\n * figure alone can be proportional without anyone noticing, and only becomes\n * wrong once it has neighbours to fail to line up with.\n */\nexport const StatBand = forwardRef<HTMLDivElement, StatBandProps>(\n ({ columns = 4, className, style, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-react-fancy-stat-band=\"\"\n className={cn(\"grid gap-6\", className)}\n style={{ gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`, ...style }}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nStatBand.displayName = \"StatBand\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { StatBand } from \"./StatBand\";\nimport type { StatProps } from \"./Stat.types\";\n\nconst valueClasses: Record<NonNullable<StatProps[\"size\"]>, string> = {\n sm: \"text-xl\",\n md: \"text-3xl\",\n lg: \"text-5xl\",\n};\n\n/**\n * A big display figure with a caption — the `2016 / 120+ / 08 / 14` band cell.\n *\n * Twenty-seven gallery styles build this, and **five of seventeen forgot\n * `tabular-nums`**. That is not a cosmetic slip: in a proportional face a `1` is\n * narrower than a `0`, so a row of figures that is supposed to read as a band\n * comes out visibly ragged, and the fix is one property nobody remembers to\n * look for. It is the default here.\n *\n * Distinct from a right-aligned key/value list — this is a large flush-left\n * figure repeated across a row.\n */\nconst StatRoot = forwardRef<HTMLDivElement, StatProps>(\n ({ value, label, size = \"md\", className, children, ...props }, ref) => {\n return (\n <div ref={ref} data-react-fancy-stat=\"\" className={cn(className)} {...props}>\n {children ?? (\n <>\n <div\n data-react-fancy-stat-value=\"\"\n className={cn(\n \"font-semibold leading-none tracking-tight text-zinc-900 tabular-nums dark:text-zinc-100\",\n valueClasses[size],\n )}\n >\n {value}\n </div>\n {label != null && (\n <div\n data-react-fancy-stat-label=\"\"\n className=\"mt-1.5 font-mono text-xs uppercase tracking-wide text-zinc-500 dark:text-zinc-400\"\n >\n {label}\n </div>\n )}\n </>\n )}\n </div>\n );\n },\n);\n\nStatRoot.displayName = \"Stat\";\n\nexport const Stat = Object.assign(StatRoot, { Band: StatBand });\n"]}
1
+ {"version":3,"sources":["../src/components/Stat/StatBand.tsx","../src/components/Stat/Stat.tsx"],"names":["forwardRef","jsx"],"mappings":";;;;AAWO,IAAM,QAAA,GAAW,UAAA;AAAA,EACtB,CAAC,EAAE,OAAA,GAAU,CAAA,EAAG,SAAA,EAAW,OAAO,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC9D,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,4BAAA,EAA2B,EAAA;AAAA,QAC3B,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAAA,QACrC,OAAO,EAAE,mBAAA,EAAqB,UAAU,OAAO,CAAA,iBAAA,CAAA,EAAqB,GAAG,KAAA,EAAM;AAAA,QAC5E,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;ACtBvB,IAAM,YAAA,GAA+D;AAAA,EACnE,EAAA,EAAI,SAAA;AAAA,EACJ,EAAA,EAAI,UAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAcA,IAAM,QAAA,GAAWA,UAAAA;AAAA,EACf,CAAC,EAAE,KAAA,EAAO,KAAA,EAAO,IAAA,GAAO,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACrE,IAAA,uBACEC,GAAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,uBAAA,EAAsB,EAAA,EAAG,SAAA,EAAW,EAAA,CAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EACnE,sCACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAAA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,6BAAA,EAA4B,EAAA;AAAA,UAC5B,SAAA,EAAW,EAAA;AAAA,YACT,yFAAA;AAAA,YACA,aAAa,IAAI;AAAA,WACnB;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MACC,KAAA,IAAS,wBACRA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,6BAAA,EAA4B,EAAA;AAAA,UAC5B,SAAA,EAAU,mFAAA;AAAA,UAET,QAAA,EAAA;AAAA;AAAA;AACH,KAAA,EAEJ,CAAA,EAEJ,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,QAAA,CAAS,WAAA,GAAc,MAAA;AAEhB,IAAM,OAAO,MAAA,CAAO,MAAA,CAAO,UAAU,EAAE,IAAA,EAAM,UAAU","file":"chunk-OFHO5SXA.js","sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { StatBandProps } from \"./Stat.types\";\n\n/**\n * The row a set of `<Stat>`s sits in.\n *\n * A plain grid, but it is the reason `<Stat>` defaults to `tabular-nums`: a\n * figure alone can be proportional without anyone noticing, and only becomes\n * wrong once it has neighbours to fail to line up with.\n */\nexport const StatBand = forwardRef<HTMLDivElement, StatBandProps>(\n ({ columns = 4, className, style, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-react-fancy-stat-band=\"\"\n className={cn(\"grid gap-6\", className)}\n style={{ gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`, ...style }}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nStatBand.displayName = \"StatBand\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { StatBand } from \"./StatBand\";\nimport type { StatProps } from \"./Stat.types\";\n\nconst valueClasses: Record<NonNullable<StatProps[\"size\"]>, string> = {\n sm: \"text-xl\",\n md: \"text-3xl\",\n lg: \"text-5xl\",\n};\n\n/**\n * A big display figure with a caption — the `2016 / 120+ / 08 / 14` band cell.\n *\n * Twenty-seven gallery styles build this, and **five of seventeen forgot\n * `tabular-nums`**. That is not a cosmetic slip: in a proportional face a `1` is\n * narrower than a `0`, so a row of figures that is supposed to read as a band\n * comes out visibly ragged, and the fix is one property nobody remembers to\n * look for. It is the default here.\n *\n * Distinct from a right-aligned key/value list — this is a large flush-left\n * figure repeated across a row.\n */\nconst StatRoot = forwardRef<HTMLDivElement, StatProps>(\n ({ value, label, size = \"md\", className, children, ...props }, ref) => {\n return (\n <div ref={ref} data-react-fancy-stat=\"\" className={cn(className)} {...props}>\n {children ?? (\n <>\n <div\n data-react-fancy-stat-value=\"\"\n className={cn(\n \"font-semibold leading-none tracking-tight text-zinc-900 tabular-nums dark:text-zinc-100\",\n valueClasses[size],\n )}\n >\n {value}\n </div>\n {label != null && (\n <div\n data-react-fancy-stat-label=\"\"\n className=\"mt-1.5 font-mono text-xs uppercase tracking-wide text-zinc-500 dark:text-zinc-400\"\n >\n {label}\n </div>\n )}\n </>\n )}\n </div>\n );\n },\n);\n\nStatRoot.displayName = \"Stat\";\n\nexport const Stat = Object.assign(StatRoot, { Band: StatBand });\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkOUOEQZHY_cjs = require('./chunk-OUOEQZHY.cjs');
4
- var chunk3Z6ALUWP_cjs = require('./chunk-3Z6ALUWP.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
 
@@ -39,7 +39,7 @@ var Composer = react.forwardRef(
39
39
  {
40
40
  "data-react-fancy-composer": "",
41
41
  ref,
42
- className: chunk3Z6ALUWP_cjs.cn(
42
+ className: chunkZU5Q77OT_cjs.cn(
43
43
  "rounded-xl border border-zinc-200 bg-white dark:border-zinc-700 dark:bg-zinc-900",
44
44
  disabled && "opacity-50",
45
45
  className
@@ -79,5 +79,5 @@ var Composer = react.forwardRef(
79
79
  Composer.displayName = "Composer";
80
80
 
81
81
  exports.Composer = Composer;
82
- //# sourceMappingURL=chunk-SCPHSBBU.cjs.map
83
- //# sourceMappingURL=chunk-SCPHSBBU.cjs.map
82
+ //# sourceMappingURL=chunk-OGEE23SP.cjs.map
83
+ //# sourceMappingURL=chunk-OGEE23SP.cjs.map
@@ -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,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"]}
@@ -1,10 +1,10 @@
1
- import { DisplayValue } from './chunk-K7JGOQJG.js';
2
- import { Field } from './chunk-3DJGPNUI.js';
1
+ import { DisplayValue } from './chunk-KKWNKBKR.js';
2
+ import { Field } from './chunk-5MU6X3KO.js';
3
3
  import { resolveOption, dirtyRingClasses } from './chunk-GFYSELJF.js';
4
4
  import { useInlineEdit } from './chunk-OL53XYHF.js';
5
5
  import { useFieldMode } from './chunk-NRXK42LO.js';
6
6
  import { useControllableState } from './chunk-6FQGMVF2.js';
7
- import { cn } from './chunk-DSUHZO6T.js';
7
+ import { cn } from './chunk-MMW2JGKZ.js';
8
8
  import { useId } from 'react';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
 
@@ -13,6 +13,7 @@ function RadioGroup({
13
13
  dirty,
14
14
  error,
15
15
  label,
16
+ labelHidden,
16
17
  description,
17
18
  required,
18
19
  disabled,
@@ -28,6 +29,7 @@ function RadioGroup({
28
29
  }) {
29
30
  const groupId = useId();
30
31
  const radioName = name ?? groupId;
32
+ const labelId = label ? `${groupId}-label` : void 0;
31
33
  const resolvedMode = useFieldMode(mode);
32
34
  const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);
33
35
  const [value, setValue] = useControllableState(
@@ -49,6 +51,7 @@ function RadioGroup({
49
51
  ...rest,
50
52
  "data-react-fancy-radio-group": "",
51
53
  role: "radiogroup",
54
+ "aria-labelledby": labelId,
52
55
  onBlur: (e) => {
53
56
  if (interactive && !e.currentTarget.contains(e.relatedTarget)) exitEdit();
54
57
  },
@@ -105,6 +108,8 @@ function RadioGroup({
105
108
  Field,
106
109
  {
107
110
  label,
111
+ labelHidden,
112
+ labelId,
108
113
  description,
109
114
  error,
110
115
  required,
@@ -118,5 +123,5 @@ function RadioGroup({
118
123
  RadioGroup.displayName = "RadioGroup";
119
124
 
120
125
  export { RadioGroup };
121
- //# sourceMappingURL=chunk-JYKZKSZJ.js.map
122
- //# sourceMappingURL=chunk-JYKZKSZJ.js.map
126
+ //# sourceMappingURL=chunk-PIFJECFU.js.map
127
+ //# sourceMappingURL=chunk-PIFJECFU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/inputs/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"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","file":"chunk-PIFJECFU.js","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 labelHidden,\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 // Same reason as MultiSwitch: a `<label>` cannot name a div[role=\"radiogroup\"].\n // This one did not even pass `htmlFor`, so its label named nothing at all.\n const labelId = label ? `${groupId}-label` : undefined;\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 aria-labelledby={labelId}\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 labelHidden={labelHidden}\n labelId={labelId}\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"]}