@mieweb/ui 0.10.0-dev.31 → 0.10.0-dev.33

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 (493) hide show
  1. package/dist/CsvBlock-CFXSDPBI.js +9 -0
  2. package/dist/{CsvBlock-VLMG7GUO.js.map → CsvBlock-CFXSDPBI.js.map} +1 -1
  3. package/dist/CsvBlock-RGO7JXHJ.cjs +18 -0
  4. package/dist/{CsvBlock-FX5YNGNE.cjs.map → CsvBlock-RGO7JXHJ.cjs.map} +1 -1
  5. package/dist/HtmlPreviewBlock-VBYXCXVT.cjs +18 -0
  6. package/dist/{HtmlPreviewBlock-UO37JQ3K.cjs.map → HtmlPreviewBlock-VBYXCXVT.cjs.map} +1 -1
  7. package/dist/HtmlPreviewBlock-Z2GCK325.js +9 -0
  8. package/dist/{HtmlPreviewBlock-5JE7L3GR.js.map → HtmlPreviewBlock-Z2GCK325.js.map} +1 -1
  9. package/dist/MermaidBlock-I2R2BQOX.cjs +18 -0
  10. package/dist/{MermaidBlock-RZ75RPZA.cjs.map → MermaidBlock-I2R2BQOX.cjs.map} +1 -1
  11. package/dist/MermaidBlock-XCAK7IA5.js +9 -0
  12. package/dist/{MermaidBlock-3XHFBAMV.js.map → MermaidBlock-XCAK7IA5.js.map} +1 -1
  13. package/dist/SurveyBlock-KI5JOWCL.js +9 -0
  14. package/dist/{SurveyBlock-MUVJ3JUI.js.map → SurveyBlock-KI5JOWCL.js.map} +1 -1
  15. package/dist/SurveyBlock-UKSGISRT.cjs +18 -0
  16. package/dist/{SurveyBlock-VH47YXZC.cjs.map → SurveyBlock-UKSGISRT.cjs.map} +1 -1
  17. package/dist/brands/index.cjs +7 -7
  18. package/dist/brands/index.js +2 -2
  19. package/dist/{chunk-6ZPTZTKN.js → chunk-24AFHH4J.js} +3 -3
  20. package/dist/{chunk-6ZPTZTKN.js.map → chunk-24AFHH4J.js.map} +1 -1
  21. package/dist/{chunk-BNH4SXJB.js → chunk-2X54ZLT6.js} +6 -6
  22. package/dist/{chunk-BNH4SXJB.js.map → chunk-2X54ZLT6.js.map} +1 -1
  23. package/dist/{chunk-TYE5K5WV.cjs → chunk-32ZCJOSR.cjs} +4 -4
  24. package/dist/{chunk-TYE5K5WV.cjs.map → chunk-32ZCJOSR.cjs.map} +1 -1
  25. package/dist/chunk-47P5QLX4.cjs +42 -0
  26. package/dist/chunk-47P5QLX4.cjs.map +1 -0
  27. package/dist/chunk-4ZB7RSMY.cjs +306 -0
  28. package/dist/chunk-4ZB7RSMY.cjs.map +1 -0
  29. package/dist/chunk-56VTM4OX.js +261 -0
  30. package/dist/chunk-56VTM4OX.js.map +1 -0
  31. package/dist/{chunk-D22GE27K.js → chunk-5A4SL436.js} +4 -4
  32. package/dist/{chunk-D22GE27K.js.map → chunk-5A4SL436.js.map} +1 -1
  33. package/dist/chunk-6BNZLN4B.cjs +548 -0
  34. package/dist/chunk-6BNZLN4B.cjs.map +1 -0
  35. package/dist/chunk-6JSFT2J5.js +130 -0
  36. package/dist/chunk-6JSFT2J5.js.map +1 -0
  37. package/dist/chunk-6N7NMOSV.js +233 -0
  38. package/dist/chunk-6N7NMOSV.js.map +1 -0
  39. package/dist/chunk-6TTCZY3P.cjs +4 -0
  40. package/dist/chunk-6TTCZY3P.cjs.map +1 -0
  41. package/dist/{chunk-TTSSUOEV.cjs → chunk-7C5W744U.cjs} +8 -8
  42. package/dist/{chunk-TTSSUOEV.cjs.map → chunk-7C5W744U.cjs.map} +1 -1
  43. package/dist/chunk-7HUTR6RX.js +178 -0
  44. package/dist/chunk-7HUTR6RX.js.map +1 -0
  45. package/dist/chunk-7IRTD4JT.cjs +61 -0
  46. package/dist/chunk-7IRTD4JT.cjs.map +1 -0
  47. package/dist/{chunk-YU55JD35.js → chunk-7QW6TU4X.js} +3 -3
  48. package/dist/{chunk-YU55JD35.js.map → chunk-7QW6TU4X.js.map} +1 -1
  49. package/dist/chunk-7WJ6MBF5.cjs +47 -0
  50. package/dist/chunk-7WJ6MBF5.cjs.map +1 -0
  51. package/dist/chunk-A4W5CSK7.cjs +216 -0
  52. package/dist/chunk-A4W5CSK7.cjs.map +1 -0
  53. package/dist/{chunk-WXFGHDTV.cjs → chunk-AJPFQF3H.cjs} +18 -18
  54. package/dist/{chunk-WXFGHDTV.cjs.map → chunk-AJPFQF3H.cjs.map} +1 -1
  55. package/dist/chunk-AMYFRY7K.js +3 -0
  56. package/dist/chunk-AMYFRY7K.js.map +1 -0
  57. package/dist/{chunk-X6A27RGO.cjs → chunk-ANMX7YDL.cjs} +2 -2
  58. package/dist/{chunk-X6A27RGO.cjs.map → chunk-ANMX7YDL.cjs.map} +1 -1
  59. package/dist/{chunk-DVOQ3JNO.js → chunk-B4CKCNWD.js} +16 -8
  60. package/dist/chunk-B4CKCNWD.js.map +1 -0
  61. package/dist/chunk-BJ6ABRSQ.cjs +256 -0
  62. package/dist/chunk-BJ6ABRSQ.cjs.map +1 -0
  63. package/dist/chunk-BXRQ6HEP.cjs +4 -0
  64. package/dist/chunk-BXRQ6HEP.cjs.map +1 -0
  65. package/dist/{chunk-TJCX4OML.cjs → chunk-C77FAR3F.cjs} +2 -2
  66. package/dist/{chunk-TJCX4OML.cjs.map → chunk-C77FAR3F.cjs.map} +1 -1
  67. package/dist/chunk-CBBKWRLG.js +213 -0
  68. package/dist/chunk-CBBKWRLG.js.map +1 -0
  69. package/dist/{chunk-ZTMYKAVU.cjs → chunk-CCAVJSWL.cjs} +49 -48
  70. package/dist/chunk-CCAVJSWL.cjs.map +1 -0
  71. package/dist/chunk-CPDNX3LS.cjs +47 -0
  72. package/dist/chunk-CPDNX3LS.cjs.map +1 -0
  73. package/dist/chunk-CVNPNZMX.js +44 -0
  74. package/dist/chunk-CVNPNZMX.js.map +1 -0
  75. package/dist/chunk-DHGCLPFZ.js +91 -0
  76. package/dist/chunk-DHGCLPFZ.js.map +1 -0
  77. package/dist/chunk-DO2YN46R.cjs +201 -0
  78. package/dist/chunk-DO2YN46R.cjs.map +1 -0
  79. package/dist/chunk-DVDT7TX7.js +151 -0
  80. package/dist/chunk-DVDT7TX7.js.map +1 -0
  81. package/dist/{chunk-R5Z7AOVU.cjs → chunk-DZ3JTMKM.cjs} +9 -9
  82. package/dist/{chunk-R5Z7AOVU.cjs.map → chunk-DZ3JTMKM.cjs.map} +1 -1
  83. package/dist/chunk-EACNRR3C.cjs +4 -0
  84. package/dist/chunk-EACNRR3C.cjs.map +1 -0
  85. package/dist/{chunk-E2PBPQGS.js → chunk-EEOGIGIA.js} +2 -2
  86. package/dist/{chunk-E2PBPQGS.js.map → chunk-EEOGIGIA.js.map} +1 -1
  87. package/dist/chunk-EPCUPHEO.js +193 -0
  88. package/dist/chunk-EPCUPHEO.js.map +1 -0
  89. package/dist/chunk-EPTP3VKT.js +283 -0
  90. package/dist/chunk-EPTP3VKT.js.map +1 -0
  91. package/dist/{chunk-HIZWOAWY.cjs → chunk-ERACGSDY.cjs} +8 -8
  92. package/dist/{chunk-HIZWOAWY.cjs.map → chunk-ERACGSDY.cjs.map} +1 -1
  93. package/dist/{chunk-VOQJHSXN.cjs → chunk-F2FOG4EG.cjs} +9 -9
  94. package/dist/{chunk-VOQJHSXN.cjs.map → chunk-F2FOG4EG.cjs.map} +1 -1
  95. package/dist/{chunk-GBUVIGD5.js → chunk-F3EWRDIT.js} +99 -3
  96. package/dist/chunk-F3EWRDIT.js.map +1 -0
  97. package/dist/{chunk-GVLNXPJX.js → chunk-FGLIP6YR.js} +4 -4
  98. package/dist/{chunk-GVLNXPJX.js.map → chunk-FGLIP6YR.js.map} +1 -1
  99. package/dist/chunk-FKGFOBC2.js +314 -0
  100. package/dist/chunk-FKGFOBC2.js.map +1 -0
  101. package/dist/chunk-FSGJXCBG.cjs +318 -0
  102. package/dist/chunk-FSGJXCBG.cjs.map +1 -0
  103. package/dist/chunk-FTEZNCRI.js +29 -0
  104. package/dist/chunk-FTEZNCRI.js.map +1 -0
  105. package/dist/{chunk-COM7RNZU.cjs → chunk-FYQZWLAM.cjs} +2 -2
  106. package/dist/{chunk-COM7RNZU.cjs.map → chunk-FYQZWLAM.cjs.map} +1 -1
  107. package/dist/{chunk-YVPC65ZJ.cjs → chunk-GF2BE4FB.cjs} +91 -32
  108. package/dist/chunk-GF2BE4FB.cjs.map +1 -0
  109. package/dist/{chunk-JEIW7BSV.cjs → chunk-GKDHMNUA.cjs} +2 -52
  110. package/dist/chunk-GKDHMNUA.cjs.map +1 -0
  111. package/dist/{chunk-N7C4OEP7.cjs → chunk-GM32IDVL.cjs} +6 -6
  112. package/dist/{chunk-N7C4OEP7.cjs.map → chunk-GM32IDVL.cjs.map} +1 -1
  113. package/dist/chunk-GY5SP4ST.js +3 -0
  114. package/dist/chunk-GY5SP4ST.js.map +1 -0
  115. package/dist/chunk-H2Y7HZV5.js +3 -0
  116. package/dist/chunk-H2Y7HZV5.js.map +1 -0
  117. package/dist/chunk-H3QPREIJ.js +195 -0
  118. package/dist/chunk-H3QPREIJ.js.map +1 -0
  119. package/dist/{chunk-QOVJ6Z6R.js → chunk-HDY7YQFX.js} +3 -3
  120. package/dist/{chunk-QOVJ6Z6R.js.map → chunk-HDY7YQFX.js.map} +1 -1
  121. package/dist/chunk-HNFFFFYH.cjs +114 -0
  122. package/dist/chunk-HNFFFFYH.cjs.map +1 -0
  123. package/dist/chunk-HNXLLDPN.js +25 -0
  124. package/dist/chunk-HNXLLDPN.js.map +1 -0
  125. package/dist/chunk-I2MMUFCN.cjs +154 -0
  126. package/dist/chunk-I2MMUFCN.cjs.map +1 -0
  127. package/dist/{chunk-GYXUS65N.cjs → chunk-IGDO62KR.cjs} +5 -5
  128. package/dist/{chunk-GYXUS65N.cjs.map → chunk-IGDO62KR.cjs.map} +1 -1
  129. package/dist/{chunk-HC3NAN55.cjs → chunk-IPL2O2OL.cjs} +19 -19
  130. package/dist/{chunk-HC3NAN55.cjs.map → chunk-IPL2O2OL.cjs.map} +1 -1
  131. package/dist/chunk-ISUIKUX7.cjs +337 -0
  132. package/dist/chunk-ISUIKUX7.cjs.map +1 -0
  133. package/dist/{chunk-N5O47VGS.cjs → chunk-IVGI353O.cjs} +2 -2
  134. package/dist/{chunk-N5O47VGS.cjs.map → chunk-IVGI353O.cjs.map} +1 -1
  135. package/dist/chunk-IWRBJHO3.cjs +51 -0
  136. package/dist/chunk-IWRBJHO3.cjs.map +1 -0
  137. package/dist/{chunk-BIQ7GSO2.js → chunk-JMAZ2GKT.js} +3 -3
  138. package/dist/{chunk-BIQ7GSO2.js.map → chunk-JMAZ2GKT.js.map} +1 -1
  139. package/dist/{chunk-KRU6IGV7.js → chunk-JUJGWUAN.js} +28 -6
  140. package/dist/chunk-JUJGWUAN.js.map +1 -0
  141. package/dist/{chunk-BUT6MF5K.cjs → chunk-KQ6GLYFZ.cjs} +4 -4
  142. package/dist/{chunk-BUT6MF5K.cjs.map → chunk-KQ6GLYFZ.cjs.map} +1 -1
  143. package/dist/chunk-L6K4PRZK.cjs +4 -0
  144. package/dist/chunk-L6K4PRZK.cjs.map +1 -0
  145. package/dist/{chunk-T4L7Q5FA.cjs → chunk-LC3JL2HB.cjs} +6 -2
  146. package/dist/chunk-LC3JL2HB.cjs.map +1 -0
  147. package/dist/{chunk-P7UMS4E6.cjs → chunk-LC7PVBXH.cjs} +16 -8
  148. package/dist/chunk-LC7PVBXH.cjs.map +1 -0
  149. package/dist/chunk-LRRSD7LR.js +248 -0
  150. package/dist/chunk-LRRSD7LR.js.map +1 -0
  151. package/dist/chunk-LSMS6DY7.cjs +331 -0
  152. package/dist/chunk-LSMS6DY7.cjs.map +1 -0
  153. package/dist/chunk-M3VPGJMV.js +283 -0
  154. package/dist/chunk-M3VPGJMV.js.map +1 -0
  155. package/dist/{chunk-QURJVPRH.cjs → chunk-MJJJDQ5P.cjs} +46 -2
  156. package/dist/chunk-MJJJDQ5P.cjs.map +1 -0
  157. package/dist/{chunk-2JICT4A2.js → chunk-N54FYWG6.js} +3 -3
  158. package/dist/{chunk-2JICT4A2.js.map → chunk-N54FYWG6.js.map} +1 -1
  159. package/dist/chunk-N5JDL4VE.js +3 -0
  160. package/dist/chunk-N5JDL4VE.js.map +1 -0
  161. package/dist/{chunk-KGKBZN3T.cjs → chunk-NAH65KPK.cjs} +8 -8
  162. package/dist/{chunk-KGKBZN3T.cjs.map → chunk-NAH65KPK.cjs.map} +1 -1
  163. package/dist/{chunk-NKV76R65.cjs → chunk-O6BJMVGT.cjs} +45 -45
  164. package/dist/{chunk-NKV76R65.cjs.map → chunk-O6BJMVGT.cjs.map} +1 -1
  165. package/dist/{chunk-SVSHA7XV.js → chunk-O6XDA3SI.js} +31 -33
  166. package/dist/chunk-O6XDA3SI.js.map +1 -0
  167. package/dist/chunk-OIF34LEN.cjs +425 -0
  168. package/dist/chunk-OIF34LEN.cjs.map +1 -0
  169. package/dist/chunk-ORCCJ5VY.cjs +218 -0
  170. package/dist/chunk-ORCCJ5VY.cjs.map +1 -0
  171. package/dist/{chunk-CRS2CQWM.js → chunk-OSTSZDQC.js} +3 -3
  172. package/dist/{chunk-CRS2CQWM.js.map → chunk-OSTSZDQC.js.map} +1 -1
  173. package/dist/chunk-P22YCUVM.cjs +4 -0
  174. package/dist/chunk-P22YCUVM.cjs.map +1 -0
  175. package/dist/chunk-P55LNEDH.cjs +306 -0
  176. package/dist/chunk-P55LNEDH.cjs.map +1 -0
  177. package/dist/{chunk-R6KPWIGO.js → chunk-P7D7BYFE.js} +4 -4
  178. package/dist/{chunk-R6KPWIGO.js.map → chunk-P7D7BYFE.js.map} +1 -1
  179. package/dist/{chunk-GU5OS7JJ.cjs → chunk-PYI2IWNX.cjs} +4 -4
  180. package/dist/{chunk-GU5OS7JJ.cjs.map → chunk-PYI2IWNX.cjs.map} +1 -1
  181. package/dist/chunk-Q3YVLO52.cjs +174 -0
  182. package/dist/chunk-Q3YVLO52.cjs.map +1 -0
  183. package/dist/{chunk-K34DXMLZ.js → chunk-QJ2L5RU6.js} +7 -7
  184. package/dist/{chunk-K34DXMLZ.js.map → chunk-QJ2L5RU6.js.map} +1 -1
  185. package/dist/{chunk-X4LBUPJO.cjs → chunk-QX6AAVDE.cjs} +31 -33
  186. package/dist/chunk-QX6AAVDE.cjs.map +1 -0
  187. package/dist/{chunk-LFPJ3OUM.cjs → chunk-RIUQP2QS.cjs} +5 -5
  188. package/dist/{chunk-LFPJ3OUM.cjs.map → chunk-RIUQP2QS.cjs.map} +1 -1
  189. package/dist/{chunk-JHG3ELS2.js → chunk-RPFATYUI.js} +2 -2
  190. package/dist/{chunk-JHG3ELS2.js.map → chunk-RPFATYUI.js.map} +1 -1
  191. package/dist/{chunk-FZURBQJ2.js → chunk-RSJGTWLM.js} +3 -3
  192. package/dist/{chunk-FZURBQJ2.js.map → chunk-RSJGTWLM.js.map} +1 -1
  193. package/dist/{chunk-XBTKZCZF.js → chunk-RZSSQ7AT.js} +3 -3
  194. package/dist/{chunk-XBTKZCZF.js.map → chunk-RZSSQ7AT.js.map} +1 -1
  195. package/dist/{chunk-SD7ONW6S.js → chunk-S2JZL4JC.js} +5 -5
  196. package/dist/{chunk-SD7ONW6S.js.map → chunk-S2JZL4JC.js.map} +1 -1
  197. package/dist/{chunk-VROIMIHB.cjs → chunk-SHBCUXFS.cjs} +28 -6
  198. package/dist/chunk-SHBCUXFS.cjs.map +1 -0
  199. package/dist/{chunk-JELTRRR5.cjs → chunk-SW2E7XKY.cjs} +9 -9
  200. package/dist/{chunk-JELTRRR5.cjs.map → chunk-SW2E7XKY.cjs.map} +1 -1
  201. package/dist/chunk-SZSRGUVO.js +402 -0
  202. package/dist/chunk-SZSRGUVO.js.map +1 -0
  203. package/dist/{chunk-HZ4MBUC3.js → chunk-TI3TQQ7F.js} +4 -53
  204. package/dist/chunk-TI3TQQ7F.js.map +1 -0
  205. package/dist/{chunk-MLAWXPRY.js → chunk-TKWNXAFI.js} +46 -2
  206. package/dist/chunk-TKWNXAFI.js.map +1 -0
  207. package/dist/{chunk-H2IAMSHK.js → chunk-TVEJKKIM.js} +3 -3
  208. package/dist/{chunk-H2IAMSHK.js.map → chunk-TVEJKKIM.js.map} +1 -1
  209. package/dist/{chunk-LHBWRMNC.cjs → chunk-TVU4KB27.cjs} +130 -12
  210. package/dist/chunk-TVU4KB27.cjs.map +1 -0
  211. package/dist/{chunk-ENMXHZNE.js → chunk-TWQSMUE6.js} +6 -2
  212. package/dist/chunk-TWQSMUE6.js.map +1 -0
  213. package/dist/{chunk-ZYL4SNOR.js → chunk-UJDWFDKE.js} +3 -3
  214. package/dist/{chunk-ZYL4SNOR.js.map → chunk-UJDWFDKE.js.map} +1 -1
  215. package/dist/{chunk-4HC2IBOX.js → chunk-UNFDIBKJ.js} +3 -3
  216. package/dist/{chunk-4HC2IBOX.js.map → chunk-UNFDIBKJ.js.map} +1 -1
  217. package/dist/chunk-UTIPENPW.cjs +286 -0
  218. package/dist/chunk-UTIPENPW.cjs.map +1 -0
  219. package/dist/{chunk-IYWG72DM.js → chunk-VEE46VTX.js} +4 -4
  220. package/dist/{chunk-IYWG72DM.js.map → chunk-VEE46VTX.js.map} +1 -1
  221. package/dist/{chunk-Y4E2WRUR.cjs → chunk-VFFV7EMT.cjs} +6 -6
  222. package/dist/{chunk-Y4E2WRUR.cjs.map → chunk-VFFV7EMT.cjs.map} +1 -1
  223. package/dist/chunk-VNEAQCY2.js +308 -0
  224. package/dist/chunk-VNEAQCY2.js.map +1 -0
  225. package/dist/chunk-VOYLX32A.cjs +271 -0
  226. package/dist/chunk-VOYLX32A.cjs.map +1 -0
  227. package/dist/{chunk-7ZV67VZE.js → chunk-VSRO4PAI.js} +21 -3
  228. package/dist/chunk-VSRO4PAI.js.map +1 -0
  229. package/dist/{chunk-L6MDULYB.js → chunk-VU3ZMJBN.js} +2 -2
  230. package/dist/{chunk-L6MDULYB.js.map → chunk-VU3ZMJBN.js.map} +1 -1
  231. package/dist/{chunk-CPPUT74P.cjs → chunk-VV2U36T6.cjs} +9 -9
  232. package/dist/{chunk-CPPUT74P.cjs.map → chunk-VV2U36T6.cjs.map} +1 -1
  233. package/dist/{chunk-35Y4ILCU.cjs → chunk-VXW7D5LR.cjs} +21 -3
  234. package/dist/chunk-VXW7D5LR.cjs.map +1 -0
  235. package/dist/{chunk-7YO7DNUV.js → chunk-WFBUBT54.js} +2 -2
  236. package/dist/{chunk-7YO7DNUV.js.map → chunk-WFBUBT54.js.map} +1 -1
  237. package/dist/chunk-WQHBMZSC.js +295 -0
  238. package/dist/chunk-WQHBMZSC.js.map +1 -0
  239. package/dist/chunk-X5JOEZVR.js +525 -0
  240. package/dist/chunk-X5JOEZVR.js.map +1 -0
  241. package/dist/chunk-XBAAHOCP.js +3 -0
  242. package/dist/chunk-XBAAHOCP.js.map +1 -0
  243. package/dist/chunk-XNPDZANN.cjs +238 -0
  244. package/dist/chunk-XNPDZANN.cjs.map +1 -0
  245. package/dist/chunk-XXA4NZUC.js +3 -0
  246. package/dist/chunk-XXA4NZUC.js.map +1 -0
  247. package/dist/chunk-Y424YL55.js +59 -0
  248. package/dist/chunk-Y424YL55.js.map +1 -0
  249. package/dist/chunk-YGS2TRMP.js +38 -0
  250. package/dist/chunk-YGS2TRMP.js.map +1 -0
  251. package/dist/{chunk-JBIGSP2T.js → chunk-YMILRSRO.js} +6 -5
  252. package/dist/chunk-YMILRSRO.js.map +1 -0
  253. package/dist/chunk-YUMOM3KE.js +167 -0
  254. package/dist/chunk-YUMOM3KE.js.map +1 -0
  255. package/dist/{chunk-3KPDQG5O.cjs → chunk-ZG6FXMDX.cjs} +5 -5
  256. package/dist/{chunk-3KPDQG5O.cjs.map → chunk-ZG6FXMDX.cjs.map} +1 -1
  257. package/dist/chunk-ZNUMOJOI.cjs +4 -0
  258. package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
  259. package/dist/components/Accordion/index.cjs +2 -2
  260. package/dist/components/Accordion/index.d.cts +6 -0
  261. package/dist/components/Accordion/index.d.ts +6 -0
  262. package/dist/components/Accordion/index.js +1 -1
  263. package/dist/components/ActionPlan/index.cjs +34 -0
  264. package/dist/components/ActionPlan/index.cjs.map +1 -0
  265. package/dist/components/ActionPlan/index.d.cts +65 -0
  266. package/dist/components/ActionPlan/index.d.ts +65 -0
  267. package/dist/components/ActionPlan/index.js +21 -0
  268. package/dist/components/ActionPlan/index.js.map +1 -0
  269. package/dist/components/ActivityFeed/index.cjs +31 -0
  270. package/dist/components/ActivityFeed/index.cjs.map +1 -0
  271. package/dist/components/ActivityFeed/index.d.cts +99 -0
  272. package/dist/components/ActivityFeed/index.d.ts +99 -0
  273. package/dist/components/ActivityFeed/index.js +18 -0
  274. package/dist/components/ActivityFeed/index.js.map +1 -0
  275. package/dist/components/AlertDialog/index.cjs +17 -4
  276. package/dist/components/AlertDialog/index.d.cts +66 -13
  277. package/dist/components/AlertDialog/index.d.ts +66 -13
  278. package/dist/components/AlertDialog/index.js +4 -3
  279. package/dist/components/AssociationList/index.cjs +29 -0
  280. package/dist/components/AssociationList/index.cjs.map +1 -0
  281. package/dist/components/AssociationList/index.d.cts +50 -0
  282. package/dist/components/AssociationList/index.d.ts +50 -0
  283. package/dist/components/AssociationList/index.js +16 -0
  284. package/dist/components/AssociationList/index.js.map +1 -0
  285. package/dist/components/Avatar/index.cjs +9 -7
  286. package/dist/components/Avatar/index.d.cts +45 -14
  287. package/dist/components/Avatar/index.d.ts +45 -14
  288. package/dist/components/Avatar/index.js +3 -1
  289. package/dist/components/AvatarGroup/index.cjs +20 -0
  290. package/dist/components/AvatarGroup/index.cjs.map +1 -0
  291. package/dist/components/AvatarGroup/index.d.cts +57 -0
  292. package/dist/components/AvatarGroup/index.d.ts +57 -0
  293. package/dist/components/AvatarGroup/index.js +7 -0
  294. package/dist/components/AvatarGroup/index.js.map +1 -0
  295. package/dist/components/Button/index.cjs +3 -2
  296. package/dist/components/Button/index.js +2 -1
  297. package/dist/components/CalendarHeatmap/index.cjs +18 -0
  298. package/dist/components/CalendarHeatmap/index.cjs.map +1 -0
  299. package/dist/components/CalendarHeatmap/index.d.cts +47 -0
  300. package/dist/components/CalendarHeatmap/index.d.ts +47 -0
  301. package/dist/components/CalendarHeatmap/index.js +5 -0
  302. package/dist/components/CalendarHeatmap/index.js.map +1 -0
  303. package/dist/components/CalendarView/index.cjs +5 -4
  304. package/dist/components/CalendarView/index.js +3 -2
  305. package/dist/components/ClampedText/index.cjs +3 -2
  306. package/dist/components/ClampedText/index.js +2 -1
  307. package/dist/components/CollabStatus/index.cjs +6 -4
  308. package/dist/components/CollabStatus/index.d.cts +11 -0
  309. package/dist/components/CollabStatus/index.d.ts +11 -0
  310. package/dist/components/CollabStatus/index.js +3 -1
  311. package/dist/components/Collapsible/index.cjs +4 -4
  312. package/dist/components/Collapsible/index.d.cts +6 -0
  313. package/dist/components/Collapsible/index.d.ts +6 -0
  314. package/dist/components/Collapsible/index.js +1 -1
  315. package/dist/components/CompletenessMeter/index.cjs +22 -0
  316. package/dist/components/CompletenessMeter/index.cjs.map +1 -0
  317. package/dist/components/CompletenessMeter/index.d.cts +52 -0
  318. package/dist/components/CompletenessMeter/index.d.ts +52 -0
  319. package/dist/components/CompletenessMeter/index.js +5 -0
  320. package/dist/components/CompletenessMeter/index.js.map +1 -0
  321. package/dist/components/CustomizableDashboard/index.cjs +10 -9
  322. package/dist/components/CustomizableDashboard/index.js +3 -2
  323. package/dist/components/DateInput/index.d.cts +36 -4
  324. package/dist/components/DateInput/index.d.ts +36 -4
  325. package/dist/components/Dropdown/index.cjs +9 -8
  326. package/dist/components/Dropdown/index.js +2 -1
  327. package/dist/components/FieldHistory/index.cjs +34 -0
  328. package/dist/components/FieldHistory/index.cjs.map +1 -0
  329. package/dist/components/FieldHistory/index.d.cts +66 -0
  330. package/dist/components/FieldHistory/index.d.ts +66 -0
  331. package/dist/components/FieldHistory/index.js +21 -0
  332. package/dist/components/FieldHistory/index.js.map +1 -0
  333. package/dist/components/FloatingWindow/index.cjs +5 -4
  334. package/dist/components/FloatingWindow/index.js +3 -2
  335. package/dist/components/InlineEdit/index.cjs +20 -0
  336. package/dist/components/InlineEdit/index.cjs.map +1 -0
  337. package/dist/components/InlineEdit/index.d.cts +56 -0
  338. package/dist/components/InlineEdit/index.d.ts +56 -0
  339. package/dist/components/InlineEdit/index.js +7 -0
  340. package/dist/components/InlineEdit/index.js.map +1 -0
  341. package/dist/components/KeyboardShortcutsOverlay/index.cjs +4 -4
  342. package/dist/components/KeyboardShortcutsOverlay/index.js +2 -2
  343. package/dist/components/ListView/index.cjs +5 -4
  344. package/dist/components/ListView/index.js +3 -2
  345. package/dist/components/LogoUploader/index.cjs +18 -0
  346. package/dist/components/LogoUploader/index.cjs.map +1 -0
  347. package/dist/components/LogoUploader/index.d.cts +49 -0
  348. package/dist/components/LogoUploader/index.d.ts +49 -0
  349. package/dist/components/LogoUploader/index.js +5 -0
  350. package/dist/components/LogoUploader/index.js.map +1 -0
  351. package/dist/components/Markdown/index.cjs +17 -16
  352. package/dist/components/Markdown/index.js +8 -7
  353. package/dist/components/MediaEditor/index.cjs +10 -9
  354. package/dist/components/MediaEditor/index.js +5 -4
  355. package/dist/components/MediaFeed/index.cjs +9 -6
  356. package/dist/components/MediaFeed/index.js +8 -5
  357. package/dist/components/MediaPlayer/index.cjs +6 -5
  358. package/dist/components/MediaPlayer/index.js +3 -2
  359. package/dist/components/MegaMenu/index.cjs +2 -1
  360. package/dist/components/MegaMenu/index.js +2 -1
  361. package/dist/components/Modal/index.cjs +9 -9
  362. package/dist/components/Modal/index.js +1 -1
  363. package/dist/components/PhiMask/index.cjs +18 -0
  364. package/dist/components/PhiMask/index.cjs.map +1 -0
  365. package/dist/components/PhiMask/index.d.cts +45 -0
  366. package/dist/components/PhiMask/index.d.ts +45 -0
  367. package/dist/components/PhiMask/index.js +5 -0
  368. package/dist/components/PhiMask/index.js.map +1 -0
  369. package/dist/components/PhoneInput/index.d.cts +3 -36
  370. package/dist/components/PhoneInput/index.d.ts +3 -36
  371. package/dist/components/PropertyList/index.cjs +25 -0
  372. package/dist/components/PropertyList/index.cjs.map +1 -0
  373. package/dist/components/PropertyList/index.d.cts +71 -0
  374. package/dist/components/PropertyList/index.d.ts +71 -0
  375. package/dist/components/PropertyList/index.js +12 -0
  376. package/dist/components/PropertyList/index.js.map +1 -0
  377. package/dist/components/RadialExplorer/index.cjs +2 -1
  378. package/dist/components/RadialExplorer/index.js +2 -1
  379. package/dist/components/Rating/index.cjs +28 -0
  380. package/dist/components/Rating/index.cjs.map +1 -0
  381. package/dist/components/Rating/index.d.cts +85 -0
  382. package/dist/components/Rating/index.d.ts +85 -0
  383. package/dist/components/Rating/index.js +7 -0
  384. package/dist/components/Rating/index.js.map +1 -0
  385. package/dist/components/RecordHeader/index.cjs +29 -0
  386. package/dist/components/RecordHeader/index.cjs.map +1 -0
  387. package/dist/components/RecordHeader/index.d.cts +86 -0
  388. package/dist/components/RecordHeader/index.d.ts +86 -0
  389. package/dist/components/RecordHeader/index.js +16 -0
  390. package/dist/components/RecordHeader/index.js.map +1 -0
  391. package/dist/components/RecordLayout/index.cjs +21 -0
  392. package/dist/components/RecordLayout/index.cjs.map +1 -0
  393. package/dist/components/RecordLayout/index.d.cts +40 -0
  394. package/dist/components/RecordLayout/index.d.ts +40 -0
  395. package/dist/components/RecordLayout/index.js +8 -0
  396. package/dist/components/RecordLayout/index.js.map +1 -0
  397. package/dist/components/RichTextEditor/index.cjs +8 -6
  398. package/dist/components/RichTextEditor/index.js +5 -3
  399. package/dist/components/SectionSpyNav/index.cjs +2 -1
  400. package/dist/components/SectionSpyNav/index.js +2 -1
  401. package/dist/components/SuperChat/index.cjs +23 -19
  402. package/dist/components/SuperChat/index.cjs.map +1 -1
  403. package/dist/components/SuperChat/index.js +11 -7
  404. package/dist/components/SuperChat/index.js.map +1 -1
  405. package/dist/components/SuperChat/plugins/index.cjs +5 -4
  406. package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
  407. package/dist/components/SuperChat/plugins/index.js +4 -3
  408. package/dist/components/SuperChat/plugins/index.js.map +1 -1
  409. package/dist/components/Tabs/index.cjs +9 -7
  410. package/dist/components/Tabs/index.d.cts +12 -1
  411. package/dist/components/Tabs/index.d.ts +12 -1
  412. package/dist/components/Tabs/index.js +3 -1
  413. package/dist/components/TagEditor/index.cjs +20 -0
  414. package/dist/components/TagEditor/index.cjs.map +1 -0
  415. package/dist/components/TagEditor/index.d.cts +46 -0
  416. package/dist/components/TagEditor/index.d.ts +46 -0
  417. package/dist/components/TagEditor/index.js +7 -0
  418. package/dist/components/TagEditor/index.js.map +1 -0
  419. package/dist/components/UserPicker/index.cjs +24 -0
  420. package/dist/components/UserPicker/index.cjs.map +1 -0
  421. package/dist/components/UserPicker/index.d.cts +60 -0
  422. package/dist/components/UserPicker/index.d.ts +60 -0
  423. package/dist/components/UserPicker/index.js +11 -0
  424. package/dist/components/UserPicker/index.js.map +1 -0
  425. package/dist/components/ViewSet/index.cjs +6 -5
  426. package/dist/components/ViewSet/index.d.cts +2 -1
  427. package/dist/components/ViewSet/index.d.ts +2 -1
  428. package/dist/components/ViewSet/index.js +5 -4
  429. package/dist/components/ViewSwitcher/index.d.cts +39 -4
  430. package/dist/components/ViewSwitcher/index.d.ts +39 -4
  431. package/dist/datavis.cjs +3 -2
  432. package/dist/datavis.cjs.map +1 -1
  433. package/dist/datavis.js +2 -1
  434. package/dist/datavis.js.map +1 -1
  435. package/dist/esheet.cjs +9 -7
  436. package/dist/esheet.cjs.map +1 -1
  437. package/dist/esheet.js +6 -4
  438. package/dist/esheet.js.map +1 -1
  439. package/dist/hooks/index.cjs +53 -27
  440. package/dist/hooks/index.d.cts +91 -6
  441. package/dist/hooks/index.d.ts +91 -6
  442. package/dist/hooks/index.js +5 -3
  443. package/dist/index.cjs +1391 -847
  444. package/dist/index.cjs.map +1 -1
  445. package/dist/index.d.cts +1253 -168
  446. package/dist/index.d.ts +1253 -168
  447. package/dist/index.js +539 -171
  448. package/dist/index.js.map +1 -1
  449. package/dist/org-chart.cjs +1302 -0
  450. package/dist/org-chart.cjs.map +1 -0
  451. package/dist/org-chart.d.cts +164 -0
  452. package/dist/org-chart.d.ts +164 -0
  453. package/dist/org-chart.js +1277 -0
  454. package/dist/org-chart.js.map +1 -0
  455. package/dist/styles.css +1 -1
  456. package/dist/tailwind-preset.cjs +4 -4
  457. package/dist/tailwind-preset.js +1 -1
  458. package/dist/{index-DoYYWsNc.d.cts → types-CDeBNZiE.d.cts} +1 -36
  459. package/dist/{index-DoYYWsNc.d.ts → types-CDeBNZiE.d.ts} +1 -36
  460. package/package.json +22 -2
  461. package/dist/CsvBlock-FX5YNGNE.cjs +0 -17
  462. package/dist/CsvBlock-VLMG7GUO.js +0 -8
  463. package/dist/HtmlPreviewBlock-5JE7L3GR.js +0 -8
  464. package/dist/HtmlPreviewBlock-UO37JQ3K.cjs +0 -17
  465. package/dist/MermaidBlock-3XHFBAMV.js +0 -8
  466. package/dist/MermaidBlock-RZ75RPZA.cjs +0 -17
  467. package/dist/SurveyBlock-MUVJ3JUI.js +0 -8
  468. package/dist/SurveyBlock-VH47YXZC.cjs +0 -17
  469. package/dist/chunk-35Y4ILCU.cjs.map +0 -1
  470. package/dist/chunk-6N6LIAUJ.cjs +0 -80
  471. package/dist/chunk-6N6LIAUJ.cjs.map +0 -1
  472. package/dist/chunk-7ZV67VZE.js.map +0 -1
  473. package/dist/chunk-7ZVTLTJF.js +0 -109
  474. package/dist/chunk-7ZVTLTJF.js.map +0 -1
  475. package/dist/chunk-DVOQ3JNO.js.map +0 -1
  476. package/dist/chunk-ENMXHZNE.js.map +0 -1
  477. package/dist/chunk-GBUVIGD5.js.map +0 -1
  478. package/dist/chunk-HZ4MBUC3.js.map +0 -1
  479. package/dist/chunk-JBIGSP2T.js.map +0 -1
  480. package/dist/chunk-JEIW7BSV.cjs.map +0 -1
  481. package/dist/chunk-KRU6IGV7.js.map +0 -1
  482. package/dist/chunk-LHBWRMNC.cjs.map +0 -1
  483. package/dist/chunk-MLAWXPRY.js.map +0 -1
  484. package/dist/chunk-P7UMS4E6.cjs.map +0 -1
  485. package/dist/chunk-QURJVPRH.cjs.map +0 -1
  486. package/dist/chunk-SVSHA7XV.js.map +0 -1
  487. package/dist/chunk-T4L7Q5FA.cjs.map +0 -1
  488. package/dist/chunk-UBSH27C2.js +0 -78
  489. package/dist/chunk-UBSH27C2.js.map +0 -1
  490. package/dist/chunk-VROIMIHB.cjs.map +0 -1
  491. package/dist/chunk-X4LBUPJO.cjs.map +0 -1
  492. package/dist/chunk-YVPC65ZJ.cjs.map +0 -1
  493. package/dist/chunk-ZTMYKAVU.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkX6A27RGO_cjs = require('./chunk-X6A27RGO.cjs');
3
+ var chunkANMX7YDL_cjs = require('./chunk-ANMX7YDL.cjs');
4
4
  var lucideReact = require('lucide-react');
5
5
  var react = require('react');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -56,7 +56,7 @@ var FenceBlock = ({
56
56
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
57
57
  headerActions,
58
58
  supportsRawView && /* @__PURE__ */ jsxRuntime.jsx(
59
- chunkX6A27RGO_cjs.Button,
59
+ chunkANMX7YDL_cjs.Button,
60
60
  {
61
61
  variant: "ghost",
62
62
  size: "sm",
@@ -67,7 +67,7 @@ var FenceBlock = ({
67
67
  }
68
68
  ),
69
69
  /* @__PURE__ */ jsxRuntime.jsx(
70
- chunkX6A27RGO_cjs.Button,
70
+ chunkANMX7YDL_cjs.Button,
71
71
  {
72
72
  variant: "ghost",
73
73
  size: "sm",
@@ -96,5 +96,5 @@ var FenceBlock = ({
96
96
  };
97
97
 
98
98
  exports.FenceBlock = FenceBlock;
99
- //# sourceMappingURL=chunk-LFPJ3OUM.cjs.map
100
- //# sourceMappingURL=chunk-LFPJ3OUM.cjs.map
99
+ //# sourceMappingURL=chunk-RIUQP2QS.cjs.map
100
+ //# sourceMappingURL=chunk-RIUQP2QS.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Markdown/FenceBlock.tsx"],"names":["useState","useRef","useEffect","useCallback","jsxs","jsx","Button","Eye","Code","Check","ClipboardCopy"],"mappings":"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","file":"chunk-LFPJ3OUM.cjs","sourcesContent":["/**\n * FenceBlock — Base wrapper for code blocks with copy, raw view toggle, and errors.\n */\nimport { Check, ClipboardCopy, Code, Eye } from 'lucide-react';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '../Button';\n\nexport interface FenceBlockProps {\n code: string;\n language?: string;\n supportsRawView?: boolean;\n error?: string;\n children: React.ReactNode;\n /** Extra buttons rendered in the header before the copy button */\n headerActions?: React.ReactNode;\n}\n\ntype CopyState = 'idle' | 'copying' | 'success' | 'error';\n\nexport const FenceBlock: React.FC<FenceBlockProps> = ({\n code,\n language,\n supportsRawView = false,\n error,\n children,\n headerActions,\n}) => {\n const [copyState, setCopyState] = useState<CopyState>('idle');\n const [showRaw, setShowRaw] = useState(false);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(\n () => () => {\n if (timerRef.current) clearTimeout(timerRef.current);\n },\n []\n );\n\n const scheduleReset = useCallback(() => {\n if (timerRef.current) clearTimeout(timerRef.current);\n timerRef.current = setTimeout(() => setCopyState('idle'), 2000);\n }, []);\n\n const handleCopy = useCallback(async () => {\n if (copyState === 'copying') return;\n setCopyState('copying');\n try {\n await navigator.clipboard.writeText(code);\n setCopyState('success');\n scheduleReset();\n } catch {\n try {\n const textarea = document.createElement('textarea');\n textarea.value = code;\n textarea.style.position = 'fixed';\n textarea.style.opacity = '0';\n document.body.appendChild(textarea);\n textarea.select();\n document.execCommand('copy');\n document.body.removeChild(textarea);\n setCopyState('success');\n } catch {\n setCopyState('error');\n }\n scheduleReset();\n }\n }, [code, copyState, scheduleReset]);\n\n return (\n <div className=\"group relative my-3 overflow-hidden rounded-lg border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-[#1a1d24]\">\n <div className=\"flex items-center justify-between border-b border-neutral-200 px-3 py-1.5 dark:border-white/[0.08]\">\n <span className=\"text-xs font-medium text-neutral-500 dark:text-neutral-400\">\n {language\n ? language.charAt(0).toUpperCase() + language.slice(1)\n : 'Text'}\n </span>\n <div className=\"flex items-center gap-1\">\n {headerActions}\n {supportsRawView && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setShowRaw((v) => !v)}\n aria-label={showRaw ? 'Show rendered view' : 'Show raw code'}\n className=\"h-7 w-7 p-0\"\n >\n {showRaw ? (\n <Eye className=\"h-3.5 w-3.5\" />\n ) : (\n <Code className=\"h-3.5 w-3.5\" />\n )}\n </Button>\n )}\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleCopy}\n aria-label=\"Copy code\"\n className=\"h-7 w-7 p-0\"\n >\n {copyState === 'success' ? (\n <Check className=\"h-3.5 w-3.5 text-green-500\" />\n ) : (\n <ClipboardCopy className=\"h-3.5 w-3.5\" />\n )}\n </Button>\n </div>\n </div>\n\n {error ? (\n <div className=\"p-3\">\n <div className=\"rounded-md bg-red-50 p-3 text-sm text-red-800 dark:bg-red-900/20 dark:text-red-300\">\n {error}\n </div>\n <pre className=\"mt-2 overflow-x-auto text-xs whitespace-pre-wrap text-neutral-600 dark:text-neutral-400\">\n <code>{code}</code>\n </pre>\n </div>\n ) : showRaw ? (\n <pre\n className=\"overflow-x-auto p-3 text-sm\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- scrollable code needs keyboard focus (axe: scrollable-region-focusable)\n tabIndex={0}\n role=\"region\"\n aria-label=\"Raw code\"\n >\n <code>{code}</code>\n </pre>\n ) : (\n <div className=\"overflow-x-auto\">{children}</div>\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/components/Markdown/FenceBlock.tsx"],"names":["useState","useRef","useEffect","useCallback","jsxs","jsx","Button","Eye","Code","Check","ClipboardCopy"],"mappings":"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","file":"chunk-RIUQP2QS.cjs","sourcesContent":["/**\n * FenceBlock — Base wrapper for code blocks with copy, raw view toggle, and errors.\n */\nimport { Check, ClipboardCopy, Code, Eye } from 'lucide-react';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '../Button';\n\nexport interface FenceBlockProps {\n code: string;\n language?: string;\n supportsRawView?: boolean;\n error?: string;\n children: React.ReactNode;\n /** Extra buttons rendered in the header before the copy button */\n headerActions?: React.ReactNode;\n}\n\ntype CopyState = 'idle' | 'copying' | 'success' | 'error';\n\nexport const FenceBlock: React.FC<FenceBlockProps> = ({\n code,\n language,\n supportsRawView = false,\n error,\n children,\n headerActions,\n}) => {\n const [copyState, setCopyState] = useState<CopyState>('idle');\n const [showRaw, setShowRaw] = useState(false);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(\n () => () => {\n if (timerRef.current) clearTimeout(timerRef.current);\n },\n []\n );\n\n const scheduleReset = useCallback(() => {\n if (timerRef.current) clearTimeout(timerRef.current);\n timerRef.current = setTimeout(() => setCopyState('idle'), 2000);\n }, []);\n\n const handleCopy = useCallback(async () => {\n if (copyState === 'copying') return;\n setCopyState('copying');\n try {\n await navigator.clipboard.writeText(code);\n setCopyState('success');\n scheduleReset();\n } catch {\n try {\n const textarea = document.createElement('textarea');\n textarea.value = code;\n textarea.style.position = 'fixed';\n textarea.style.opacity = '0';\n document.body.appendChild(textarea);\n textarea.select();\n document.execCommand('copy');\n document.body.removeChild(textarea);\n setCopyState('success');\n } catch {\n setCopyState('error');\n }\n scheduleReset();\n }\n }, [code, copyState, scheduleReset]);\n\n return (\n <div className=\"group relative my-3 overflow-hidden rounded-lg border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-[#1a1d24]\">\n <div className=\"flex items-center justify-between border-b border-neutral-200 px-3 py-1.5 dark:border-white/[0.08]\">\n <span className=\"text-xs font-medium text-neutral-500 dark:text-neutral-400\">\n {language\n ? language.charAt(0).toUpperCase() + language.slice(1)\n : 'Text'}\n </span>\n <div className=\"flex items-center gap-1\">\n {headerActions}\n {supportsRawView && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setShowRaw((v) => !v)}\n aria-label={showRaw ? 'Show rendered view' : 'Show raw code'}\n className=\"h-7 w-7 p-0\"\n >\n {showRaw ? (\n <Eye className=\"h-3.5 w-3.5\" />\n ) : (\n <Code className=\"h-3.5 w-3.5\" />\n )}\n </Button>\n )}\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleCopy}\n aria-label=\"Copy code\"\n className=\"h-7 w-7 p-0\"\n >\n {copyState === 'success' ? (\n <Check className=\"h-3.5 w-3.5 text-green-500\" />\n ) : (\n <ClipboardCopy className=\"h-3.5 w-3.5\" />\n )}\n </Button>\n </div>\n </div>\n\n {error ? (\n <div className=\"p-3\">\n <div className=\"rounded-md bg-red-50 p-3 text-sm text-red-800 dark:bg-red-900/20 dark:text-red-300\">\n {error}\n </div>\n <pre className=\"mt-2 overflow-x-auto text-xs whitespace-pre-wrap text-neutral-600 dark:text-neutral-400\">\n <code>{code}</code>\n </pre>\n </div>\n ) : showRaw ? (\n <pre\n className=\"overflow-x-auto p-3 text-sm\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- scrollable code needs keyboard focus (axe: scrollable-region-focusable)\n tabIndex={0}\n role=\"region\"\n aria-label=\"Raw code\"\n >\n <code>{code}</code>\n </pre>\n ) : (\n <div className=\"overflow-x-auto\">{children}</div>\n )}\n </div>\n );\n};\n"]}
@@ -11,5 +11,5 @@ var brands = {
11
11
  };
12
12
 
13
13
  export { brands };
14
- //# sourceMappingURL=chunk-JHG3ELS2.js.map
15
- //# sourceMappingURL=chunk-JHG3ELS2.js.map
14
+ //# sourceMappingURL=chunk-RPFATYUI.js.map
15
+ //# sourceMappingURL=chunk-RPFATYUI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/brands/index.ts"],"names":[],"mappings":";AAkCO,IAAM,MAAA,GAAS;AAAA,EACpB,QAAA,EAAU,MAAM,OAAO,sBAAY,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,CAAA;AAAA,EAChE,IAAA,EAAM,MAAM,OAAO,kBAAQ,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,SAAS,CAAA;AAAA,EACpD,OAAA,EAAS,MAAM,OAAO,uBAAW,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,YAAY,CAAA;AAAA,EAC7D,mBAAA,EAAqB,MACnB,OAAO,iCAAqB,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,qBAAqB,CAAA;AAAA,EACnE,MAAA,EAAQ,MAAM,OAAO,sBAAU,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,CAAA;AAAA,EAC1D,MAAA,EAAQ,MAAM,OAAO,oBAAU,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,CAAA;AAAA,EAC1D,UAAA,EAAY,MAAM,OAAO,0BAAc,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,eAAe,CAAA;AAAA,EACtE,QAAA,EAAU,MAAM,OAAO,wBAAY,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa;AAClE","file":"chunk-JHG3ELS2.js","sourcesContent":["/**\n * @mieweb/ui Brand System\n *\n * Export all brand-related types, utilities, and configurations.\n */\n\n// Types and utilities\nexport type {\n BrandConfig,\n BrandColors,\n BrandTypography,\n BrandBorderRadius,\n BrandBoxShadow,\n ColorScale,\n SemanticColors,\n} from './types';\n\nexport {\n generateBrandCSS,\n generateTailwindTheme,\n createBrandPreset,\n} from './types';\n\n// Brand configurations\nexport { bluehiveBrand } from './bluehive';\nexport { ccmeBrand } from './ccme';\nexport { defaultBrand } from './default';\nexport { enterpriseHealthBrand } from './enterprise-health';\nexport { miewebBrand } from './mieweb';\nexport { ozwellBrand } from './ozwell';\nexport { wagglelineBrand } from './waggleline';\nexport { webchartBrand } from './webchart';\n\n// All brands for iteration\nexport const brands = {\n bluehive: () => import('./bluehive').then((m) => m.bluehiveBrand),\n ccme: () => import('./ccme').then((m) => m.ccmeBrand),\n default: () => import('./default').then((m) => m.defaultBrand),\n 'enterprise-health': () =>\n import('./enterprise-health').then((m) => m.enterpriseHealthBrand),\n mieweb: () => import('./mieweb').then((m) => m.miewebBrand),\n ozwell: () => import('./ozwell').then((m) => m.ozwellBrand),\n waggleline: () => import('./waggleline').then((m) => m.wagglelineBrand),\n webchart: () => import('./webchart').then((m) => m.webchartBrand),\n} as const;\n"]}
1
+ {"version":3,"sources":["../src/brands/index.ts"],"names":[],"mappings":";AAkCO,IAAM,MAAA,GAAS;AAAA,EACpB,QAAA,EAAU,MAAM,OAAO,sBAAY,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,CAAA;AAAA,EAChE,IAAA,EAAM,MAAM,OAAO,kBAAQ,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,SAAS,CAAA;AAAA,EACpD,OAAA,EAAS,MAAM,OAAO,uBAAW,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,YAAY,CAAA;AAAA,EAC7D,mBAAA,EAAqB,MACnB,OAAO,iCAAqB,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,qBAAqB,CAAA;AAAA,EACnE,MAAA,EAAQ,MAAM,OAAO,sBAAU,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,CAAA;AAAA,EAC1D,MAAA,EAAQ,MAAM,OAAO,oBAAU,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,CAAA;AAAA,EAC1D,UAAA,EAAY,MAAM,OAAO,0BAAc,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,eAAe,CAAA;AAAA,EACtE,QAAA,EAAU,MAAM,OAAO,wBAAY,EAAE,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa;AAClE","file":"chunk-RPFATYUI.js","sourcesContent":["/**\n * @mieweb/ui Brand System\n *\n * Export all brand-related types, utilities, and configurations.\n */\n\n// Types and utilities\nexport type {\n BrandConfig,\n BrandColors,\n BrandTypography,\n BrandBorderRadius,\n BrandBoxShadow,\n ColorScale,\n SemanticColors,\n} from './types';\n\nexport {\n generateBrandCSS,\n generateTailwindTheme,\n createBrandPreset,\n} from './types';\n\n// Brand configurations\nexport { bluehiveBrand } from './bluehive';\nexport { ccmeBrand } from './ccme';\nexport { defaultBrand } from './default';\nexport { enterpriseHealthBrand } from './enterprise-health';\nexport { miewebBrand } from './mieweb';\nexport { ozwellBrand } from './ozwell';\nexport { wagglelineBrand } from './waggleline';\nexport { webchartBrand } from './webchart';\n\n// All brands for iteration\nexport const brands = {\n bluehive: () => import('./bluehive').then((m) => m.bluehiveBrand),\n ccme: () => import('./ccme').then((m) => m.ccmeBrand),\n default: () => import('./default').then((m) => m.defaultBrand),\n 'enterprise-health': () =>\n import('./enterprise-health').then((m) => m.enterpriseHealthBrand),\n mieweb: () => import('./mieweb').then((m) => m.miewebBrand),\n ozwell: () => import('./ozwell').then((m) => m.ozwellBrand),\n waggleline: () => import('./waggleline').then((m) => m.wagglelineBrand),\n webchart: () => import('./webchart').then((m) => m.webchartBrand),\n} as const;\n"]}
@@ -1,4 +1,4 @@
1
- import { FenceBlock } from './chunk-QOVJ6Z6R.js';
1
+ import { FenceBlock } from './chunk-HDY7YQFX.js';
2
2
  import { useState, useEffect } from 'react';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
 
@@ -192,5 +192,5 @@ var SurveyBlock = ({ code, id }) => {
192
192
  };
193
193
 
194
194
  export { SurveyBlock };
195
- //# sourceMappingURL=chunk-FZURBQJ2.js.map
196
- //# sourceMappingURL=chunk-FZURBQJ2.js.map
195
+ //# sourceMappingURL=chunk-RSJGTWLM.js.map
196
+ //# sourceMappingURL=chunk-RSJGTWLM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Markdown/SurveyBlock.tsx"],"names":[],"mappings":"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","file":"chunk-FZURBQJ2.js","sourcesContent":["/** Survey/questionnaire preview from JSON or YAML. Requires `js-yaml` for YAML input. */\nimport React, { useEffect, useState } from 'react';\n\nimport { FenceBlock } from './FenceBlock';\n\ninterface SurveyBlockProps {\n code: string;\n id: string;\n}\n\ninterface SurveyField {\n type: string;\n name: string;\n title?: string;\n label?: string;\n choices?: Array<string | { value: string; text: string }>;\n isRequired?: boolean;\n}\n\ninterface ParsedSurvey {\n fields: SurveyField[];\n error: string | null;\n}\n\ntype YamlLoadFn = (input: string) => unknown;\nlet yamlPromise: Promise<YamlLoadFn> | null = null;\nfunction loadYaml(): Promise<YamlLoadFn> {\n if (!yamlPromise) {\n yamlPromise = import(/* @vite-ignore */ 'js-yaml')\n .then((mod) => {\n const api =\n (mod as { default?: { load?: YamlLoadFn }; load?: YamlLoadFn })\n .default ?? mod;\n const load = (api as { load?: YamlLoadFn }).load;\n if (typeof load !== 'function')\n throw new Error('js-yaml load not found');\n return load;\n })\n .catch((err) => {\n yamlPromise = null;\n throw err;\n });\n }\n return yamlPromise;\n}\n\nfunction tryParseJson(\n code: string\n): { ok: true; data: unknown } | { ok: false } {\n try {\n return { ok: true, data: JSON.parse(code) };\n } catch {\n return { ok: false };\n }\n}\n\nfunction elementsToParsed(data: unknown): ParsedSurvey {\n if (!data || typeof data !== 'object') {\n return { fields: [], error: 'Invalid survey data format' };\n }\n const obj = data as Record<string, unknown>;\n\n let elements: unknown[] = [];\n if (Array.isArray(obj.pages)) {\n for (const page of obj.pages as Array<Record<string, unknown>>) {\n if (Array.isArray(page.elements)) {\n elements = elements.concat(page.elements);\n }\n }\n } else if (Array.isArray(obj.elements)) {\n elements = obj.elements;\n } else if (Array.isArray(obj.questions)) {\n elements = obj.questions;\n } else if (Array.isArray(obj.fields)) {\n elements = obj.fields;\n } else {\n return { fields: [], error: 'No survey questions found in data' };\n }\n\n return { fields: elements as SurveyField[], error: null };\n}\n\nexport const SurveyBlock: React.FC<SurveyBlockProps> = ({ code, id }) => {\n const [parsed, setParsed] = useState<ParsedSurvey | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n const jsonResult = tryParseJson(code);\n if (jsonResult.ok) {\n setParsed(elementsToParsed(jsonResult.data));\n return;\n }\n\n loadYaml()\n .then((load) => {\n try {\n const data = load(code);\n if (!cancelled) setParsed(elementsToParsed(data));\n } catch (err) {\n if (!cancelled)\n setParsed({\n fields: [],\n error: `Failed to parse survey data: ${(err as Error).message}`,\n });\n }\n })\n .catch(() => {\n if (!cancelled)\n setParsed({\n fields: [],\n error:\n 'Survey preview requires the `js-yaml` package for YAML input. Install it with `npm install js-yaml`.',\n });\n });\n return () => {\n cancelled = true;\n };\n }, [code]);\n\n if (!parsed) {\n return (\n <FenceBlock code={code} language=\"survey\" supportsRawView>\n <div className=\"flex items-center justify-center p-6 text-sm text-neutral-500\">\n Loading survey…\n </div>\n </FenceBlock>\n );\n }\n\n const { fields, error } = parsed;\n\n return (\n <FenceBlock\n code={code}\n language=\"survey\"\n supportsRawView\n error={error ?? undefined}\n >\n <div className=\"space-y-4 p-4\">\n <h4 className=\"text-sm font-medium text-neutral-700 dark:text-neutral-300\">\n Survey Preview\n </h4>\n {fields.map((field, i) => {\n const fieldId = `${id}-field-${field.name ?? i}`;\n return (\n <div key={field.name ?? i} className=\"space-y-1.5\">\n <label\n htmlFor={fieldId}\n className=\"block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {field.title ?? field.label ?? field.name}\n {field.isRequired && (\n <span className=\"ms-1 text-red-500\">*</span>\n )}\n </label>\n\n {(field.type === 'radiogroup' || field.type === 'radio') &&\n field.choices && (\n <div className=\"space-y-1\">\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <label\n key={ci}\n className=\"flex items-center gap-2 text-sm text-neutral-600 dark:text-neutral-400\"\n >\n <input\n type=\"radio\"\n name={`${id}-${field.name}`}\n value={value}\n disabled\n className=\"accent-primary-500\"\n />\n {text}\n </label>\n );\n })}\n </div>\n )}\n\n {(field.type === 'checkbox' || field.type === 'boolean') && (\n <input\n id={fieldId}\n type=\"checkbox\"\n disabled\n className=\"accent-primary-500\"\n />\n )}\n\n {(field.type === 'text' || field.type === 'comment') && (\n <input\n id={fieldId}\n type=\"text\"\n disabled\n placeholder={field.title ?? field.name}\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n />\n )}\n\n {field.type === 'rating' && (\n <div\n role=\"img\"\n className=\"flex gap-1\"\n aria-label=\"Rating: 0 out of 5\"\n >\n {[1, 2, 3, 4, 5].map((n) => (\n <span\n key={n}\n aria-hidden=\"true\"\n className=\"text-lg text-neutral-500 dark:text-neutral-500\"\n >\n ★\n </span>\n ))}\n </div>\n )}\n\n {field.type === 'dropdown' && field.choices && (\n <select\n id={fieldId}\n name={fieldId}\n disabled\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n >\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <option key={ci} value={value}>\n {text}\n </option>\n );\n })}\n </select>\n )}\n </div>\n );\n })}\n <p className=\"text-xs text-neutral-600 dark:text-neutral-400\">\n This is a preview. Interactive survey support coming soon.\n </p>\n </div>\n </FenceBlock>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/components/Markdown/SurveyBlock.tsx"],"names":[],"mappings":"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","file":"chunk-RSJGTWLM.js","sourcesContent":["/** Survey/questionnaire preview from JSON or YAML. Requires `js-yaml` for YAML input. */\nimport React, { useEffect, useState } from 'react';\n\nimport { FenceBlock } from './FenceBlock';\n\ninterface SurveyBlockProps {\n code: string;\n id: string;\n}\n\ninterface SurveyField {\n type: string;\n name: string;\n title?: string;\n label?: string;\n choices?: Array<string | { value: string; text: string }>;\n isRequired?: boolean;\n}\n\ninterface ParsedSurvey {\n fields: SurveyField[];\n error: string | null;\n}\n\ntype YamlLoadFn = (input: string) => unknown;\nlet yamlPromise: Promise<YamlLoadFn> | null = null;\nfunction loadYaml(): Promise<YamlLoadFn> {\n if (!yamlPromise) {\n yamlPromise = import(/* @vite-ignore */ 'js-yaml')\n .then((mod) => {\n const api =\n (mod as { default?: { load?: YamlLoadFn }; load?: YamlLoadFn })\n .default ?? mod;\n const load = (api as { load?: YamlLoadFn }).load;\n if (typeof load !== 'function')\n throw new Error('js-yaml load not found');\n return load;\n })\n .catch((err) => {\n yamlPromise = null;\n throw err;\n });\n }\n return yamlPromise;\n}\n\nfunction tryParseJson(\n code: string\n): { ok: true; data: unknown } | { ok: false } {\n try {\n return { ok: true, data: JSON.parse(code) };\n } catch {\n return { ok: false };\n }\n}\n\nfunction elementsToParsed(data: unknown): ParsedSurvey {\n if (!data || typeof data !== 'object') {\n return { fields: [], error: 'Invalid survey data format' };\n }\n const obj = data as Record<string, unknown>;\n\n let elements: unknown[] = [];\n if (Array.isArray(obj.pages)) {\n for (const page of obj.pages as Array<Record<string, unknown>>) {\n if (Array.isArray(page.elements)) {\n elements = elements.concat(page.elements);\n }\n }\n } else if (Array.isArray(obj.elements)) {\n elements = obj.elements;\n } else if (Array.isArray(obj.questions)) {\n elements = obj.questions;\n } else if (Array.isArray(obj.fields)) {\n elements = obj.fields;\n } else {\n return { fields: [], error: 'No survey questions found in data' };\n }\n\n return { fields: elements as SurveyField[], error: null };\n}\n\nexport const SurveyBlock: React.FC<SurveyBlockProps> = ({ code, id }) => {\n const [parsed, setParsed] = useState<ParsedSurvey | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n\n const jsonResult = tryParseJson(code);\n if (jsonResult.ok) {\n setParsed(elementsToParsed(jsonResult.data));\n return;\n }\n\n loadYaml()\n .then((load) => {\n try {\n const data = load(code);\n if (!cancelled) setParsed(elementsToParsed(data));\n } catch (err) {\n if (!cancelled)\n setParsed({\n fields: [],\n error: `Failed to parse survey data: ${(err as Error).message}`,\n });\n }\n })\n .catch(() => {\n if (!cancelled)\n setParsed({\n fields: [],\n error:\n 'Survey preview requires the `js-yaml` package for YAML input. Install it with `npm install js-yaml`.',\n });\n });\n return () => {\n cancelled = true;\n };\n }, [code]);\n\n if (!parsed) {\n return (\n <FenceBlock code={code} language=\"survey\" supportsRawView>\n <div className=\"flex items-center justify-center p-6 text-sm text-neutral-500\">\n Loading survey…\n </div>\n </FenceBlock>\n );\n }\n\n const { fields, error } = parsed;\n\n return (\n <FenceBlock\n code={code}\n language=\"survey\"\n supportsRawView\n error={error ?? undefined}\n >\n <div className=\"space-y-4 p-4\">\n <h4 className=\"text-sm font-medium text-neutral-700 dark:text-neutral-300\">\n Survey Preview\n </h4>\n {fields.map((field, i) => {\n const fieldId = `${id}-field-${field.name ?? i}`;\n return (\n <div key={field.name ?? i} className=\"space-y-1.5\">\n <label\n htmlFor={fieldId}\n className=\"block text-sm font-medium text-neutral-700 dark:text-neutral-300\"\n >\n {field.title ?? field.label ?? field.name}\n {field.isRequired && (\n <span className=\"ms-1 text-red-500\">*</span>\n )}\n </label>\n\n {(field.type === 'radiogroup' || field.type === 'radio') &&\n field.choices && (\n <div className=\"space-y-1\">\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <label\n key={ci}\n className=\"flex items-center gap-2 text-sm text-neutral-600 dark:text-neutral-400\"\n >\n <input\n type=\"radio\"\n name={`${id}-${field.name}`}\n value={value}\n disabled\n className=\"accent-primary-500\"\n />\n {text}\n </label>\n );\n })}\n </div>\n )}\n\n {(field.type === 'checkbox' || field.type === 'boolean') && (\n <input\n id={fieldId}\n type=\"checkbox\"\n disabled\n className=\"accent-primary-500\"\n />\n )}\n\n {(field.type === 'text' || field.type === 'comment') && (\n <input\n id={fieldId}\n type=\"text\"\n disabled\n placeholder={field.title ?? field.name}\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n />\n )}\n\n {field.type === 'rating' && (\n <div\n role=\"img\"\n className=\"flex gap-1\"\n aria-label=\"Rating: 0 out of 5\"\n >\n {[1, 2, 3, 4, 5].map((n) => (\n <span\n key={n}\n aria-hidden=\"true\"\n className=\"text-lg text-neutral-500 dark:text-neutral-500\"\n >\n ★\n </span>\n ))}\n </div>\n )}\n\n {field.type === 'dropdown' && field.choices && (\n <select\n id={fieldId}\n name={fieldId}\n disabled\n className=\"w-full rounded-md border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-sm dark:border-neutral-600 dark:bg-neutral-800\"\n >\n {field.choices.map((choice, ci) => {\n const value =\n typeof choice === 'string' ? choice : choice.value;\n const text =\n typeof choice === 'string' ? choice : choice.text;\n return (\n <option key={ci} value={value}>\n {text}\n </option>\n );\n })}\n </select>\n )}\n </div>\n );\n })}\n <p className=\"text-xs text-neutral-600 dark:text-neutral-400\">\n This is a preview. Interactive survey support coming soon.\n </p>\n </div>\n </FenceBlock>\n );\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import { defaultViewLabels, toDateTime, accentClasses } from './chunk-3YBS4WUQ.js';
2
2
  import { Spinner } from './chunk-UA7E7PDS.js';
3
3
  import { ChevronLeft, ChevronRight } from './chunk-BKSPDTX4.js';
4
- import { Button } from './chunk-7YO7DNUV.js';
4
+ import { Button } from './chunk-WFBUBT54.js';
5
5
  import { cn } from './chunk-TQONQSJO.js';
6
6
  import * as React from 'react';
7
7
  import { DateTime, Info } from 'luxon';
@@ -329,5 +329,5 @@ function CalendarView({
329
329
  }
330
330
 
331
331
  export { CalendarView, defaultCalendarLabels };
332
- //# sourceMappingURL=chunk-XBTKZCZF.js.map
333
- //# sourceMappingURL=chunk-XBTKZCZF.js.map
332
+ //# sourceMappingURL=chunk-RZSSQ7AT.js.map
333
+ //# sourceMappingURL=chunk-RZSSQ7AT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CalendarView/CalendarView.tsx"],"names":[],"mappings":"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","file":"chunk-XBTKZCZF.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { DateTime, Info } from 'luxon';\nimport { cn } from '../../utils/cn';\nimport { Spinner } from '../Spinner';\nimport { Button } from '../Button';\nimport { ChevronLeftIcon, ChevronRightIcon } from '../Icons';\nimport {\n accentClasses,\n defaultViewLabels,\n toDateTime,\n type ViewBaseProps,\n type ViewLabels,\n} from '../../views/types';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport type CalendarViewSlot =\n | 'toolbar'\n | 'weekday'\n | 'day'\n | 'outsideDay'\n | 'today'\n | 'entry'\n | 'selectedEntry'\n | 'state';\n\nexport interface CalendarLabels extends ViewLabels {\n previousMonth: string;\n nextMonth: string;\n today: string;\n /** Overflow affordance. `{count}` is substituted. */\n more: string;\n}\n\nexport const defaultCalendarLabels: CalendarLabels = {\n ...defaultViewLabels,\n empty: 'Nothing this month',\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n today: 'Today',\n more: '{count} more',\n};\n\nexport interface CalendarViewProps<T> extends ViewBaseProps<T> {\n /** Controlled month. Any date inside the month works. */\n month?: Date;\n /** Starting month when uncontrolled. Defaults to the month containing `now`. */\n defaultMonth?: Date;\n onMonthChange?: (month: Date) => void;\n /**\n * IANA zone the grid is drawn in, e.g. `America/New_York`. Defaults to the\n * runtime's. A day boundary is a business fact, so state it explicitly when\n * the collection belongs to somewhere other than the viewer.\n */\n timeZone?: string;\n /** 1 = Monday … 7 = Sunday. Defaults to Monday. */\n weekStartsOn?: number;\n /** Locale for month, weekday and day-number formatting. */\n locale?: string;\n /** Entries to show per day before collapsing into \"{count} more\". */\n maxPerDay?: number;\n labels?: Partial<CalendarLabels>;\n classNames?: Partial<Record<CalendarViewSlot, string>>;\n /** Hide the month toolbar when the host renders its own. */\n hideToolbar?: boolean;\n}\n\ninterface Placed<T> {\n id: string;\n item: T;\n start: DateTime;\n end: DateTime;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\nexport function CalendarView<T>({\n items,\n accessors,\n loading = false,\n error = null,\n selectedId = null,\n onOpen,\n getHref,\n renderItem,\n emptyState,\n labels,\n month,\n defaultMonth,\n onMonthChange,\n timeZone,\n weekStartsOn = 1,\n locale,\n maxPerDay = 3,\n now,\n className,\n classNames,\n hideToolbar = false,\n}: CalendarViewProps<T>) {\n const text = { ...defaultCalendarLabels, ...labels };\n const zone = timeZone ?? DateTime.local().zoneName;\n const today = React.useMemo(\n () => DateTime.fromJSDate(now ?? new Date(), { zone }).startOf('day'),\n [now, zone]\n );\n\n const [internalMonth, setInternalMonth] = React.useState(() =>\n defaultMonth\n ? DateTime.fromJSDate(defaultMonth, { zone }).startOf('month')\n : today.startOf('month')\n );\n // Re-anchor from the calendar year and month rather than the instant: an\n // instant on the 1st shifted into a behind-UTC zone lands in the month before.\n const current = React.useMemo(() => {\n const source = month ? DateTime.fromJSDate(month, { zone }) : internalMonth;\n return DateTime.fromObject(\n { year: source.year, month: source.month, day: 1 },\n { zone }\n );\n }, [month, internalMonth, zone]);\n\n const goToMonth = (next: DateTime) => {\n if (!month) setInternalMonth(next);\n onMonthChange?.(next.toJSDate());\n };\n\n // Six weeks always, so the grid does not change height between months.\n const gridStart = React.useMemo(() => {\n const first = current.startOf('month');\n const offset = (first.weekday - weekStartsOn + 7) % 7;\n return first.minus({ days: offset });\n }, [current, weekStartsOn]);\n\n const days = React.useMemo(\n () => Array.from({ length: 42 }, (_, i) => gridStart.plus({ days: i })),\n [gridStart]\n );\n\n const weeks = React.useMemo(\n () => Array.from({ length: 6 }, (_, i) => days.slice(i * 7, i * 7 + 7)),\n [days]\n );\n\n const placed = React.useMemo<Placed<T>[]>(() => {\n const out: Placed<T>[] = [];\n for (const item of items) {\n const start = toDateTime(accessors.getStart?.(item), zone)?.startOf(\n 'day'\n );\n if (!start) continue;\n const rawEnd = toDateTime(accessors.getEnd?.(item), zone)?.startOf('day');\n const end = rawEnd ?? start;\n out.push({\n id: accessors.getId(item),\n item,\n start,\n // A backwards range is data, not a crash: clamp it to one day.\n end: end < start ? start : end,\n });\n }\n return out;\n }, [items, accessors, zone]);\n\n const byDay = React.useMemo(() => {\n const map = new Map<string, Placed<T>[]>();\n for (const day of days) {\n const key = day.toISODate() ?? '';\n map.set(\n key,\n placed.filter((p) => p.start <= day && day <= p.end)\n );\n }\n return map;\n }, [days, placed]);\n\n const weekdayNames = React.useMemo(() => {\n const names = Info.weekdays('short', { locale });\n return Array.from(\n { length: 7 },\n (_, i) => names[(weekStartsOn - 1 + i) % 7]\n );\n }, [locale, weekStartsOn]);\n\n const state = (content: React.ReactNode) => (\n <div\n data-slot=\"calendar-view-state\"\n className={cn(\n 'border-border bg-card text-muted-foreground flex flex-col items-center justify-center gap-2 rounded-lg border px-4 py-10 text-center text-sm',\n classNames?.state\n )}\n >\n {content}\n </div>\n );\n\n if (error) {\n return state(\n <p role=\"alert\" className=\"text-destructive\">\n {text.error}\n </p>\n );\n }\n if (loading) {\n return state(\n <span className=\"flex items-center gap-2\">\n <Spinner size=\"sm\" label={text.loading} />\n <span aria-hidden>{text.loading}</span>\n </span>\n );\n }\n\n const monthLabel = current\n .setLocale(locale ?? current.locale ?? 'en')\n .toFormat('LLLL yyyy');\n const nothingPlaced = placed.length === 0;\n\n return (\n <div\n data-slot=\"calendar-view\"\n className={cn(\n 'border-border bg-card overflow-hidden rounded-lg border',\n className\n )}\n >\n {!hideToolbar && (\n <div\n data-slot=\"calendar-view-toolbar\"\n className={cn(\n 'border-border flex items-center gap-2 border-b px-3 py-2',\n classNames?.toolbar\n )}\n >\n <h3 aria-live=\"polite\" className=\"text-sm font-semibold\">\n {monthLabel}\n </h3>\n <div className=\"ms-auto flex items-center gap-1\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n aria-label={text.previousMonth}\n onClick={() => goToMonth(current.minus({ months: 1 }))}\n >\n <ChevronLeftIcon className=\"size-4 rtl:rotate-180\" aria-hidden />\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => goToMonth(today.startOf('month'))}\n >\n {text.today}\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n aria-label={text.nextMonth}\n onClick={() => goToMonth(current.plus({ months: 1 }))}\n >\n <ChevronRightIcon className=\"size-4 rtl:rotate-180\" aria-hidden />\n </Button>\n </div>\n </div>\n )}\n\n {nothingPlaced && emptyState ? (\n emptyState\n ) : (\n // `table`, not `grid`: a grid promises arrow-key navigation between\n // cells, which this does not implement. Rows are explicit because a\n // columnheader or cell outside one is invalid ARIA, not just untidy.\n <div role=\"table\" aria-label={monthLabel}>\n <div role=\"rowgroup\">\n <div role=\"row\" className=\"border-border grid grid-cols-7 border-b\">\n {weekdayNames.map((name) => (\n <div\n key={name}\n role=\"columnheader\"\n data-slot=\"calendar-view-weekday\"\n className={cn(\n 'text-muted-foreground px-2 py-1.5 text-center text-xs font-medium tracking-wide uppercase',\n classNames?.weekday\n )}\n >\n {name}\n </div>\n ))}\n </div>\n </div>\n <div role=\"rowgroup\">\n {weeks.map((week) => (\n <div\n key={week[0].toISODate()}\n role=\"row\"\n className=\"grid grid-cols-7\"\n >\n {week.map((day) => {\n const key = day.toISODate() ?? '';\n const entries = byDay.get(key) ?? [];\n const outside = day.month !== current.month;\n const isToday = day.hasSame(today, 'day');\n const visible = entries.slice(0, maxPerDay);\n const overflow = entries.length - visible.length;\n return (\n <div\n key={key}\n role=\"cell\"\n data-slot=\"calendar-view-day\"\n data-outside={outside || undefined}\n data-today={isToday || undefined}\n className={cn(\n 'border-border min-h-24 border-e border-b p-1 last:border-e-0',\n outside && cn('bg-muted/30', classNames?.outsideDay),\n isToday && classNames?.today,\n classNames?.day\n )}\n >\n <div\n className={cn(\n 'mb-1 flex h-5 w-5 items-center justify-center rounded-full text-xs tabular-nums',\n outside ? 'text-muted-foreground' : 'text-foreground',\n // primary-800, not 500: white on the mid scale is\n // about 2:1 and fails AA. Same pair Button uses.\n isToday && 'bg-primary-800 font-semibold text-white'\n )}\n >\n <time dateTime={key}>{day.day}</time>\n {isToday && (\n <span className=\"sr-only\">{text.today}</span>\n )}\n </div>\n <ul className=\"space-y-0.5\">\n {visible.map(({ id, item, start, end }) => {\n const accent =\n accessors.getAccent?.(item) ?? 'primary';\n const selected = id === selectedId;\n const body = renderItem?.(item, {\n view: 'calendar',\n }) ?? (\n <span className=\"block truncate\">\n {accessors.getTitle(item)}\n </span>\n );\n const classes = cn(\n 'block w-full rounded px-1 py-0.5 text-start text-xs text-foreground',\n accentClasses[accent].tint,\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n classNames?.entry,\n selected &&\n cn(\n 'ring-1',\n accentClasses[accent].border,\n classNames?.selectedEntry\n )\n );\n // A multi-day item repeats on each day it covers; the\n // range is in the accessible name, not in the geometry.\n const spanLabel = start.hasSame(end, 'day')\n ? undefined\n : `${accessors.getTitle(item)}, ${start.toISODate()} to ${end.toISODate()}`;\n const href = getHref?.(id, item);\n return (\n <li key={id}>\n {href ? (\n <a\n href={href}\n aria-label={spanLabel}\n aria-current={selected ? 'true' : undefined}\n data-slot=\"calendar-view-entry\"\n className={classes}\n onClick={(event) => {\n if (\n !onOpen ||\n event.defaultPrevented ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.button !== 0\n )\n return;\n event.preventDefault();\n onOpen(id, item);\n }}\n >\n {body}\n </a>\n ) : onOpen ? (\n <button\n type=\"button\"\n aria-label={spanLabel}\n aria-current={selected ? 'true' : undefined}\n data-slot=\"calendar-view-entry\"\n className={classes}\n onClick={() => onOpen(id, item)}\n >\n {body}\n </button>\n ) : (\n // `aria-label` is prohibited on role `generic`,\n // so the range rides along as hidden text here.\n <span\n data-slot=\"calendar-view-entry\"\n className={classes}\n >\n {body}\n {spanLabel && (\n <span className=\"sr-only\">\n {`, ${start.toISODate()} to ${end.toISODate()}`}\n </span>\n )}\n </span>\n )}\n </li>\n );\n })}\n {overflow > 0 && (\n <li className=\"text-muted-foreground px-1 text-xs\">\n {text.more.replace('{count}', String(overflow))}\n </li>\n )}\n </ul>\n </div>\n );\n })}\n </div>\n ))}\n </div>\n {nothingPlaced && (\n <p className=\"text-muted-foreground px-3 py-2 text-center text-sm\">\n {text.empty}\n </p>\n )}\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/CalendarView/CalendarView.tsx"],"names":[],"mappings":"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","file":"chunk-RZSSQ7AT.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { DateTime, Info } from 'luxon';\nimport { cn } from '../../utils/cn';\nimport { Spinner } from '../Spinner';\nimport { Button } from '../Button';\nimport { ChevronLeftIcon, ChevronRightIcon } from '../Icons';\nimport {\n accentClasses,\n defaultViewLabels,\n toDateTime,\n type ViewBaseProps,\n type ViewLabels,\n} from '../../views/types';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport type CalendarViewSlot =\n | 'toolbar'\n | 'weekday'\n | 'day'\n | 'outsideDay'\n | 'today'\n | 'entry'\n | 'selectedEntry'\n | 'state';\n\nexport interface CalendarLabels extends ViewLabels {\n previousMonth: string;\n nextMonth: string;\n today: string;\n /** Overflow affordance. `{count}` is substituted. */\n more: string;\n}\n\nexport const defaultCalendarLabels: CalendarLabels = {\n ...defaultViewLabels,\n empty: 'Nothing this month',\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n today: 'Today',\n more: '{count} more',\n};\n\nexport interface CalendarViewProps<T> extends ViewBaseProps<T> {\n /** Controlled month. Any date inside the month works. */\n month?: Date;\n /** Starting month when uncontrolled. Defaults to the month containing `now`. */\n defaultMonth?: Date;\n onMonthChange?: (month: Date) => void;\n /**\n * IANA zone the grid is drawn in, e.g. `America/New_York`. Defaults to the\n * runtime's. A day boundary is a business fact, so state it explicitly when\n * the collection belongs to somewhere other than the viewer.\n */\n timeZone?: string;\n /** 1 = Monday … 7 = Sunday. Defaults to Monday. */\n weekStartsOn?: number;\n /** Locale for month, weekday and day-number formatting. */\n locale?: string;\n /** Entries to show per day before collapsing into \"{count} more\". */\n maxPerDay?: number;\n labels?: Partial<CalendarLabels>;\n classNames?: Partial<Record<CalendarViewSlot, string>>;\n /** Hide the month toolbar when the host renders its own. */\n hideToolbar?: boolean;\n}\n\ninterface Placed<T> {\n id: string;\n item: T;\n start: DateTime;\n end: DateTime;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\nexport function CalendarView<T>({\n items,\n accessors,\n loading = false,\n error = null,\n selectedId = null,\n onOpen,\n getHref,\n renderItem,\n emptyState,\n labels,\n month,\n defaultMonth,\n onMonthChange,\n timeZone,\n weekStartsOn = 1,\n locale,\n maxPerDay = 3,\n now,\n className,\n classNames,\n hideToolbar = false,\n}: CalendarViewProps<T>) {\n const text = { ...defaultCalendarLabels, ...labels };\n const zone = timeZone ?? DateTime.local().zoneName;\n const today = React.useMemo(\n () => DateTime.fromJSDate(now ?? new Date(), { zone }).startOf('day'),\n [now, zone]\n );\n\n const [internalMonth, setInternalMonth] = React.useState(() =>\n defaultMonth\n ? DateTime.fromJSDate(defaultMonth, { zone }).startOf('month')\n : today.startOf('month')\n );\n // Re-anchor from the calendar year and month rather than the instant: an\n // instant on the 1st shifted into a behind-UTC zone lands in the month before.\n const current = React.useMemo(() => {\n const source = month ? DateTime.fromJSDate(month, { zone }) : internalMonth;\n return DateTime.fromObject(\n { year: source.year, month: source.month, day: 1 },\n { zone }\n );\n }, [month, internalMonth, zone]);\n\n const goToMonth = (next: DateTime) => {\n if (!month) setInternalMonth(next);\n onMonthChange?.(next.toJSDate());\n };\n\n // Six weeks always, so the grid does not change height between months.\n const gridStart = React.useMemo(() => {\n const first = current.startOf('month');\n const offset = (first.weekday - weekStartsOn + 7) % 7;\n return first.minus({ days: offset });\n }, [current, weekStartsOn]);\n\n const days = React.useMemo(\n () => Array.from({ length: 42 }, (_, i) => gridStart.plus({ days: i })),\n [gridStart]\n );\n\n const weeks = React.useMemo(\n () => Array.from({ length: 6 }, (_, i) => days.slice(i * 7, i * 7 + 7)),\n [days]\n );\n\n const placed = React.useMemo<Placed<T>[]>(() => {\n const out: Placed<T>[] = [];\n for (const item of items) {\n const start = toDateTime(accessors.getStart?.(item), zone)?.startOf(\n 'day'\n );\n if (!start) continue;\n const rawEnd = toDateTime(accessors.getEnd?.(item), zone)?.startOf('day');\n const end = rawEnd ?? start;\n out.push({\n id: accessors.getId(item),\n item,\n start,\n // A backwards range is data, not a crash: clamp it to one day.\n end: end < start ? start : end,\n });\n }\n return out;\n }, [items, accessors, zone]);\n\n const byDay = React.useMemo(() => {\n const map = new Map<string, Placed<T>[]>();\n for (const day of days) {\n const key = day.toISODate() ?? '';\n map.set(\n key,\n placed.filter((p) => p.start <= day && day <= p.end)\n );\n }\n return map;\n }, [days, placed]);\n\n const weekdayNames = React.useMemo(() => {\n const names = Info.weekdays('short', { locale });\n return Array.from(\n { length: 7 },\n (_, i) => names[(weekStartsOn - 1 + i) % 7]\n );\n }, [locale, weekStartsOn]);\n\n const state = (content: React.ReactNode) => (\n <div\n data-slot=\"calendar-view-state\"\n className={cn(\n 'border-border bg-card text-muted-foreground flex flex-col items-center justify-center gap-2 rounded-lg border px-4 py-10 text-center text-sm',\n classNames?.state\n )}\n >\n {content}\n </div>\n );\n\n if (error) {\n return state(\n <p role=\"alert\" className=\"text-destructive\">\n {text.error}\n </p>\n );\n }\n if (loading) {\n return state(\n <span className=\"flex items-center gap-2\">\n <Spinner size=\"sm\" label={text.loading} />\n <span aria-hidden>{text.loading}</span>\n </span>\n );\n }\n\n const monthLabel = current\n .setLocale(locale ?? current.locale ?? 'en')\n .toFormat('LLLL yyyy');\n const nothingPlaced = placed.length === 0;\n\n return (\n <div\n data-slot=\"calendar-view\"\n className={cn(\n 'border-border bg-card overflow-hidden rounded-lg border',\n className\n )}\n >\n {!hideToolbar && (\n <div\n data-slot=\"calendar-view-toolbar\"\n className={cn(\n 'border-border flex items-center gap-2 border-b px-3 py-2',\n classNames?.toolbar\n )}\n >\n <h3 aria-live=\"polite\" className=\"text-sm font-semibold\">\n {monthLabel}\n </h3>\n <div className=\"ms-auto flex items-center gap-1\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n aria-label={text.previousMonth}\n onClick={() => goToMonth(current.minus({ months: 1 }))}\n >\n <ChevronLeftIcon className=\"size-4 rtl:rotate-180\" aria-hidden />\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => goToMonth(today.startOf('month'))}\n >\n {text.today}\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n aria-label={text.nextMonth}\n onClick={() => goToMonth(current.plus({ months: 1 }))}\n >\n <ChevronRightIcon className=\"size-4 rtl:rotate-180\" aria-hidden />\n </Button>\n </div>\n </div>\n )}\n\n {nothingPlaced && emptyState ? (\n emptyState\n ) : (\n // `table`, not `grid`: a grid promises arrow-key navigation between\n // cells, which this does not implement. Rows are explicit because a\n // columnheader or cell outside one is invalid ARIA, not just untidy.\n <div role=\"table\" aria-label={monthLabel}>\n <div role=\"rowgroup\">\n <div role=\"row\" className=\"border-border grid grid-cols-7 border-b\">\n {weekdayNames.map((name) => (\n <div\n key={name}\n role=\"columnheader\"\n data-slot=\"calendar-view-weekday\"\n className={cn(\n 'text-muted-foreground px-2 py-1.5 text-center text-xs font-medium tracking-wide uppercase',\n classNames?.weekday\n )}\n >\n {name}\n </div>\n ))}\n </div>\n </div>\n <div role=\"rowgroup\">\n {weeks.map((week) => (\n <div\n key={week[0].toISODate()}\n role=\"row\"\n className=\"grid grid-cols-7\"\n >\n {week.map((day) => {\n const key = day.toISODate() ?? '';\n const entries = byDay.get(key) ?? [];\n const outside = day.month !== current.month;\n const isToday = day.hasSame(today, 'day');\n const visible = entries.slice(0, maxPerDay);\n const overflow = entries.length - visible.length;\n return (\n <div\n key={key}\n role=\"cell\"\n data-slot=\"calendar-view-day\"\n data-outside={outside || undefined}\n data-today={isToday || undefined}\n className={cn(\n 'border-border min-h-24 border-e border-b p-1 last:border-e-0',\n outside && cn('bg-muted/30', classNames?.outsideDay),\n isToday && classNames?.today,\n classNames?.day\n )}\n >\n <div\n className={cn(\n 'mb-1 flex h-5 w-5 items-center justify-center rounded-full text-xs tabular-nums',\n outside ? 'text-muted-foreground' : 'text-foreground',\n // primary-800, not 500: white on the mid scale is\n // about 2:1 and fails AA. Same pair Button uses.\n isToday && 'bg-primary-800 font-semibold text-white'\n )}\n >\n <time dateTime={key}>{day.day}</time>\n {isToday && (\n <span className=\"sr-only\">{text.today}</span>\n )}\n </div>\n <ul className=\"space-y-0.5\">\n {visible.map(({ id, item, start, end }) => {\n const accent =\n accessors.getAccent?.(item) ?? 'primary';\n const selected = id === selectedId;\n const body = renderItem?.(item, {\n view: 'calendar',\n }) ?? (\n <span className=\"block truncate\">\n {accessors.getTitle(item)}\n </span>\n );\n const classes = cn(\n 'block w-full rounded px-1 py-0.5 text-start text-xs text-foreground',\n accentClasses[accent].tint,\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n classNames?.entry,\n selected &&\n cn(\n 'ring-1',\n accentClasses[accent].border,\n classNames?.selectedEntry\n )\n );\n // A multi-day item repeats on each day it covers; the\n // range is in the accessible name, not in the geometry.\n const spanLabel = start.hasSame(end, 'day')\n ? undefined\n : `${accessors.getTitle(item)}, ${start.toISODate()} to ${end.toISODate()}`;\n const href = getHref?.(id, item);\n return (\n <li key={id}>\n {href ? (\n <a\n href={href}\n aria-label={spanLabel}\n aria-current={selected ? 'true' : undefined}\n data-slot=\"calendar-view-entry\"\n className={classes}\n onClick={(event) => {\n if (\n !onOpen ||\n event.defaultPrevented ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.button !== 0\n )\n return;\n event.preventDefault();\n onOpen(id, item);\n }}\n >\n {body}\n </a>\n ) : onOpen ? (\n <button\n type=\"button\"\n aria-label={spanLabel}\n aria-current={selected ? 'true' : undefined}\n data-slot=\"calendar-view-entry\"\n className={classes}\n onClick={() => onOpen(id, item)}\n >\n {body}\n </button>\n ) : (\n // `aria-label` is prohibited on role `generic`,\n // so the range rides along as hidden text here.\n <span\n data-slot=\"calendar-view-entry\"\n className={classes}\n >\n {body}\n {spanLabel && (\n <span className=\"sr-only\">\n {`, ${start.toISODate()} to ${end.toISODate()}`}\n </span>\n )}\n </span>\n )}\n </li>\n );\n })}\n {overflow > 0 && (\n <li className=\"text-muted-foreground px-1 text-xs\">\n {text.more.replace('{count}', String(overflow))}\n </li>\n )}\n </ul>\n </div>\n );\n })}\n </div>\n ))}\n </div>\n {nothingPlaced && (\n <p className=\"text-muted-foreground px-3 py-2 text-center text-sm\">\n {text.empty}\n </p>\n )}\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import { Slider } from './chunk-2BPIVWAK.js';
2
- import { MediaPlayer } from './chunk-2JICT4A2.js';
2
+ import { MediaPlayer } from './chunk-N54FYWG6.js';
3
3
  import { Checkbox } from './chunk-753Z3NXL.js';
4
4
  import { useTranscriptEdits, DEFAULT_FILLER_WORDS } from './chunk-UUI7WXI5.js';
5
5
  import { isSilenceType, PLAYBACK_SPEEDS } from './chunk-6CGM5H4J.js';
6
6
  import { Select } from './chunk-VCI2Y7ST.js';
7
- import { Modal, ModalHeader, ModalTitle, ModalClose, ModalBody, ModalFooter } from './chunk-ENMXHZNE.js';
7
+ import { Modal, ModalHeader, ModalTitle, ModalClose, ModalBody, ModalFooter } from './chunk-TWQSMUE6.js';
8
8
  import { Input } from './chunk-3IMM2PM4.js';
9
- import { Button } from './chunk-7YO7DNUV.js';
9
+ import { Button } from './chunk-WFBUBT54.js';
10
10
  import * as React6 from 'react';
11
11
  import { cva } from 'class-variance-authority';
12
12
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -1999,5 +1999,5 @@ var MediaEditor = React6.forwardRef(
1999
1999
  MediaEditor.displayName = "MediaEditor";
2000
2000
 
2001
2001
  export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal };
2002
- //# sourceMappingURL=chunk-SD7ONW6S.js.map
2003
- //# sourceMappingURL=chunk-SD7ONW6S.js.map
2002
+ //# sourceMappingURL=chunk-S2JZL4JC.js.map
2003
+ //# sourceMappingURL=chunk-S2JZL4JC.js.map