@mieweb/ui 0.10.0-dev.30 → 0.10.0-dev.32

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 (481) 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-TYE5K5WV.cjs → chunk-32ZCJOSR.cjs} +4 -4
  22. package/dist/{chunk-TYE5K5WV.cjs.map → chunk-32ZCJOSR.cjs.map} +1 -1
  23. package/dist/{chunk-SD7ONW6S.js → chunk-3DLLTITK.js} +4 -4
  24. package/dist/{chunk-SD7ONW6S.js.map → chunk-3DLLTITK.js.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-WXFGHDTV.cjs → chunk-57G3O552.cjs} +13 -13
  30. package/dist/{chunk-WXFGHDTV.cjs.map → chunk-57G3O552.cjs.map} +1 -1
  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-NKV76R65.cjs → chunk-6M63CM7X.cjs} +26 -26
  38. package/dist/{chunk-NKV76R65.cjs.map → chunk-6M63CM7X.cjs.map} +1 -1
  39. package/dist/chunk-6N7NMOSV.js +233 -0
  40. package/dist/chunk-6N7NMOSV.js.map +1 -0
  41. package/dist/chunk-6TTCZY3P.cjs +4 -0
  42. package/dist/chunk-6TTCZY3P.cjs.map +1 -0
  43. package/dist/{chunk-TTSSUOEV.cjs → chunk-7C5W744U.cjs} +8 -8
  44. package/dist/{chunk-TTSSUOEV.cjs.map → chunk-7C5W744U.cjs.map} +1 -1
  45. package/dist/chunk-7HUTR6RX.js +178 -0
  46. package/dist/chunk-7HUTR6RX.js.map +1 -0
  47. package/dist/chunk-7IRTD4JT.cjs +61 -0
  48. package/dist/chunk-7IRTD4JT.cjs.map +1 -0
  49. package/dist/{chunk-YU55JD35.js → chunk-7QW6TU4X.js} +3 -3
  50. package/dist/{chunk-YU55JD35.js.map → chunk-7QW6TU4X.js.map} +1 -1
  51. package/dist/chunk-7WJ6MBF5.cjs +47 -0
  52. package/dist/chunk-7WJ6MBF5.cjs.map +1 -0
  53. package/dist/chunk-A4W5CSK7.cjs +216 -0
  54. package/dist/chunk-A4W5CSK7.cjs.map +1 -0
  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-BNH4SXJB.js → chunk-CMF7VCGP.js} +5 -5
  70. package/dist/{chunk-BNH4SXJB.js.map → chunk-CMF7VCGP.js.map} +1 -1
  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-QURJVPRH.cjs → chunk-EMRWTCCN.cjs} +41 -2
  88. package/dist/chunk-EMRWTCCN.cjs.map +1 -0
  89. package/dist/chunk-EPCUPHEO.js +193 -0
  90. package/dist/chunk-EPCUPHEO.js.map +1 -0
  91. package/dist/chunk-EPTP3VKT.js +283 -0
  92. package/dist/chunk-EPTP3VKT.js.map +1 -0
  93. package/dist/{chunk-HIZWOAWY.cjs → chunk-ERACGSDY.cjs} +8 -8
  94. package/dist/{chunk-HIZWOAWY.cjs.map → chunk-ERACGSDY.cjs.map} +1 -1
  95. package/dist/{chunk-VOQJHSXN.cjs → chunk-F2FOG4EG.cjs} +9 -9
  96. package/dist/{chunk-VOQJHSXN.cjs.map → chunk-F2FOG4EG.cjs.map} +1 -1
  97. package/dist/{chunk-GBUVIGD5.js → chunk-F3EWRDIT.js} +99 -3
  98. package/dist/chunk-F3EWRDIT.js.map +1 -0
  99. package/dist/{chunk-ZTMYKAVU.cjs → chunk-FCV7GBNQ.cjs} +24 -23
  100. package/dist/chunk-FCV7GBNQ.cjs.map +1 -0
  101. package/dist/{chunk-GVLNXPJX.js → chunk-FGLIP6YR.js} +4 -4
  102. package/dist/{chunk-GVLNXPJX.js.map → chunk-FGLIP6YR.js.map} +1 -1
  103. package/dist/chunk-FKGFOBC2.js +314 -0
  104. package/dist/chunk-FKGFOBC2.js.map +1 -0
  105. package/dist/chunk-FSGJXCBG.cjs +318 -0
  106. package/dist/chunk-FSGJXCBG.cjs.map +1 -0
  107. package/dist/chunk-FTEZNCRI.js +29 -0
  108. package/dist/chunk-FTEZNCRI.js.map +1 -0
  109. package/dist/{chunk-COM7RNZU.cjs → chunk-FYQZWLAM.cjs} +2 -2
  110. package/dist/{chunk-COM7RNZU.cjs.map → chunk-FYQZWLAM.cjs.map} +1 -1
  111. package/dist/{chunk-YVPC65ZJ.cjs → chunk-GF2BE4FB.cjs} +91 -32
  112. package/dist/chunk-GF2BE4FB.cjs.map +1 -0
  113. package/dist/{chunk-JEIW7BSV.cjs → chunk-GKDHMNUA.cjs} +2 -52
  114. package/dist/chunk-GKDHMNUA.cjs.map +1 -0
  115. package/dist/{chunk-N7C4OEP7.cjs → chunk-GM32IDVL.cjs} +6 -6
  116. package/dist/{chunk-N7C4OEP7.cjs.map → chunk-GM32IDVL.cjs.map} +1 -1
  117. package/dist/chunk-GNOQFTLL.cjs +286 -0
  118. package/dist/chunk-GNOQFTLL.cjs.map +1 -0
  119. package/dist/chunk-GY5SP4ST.js +3 -0
  120. package/dist/chunk-GY5SP4ST.js.map +1 -0
  121. package/dist/chunk-H2Y7HZV5.js +3 -0
  122. package/dist/chunk-H2Y7HZV5.js.map +1 -0
  123. package/dist/chunk-H3QPREIJ.js +195 -0
  124. package/dist/chunk-H3QPREIJ.js.map +1 -0
  125. package/dist/{chunk-QOVJ6Z6R.js → chunk-HDY7YQFX.js} +3 -3
  126. package/dist/{chunk-QOVJ6Z6R.js.map → chunk-HDY7YQFX.js.map} +1 -1
  127. package/dist/chunk-HNFFFFYH.cjs +114 -0
  128. package/dist/chunk-HNFFFFYH.cjs.map +1 -0
  129. package/dist/chunk-HNXLLDPN.js +25 -0
  130. package/dist/chunk-HNXLLDPN.js.map +1 -0
  131. package/dist/chunk-I2MMUFCN.cjs +154 -0
  132. package/dist/chunk-I2MMUFCN.cjs.map +1 -0
  133. package/dist/{chunk-GYXUS65N.cjs → chunk-IGDO62KR.cjs} +5 -5
  134. package/dist/{chunk-GYXUS65N.cjs.map → chunk-IGDO62KR.cjs.map} +1 -1
  135. package/dist/{chunk-JBIGSP2T.js → chunk-ILDLYRTP.js} +5 -4
  136. package/dist/chunk-ILDLYRTP.js.map +1 -0
  137. package/dist/{chunk-HC3NAN55.cjs → chunk-IPL2O2OL.cjs} +19 -19
  138. package/dist/{chunk-HC3NAN55.cjs.map → chunk-IPL2O2OL.cjs.map} +1 -1
  139. package/dist/chunk-ISUIKUX7.cjs +337 -0
  140. package/dist/chunk-ISUIKUX7.cjs.map +1 -0
  141. package/dist/{chunk-N5O47VGS.cjs → chunk-IVGI353O.cjs} +2 -2
  142. package/dist/{chunk-N5O47VGS.cjs.map → chunk-IVGI353O.cjs.map} +1 -1
  143. package/dist/chunk-IWRBJHO3.cjs +51 -0
  144. package/dist/chunk-IWRBJHO3.cjs.map +1 -0
  145. package/dist/{chunk-KRU6IGV7.js → chunk-JUJGWUAN.js} +28 -6
  146. package/dist/chunk-JUJGWUAN.js.map +1 -0
  147. package/dist/{chunk-BUT6MF5K.cjs → chunk-KQ6GLYFZ.cjs} +4 -4
  148. package/dist/{chunk-BUT6MF5K.cjs.map → chunk-KQ6GLYFZ.cjs.map} +1 -1
  149. package/dist/chunk-L6K4PRZK.cjs +4 -0
  150. package/dist/chunk-L6K4PRZK.cjs.map +1 -0
  151. package/dist/{chunk-P7UMS4E6.cjs → chunk-LC7PVBXH.cjs} +16 -8
  152. package/dist/chunk-LC7PVBXH.cjs.map +1 -0
  153. package/dist/chunk-LRRSD7LR.js +248 -0
  154. package/dist/chunk-LRRSD7LR.js.map +1 -0
  155. package/dist/chunk-LSMS6DY7.cjs +331 -0
  156. package/dist/chunk-LSMS6DY7.cjs.map +1 -0
  157. package/dist/chunk-M3VPGJMV.js +283 -0
  158. package/dist/chunk-M3VPGJMV.js.map +1 -0
  159. package/dist/{chunk-2JICT4A2.js → chunk-N54FYWG6.js} +3 -3
  160. package/dist/{chunk-2JICT4A2.js.map → chunk-N54FYWG6.js.map} +1 -1
  161. package/dist/chunk-N5JDL4VE.js +3 -0
  162. package/dist/chunk-N5JDL4VE.js.map +1 -0
  163. package/dist/{chunk-KGKBZN3T.cjs → chunk-NAH65KPK.cjs} +8 -8
  164. package/dist/{chunk-KGKBZN3T.cjs.map → chunk-NAH65KPK.cjs.map} +1 -1
  165. package/dist/chunk-O4WGSOJI.js +261 -0
  166. package/dist/chunk-O4WGSOJI.js.map +1 -0
  167. package/dist/{chunk-SVSHA7XV.js → chunk-O6XDA3SI.js} +31 -33
  168. package/dist/chunk-O6XDA3SI.js.map +1 -0
  169. package/dist/chunk-OIF34LEN.cjs +425 -0
  170. package/dist/chunk-OIF34LEN.cjs.map +1 -0
  171. package/dist/chunk-ORCCJ5VY.cjs +218 -0
  172. package/dist/chunk-ORCCJ5VY.cjs.map +1 -0
  173. package/dist/{chunk-CRS2CQWM.js → chunk-OSTSZDQC.js} +3 -3
  174. package/dist/{chunk-CRS2CQWM.js.map → chunk-OSTSZDQC.js.map} +1 -1
  175. package/dist/{chunk-MLAWXPRY.js → chunk-OZ5CKVQN.js} +41 -2
  176. package/dist/chunk-OZ5CKVQN.js.map +1 -0
  177. package/dist/chunk-P22YCUVM.cjs +4 -0
  178. package/dist/chunk-P22YCUVM.cjs.map +1 -0
  179. package/dist/chunk-P55LNEDH.cjs +306 -0
  180. package/dist/chunk-P55LNEDH.cjs.map +1 -0
  181. package/dist/{chunk-R6KPWIGO.js → chunk-P7D7BYFE.js} +4 -4
  182. package/dist/{chunk-R6KPWIGO.js.map → chunk-P7D7BYFE.js.map} +1 -1
  183. package/dist/{chunk-GU5OS7JJ.cjs → chunk-PYI2IWNX.cjs} +4 -4
  184. package/dist/{chunk-GU5OS7JJ.cjs.map → chunk-PYI2IWNX.cjs.map} +1 -1
  185. package/dist/chunk-Q3YVLO52.cjs +174 -0
  186. package/dist/chunk-Q3YVLO52.cjs.map +1 -0
  187. package/dist/{chunk-K34DXMLZ.js → chunk-QJ2L5RU6.js} +7 -7
  188. package/dist/{chunk-K34DXMLZ.js.map → chunk-QJ2L5RU6.js.map} +1 -1
  189. package/dist/{chunk-X4LBUPJO.cjs → chunk-QX6AAVDE.cjs} +31 -33
  190. package/dist/chunk-QX6AAVDE.cjs.map +1 -0
  191. package/dist/{chunk-LFPJ3OUM.cjs → chunk-RIUQP2QS.cjs} +5 -5
  192. package/dist/{chunk-LFPJ3OUM.cjs.map → chunk-RIUQP2QS.cjs.map} +1 -1
  193. package/dist/{chunk-JHG3ELS2.js → chunk-RPFATYUI.js} +2 -2
  194. package/dist/{chunk-JHG3ELS2.js.map → chunk-RPFATYUI.js.map} +1 -1
  195. package/dist/{chunk-FZURBQJ2.js → chunk-RSJGTWLM.js} +3 -3
  196. package/dist/{chunk-FZURBQJ2.js.map → chunk-RSJGTWLM.js.map} +1 -1
  197. package/dist/{chunk-XBTKZCZF.js → chunk-RZSSQ7AT.js} +3 -3
  198. package/dist/{chunk-XBTKZCZF.js.map → chunk-RZSSQ7AT.js.map} +1 -1
  199. package/dist/{chunk-VROIMIHB.cjs → chunk-SHBCUXFS.cjs} +28 -6
  200. package/dist/chunk-SHBCUXFS.cjs.map +1 -0
  201. package/dist/{chunk-JELTRRR5.cjs → chunk-SW2E7XKY.cjs} +9 -9
  202. package/dist/{chunk-JELTRRR5.cjs.map → chunk-SW2E7XKY.cjs.map} +1 -1
  203. package/dist/chunk-SZSRGUVO.js +402 -0
  204. package/dist/chunk-SZSRGUVO.js.map +1 -0
  205. package/dist/{chunk-HZ4MBUC3.js → chunk-TI3TQQ7F.js} +4 -53
  206. package/dist/chunk-TI3TQQ7F.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-ZYL4SNOR.js → chunk-UJDWFDKE.js} +3 -3
  212. package/dist/{chunk-ZYL4SNOR.js.map → chunk-UJDWFDKE.js.map} +1 -1
  213. package/dist/{chunk-4HC2IBOX.js → chunk-UNFDIBKJ.js} +3 -3
  214. package/dist/{chunk-4HC2IBOX.js.map → chunk-UNFDIBKJ.js.map} +1 -1
  215. package/dist/{chunk-IYWG72DM.js → chunk-VEE46VTX.js} +4 -4
  216. package/dist/{chunk-IYWG72DM.js.map → chunk-VEE46VTX.js.map} +1 -1
  217. package/dist/{chunk-Y4E2WRUR.cjs → chunk-VFFV7EMT.cjs} +6 -6
  218. package/dist/{chunk-Y4E2WRUR.cjs.map → chunk-VFFV7EMT.cjs.map} +1 -1
  219. package/dist/chunk-VNEAQCY2.js +308 -0
  220. package/dist/chunk-VNEAQCY2.js.map +1 -0
  221. package/dist/chunk-VOYLX32A.cjs +271 -0
  222. package/dist/chunk-VOYLX32A.cjs.map +1 -0
  223. package/dist/{chunk-7ZV67VZE.js → chunk-VSRO4PAI.js} +21 -3
  224. package/dist/chunk-VSRO4PAI.js.map +1 -0
  225. package/dist/{chunk-L6MDULYB.js → chunk-VU3ZMJBN.js} +2 -2
  226. package/dist/{chunk-L6MDULYB.js.map → chunk-VU3ZMJBN.js.map} +1 -1
  227. package/dist/{chunk-35Y4ILCU.cjs → chunk-VXW7D5LR.cjs} +21 -3
  228. package/dist/chunk-VXW7D5LR.cjs.map +1 -0
  229. package/dist/{chunk-7YO7DNUV.js → chunk-WFBUBT54.js} +2 -2
  230. package/dist/{chunk-7YO7DNUV.js.map → chunk-WFBUBT54.js.map} +1 -1
  231. package/dist/chunk-WQHBMZSC.js +295 -0
  232. package/dist/chunk-WQHBMZSC.js.map +1 -0
  233. package/dist/chunk-X5JOEZVR.js +525 -0
  234. package/dist/chunk-X5JOEZVR.js.map +1 -0
  235. package/dist/chunk-XBAAHOCP.js +3 -0
  236. package/dist/chunk-XBAAHOCP.js.map +1 -0
  237. package/dist/chunk-XNPDZANN.cjs +238 -0
  238. package/dist/chunk-XNPDZANN.cjs.map +1 -0
  239. package/dist/chunk-XXA4NZUC.js +3 -0
  240. package/dist/chunk-XXA4NZUC.js.map +1 -0
  241. package/dist/chunk-Y424YL55.js +59 -0
  242. package/dist/chunk-Y424YL55.js.map +1 -0
  243. package/dist/chunk-YGS2TRMP.js +38 -0
  244. package/dist/chunk-YGS2TRMP.js.map +1 -0
  245. package/dist/chunk-YUMOM3KE.js +167 -0
  246. package/dist/chunk-YUMOM3KE.js.map +1 -0
  247. package/dist/{chunk-3KPDQG5O.cjs → chunk-ZG6FXMDX.cjs} +5 -5
  248. package/dist/{chunk-3KPDQG5O.cjs.map → chunk-ZG6FXMDX.cjs.map} +1 -1
  249. package/dist/chunk-ZNUMOJOI.cjs +4 -0
  250. package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
  251. package/dist/components/Accordion/index.cjs +2 -2
  252. package/dist/components/Accordion/index.d.cts +6 -0
  253. package/dist/components/Accordion/index.d.ts +6 -0
  254. package/dist/components/Accordion/index.js +1 -1
  255. package/dist/components/ActionPlan/index.cjs +34 -0
  256. package/dist/components/ActionPlan/index.cjs.map +1 -0
  257. package/dist/components/ActionPlan/index.d.cts +65 -0
  258. package/dist/components/ActionPlan/index.d.ts +65 -0
  259. package/dist/components/ActionPlan/index.js +21 -0
  260. package/dist/components/ActionPlan/index.js.map +1 -0
  261. package/dist/components/ActivityFeed/index.cjs +31 -0
  262. package/dist/components/ActivityFeed/index.cjs.map +1 -0
  263. package/dist/components/ActivityFeed/index.d.cts +99 -0
  264. package/dist/components/ActivityFeed/index.d.ts +99 -0
  265. package/dist/components/ActivityFeed/index.js +18 -0
  266. package/dist/components/ActivityFeed/index.js.map +1 -0
  267. package/dist/components/AlertDialog/index.cjs +16 -3
  268. package/dist/components/AlertDialog/index.d.cts +66 -13
  269. package/dist/components/AlertDialog/index.d.ts +66 -13
  270. package/dist/components/AlertDialog/index.js +3 -2
  271. package/dist/components/AssociationList/index.cjs +29 -0
  272. package/dist/components/AssociationList/index.cjs.map +1 -0
  273. package/dist/components/AssociationList/index.d.cts +50 -0
  274. package/dist/components/AssociationList/index.d.ts +50 -0
  275. package/dist/components/AssociationList/index.js +16 -0
  276. package/dist/components/AssociationList/index.js.map +1 -0
  277. package/dist/components/Avatar/index.cjs +9 -7
  278. package/dist/components/Avatar/index.d.cts +45 -14
  279. package/dist/components/Avatar/index.d.ts +45 -14
  280. package/dist/components/Avatar/index.js +3 -1
  281. package/dist/components/AvatarGroup/index.cjs +20 -0
  282. package/dist/components/AvatarGroup/index.cjs.map +1 -0
  283. package/dist/components/AvatarGroup/index.d.cts +57 -0
  284. package/dist/components/AvatarGroup/index.d.ts +57 -0
  285. package/dist/components/AvatarGroup/index.js +7 -0
  286. package/dist/components/AvatarGroup/index.js.map +1 -0
  287. package/dist/components/Button/index.cjs +3 -2
  288. package/dist/components/Button/index.js +2 -1
  289. package/dist/components/CalendarHeatmap/index.cjs +18 -0
  290. package/dist/components/CalendarHeatmap/index.cjs.map +1 -0
  291. package/dist/components/CalendarHeatmap/index.d.cts +47 -0
  292. package/dist/components/CalendarHeatmap/index.d.ts +47 -0
  293. package/dist/components/CalendarHeatmap/index.js +5 -0
  294. package/dist/components/CalendarHeatmap/index.js.map +1 -0
  295. package/dist/components/CalendarView/index.cjs +5 -4
  296. package/dist/components/CalendarView/index.js +3 -2
  297. package/dist/components/ClampedText/index.cjs +3 -2
  298. package/dist/components/ClampedText/index.js +2 -1
  299. package/dist/components/CollabStatus/index.cjs +6 -4
  300. package/dist/components/CollabStatus/index.d.cts +11 -0
  301. package/dist/components/CollabStatus/index.d.ts +11 -0
  302. package/dist/components/CollabStatus/index.js +3 -1
  303. package/dist/components/Collapsible/index.cjs +4 -4
  304. package/dist/components/Collapsible/index.d.cts +6 -0
  305. package/dist/components/Collapsible/index.d.ts +6 -0
  306. package/dist/components/Collapsible/index.js +1 -1
  307. package/dist/components/CompletenessMeter/index.cjs +22 -0
  308. package/dist/components/CompletenessMeter/index.cjs.map +1 -0
  309. package/dist/components/CompletenessMeter/index.d.cts +52 -0
  310. package/dist/components/CompletenessMeter/index.d.ts +52 -0
  311. package/dist/components/CompletenessMeter/index.js +5 -0
  312. package/dist/components/CompletenessMeter/index.js.map +1 -0
  313. package/dist/components/CustomizableDashboard/index.cjs +10 -9
  314. package/dist/components/CustomizableDashboard/index.js +3 -2
  315. package/dist/components/DateInput/index.d.cts +36 -4
  316. package/dist/components/DateInput/index.d.ts +36 -4
  317. package/dist/components/Dropdown/index.cjs +9 -8
  318. package/dist/components/Dropdown/index.js +2 -1
  319. package/dist/components/FieldHistory/index.cjs +34 -0
  320. package/dist/components/FieldHistory/index.cjs.map +1 -0
  321. package/dist/components/FieldHistory/index.d.cts +66 -0
  322. package/dist/components/FieldHistory/index.d.ts +66 -0
  323. package/dist/components/FieldHistory/index.js +21 -0
  324. package/dist/components/FieldHistory/index.js.map +1 -0
  325. package/dist/components/FloatingWindow/index.cjs +5 -4
  326. package/dist/components/FloatingWindow/index.js +3 -2
  327. package/dist/components/InlineEdit/index.cjs +20 -0
  328. package/dist/components/InlineEdit/index.cjs.map +1 -0
  329. package/dist/components/InlineEdit/index.d.cts +56 -0
  330. package/dist/components/InlineEdit/index.d.ts +56 -0
  331. package/dist/components/InlineEdit/index.js +7 -0
  332. package/dist/components/InlineEdit/index.js.map +1 -0
  333. package/dist/components/ListView/index.cjs +5 -4
  334. package/dist/components/ListView/index.js +3 -2
  335. package/dist/components/LogoUploader/index.cjs +18 -0
  336. package/dist/components/LogoUploader/index.cjs.map +1 -0
  337. package/dist/components/LogoUploader/index.d.cts +49 -0
  338. package/dist/components/LogoUploader/index.d.ts +49 -0
  339. package/dist/components/LogoUploader/index.js +5 -0
  340. package/dist/components/LogoUploader/index.js.map +1 -0
  341. package/dist/components/Markdown/index.cjs +17 -16
  342. package/dist/components/Markdown/index.js +8 -7
  343. package/dist/components/MediaEditor/index.cjs +9 -8
  344. package/dist/components/MediaEditor/index.js +4 -3
  345. package/dist/components/MediaFeed/index.cjs +8 -5
  346. package/dist/components/MediaFeed/index.js +7 -4
  347. package/dist/components/MediaPlayer/index.cjs +6 -5
  348. package/dist/components/MediaPlayer/index.js +3 -2
  349. package/dist/components/MegaMenu/index.cjs +2 -1
  350. package/dist/components/MegaMenu/index.js +2 -1
  351. package/dist/components/PhiMask/index.cjs +18 -0
  352. package/dist/components/PhiMask/index.cjs.map +1 -0
  353. package/dist/components/PhiMask/index.d.cts +45 -0
  354. package/dist/components/PhiMask/index.d.ts +45 -0
  355. package/dist/components/PhiMask/index.js +5 -0
  356. package/dist/components/PhiMask/index.js.map +1 -0
  357. package/dist/components/PhoneInput/index.d.cts +3 -36
  358. package/dist/components/PhoneInput/index.d.ts +3 -36
  359. package/dist/components/PropertyList/index.cjs +25 -0
  360. package/dist/components/PropertyList/index.cjs.map +1 -0
  361. package/dist/components/PropertyList/index.d.cts +71 -0
  362. package/dist/components/PropertyList/index.d.ts +71 -0
  363. package/dist/components/PropertyList/index.js +12 -0
  364. package/dist/components/PropertyList/index.js.map +1 -0
  365. package/dist/components/RadialExplorer/index.cjs +2 -1
  366. package/dist/components/RadialExplorer/index.js +2 -1
  367. package/dist/components/Rating/index.cjs +28 -0
  368. package/dist/components/Rating/index.cjs.map +1 -0
  369. package/dist/components/Rating/index.d.cts +85 -0
  370. package/dist/components/Rating/index.d.ts +85 -0
  371. package/dist/components/Rating/index.js +7 -0
  372. package/dist/components/Rating/index.js.map +1 -0
  373. package/dist/components/RecordHeader/index.cjs +29 -0
  374. package/dist/components/RecordHeader/index.cjs.map +1 -0
  375. package/dist/components/RecordHeader/index.d.cts +86 -0
  376. package/dist/components/RecordHeader/index.d.ts +86 -0
  377. package/dist/components/RecordHeader/index.js +16 -0
  378. package/dist/components/RecordHeader/index.js.map +1 -0
  379. package/dist/components/RecordLayout/index.cjs +21 -0
  380. package/dist/components/RecordLayout/index.cjs.map +1 -0
  381. package/dist/components/RecordLayout/index.d.cts +40 -0
  382. package/dist/components/RecordLayout/index.d.ts +40 -0
  383. package/dist/components/RecordLayout/index.js +8 -0
  384. package/dist/components/RecordLayout/index.js.map +1 -0
  385. package/dist/components/RichTextEditor/index.cjs +8 -6
  386. package/dist/components/RichTextEditor/index.js +5 -3
  387. package/dist/components/SectionSpyNav/index.cjs +2 -1
  388. package/dist/components/SectionSpyNav/index.js +2 -1
  389. package/dist/components/SuperChat/index.cjs +50 -22
  390. package/dist/components/SuperChat/index.cjs.map +1 -1
  391. package/dist/components/SuperChat/index.d.cts +93 -2
  392. package/dist/components/SuperChat/index.d.ts +93 -2
  393. package/dist/components/SuperChat/index.js +38 -10
  394. package/dist/components/SuperChat/index.js.map +1 -1
  395. package/dist/components/SuperChat/plugins/index.cjs +5 -4
  396. package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
  397. package/dist/components/SuperChat/plugins/index.js +4 -3
  398. package/dist/components/SuperChat/plugins/index.js.map +1 -1
  399. package/dist/components/Tabs/index.cjs +9 -7
  400. package/dist/components/Tabs/index.d.cts +12 -1
  401. package/dist/components/Tabs/index.d.ts +12 -1
  402. package/dist/components/Tabs/index.js +3 -1
  403. package/dist/components/TagEditor/index.cjs +20 -0
  404. package/dist/components/TagEditor/index.cjs.map +1 -0
  405. package/dist/components/TagEditor/index.d.cts +46 -0
  406. package/dist/components/TagEditor/index.d.ts +46 -0
  407. package/dist/components/TagEditor/index.js +7 -0
  408. package/dist/components/TagEditor/index.js.map +1 -0
  409. package/dist/components/UserPicker/index.cjs +24 -0
  410. package/dist/components/UserPicker/index.cjs.map +1 -0
  411. package/dist/components/UserPicker/index.d.cts +60 -0
  412. package/dist/components/UserPicker/index.d.ts +60 -0
  413. package/dist/components/UserPicker/index.js +11 -0
  414. package/dist/components/UserPicker/index.js.map +1 -0
  415. package/dist/components/ViewSet/index.cjs +6 -5
  416. package/dist/components/ViewSet/index.d.cts +2 -1
  417. package/dist/components/ViewSet/index.d.ts +2 -1
  418. package/dist/components/ViewSet/index.js +5 -4
  419. package/dist/components/ViewSwitcher/index.d.cts +39 -4
  420. package/dist/components/ViewSwitcher/index.d.ts +39 -4
  421. package/dist/datavis.cjs +3 -2
  422. package/dist/datavis.cjs.map +1 -1
  423. package/dist/datavis.js +2 -1
  424. package/dist/datavis.js.map +1 -1
  425. package/dist/esheet.cjs +8 -6
  426. package/dist/esheet.cjs.map +1 -1
  427. package/dist/esheet.js +5 -3
  428. package/dist/esheet.js.map +1 -1
  429. package/dist/hooks/index.cjs +53 -27
  430. package/dist/hooks/index.d.cts +91 -6
  431. package/dist/hooks/index.d.ts +91 -6
  432. package/dist/hooks/index.js +5 -3
  433. package/dist/index.cjs +1258 -714
  434. package/dist/index.cjs.map +1 -1
  435. package/dist/index.d.cts +1253 -168
  436. package/dist/index.d.ts +1253 -168
  437. package/dist/index.js +536 -168
  438. package/dist/index.js.map +1 -1
  439. package/dist/org-chart.cjs +1302 -0
  440. package/dist/org-chart.cjs.map +1 -0
  441. package/dist/org-chart.d.cts +164 -0
  442. package/dist/org-chart.d.ts +164 -0
  443. package/dist/org-chart.js +1277 -0
  444. package/dist/org-chart.js.map +1 -0
  445. package/dist/styles.css +1 -1
  446. package/dist/tailwind-preset.cjs +4 -4
  447. package/dist/tailwind-preset.js +1 -1
  448. package/dist/{index-DoYYWsNc.d.cts → types-CDeBNZiE.d.cts} +1 -36
  449. package/dist/{index-DoYYWsNc.d.ts → types-CDeBNZiE.d.ts} +1 -36
  450. package/package.json +22 -2
  451. package/dist/CsvBlock-FX5YNGNE.cjs +0 -17
  452. package/dist/CsvBlock-VLMG7GUO.js +0 -8
  453. package/dist/HtmlPreviewBlock-5JE7L3GR.js +0 -8
  454. package/dist/HtmlPreviewBlock-UO37JQ3K.cjs +0 -17
  455. package/dist/MermaidBlock-3XHFBAMV.js +0 -8
  456. package/dist/MermaidBlock-RZ75RPZA.cjs +0 -17
  457. package/dist/SurveyBlock-MUVJ3JUI.js +0 -8
  458. package/dist/SurveyBlock-VH47YXZC.cjs +0 -17
  459. package/dist/chunk-35Y4ILCU.cjs.map +0 -1
  460. package/dist/chunk-6N6LIAUJ.cjs +0 -80
  461. package/dist/chunk-6N6LIAUJ.cjs.map +0 -1
  462. package/dist/chunk-7ZV67VZE.js.map +0 -1
  463. package/dist/chunk-7ZVTLTJF.js +0 -109
  464. package/dist/chunk-7ZVTLTJF.js.map +0 -1
  465. package/dist/chunk-DVOQ3JNO.js.map +0 -1
  466. package/dist/chunk-GBUVIGD5.js.map +0 -1
  467. package/dist/chunk-HZ4MBUC3.js.map +0 -1
  468. package/dist/chunk-JBIGSP2T.js.map +0 -1
  469. package/dist/chunk-JEIW7BSV.cjs.map +0 -1
  470. package/dist/chunk-KRU6IGV7.js.map +0 -1
  471. package/dist/chunk-LHBWRMNC.cjs.map +0 -1
  472. package/dist/chunk-MLAWXPRY.js.map +0 -1
  473. package/dist/chunk-P7UMS4E6.cjs.map +0 -1
  474. package/dist/chunk-QURJVPRH.cjs.map +0 -1
  475. package/dist/chunk-SVSHA7XV.js.map +0 -1
  476. package/dist/chunk-UBSH27C2.js +0 -78
  477. package/dist/chunk-UBSH27C2.js.map +0 -1
  478. package/dist/chunk-VROIMIHB.cjs.map +0 -1
  479. package/dist/chunk-X4LBUPJO.cjs.map +0 -1
  480. package/dist/chunk-YVPC65ZJ.cjs.map +0 -1
  481. package/dist/chunk-ZTMYKAVU.cjs.map +0 -1
@@ -0,0 +1,238 @@
1
+ 'use strict';
2
+
3
+ var chunkIVGI353O_cjs = require('./chunk-IVGI353O.cjs');
4
+ var chunkGKDHMNUA_cjs = require('./chunk-GKDHMNUA.cjs');
5
+ var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
6
+ var React = require('react');
7
+ var classVarianceAuthority = require('class-variance-authority');
8
+ var lucideReact = require('lucide-react');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+ var luxon = require('luxon');
11
+
12
+ function _interopNamespace(e) {
13
+ if (e && e.__esModule) return e;
14
+ var n = Object.create(null);
15
+ if (e) {
16
+ Object.keys(e).forEach(function (k) {
17
+ if (k !== 'default') {
18
+ var d = Object.getOwnPropertyDescriptor(e, k);
19
+ Object.defineProperty(n, k, d.get ? d : {
20
+ enumerable: true,
21
+ get: function () { return e[k]; }
22
+ });
23
+ }
24
+ });
25
+ }
26
+ n.default = e;
27
+ return Object.freeze(n);
28
+ }
29
+
30
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
+
32
+ var defaultRatingLabels = {
33
+ value: (value, max) => `${value} out of ${max}`,
34
+ group: "Rating",
35
+ option: (value) => `${value} ${value === 1 ? "star" : "stars"}`
36
+ };
37
+ var starVariants = classVarianceAuthority.cva("shrink-0", {
38
+ variants: {
39
+ size: { sm: "h-3.5 w-3.5", md: "h-5 w-5", lg: "h-6 w-6" }
40
+ },
41
+ defaultVariants: { size: "md" }
42
+ });
43
+ function StarIcon({ fill, size }) {
44
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative inline-flex", "aria-hidden": "true", children: [
45
+ /* @__PURE__ */ jsxRuntime.jsx(
46
+ lucideReact.Star,
47
+ {
48
+ className: chunkS5RVSXDV_cjs.cn(starVariants({ size }), "text-muted-foreground/40")
49
+ }
50
+ ),
51
+ fill > 0 && /* @__PURE__ */ jsxRuntime.jsx(
52
+ "span",
53
+ {
54
+ className: "absolute inset-y-0 start-0 overflow-hidden",
55
+ style: { width: `${fill * 100}%` },
56
+ children: /* @__PURE__ */ jsxRuntime.jsx(
57
+ lucideReact.Star,
58
+ {
59
+ className: chunkS5RVSXDV_cjs.cn(starVariants({ size }), "text-warning-500"),
60
+ fill: "currentColor"
61
+ }
62
+ )
63
+ }
64
+ )
65
+ ] });
66
+ }
67
+ var Rating = React__namespace.forwardRef(
68
+ function Rating2({
69
+ value,
70
+ max = 5,
71
+ size = "md",
72
+ onChange,
73
+ disabled = false,
74
+ labels: labelOverrides,
75
+ className,
76
+ ...props
77
+ }, ref) {
78
+ const labels = { ...defaultRatingLabels, ...labelOverrides };
79
+ const radios = React__namespace.useRef([]);
80
+ const stars = Array.from({ length: max }, (_, i) => i + 1);
81
+ if (!onChange) {
82
+ const rounded = Math.min(max, Math.max(0, Math.round(value * 2) / 2));
83
+ return /* @__PURE__ */ jsxRuntime.jsx(
84
+ "div",
85
+ {
86
+ ref,
87
+ role: "img",
88
+ "aria-label": labels.value(rounded, max),
89
+ "data-slot": "rating",
90
+ className: chunkS5RVSXDV_cjs.cn("inline-flex items-center gap-0.5", className),
91
+ ...props,
92
+ children: stars.map((n) => /* @__PURE__ */ jsxRuntime.jsx(
93
+ StarIcon,
94
+ {
95
+ size,
96
+ fill: Math.min(1, Math.max(0, rounded - n + 1))
97
+ },
98
+ n
99
+ ))
100
+ }
101
+ );
102
+ }
103
+ const current = Math.min(max, Math.max(0, Math.round(value)));
104
+ const select = (next) => {
105
+ const clamped = Math.min(max, Math.max(1, next));
106
+ onChange(clamped);
107
+ radios.current[clamped - 1]?.focus();
108
+ };
109
+ const onKeyDown = (e) => {
110
+ const rtl = getComputedStyle(e.currentTarget).direction === "rtl";
111
+ const step = {
112
+ ArrowUp: 1,
113
+ ArrowDown: -1,
114
+ ArrowRight: rtl ? -1 : 1,
115
+ ArrowLeft: rtl ? 1 : -1
116
+ };
117
+ if (e.key === "Home") select(1);
118
+ else if (e.key === "End") select(max);
119
+ else if (step[e.key]) select((current || 0) + step[e.key]);
120
+ else return;
121
+ e.preventDefault();
122
+ };
123
+ return /* @__PURE__ */ jsxRuntime.jsx(
124
+ "div",
125
+ {
126
+ ref,
127
+ role: "radiogroup",
128
+ "aria-label": labels.group,
129
+ "aria-disabled": disabled || void 0,
130
+ "data-slot": "rating",
131
+ className: chunkS5RVSXDV_cjs.cn("inline-flex items-center gap-0.5", className),
132
+ ...props,
133
+ children: stars.map((n) => /* @__PURE__ */ jsxRuntime.jsx(
134
+ "button",
135
+ {
136
+ ref: (el) => {
137
+ radios.current[n - 1] = el;
138
+ },
139
+ type: "button",
140
+ role: "radio",
141
+ "aria-checked": n === current,
142
+ "aria-label": labels.option(n, max),
143
+ tabIndex: n === (current || 1) ? 0 : -1,
144
+ disabled,
145
+ onClick: () => select(n),
146
+ onKeyDown: disabled ? void 0 : onKeyDown,
147
+ className: chunkS5RVSXDV_cjs.cn(
148
+ "rounded-sm disabled:cursor-not-allowed disabled:opacity-50",
149
+ "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
150
+ "motion-safe:transition-transform motion-safe:enabled:hover:scale-110"
151
+ ),
152
+ children: /* @__PURE__ */ jsxRuntime.jsx(StarIcon, { size, fill: n <= current ? 1 : 0 })
153
+ },
154
+ n
155
+ ))
156
+ }
157
+ );
158
+ }
159
+ );
160
+ var defaultReviewCardLabels = {
161
+ source: (source) => `via ${source}`,
162
+ reply: "Reply",
163
+ showMore: "Show more",
164
+ showLess: "Show less"
165
+ };
166
+ var ReviewCard = React__namespace.forwardRef(
167
+ function ReviewCard2({
168
+ author,
169
+ date,
170
+ dateStyle = "relative",
171
+ locale,
172
+ rating,
173
+ body,
174
+ source,
175
+ reply,
176
+ bodyLines = 4,
177
+ labels: labelOverrides,
178
+ ratingLabels,
179
+ className,
180
+ ...props
181
+ }, ref) {
182
+ const labels = { ...defaultReviewCardLabels, ...labelOverrides };
183
+ const parsed = typeof date === "string" ? luxon.DateTime.fromISO(date) : luxon.DateTime.fromJSDate(date);
184
+ const dt = locale ? parsed.setLocale(locale) : parsed;
185
+ const absolute = dt.toLocaleString(luxon.DateTime.DATE_MED);
186
+ return /* @__PURE__ */ jsxRuntime.jsxs(
187
+ "article",
188
+ {
189
+ ref,
190
+ "data-slot": "review-card",
191
+ className: chunkS5RVSXDV_cjs.cn(
192
+ "bg-card text-card-foreground border-border rounded-lg border p-4",
193
+ className
194
+ ),
195
+ ...props,
196
+ children: [
197
+ /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex items-start gap-3", children: [
198
+ /* @__PURE__ */ jsxRuntime.jsx(chunkGKDHMNUA_cjs.Avatar, { name: author.name, src: author.avatarUrl, alt: "", size: "md" }),
199
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
200
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-foreground truncate text-sm font-medium", children: author.name }),
201
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-muted-foreground flex flex-wrap items-center gap-x-2 gap-y-1 text-xs", children: [
202
+ /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, size: "sm", labels: ratingLabels }),
203
+ /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime: dt.toISO() ?? void 0, title: absolute, children: dateStyle === "relative" ? dt.toRelative() : absolute }),
204
+ source && /* @__PURE__ */ jsxRuntime.jsx("span", { children: labels.source(source) })
205
+ ] })
206
+ ] })
207
+ ] }),
208
+ /* @__PURE__ */ jsxRuntime.jsx(
209
+ chunkIVGI353O_cjs.ClampedText,
210
+ {
211
+ text: body,
212
+ lines: bodyLines,
213
+ showMoreLabel: labels.showMore,
214
+ showLessLabel: labels.showLess,
215
+ className: "text-foreground mt-3 block text-sm"
216
+ }
217
+ ),
218
+ reply && /* @__PURE__ */ jsxRuntime.jsx(
219
+ "section",
220
+ {
221
+ "aria-label": labels.reply,
222
+ "data-slot": "review-card-reply",
223
+ className: "border-border text-muted-foreground mt-3 border-s-2 ps-3 text-sm",
224
+ children: reply
225
+ }
226
+ )
227
+ ]
228
+ }
229
+ );
230
+ }
231
+ );
232
+
233
+ exports.Rating = Rating;
234
+ exports.ReviewCard = ReviewCard;
235
+ exports.defaultRatingLabels = defaultRatingLabels;
236
+ exports.defaultReviewCardLabels = defaultReviewCardLabels;
237
+ //# sourceMappingURL=chunk-XNPDZANN.cjs.map
238
+ //# sourceMappingURL=chunk-XNPDZANN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Rating/Rating.tsx","../src/components/Rating/ReviewCard.tsx"],"names":["cva","jsxs","jsx","Star","cn","React","Rating","React2","ReviewCard","DateTime","Avatar","ClampedText"],"mappings":"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","file":"chunk-XNPDZANN.cjs","sourcesContent":["import * as React from 'react';\nimport { cva } from 'class-variance-authority';\nimport { Star } from 'lucide-react';\nimport { cn } from '../../utils/cn';\n\nexport interface RatingLabels {\n /** Accessible text of the read-only display, e.g. `4.5 out of 5`. */\n value: (value: number, max: number) => string;\n /** Accessible name of the interactive radio group. */\n group: string;\n /** Accessible name of one option, e.g. `3 stars`. */\n option: (value: number, max: number) => string;\n}\n\nexport const defaultRatingLabels: RatingLabels = {\n value: (value, max) => `${value} out of ${max}`,\n group: 'Rating',\n option: (value) => `${value} ${value === 1 ? 'star' : 'stars'}`,\n};\n\nconst starVariants = cva('shrink-0', {\n variants: {\n size: { sm: 'h-3.5 w-3.5', md: 'h-5 w-5', lg: 'h-6 w-6' },\n },\n defaultVariants: { size: 'md' },\n});\n\nexport interface RatingProps extends Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'onChange'\n> {\n /** Current rating; read-only displays round to the nearest half. */\n value: number;\n /** Number of stars. */\n max?: number;\n /** Star size. */\n size?: 'sm' | 'md' | 'lg';\n /** Makes the rating editable as a radio group of whole stars. */\n onChange?: (value: number) => void;\n /** Disables the interactive mode. */\n disabled?: boolean;\n /** Overrides for any user-facing string. */\n labels?: Partial<RatingLabels>;\n}\n\nfunction StarIcon({ fill, size }: { fill: number; size: RatingProps['size'] }) {\n return (\n <span className=\"relative inline-flex\" aria-hidden=\"true\">\n <Star\n className={cn(starVariants({ size }), 'text-muted-foreground/40')}\n />\n {fill > 0 && (\n <span\n className=\"absolute inset-y-0 start-0 overflow-hidden\"\n style={{ width: `${fill * 100}%` }}\n >\n <Star\n className={cn(starVariants({ size }), 'text-warning-500')}\n fill=\"currentColor\"\n />\n </span>\n )}\n </span>\n );\n}\n\n/**\n * Star rating: a read-only display with half-star precision, or — with\n * `onChange` — a keyboard-operable radio group.\n *\n * @example\n * ```tsx\n * <Rating value={4.5} />\n * <Rating value={stars} onChange={setStars} />\n * ```\n */\nexport const Rating = React.forwardRef<HTMLDivElement, RatingProps>(\n function Rating(\n {\n value,\n max = 5,\n size = 'md',\n onChange,\n disabled = false,\n labels: labelOverrides,\n className,\n ...props\n },\n ref\n ) {\n const labels = { ...defaultRatingLabels, ...labelOverrides };\n const radios = React.useRef<(HTMLButtonElement | null)[]>([]);\n const stars = Array.from({ length: max }, (_, i) => i + 1);\n\n if (!onChange) {\n const rounded = Math.min(max, Math.max(0, Math.round(value * 2) / 2));\n return (\n <div\n ref={ref}\n role=\"img\"\n aria-label={labels.value(rounded, max)}\n data-slot=\"rating\"\n className={cn('inline-flex items-center gap-0.5', className)}\n {...props}\n >\n {stars.map((n) => (\n <StarIcon\n key={n}\n size={size}\n fill={Math.min(1, Math.max(0, rounded - n + 1))}\n />\n ))}\n </div>\n );\n }\n\n const current = Math.min(max, Math.max(0, Math.round(value)));\n const select = (next: number) => {\n const clamped = Math.min(max, Math.max(1, next));\n onChange(clamped);\n radios.current[clamped - 1]?.focus();\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n const rtl = getComputedStyle(e.currentTarget).direction === 'rtl';\n const step: Record<string, number> = {\n ArrowUp: 1,\n ArrowDown: -1,\n ArrowRight: rtl ? -1 : 1,\n ArrowLeft: rtl ? 1 : -1,\n };\n if (e.key === 'Home') select(1);\n else if (e.key === 'End') select(max);\n else if (step[e.key]) select((current || 0) + step[e.key]);\n else return;\n e.preventDefault();\n };\n\n return (\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={labels.group}\n aria-disabled={disabled || undefined}\n data-slot=\"rating\"\n className={cn('inline-flex items-center gap-0.5', className)}\n {...props}\n >\n {stars.map((n) => (\n <button\n key={n}\n ref={(el) => {\n radios.current[n - 1] = el;\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={n === current}\n aria-label={labels.option(n, max)}\n tabIndex={n === (current || 1) ? 0 : -1}\n disabled={disabled}\n onClick={() => select(n)}\n onKeyDown={disabled ? undefined : onKeyDown}\n className={cn(\n 'rounded-sm disabled:cursor-not-allowed disabled:opacity-50',\n 'focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none',\n 'motion-safe:transition-transform motion-safe:enabled:hover:scale-110'\n )}\n >\n <StarIcon size={size} fill={n <= current ? 1 : 0} />\n </button>\n ))}\n </div>\n );\n }\n);\n","import * as React from 'react';\nimport { DateTime } from 'luxon';\nimport { cn } from '../../utils/cn';\nimport { Avatar } from '../Avatar/Avatar';\nimport { ClampedText } from '../ClampedText/ClampedText';\nimport { Rating, type RatingLabels } from './Rating';\n\nexport interface ReviewCardLabels {\n /** Source line, e.g. `via Google`. */\n source: (source: string) => string;\n /** Accessible name of the reply region. */\n reply: string;\n showMore: string;\n showLess: string;\n}\n\nexport const defaultReviewCardLabels: ReviewCardLabels = {\n source: (source) => `via ${source}`,\n reply: 'Reply',\n showMore: 'Show more',\n showLess: 'Show less',\n};\n\nexport interface ReviewCardProps extends React.HTMLAttributes<HTMLElement> {\n /** Who wrote the review. */\n author: { name: string; avatarUrl?: string | null };\n /** When it was written — ISO string or Date. */\n date: string | Date;\n /** Show the date as `3 days ago` (default) or as a localized date. */\n dateStyle?: 'relative' | 'absolute';\n /** BCP 47 locale for the date; defaults to the runtime locale. */\n locale?: string;\n /** Star rating, half-star precision. */\n rating: number;\n /** Review text; long bodies clamp with a Show more toggle. */\n body: string;\n /** Where the review came from, e.g. `Google`. */\n source?: string;\n /** Owner response shown under the review. */\n reply?: React.ReactNode;\n /** Lines shown before the body clamps. */\n bodyLines?: 2 | 3 | 4 | 5 | 6;\n /** Overrides for any user-facing string. */\n labels?: Partial<ReviewCardLabels>;\n /** Forwarded to the embedded Rating. */\n ratingLabels?: Partial<RatingLabels>;\n}\n\n/**\n * One review: author, star rating, date, source, clamped body and an optional\n * owner reply.\n *\n * @example\n * ```tsx\n * <ReviewCard author={{ name: 'Ann L.' }} date=\"2026-09-01\" rating={4} body={text} source=\"Google\" />\n * ```\n */\nexport const ReviewCard = React.forwardRef<HTMLElement, ReviewCardProps>(\n function ReviewCard(\n {\n author,\n date,\n dateStyle = 'relative',\n locale,\n rating,\n body,\n source,\n reply,\n bodyLines = 4,\n labels: labelOverrides,\n ratingLabels,\n className,\n ...props\n },\n ref\n ) {\n const labels = { ...defaultReviewCardLabels, ...labelOverrides };\n const parsed =\n typeof date === 'string'\n ? DateTime.fromISO(date)\n : DateTime.fromJSDate(date);\n const dt = locale ? parsed.setLocale(locale) : parsed;\n const absolute = dt.toLocaleString(DateTime.DATE_MED);\n\n return (\n <article\n ref={ref}\n data-slot=\"review-card\"\n className={cn(\n 'bg-card text-card-foreground border-border rounded-lg border p-4',\n className\n )}\n {...props}\n >\n <header className=\"flex items-start gap-3\">\n <Avatar name={author.name} src={author.avatarUrl} alt=\"\" size=\"md\" />\n <div className=\"min-w-0 flex-1\">\n <p className=\"text-foreground truncate text-sm font-medium\">\n {author.name}\n </p>\n <div className=\"text-muted-foreground flex flex-wrap items-center gap-x-2 gap-y-1 text-xs\">\n <Rating value={rating} size=\"sm\" labels={ratingLabels} />\n <time dateTime={dt.toISO() ?? undefined} title={absolute}>\n {dateStyle === 'relative' ? dt.toRelative() : absolute}\n </time>\n {source && <span>{labels.source(source)}</span>}\n </div>\n </div>\n </header>\n <ClampedText\n text={body}\n lines={bodyLines}\n showMoreLabel={labels.showMore}\n showLessLabel={labels.showLess}\n className=\"text-foreground mt-3 block text-sm\"\n />\n {reply && (\n <section\n aria-label={labels.reply}\n data-slot=\"review-card-reply\"\n className=\"border-border text-muted-foreground mt-3 border-s-2 ps-3 text-sm\"\n >\n {reply}\n </section>\n )}\n </article>\n );\n }\n);\n"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=chunk-XXA4NZUC.js.map
3
+ //# sourceMappingURL=chunk-XXA4NZUC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-XXA4NZUC.js"}
@@ -0,0 +1,59 @@
1
+ import { Skeleton } from './chunk-ZIUADGAR.js';
2
+ import { Button } from './chunk-WFBUBT54.js';
3
+ import { cn } from './chunk-TQONQSJO.js';
4
+ import { TriangleAlert } from 'lucide-react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ function RecordState({
8
+ kind,
9
+ slot,
10
+ message,
11
+ retryLabel,
12
+ onRetry,
13
+ rows = 3,
14
+ className,
15
+ children
16
+ }) {
17
+ if (kind === "loading") {
18
+ return /* @__PURE__ */ jsxs(
19
+ "div",
20
+ {
21
+ role: "status",
22
+ "data-slot": slot,
23
+ className: cn("space-y-4 p-4", className),
24
+ children: [
25
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: message }),
26
+ Array.from({ length: rows }, (_, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
27
+ /* @__PURE__ */ jsx(Skeleton, { circle: true, width: 28, height: 28, className: "shrink-0" }),
28
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 space-y-2", children: [
29
+ /* @__PURE__ */ jsx(Skeleton, { variant: "text", width: "60%" }),
30
+ /* @__PURE__ */ jsx(Skeleton, { variant: "text", width: "35%" })
31
+ ] })
32
+ ] }, i))
33
+ ]
34
+ }
35
+ );
36
+ }
37
+ return /* @__PURE__ */ jsxs(
38
+ "div",
39
+ {
40
+ "data-slot": slot,
41
+ className: cn(
42
+ "text-muted-foreground flex flex-col items-center justify-center gap-2 px-4 py-10 text-center text-sm",
43
+ className
44
+ ),
45
+ children: [
46
+ kind === "error" ? /* @__PURE__ */ jsxs("p", { role: "alert", className: "text-foreground flex items-center gap-2", children: [
47
+ /* @__PURE__ */ jsx(TriangleAlert, { className: "text-destructive size-4", "aria-hidden": true }),
48
+ message
49
+ ] }) : /* @__PURE__ */ jsx("p", { children: message }),
50
+ onRetry && retryLabel && /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", onClick: onRetry, children: retryLabel }),
51
+ children
52
+ ]
53
+ }
54
+ );
55
+ }
56
+
57
+ export { RecordState };
58
+ //# sourceMappingURL=chunk-Y424YL55.js.map
59
+ //# sourceMappingURL=chunk-Y424YL55.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ActivityFeed/RecordState.tsx"],"names":[],"mappings":";;;;;;AAuBO,SAAS,WAAA,CAAY;AAAA,EAC1B,IAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA,GAAO,CAAA;AAAA,EACP,SAAA;AAAA,EACA;AACF,CAAA,EAAqB;AACnB,EAAA,IAAI,SAAS,SAAA,EAAW;AACtB,IAAA,uBACE,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,WAAA,EAAW,IAAA;AAAA,QACX,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA;AAAA,QAExC,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,UAClC,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAG,CAAC,CAAA,EAAG,CAAA,qBAChC,IAAA,CAAC,KAAA,EAAA,EAAY,SAAA,EAAU,yBAAA,EACrB,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,QAAA,EAAA,EAAS,QAAM,IAAA,EAAC,KAAA,EAAO,IAAI,MAAA,EAAQ,EAAA,EAAI,WAAU,UAAA,EAAW,CAAA;AAAA,4BAC7D,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,QAAA,EAAA,EAAS,OAAA,EAAQ,MAAA,EAAO,KAAA,EAAM,KAAA,EAAM,CAAA;AAAA,8BACrC,GAAA,CAAC,QAAA,EAAA,EAAS,OAAA,EAAQ,MAAA,EAAO,OAAM,KAAA,EAAM;AAAA,aAAA,EACvC;AAAA,WAAA,EAAA,EALQ,CAMV,CACD;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA,QACT,sGAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,IAAA,KAAS,0BACR,IAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,OAAA,EAAQ,WAAU,yCAAA,EACxB,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAU,yBAAA,EAA0B,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,UAC9D;AAAA,SAAA,EACH,CAAA,mBAEA,GAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,QAEb,OAAA,IAAW,UAAA,oBACV,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAQ,IAAA,EAAK,IAAA,EAAK,OAAA,EAAS,OAAA,EACxC,QAAA,EAAA,UAAA,EACH,CAAA;AAAA,QAED;AAAA;AAAA;AAAA,GACH;AAEJ","file":"chunk-Y424YL55.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { TriangleAlert } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { Skeleton } from '../Skeleton';\n\nexport interface RecordStateProps {\n kind: 'loading' | 'error' | 'empty';\n /** `data-slot` value, so each module keeps its own slot name. */\n slot: string;\n message: string;\n retryLabel?: string;\n onRetry?: () => void;\n /** Skeleton rows while loading. */\n rows?: number;\n className?: string;\n /** Extra actions under an empty or error message. */\n children?: React.ReactNode;\n}\n\n/** The loading, error and empty states shared by the Records modules. */\nexport function RecordState({\n kind,\n slot,\n message,\n retryLabel,\n onRetry,\n rows = 3,\n className,\n children,\n}: RecordStateProps) {\n if (kind === 'loading') {\n return (\n <div\n role=\"status\"\n data-slot={slot}\n className={cn('space-y-4 p-4', className)}\n >\n <span className=\"sr-only\">{message}</span>\n {Array.from({ length: rows }, (_, i) => (\n <div key={i} className=\"flex items-center gap-3\">\n <Skeleton circle width={28} height={28} className=\"shrink-0\" />\n <div className=\"flex-1 space-y-2\">\n <Skeleton variant=\"text\" width=\"60%\" />\n <Skeleton variant=\"text\" width=\"35%\" />\n </div>\n </div>\n ))}\n </div>\n );\n }\n return (\n <div\n data-slot={slot}\n className={cn(\n 'text-muted-foreground flex flex-col items-center justify-center gap-2 px-4 py-10 text-center text-sm',\n className\n )}\n >\n {kind === 'error' ? (\n <p role=\"alert\" className=\"text-foreground flex items-center gap-2\">\n <TriangleAlert className=\"text-destructive size-4\" aria-hidden />\n {message}\n </p>\n ) : (\n <p>{message}</p>\n )}\n {onRetry && retryLabel && (\n <Button variant=\"ghost\" size=\"sm\" onClick={onRetry}>\n {retryLabel}\n </Button>\n )}\n {children}\n </div>\n );\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import { toDateTime } from './chunk-3YBS4WUQ.js';
2
+ import { DateTime } from 'luxon';
3
+
4
+ function withLocale(dt, locale) {
5
+ return locale ? dt.setLocale(locale) : dt;
6
+ }
7
+ var millis = (dt) => dt ? dt.toMillis() : Number.NEGATIVE_INFINITY;
8
+ function groupByDay(items, getDate, zone) {
9
+ const dated = items.map((item) => ({ item, dt: toDateTime(getDate(item), zone) })).sort((a, b) => millis(b.dt) - millis(a.dt) || 0);
10
+ const groups = [];
11
+ for (const { item, dt } of dated) {
12
+ const key = dt?.toISODate() ?? "";
13
+ const last = groups[groups.length - 1];
14
+ if (last?.key === key) last.items.push(item);
15
+ else groups.push({ key, items: [item] });
16
+ }
17
+ return groups;
18
+ }
19
+ function formatDayLabel(key, options) {
20
+ if (!key) return options.undated;
21
+ const day = withLocale(
22
+ DateTime.fromISO(key, { zone: options.zone }),
23
+ options.locale
24
+ );
25
+ const today = DateTime.fromJSDate(options.now, { zone: options.zone });
26
+ if (day.hasSame(today, "day")) return options.today;
27
+ if (day.hasSame(today.minus({ days: 1 }), "day")) return options.yesterday;
28
+ return day.toLocaleString({
29
+ weekday: "long",
30
+ month: "long",
31
+ day: "numeric",
32
+ ...day.year !== today.year && { year: "numeric" }
33
+ });
34
+ }
35
+
36
+ export { formatDayLabel, groupByDay, withLocale };
37
+ //# sourceMappingURL=chunk-YGS2TRMP.js.map
38
+ //# sourceMappingURL=chunk-YGS2TRMP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ActivityFeed/dayGroups.ts"],"names":[],"mappings":";;;AAkBO,SAAS,UAAA,CAAW,IAAc,MAAA,EAA2B;AAClE,EAAA,OAAO,MAAA,GAAS,EAAA,CAAG,SAAA,CAAU,MAAM,CAAA,GAAI,EAAA;AACzC;AAEA,IAAM,SAAS,CAAC,EAAA,KACd,KAAK,EAAA,CAAG,QAAA,KAAa,MAAA,CAAO,iBAAA;AAGvB,SAAS,UAAA,CACd,KAAA,EACA,OAAA,EACA,IAAA,EACe;AACf,EAAA,MAAM,KAAA,GAAQ,KAAA,CACX,GAAA,CAAI,CAAC,IAAA,MAAU,EAAE,IAAA,EAAM,EAAA,EAAI,UAAA,CAAW,OAAA,CAAQ,IAAI,CAAA,EAAG,IAAI,CAAA,EAAE,CAAE,CAAA,CAC7D,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,MAAA,CAAO,CAAA,CAAE,EAAE,CAAA,GAAI,MAAA,CAAO,CAAA,CAAE,EAAE,CAAA,IAAK,CAAC,CAAA;AAElD,EAAA,MAAM,SAAwB,EAAC;AAC/B,EAAA,KAAA,MAAW,EAAE,IAAA,EAAM,EAAA,EAAG,IAAK,KAAA,EAAO;AAChC,IAAA,MAAM,GAAA,GAAM,EAAA,EAAI,SAAA,EAAU,IAAK,EAAA;AAC/B,IAAA,MAAM,IAAA,GAAO,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AACrC,IAAA,IAAI,MAAM,GAAA,KAAQ,GAAA,EAAK,IAAA,CAAK,KAAA,CAAM,KAAK,IAAI,CAAA;AAAA,SACtC,MAAA,CAAO,KAAK,EAAE,GAAA,EAAK,OAAO,CAAC,IAAI,GAAG,CAAA;AAAA,EACzC;AACA,EAAA,OAAO,MAAA;AACT;AAEO,SAAS,cAAA,CAAe,KAAa,OAAA,EAAkC;AAC5E,EAAA,IAAI,CAAC,GAAA,EAAK,OAAO,OAAA,CAAQ,OAAA;AACzB,EAAA,MAAM,GAAA,GAAM,UAAA;AAAA,IACV,SAAS,OAAA,CAAQ,GAAA,EAAK,EAAE,IAAA,EAAM,OAAA,CAAQ,MAAM,CAAA;AAAA,IAC5C,OAAA,CAAQ;AAAA,GACV;AACA,EAAA,MAAM,KAAA,GAAQ,SAAS,UAAA,CAAW,OAAA,CAAQ,KAAK,EAAE,IAAA,EAAM,OAAA,CAAQ,IAAA,EAAM,CAAA;AACrE,EAAA,IAAI,IAAI,OAAA,CAAQ,KAAA,EAAO,KAAK,CAAA,SAAU,OAAA,CAAQ,KAAA;AAC9C,EAAA,IAAI,GAAA,CAAI,OAAA,CAAQ,KAAA,CAAM,KAAA,CAAM,EAAE,IAAA,EAAM,CAAA,EAAG,CAAA,EAAG,KAAK,CAAA,EAAG,OAAO,OAAA,CAAQ,SAAA;AACjE,EAAA,OAAO,IAAI,cAAA,CAAe;AAAA,IACxB,OAAA,EAAS,MAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,GAAA,EAAK,SAAA;AAAA,IACL,GAAI,GAAA,CAAI,IAAA,KAAS,MAAM,IAAA,IAAQ,EAAE,MAAM,SAAA;AAAU,GAClD,CAAA;AACH","file":"chunk-YGS2TRMP.js","sourcesContent":["import { DateTime } from 'luxon';\nimport { toDateTime } from '../../views/types';\n\nexport interface DayGroup<T> {\n /** ISO date (`yyyy-MM-dd`) in the display zone; `''` for undated items. */\n key: string;\n items: T[];\n}\n\nexport interface DayLabelOptions {\n now: Date;\n zone: string;\n locale?: string;\n today: string;\n yesterday: string;\n undated: string;\n}\n\nexport function withLocale(dt: DateTime, locale?: string): DateTime {\n return locale ? dt.setLocale(locale) : dt;\n}\n\nconst millis = (dt: DateTime | null) =>\n dt ? dt.toMillis() : Number.NEGATIVE_INFINITY;\n\n/** Buckets items by calendar day in `zone`, newest first; undated items last. */\nexport function groupByDay<T>(\n items: readonly T[],\n getDate: (item: T) => Date | string | null | undefined,\n zone: string\n): DayGroup<T>[] {\n const dated = items\n .map((item) => ({ item, dt: toDateTime(getDate(item), zone) }))\n .sort((a, b) => millis(b.dt) - millis(a.dt) || 0);\n\n const groups: DayGroup<T>[] = [];\n for (const { item, dt } of dated) {\n const key = dt?.toISODate() ?? '';\n const last = groups[groups.length - 1];\n if (last?.key === key) last.items.push(item);\n else groups.push({ key, items: [item] });\n }\n return groups;\n}\n\nexport function formatDayLabel(key: string, options: DayLabelOptions): string {\n if (!key) return options.undated;\n const day = withLocale(\n DateTime.fromISO(key, { zone: options.zone }),\n options.locale\n );\n const today = DateTime.fromJSDate(options.now, { zone: options.zone });\n if (day.hasSame(today, 'day')) return options.today;\n if (day.hasSame(today.minus({ days: 1 }), 'day')) return options.yesterday;\n return day.toLocaleString({\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n ...(day.year !== today.year && { year: 'numeric' }),\n });\n}\n"]}
@@ -0,0 +1,167 @@
1
+ import { useLiveAnnouncement } from './chunk-HNXLLDPN.js';
2
+ import * as React from 'react';
3
+
4
+ function reorderIds(ids, draggedId, targetId, after) {
5
+ if (draggedId === targetId) return ids;
6
+ if (!ids.includes(draggedId)) return ids;
7
+ const without = ids.filter((i) => i !== draggedId);
8
+ const idx = without.indexOf(targetId);
9
+ if (idx === -1) return ids;
10
+ without.splice(after ? idx + 1 : idx, 0, draggedId);
11
+ return without;
12
+ }
13
+ function moveIdBy(ids, id, delta) {
14
+ const from = ids.indexOf(id);
15
+ if (from === -1) return ids;
16
+ const to = Math.max(0, Math.min(ids.length - 1, from + delta));
17
+ if (to === from) return ids;
18
+ const next = ids.filter((i) => i !== id);
19
+ next.splice(to, 0, id);
20
+ return next;
21
+ }
22
+ var DEFAULT_DRAG_REORDER_LABELS = {
23
+ moveUp: "Move up",
24
+ moveDown: "Move down",
25
+ moved: (position, total) => `Moved to position ${position} of ${total}`
26
+ };
27
+ function useDragReorder({
28
+ ids,
29
+ onReorder,
30
+ canDropOn,
31
+ keyboard = false,
32
+ announce,
33
+ getDragPreview,
34
+ labels: labelsProp
35
+ }) {
36
+ const labels = { ...DEFAULT_DRAG_REORDER_LABELS, ...labelsProp };
37
+ const [announcement, announceLive] = useLiveAnnouncement();
38
+ const [draggingId, setDraggingId] = React.useState(null);
39
+ const draggingRef = React.useRef(null);
40
+ const [over, setOver] = React.useState(null);
41
+ const enabled = Boolean(onReorder);
42
+ const reset = React.useCallback(() => {
43
+ draggingRef.current = null;
44
+ setDraggingId(null);
45
+ setOver(null);
46
+ }, []);
47
+ const reachable = (id, delta) => {
48
+ const from = ids.indexOf(id);
49
+ if (!enabled || from === -1) return 0;
50
+ const step = Math.sign(delta);
51
+ let reach = 0;
52
+ while (reach !== delta) {
53
+ const t = from + reach + step;
54
+ if (t < 0 || t >= ids.length || canDropOn && !canDropOn(id, ids[t]))
55
+ break;
56
+ reach += step;
57
+ }
58
+ return reach;
59
+ };
60
+ const moveBy = (id, delta) => {
61
+ const next = moveIdBy(ids, id, reachable(id, delta));
62
+ if (next === ids) return;
63
+ onReorder?.(next);
64
+ const message = labels.moved(next.indexOf(id) + 1, next.length, id);
65
+ if (announce) announce(message);
66
+ else announceLive(message);
67
+ };
68
+ const moveButtonProps = (id, direction, label) => {
69
+ const delta = direction === "up" ? -1 : 1;
70
+ return {
71
+ type: "button",
72
+ onClick: (e) => {
73
+ e.stopPropagation();
74
+ moveBy(id, delta);
75
+ },
76
+ disabled: reachable(id, delta) === 0,
77
+ "aria-label": label ?? (direction === "up" ? labels.moveUp : labels.moveDown)
78
+ };
79
+ };
80
+ const moveByRef = React.useRef(moveBy);
81
+ moveByRef.current = moveBy;
82
+ const rowProps = React.useCallback(
83
+ (id) => {
84
+ if (!enabled) return {};
85
+ const keyProps = keyboard ? {
86
+ tabIndex: 0,
87
+ "aria-keyshortcuts": "Alt+ArrowUp Alt+ArrowDown",
88
+ onKeyDown: (e) => {
89
+ if (e.target !== e.currentTarget || !e.altKey) return;
90
+ if (e.key !== "ArrowUp" && e.key !== "ArrowDown") return;
91
+ e.preventDefault();
92
+ moveByRef.current(id, e.key === "ArrowUp" ? -1 : 1);
93
+ }
94
+ } : {};
95
+ return {
96
+ ...keyProps,
97
+ draggable: true,
98
+ // WebKit (iPadOS Safari, incl. remote-pointer sessions) starts a text
99
+ // selection instead of a drag when the drag source contains selectable
100
+ // text — suppress selection and explicitly mark the row as the drag
101
+ // element so press-drag reliably initiates drag-and-drop.
102
+ style: {
103
+ userSelect: "none",
104
+ WebkitUserSelect: "none",
105
+ WebkitUserDrag: "element"
106
+ },
107
+ onDragStart: (e) => {
108
+ e.dataTransfer.effectAllowed = "move";
109
+ e.dataTransfer.setData("text/plain", id);
110
+ const preview = getDragPreview?.(id);
111
+ if (preview) e.dataTransfer.setDragImage(preview, 0, 0);
112
+ draggingRef.current = id;
113
+ setDraggingId(id);
114
+ },
115
+ onDragEnd: reset,
116
+ onDragOver: (e) => {
117
+ const dragged = draggingRef.current;
118
+ if (!dragged || dragged === id || canDropOn && !canDropOn(dragged, id)) {
119
+ setOver(null);
120
+ return;
121
+ }
122
+ e.preventDefault();
123
+ e.dataTransfer.dropEffect = "move";
124
+ const r = e.currentTarget.getBoundingClientRect();
125
+ const after = e.clientY > r.top + r.height / 2;
126
+ setOver(
127
+ (prev) => prev?.id === id && prev.after === after ? prev : { id, after }
128
+ );
129
+ },
130
+ onDragLeave: () => {
131
+ setOver((prev) => prev?.id === id ? null : prev);
132
+ },
133
+ onDrop: (e) => {
134
+ e.preventDefault();
135
+ const dragged = draggingRef.current ?? e.dataTransfer.getData("text/plain");
136
+ reset();
137
+ if (!dragged || dragged === id) return;
138
+ if (canDropOn && !canDropOn(dragged, id)) return;
139
+ const r = e.currentTarget.getBoundingClientRect();
140
+ const after = e.clientY > r.top + r.height / 2;
141
+ onReorder?.(reorderIds(ids, dragged, id, after));
142
+ }
143
+ };
144
+ },
145
+ [enabled, keyboard, ids, onReorder, canDropOn, getDragPreview, reset]
146
+ );
147
+ return {
148
+ enabled,
149
+ draggingId,
150
+ over,
151
+ rowProps,
152
+ moveBy,
153
+ moveButtonProps,
154
+ announcement: announce ? "" : announcement
155
+ };
156
+ }
157
+ function dragIndicatorClasses(drag, id) {
158
+ return [
159
+ drag.draggingId === id ? "opacity-40" : "",
160
+ drag.over?.id === id && !drag.over.after ? "shadow-[inset_0_2px_0_0_var(--color-primary-500,#3b82f6)]" : "",
161
+ drag.over?.id === id && drag.over.after ? "shadow-[inset_0_-2px_0_0_var(--color-primary-500,#3b82f6)]" : ""
162
+ ].filter(Boolean).join(" ");
163
+ }
164
+
165
+ export { DEFAULT_DRAG_REORDER_LABELS, dragIndicatorClasses, moveIdBy, reorderIds, useDragReorder };
166
+ //# sourceMappingURL=chunk-YUMOM3KE.js.map
167
+ //# sourceMappingURL=chunk-YUMOM3KE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/useDragReorder.ts"],"names":[],"mappings":"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","file":"chunk-YUMOM3KE.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport { useLiveAnnouncement } from './useLiveAnnouncement';\n\n/** Insert `draggedId` before/after `targetId` in `ids`. */\nexport function reorderIds(\n ids: string[],\n draggedId: string,\n targetId: string,\n after: boolean\n): string[] {\n if (draggedId === targetId) return ids;\n // Ignore drags that originate outside this list (stale payloads would\n // otherwise be inserted as unknown ids).\n if (!ids.includes(draggedId)) return ids;\n const without = ids.filter((i) => i !== draggedId);\n const idx = without.indexOf(targetId);\n if (idx === -1) return ids;\n without.splice(after ? idx + 1 : idx, 0, draggedId);\n return without;\n}\n\n/** Move `id` by `delta` positions (clamped). Returns `ids` unchanged when it can't move. */\nexport function moveIdBy(ids: string[], id: string, delta: number): string[] {\n const from = ids.indexOf(id);\n if (from === -1) return ids;\n const to = Math.max(0, Math.min(ids.length - 1, from + delta));\n if (to === from) return ids;\n const next = ids.filter((i) => i !== id);\n next.splice(to, 0, id);\n return next;\n}\n\nexport interface DragReorderLabels {\n moveUp: string;\n moveDown: string;\n /** Announced after a keyboard/button move */\n moved: (position: number, total: number, id: string) => string;\n}\n\nexport const DEFAULT_DRAG_REORDER_LABELS: DragReorderLabels = {\n moveUp: 'Move up',\n moveDown: 'Move down',\n moved: (position, total) => `Moved to position ${position} of ${total}`,\n};\n\nexport interface UseDragReorderOptions {\n /** Current flat order of item ids (props order) */\n ids: string[];\n /** Called with the full new id order after a drop or move. Omit to disable reordering. */\n onReorder?: (ids: string[]) => void;\n /** Restrict drops, e.g. to the same status group */\n canDropOn?: (draggedId: string, targetId: string) => boolean;\n /** Add Alt+ArrowUp / Alt+ArrowDown handling (and `tabIndex={0}`) to `rowProps`. Off by default so rows with their own `onKeyDown` keep working. */\n keyboard?: boolean;\n /** Receives move announcements instead of the returned `announcement` string. */\n announce?: (message: string) => void;\n /** Element rendered as the drag image (`dataTransfer.setDragImage`). */\n getDragPreview?: (id: string) => Element | null;\n labels?: Partial<DragReorderLabels>;\n}\n\nexport interface DragOverState {\n id: string;\n /** Drop indicator position relative to the hovered row */\n after: boolean;\n}\n\nexport interface UseDragReorderReturn {\n /** Whether drag reordering is active (onReorder provided) */\n enabled: boolean;\n /** Id currently being dragged, if any */\n draggingId: string | null;\n /** Row currently hovered as a drop target */\n over: DragOverState | null;\n /** Spread onto each row element (must be keyed by a stable id) */\n rowProps: (id: string) => React.HTMLAttributes<HTMLElement>;\n /** Move an item by `delta` positions; no-op at the ends or across `canDropOn` boundaries. */\n moveBy: (id: string, delta: number) => void;\n /** Props for a visible move button */\n moveButtonProps: (\n id: string,\n direction: 'up' | 'down',\n label?: string\n ) => {\n type: 'button';\n onClick: (e: React.MouseEvent) => void;\n disabled: boolean;\n 'aria-label': string;\n };\n /** Latest move message; render in an `aria-live=\"polite\"` region (empty when `announce` is given). */\n announcement: string;\n}\n\n/**\n * HTML5 drag-and-drop list reordering. Rows spread `rowProps(id)`; on drop the\n * hook computes the full new id order and reports it via `onReorder` — the\n * consumer persists it (e.g. on the encounter/patient object) and feeds the\n * list back in props order.\n *\n * Drag-and-drop is pointer-only, so pair it with `moveButtonProps` buttons\n * and/or `keyboard: true` (Alt+↑/↓ on focused rows), and render\n * `announcement` in a polite live region.\n *\n * @example\n * ```tsx\n * const drag = useDragReorder({ ids: items.map((i) => i.id), onReorder, keyboard: true });\n * // <li {...drag.rowProps(item.id)} className={cn(dragIndicatorClasses(drag, item.id))}>\n * // <button {...drag.moveButtonProps(item.id, 'up')}><ChevronUp /></button>\n * // <div aria-live=\"polite\" className=\"sr-only\">{drag.announcement}</div>\n * ```\n */\nexport function useDragReorder({\n ids,\n onReorder,\n canDropOn,\n keyboard = false,\n announce,\n getDragPreview,\n labels: labelsProp,\n}: UseDragReorderOptions): UseDragReorderReturn {\n const labels = { ...DEFAULT_DRAG_REORDER_LABELS, ...labelsProp };\n const [announcement, announceLive] = useLiveAnnouncement();\n const [draggingId, setDraggingId] = React.useState<string | null>(null);\n // dragover can fire before the dragstart state update is visible, so the\n // authoritative dragged id lives in a ref (set synchronously)\n const draggingRef = React.useRef<string | null>(null);\n const [over, setOver] = React.useState<DragOverState | null>(null);\n const enabled = Boolean(onReorder);\n\n const reset = React.useCallback(() => {\n draggingRef.current = null;\n setDraggingId(null);\n setOver(null);\n }, []);\n\n /** How far `id` can move toward `delta`: stops at the ends or the first slot canDropOn rejects. */\n const reachable = (id: string, delta: number): number => {\n const from = ids.indexOf(id);\n if (!enabled || from === -1) return 0;\n const step = Math.sign(delta);\n let reach = 0;\n while (reach !== delta) {\n const t = from + reach + step;\n if (t < 0 || t >= ids.length || (canDropOn && !canDropOn(id, ids[t])))\n break;\n reach += step;\n }\n return reach;\n };\n\n const moveBy = (id: string, delta: number) => {\n const next = moveIdBy(ids, id, reachable(id, delta));\n if (next === ids) return;\n onReorder?.(next);\n const message = labels.moved(next.indexOf(id) + 1, next.length, id);\n if (announce) announce(message);\n else announceLive(message);\n };\n\n const moveButtonProps: UseDragReorderReturn['moveButtonProps'] = (\n id,\n direction,\n label\n ) => {\n const delta = direction === 'up' ? -1 : 1;\n return {\n type: 'button',\n onClick: (e) => {\n e.stopPropagation();\n moveBy(id, delta);\n },\n disabled: reachable(id, delta) === 0,\n 'aria-label':\n label ?? (direction === 'up' ? labels.moveUp : labels.moveDown),\n };\n };\n\n const moveByRef = React.useRef(moveBy);\n moveByRef.current = moveBy;\n\n const rowProps = React.useCallback(\n (id: string): React.HTMLAttributes<HTMLElement> => {\n if (!enabled) return {};\n const keyProps: React.HTMLAttributes<HTMLElement> = keyboard\n ? {\n tabIndex: 0,\n 'aria-keyshortcuts': 'Alt+ArrowUp Alt+ArrowDown',\n onKeyDown: (e) => {\n if (e.target !== e.currentTarget || !e.altKey) return;\n if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown') return;\n e.preventDefault();\n moveByRef.current(id, e.key === 'ArrowUp' ? -1 : 1);\n },\n }\n : {};\n return {\n ...keyProps,\n draggable: true,\n // WebKit (iPadOS Safari, incl. remote-pointer sessions) starts a text\n // selection instead of a drag when the drag source contains selectable\n // text — suppress selection and explicitly mark the row as the drag\n // element so press-drag reliably initiates drag-and-drop.\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n WebkitUserDrag: 'element',\n } as React.CSSProperties,\n onDragStart: (e) => {\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('text/plain', id);\n const preview = getDragPreview?.(id);\n if (preview) e.dataTransfer.setDragImage(preview, 0, 0);\n draggingRef.current = id;\n setDraggingId(id);\n },\n onDragEnd: reset,\n onDragOver: (e) => {\n const dragged = draggingRef.current;\n if (\n !dragged ||\n dragged === id ||\n (canDropOn && !canDropOn(dragged, id))\n ) {\n // hovering an invalid target: clear any stale indicator\n setOver(null);\n return;\n }\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n const r = e.currentTarget.getBoundingClientRect();\n const after = e.clientY > r.top + r.height / 2;\n setOver((prev) =>\n prev?.id === id && prev.after === after ? prev : { id, after }\n );\n },\n onDragLeave: () => {\n setOver((prev) => (prev?.id === id ? null : prev));\n },\n onDrop: (e) => {\n e.preventDefault();\n const dragged =\n draggingRef.current ?? e.dataTransfer.getData('text/plain');\n reset();\n if (!dragged || dragged === id) return;\n if (canDropOn && !canDropOn(dragged, id)) return;\n const r = e.currentTarget.getBoundingClientRect();\n const after = e.clientY > r.top + r.height / 2;\n onReorder?.(reorderIds(ids, dragged, id, after));\n },\n };\n },\n [enabled, keyboard, ids, onReorder, canDropOn, getDragPreview, reset]\n );\n\n return {\n enabled,\n draggingId,\n over,\n rowProps,\n moveBy,\n moveButtonProps,\n announcement: announce ? '' : announcement,\n };\n}\n\n/** Tailwind classes for the drag state of a row: drop indicator + dragging dim. */\nexport function dragIndicatorClasses(\n drag: Pick<UseDragReorderReturn, 'draggingId' | 'over'>,\n id: string\n): string {\n return [\n drag.draggingId === id ? 'opacity-40' : '',\n drag.over?.id === id && !drag.over.after\n ? 'shadow-[inset_0_2px_0_0_var(--color-primary-500,#3b82f6)]'\n : '',\n drag.over?.id === id && drag.over.after\n ? 'shadow-[inset_0_-2px_0_0_var(--color-primary-500,#3b82f6)]'\n : '',\n ]\n .filter(Boolean)\n .join(' ');\n}\n"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkPLMXN23Q_cjs = require('./chunk-PLMXN23Q.cjs');
4
4
  var chunkRS5VA6QU_cjs = require('./chunk-RS5VA6QU.cjs');
5
- var chunkX6A27RGO_cjs = require('./chunk-X6A27RGO.cjs');
5
+ var chunkANMX7YDL_cjs = require('./chunk-ANMX7YDL.cjs');
6
6
  var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
7
7
  var React2 = require('react');
8
8
  var reactDom = require('react-dom');
@@ -124,7 +124,7 @@ function DashboardCustomizePanel({
124
124
  ] }, category || "general"))
125
125
  ] }),
126
126
  onReset && /* @__PURE__ */ jsxRuntime.jsx(chunkRS5VA6QU_cjs.SheetFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
127
- chunkX6A27RGO_cjs.Button,
127
+ chunkANMX7YDL_cjs.Button,
128
128
  {
129
129
  variant: "outline",
130
130
  size: "sm",
@@ -632,7 +632,7 @@ var CustomizableDashboard = React2__namespace.forwardRef(function CustomizableDa
632
632
  const toolbar = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-3 pb-2", children: [
633
633
  title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-foreground me-auto text-lg font-semibold", children: title }),
634
634
  widgets && widgets.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
635
- chunkX6A27RGO_cjs.Button,
635
+ chunkANMX7YDL_cjs.Button,
636
636
  {
637
637
  variant: "outline",
638
638
  size: "sm",
@@ -732,5 +732,5 @@ exports.mergeColumnOrder = mergeColumnOrder;
732
732
  exports.moveAcrossColumns = moveAcrossColumns;
733
733
  exports.reorderOnDrop = reorderOnDrop;
734
734
  exports.requiredColumns = requiredColumns;
735
- //# sourceMappingURL=chunk-3KPDQG5O.cjs.map
736
- //# sourceMappingURL=chunk-3KPDQG5O.cjs.map
735
+ //# sourceMappingURL=chunk-ZG6FXMDX.cjs.map
736
+ //# sourceMappingURL=chunk-ZG6FXMDX.cjs.map