@particle-academy/react-fancy 5.51.2 → 5.53.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 (535) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/README.md +69 -0
  3. package/dist/accordion-panel.cjs +7 -7
  4. package/dist/accordion-panel.js +1 -1
  5. package/dist/accordion.cjs +3 -3
  6. package/dist/accordion.js +1 -1
  7. package/dist/activity-light.cjs +2 -2
  8. package/dist/activity-light.js +1 -1
  9. package/dist/audio-viewer.cjs +2 -2
  10. package/dist/audio-viewer.js +1 -1
  11. package/dist/autocomplete.cjs +2 -2
  12. package/dist/autocomplete.js +1 -1
  13. package/dist/avatar.cjs +2 -2
  14. package/dist/avatar.js +1 -1
  15. package/dist/brand.cjs +3 -3
  16. package/dist/brand.js +1 -1
  17. package/dist/breadcrumbs.cjs +2 -2
  18. package/dist/breadcrumbs.js +1 -1
  19. package/dist/button.cjs +3 -3
  20. package/dist/button.js +1 -1
  21. package/dist/calendar.cjs +2 -2
  22. package/dist/calendar.js +1 -1
  23. package/dist/card.cjs +9 -9
  24. package/dist/card.js +3 -3
  25. package/dist/carousel.cjs +7 -7
  26. package/dist/carousel.js +1 -1
  27. package/dist/chart.cjs +2 -2
  28. package/dist/chart.js +1 -1
  29. package/dist/chat-drawer.cjs +2 -2
  30. package/dist/chat-drawer.js +1 -1
  31. package/dist/checkbox-group.cjs +5 -5
  32. package/dist/checkbox-group.js +4 -4
  33. package/dist/checkbox.cjs +3 -3
  34. package/dist/checkbox.js +2 -2
  35. package/dist/{chunk-KODD54GT.js → chunk-26JZ47BJ.js} +5 -5
  36. package/dist/{chunk-KODD54GT.js.map → chunk-26JZ47BJ.js.map} +1 -1
  37. package/dist/{chunk-FWCREAIT.js → chunk-2BXMMVQS.js} +2 -2
  38. package/dist/{chunk-FWCREAIT.js.map → chunk-2BXMMVQS.js.map} +1 -1
  39. package/dist/{chunk-VKXNCYLE.cjs → chunk-2GFM5WD4.cjs} +5 -5
  40. package/dist/chunk-2GFM5WD4.cjs.map +1 -0
  41. package/dist/{chunk-SAPOYAGN.cjs → chunk-2KFHSFFY.cjs} +10 -10
  42. package/dist/{chunk-SAPOYAGN.cjs.map → chunk-2KFHSFFY.cjs.map} +1 -1
  43. package/dist/{chunk-MGE5KOVA.js → chunk-2MUGEPRD.js} +10 -10
  44. package/dist/{chunk-MGE5KOVA.js.map → chunk-2MUGEPRD.js.map} +1 -1
  45. package/dist/{chunk-UIJR26YW.js → chunk-2OMA3O63.js} +4 -4
  46. package/dist/{chunk-UIJR26YW.js.map → chunk-2OMA3O63.js.map} +1 -1
  47. package/dist/{chunk-OC75GWX5.js → chunk-2UTN3EFK.js} +6 -6
  48. package/dist/{chunk-OC75GWX5.js.map → chunk-2UTN3EFK.js.map} +1 -1
  49. package/dist/{chunk-CF2U25LM.js → chunk-2XO6EYZ7.js} +9 -9
  50. package/dist/chunk-2XO6EYZ7.js.map +1 -0
  51. package/dist/{chunk-QSFTWIUH.cjs → chunk-36HG5JK6.cjs} +6 -6
  52. package/dist/chunk-36HG5JK6.cjs.map +1 -0
  53. package/dist/{chunk-TDDWWAM5.js → chunk-3AYRLFNO.js} +6 -6
  54. package/dist/chunk-3AYRLFNO.js.map +1 -0
  55. package/dist/{chunk-7JDVCQXD.js → chunk-3EWO5EBI.js} +14 -14
  56. package/dist/chunk-3EWO5EBI.js.map +1 -0
  57. package/dist/{chunk-PCTZNK2Z.js → chunk-3NIXNJ3I.js} +10 -10
  58. package/dist/chunk-3NIXNJ3I.js.map +1 -0
  59. package/dist/{chunk-Z3NSPDTW.cjs → chunk-3YA6FDVN.cjs} +8 -8
  60. package/dist/chunk-3YA6FDVN.cjs.map +1 -0
  61. package/dist/{chunk-SYVOGYJG.cjs → chunk-43ZRUYJC.cjs} +11 -11
  62. package/dist/{chunk-SYVOGYJG.cjs.map → chunk-43ZRUYJC.cjs.map} +1 -1
  63. package/dist/{chunk-NDUEPDNS.js → chunk-44VYWOCG.js} +4 -4
  64. package/dist/{chunk-NDUEPDNS.js.map → chunk-44VYWOCG.js.map} +1 -1
  65. package/dist/{chunk-LYHQ4VBR.js → chunk-45FDQ3R5.js} +3 -3
  66. package/dist/{chunk-LYHQ4VBR.js.map → chunk-45FDQ3R5.js.map} +1 -1
  67. package/dist/{chunk-LBU3T2LF.js → chunk-4FH2JHUY.js} +7 -7
  68. package/dist/{chunk-LBU3T2LF.js.map → chunk-4FH2JHUY.js.map} +1 -1
  69. package/dist/{chunk-5F6V5HHT.cjs → chunk-4JT2QANA.cjs} +11 -11
  70. package/dist/chunk-4JT2QANA.cjs.map +1 -0
  71. package/dist/{chunk-N6OZZAOT.js → chunk-4TVAHZ35.js} +9 -9
  72. package/dist/chunk-4TVAHZ35.js.map +1 -0
  73. package/dist/{chunk-XLFGWNW4.cjs → chunk-4XMBXG4K.cjs} +4 -4
  74. package/dist/{chunk-XLFGWNW4.cjs.map → chunk-4XMBXG4K.cjs.map} +1 -1
  75. package/dist/{chunk-N4VHOTMK.cjs → chunk-546K5LRX.cjs} +3 -3
  76. package/dist/{chunk-N4VHOTMK.cjs.map → chunk-546K5LRX.cjs.map} +1 -1
  77. package/dist/{chunk-P7Q2YIIS.js → chunk-5DG4CAWS.js} +8 -8
  78. package/dist/chunk-5DG4CAWS.js.map +1 -0
  79. package/dist/{chunk-GU5BYZTR.cjs → chunk-5H6IUCOD.cjs} +8 -8
  80. package/dist/chunk-5H6IUCOD.cjs.map +1 -0
  81. package/dist/{chunk-ZY4CVNNZ.js → chunk-5JA4ENMF.js} +6 -6
  82. package/dist/chunk-5JA4ENMF.js.map +1 -0
  83. package/dist/{chunk-R3UG6PVX.cjs → chunk-5JK2VDWY.cjs} +7 -7
  84. package/dist/{chunk-R3UG6PVX.cjs.map → chunk-5JK2VDWY.cjs.map} +1 -1
  85. package/dist/{chunk-5MU6X3KO.js → chunk-5WQ6FPSP.js} +4 -4
  86. package/dist/{chunk-5MU6X3KO.js.map → chunk-5WQ6FPSP.js.map} +1 -1
  87. package/dist/{chunk-56U4LBNL.cjs → chunk-5ZNOLPIJ.cjs} +9 -9
  88. package/dist/chunk-5ZNOLPIJ.cjs.map +1 -0
  89. package/dist/{chunk-TNYWQ6EQ.js → chunk-6HJF55U7.js} +8 -8
  90. package/dist/chunk-6HJF55U7.js.map +1 -0
  91. package/dist/{chunk-F7YCIII4.cjs → chunk-6MXFZ3B5.cjs} +3 -3
  92. package/dist/{chunk-F7YCIII4.cjs.map → chunk-6MXFZ3B5.cjs.map} +1 -1
  93. package/dist/{chunk-7Y2AENZD.cjs → chunk-7DDUMW4R.cjs} +4 -4
  94. package/dist/{chunk-7Y2AENZD.cjs.map → chunk-7DDUMW4R.cjs.map} +1 -1
  95. package/dist/{chunk-2KZINS6D.cjs → chunk-7QENPLOP.cjs} +9 -9
  96. package/dist/{chunk-2KZINS6D.cjs.map → chunk-7QENPLOP.cjs.map} +1 -1
  97. package/dist/{chunk-HPNIEYSJ.cjs → chunk-A2JUTNE6.cjs} +2 -2
  98. package/dist/{chunk-HPNIEYSJ.cjs.map → chunk-A2JUTNE6.cjs.map} +1 -1
  99. package/dist/{chunk-25UPDBI6.cjs → chunk-A5DN2XNM.cjs} +9 -9
  100. package/dist/chunk-A5DN2XNM.cjs.map +1 -0
  101. package/dist/{chunk-RA2VOQ46.js → chunk-A5RTALZJ.js} +6 -6
  102. package/dist/chunk-A5RTALZJ.js.map +1 -0
  103. package/dist/{chunk-WN45ZE37.cjs → chunk-AVEFCM6T.cjs} +3 -3
  104. package/dist/{chunk-WN45ZE37.cjs.map → chunk-AVEFCM6T.cjs.map} +1 -1
  105. package/dist/{chunk-TGNQ5Y6F.cjs → chunk-AYBKPAI2.cjs} +6 -6
  106. package/dist/{chunk-TGNQ5Y6F.cjs.map → chunk-AYBKPAI2.cjs.map} +1 -1
  107. package/dist/{chunk-OTCLBINT.js → chunk-AZQXPI5S.js} +7 -7
  108. package/dist/{chunk-OTCLBINT.js.map → chunk-AZQXPI5S.js.map} +1 -1
  109. package/dist/{chunk-RWOH2ADL.cjs → chunk-B4YV2V7G.cjs} +4 -4
  110. package/dist/{chunk-RWOH2ADL.cjs.map → chunk-B4YV2V7G.cjs.map} +1 -1
  111. package/dist/{chunk-AR3JOPGT.cjs → chunk-BDUL42VO.cjs} +31 -31
  112. package/dist/{chunk-AR3JOPGT.cjs.map → chunk-BDUL42VO.cjs.map} +1 -1
  113. package/dist/{chunk-5CXJ5Z4C.cjs → chunk-BJL3VDRK.cjs} +4 -4
  114. package/dist/{chunk-5CXJ5Z4C.cjs.map → chunk-BJL3VDRK.cjs.map} +1 -1
  115. package/dist/{chunk-WKAEAGMT.cjs → chunk-BK6XQQYG.cjs} +4 -4
  116. package/dist/{chunk-WKAEAGMT.cjs.map → chunk-BK6XQQYG.cjs.map} +1 -1
  117. package/dist/{chunk-UKUNWGL5.js → chunk-BLOX7MRO.js} +6 -6
  118. package/dist/{chunk-UKUNWGL5.js.map → chunk-BLOX7MRO.js.map} +1 -1
  119. package/dist/{chunk-Q7O5TLVU.js → chunk-BX7EDTL4.js} +3 -3
  120. package/dist/{chunk-Q7O5TLVU.js.map → chunk-BX7EDTL4.js.map} +1 -1
  121. package/dist/{chunk-FWA4PCW7.cjs → chunk-CAMQ5B3V.cjs} +5 -5
  122. package/dist/{chunk-FWA4PCW7.cjs.map → chunk-CAMQ5B3V.cjs.map} +1 -1
  123. package/dist/{chunk-I6L7OP7G.cjs → chunk-CG3RCQVL.cjs} +5 -5
  124. package/dist/chunk-CG3RCQVL.cjs.map +1 -0
  125. package/dist/{chunk-3Q4NSAEA.cjs → chunk-CQ54H7DZ.cjs} +8 -8
  126. package/dist/{chunk-3Q4NSAEA.cjs.map → chunk-CQ54H7DZ.cjs.map} +1 -1
  127. package/dist/{chunk-YOTCZUNW.js → chunk-D4QOV56U.js} +7 -7
  128. package/dist/{chunk-YOTCZUNW.js.map → chunk-D4QOV56U.js.map} +1 -1
  129. package/dist/{chunk-BZDXX6E3.cjs → chunk-DJB3N4G3.cjs} +11 -11
  130. package/dist/{chunk-BZDXX6E3.cjs.map → chunk-DJB3N4G3.cjs.map} +1 -1
  131. package/dist/{chunk-BMTTSBHF.js → chunk-DJYG7DXS.js} +4 -4
  132. package/dist/{chunk-BMTTSBHF.js.map → chunk-DJYG7DXS.js.map} +1 -1
  133. package/dist/{chunk-WBVWV2V7.cjs → chunk-DN244T6G.cjs} +6 -6
  134. package/dist/chunk-DN244T6G.cjs.map +1 -0
  135. package/dist/{chunk-NCXH5O4I.cjs → chunk-E4TRDGSU.cjs} +10 -10
  136. package/dist/{chunk-NCXH5O4I.cjs.map → chunk-E4TRDGSU.cjs.map} +1 -1
  137. package/dist/{chunk-FVG3YXXM.cjs → chunk-EEMNTO7L.cjs} +8 -8
  138. package/dist/{chunk-FVG3YXXM.cjs.map → chunk-EEMNTO7L.cjs.map} +1 -1
  139. package/dist/{chunk-GAB2QXHH.js → chunk-EJ6P7K4G.js} +8 -8
  140. package/dist/{chunk-GAB2QXHH.js.map → chunk-EJ6P7K4G.js.map} +1 -1
  141. package/dist/{chunk-Y4UPKJN5.js → chunk-EQ7G5F6K.js} +4 -4
  142. package/dist/{chunk-Y4UPKJN5.js.map → chunk-EQ7G5F6K.js.map} +1 -1
  143. package/dist/{chunk-U7PFHQBN.cjs → chunk-ETNQ4AEQ.cjs} +6 -6
  144. package/dist/{chunk-U7PFHQBN.cjs.map → chunk-ETNQ4AEQ.cjs.map} +1 -1
  145. package/dist/{chunk-23PAOCQQ.cjs → chunk-EXQ33MJR.cjs} +5 -5
  146. package/dist/{chunk-23PAOCQQ.cjs.map → chunk-EXQ33MJR.cjs.map} +1 -1
  147. package/dist/{chunk-HKRB2Z6R.cjs → chunk-FGI2EC32.cjs} +8 -8
  148. package/dist/chunk-FGI2EC32.cjs.map +1 -0
  149. package/dist/{chunk-AASQ6L6X.cjs → chunk-FNIHCNVD.cjs} +3 -3
  150. package/dist/{chunk-AASQ6L6X.cjs.map → chunk-FNIHCNVD.cjs.map} +1 -1
  151. package/dist/{chunk-O6GTY53I.cjs → chunk-FVQO75KY.cjs} +4 -4
  152. package/dist/{chunk-O6GTY53I.cjs.map → chunk-FVQO75KY.cjs.map} +1 -1
  153. package/dist/{chunk-FCSR2WVS.js → chunk-FWAVMWMP.js} +4 -4
  154. package/dist/{chunk-FCSR2WVS.js.map → chunk-FWAVMWMP.js.map} +1 -1
  155. package/dist/{chunk-FSRPZYZZ.js → chunk-G35XN5WV.js} +4 -4
  156. package/dist/chunk-G35XN5WV.js.map +1 -0
  157. package/dist/{chunk-HE3JJXIL.cjs → chunk-G4M3MCJO.cjs} +5 -5
  158. package/dist/{chunk-HE3JJXIL.cjs.map → chunk-G4M3MCJO.cjs.map} +1 -1
  159. package/dist/{chunk-T45XK5GN.cjs → chunk-G5DMYAWL.cjs} +19 -19
  160. package/dist/chunk-G5DMYAWL.cjs.map +1 -0
  161. package/dist/{chunk-7CN7IHES.js → chunk-GF23UBOT.js} +3 -3
  162. package/dist/{chunk-7CN7IHES.js.map → chunk-GF23UBOT.js.map} +1 -1
  163. package/dist/{chunk-BVRPDMB7.cjs → chunk-GKLETY7D.cjs} +4 -4
  164. package/dist/{chunk-BVRPDMB7.cjs.map → chunk-GKLETY7D.cjs.map} +1 -1
  165. package/dist/{chunk-KQQA7JBC.js → chunk-GOE36IXL.js} +5 -5
  166. package/dist/{chunk-KQQA7JBC.js.map → chunk-GOE36IXL.js.map} +1 -1
  167. package/dist/{chunk-XZUGREDI.js → chunk-GVMWJ4NI.js} +6 -6
  168. package/dist/{chunk-XZUGREDI.js.map → chunk-GVMWJ4NI.js.map} +1 -1
  169. package/dist/{chunk-FPZYPD3N.cjs → chunk-H7ELUIF6.cjs} +12 -12
  170. package/dist/{chunk-FPZYPD3N.cjs.map → chunk-H7ELUIF6.cjs.map} +1 -1
  171. package/dist/{chunk-VB3QJ6QE.js → chunk-HRH5BIYG.js} +4 -4
  172. package/dist/{chunk-VB3QJ6QE.js.map → chunk-HRH5BIYG.js.map} +1 -1
  173. package/dist/{chunk-NTMHP7FS.js → chunk-HVND2IIB.js} +6 -6
  174. package/dist/{chunk-NTMHP7FS.js.map → chunk-HVND2IIB.js.map} +1 -1
  175. package/dist/{chunk-ASS6EWNI.js → chunk-ICMLLZKZ.js} +8 -8
  176. package/dist/{chunk-ASS6EWNI.js.map → chunk-ICMLLZKZ.js.map} +1 -1
  177. package/dist/{chunk-FNEPZ33A.js → chunk-IU5WQUUC.js} +8 -8
  178. package/dist/{chunk-FNEPZ33A.js.map → chunk-IU5WQUUC.js.map} +1 -1
  179. package/dist/{chunk-7ZDJPHLJ.cjs → chunk-JRRYYW3Y.cjs} +24 -24
  180. package/dist/{chunk-7ZDJPHLJ.cjs.map → chunk-JRRYYW3Y.cjs.map} +1 -1
  181. package/dist/{chunk-ZLWCZV7R.js → chunk-JSD6IEBW.js} +7 -7
  182. package/dist/chunk-JSD6IEBW.js.map +1 -0
  183. package/dist/{chunk-QAFAPHAF.cjs → chunk-JUQZMNPR.cjs} +4 -4
  184. package/dist/chunk-JUQZMNPR.cjs.map +1 -0
  185. package/dist/{chunk-PFEFKLUV.cjs → chunk-K5MQZTDW.cjs} +6 -6
  186. package/dist/{chunk-PFEFKLUV.cjs.map → chunk-K5MQZTDW.cjs.map} +1 -1
  187. package/dist/{chunk-32AJIHBZ.js → chunk-K6Q542VL.js} +5 -5
  188. package/dist/chunk-K6Q542VL.js.map +1 -0
  189. package/dist/{chunk-OFHO5SXA.js → chunk-KC3PYCBO.js} +4 -4
  190. package/dist/{chunk-OFHO5SXA.js.map → chunk-KC3PYCBO.js.map} +1 -1
  191. package/dist/{chunk-QW66UHWO.cjs → chunk-KE4XURZD.cjs} +4 -4
  192. package/dist/{chunk-QW66UHWO.cjs.map → chunk-KE4XURZD.cjs.map} +1 -1
  193. package/dist/{chunk-JFOORUUD.cjs → chunk-KNKOSMOQ.cjs} +6 -6
  194. package/dist/chunk-KNKOSMOQ.cjs.map +1 -0
  195. package/dist/{chunk-LLA33GKC.cjs → chunk-KSU6RYWU.cjs} +4 -4
  196. package/dist/chunk-KSU6RYWU.cjs.map +1 -0
  197. package/dist/{chunk-PWEZCMIY.js → chunk-KXYMMNNV.js} +7 -7
  198. package/dist/chunk-KXYMMNNV.js.map +1 -0
  199. package/dist/{chunk-SUCBR6L5.cjs → chunk-L4JIBKFW.cjs} +3 -3
  200. package/dist/{chunk-SUCBR6L5.cjs.map → chunk-L4JIBKFW.cjs.map} +1 -1
  201. package/dist/{chunk-VGBZWDMM.cjs → chunk-LIVC3WUU.cjs} +4 -4
  202. package/dist/{chunk-VGBZWDMM.cjs.map → chunk-LIVC3WUU.cjs.map} +1 -1
  203. package/dist/{chunk-YF2EHBTV.js → chunk-LKN7FYW6.js} +3 -3
  204. package/dist/{chunk-YF2EHBTV.js.map → chunk-LKN7FYW6.js.map} +1 -1
  205. package/dist/{chunk-RPVCMW64.cjs → chunk-LX23ZJDM.cjs} +6 -6
  206. package/dist/chunk-LX23ZJDM.cjs.map +1 -0
  207. package/dist/{chunk-RU6ZTA4M.cjs → chunk-M5SEYDSS.cjs} +6 -6
  208. package/dist/{chunk-RU6ZTA4M.cjs.map → chunk-M5SEYDSS.cjs.map} +1 -1
  209. package/dist/{chunk-FYKOLKQZ.js → chunk-M6XBF2ZS.js} +4 -4
  210. package/dist/chunk-M6XBF2ZS.js.map +1 -0
  211. package/dist/{chunk-V6VFSX6V.cjs → chunk-MAZEX4EZ.cjs} +13 -13
  212. package/dist/{chunk-V6VFSX6V.cjs.map → chunk-MAZEX4EZ.cjs.map} +1 -1
  213. package/dist/{chunk-7EZBMGEE.cjs → chunk-MRZXTL46.cjs} +7 -7
  214. package/dist/chunk-MRZXTL46.cjs.map +1 -0
  215. package/dist/{chunk-M5ACSJJ4.js → chunk-MV6BK4WG.js} +13 -14
  216. package/dist/chunk-MV6BK4WG.js.map +1 -0
  217. package/dist/{chunk-K6EJLBBQ.js → chunk-N5XMBHX7.js} +3 -3
  218. package/dist/{chunk-K6EJLBBQ.js.map → chunk-N5XMBHX7.js.map} +1 -1
  219. package/dist/{chunk-MH4QS7OE.cjs → chunk-N7ABDCQ6.cjs} +16 -16
  220. package/dist/{chunk-MH4QS7OE.cjs.map → chunk-N7ABDCQ6.cjs.map} +1 -1
  221. package/dist/{chunk-G73TVXDQ.js → chunk-NVXTHTJI.js} +9 -9
  222. package/dist/{chunk-G73TVXDQ.js.map → chunk-NVXTHTJI.js.map} +1 -1
  223. package/dist/{chunk-YLGTDBB2.cjs → chunk-O3F6DYWR.cjs} +3 -3
  224. package/dist/{chunk-YLGTDBB2.cjs.map → chunk-O3F6DYWR.cjs.map} +1 -1
  225. package/dist/{chunk-IECPLOSZ.js → chunk-OFNA5HS5.js} +12 -12
  226. package/dist/{chunk-IECPLOSZ.js.map → chunk-OFNA5HS5.js.map} +1 -1
  227. package/dist/{chunk-4HRD4S25.js → chunk-OTM7RL2L.js} +5 -5
  228. package/dist/{chunk-4HRD4S25.js.map → chunk-OTM7RL2L.js.map} +1 -1
  229. package/dist/{chunk-TJJ63UJV.js → chunk-OTSVOPKP.js} +3 -3
  230. package/dist/{chunk-TJJ63UJV.js.map → chunk-OTSVOPKP.js.map} +1 -1
  231. package/dist/{chunk-ZVXOL5H3.js → chunk-OYDJVGFS.js} +3 -3
  232. package/dist/{chunk-ZVXOL5H3.js.map → chunk-OYDJVGFS.js.map} +1 -1
  233. package/dist/{chunk-XKDW6B7X.cjs → chunk-P53432AK.cjs} +9 -9
  234. package/dist/{chunk-XKDW6B7X.cjs.map → chunk-P53432AK.cjs.map} +1 -1
  235. package/dist/{chunk-WNUU7T62.cjs → chunk-PBZHLHSA.cjs} +3 -3
  236. package/dist/{chunk-WNUU7T62.cjs.map → chunk-PBZHLHSA.cjs.map} +1 -1
  237. package/dist/{chunk-S5KUYX3Z.cjs → chunk-PCNJJVTF.cjs} +7 -7
  238. package/dist/{chunk-S5KUYX3Z.cjs.map → chunk-PCNJJVTF.cjs.map} +1 -1
  239. package/dist/{chunk-O6E2WC3J.js → chunk-PRP5N7NY.js} +4 -4
  240. package/dist/chunk-PRP5N7NY.js.map +1 -0
  241. package/dist/{chunk-MFQ5NBSV.cjs → chunk-QAKIG43N.cjs} +3 -3
  242. package/dist/{chunk-MFQ5NBSV.cjs.map → chunk-QAKIG43N.cjs.map} +1 -1
  243. package/dist/{chunk-BBOIFV27.cjs → chunk-QF7CD4JH.cjs} +5 -5
  244. package/dist/{chunk-BBOIFV27.cjs.map → chunk-QF7CD4JH.cjs.map} +1 -1
  245. package/dist/{chunk-ZI7JP3TN.js → chunk-QFC736WY.js} +5 -5
  246. package/dist/{chunk-ZI7JP3TN.js.map → chunk-QFC736WY.js.map} +1 -1
  247. package/dist/{chunk-ZUQUL53P.cjs → chunk-QHN63FRP.cjs} +10 -10
  248. package/dist/{chunk-ZUQUL53P.cjs.map → chunk-QHN63FRP.cjs.map} +1 -1
  249. package/dist/{chunk-CESGP5AF.js → chunk-QPM4CZ4G.js} +3 -3
  250. package/dist/{chunk-CESGP5AF.js.map → chunk-QPM4CZ4G.js.map} +1 -1
  251. package/dist/{chunk-LMPPAQKP.cjs → chunk-QUKUX5KU.cjs} +4 -4
  252. package/dist/{chunk-LMPPAQKP.cjs.map → chunk-QUKUX5KU.cjs.map} +1 -1
  253. package/dist/{chunk-RUSRAKKA.js → chunk-RANTYGKW.js} +7 -7
  254. package/dist/{chunk-RUSRAKKA.js.map → chunk-RANTYGKW.js.map} +1 -1
  255. package/dist/{chunk-Y52NXM73.cjs → chunk-RVBTDXPD.cjs} +5 -5
  256. package/dist/{chunk-Y52NXM73.cjs.map → chunk-RVBTDXPD.cjs.map} +1 -1
  257. package/dist/{chunk-RLMU3NHQ.cjs → chunk-S3V2C4DW.cjs} +14 -14
  258. package/dist/chunk-S3V2C4DW.cjs.map +1 -0
  259. package/dist/{chunk-6IBBAOQC.cjs → chunk-SONXLQPJ.cjs} +8 -8
  260. package/dist/chunk-SONXLQPJ.cjs.map +1 -0
  261. package/dist/{chunk-HIN6PHSE.cjs → chunk-SSCW67KA.cjs} +3 -3
  262. package/dist/{chunk-HIN6PHSE.cjs.map → chunk-SSCW67KA.cjs.map} +1 -1
  263. package/dist/{chunk-F2GAZZVS.js → chunk-SVSQXKFL.js} +4 -4
  264. package/dist/{chunk-F2GAZZVS.js.map → chunk-SVSQXKFL.js.map} +1 -1
  265. package/dist/{chunk-ATANWEXA.cjs → chunk-SW2MDI2E.cjs} +51 -51
  266. package/dist/{chunk-ATANWEXA.cjs.map → chunk-SW2MDI2E.cjs.map} +1 -1
  267. package/dist/{chunk-ZKFFHIEW.js → chunk-SXXDTW7S.js} +4 -4
  268. package/dist/{chunk-ZKFFHIEW.js.map → chunk-SXXDTW7S.js.map} +1 -1
  269. package/dist/{chunk-TT3K5D6J.js → chunk-T67FLC55.js} +8 -8
  270. package/dist/{chunk-TT3K5D6J.js.map → chunk-T67FLC55.js.map} +1 -1
  271. package/dist/{chunk-FNJDMGJ3.js → chunk-TAYJSIOP.js} +7 -7
  272. package/dist/{chunk-FNJDMGJ3.js.map → chunk-TAYJSIOP.js.map} +1 -1
  273. package/dist/{chunk-GCWIZNN2.cjs → chunk-TFKG5FSG.cjs} +8 -8
  274. package/dist/{chunk-GCWIZNN2.cjs.map → chunk-TFKG5FSG.cjs.map} +1 -1
  275. package/dist/{chunk-MFBUK4RV.cjs → chunk-TJTC4WNY.cjs} +8 -8
  276. package/dist/{chunk-MFBUK4RV.cjs.map → chunk-TJTC4WNY.cjs.map} +1 -1
  277. package/dist/{chunk-BZZDHDMK.cjs → chunk-TLRFXSPA.cjs} +14 -14
  278. package/dist/{chunk-BZZDHDMK.cjs.map → chunk-TLRFXSPA.cjs.map} +1 -1
  279. package/dist/{chunk-XDJSFGXW.js → chunk-TMQF2CRN.js} +4 -4
  280. package/dist/chunk-TMQF2CRN.js.map +1 -0
  281. package/dist/{chunk-65HKNZFG.cjs → chunk-TTZJ2KXK.cjs} +3 -3
  282. package/dist/{chunk-65HKNZFG.cjs.map → chunk-TTZJ2KXK.cjs.map} +1 -1
  283. package/dist/{chunk-P7PKK5BO.js → chunk-UE3QO7R3.js} +4 -4
  284. package/dist/{chunk-P7PKK5BO.js.map → chunk-UE3QO7R3.js.map} +1 -1
  285. package/dist/{chunk-QOGKO6JH.cjs → chunk-UET6D7B3.cjs} +6 -6
  286. package/dist/{chunk-QOGKO6JH.cjs.map → chunk-UET6D7B3.cjs.map} +1 -1
  287. package/dist/{chunk-MODCP3UV.js → chunk-UIE5FP3A.js} +9 -9
  288. package/dist/chunk-UIE5FP3A.js.map +1 -0
  289. package/dist/chunk-USWQAMI3.js +35 -0
  290. package/dist/{chunk-GFYSELJF.js.map → chunk-USWQAMI3.js.map} +1 -1
  291. package/dist/{chunk-YD4SXA6K.js → chunk-UVMIJCY3.js} +8 -8
  292. package/dist/chunk-UVMIJCY3.js.map +1 -0
  293. package/dist/{chunk-DEFGT75G.js → chunk-UVUBV4VZ.js} +6 -6
  294. package/dist/{chunk-DEFGT75G.js.map → chunk-UVUBV4VZ.js.map} +1 -1
  295. package/dist/{chunk-CRR3AMJ4.js → chunk-UZCR7DK5.js} +4 -4
  296. package/dist/{chunk-CRR3AMJ4.js.map → chunk-UZCR7DK5.js.map} +1 -1
  297. package/dist/{chunk-WKNVZUWZ.cjs → chunk-UZG6LO4Z.cjs} +3 -3
  298. package/dist/{chunk-WKNVZUWZ.cjs.map → chunk-UZG6LO4Z.cjs.map} +1 -1
  299. package/dist/{chunk-DCVR6NPP.js → chunk-V4235IZO.js} +3 -3
  300. package/dist/{chunk-DCVR6NPP.js.map → chunk-V4235IZO.js.map} +1 -1
  301. package/dist/{chunk-WIS4QRGK.cjs → chunk-V5JTTLJP.cjs} +6 -6
  302. package/dist/{chunk-WIS4QRGK.cjs.map → chunk-V5JTTLJP.cjs.map} +1 -1
  303. package/dist/{chunk-IAUJKZAQ.js → chunk-VOHTL6WN.js} +14 -14
  304. package/dist/{chunk-IAUJKZAQ.js.map → chunk-VOHTL6WN.js.map} +1 -1
  305. package/dist/{chunk-NBAHXZHJ.js → chunk-VQXXX6DK.js} +4 -4
  306. package/dist/{chunk-NBAHXZHJ.js.map → chunk-VQXXX6DK.js.map} +1 -1
  307. package/dist/{chunk-COH45MGW.cjs → chunk-WFHK2DKG.cjs} +3 -3
  308. package/dist/{chunk-COH45MGW.cjs.map → chunk-WFHK2DKG.cjs.map} +1 -1
  309. package/dist/{chunk-VYHZEQIG.js → chunk-WGRLNXNB.js} +6 -6
  310. package/dist/{chunk-VYHZEQIG.js.map → chunk-WGRLNXNB.js.map} +1 -1
  311. package/dist/{chunk-XK5WHQ3O.cjs → chunk-WMANILKC.cjs} +4 -4
  312. package/dist/chunk-WMANILKC.cjs.map +1 -0
  313. package/dist/{chunk-DHIUMQLP.cjs → chunk-WNUAGRQN.cjs} +4 -4
  314. package/dist/{chunk-DHIUMQLP.cjs.map → chunk-WNUAGRQN.cjs.map} +1 -1
  315. package/dist/{chunk-B6CQ4KK7.cjs → chunk-WONP337S.cjs} +13 -14
  316. package/dist/chunk-WONP337S.cjs.map +1 -0
  317. package/dist/{chunk-ENYHLZ2X.js → chunk-WW56U3RV.js} +5 -5
  318. package/dist/{chunk-ENYHLZ2X.js.map → chunk-WW56U3RV.js.map} +1 -1
  319. package/dist/{chunk-KKWNKBKR.js → chunk-WX5XYDVN.js} +8 -8
  320. package/dist/{chunk-KKWNKBKR.js.map → chunk-WX5XYDVN.js.map} +1 -1
  321. package/dist/{chunk-TB35HNBE.js → chunk-X7VIIM2P.js} +3 -3
  322. package/dist/{chunk-TB35HNBE.js.map → chunk-X7VIIM2P.js.map} +1 -1
  323. package/dist/{chunk-4NBM3LXN.js → chunk-XB3H2EEL.js} +5 -5
  324. package/dist/{chunk-4NBM3LXN.js.map → chunk-XB3H2EEL.js.map} +1 -1
  325. package/dist/{chunk-5RLP77KK.js → chunk-XM3V3RSU.js} +4 -4
  326. package/dist/{chunk-5RLP77KK.js.map → chunk-XM3V3RSU.js.map} +1 -1
  327. package/dist/{chunk-IYVV4RD3.cjs → chunk-XM3W5ETT.cjs} +5 -5
  328. package/dist/{chunk-IYVV4RD3.cjs.map → chunk-XM3W5ETT.cjs.map} +1 -1
  329. package/dist/{chunk-IWXP2YUP.js → chunk-XOYRJFMU.js} +6 -6
  330. package/dist/chunk-XOYRJFMU.js.map +1 -0
  331. package/dist/{chunk-XB6YHUKW.js → chunk-XQDGUXMS.js} +10 -10
  332. package/dist/{chunk-XB6YHUKW.js.map → chunk-XQDGUXMS.js.map} +1 -1
  333. package/dist/{chunk-2KAJ4L7C.js → chunk-XS3EIQFP.js} +19 -19
  334. package/dist/chunk-XS3EIQFP.js.map +1 -0
  335. package/dist/{chunk-6KXAFP2T.js → chunk-XYOT75HH.js} +3 -3
  336. package/dist/{chunk-6KXAFP2T.js.map → chunk-XYOT75HH.js.map} +1 -1
  337. package/dist/{chunk-UDEEPMQ4.js → chunk-Y6LL3B5P.js} +4 -4
  338. package/dist/{chunk-UDEEPMQ4.js.map → chunk-Y6LL3B5P.js.map} +1 -1
  339. package/dist/{chunk-OS2QC3NE.cjs → chunk-Y7RGUUTS.cjs} +7 -7
  340. package/dist/chunk-Y7RGUUTS.cjs.map +1 -0
  341. package/dist/{chunk-Z6RVBZQ4.js → chunk-Y7UE37QZ.js} +8 -8
  342. package/dist/{chunk-Z6RVBZQ4.js.map → chunk-Y7UE37QZ.js.map} +1 -1
  343. package/dist/{chunk-YMDYDUBH.cjs → chunk-YH75G6SP.cjs} +7 -7
  344. package/dist/{chunk-YMDYDUBH.cjs.map → chunk-YH75G6SP.cjs.map} +1 -1
  345. package/dist/{chunk-PHDIQ4VC.js → chunk-YQTKTEWS.js} +8 -8
  346. package/dist/chunk-YQTKTEWS.js.map +1 -0
  347. package/dist/{chunk-FVTCPERB.cjs → chunk-Z4UXLQSK.cjs} +15 -15
  348. package/dist/{chunk-FVTCPERB.cjs.map → chunk-Z4UXLQSK.cjs.map} +1 -1
  349. package/dist/{chunk-W6RDAZJC.js → chunk-ZAX72LXL.js} +5 -5
  350. package/dist/chunk-ZAX72LXL.js.map +1 -0
  351. package/dist/{chunk-M52IS5SO.cjs → chunk-ZKJLDBXA.cjs} +16 -16
  352. package/dist/chunk-ZKJLDBXA.cjs.map +1 -0
  353. package/dist/{chunk-NE3Z4AWP.js → chunk-ZULMMW5W.js} +7 -7
  354. package/dist/{chunk-NE3Z4AWP.js.map → chunk-ZULMMW5W.js.map} +1 -1
  355. package/dist/color-picker.cjs +2 -2
  356. package/dist/color-picker.js +1 -1
  357. package/dist/command.cjs +3 -3
  358. package/dist/command.js +1 -1
  359. package/dist/composer.cjs +5 -5
  360. package/dist/composer.js +3 -3
  361. package/dist/content-renderer.cjs +4 -4
  362. package/dist/content-renderer.js +1 -1
  363. package/dist/context-menu.cjs +3 -3
  364. package/dist/context-menu.js +1 -1
  365. package/dist/dark-variant.css +3 -0
  366. package/dist/dark-variant.css.map +1 -0
  367. package/dist/date-picker.cjs +5 -5
  368. package/dist/date-picker.js +4 -4
  369. package/dist/drawer.cjs +3 -3
  370. package/dist/drawer.js +1 -1
  371. package/dist/dropdown.cjs +3 -3
  372. package/dist/dropdown.js +1 -1
  373. package/dist/editor.cjs +6 -6
  374. package/dist/editor.js +4 -4
  375. package/dist/emoji-select.cjs +2 -2
  376. package/dist/emoji-select.js +1 -1
  377. package/dist/eyebrow.cjs +2 -2
  378. package/dist/eyebrow.js +1 -1
  379. package/dist/faux-client.cjs +2 -2
  380. package/dist/faux-client.js +1 -1
  381. package/dist/field.cjs +3 -3
  382. package/dist/field.js +2 -2
  383. package/dist/file-browser.cjs +5 -5
  384. package/dist/file-browser.js +1 -1
  385. package/dist/file-upload.cjs +3 -3
  386. package/dist/file-upload.js +1 -1
  387. package/dist/heading.cjs +2 -2
  388. package/dist/heading.js +1 -1
  389. package/dist/image-viewer.cjs +3 -3
  390. package/dist/image-viewer.js +2 -2
  391. package/dist/index-list.cjs +2 -2
  392. package/dist/index-list.js +1 -1
  393. package/dist/index.cjs +372 -299
  394. package/dist/index.cjs.map +1 -1
  395. package/dist/index.d.cts +114 -1
  396. package/dist/index.d.ts +114 -1
  397. package/dist/index.js +166 -90
  398. package/dist/index.js.map +1 -1
  399. package/dist/input-tag.cjs +6 -6
  400. package/dist/input-tag.js +1 -1
  401. package/dist/input.cjs +8 -8
  402. package/dist/input.js +7 -7
  403. package/dist/inputs.cjs +36 -36
  404. package/dist/inputs.js +17 -17
  405. package/dist/json-editor.cjs +31 -31
  406. package/dist/json-editor.js +20 -20
  407. package/dist/kanban.cjs +3 -3
  408. package/dist/kanban.js +1 -1
  409. package/dist/kbd.cjs +2 -2
  410. package/dist/kbd.js +1 -1
  411. package/dist/magic-wand.cjs +11 -11
  412. package/dist/magic-wand.js +10 -10
  413. package/dist/media-viewer.cjs +6 -6
  414. package/dist/media-viewer.js +5 -5
  415. package/dist/menu.cjs +3 -3
  416. package/dist/menu.js +1 -1
  417. package/dist/mobile-menu.cjs +4 -4
  418. package/dist/mobile-menu.js +2 -2
  419. package/dist/modal.cjs +3 -3
  420. package/dist/modal.js +1 -1
  421. package/dist/mode.cjs +3 -3
  422. package/dist/mode.js +2 -2
  423. package/dist/mood-meter.cjs +2 -2
  424. package/dist/mood-meter.js +1 -1
  425. package/dist/multi-switch.cjs +5 -5
  426. package/dist/multi-switch.js +4 -4
  427. package/dist/navbar.cjs +3 -3
  428. package/dist/navbar.js +1 -1
  429. package/dist/otp-input.cjs +2 -2
  430. package/dist/otp-input.js +1 -1
  431. package/dist/pagination.cjs +2 -2
  432. package/dist/pagination.js +1 -1
  433. package/dist/paste-pills.cjs +15 -15
  434. package/dist/paste-pills.js +2 -2
  435. package/dist/pdf-viewer.cjs +3 -3
  436. package/dist/pdf-viewer.js +2 -2
  437. package/dist/pillbox.cjs +2 -2
  438. package/dist/pillbox.js +1 -1
  439. package/dist/popover.cjs +3 -3
  440. package/dist/popover.js +1 -1
  441. package/dist/profile.cjs +3 -3
  442. package/dist/profile.js +2 -2
  443. package/dist/progress.cjs +2 -2
  444. package/dist/progress.js +1 -1
  445. package/dist/prompt-input.cjs +9 -9
  446. package/dist/prompt-input.js +8 -8
  447. package/dist/pull-quote.cjs +2 -2
  448. package/dist/pull-quote.js +1 -1
  449. package/dist/radio-group.cjs +5 -5
  450. package/dist/radio-group.js +4 -4
  451. package/dist/reason-tag.cjs +8 -8
  452. package/dist/reason-tag.js +7 -7
  453. package/dist/select.cjs +6 -6
  454. package/dist/select.js +5 -5
  455. package/dist/separator.cjs +2 -2
  456. package/dist/separator.js +1 -1
  457. package/dist/sidebar.cjs +4 -4
  458. package/dist/sidebar.js +2 -2
  459. package/dist/skeleton.cjs +2 -2
  460. package/dist/skeleton.js +1 -1
  461. package/dist/slider.cjs +5 -5
  462. package/dist/slider.js +4 -4
  463. package/dist/stat-list.cjs +2 -2
  464. package/dist/stat-list.js +1 -1
  465. package/dist/stat.cjs +3 -3
  466. package/dist/stat.js +1 -1
  467. package/dist/styles.css +60 -60
  468. package/dist/styles.css.map +1 -1
  469. package/dist/switch.cjs +3 -3
  470. package/dist/switch.js +2 -2
  471. package/dist/table.cjs +11 -11
  472. package/dist/table.js +1 -1
  473. package/dist/tabs.cjs +3 -3
  474. package/dist/tabs.js +1 -1
  475. package/dist/text.cjs +2 -2
  476. package/dist/text.js +1 -1
  477. package/dist/textarea.cjs +6 -6
  478. package/dist/textarea.js +5 -5
  479. package/dist/time-grid.cjs +2 -2
  480. package/dist/time-grid.js +1 -1
  481. package/dist/time-picker.cjs +2 -2
  482. package/dist/time-picker.js +1 -1
  483. package/dist/timeline.cjs +4 -4
  484. package/dist/timeline.js +1 -1
  485. package/dist/toast.cjs +4 -4
  486. package/dist/toast.js +2 -2
  487. package/dist/tree-nav.cjs +3 -3
  488. package/dist/tree-nav.js +1 -1
  489. package/package.json +2 -1
  490. package/dist/chunk-25UPDBI6.cjs.map +0 -1
  491. package/dist/chunk-2KAJ4L7C.js.map +0 -1
  492. package/dist/chunk-32AJIHBZ.js.map +0 -1
  493. package/dist/chunk-56U4LBNL.cjs.map +0 -1
  494. package/dist/chunk-5F6V5HHT.cjs.map +0 -1
  495. package/dist/chunk-6IBBAOQC.cjs.map +0 -1
  496. package/dist/chunk-7EZBMGEE.cjs.map +0 -1
  497. package/dist/chunk-7JDVCQXD.js.map +0 -1
  498. package/dist/chunk-B6CQ4KK7.cjs.map +0 -1
  499. package/dist/chunk-CF2U25LM.js.map +0 -1
  500. package/dist/chunk-FSRPZYZZ.js.map +0 -1
  501. package/dist/chunk-FYKOLKQZ.js.map +0 -1
  502. package/dist/chunk-GFYSELJF.js +0 -35
  503. package/dist/chunk-GU5BYZTR.cjs.map +0 -1
  504. package/dist/chunk-HKRB2Z6R.cjs.map +0 -1
  505. package/dist/chunk-I6L7OP7G.cjs.map +0 -1
  506. package/dist/chunk-IWXP2YUP.js.map +0 -1
  507. package/dist/chunk-JFOORUUD.cjs.map +0 -1
  508. package/dist/chunk-LLA33GKC.cjs.map +0 -1
  509. package/dist/chunk-M52IS5SO.cjs.map +0 -1
  510. package/dist/chunk-M5ACSJJ4.js.map +0 -1
  511. package/dist/chunk-MODCP3UV.js.map +0 -1
  512. package/dist/chunk-N6OZZAOT.js.map +0 -1
  513. package/dist/chunk-O6E2WC3J.js.map +0 -1
  514. package/dist/chunk-OS2QC3NE.cjs.map +0 -1
  515. package/dist/chunk-P7Q2YIIS.js.map +0 -1
  516. package/dist/chunk-PCTZNK2Z.js.map +0 -1
  517. package/dist/chunk-PHDIQ4VC.js.map +0 -1
  518. package/dist/chunk-PWEZCMIY.js.map +0 -1
  519. package/dist/chunk-QAFAPHAF.cjs.map +0 -1
  520. package/dist/chunk-QSFTWIUH.cjs.map +0 -1
  521. package/dist/chunk-RA2VOQ46.js.map +0 -1
  522. package/dist/chunk-RLMU3NHQ.cjs.map +0 -1
  523. package/dist/chunk-RPVCMW64.cjs.map +0 -1
  524. package/dist/chunk-T45XK5GN.cjs.map +0 -1
  525. package/dist/chunk-TDDWWAM5.js.map +0 -1
  526. package/dist/chunk-TNYWQ6EQ.js.map +0 -1
  527. package/dist/chunk-VKXNCYLE.cjs.map +0 -1
  528. package/dist/chunk-W6RDAZJC.js.map +0 -1
  529. package/dist/chunk-WBVWV2V7.cjs.map +0 -1
  530. package/dist/chunk-XDJSFGXW.js.map +0 -1
  531. package/dist/chunk-XK5WHQ3O.cjs.map +0 -1
  532. package/dist/chunk-YD4SXA6K.js.map +0 -1
  533. package/dist/chunk-Z3NSPDTW.cjs.map +0 -1
  534. package/dist/chunk-ZLWCZV7R.js.map +0 -1
  535. package/dist/chunk-ZY4CVNNZ.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Editor/Editor.context.ts","../src/components/Editor/EditorSourceToggle.tsx","../src/components/Editor/EditorToolbar.tsx","../src/components/Editor/EditorToolbarSeparator.tsx","../src/components/Editor/EditorContent.tsx","../src/components/Editor/Editor.tsx"],"names":["createContext","useContext","jsx","cn","jsxs","Fragment","useRef","useEffect","useMemo","extensionEditorClasses","CodeView","proseClasses","detectFormat","marked","sanitizeHtml","useControllableState","useFieldMode","useState","mergeExtensions","useCallback","htmlToMarkdown","ContentRenderer"],"mappings":";;;;;;;;;;;;AA4BO,IAAM,aAAA,GAAgBA,oBAAyC,IAAI,CAAA;AAEnE,SAAS,SAAA,GAAgC;AAC9C,EAAA,MAAM,GAAA,GAAMC,iBAAW,aAAa,CAAA;AACpC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,qDAAqD,CAAA;AAAA,EACvE;AACA,EAAA,OAAO,GAAA;AACT;AC3BO,SAAS,kBAAA,CAAmB;AAAA,EACjC,SAAA;AAAA,EACA,IAAA,GAAO,KAAA;AAAA,EACP,KAAA,GAAQ,QAAA;AAAA,EACR,WAAA,GAAc;AAChB,CAAA,EAA4B;AAC1B,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAc,GAAI,SAAA,EAAU;AAEhD,EAAA,uBACEC,cAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAS,MAAM,aAAA,CAAc,CAAC,UAAU,CAAA;AAAA,MACxC,KAAA,EAAO,aAAa,WAAA,GAAc,KAAA;AAAA,MAClC,cAAA,EAAc,UAAA;AAAA,MACd,uCAAA,EAAsC,EAAA;AAAA,MACtC,SAAA,EAAWC,oBAAA;AAAA,QACT,iGAAA;AAAA,QACA,aACI,qHAAA,GACA,+IAAA;AAAA,QACJ;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;AAEA,kBAAA,CAAmB,WAAA,GAAc,oBAAA;AChCjC,IAAM,eAAA,GAAkB;AAAA,EACtB,EAAE,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,MAAA,EAAQ,SAAS,MAAA,EAAO;AAAA,EAC5C,EAAE,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,QAAA,EAAU,SAAS,QAAA,EAAS;AAAA,EAChD,EAAE,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,WAAA,EAAa,SAAS,WAAA,EAAY;AAAA,EACtD,EAAE,IAAA,EAAM,GAAA,EAAK,KAAA,EAAO,eAAA,EAAiB,SAAS,eAAA;AAChD,CAAA;AAEO,SAAS,aAAA,CAAc;AAAA,EAC5B,OAAA,GAAU,eAAA;AAAA,EACV,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA,GAAmB;AACrB,CAAA,EAAuB;AACrB,EAAA,MAAM,EAAE,IAAA,EAAM,UAAA,EAAW,GAAI,SAAA,EAAU;AAEvC,EAAA,uBACED,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iCAAA,EAAgC,EAAA;AAAA,MAChC,SAAA,EAAWC,oBAAA;AAAA,QACT,qLAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,sCACCC,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,qBACZH,cAAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YAEC,IAAA,EAAK,QAAA;AAAA,YAEL,QAAA,EAAU,UAAA;AAAA,YACV,SAAS,MAAM;AACb,cAAA,IAAI,QAAA,EAAU;AACZ,gBAAA,QAAA,CAAS,OAAO,OAAO,CAAA;AAAA,cACzB,CAAA,MAAO;AACL,gBAAA,IAAA,CAAK,MAAA,CAAO,OAAA,EAAS,MAAA,CAAO,UAAU,CAAA;AAAA,cACxC;AAAA,YACF,CAAA;AAAA,YACA,OAAO,MAAA,CAAO,KAAA;AAAA,YACd,SAAA,EAAWC,oBAAA;AAAA,cACT,sFAAA;AAAA,cACA,MAAA,CAAO,SACH,qHAAA,GACA,+IAAA;AAAA,cACJ,UAAA,IAAc;AAAA,aAChB;AAAA,YAEC,QAAA,EAAA,MAAA,CAAO;AAAA,WAAA;AAAA,UApBH,GAAG,MAAA,CAAO,OAAO,CAAA,CAAA,EAAI,MAAA,CAAO,cAAc,EAAE,CAAA;AAAA,SAsBpD,CAAA;AAAA,QACA,gBAAA,oBAAoBD,cAAAA,CAAC,kBAAA,EAAA,EAAmB,WAAU,SAAA,EAAU;AAAA,OAAA,EAC/D;AAAA;AAAA,GAEJ;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;AC/DrB,SAAS,sBAAA,GAAyB;AACvC,EAAA,uBACEA,cAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,2CAAA,EAA0C,EAAA;AAAA,MAC1C,SAAA,EAAU;AAAA;AAAA,GACZ;AAEJ;AAEA,sBAAA,CAAuB,WAAA,GAAc,wBAAA;ACF9B,SAAS,aAAA,CAAc,EAAE,SAAA,EAAW,SAAA,EAAW,iBAAgB,EAAuB;AAC3F,EAAA,MAAM;AAAA,IACJ,UAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,MACE,SAAA,EAAU;AAKd,EAAA,MAAM,UAAA,GAAaI,aAAsB,IAAI,CAAA;AAE7C,EAAAC,eAAA,CAAU,MAAM;AAId,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AACrB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,KAAK,UAAA,CAAW,OAAA;AACtB,IAAA,IAAI,EAAA,IAAM,UAAA,CAAW,OAAA,KAAY,YAAA,EAAc;AAC7C,MAAA,EAAA,CAAG,SAAA,GAAY,YAAA;AACf,MAAA,UAAA,CAAW,OAAA,GAAU,YAAA;AAAA,IACvB;AAAA,EACF,CAAA,EAAG,CAAC,UAAA,EAAY,YAAA,EAAc,UAAU,CAAC,CAAA;AAEzC,EAAA,MAAM,UAAA,GAAaC,aAAA;AAAA,IACjB,MAAMC,yCAAuB,UAAU,CAAA;AAAA,IACvC,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,IAAI,UAAA,EAAY;AAOd,IAAA,uBACEP,cAAAA;AAAA,MAACQ,0BAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,YAAA;AAAA,QACP,QAAA,EAAU,cAAA;AAAA,QACV,QAAA,EAAU,YAAA,KAAiB,MAAA,GAAS,MAAA,GAAS,WAAA;AAAA,QAC7C,WAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA,EAAWP,oBAAA,CAAG,mBAAA,EAAqB,eAAe;AAAA;AAAA,KACpD;AAAA,EAEJ;AAEA,EAAA,uBACED,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,UAAA;AAAA,MACL,eAAA,EAAe,IAAA;AAAA,MACf,8BAAA,EAA8B,IAAA;AAAA,MAC9B,iCAAA,EAAgC,EAAA;AAAA,MAChC,kBAAA,EAAkB,WAAA;AAAA,MAClB,OAAA,EAAS,QAAA;AAAA,MACT,KAAA,EAAO;AAAA,QACL,UAAA,EAAY,WAAA;AAAA,QACZ,SAAA,EAAW,SAAA,GAAY,CAAA,EAAG,SAAS,CAAA,EAAA,CAAA,GAAO;AAAA,OAC5C;AAAA,MACA,SAAA,EAAWC,oBAAA;AAAA,QACT,wEAAA;AAAA,QACA,oBAAA;AAAA,QACAQ,8BAAA;AAAA,QACA,UAAA;AAAA,QACA,2GAAA;AAAA,QACA;AAAA;AACF;AAAA,GACF;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;ACzE5B,SAAS,MAAA,CACP,KAAA,EACA,YAAA,EACA,MAAA,EACA,cAA4C,MAAA,EACpC;AACR,EAAA,IAAI,CAAC,OAAO,OAAO,EAAA;AACnB,EAAA,MAAM,OAAO,MAAM;AAIjB,IAAA,MAAM,MAAA,GACJ,gBAAgB,MAAA,GACZ,WAAA,GACA,iBAAiB,MAAA,GACf,MAAA,GACAC,+BAAa,KAAK,CAAA;AAC1B,IAAA,IAAI,MAAA,KAAW,QAAQ,OAAO,KAAA;AAC9B,IAAA,OAAQC,aAAA,CAAO,MAAM,KAAA,EAAO,EAAE,OAAO,KAAA,EAAO,EAAa,IAAA,EAAK;AAAA,EAChE,CAAA,GAAG;AACH,EAAA,OAAO,MAAA,GAAS,GAAA,GAAMC,8BAAA,CAAa,GAAG,CAAA;AACxC;AAEA,SAAS,UAAA,CAAW;AAAA,EAClB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,YAAA,GAAe,EAAA;AAAA,EACf,QAAA;AAAA,EACA,YAAA,GAAe,MAAA;AAAA,EACf,WAAA,GAAc,MAAA;AAAA,EACd,WAAA,GAAc,GAAA;AAAA,EACd,WAAA;AAAA,EACA,IAAA,EAAM,QAAA;AAAA,EACN,UAAA,EAAY,kBAAA;AAAA,EACZ,MAAA,GAAS,KAAA;AAAA,EACT,UAAA,EAAY,cAAA;AAAA,EACZ,iBAAA,GAAoB,KAAA;AAAA,EACpB;AACF,CAAA,EAAgB;AACd,EAAA,MAAM,UAAA,GAAaR,aAA8B,IAAI,CAAA;AACrD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,IAAIS,sCAAA,CAAqB,eAAA,EAAiB,cAAc,QAAQ,CAAA;AACtF,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,sCAAA;AAAA,IAClC,cAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,MAAM,IAAA,GAAOC,+BAAa,QAAQ,CAAA;AAClC,EAAA,MAAM,SAAS,IAAA,KAAS,MAAA;AAKxB,EAAA,MAAM,WAAA,GAAcV,aAAsB,IAAI,CAAA;AAO9C,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIW,eAAS,CAAC,CAAA;AAClD,EAAAV,gBAAU,MAAM;AACd,IAAA,IAAI,UAAU,WAAA,CAAY,OAAA,kBAAyB,CAAC,CAAA,KAAM,IAAI,CAAC,CAAA;AAAA,EACjE,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,MAAM,WAAA,GAAcC,aAAAA;AAAA,IAClB,MAAM,MAAA,CAAO,KAAA,EAAO,YAAA,EAAc,QAAQ,WAAW,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOrD,CAAC,MAAA,EAAQ,YAAA,EAAc,MAAA,EAAQ,WAAA,EAAa,YAAY,YAAY;AAAA,GACtE;AAEA,EAAA,MAAM,UAAA,GAAaA,aAAAA;AAAA,IACjB,MAAMU,kCAAgB,kBAAkB,CAAA;AAAA,IACxC,CAAC,kBAAkB;AAAA,GACrB;AAEA,EAAA,MAAM,cAAA,GAAiBC,iBAAA;AAAA,IACrB,CAAC,IAAA,KAAyB;AACxB,MAAA,OAAO,YAAA,KAAiB,UAAA,GAAaC,gCAAA,CAAe,IAAI,CAAA,GAAI,IAAA;AAAA,IAC9D,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AAEA,EAAA,MAAM,WAAA,GAAcD,kBAAY,MAAM;AACpC,IAAA,MAAM,KAAK,UAAA,CAAW,OAAA;AACtB,IAAA,IAAI,CAAC,EAAA,EAAI;AACT,IAAA,MAAM,IAAA,GAAO,cAAA,CAAe,EAAA,CAAG,SAAS,CAAA;AAGxC,IAAA,WAAA,CAAY,OAAA,GAAU,IAAA;AACtB,IAAA,QAAA,CAAS,IAAI,CAAA;AAAA,EACf,CAAA,EAAG,CAAC,QAAA,EAAU,cAAc,CAAC,CAAA;AAE7B,EAAA,MAAM,IAAA,GAAOA,iBAAA;AAAA,IACX,CAAC,SAAiB,GAAA,KAAiB;AACjC,MAAA,MAAM,KAAK,UAAA,CAAW,OAAA;AACtB,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,EAAA,CAAG,KAAA,EAAM;AACT,MAAA,QAAA,CAAS,WAAA,CAAY,OAAA,EAAS,KAAA,EAAO,GAAG,CAAA;AACxC,MAAA,WAAA,EAAY;AAAA,IACd,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,MAAM,UAAA,GAAaA,iBAAA;AAAA,IACjB,CAAC,IAAA,KAAiB;AAChB,MAAA,MAAM,KAAK,UAAA,CAAW,OAAA;AACtB,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,EAAA,CAAG,KAAA,EAAM;AACT,MAAA,QAAA,CAAS,WAAA,CAAY,YAAA,EAAc,KAAA,EAAO,IAAI,CAAA;AAC9C,MAAA,WAAA,EAAY;AAAA,IACd,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAIA,EAAA,MAAM,iBAAA,GAAoBA,iBAAA;AAAA,IACxB,CAAC,IAAA,KAAiB;AAGhB,MAAA,WAAA,CAAY,OAAA,GAAU,IAAA;AACtB,MAAA,QAAA,CAAS,IAAI,CAAA;AAAA,IACf,CAAA;AAAA,IACA,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,MAAM,aAAA,GAAgBA,iBAAA;AAAA,IACpB,CAAC,QAAgB,KAAA,KAAkB;AACjC,MAAA,MAAM,GAAA,GAAM,OAAO,YAAA,EAAa;AAChC,MAAA,IAAI,CAAC,GAAA,IAAO,GAAA,CAAI,UAAA,KAAe,CAAA,EAAG;AAClC,MAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,UAAA,CAAW,CAAC,CAAA;AAC9B,MAAA,MAAM,YAAA,GAAe,MAAM,QAAA,EAAS;AACpC,MAAA,MAAM,KAAK,UAAA,CAAW,OAAA;AACtB,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,EAAA,CAAG,KAAA,EAAM;AACT,MAAA,QAAA,CAAS,WAAA,CAAY,cAAc,KAAA,EAAO,CAAA,EAAG,MAAM,CAAA,EAAG,YAAY,CAAA,EAAG,KAAK,CAAA,CAAE,CAAA;AAC5E,MAAA,WAAA,EAAY;AAAA,IACd,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,MAAM,YAAA,GAAe;AAAA,IACnB,UAAA;AAAA,IACA,IAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,YAAA,EAAc,WAAA;AAAA,IACd,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc,KAAA;AAAA,IACd,cAAA,EAAgB;AAAA,GAClB;AAKA,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,uBACEjB,cAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,yBAAA,EAAwB,EAAA;AAAA,QACxB,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAWC,oBAAA;AAAA,UACT,kRAAA;AAAA,UACA;AAAA,SACF;AAAA,QAEA,QAAA,kBAAAD,cAAAA;AAAA,UAACmB,iCAAA;AAAA,UAAA;AAAA,YACC,KAAA;AAAA,YACA,MAAA,EAAQ,WAAA,KAAgB,MAAA,GAAS,WAAA,GAAc,YAAA;AAAA,YAC/C,WAAA;AAAA,YACA,UAAA,EAAY,kBAAA;AAAA,YACZ,MAAA;AAAA,YACA,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,uBACEnB,cAAAA,CAAC,aAAA,CAAc,UAAd,EAAuB,KAAA,EAAO,cAC7B,QAAA,kBAAAA,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,yBAAA,EAAwB,EAAA;AAAA,MACxB,WAAA,EAAU,MAAA;AAAA,MACV,SAAA,EAAWC,oBAAA;AAAA,QACT,gSAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAEA,IAAM,oBAAA,GAAuB,MAAA,CAAO,MAAA,CAAO,aAAA,EAAe;AAAA,EACxD,SAAA,EAAW;AACb,CAAC,CAAA;AAEM,IAAM,MAAA,GAAS,MAAA,CAAO,MAAA,CAAO,UAAA,EAAY;AAAA,EAC9C,OAAA,EAAS,oBAAA;AAAA,EACT,OAAA,EAAS,aAAA;AAAA,EACT,YAAA,EAAc;AAChB,CAAC","file":"chunk-ZKJLDBXA.cjs","sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { RefObject } from \"react\";\nimport type { RenderExtension } from \"../ContentRenderer/extensions\";\n\nexport interface EditorContextValue {\n contentRef: RefObject<HTMLDivElement | null>;\n exec: (command: string, arg?: string) => void;\n insertText: (text: string) => void;\n wrapSelection: (before: string, after: string) => void;\n outputFormat: \"html\" | \"markdown\";\n lineSpacing: number;\n placeholder?: string;\n /** Merged render extensions (global + instance). */\n extensions: RenderExtension[];\n /** Whether the raw-source view (textarea) is showing instead of the rich-text surface. */\n showSource: boolean;\n /** Toggle/set the raw-source view. */\n setShowSource: (showSource: boolean) => void;\n /** Initial HTML content to load into the editor on mount */\n _initialHtml: string;\n /** @internal Called by EditorContent on input events */\n _onInput: () => void;\n /** @internal Raw source value (`value` in `outputFormat`), for the source textarea. */\n _sourceValue: string;\n /** @internal Commit an edit made directly in the source textarea. */\n _onSourceInput: (value: string) => void;\n}\n\nexport const EditorContext = createContext<EditorContextValue | null>(null);\n\nexport function useEditor(): EditorContextValue {\n const ctx = useContext(EditorContext);\n if (!ctx) {\n throw new Error(\"useEditor must be used within an <Editor> component\");\n }\n return ctx;\n}\n","import { cn } from \"../../utils/cn\";\nimport { useEditor } from \"./Editor.context\";\nimport type { EditorSourceToggleProps } from \"./Editor.types\";\n\n/**\n * Toolbar button that reveals the raw HTML/Markdown behind the editor. Reads\n * `showSource` / `setShowSource` from context, so it works in the default\n * toolbar and in any custom toolbar composed with `useEditor()`.\n */\nexport function EditorSourceToggle({\n className,\n icon = \"</>\",\n title = \"Source\",\n activeTitle = \"Rich text\",\n}: EditorSourceToggleProps) {\n const { showSource, setShowSource } = useEditor();\n\n return (\n <button\n type=\"button\"\n onClick={() => setShowSource(!showSource)}\n title={showSource ? activeTitle : title}\n aria-pressed={showSource}\n data-react-fancy-editor-source-toggle=\"\"\n className={cn(\n \"inline-flex h-8 items-center justify-center rounded-md px-2 font-mono text-xs transition-colors\",\n showSource\n ? \"bg-[color:var(--fancy-border,var(--color-zinc-200))] dark:bg-[color:var(--fancy-border-dark,var(--color-zinc-700))]\"\n : \"hover:bg-[color:var(--fancy-surface-muted,var(--color-zinc-100))] dark:hover:bg-[color:var(--fancy-surface-muted-dark,var(--color-zinc-800))]\",\n className,\n )}\n >\n {icon}\n </button>\n );\n}\n\nEditorSourceToggle.displayName = \"EditorSourceToggle\";\n","import { cn } from \"../../utils/cn\";\nimport { useEditor } from \"./Editor.context\";\nimport { EditorSourceToggle } from \"./EditorSourceToggle\";\nimport type { EditorToolbarProps } from \"./Editor.types\";\n\nconst DEFAULT_ACTIONS = [\n { icon: \"B\", label: \"Bold\", command: \"bold\" },\n { icon: \"I\", label: \"Italic\", command: \"italic\" },\n { icon: \"U\", label: \"Underline\", command: \"underline\" },\n { icon: \"S\", label: \"Strikethrough\", command: \"strikeThrough\" },\n];\n\nexport function EditorToolbar({\n actions = DEFAULT_ACTIONS,\n onAction,\n children,\n className,\n showSourceToggle = true,\n}: EditorToolbarProps) {\n const { exec, showSource } = useEditor();\n\n return (\n <div\n data-react-fancy-editor-toolbar=\"\"\n className={cn(\n \"flex shrink-0 items-center gap-0.5 border-b border-[color:var(--fancy-border,var(--color-zinc-200))] px-2 py-1.5 dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))]\",\n className,\n )}\n >\n {children ?? (\n <>\n {actions.map((action) => (\n <button\n key={`${action.command}-${action.commandArg ?? \"\"}`}\n type=\"button\"\n // Rich-text commands don't apply to the raw-source textarea.\n disabled={showSource}\n onClick={() => {\n if (onAction) {\n onAction(action.command);\n } else {\n exec(action.command, action.commandArg);\n }\n }}\n title={action.label}\n className={cn(\n \"inline-flex h-8 w-8 items-center justify-center rounded-md text-sm transition-colors\",\n action.active\n ? \"bg-[color:var(--fancy-border,var(--color-zinc-200))] dark:bg-[color:var(--fancy-border-dark,var(--color-zinc-700))]\"\n : \"hover:bg-[color:var(--fancy-surface-muted,var(--color-zinc-100))] dark:hover:bg-[color:var(--fancy-surface-muted-dark,var(--color-zinc-800))]\",\n showSource && \"cursor-not-allowed opacity-40 hover:bg-transparent\",\n )}\n >\n {action.icon}\n </button>\n ))}\n {showSourceToggle && <EditorSourceToggle className=\"ml-auto\" />}\n </>\n )}\n </div>\n );\n}\n\nEditorToolbar.displayName = \"EditorToolbar\";\n","export function EditorToolbarSeparator() {\n return (\n <span\n data-react-fancy-editor-toolbar-separator=\"\"\n className=\"mx-1 h-5 w-px bg-[color:var(--fancy-border,var(--color-zinc-200))] dark:bg-[color:var(--fancy-border-dark,var(--color-zinc-700))]\"\n />\n );\n}\n\nEditorToolbarSeparator.displayName = \"EditorToolbarSeparator\";\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { CodeView } from \"../CodeView\";\nimport { useEditor } from \"./Editor.context\";\nimport { proseClasses, extensionEditorClasses } from \"./editor.utils\";\nimport type { EditorContentProps } from \"./Editor.types\";\n\nexport function EditorContent({ className, maxHeight, sourceClassName }: EditorContentProps) {\n const {\n contentRef,\n lineSpacing,\n placeholder,\n extensions,\n outputFormat,\n showSource,\n _initialHtml,\n _onInput,\n _sourceValue,\n _onSourceInput,\n } = useEditor();\n // Tracks which seed HTML is currently in the contentEditable. Seeding on the\n // seed VALUE (not a one-shot boolean) re-seeds when the source view rewrites\n // `value`, while still never re-seeding on plain keystrokes — typing leaves\n // `_initialHtml` untouched, so `seededHtml.current === _initialHtml` holds.\n const seededHtml = useRef<string | null>(null);\n\n useEffect(() => {\n // Source view replaces the contentEditable in the tree, so it unmounts.\n // Forget what we seeded — the div that returns is a fresh, empty one and\n // must always be re-seeded, even if `value` was left untouched.\n if (showSource) {\n seededHtml.current = null;\n return;\n }\n const el = contentRef.current;\n if (el && seededHtml.current !== _initialHtml) {\n el.innerHTML = _initialHtml;\n seededHtml.current = _initialHtml;\n }\n }, [contentRef, _initialHtml, showSource]);\n\n const extClasses = useMemo(\n () => extensionEditorClasses(extensions),\n [extensions],\n );\n\n if (showSource) {\n // Raw-source view — a syntax-highlighted code surface (HTML highlighted;\n // markdown/plain un-highlighted), built on the shared fancy-file-commons\n // primitives. It's a DIRECT child of the flex-column editor root (no\n // wrapper — a nested flex box collapses the fill), so `flex-auto` makes it\n // fill the editor body when height-constrained and grow with content\n // (≥ minHeight) when not. `maxHeight` caps + scrolls.\n return (\n <CodeView\n value={_sourceValue}\n onChange={_onSourceInput}\n language={outputFormat === \"html\" ? \"html\" : \"plaintext\"}\n placeholder={placeholder}\n maxHeight={maxHeight}\n className={cn(\"min-h-0 flex-auto\", sourceClassName)}\n />\n );\n }\n\n return (\n <div\n ref={contentRef}\n contentEditable\n suppressContentEditableWarning\n data-react-fancy-editor-content=\"\"\n data-placeholder={placeholder}\n onInput={_onInput}\n style={{\n lineHeight: lineSpacing,\n maxHeight: maxHeight ? `${maxHeight}px` : undefined,\n }}\n className={cn(\n \"min-h-[120px] flex-auto overflow-y-auto px-4 py-3 text-sm outline-none\",\n \"focus:outline-none\",\n proseClasses,\n extClasses,\n \"empty:before:content-[attr(data-placeholder)] empty:before:text-zinc-400 empty:before:pointer-events-none\",\n className,\n )}\n />\n );\n}\n\nEditorContent.displayName = \"EditorContent\";\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { marked } from \"marked\";\nimport { cn } from \"../../utils/cn\";\nimport { sanitizeHtml } from \"../../utils/sanitize\";\nimport { useControllableState } from \"../../hooks\";\nimport { EditorContext } from \"./Editor.context\";\nimport { EditorToolbar } from \"./EditorToolbar\";\nimport { EditorToolbarSeparator } from \"./EditorToolbarSeparator\";\nimport { EditorSourceToggle } from \"./EditorSourceToggle\";\nimport { EditorContent } from \"./EditorContent\";\nimport { htmlToMarkdown, detectFormat } from \"./editor.utils\";\nimport { mergeExtensions } from \"../ContentRenderer/extensions\";\nimport { ContentRenderer } from \"../ContentRenderer/ContentRenderer\";\nimport { useFieldMode } from \"../inputs/mode/FieldMode.context\";\nimport type { EditorProps } from \"./Editor.types\";\n\nfunction toHtml(\n value: string,\n outputFormat: \"html\" | \"markdown\",\n unsafe: boolean,\n valueFormat: \"markdown\" | \"html\" | \"auto\" = \"auto\",\n): string {\n if (!value) return \"\";\n const raw = (() => {\n // An explicit valueFormat is authoritative — the sniff misclassifies\n // markdown that merely MENTIONS HTML-ish snippets (`<code>`, `<table`),\n // collapsing it into an innerHTML wall of text (#10).\n const format =\n valueFormat !== \"auto\"\n ? valueFormat\n : outputFormat === \"html\"\n ? \"html\"\n : detectFormat(value);\n if (format === \"html\") return value;\n return (marked.parse(value, { async: false }) as string).trim();\n })();\n return unsafe ? raw : sanitizeHtml(raw);\n}\n\nfunction EditorRoot({\n children,\n className,\n value: controlledValue,\n defaultValue = \"\",\n onChange,\n outputFormat = \"html\",\n valueFormat = \"auto\",\n lineSpacing = 1.6,\n placeholder,\n mode: modeProp,\n extensions: instanceExtensions,\n unsafe = false,\n showSource: showSourceProp,\n defaultShowSource = false,\n onShowSourceChange,\n}: EditorProps) {\n const contentRef = useRef<HTMLDivElement | null>(null);\n const [value, setValue] = useControllableState(controlledValue, defaultValue, onChange);\n const [showSource, setShowSource] = useControllableState(\n showSourceProp,\n defaultShowSource,\n onShowSourceChange,\n );\n // View/edit mode — same resolution as the inputs: prop → <Form> context → \"edit\".\n const mode = useFieldMode(modeProp);\n const isView = mode === \"view\";\n\n // The value this editor last emitted through `onChange`. An incoming `value`\n // equal to it is our own keystroke echoing back; anything else came from\n // OUTSIDE — an async load, a host reset, a form repopulating.\n const lastEmitted = useRef<string | null>(null);\n\n // Bumped only on an external `value` change, so the seed memo below recomputes\n // for those and stays put while the user types. Without this, `value` was\n // excluded from the deps to avoid re-seeding on keystrokes, which also meant a\n // value arriving after mount was silently dropped and the editor stayed blank\n // forever (#15).\n const [externalSeed, setExternalSeed] = useState(0);\n useEffect(() => {\n if (value !== lastEmitted.current) setExternalSeed((n) => n + 1);\n }, [value]);\n\n const initialHtml = useMemo(\n () => toHtml(value, outputFormat, unsafe, valueFormat),\n // Seed the contentEditable from the LIVE value when (re)entering edit mode —\n // and when returning from the raw-source view, which may have rewritten the\n // value out from under the rich-text surface. `value` itself stays out of\n // the deps so typing never re-seeds (which would fight the caret);\n // `externalSeed` covers the externally-driven case instead.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isView, outputFormat, unsafe, valueFormat, showSource, externalSeed],\n );\n\n const extensions = useMemo(\n () => mergeExtensions(instanceExtensions),\n [instanceExtensions],\n );\n\n const getOutputValue = useCallback(\n (html: string): string => {\n return outputFormat === \"markdown\" ? htmlToMarkdown(html) : html;\n },\n [outputFormat],\n );\n\n const handleInput = useCallback(() => {\n const el = contentRef.current;\n if (!el) return;\n const next = getOutputValue(el.innerHTML);\n // Record what we emitted BEFORE publishing it, so the value coming back in\n // is recognised as our own and does not trigger a re-seed mid-keystroke.\n lastEmitted.current = next;\n setValue(next);\n }, [setValue, getOutputValue]);\n\n const exec = useCallback(\n (command: string, arg?: string) => {\n const el = contentRef.current;\n if (!el) return;\n el.focus();\n document.execCommand(command, false, arg);\n handleInput();\n },\n [handleInput],\n );\n\n const insertText = useCallback(\n (text: string) => {\n const el = contentRef.current;\n if (!el) return;\n el.focus();\n document.execCommand(\"insertText\", false, text);\n handleInput();\n },\n [handleInput],\n );\n\n // The source textarea edits `value` directly — it is already the canonical\n // source in `outputFormat` (html or markdown), so no conversion round-trip.\n const handleSourceInput = useCallback(\n (next: string) => {\n // Also an internal emission — record it so typing in the source view is\n // not mistaken for an external change on every keystroke.\n lastEmitted.current = next;\n setValue(next);\n },\n [setValue],\n );\n\n const wrapSelection = useCallback(\n (before: string, after: string) => {\n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n const selectedText = range.toString();\n const el = contentRef.current;\n if (!el) return;\n el.focus();\n document.execCommand(\"insertText\", false, `${before}${selectedText}${after}`);\n handleInput();\n },\n [handleInput],\n );\n\n const contextValue = {\n contentRef,\n exec,\n insertText,\n wrapSelection,\n outputFormat,\n lineSpacing,\n placeholder,\n extensions,\n showSource,\n setShowSource,\n _initialHtml: initialHtml,\n _onInput: handleInput,\n _sourceValue: value,\n _onSourceInput: handleSourceInput,\n };\n\n // View mode — render the value read-only through ContentRenderer, matching the\n // editor's own format (markdown/html), instead of the editable toolbar+content\n // tree. Driven by `mode` / a `<Form mode=\"view\">`, exactly like the inputs.\n if (isView) {\n return (\n <div\n data-react-fancy-editor=\"\"\n data-mode=\"view\"\n className={cn(\n \"overflow-hidden rounded-xl border border-[color:var(--fancy-border,var(--color-zinc-200))] bg-[color:var(--fancy-surface,var(--color-white))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\",\n className,\n )}\n >\n <ContentRenderer\n value={value}\n format={valueFormat !== \"auto\" ? valueFormat : outputFormat}\n lineSpacing={lineSpacing}\n extensions={instanceExtensions}\n unsafe={unsafe}\n className=\"px-4 py-3\"\n />\n </div>\n );\n }\n\n return (\n <EditorContext.Provider value={contextValue}>\n <div\n data-react-fancy-editor=\"\"\n data-mode=\"edit\"\n className={cn(\n \"flex flex-col overflow-hidden rounded-xl border border-[color:var(--fancy-border,var(--color-zinc-200))] bg-[color:var(--fancy-surface,var(--color-white))] dark:border-[color:var(--fancy-border-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\",\n className,\n )}\n >\n {children}\n </div>\n </EditorContext.Provider>\n );\n}\n\nconst ToolbarWithSeparator = Object.assign(EditorToolbar, {\n Separator: EditorToolbarSeparator,\n});\n\nexport const Editor = Object.assign(EditorRoot, {\n Toolbar: ToolbarWithSeparator,\n Content: EditorContent,\n SourceToggle: EditorSourceToggle,\n});\n"]}
@@ -1,6 +1,6 @@
1
- import { DisplayValue } from './chunk-KKWNKBKR.js';
2
- import { Field } from './chunk-5MU6X3KO.js';
3
- import { resolveOption } from './chunk-GFYSELJF.js';
1
+ import { DisplayValue } from './chunk-WX5XYDVN.js';
2
+ import { Field } from './chunk-5WQ6FPSP.js';
3
+ import { resolveOption } from './chunk-USWQAMI3.js';
4
4
  import { useInlineEdit } from './chunk-OL53XYHF.js';
5
5
  import { useFieldMode } from './chunk-NRXK42LO.js';
6
6
  import { useControllableState } from './chunk-EDYAXGUM.js';
@@ -78,7 +78,7 @@ function MultiSwitch({
78
78
  if (interactive && !e.currentTarget.contains(e.relatedTarget)) exitEdit();
79
79
  },
80
80
  className: cn(
81
- "relative inline-flex rounded-lg border border-zinc-300 bg-zinc-100 dark:border-zinc-700 dark:bg-zinc-800",
81
+ "relative inline-flex rounded-lg border border-[color:var(--fancy-border-strong,var(--color-zinc-300))] bg-[color:var(--fancy-surface-muted,var(--color-zinc-100))] dark:border-[color:var(--fancy-border-strong-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-surface-muted-dark,var(--color-zinc-800))]",
82
82
  dirty && "ring-2 ring-amber-400/50",
83
83
  error && "ring-2 ring-red-500/50",
84
84
  disabled && "opacity-50 cursor-not-allowed",
@@ -116,7 +116,7 @@ function MultiSwitch({
116
116
  className: cn(
117
117
  "relative z-10 font-medium transition-colors duration-200",
118
118
  sizeClasses[size],
119
- isSelected ? "text-white" : "text-zinc-600 hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100",
119
+ isSelected ? "text-white" : "text-zinc-600 hover:text-[color:var(--fancy-text,var(--color-zinc-900))] dark:text-zinc-400 dark:hover:text-[color:var(--fancy-text-dark,var(--color-zinc-100))]",
120
120
  (disabled || option.disabled) && "cursor-not-allowed"
121
121
  ),
122
122
  children: option.label
@@ -149,5 +149,5 @@ function MultiSwitch({
149
149
  MultiSwitch.displayName = "MultiSwitch";
150
150
 
151
151
  export { MultiSwitch };
152
- //# sourceMappingURL=chunk-NE3Z4AWP.js.map
153
- //# sourceMappingURL=chunk-NE3Z4AWP.js.map
152
+ //# sourceMappingURL=chunk-ZULMMW5W.js.map
153
+ //# sourceMappingURL=chunk-ZULMMW5W.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/inputs/MultiSwitch/MultiSwitch.tsx"],"names":[],"mappings":"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","file":"chunk-NE3Z4AWP.js","sourcesContent":["import { useRef, useState, useEffect, useCallback, 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 { resolveOption } from \"../inputs.utils\";\nimport type { Size } from \"../../../utils/types\";\nimport type { MultiSwitchProps } from \"./MultiSwitch.types\";\n\nconst sizeClasses: Record<Size, string> = {\n xs: \"px-2 py-1 text-xs\",\n sm: \"px-2.5 py-1.5 text-sm\",\n md: \"px-3 py-2 text-sm\",\n lg: \"px-4 py-2.5 text-base\",\n xl: \"px-5 py-3 text-lg\",\n};\n\nexport function MultiSwitch<V = string>({\n size = \"md\",\n dirty,\n error,\n label,\n labelHidden,\n description,\n required,\n disabled,\n className,\n id,\n name,\n list,\n value: controlledValue,\n defaultValue,\n onValueChange,\n linear,\n mode,\n ...rest\n}: MultiSwitchProps<V>) {\n const reactId = useId();\n // A `<label for>` cannot name a div[role=\"radiogroup\"], so the group points at\n // the label instead. Needs an id the label and the group both agree on.\n const labelId = label ? `${id ?? reactId}-label` : undefined;\n\n const resolvedOptions = list.map(resolveOption);\n const fallback = defaultValue ?? resolvedOptions[0]?.value;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n const [value, setValue] = useControllableState(controlledValue, fallback as V, onValueChange);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n const [indicator, setIndicator] = useState<{ left: number; width: number } | null>(null);\n\n const selectedIndex = resolvedOptions.findIndex(\n (o) => o.value === value,\n );\n\n const updateIndicator = useCallback(() => {\n const container = containerRef.current;\n const activeItem = itemRefs.current[selectedIndex];\n if (!container || !activeItem) {\n setIndicator(null);\n return;\n }\n const containerRect = container.getBoundingClientRect();\n const itemRect = activeItem.getBoundingClientRect();\n setIndicator({\n left: itemRect.left - containerRect.left,\n width: itemRect.width,\n });\n }, [selectedIndex]);\n\n useEffect(() => {\n updateIndicator();\n }, [updateIndicator]);\n\n const control = !showControl ? (\n <DisplayValue size={size} interactive={interactive} onActivate={enterEdit}>\n {resolvedOptions.find((o) => o.value === value)?.label}\n </DisplayValue>\n ) : (\n <div\n ref={containerRef}\n {...rest}\n data-react-fancy-multi-switch=\"\"\n role=\"radiogroup\"\n id={id}\n aria-labelledby={labelId}\n onBlur={(e) => {\n if (interactive && !e.currentTarget.contains(e.relatedTarget as Node)) exitEdit();\n }}\n className={cn(\n \"relative inline-flex rounded-lg border border-zinc-300 bg-zinc-100 dark:border-zinc-700 dark:bg-zinc-800\",\n dirty && \"ring-2 ring-amber-400/50\",\n error && \"ring-2 ring-red-500/50\",\n disabled && \"opacity-50 cursor-not-allowed\",\n className,\n )}\n >\n {indicator && (\n <span\n className=\"absolute top-0 bottom-0 rounded-lg bg-blue-600 transition-all duration-200 ease-out\"\n style={{ left: indicator.left, width: indicator.width }}\n />\n )}\n {resolvedOptions.map((option, index) => {\n const isSelected = option.value === value;\n return (\n <button\n key={String(option.value)}\n ref={(el) => { itemRefs.current[index] = el; }}\n type=\"button\"\n role=\"radio\"\n aria-checked={isSelected}\n disabled={disabled || option.disabled}\n autoFocus={interactive && (selectedIndex === -1 ? index === 0 : isSelected)}\n onClick={() => {\n if (linear) {\n const nextIndex = (selectedIndex + 1) % resolvedOptions.length;\n setValue(resolvedOptions[nextIndex].value as V);\n } else {\n setValue(option.value as V);\n }\n }}\n className={cn(\n \"relative z-10 font-medium transition-colors duration-200\",\n sizeClasses[size],\n isSelected\n ? \"text-white\"\n : \"text-zinc-600 hover:text-zinc-900 dark:text-zinc-400 dark:hover:text-zinc-100\",\n (disabled || option.disabled) && \"cursor-not-allowed\",\n )}\n >\n {option.label}\n </button>\n );\n })}\n {name && <input type=\"hidden\" name={name} value={String(value)} />}\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 htmlFor={id}\n size={size}\n >\n {control}\n </Field>\n );\n }\n\n return control;\n}\n\nMultiSwitch.displayName = \"MultiSwitch\";\n"]}
1
+ {"version":3,"sources":["../src/components/inputs/MultiSwitch/MultiSwitch.tsx"],"names":[],"mappings":"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","file":"chunk-ZULMMW5W.js","sourcesContent":["import { useRef, useState, useEffect, useCallback, 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 { resolveOption } from \"../inputs.utils\";\nimport type { Size } from \"../../../utils/types\";\nimport type { MultiSwitchProps } from \"./MultiSwitch.types\";\n\nconst sizeClasses: Record<Size, string> = {\n xs: \"px-2 py-1 text-xs\",\n sm: \"px-2.5 py-1.5 text-sm\",\n md: \"px-3 py-2 text-sm\",\n lg: \"px-4 py-2.5 text-base\",\n xl: \"px-5 py-3 text-lg\",\n};\n\nexport function MultiSwitch<V = string>({\n size = \"md\",\n dirty,\n error,\n label,\n labelHidden,\n description,\n required,\n disabled,\n className,\n id,\n name,\n list,\n value: controlledValue,\n defaultValue,\n onValueChange,\n linear,\n mode,\n ...rest\n}: MultiSwitchProps<V>) {\n const reactId = useId();\n // A `<label for>` cannot name a div[role=\"radiogroup\"], so the group points at\n // the label instead. Needs an id the label and the group both agree on.\n const labelId = label ? `${id ?? reactId}-label` : undefined;\n\n const resolvedOptions = list.map(resolveOption);\n const fallback = defaultValue ?? resolvedOptions[0]?.value;\n const resolvedMode = useFieldMode(mode);\n const { showControl, interactive, enterEdit, exitEdit } = useInlineEdit(resolvedMode, disabled);\n const [value, setValue] = useControllableState(controlledValue, fallback as V, onValueChange);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n const [indicator, setIndicator] = useState<{ left: number; width: number } | null>(null);\n\n const selectedIndex = resolvedOptions.findIndex(\n (o) => o.value === value,\n );\n\n const updateIndicator = useCallback(() => {\n const container = containerRef.current;\n const activeItem = itemRefs.current[selectedIndex];\n if (!container || !activeItem) {\n setIndicator(null);\n return;\n }\n const containerRect = container.getBoundingClientRect();\n const itemRect = activeItem.getBoundingClientRect();\n setIndicator({\n left: itemRect.left - containerRect.left,\n width: itemRect.width,\n });\n }, [selectedIndex]);\n\n useEffect(() => {\n updateIndicator();\n }, [updateIndicator]);\n\n const control = !showControl ? (\n <DisplayValue size={size} interactive={interactive} onActivate={enterEdit}>\n {resolvedOptions.find((o) => o.value === value)?.label}\n </DisplayValue>\n ) : (\n <div\n ref={containerRef}\n {...rest}\n data-react-fancy-multi-switch=\"\"\n role=\"radiogroup\"\n id={id}\n aria-labelledby={labelId}\n onBlur={(e) => {\n if (interactive && !e.currentTarget.contains(e.relatedTarget as Node)) exitEdit();\n }}\n className={cn(\n \"relative inline-flex rounded-lg border border-[color:var(--fancy-border-strong,var(--color-zinc-300))] bg-[color:var(--fancy-surface-muted,var(--color-zinc-100))] dark:border-[color:var(--fancy-border-strong-dark,var(--color-zinc-700))] dark:bg-[color:var(--fancy-surface-muted-dark,var(--color-zinc-800))]\",\n dirty && \"ring-2 ring-amber-400/50\",\n error && \"ring-2 ring-red-500/50\",\n disabled && \"opacity-50 cursor-not-allowed\",\n className,\n )}\n >\n {indicator && (\n <span\n className=\"absolute top-0 bottom-0 rounded-lg bg-blue-600 transition-all duration-200 ease-out\"\n style={{ left: indicator.left, width: indicator.width }}\n />\n )}\n {resolvedOptions.map((option, index) => {\n const isSelected = option.value === value;\n return (\n <button\n key={String(option.value)}\n ref={(el) => { itemRefs.current[index] = el; }}\n type=\"button\"\n role=\"radio\"\n aria-checked={isSelected}\n disabled={disabled || option.disabled}\n autoFocus={interactive && (selectedIndex === -1 ? index === 0 : isSelected)}\n onClick={() => {\n if (linear) {\n const nextIndex = (selectedIndex + 1) % resolvedOptions.length;\n setValue(resolvedOptions[nextIndex].value as V);\n } else {\n setValue(option.value as V);\n }\n }}\n className={cn(\n \"relative z-10 font-medium transition-colors duration-200\",\n sizeClasses[size],\n isSelected\n ? \"text-white\"\n : \"text-zinc-600 hover:text-[color:var(--fancy-text,var(--color-zinc-900))] dark:text-zinc-400 dark:hover:text-[color:var(--fancy-text-dark,var(--color-zinc-100))]\",\n (disabled || option.disabled) && \"cursor-not-allowed\",\n )}\n >\n {option.label}\n </button>\n );\n })}\n {name && <input type=\"hidden\" name={name} value={String(value)} />}\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 htmlFor={id}\n size={size}\n >\n {control}\n </Field>\n );\n }\n\n return control;\n}\n\nMultiSwitch.displayName = \"MultiSwitch\";\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('./chunk-XFBLUPKF.cjs');
4
- var chunkBVRPDMB7_cjs = require('./chunk-BVRPDMB7.cjs');
4
+ var chunkGKLETY7D_cjs = require('./chunk-GKLETY7D.cjs');
5
5
  require('./chunk-KJ22KE56.cjs');
6
6
  require('./chunk-L3V3BYVS.cjs');
7
7
  require('./chunk-SNHU2AI4.cjs');
@@ -11,7 +11,7 @@ require('./chunk-ZU5Q77OT.cjs');
11
11
 
12
12
  Object.defineProperty(exports, "ColorPicker", {
13
13
  enumerable: true,
14
- get: function () { return chunkBVRPDMB7_cjs.ColorPicker; }
14
+ get: function () { return chunkGKLETY7D_cjs.ColorPicker; }
15
15
  });
16
16
  //# sourceMappingURL=color-picker.cjs.map
17
17
  //# sourceMappingURL=color-picker.cjs.map
@@ -1,5 +1,5 @@
1
1
  import './chunk-J324MF75.js';
2
- export { ColorPicker } from './chunk-F2GAZZVS.js';
2
+ export { ColorPicker } from './chunk-SVSQXKFL.js';
3
3
  import './chunk-OL53XYHF.js';
4
4
  import './chunk-NRXK42LO.js';
5
5
  import './chunk-EDYAXGUM.js';
package/dist/command.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWBVWV2V7_cjs = require('./chunk-WBVWV2V7.cjs');
3
+ var chunkDN244T6G_cjs = require('./chunk-DN244T6G.cjs');
4
4
  require('./chunk-TXTRTTG7.cjs');
5
5
  require('./chunk-FQZE5N2N.cjs');
6
6
  require('./chunk-NBZC6LOB.cjs');
@@ -12,11 +12,11 @@ require('./chunk-ZU5Q77OT.cjs');
12
12
 
13
13
  Object.defineProperty(exports, "Command", {
14
14
  enumerable: true,
15
- get: function () { return chunkWBVWV2V7_cjs.Command; }
15
+ get: function () { return chunkDN244T6G_cjs.Command; }
16
16
  });
17
17
  Object.defineProperty(exports, "useCommand", {
18
18
  enumerable: true,
19
- get: function () { return chunkWBVWV2V7_cjs.useCommand; }
19
+ get: function () { return chunkDN244T6G_cjs.useCommand; }
20
20
  });
21
21
  //# sourceMappingURL=command.cjs.map
22
22
  //# sourceMappingURL=command.cjs.map
package/dist/command.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Command, useCommand } from './chunk-ZY4CVNNZ.js';
1
+ export { Command, useCommand } from './chunk-5JA4ENMF.js';
2
2
  import './chunk-5U2DZ7AV.js';
3
3
  import './chunk-3K2CEAI7.js';
4
4
  import './chunk-WHEXTDPV.js';
package/dist/composer.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkSYVOGYJG_cjs = require('./chunk-SYVOGYJG.cjs');
4
- var chunkR3UG6PVX_cjs = require('./chunk-R3UG6PVX.cjs');
5
- require('./chunk-WKNVZUWZ.cjs');
3
+ var chunk43ZRUYJC_cjs = require('./chunk-43ZRUYJC.cjs');
4
+ var chunk5JK2VDWY_cjs = require('./chunk-5JK2VDWY.cjs');
5
+ require('./chunk-UZG6LO4Z.cjs');
6
6
  require('./chunk-J2DI6RMR.cjs');
7
7
  require('./chunk-NBZC6LOB.cjs');
8
8
  require('./chunk-57FQGQJK.cjs');
@@ -14,11 +14,11 @@ require('./chunk-ZU5Q77OT.cjs');
14
14
 
15
15
  Object.defineProperty(exports, "Composer", {
16
16
  enumerable: true,
17
- get: function () { return chunkSYVOGYJG_cjs.Composer; }
17
+ get: function () { return chunk43ZRUYJC_cjs.Composer; }
18
18
  });
19
19
  Object.defineProperty(exports, "pasteMarker", {
20
20
  enumerable: true,
21
- get: function () { return chunkR3UG6PVX_cjs.pasteMarker; }
21
+ get: function () { return chunk5JK2VDWY_cjs.pasteMarker; }
22
22
  });
23
23
  //# sourceMappingURL=composer.cjs.map
24
24
  //# sourceMappingURL=composer.cjs.map
package/dist/composer.js CHANGED
@@ -1,6 +1,6 @@
1
- export { Composer } from './chunk-4NBM3LXN.js';
2
- export { pasteMarker } from './chunk-FYKOLKQZ.js';
3
- import './chunk-6KXAFP2T.js';
1
+ export { Composer } from './chunk-XB3H2EEL.js';
2
+ export { pasteMarker } from './chunk-M6XBF2ZS.js';
3
+ import './chunk-XYOT75HH.js';
4
4
  import './chunk-MQ6VGG62.js';
5
5
  import './chunk-WHEXTDPV.js';
6
6
  import './chunk-RGANGU7X.js';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('./chunk-S3TRSECD.cjs');
4
- var chunkMFQ5NBSV_cjs = require('./chunk-MFQ5NBSV.cjs');
4
+ var chunkQAKIG43N_cjs = require('./chunk-QAKIG43N.cjs');
5
5
  require('./chunk-X2FC7ODX.cjs');
6
6
  require('./chunk-ZU5Q77OT.cjs');
7
7
 
@@ -9,15 +9,15 @@ require('./chunk-ZU5Q77OT.cjs');
9
9
 
10
10
  Object.defineProperty(exports, "ContentRenderer", {
11
11
  enumerable: true,
12
- get: function () { return chunkMFQ5NBSV_cjs.ContentRenderer; }
12
+ get: function () { return chunkQAKIG43N_cjs.ContentRenderer; }
13
13
  });
14
14
  Object.defineProperty(exports, "registerExtension", {
15
15
  enumerable: true,
16
- get: function () { return chunkMFQ5NBSV_cjs.registerExtension; }
16
+ get: function () { return chunkQAKIG43N_cjs.registerExtension; }
17
17
  });
18
18
  Object.defineProperty(exports, "registerExtensions", {
19
19
  enumerable: true,
20
- get: function () { return chunkMFQ5NBSV_cjs.registerExtensions; }
20
+ get: function () { return chunkQAKIG43N_cjs.registerExtensions; }
21
21
  });
22
22
  //# sourceMappingURL=content-renderer.cjs.map
23
23
  //# sourceMappingURL=content-renderer.cjs.map
@@ -1,5 +1,5 @@
1
1
  import './chunk-AUTW5O4W.js';
2
- export { ContentRenderer, registerExtension, registerExtensions } from './chunk-K6EJLBBQ.js';
2
+ export { ContentRenderer, registerExtension, registerExtensions } from './chunk-N5XMBHX7.js';
3
3
  import './chunk-6TBRBN7H.js';
4
4
  import './chunk-MMW2JGKZ.js';
5
5
  //# sourceMappingURL=content-renderer.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkFVG3YXXM_cjs = require('./chunk-FVG3YXXM.cjs');
3
+ var chunkEEMNTO7L_cjs = require('./chunk-EEMNTO7L.cjs');
4
4
  require('./chunk-FQZE5N2N.cjs');
5
5
  require('./chunk-NBZC6LOB.cjs');
6
6
  require('./chunk-57FQGQJK.cjs');
@@ -11,11 +11,11 @@ require('./chunk-ZU5Q77OT.cjs');
11
11
 
12
12
  Object.defineProperty(exports, "ContextMenu", {
13
13
  enumerable: true,
14
- get: function () { return chunkFVG3YXXM_cjs.ContextMenu; }
14
+ get: function () { return chunkEEMNTO7L_cjs.ContextMenu; }
15
15
  });
16
16
  Object.defineProperty(exports, "useContextMenu", {
17
17
  enumerable: true,
18
- get: function () { return chunkFVG3YXXM_cjs.useContextMenu; }
18
+ get: function () { return chunkEEMNTO7L_cjs.useContextMenu; }
19
19
  });
20
20
  //# sourceMappingURL=context-menu.cjs.map
21
21
  //# sourceMappingURL=context-menu.cjs.map
@@ -1,4 +1,4 @@
1
- export { ContextMenu, useContextMenu } from './chunk-TT3K5D6J.js';
1
+ export { ContextMenu, useContextMenu } from './chunk-T67FLC55.js';
2
2
  import './chunk-3K2CEAI7.js';
3
3
  import './chunk-WHEXTDPV.js';
4
4
  import './chunk-RGANGU7X.js';
@@ -0,0 +1,3 @@
1
+ /* src/dark-variant.css */
2
+ @custom-variant dark (&:where(.dark, .dark *, [data-theme="dark"], [data-theme="dark"] *));
3
+ /*# sourceMappingURL=dark-variant.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dark-variant.css"],"sourcesContent":["/* @particle-academy/react-fancy — dark variant that follows the class OR the attribute.\n\n Import it in your Tailwind CSS, after tailwindcss and before your own rules:\n\n @import \"tailwindcss\";\n @import \"@particle-academy/react-fancy/dark-variant.css\";\n @import \"@particle-academy/react-fancy/styles.css\";\n\n It replaces the `dark` variant for your whole build, so every `dark:` utility\n -- the kit's, compiled from its dist, and your own -- applies under either\n `.dark` or `[data-theme=\"dark\"]` on an ancestor (or the element itself).\n\n Why a separate, opt-in file: the variant is defined in YOUR CSS, so\n react-fancy cannot change it from inside styles.css without overriding a\n choice you may have made on purpose (Tailwind's default follows\n `prefers-color-scheme`). If you already declare your own `@custom-variant\n dark`, keep it and add the attribute to it instead of importing this. */\n@custom-variant dark (&:where(.dark, .dark *, [data-theme=\"dark\"], [data-theme=\"dark\"] *));\n"],"mappings":";AAiBA,gBAAgB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ;","names":[]}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  require('./chunk-URTLYNZI.cjs');
4
- var chunkBZZDHDMK_cjs = require('./chunk-BZZDHDMK.cjs');
5
- require('./chunk-XKDW6B7X.cjs');
6
- require('./chunk-BBOIFV27.cjs');
7
- require('./chunk-YLGTDBB2.cjs');
4
+ var chunkTLRFXSPA_cjs = require('./chunk-TLRFXSPA.cjs');
5
+ require('./chunk-P53432AK.cjs');
6
+ require('./chunk-QF7CD4JH.cjs');
7
+ require('./chunk-O3F6DYWR.cjs');
8
8
  require('./chunk-KJ22KE56.cjs');
9
9
  require('./chunk-L3V3BYVS.cjs');
10
10
  require('./chunk-SNHU2AI4.cjs');
@@ -14,7 +14,7 @@ require('./chunk-ZU5Q77OT.cjs');
14
14
 
15
15
  Object.defineProperty(exports, "DatePicker", {
16
16
  enumerable: true,
17
- get: function () { return chunkBZZDHDMK_cjs.DatePicker; }
17
+ get: function () { return chunkTLRFXSPA_cjs.DatePicker; }
18
18
  });
19
19
  //# sourceMappingURL=date-picker.cjs.map
20
20
  //# sourceMappingURL=date-picker.cjs.map
@@ -1,8 +1,8 @@
1
1
  import './chunk-V4EARA4F.js';
2
- export { DatePicker } from './chunk-OC75GWX5.js';
3
- import './chunk-KKWNKBKR.js';
4
- import './chunk-5MU6X3KO.js';
5
- import './chunk-GFYSELJF.js';
2
+ export { DatePicker } from './chunk-2UTN3EFK.js';
3
+ import './chunk-WX5XYDVN.js';
4
+ import './chunk-5WQ6FPSP.js';
5
+ import './chunk-USWQAMI3.js';
6
6
  import './chunk-OL53XYHF.js';
7
7
  import './chunk-NRXK42LO.js';
8
8
  import './chunk-EDYAXGUM.js';
package/dist/drawer.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkGU5BYZTR_cjs = require('./chunk-GU5BYZTR.cjs');
3
+ var chunk5H6IUCOD_cjs = require('./chunk-5H6IUCOD.cjs');
4
4
  require('./chunk-TXTRTTG7.cjs');
5
5
  require('./chunk-FQZE5N2N.cjs');
6
6
  require('./chunk-NBZC6LOB.cjs');
@@ -11,11 +11,11 @@ require('./chunk-ZU5Q77OT.cjs');
11
11
 
12
12
  Object.defineProperty(exports, "Drawer", {
13
13
  enumerable: true,
14
- get: function () { return chunkGU5BYZTR_cjs.Drawer; }
14
+ get: function () { return chunk5H6IUCOD_cjs.Drawer; }
15
15
  });
16
16
  Object.defineProperty(exports, "useDrawer", {
17
17
  enumerable: true,
18
- get: function () { return chunkGU5BYZTR_cjs.useDrawer; }
18
+ get: function () { return chunk5H6IUCOD_cjs.useDrawer; }
19
19
  });
20
20
  //# sourceMappingURL=drawer.cjs.map
21
21
  //# sourceMappingURL=drawer.cjs.map
package/dist/drawer.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Drawer, useDrawer } from './chunk-PHDIQ4VC.js';
1
+ export { Drawer, useDrawer } from './chunk-YQTKTEWS.js';
2
2
  import './chunk-5U2DZ7AV.js';
3
3
  import './chunk-3K2CEAI7.js';
4
4
  import './chunk-WHEXTDPV.js';
package/dist/dropdown.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk23PAOCQQ_cjs = require('./chunk-23PAOCQQ.cjs');
3
+ var chunkEXQ33MJR_cjs = require('./chunk-EXQ33MJR.cjs');
4
4
  require('./chunk-FQZE5N2N.cjs');
5
5
  require('./chunk-J2DI6RMR.cjs');
6
6
  require('./chunk-NBZC6LOB.cjs');
@@ -12,11 +12,11 @@ require('./chunk-ZU5Q77OT.cjs');
12
12
 
13
13
  Object.defineProperty(exports, "Dropdown", {
14
14
  enumerable: true,
15
- get: function () { return chunk23PAOCQQ_cjs.Dropdown; }
15
+ get: function () { return chunkEXQ33MJR_cjs.Dropdown; }
16
16
  });
17
17
  Object.defineProperty(exports, "useDropdown", {
18
18
  enumerable: true,
19
- get: function () { return chunk23PAOCQQ_cjs.useDropdown; }
19
+ get: function () { return chunkEXQ33MJR_cjs.useDropdown; }
20
20
  });
21
21
  //# sourceMappingURL=dropdown.cjs.map
22
22
  //# sourceMappingURL=dropdown.cjs.map
package/dist/dropdown.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Dropdown, useDropdown } from './chunk-ENYHLZ2X.js';
1
+ export { Dropdown, useDropdown } from './chunk-WW56U3RV.js';
2
2
  import './chunk-3K2CEAI7.js';
3
3
  import './chunk-MQ6VGG62.js';
4
4
  import './chunk-WHEXTDPV.js';
package/dist/editor.cjs CHANGED
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var chunkM52IS5SO_cjs = require('./chunk-M52IS5SO.cjs');
4
- require('./chunk-HPNIEYSJ.cjs');
3
+ var chunkZKJLDBXA_cjs = require('./chunk-ZKJLDBXA.cjs');
4
+ require('./chunk-A2JUTNE6.cjs');
5
5
  require('./chunk-T6YELZPJ.cjs');
6
- require('./chunk-MFQ5NBSV.cjs');
6
+ require('./chunk-QAKIG43N.cjs');
7
7
  require('./chunk-G7227RTY.cjs');
8
8
  require('./chunk-TXTRTTG7.cjs');
9
9
  require('./chunk-FQZE5N2N.cjs');
10
- require('./chunk-X2FC7ODX.cjs');
11
10
  require('./chunk-L3V3BYVS.cjs');
12
11
  require('./chunk-J2DI6RMR.cjs');
13
12
  require('./chunk-57FQGQJK.cjs');
14
13
  require('./chunk-RXDRYWVD.cjs');
14
+ require('./chunk-X2FC7ODX.cjs');
15
15
  require('./chunk-SNHU2AI4.cjs');
16
16
  require('./chunk-ZU5Q77OT.cjs');
17
17
 
@@ -19,11 +19,11 @@ require('./chunk-ZU5Q77OT.cjs');
19
19
 
20
20
  Object.defineProperty(exports, "Editor", {
21
21
  enumerable: true,
22
- get: function () { return chunkM52IS5SO_cjs.Editor; }
22
+ get: function () { return chunkZKJLDBXA_cjs.Editor; }
23
23
  });
24
24
  Object.defineProperty(exports, "useEditor", {
25
25
  enumerable: true,
26
- get: function () { return chunkM52IS5SO_cjs.useEditor; }
26
+ get: function () { return chunkZKJLDBXA_cjs.useEditor; }
27
27
  });
28
28
  //# sourceMappingURL=editor.cjs.map
29
29
  //# sourceMappingURL=editor.cjs.map
package/dist/editor.js CHANGED
@@ -1,15 +1,15 @@
1
- export { Editor, useEditor } from './chunk-PCTZNK2Z.js';
2
- import './chunk-FWCREAIT.js';
1
+ export { Editor, useEditor } from './chunk-3NIXNJ3I.js';
2
+ import './chunk-2BXMMVQS.js';
3
3
  import './chunk-CPY7NHXM.js';
4
- import './chunk-K6EJLBBQ.js';
4
+ import './chunk-N5XMBHX7.js';
5
5
  import './chunk-FBWUXSKH.js';
6
6
  import './chunk-5U2DZ7AV.js';
7
7
  import './chunk-3K2CEAI7.js';
8
- import './chunk-6TBRBN7H.js';
9
8
  import './chunk-NRXK42LO.js';
10
9
  import './chunk-MQ6VGG62.js';
11
10
  import './chunk-RGANGU7X.js';
12
11
  import './chunk-JXE5XID6.js';
12
+ import './chunk-6TBRBN7H.js';
13
13
  import './chunk-EDYAXGUM.js';
14
14
  import './chunk-MMW2JGKZ.js';
15
15
  //# sourceMappingURL=editor.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWIS4QRGK_cjs = require('./chunk-WIS4QRGK.cjs');
3
+ var chunkV5JTTLJP_cjs = require('./chunk-V5JTTLJP.cjs');
4
4
  require('./chunk-XCZZVRBY.cjs');
5
5
  require('./chunk-SNHU2AI4.cjs');
6
6
  require('./chunk-ZU5Q77OT.cjs');
@@ -9,7 +9,7 @@ require('./chunk-ZU5Q77OT.cjs');
9
9
 
10
10
  Object.defineProperty(exports, "EmojiSelect", {
11
11
  enumerable: true,
12
- get: function () { return chunkWIS4QRGK_cjs.EmojiSelect; }
12
+ get: function () { return chunkV5JTTLJP_cjs.EmojiSelect; }
13
13
  });
14
14
  //# sourceMappingURL=emoji-select.cjs.map
15
15
  //# sourceMappingURL=emoji-select.cjs.map
@@ -1,4 +1,4 @@
1
- export { EmojiSelect } from './chunk-VYHZEQIG.js';
1
+ export { EmojiSelect } from './chunk-WGRLNXNB.js';
2
2
  import './chunk-45BBNJQD.js';
3
3
  import './chunk-EDYAXGUM.js';
4
4
  import './chunk-MMW2JGKZ.js';
package/dist/eyebrow.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkVGBZWDMM_cjs = require('./chunk-VGBZWDMM.cjs');
3
+ var chunkLIVC3WUU_cjs = require('./chunk-LIVC3WUU.cjs');
4
4
  require('./chunk-ZU5Q77OT.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Eyebrow", {
9
9
  enumerable: true,
10
- get: function () { return chunkVGBZWDMM_cjs.Eyebrow; }
10
+ get: function () { return chunkLIVC3WUU_cjs.Eyebrow; }
11
11
  });
12
12
  //# sourceMappingURL=eyebrow.cjs.map
13
13
  //# sourceMappingURL=eyebrow.cjs.map
package/dist/eyebrow.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Eyebrow } from './chunk-Y4UPKJN5.js';
1
+ export { Eyebrow } from './chunk-EQ7G5F6K.js';
2
2
  import './chunk-MMW2JGKZ.js';
3
3
  //# sourceMappingURL=eyebrow.js.map
4
4
  //# sourceMappingURL=eyebrow.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkRU6ZTA4M_cjs = require('./chunk-RU6ZTA4M.cjs');
3
+ var chunkM5SEYDSS_cjs = require('./chunk-M5SEYDSS.cjs');
4
4
  require('./chunk-SNHU2AI4.cjs');
5
5
  require('./chunk-ZU5Q77OT.cjs');
6
6
 
@@ -8,7 +8,7 @@ require('./chunk-ZU5Q77OT.cjs');
8
8
 
9
9
  Object.defineProperty(exports, "FauxClient", {
10
10
  enumerable: true,
11
- get: function () { return chunkRU6ZTA4M_cjs.FauxClient; }
11
+ get: function () { return chunkM5SEYDSS_cjs.FauxClient; }
12
12
  });
13
13
  //# sourceMappingURL=faux-client.cjs.map
14
14
  //# sourceMappingURL=faux-client.cjs.map
@@ -1,4 +1,4 @@
1
- export { FauxClient } from './chunk-XZUGREDI.js';
1
+ export { FauxClient } from './chunk-GVMWJ4NI.js';
2
2
  import './chunk-EDYAXGUM.js';
3
3
  import './chunk-MMW2JGKZ.js';
4
4
  //# sourceMappingURL=faux-client.js.map
package/dist/field.cjs CHANGED
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkBBOIFV27_cjs = require('./chunk-BBOIFV27.cjs');
4
- require('./chunk-YLGTDBB2.cjs');
3
+ var chunkQF7CD4JH_cjs = require('./chunk-QF7CD4JH.cjs');
4
+ require('./chunk-O3F6DYWR.cjs');
5
5
  require('./chunk-ZU5Q77OT.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "Field", {
10
10
  enumerable: true,
11
- get: function () { return chunkBBOIFV27_cjs.Field; }
11
+ get: function () { return chunkQF7CD4JH_cjs.Field; }
12
12
  });
13
13
  //# sourceMappingURL=field.cjs.map
14
14
  //# sourceMappingURL=field.cjs.map
package/dist/field.js CHANGED
@@ -1,5 +1,5 @@
1
- export { Field } from './chunk-5MU6X3KO.js';
2
- import './chunk-GFYSELJF.js';
1
+ export { Field } from './chunk-5WQ6FPSP.js';
2
+ import './chunk-USWQAMI3.js';
3
3
  import './chunk-MMW2JGKZ.js';
4
4
  //# sourceMappingURL=field.js.map
5
5
  //# sourceMappingURL=field.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkT45XK5GN_cjs = require('./chunk-T45XK5GN.cjs');
3
+ var chunkG5DMYAWL_cjs = require('./chunk-G5DMYAWL.cjs');
4
4
  require('./chunk-SNHU2AI4.cjs');
5
5
  require('./chunk-ZU5Q77OT.cjs');
6
6
 
@@ -8,19 +8,19 @@ require('./chunk-ZU5Q77OT.cjs');
8
8
 
9
9
  Object.defineProperty(exports, "FileBrowser", {
10
10
  enumerable: true,
11
- get: function () { return chunkT45XK5GN_cjs.FileBrowser; }
11
+ get: function () { return chunkG5DMYAWL_cjs.FileBrowser; }
12
12
  });
13
13
  Object.defineProperty(exports, "FileBrowserNewFolder", {
14
14
  enumerable: true,
15
- get: function () { return chunkT45XK5GN_cjs.FileBrowserNewFolder; }
15
+ get: function () { return chunkG5DMYAWL_cjs.FileBrowserNewFolder; }
16
16
  });
17
17
  Object.defineProperty(exports, "useFileBrowser", {
18
18
  enumerable: true,
19
- get: function () { return chunkT45XK5GN_cjs.useFileBrowser; }
19
+ get: function () { return chunkG5DMYAWL_cjs.useFileBrowser; }
20
20
  });
21
21
  Object.defineProperty(exports, "validateFolderName", {
22
22
  enumerable: true,
23
- get: function () { return chunkT45XK5GN_cjs.validateFolderName; }
23
+ get: function () { return chunkG5DMYAWL_cjs.validateFolderName; }
24
24
  });
25
25
  //# sourceMappingURL=file-browser.cjs.map
26
26
  //# sourceMappingURL=file-browser.cjs.map
@@ -1,4 +1,4 @@
1
- export { FileBrowser, FileBrowserNewFolder, useFileBrowser, validateFolderName } from './chunk-2KAJ4L7C.js';
1
+ export { FileBrowser, FileBrowserNewFolder, useFileBrowser, validateFolderName } from './chunk-XS3EIQFP.js';
2
2
  import './chunk-EDYAXGUM.js';
3
3
  import './chunk-MMW2JGKZ.js';
4
4
  //# sourceMappingURL=file-browser.js.map