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

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 (498) hide show
  1. package/README.md +4 -4
  2. package/agent/mieweb-ui.instructions.md +90 -1
  3. package/dist/CsvBlock-FX5YNGNE.cjs +17 -0
  4. package/dist/{CsvBlock-ROJCKJDP.cjs.map → CsvBlock-FX5YNGNE.cjs.map} +1 -1
  5. package/dist/CsvBlock-VLMG7GUO.js +8 -0
  6. package/dist/{CsvBlock-UWPMTLE2.js.map → CsvBlock-VLMG7GUO.js.map} +1 -1
  7. package/dist/HtmlPreviewBlock-5JE7L3GR.js +8 -0
  8. package/dist/{HtmlPreviewBlock-ME5U3XNS.js.map → HtmlPreviewBlock-5JE7L3GR.js.map} +1 -1
  9. package/dist/HtmlPreviewBlock-UO37JQ3K.cjs +17 -0
  10. package/dist/{HtmlPreviewBlock-DWFN6EUB.cjs.map → HtmlPreviewBlock-UO37JQ3K.cjs.map} +1 -1
  11. package/dist/Input-yN516s5_.d.cts +3 -0
  12. package/dist/Input-yN516s5_.d.ts +3 -0
  13. package/dist/MermaidBlock-3XHFBAMV.js +8 -0
  14. package/dist/{MermaidBlock-2B6CPD6Y.js.map → MermaidBlock-3XHFBAMV.js.map} +1 -1
  15. package/dist/MermaidBlock-RZ75RPZA.cjs +17 -0
  16. package/dist/{MermaidBlock-D2UC5M55.cjs.map → MermaidBlock-RZ75RPZA.cjs.map} +1 -1
  17. package/dist/SurveyBlock-MUVJ3JUI.js +8 -0
  18. package/dist/{SurveyBlock-4DO62RBT.js.map → SurveyBlock-MUVJ3JUI.js.map} +1 -1
  19. package/dist/SurveyBlock-VH47YXZC.cjs +17 -0
  20. package/dist/{SurveyBlock-4CD4AYMJ.cjs.map → SurveyBlock-VH47YXZC.cjs.map} +1 -1
  21. package/dist/ag-grid.d.cts +142 -1
  22. package/dist/ag-grid.d.ts +142 -1
  23. package/dist/brands/bluehive.cjs +3 -3
  24. package/dist/brands/bluehive.css +3 -0
  25. package/dist/brands/bluehive.js +1 -1
  26. package/dist/brands/index.cjs +14 -14
  27. package/dist/brands/index.js +4 -4
  28. package/dist/{chunk-JYZW2PZS.cjs → chunk-254QK722.cjs} +7 -7
  29. package/dist/chunk-254QK722.cjs.map +1 -0
  30. package/dist/{chunk-VKELAMAZ.js → chunk-2JICT4A2.js} +27 -11
  31. package/dist/chunk-2JICT4A2.js.map +1 -0
  32. package/dist/{chunk-VPWJCJCX.cjs → chunk-35Y4ILCU.cjs} +7 -7
  33. package/dist/{chunk-VPWJCJCX.cjs.map → chunk-35Y4ILCU.cjs.map} +1 -1
  34. package/dist/{chunk-G3JX3UAU.cjs → chunk-3KPDQG5O.cjs} +5 -5
  35. package/dist/{chunk-G3JX3UAU.cjs.map → chunk-3KPDQG5O.cjs.map} +1 -1
  36. package/dist/{chunk-Y5HFM7LO.js → chunk-3RXZWHCU.js} +4 -4
  37. package/dist/{chunk-Y5HFM7LO.js.map → chunk-3RXZWHCU.js.map} +1 -1
  38. package/dist/chunk-3YBS4WUQ.js +52 -0
  39. package/dist/chunk-3YBS4WUQ.js.map +1 -0
  40. package/dist/{chunk-WNJRS7Y7.cjs → chunk-3ZWCIPFT.cjs} +4 -2
  41. package/dist/chunk-3ZWCIPFT.cjs.map +1 -0
  42. package/dist/chunk-4HC2IBOX.js +258 -0
  43. package/dist/chunk-4HC2IBOX.js.map +1 -0
  44. package/dist/chunk-4IS3QCOQ.cjs +453 -0
  45. package/dist/chunk-4IS3QCOQ.cjs.map +1 -0
  46. package/dist/chunk-4NCDU5IG.cjs +56 -0
  47. package/dist/chunk-4NCDU5IG.cjs.map +1 -0
  48. package/dist/{chunk-E4IBHYJ7.cjs → chunk-6N6LIAUJ.cjs} +9 -9
  49. package/dist/{chunk-E4IBHYJ7.cjs.map → chunk-6N6LIAUJ.cjs.map} +1 -1
  50. package/dist/{chunk-3M7TAXNR.js → chunk-6ZPTZTKN.js} +3 -3
  51. package/dist/{chunk-3M7TAXNR.js.map → chunk-6ZPTZTKN.js.map} +1 -1
  52. package/dist/{chunk-MWVW4APN.cjs → chunk-7UTBDFFL.cjs} +4 -4
  53. package/dist/{chunk-MWVW4APN.cjs.map → chunk-7UTBDFFL.cjs.map} +1 -1
  54. package/dist/{chunk-FJ7YPVKV.js → chunk-7X6R3JIA.js} +3 -3
  55. package/dist/{chunk-FJ7YPVKV.js.map → chunk-7X6R3JIA.js.map} +1 -1
  56. package/dist/{chunk-GOALNQZ2.js → chunk-7YO7DNUV.js} +4 -83
  57. package/dist/chunk-7YO7DNUV.js.map +1 -0
  58. package/dist/{chunk-P2CA3XGI.js → chunk-7ZV67VZE.js} +4 -4
  59. package/dist/{chunk-P2CA3XGI.js.map → chunk-7ZV67VZE.js.map} +1 -1
  60. package/dist/chunk-ADW7ZYCY.cjs +2707 -0
  61. package/dist/chunk-ADW7ZYCY.cjs.map +1 -0
  62. package/dist/{chunk-2G75X6TS.cjs → chunk-AHHFFXJR.cjs} +3 -3
  63. package/dist/{chunk-2G75X6TS.cjs.map → chunk-AHHFFXJR.cjs.map} +1 -1
  64. package/dist/{chunk-VILW53UZ.js → chunk-BIQ7GSO2.js} +3 -3
  65. package/dist/{chunk-VILW53UZ.js.map → chunk-BIQ7GSO2.js.map} +1 -1
  66. package/dist/chunk-BM35CACB.js +148 -0
  67. package/dist/chunk-BM35CACB.js.map +1 -0
  68. package/dist/chunk-BNH4SXJB.js +874 -0
  69. package/dist/chunk-BNH4SXJB.js.map +1 -0
  70. package/dist/{chunk-XEAT7XJG.cjs → chunk-BUT6MF5K.cjs} +29 -13
  71. package/dist/chunk-BUT6MF5K.cjs.map +1 -0
  72. package/dist/{chunk-UAMXCMST.cjs → chunk-CFI3TQMA.cjs} +3 -3
  73. package/dist/{chunk-UAMXCMST.cjs.map → chunk-CFI3TQMA.cjs.map} +1 -1
  74. package/dist/{chunk-J5CSLNCN.cjs → chunk-COM7RNZU.cjs} +2 -2
  75. package/dist/{chunk-J5CSLNCN.cjs.map → chunk-COM7RNZU.cjs.map} +1 -1
  76. package/dist/{chunk-XI34EGK5.cjs → chunk-CPPUT74P.cjs} +9 -9
  77. package/dist/{chunk-XI34EGK5.cjs.map → chunk-CPPUT74P.cjs.map} +1 -1
  78. package/dist/{chunk-ACCAXVOG.js → chunk-CRS2CQWM.js} +134 -56
  79. package/dist/chunk-CRS2CQWM.js.map +1 -0
  80. package/dist/{chunk-OE5CKRUC.js → chunk-D22GE27K.js} +4 -4
  81. package/dist/{chunk-OE5CKRUC.js.map → chunk-D22GE27K.js.map} +1 -1
  82. package/dist/chunk-DXEPYK3I.cjs +92 -0
  83. package/dist/chunk-DXEPYK3I.cjs.map +1 -0
  84. package/dist/{chunk-ZGRCSNPK.js → chunk-E2PBPQGS.js} +4 -4
  85. package/dist/{chunk-ZGRCSNPK.js.map → chunk-E2PBPQGS.js.map} +1 -1
  86. package/dist/{chunk-5JJ2DAE4.js → chunk-ENMXHZNE.js} +3 -3
  87. package/dist/{chunk-5JJ2DAE4.js.map → chunk-ENMXHZNE.js.map} +1 -1
  88. package/dist/{chunk-XCP454Q6.js → chunk-F4N67NAF.js} +12 -3
  89. package/dist/chunk-F4N67NAF.js.map +1 -0
  90. package/dist/chunk-FBCDYTWM.js +385 -0
  91. package/dist/chunk-FBCDYTWM.js.map +1 -0
  92. package/dist/{chunk-VU6UTJRM.js → chunk-FIKO4WR6.js} +3 -3
  93. package/dist/{chunk-VU6UTJRM.js.map → chunk-FIKO4WR6.js.map} +1 -1
  94. package/dist/{chunk-DEDN5HAG.js → chunk-FZURBQJ2.js} +3 -3
  95. package/dist/{chunk-DEDN5HAG.js.map → chunk-FZURBQJ2.js.map} +1 -1
  96. package/dist/{chunk-JHULS3EC.js → chunk-GBUVIGD5.js} +89 -3
  97. package/dist/chunk-GBUVIGD5.js.map +1 -0
  98. package/dist/chunk-GU5OS7JJ.cjs +281 -0
  99. package/dist/chunk-GU5OS7JJ.cjs.map +1 -0
  100. package/dist/{chunk-V7D3YGUV.js → chunk-GVLNXPJX.js} +4 -4
  101. package/dist/{chunk-V7D3YGUV.js.map → chunk-GVLNXPJX.js.map} +1 -1
  102. package/dist/chunk-GVM6DTR5.js +90 -0
  103. package/dist/chunk-GVM6DTR5.js.map +1 -0
  104. package/dist/{chunk-SQHMGT4W.js → chunk-GW4RFJZ5.js} +7 -7
  105. package/dist/chunk-GW4RFJZ5.js.map +1 -0
  106. package/dist/{chunk-3QEVGSFG.cjs → chunk-GYXUS65N.cjs} +5 -5
  107. package/dist/{chunk-3QEVGSFG.cjs.map → chunk-GYXUS65N.cjs.map} +1 -1
  108. package/dist/{chunk-WGPLUCBD.js → chunk-H2IAMSHK.js} +3 -3
  109. package/dist/{chunk-WGPLUCBD.js.map → chunk-H2IAMSHK.js.map} +1 -1
  110. package/dist/{chunk-JID7AZTO.cjs → chunk-H3ROMJYI.cjs} +4 -4
  111. package/dist/{chunk-JID7AZTO.cjs.map → chunk-H3ROMJYI.cjs.map} +1 -1
  112. package/dist/{chunk-GD7EBGC4.cjs → chunk-HC3NAN55.cjs} +19 -19
  113. package/dist/{chunk-GD7EBGC4.cjs.map → chunk-HC3NAN55.cjs.map} +1 -1
  114. package/dist/{chunk-7ZXAQTV4.cjs → chunk-HIZWOAWY.cjs} +8 -8
  115. package/dist/{chunk-7ZXAQTV4.cjs.map → chunk-HIZWOAWY.cjs.map} +1 -1
  116. package/dist/{chunk-NV2CWBI2.cjs → chunk-IEY3ZJIT.cjs} +12 -3
  117. package/dist/chunk-IEY3ZJIT.cjs.map +1 -0
  118. package/dist/chunk-IT775BYG.js +179 -0
  119. package/dist/chunk-IT775BYG.js.map +1 -0
  120. package/dist/chunk-IYWG72DM.js +166 -0
  121. package/dist/chunk-IYWG72DM.js.map +1 -0
  122. package/dist/{chunk-2YCERQWC.js → chunk-JBIGSP2T.js} +6 -6
  123. package/dist/{chunk-2YCERQWC.js.map → chunk-JBIGSP2T.js.map} +1 -1
  124. package/dist/{chunk-IX6KFB3K.cjs → chunk-JELTRRR5.cjs} +9 -9
  125. package/dist/{chunk-IX6KFB3K.cjs.map → chunk-JELTRRR5.cjs.map} +1 -1
  126. package/dist/{chunk-YQDA366U.js → chunk-JHG3ELS2.js} +2 -2
  127. package/dist/{chunk-YQDA366U.js.map → chunk-JHG3ELS2.js.map} +1 -1
  128. package/dist/{chunk-WWJIW2IH.cjs → chunk-JSXIB6EJ.cjs} +4 -4
  129. package/dist/{chunk-WWJIW2IH.cjs.map → chunk-JSXIB6EJ.cjs.map} +1 -1
  130. package/dist/{chunk-WNM7IZJ7.js → chunk-K34DXMLZ.js} +7 -7
  131. package/dist/{chunk-WNM7IZJ7.js.map → chunk-K34DXMLZ.js.map} +1 -1
  132. package/dist/{chunk-FXO5ARBB.cjs → chunk-KDW6BD4O.cjs} +4 -4
  133. package/dist/{chunk-FXO5ARBB.cjs.map → chunk-KDW6BD4O.cjs.map} +1 -1
  134. package/dist/{chunk-Z5V7SAZ4.js → chunk-KFEN2SRZ.js} +3 -3
  135. package/dist/{chunk-Z5V7SAZ4.js.map → chunk-KFEN2SRZ.js.map} +1 -1
  136. package/dist/{chunk-2QKBTPUC.cjs → chunk-KGKBZN3T.cjs} +8 -8
  137. package/dist/{chunk-2QKBTPUC.cjs.map → chunk-KGKBZN3T.cjs.map} +1 -1
  138. package/dist/{chunk-UV2FVNWT.cjs → chunk-LFPJ3OUM.cjs} +5 -5
  139. package/dist/{chunk-UV2FVNWT.cjs.map → chunk-LFPJ3OUM.cjs.map} +1 -1
  140. package/dist/{chunk-WNAA6CLE.cjs → chunk-LHBWRMNC.cjs} +94 -2
  141. package/dist/chunk-LHBWRMNC.cjs.map +1 -0
  142. package/dist/{chunk-JI244Y7C.js → chunk-MLAWXPRY.js} +190 -5
  143. package/dist/chunk-MLAWXPRY.js.map +1 -0
  144. package/dist/chunk-N7C4OEP7.cjs +356 -0
  145. package/dist/chunk-N7C4OEP7.cjs.map +1 -0
  146. package/dist/{chunk-WNZAYBVB.cjs → chunk-NKV76R65.cjs} +48 -48
  147. package/dist/{chunk-WNZAYBVB.cjs.map → chunk-NKV76R65.cjs.map} +1 -1
  148. package/dist/{chunk-PYJDVWXM.js → chunk-NUB5HRKS.js} +3 -3
  149. package/dist/{chunk-PYJDVWXM.js.map → chunk-NUB5HRKS.js.map} +1 -1
  150. package/dist/{chunk-LL6IWKI3.js → chunk-OW3SQJ7P.js} +3 -3
  151. package/dist/{chunk-LL6IWKI3.js.map → chunk-OW3SQJ7P.js.map} +1 -1
  152. package/dist/{chunk-5GUOOLPR.cjs → chunk-P5CMZZRZ.cjs} +5 -5
  153. package/dist/{chunk-5GUOOLPR.cjs.map → chunk-P5CMZZRZ.cjs.map} +1 -1
  154. package/dist/{chunk-3T7QGLNB.js → chunk-PJEL5ZZV.js} +4 -2
  155. package/dist/chunk-PJEL5ZZV.js.map +1 -0
  156. package/dist/{chunk-H4ZXMQQW.js → chunk-QOVJ6Z6R.js} +3 -3
  157. package/dist/{chunk-H4ZXMQQW.js.map → chunk-QOVJ6Z6R.js.map} +1 -1
  158. package/dist/{chunk-U42F3HLE.cjs → chunk-QURJVPRH.cjs} +190 -5
  159. package/dist/chunk-QURJVPRH.cjs.map +1 -0
  160. package/dist/{chunk-X4XPNTCZ.cjs → chunk-R5Z7AOVU.cjs} +136 -58
  161. package/dist/chunk-R5Z7AOVU.cjs.map +1 -0
  162. package/dist/{chunk-TMMVIUUN.js → chunk-R6KPWIGO.js} +4 -4
  163. package/dist/{chunk-TMMVIUUN.js.map → chunk-R6KPWIGO.js.map} +1 -1
  164. package/dist/{chunk-22CYDCXA.js → chunk-RM2HPQIC.js} +105 -14
  165. package/dist/chunk-RM2HPQIC.js.map +1 -0
  166. package/dist/{chunk-ENKFJJZX.js → chunk-SD7ONW6S.js} +6 -6
  167. package/dist/{chunk-ENKFJJZX.js.map → chunk-SD7ONW6S.js.map} +1 -1
  168. package/dist/{chunk-RJ6NTJHC.js → chunk-SRMTRD7F.js} +3 -3
  169. package/dist/{chunk-RJ6NTJHC.js.map → chunk-SRMTRD7F.js.map} +1 -1
  170. package/dist/chunk-T4JYUICS.js +2657 -0
  171. package/dist/chunk-T4JYUICS.js.map +1 -0
  172. package/dist/{chunk-7ZDPD5ZX.cjs → chunk-T4L7Q5FA.cjs} +7 -7
  173. package/dist/{chunk-7ZDPD5ZX.cjs.map → chunk-T4L7Q5FA.cjs.map} +1 -1
  174. package/dist/{chunk-NJ6MY6V5.js → chunk-T5BBZQ66.js} +3 -3
  175. package/dist/{chunk-NJ6MY6V5.js.map → chunk-T5BBZQ66.js.map} +1 -1
  176. package/dist/{chunk-2IZLKPUW.js → chunk-THLIL6PY.js} +3 -3
  177. package/dist/{chunk-2IZLKPUW.js.map → chunk-THLIL6PY.js.map} +1 -1
  178. package/dist/{chunk-SGFYA22I.cjs → chunk-TJCX4OML.cjs} +8 -8
  179. package/dist/{chunk-SGFYA22I.cjs.map → chunk-TJCX4OML.cjs.map} +1 -1
  180. package/dist/{chunk-N6IY47YA.cjs → chunk-TTSSUOEV.cjs} +8 -8
  181. package/dist/{chunk-N6IY47YA.cjs.map → chunk-TTSSUOEV.cjs.map} +1 -1
  182. package/dist/{chunk-5MCBWTIF.cjs → chunk-TYE5K5WV.cjs} +4 -4
  183. package/dist/{chunk-5MCBWTIF.cjs.map → chunk-TYE5K5WV.cjs.map} +1 -1
  184. package/dist/{chunk-VOKVG3ER.js → chunk-UBSH27C2.js} +4 -4
  185. package/dist/{chunk-VOKVG3ER.js.map → chunk-UBSH27C2.js.map} +1 -1
  186. package/dist/{chunk-TAXD5ADA.cjs → chunk-UEDTZYGI.cjs} +3 -3
  187. package/dist/{chunk-TAXD5ADA.cjs.map → chunk-UEDTZYGI.cjs.map} +1 -1
  188. package/dist/{chunk-UQ3VVR6A.cjs → chunk-UPWIJC6I.cjs} +3 -3
  189. package/dist/{chunk-UQ3VVR6A.cjs.map → chunk-UPWIJC6I.cjs.map} +1 -1
  190. package/dist/{chunk-S7WCHDBO.js → chunk-VCI2Y7ST.js} +3 -3
  191. package/dist/{chunk-S7WCHDBO.js.map → chunk-VCI2Y7ST.js.map} +1 -1
  192. package/dist/chunk-VINZZQBD.cjs +323 -0
  193. package/dist/chunk-VINZZQBD.cjs.map +1 -0
  194. package/dist/{chunk-OD47TTAW.cjs → chunk-VOQJHSXN.cjs} +9 -9
  195. package/dist/{chunk-OD47TTAW.cjs.map → chunk-VOQJHSXN.cjs.map} +1 -1
  196. package/dist/chunk-VPTASZ2O.cjs +171 -0
  197. package/dist/chunk-VPTASZ2O.cjs.map +1 -0
  198. package/dist/chunk-WXFGHDTV.cjs +896 -0
  199. package/dist/chunk-WXFGHDTV.cjs.map +1 -0
  200. package/dist/{chunk-VNYW4C4J.cjs → chunk-X6A27RGO.cjs} +4 -84
  201. package/dist/chunk-X6A27RGO.cjs.map +1 -0
  202. package/dist/chunk-XBTKZCZF.js +333 -0
  203. package/dist/chunk-XBTKZCZF.js.map +1 -0
  204. package/dist/chunk-XDIMTPZU.cjs +202 -0
  205. package/dist/chunk-XDIMTPZU.cjs.map +1 -0
  206. package/dist/chunk-XDU65GLW.js +21 -0
  207. package/dist/chunk-XDU65GLW.js.map +1 -0
  208. package/dist/chunk-XI74P5F2.cjs +424 -0
  209. package/dist/chunk-XI74P5F2.cjs.map +1 -0
  210. package/dist/{chunk-WIAQQNFU.cjs → chunk-XRVMYT5G.cjs} +106 -13
  211. package/dist/chunk-XRVMYT5G.cjs.map +1 -0
  212. package/dist/chunk-XVW5DPPP.js +429 -0
  213. package/dist/chunk-XVW5DPPP.js.map +1 -0
  214. package/dist/chunk-Y4E2WRUR.cjs +188 -0
  215. package/dist/chunk-Y4E2WRUR.cjs.map +1 -0
  216. package/dist/chunk-Y4QNLW7W.js +300 -0
  217. package/dist/chunk-Y4QNLW7W.js.map +1 -0
  218. package/dist/{chunk-6EN3IQQI.cjs → chunk-YRHBSSQ3.cjs} +6 -6
  219. package/dist/{chunk-6EN3IQQI.cjs.map → chunk-YRHBSSQ3.cjs.map} +1 -1
  220. package/dist/{chunk-KZFBQ7GY.js → chunk-YU55JD35.js} +3 -3
  221. package/dist/{chunk-KZFBQ7GY.js.map → chunk-YU55JD35.js.map} +1 -1
  222. package/dist/chunk-YW2AKBLS.cjs +23 -0
  223. package/dist/chunk-YW2AKBLS.cjs.map +1 -0
  224. package/dist/{chunk-ELPW32ZI.cjs → chunk-ZTMYKAVU.cjs} +45 -45
  225. package/dist/{chunk-ELPW32ZI.cjs.map → chunk-ZTMYKAVU.cjs.map} +1 -1
  226. package/dist/{chunk-3QGS6CXD.js → chunk-ZYL4SNOR.js} +3 -3
  227. package/dist/{chunk-3QGS6CXD.js.map → chunk-ZYL4SNOR.js.map} +1 -1
  228. package/dist/components/Alert/index.d.cts +1 -1
  229. package/dist/components/Alert/index.d.ts +1 -1
  230. package/dist/components/AlertDialog/index.cjs +6 -5
  231. package/dist/components/AlertDialog/index.d.cts +28 -3
  232. package/dist/components/AlertDialog/index.d.ts +28 -3
  233. package/dist/components/AlertDialog/index.js +5 -4
  234. package/dist/components/AudioRecorder/index.d.cts +2 -2
  235. package/dist/components/AudioRecorder/index.d.ts +2 -2
  236. package/dist/components/Autocomplete/index.d.cts +8 -2
  237. package/dist/components/Autocomplete/index.d.ts +8 -2
  238. package/dist/components/Avatar/index.d.cts +1 -1
  239. package/dist/components/Avatar/index.d.ts +1 -1
  240. package/dist/components/Badge/index.d.cts +1 -1
  241. package/dist/components/Badge/index.d.ts +1 -1
  242. package/dist/components/BoardView/index.cjs +24 -0
  243. package/dist/components/BoardView/index.cjs.map +1 -0
  244. package/dist/components/BoardView/index.d.cts +41 -0
  245. package/dist/components/BoardView/index.d.ts +41 -0
  246. package/dist/components/BoardView/index.js +7 -0
  247. package/dist/components/BoardView/index.js.map +1 -0
  248. package/dist/components/Button/index.cjs +4 -3
  249. package/dist/components/Button/index.d.cts +2 -1
  250. package/dist/components/Button/index.d.ts +2 -1
  251. package/dist/components/Button/index.js +2 -1
  252. package/dist/components/CalendarView/index.cjs +23 -0
  253. package/dist/components/CalendarView/index.cjs.map +1 -0
  254. package/dist/components/CalendarView/index.d.cts +39 -0
  255. package/dist/components/CalendarView/index.d.ts +39 -0
  256. package/dist/components/CalendarView/index.js +10 -0
  257. package/dist/components/CalendarView/index.js.map +1 -0
  258. package/dist/components/Card/index.d.cts +3 -3
  259. package/dist/components/Card/index.d.ts +3 -3
  260. package/dist/components/Collapsible/index.cjs +6 -6
  261. package/dist/components/Collapsible/index.js +3 -3
  262. package/dist/components/CountryCodeDropdown/index.cjs +5 -5
  263. package/dist/components/CountryCodeDropdown/index.js +2 -2
  264. package/dist/components/CustomizableDashboard/index.cjs +10 -9
  265. package/dist/components/CustomizableDashboard/index.js +3 -2
  266. package/dist/components/Dropdown/index.cjs +10 -10
  267. package/dist/components/Dropdown/index.d.cts +2 -1
  268. package/dist/components/Dropdown/index.d.ts +2 -1
  269. package/dist/components/Dropdown/index.js +3 -3
  270. package/dist/components/FloatingWindow/index.cjs +5 -4
  271. package/dist/components/FloatingWindow/index.js +3 -2
  272. package/dist/components/GanttView/index.cjs +20 -0
  273. package/dist/components/GanttView/index.cjs.map +1 -0
  274. package/dist/components/GanttView/index.d.cts +36 -0
  275. package/dist/components/GanttView/index.d.ts +36 -0
  276. package/dist/components/GanttView/index.js +7 -0
  277. package/dist/components/GanttView/index.js.map +1 -0
  278. package/dist/components/GlossaryTooltip/index.cjs +3 -3
  279. package/dist/components/GlossaryTooltip/index.js +2 -2
  280. package/dist/components/KeyboardShortcutsOverlay/index.cjs +5 -5
  281. package/dist/components/KeyboardShortcutsOverlay/index.js +3 -3
  282. package/dist/components/ListView/index.cjs +23 -0
  283. package/dist/components/ListView/index.cjs.map +1 -0
  284. package/dist/components/ListView/index.d.cts +124 -0
  285. package/dist/components/ListView/index.d.ts +124 -0
  286. package/dist/components/ListView/index.js +10 -0
  287. package/dist/components/ListView/index.js.map +1 -0
  288. package/dist/components/Markdown/index.cjs +20 -19
  289. package/dist/components/Markdown/index.js +8 -7
  290. package/dist/components/MediaEditor/index.cjs +15 -14
  291. package/dist/components/MediaEditor/index.d.cts +91 -2
  292. package/dist/components/MediaEditor/index.d.ts +91 -2
  293. package/dist/components/MediaEditor/index.js +10 -9
  294. package/dist/components/MediaFeed/index.cjs +26 -0
  295. package/dist/components/MediaFeed/index.cjs.map +1 -0
  296. package/dist/components/MediaFeed/index.d.cts +104 -0
  297. package/dist/components/MediaFeed/index.d.ts +104 -0
  298. package/dist/components/MediaFeed/index.js +17 -0
  299. package/dist/components/MediaFeed/index.js.map +1 -0
  300. package/dist/components/MediaPlayer/index.cjs +7 -6
  301. package/dist/components/MediaPlayer/index.d.cts +19 -1
  302. package/dist/components/MediaPlayer/index.d.ts +19 -1
  303. package/dist/components/MediaPlayer/index.js +4 -3
  304. package/dist/components/MegaMenu/index.cjs +6 -5
  305. package/dist/components/MegaMenu/index.js +3 -2
  306. package/dist/components/Modal/index.cjs +10 -10
  307. package/dist/components/Modal/index.js +2 -2
  308. package/dist/components/Pagination/index.d.cts +1 -1
  309. package/dist/components/Pagination/index.d.ts +1 -1
  310. package/dist/components/PhoneInput/index.d.cts +36 -3
  311. package/dist/components/PhoneInput/index.d.ts +36 -3
  312. package/dist/components/Progress/index.d.cts +1 -1
  313. package/dist/components/Progress/index.d.ts +1 -1
  314. package/dist/components/Q/index.d.cts +2 -2
  315. package/dist/components/Q/index.d.ts +2 -2
  316. package/dist/components/QuickAction/index.d.cts +1 -1
  317. package/dist/components/QuickAction/index.d.ts +1 -1
  318. package/dist/components/RadialExplorer/index.cjs +5 -4
  319. package/dist/components/RadialExplorer/index.js +4 -3
  320. package/dist/components/RecordButton/index.d.cts +1 -1
  321. package/dist/components/RecordButton/index.d.ts +1 -1
  322. package/dist/components/RichTextEditor/index.cjs +9 -8
  323. package/dist/components/RichTextEditor/index.d.cts +7 -2
  324. package/dist/components/RichTextEditor/index.d.ts +7 -2
  325. package/dist/components/RichTextEditor/index.js +6 -5
  326. package/dist/components/ScrollArea/index.d.cts +1 -1
  327. package/dist/components/ScrollArea/index.d.ts +1 -1
  328. package/dist/components/SectionSpyNav/index.cjs +4 -3
  329. package/dist/components/SectionSpyNav/index.js +3 -2
  330. package/dist/components/Select/index.cjs +4 -4
  331. package/dist/components/Select/index.d.cts +1 -2
  332. package/dist/components/Select/index.d.ts +1 -2
  333. package/dist/components/Select/index.js +2 -2
  334. package/dist/components/Skeleton/index.d.cts +1 -1
  335. package/dist/components/Skeleton/index.d.ts +1 -1
  336. package/dist/components/Slider/index.d.cts +2 -2
  337. package/dist/components/Slider/index.d.ts +2 -2
  338. package/dist/components/SliderCalculator/index.cjs +4 -4
  339. package/dist/components/SliderCalculator/index.js +2 -2
  340. package/dist/components/SourceTip/index.cjs +3 -3
  341. package/dist/components/SourceTip/index.js +2 -2
  342. package/dist/components/Spinner/index.d.cts +2 -2
  343. package/dist/components/Spinner/index.d.ts +2 -2
  344. package/dist/components/SuperChat/index.cjs +1378 -819
  345. package/dist/components/SuperChat/index.cjs.map +1 -1
  346. package/dist/components/SuperChat/index.d.cts +35 -8
  347. package/dist/components/SuperChat/index.d.ts +35 -8
  348. package/dist/components/SuperChat/index.js +1370 -811
  349. package/dist/components/SuperChat/index.js.map +1 -1
  350. package/dist/components/SuperChat/plugins/index.cjs +6 -6
  351. package/dist/components/SuperChat/plugins/index.d.cts +2 -3
  352. package/dist/components/SuperChat/plugins/index.d.ts +2 -3
  353. package/dist/components/SuperChat/plugins/index.js +5 -5
  354. package/dist/components/Text/index.d.cts +3 -3
  355. package/dist/components/Text/index.d.ts +3 -3
  356. package/dist/components/Textarea/index.d.cts +1 -2
  357. package/dist/components/Textarea/index.d.ts +1 -2
  358. package/dist/components/ThemeProvider/index.cjs +9 -9
  359. package/dist/components/ThemeProvider/index.d.cts +3 -1
  360. package/dist/components/ThemeProvider/index.d.ts +3 -1
  361. package/dist/components/ThemeProvider/index.js +3 -3
  362. package/dist/components/Tooltip/index.cjs +3 -3
  363. package/dist/components/Tooltip/index.js +2 -2
  364. package/dist/components/TranscriptView/index.d.cts +85 -4
  365. package/dist/components/TranscriptView/index.d.ts +85 -4
  366. package/dist/components/ViewSet/index.cjs +24 -0
  367. package/dist/components/ViewSet/index.cjs.map +1 -0
  368. package/dist/components/ViewSet/index.d.cts +200 -0
  369. package/dist/components/ViewSet/index.d.ts +200 -0
  370. package/dist/components/ViewSet/index.js +15 -0
  371. package/dist/components/ViewSet/index.js.map +1 -0
  372. package/dist/components/ViewSwitcher/index.cjs +20 -0
  373. package/dist/components/ViewSwitcher/index.cjs.map +1 -0
  374. package/dist/components/ViewSwitcher/index.d.cts +4 -0
  375. package/dist/components/ViewSwitcher/index.d.ts +4 -0
  376. package/dist/components/ViewSwitcher/index.js +7 -0
  377. package/dist/components/ViewSwitcher/index.js.map +1 -0
  378. package/dist/datavis.cjs +3 -2
  379. package/dist/datavis.cjs.map +1 -1
  380. package/dist/datavis.d.cts +167 -13
  381. package/dist/datavis.d.ts +167 -13
  382. package/dist/datavis.js +2 -1
  383. package/dist/datavis.js.map +1 -1
  384. package/dist/deck.cjs +3360 -0
  385. package/dist/deck.cjs.map +1 -0
  386. package/dist/deck.d.cts +712 -0
  387. package/dist/deck.d.ts +712 -0
  388. package/dist/deck.js +3316 -0
  389. package/dist/deck.js.map +1 -0
  390. package/dist/esheet.cjs +14 -13
  391. package/dist/esheet.cjs.map +1 -1
  392. package/dist/esheet.d.cts +183 -1
  393. package/dist/esheet.d.ts +183 -1
  394. package/dist/esheet.js +11 -10
  395. package/dist/esheet.js.map +1 -1
  396. package/dist/globe.cjs +2 -2
  397. package/dist/globe.js +1 -1
  398. package/dist/hooks/index.cjs +60 -27
  399. package/dist/hooks/index.d.cts +590 -31
  400. package/dist/hooks/index.d.ts +590 -31
  401. package/dist/hooks/index.js +6 -5
  402. package/dist/icons-wBacj6BW.d.cts +142 -0
  403. package/dist/icons-wBacj6BW.d.ts +142 -0
  404. package/dist/index-DoYYWsNc.d.cts +127 -0
  405. package/dist/index-DoYYWsNc.d.ts +127 -0
  406. package/dist/index.cjs +1420 -1048
  407. package/dist/index.cjs.map +1 -1
  408. package/dist/index.d.cts +8796 -482
  409. package/dist/index.d.ts +8796 -482
  410. package/dist/index.js +368 -232
  411. package/dist/index.js.map +1 -1
  412. package/dist/kerebron.cjs +58 -19
  413. package/dist/kerebron.cjs.map +1 -1
  414. package/dist/kerebron.css +115 -0
  415. package/dist/kerebron.d.cts +37 -0
  416. package/dist/kerebron.d.ts +37 -0
  417. package/dist/kerebron.js +58 -19
  418. package/dist/kerebron.js.map +1 -1
  419. package/dist/maps.cjs +160 -0
  420. package/dist/maps.cjs.map +1 -0
  421. package/dist/maps.d.cts +42 -0
  422. package/dist/maps.d.ts +42 -0
  423. package/dist/maps.js +138 -0
  424. package/dist/maps.js.map +1 -0
  425. package/dist/motion.cjs +7 -7
  426. package/dist/motion.d.cts +186 -2
  427. package/dist/motion.d.ts +186 -2
  428. package/dist/motion.js +2 -2
  429. package/dist/q.d.cts +25 -3
  430. package/dist/q.d.ts +25 -3
  431. package/dist/styles/effects.css +133 -0
  432. package/dist/styles/init.css +3 -0
  433. package/dist/styles.css +1 -1
  434. package/dist/tailwind-preset.cjs +4 -4
  435. package/dist/tailwind-preset.js +1 -1
  436. package/dist/templates.cjs +156 -0
  437. package/dist/templates.cjs.map +1 -0
  438. package/dist/templates.d.cts +734 -0
  439. package/dist/templates.d.ts +734 -0
  440. package/dist/templates.js +11 -0
  441. package/dist/templates.js.map +1 -0
  442. package/dist/types-Cx1FHLq2.d.cts +548 -0
  443. package/dist/types-Cx1FHLq2.d.ts +548 -0
  444. package/dist/types-DsdZvEI1.d.cts +92 -0
  445. package/dist/types-DsdZvEI1.d.ts +92 -0
  446. package/dist/utils/index.d.cts +13 -2
  447. package/dist/utils/index.d.ts +13 -2
  448. package/package.json +62 -13
  449. package/dist/Animated-XmH6k8pZ.d.cts +0 -188
  450. package/dist/Animated-XmH6k8pZ.d.ts +0 -188
  451. package/dist/CsvBlock-ROJCKJDP.cjs +0 -16
  452. package/dist/CsvBlock-UWPMTLE2.js +0 -7
  453. package/dist/HtmlPreviewBlock-DWFN6EUB.cjs +0 -16
  454. package/dist/HtmlPreviewBlock-ME5U3XNS.js +0 -7
  455. package/dist/MedicationEditor-Bp4NLy7y.d.cts +0 -352
  456. package/dist/MedicationEditor-Bp4NLy7y.d.ts +0 -352
  457. package/dist/MermaidBlock-2B6CPD6Y.js +0 -7
  458. package/dist/MermaidBlock-D2UC5M55.cjs +0 -16
  459. package/dist/SurveyBlock-4CD4AYMJ.cjs +0 -16
  460. package/dist/SurveyBlock-4DO62RBT.js +0 -7
  461. package/dist/chunk-22CYDCXA.js.map +0 -1
  462. package/dist/chunk-3T7QGLNB.js.map +0 -1
  463. package/dist/chunk-6HFFWEM3.cjs +0 -22
  464. package/dist/chunk-6HFFWEM3.cjs.map +0 -1
  465. package/dist/chunk-ACCAXVOG.js.map +0 -1
  466. package/dist/chunk-GOALNQZ2.js.map +0 -1
  467. package/dist/chunk-HB7C7NB5.js +0 -20
  468. package/dist/chunk-HB7C7NB5.js.map +0 -1
  469. package/dist/chunk-JHULS3EC.js.map +0 -1
  470. package/dist/chunk-JI244Y7C.js.map +0 -1
  471. package/dist/chunk-JYZW2PZS.cjs.map +0 -1
  472. package/dist/chunk-NV2CWBI2.cjs.map +0 -1
  473. package/dist/chunk-SQHMGT4W.js.map +0 -1
  474. package/dist/chunk-U42F3HLE.cjs.map +0 -1
  475. package/dist/chunk-VKELAMAZ.js.map +0 -1
  476. package/dist/chunk-VNYW4C4J.cjs.map +0 -1
  477. package/dist/chunk-WIAQQNFU.cjs.map +0 -1
  478. package/dist/chunk-WNAA6CLE.cjs.map +0 -1
  479. package/dist/chunk-WNJRS7Y7.cjs.map +0 -1
  480. package/dist/chunk-X4XPNTCZ.cjs.map +0 -1
  481. package/dist/chunk-XCP454Q6.js.map +0 -1
  482. package/dist/chunk-XEAT7XJG.cjs.map +0 -1
  483. package/dist/html-MdxqSzjD.d.cts +0 -13
  484. package/dist/html-MdxqSzjD.d.ts +0 -13
  485. package/dist/orderRows-BUJYgSc7.d.cts +0 -221
  486. package/dist/orderRows-BUJYgSc7.d.ts +0 -221
  487. package/dist/transcript-Cg7uSW-C.d.cts +0 -84
  488. package/dist/transcript-Cg7uSW-C.d.ts +0 -84
  489. package/dist/types-B97JNRNQ.d.cts +0 -251
  490. package/dist/types-CnPEwzlp.d.cts +0 -254
  491. package/dist/types-CnPEwzlp.d.ts +0 -254
  492. package/dist/types-gZXrfLj6.d.ts +0 -251
  493. package/dist/useAnchoredPosition-CKwLSQW8.d.cts +0 -76
  494. package/dist/useAnchoredPosition-CKwLSQW8.d.ts +0 -76
  495. package/dist/useTheme-B9SWu6ui.d.cts +0 -24
  496. package/dist/useTheme-B9SWu6ui.d.ts +0 -24
  497. package/dist/useTranscriptEdits-CGzlemHT.d.cts +0 -182
  498. package/dist/useTranscriptEdits-D32bLs0l.d.ts +0 -182
@@ -0,0 +1,424 @@
1
+ 'use strict';
2
+
3
+ var chunkDXEPYK3I_cjs = require('./chunk-DXEPYK3I.cjs');
4
+ var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
5
+ var React2 = require('react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var lucideReact = require('lucide-react');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
28
+
29
+ var defaultMetricStatusLabels = {
30
+ live: "Live data",
31
+ modeled: "Modeled",
32
+ maturing: "Data maturing"
33
+ };
34
+ var dotClass = {
35
+ live: "bg-success",
36
+ modeled: "bg-info",
37
+ maturing: "bg-warning"
38
+ };
39
+ var MetricStatusBadge = React2__namespace.forwardRef(({ status, label, onDark, className, ...rest }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
40
+ "span",
41
+ {
42
+ ref,
43
+ "data-slot": "metric-status-badge",
44
+ "data-status": status,
45
+ className: chunkS5RVSXDV_cjs.cn(
46
+ "inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-xs font-medium",
47
+ onDark ? "border-white/20 bg-white/10 text-white" : "border-border bg-card text-foreground",
48
+ className
49
+ ),
50
+ ...rest,
51
+ children: [
52
+ /* @__PURE__ */ jsxRuntime.jsx(
53
+ "span",
54
+ {
55
+ "aria-hidden": "true",
56
+ className: chunkS5RVSXDV_cjs.cn("size-1.5 rounded-full", dotClass[status])
57
+ }
58
+ ),
59
+ label ?? defaultMetricStatusLabels[status]
60
+ ]
61
+ }
62
+ ));
63
+ MetricStatusBadge.displayName = "MetricStatusBadge";
64
+
65
+ // src/utils/own.ts
66
+ function ownProperty(map, key) {
67
+ return map != null && Object.hasOwn(map, key) ? map[key] : void 0;
68
+ }
69
+ var templateIcons = {
70
+ activity: lucideReact.Activity,
71
+ award: lucideReact.Award,
72
+ "badge-check": lucideReact.BadgeCheck,
73
+ bell: lucideReact.Bell,
74
+ briefcase: lucideReact.Briefcase,
75
+ building: lucideReact.Building2,
76
+ calendar: lucideReact.Calendar,
77
+ "calendar-check": lucideReact.CalendarCheck,
78
+ "chart-column": lucideReact.ChartColumn,
79
+ "chart-line": lucideReact.ChartLine,
80
+ "circle-check": lucideReact.CircleCheck,
81
+ "clipboard-check": lucideReact.ClipboardCheck,
82
+ clock: lucideReact.Clock,
83
+ cloud: lucideReact.Cloud,
84
+ database: lucideReact.Database,
85
+ "dollar-sign": lucideReact.DollarSign,
86
+ factory: lucideReact.Factory,
87
+ "file-text": lucideReact.FileText,
88
+ flask: lucideReact.FlaskConical,
89
+ globe: lucideReact.Globe,
90
+ "graduation-cap": lucideReact.GraduationCap,
91
+ handshake: lucideReact.Handshake,
92
+ "hard-hat": lucideReact.HardHat,
93
+ headset: lucideReact.Headset,
94
+ "heart-pulse": lucideReact.HeartPulse,
95
+ hospital: lucideReact.Hospital,
96
+ layers: lucideReact.Layers,
97
+ leaf: lucideReact.Leaf,
98
+ lightbulb: lucideReact.Lightbulb,
99
+ lock: lucideReact.Lock,
100
+ mail: lucideReact.Mail,
101
+ "map-pin": lucideReact.MapPin,
102
+ "message-square": lucideReact.MessageSquare,
103
+ microscope: lucideReact.Microscope,
104
+ phone: lucideReact.Phone,
105
+ plane: lucideReact.Plane,
106
+ plug: lucideReact.Plug,
107
+ rocket: lucideReact.Rocket,
108
+ scale: lucideReact.Scale,
109
+ search: lucideReact.Search,
110
+ settings: lucideReact.Settings,
111
+ shield: lucideReact.Shield,
112
+ "shield-check": lucideReact.ShieldCheck,
113
+ smartphone: lucideReact.Smartphone,
114
+ sparkles: lucideReact.Sparkles,
115
+ stethoscope: lucideReact.Stethoscope,
116
+ syringe: lucideReact.Syringe,
117
+ target: lucideReact.Target,
118
+ timer: lucideReact.Timer,
119
+ "trending-up": lucideReact.TrendingUp,
120
+ truck: lucideReact.Truck,
121
+ "user-check": lucideReact.UserCheck,
122
+ users: lucideReact.Users,
123
+ workflow: lucideReact.Workflow,
124
+ wrench: lucideReact.Wrench,
125
+ zap: lucideReact.Zap
126
+ };
127
+ function TemplateIcon({ name, icons, className }) {
128
+ const Icon = ownProperty(icons, name) ?? ownProperty(templateIcons, name);
129
+ if (Icon)
130
+ return /* @__PURE__ */ jsxRuntime.jsx(
131
+ Icon,
132
+ {
133
+ "aria-hidden": "true",
134
+ strokeWidth: 1.75,
135
+ className: chunkS5RVSXDV_cjs.cn("size-5", className)
136
+ }
137
+ );
138
+ if (name.length <= 4)
139
+ return /* @__PURE__ */ jsxRuntime.jsx(
140
+ "span",
141
+ {
142
+ "aria-hidden": "true",
143
+ className: chunkS5RVSXDV_cjs.cn("text-xs font-bold tracking-wide", className),
144
+ children: name
145
+ }
146
+ );
147
+ return null;
148
+ }
149
+ var toneSurface = {
150
+ default: "bg-background text-foreground",
151
+ muted: "bg-muted text-foreground",
152
+ brand: "bg-primary-900 text-white"
153
+ };
154
+ var toneClass = (tone) => toneSurface[tone];
155
+ var cardClass = (tone) => tone === "brand" ? "border border-white/15 bg-white/5 text-white" : "border border-border bg-card text-card-foreground";
156
+ var mutedTextClass = (tone) => tone === "brand" ? "text-white/80" : tone === "muted" ? "text-foreground/80" : "text-muted-foreground";
157
+ var headingTextClass = (tone) => tone === "brand" ? "text-white" : "text-foreground";
158
+ var accentTextClass = (tone) => tone === "brand" ? "text-white" : "text-primary-800 dark:text-primary-300";
159
+ var containerClass = (width = "wide") => chunkS5RVSXDV_cjs.cn(
160
+ "mx-auto w-full px-4 sm:px-6 lg:px-8",
161
+ width === "narrow" ? "max-w-3xl" : "max-w-7xl"
162
+ );
163
+ var SAFE_HREF_SCHEME = /^(?:https?|mailto|tel):/i;
164
+ function safeHref(href) {
165
+ if (href == null) return void 0;
166
+ const stripped = href.replace(/[\u0000-\u0020]/g, "");
167
+ if (!stripped) return void 0;
168
+ if (!/^[a-z][a-z0-9+.-]*:/i.test(stripped)) return href;
169
+ return SAFE_HREF_SCHEME.test(stripped) ? href : void 0;
170
+ }
171
+ function TemplateAnchor({
172
+ components,
173
+ trackingId,
174
+ children,
175
+ ...props
176
+ }) {
177
+ const Link = components?.Link;
178
+ const href = safeHref(props.href);
179
+ const all = { ...props, href, "data-track": trackingId };
180
+ return Link && href != null ? /* @__PURE__ */ jsxRuntime.jsx(Link, { ...all, href, children }) : /* @__PURE__ */ jsxRuntime.jsx("a", { ...all, children });
181
+ }
182
+ var fetchPriorityHigh = React2__namespace.version.startsWith("18.") ? { fetchpriority: "high" } : { fetchPriority: "high" };
183
+ function TemplateImg({
184
+ components,
185
+ priority,
186
+ ...image
187
+ }) {
188
+ const Image = components?.Image;
189
+ if (Image) return /* @__PURE__ */ jsxRuntime.jsx(Image, { ...image, priority });
190
+ return /* @__PURE__ */ jsxRuntime.jsx(
191
+ "img",
192
+ {
193
+ ...image,
194
+ alt: image.alt,
195
+ loading: priority ? void 0 : "lazy",
196
+ ...priority ? fetchPriorityHigh : {},
197
+ decoding: "async"
198
+ }
199
+ );
200
+ }
201
+ function SectionHeading({
202
+ eyebrow,
203
+ title,
204
+ description,
205
+ as: Heading = "h2",
206
+ size = "section",
207
+ align = "start",
208
+ tone = "default",
209
+ titleId,
210
+ className
211
+ }) {
212
+ if (!eyebrow && !title && !description) return null;
213
+ return /* @__PURE__ */ jsxRuntime.jsxs(
214
+ "div",
215
+ {
216
+ "data-slot": "section-heading",
217
+ className: chunkS5RVSXDV_cjs.cn(
218
+ "max-w-3xl",
219
+ align === "center" && "mx-auto text-center",
220
+ className
221
+ ),
222
+ children: [
223
+ eyebrow && /* @__PURE__ */ jsxRuntime.jsx(
224
+ "p",
225
+ {
226
+ className: chunkS5RVSXDV_cjs.cn(
227
+ "mb-3 text-sm font-semibold tracking-wider uppercase",
228
+ accentTextClass(tone)
229
+ ),
230
+ children: eyebrow
231
+ }
232
+ ),
233
+ title && /* @__PURE__ */ jsxRuntime.jsx(
234
+ Heading,
235
+ {
236
+ id: titleId,
237
+ className: chunkS5RVSXDV_cjs.cn(
238
+ "font-bold tracking-tight text-balance",
239
+ headingTextClass(tone),
240
+ size === "hero" ? "text-4xl sm:text-5xl lg:text-6xl" : "text-3xl sm:text-4xl"
241
+ ),
242
+ children: title
243
+ }
244
+ ),
245
+ description && /* @__PURE__ */ jsxRuntime.jsx(
246
+ "p",
247
+ {
248
+ className: chunkS5RVSXDV_cjs.cn(
249
+ "mt-4 text-pretty",
250
+ size === "hero" ? "text-lg sm:text-xl" : "text-lg",
251
+ mutedTextClass(tone)
252
+ ),
253
+ children: description
254
+ }
255
+ )
256
+ ]
257
+ }
258
+ );
259
+ }
260
+ var SectionShell = React2__namespace.forwardRef(
261
+ ({
262
+ eyebrow,
263
+ title,
264
+ description,
265
+ tone = "default",
266
+ align = "start",
267
+ width = "wide",
268
+ spacing = "default",
269
+ status,
270
+ statusLabels,
271
+ className,
272
+ children,
273
+ components,
274
+ ...rest
275
+ }, ref) => {
276
+ const titleId = React2__namespace.useId();
277
+ return /* @__PURE__ */ jsxRuntime.jsx(
278
+ "section",
279
+ {
280
+ ref,
281
+ "data-slot": "landing-section",
282
+ "data-tone": tone,
283
+ "aria-labelledby": title ? titleId : void 0,
284
+ className: chunkS5RVSXDV_cjs.cn(
285
+ spacing === "compact" ? "py-10 sm:py-14" : "py-16 sm:py-24",
286
+ toneClass(tone),
287
+ className
288
+ ),
289
+ ...rest,
290
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: containerClass(width), children: [
291
+ /* @__PURE__ */ jsxRuntime.jsx(
292
+ SectionHeading,
293
+ {
294
+ eyebrow,
295
+ title,
296
+ description,
297
+ align,
298
+ tone,
299
+ titleId,
300
+ className: chunkS5RVSXDV_cjs.cn(width === "narrow" && "max-w-none")
301
+ }
302
+ ),
303
+ status && /* @__PURE__ */ jsxRuntime.jsx(
304
+ "div",
305
+ {
306
+ className: chunkS5RVSXDV_cjs.cn(
307
+ "mt-4 flex",
308
+ align === "center" && "justify-center"
309
+ ),
310
+ children: /* @__PURE__ */ jsxRuntime.jsx(
311
+ MetricStatusBadge,
312
+ {
313
+ status,
314
+ label: statusLabels?.[status],
315
+ onDark: tone === "brand"
316
+ }
317
+ )
318
+ }
319
+ ),
320
+ children
321
+ ] })
322
+ }
323
+ );
324
+ }
325
+ );
326
+ SectionShell.displayName = "SectionShell";
327
+ function CtaLinks({
328
+ primary,
329
+ secondary,
330
+ tone = "default",
331
+ align = "start",
332
+ className,
333
+ components
334
+ }) {
335
+ if (!primary && !secondary) return null;
336
+ const onBrand = tone === "brand";
337
+ const wrap = "h-auto min-h-12 py-3 whitespace-normal text-center";
338
+ return /* @__PURE__ */ jsxRuntime.jsxs(
339
+ "div",
340
+ {
341
+ "data-slot": "cta-links",
342
+ className: chunkS5RVSXDV_cjs.cn(
343
+ "flex flex-col gap-3 sm:flex-row sm:flex-wrap",
344
+ align === "center" && "sm:justify-center",
345
+ className
346
+ ),
347
+ children: [
348
+ primary && /* @__PURE__ */ jsxRuntime.jsxs(
349
+ TemplateAnchor,
350
+ {
351
+ href: primary.href,
352
+ trackingId: primary.trackingId,
353
+ components,
354
+ "data-slot": "cta-primary",
355
+ className: chunkS5RVSXDV_cjs.cn(
356
+ chunkDXEPYK3I_cjs.buttonVariants({ variant: "primary", size: "lg" }),
357
+ wrap,
358
+ onBrand && "text-primary-900 hover:bg-primary-50 active:bg-primary-100 bg-white"
359
+ ),
360
+ children: [
361
+ primary.label,
362
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { "aria-hidden": "true", className: "size-5 rtl:-scale-x-100" })
363
+ ]
364
+ }
365
+ ),
366
+ secondary && /* @__PURE__ */ jsxRuntime.jsx(
367
+ TemplateAnchor,
368
+ {
369
+ href: secondary.href,
370
+ trackingId: secondary.trackingId,
371
+ components,
372
+ "data-slot": "cta-secondary",
373
+ className: chunkS5RVSXDV_cjs.cn(
374
+ chunkDXEPYK3I_cjs.buttonVariants({ variant: "outline", size: "lg" }),
375
+ wrap,
376
+ onBrand && "border-white/70 text-white hover:bg-white/10 hover:text-white dark:border-white/70 dark:text-white dark:hover:bg-white/10"
377
+ ),
378
+ children: secondary.label
379
+ }
380
+ )
381
+ ]
382
+ }
383
+ );
384
+ }
385
+ function IconTile({
386
+ name,
387
+ icons,
388
+ tone = "default",
389
+ className
390
+ }) {
391
+ return /* @__PURE__ */ jsxRuntime.jsx(
392
+ "span",
393
+ {
394
+ "data-slot": "icon-tile",
395
+ className: chunkS5RVSXDV_cjs.cn(
396
+ "inline-flex size-11 shrink-0 items-center justify-center rounded-xl",
397
+ tone === "brand" ? "bg-white/10 text-white" : "bg-primary-100 text-primary-900 dark:bg-primary-900/60 dark:text-primary-200",
398
+ className
399
+ ),
400
+ children: /* @__PURE__ */ jsxRuntime.jsx(TemplateIcon, { name, icons })
401
+ }
402
+ );
403
+ }
404
+
405
+ exports.CtaLinks = CtaLinks;
406
+ exports.IconTile = IconTile;
407
+ exports.MetricStatusBadge = MetricStatusBadge;
408
+ exports.SectionHeading = SectionHeading;
409
+ exports.SectionShell = SectionShell;
410
+ exports.TemplateAnchor = TemplateAnchor;
411
+ exports.TemplateIcon = TemplateIcon;
412
+ exports.TemplateImg = TemplateImg;
413
+ exports.accentTextClass = accentTextClass;
414
+ exports.cardClass = cardClass;
415
+ exports.containerClass = containerClass;
416
+ exports.defaultMetricStatusLabels = defaultMetricStatusLabels;
417
+ exports.headingTextClass = headingTextClass;
418
+ exports.mutedTextClass = mutedTextClass;
419
+ exports.ownProperty = ownProperty;
420
+ exports.safeHref = safeHref;
421
+ exports.templateIcons = templateIcons;
422
+ exports.toneClass = toneClass;
423
+ //# sourceMappingURL=chunk-XI74P5F2.cjs.map
424
+ //# sourceMappingURL=chunk-XI74P5F2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/MetricStatusBadge/MetricStatusBadge.tsx","../src/utils/own.ts","../src/templates/icons.tsx","../src/templates/Section.tsx"],"names":["React","jsxs","cn","jsx","Activity","Award","BadgeCheck","Bell","Briefcase","Building2","Calendar","CalendarCheck","ChartColumn","ChartLine","CircleCheck","ClipboardCheck","Clock","Cloud","Database","DollarSign","Factory","FileText","FlaskConical","Globe","GraduationCap","Handshake","HardHat","Headset","HeartPulse","Hospital","Layers","Leaf","Lightbulb","Lock","Mail","MapPin","MessageSquare","Microscope","Phone","Plane","Plug","Rocket","Scale","Search","Settings","Shield","ShieldCheck","Smartphone","Sparkles","Stethoscope","Syringe","Target","Timer","TrendingUp","Truck","UserCheck","Users","Workflow","Wrench","Zap","React2","buttonVariants","ArrowRight"],"mappings":"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","file":"chunk-XI74P5F2.cjs","sourcesContent":["import * as React from 'react';\nimport { cn } from '../../utils/cn';\n\n/** Where a figure comes from: measured, estimated, or still being instrumented. */\nexport type MetricStatus = 'live' | 'modeled' | 'maturing';\n\n/** Translated badge text, per status. */\nexport type MetricStatusLabels = Partial<Record<MetricStatus, string>>;\n\nexport const defaultMetricStatusLabels: Record<MetricStatus, string> = {\n live: 'Live data',\n modeled: 'Modeled',\n maturing: 'Data maturing',\n};\n\nconst dotClass: Record<MetricStatus, string> = {\n live: 'bg-success',\n modeled: 'bg-info',\n maturing: 'bg-warning',\n};\n\nexport interface MetricStatusBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n status: MetricStatus;\n /** Override the visible label, e.g. for translation. */\n label?: string;\n /** Set on dark or brand surfaces. */\n onDark?: boolean;\n}\n\n/** Labels a figure by provenance so readers can tell measured data from estimates. */\nexport const MetricStatusBadge = React.forwardRef<\n HTMLSpanElement,\n MetricStatusBadgeProps\n>(({ status, label, onDark, className, ...rest }, ref) => (\n <span\n ref={ref}\n data-slot=\"metric-status-badge\"\n data-status={status}\n className={cn(\n 'inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-xs font-medium',\n onDark\n ? 'border-white/20 bg-white/10 text-white'\n : 'border-border bg-card text-foreground',\n className\n )}\n {...rest}\n >\n <span\n aria-hidden=\"true\"\n className={cn('size-1.5 rounded-full', dotClass[status])}\n />\n {label ?? defaultMetricStatusLabels[status]}\n </span>\n));\nMetricStatusBadge.displayName = 'MetricStatusBadge';\n","/**\n * `map[key]` restricted to own properties. Runtime page/CMS data supplies the\n * key, and a plain bracket lookup would also reach inherited\n * `Object.prototype` members — `\"toString\"` or `\"constructor\"` must resolve to\n * \"unknown\", not to a built-in function React then tries to render or call.\n */\nexport function ownProperty<T>(\n map: Record<string, T> | undefined,\n key: string\n): T | undefined {\n return map != null && Object.hasOwn(map, key) ? map[key] : undefined;\n}\n","import type * as React from 'react';\nimport {\n Activity,\n Award,\n BadgeCheck,\n Bell,\n Briefcase,\n Building2,\n Calendar,\n CalendarCheck,\n ChartColumn,\n ChartLine,\n CircleCheck,\n ClipboardCheck,\n Clock,\n Cloud,\n Database,\n DollarSign,\n Factory,\n FileText,\n FlaskConical,\n Globe,\n GraduationCap,\n Handshake,\n HardHat,\n Headset,\n HeartPulse,\n Hospital,\n Layers,\n Leaf,\n Lightbulb,\n Lock,\n Mail,\n MapPin,\n MessageSquare,\n Microscope,\n Phone,\n Plane,\n Plug,\n Rocket,\n Scale,\n Search,\n Settings,\n Shield,\n ShieldCheck,\n Smartphone,\n Sparkles,\n Stethoscope,\n Syringe,\n Target,\n Timer,\n TrendingUp,\n Truck,\n UserCheck,\n Users,\n Workflow,\n Wrench,\n Zap,\n} from 'lucide-react';\nimport { cn } from '../utils/cn';\nimport { ownProperty } from '../utils/own';\n\nexport type TemplateIconComponent = React.ComponentType<{\n className?: string;\n strokeWidth?: number;\n 'aria-hidden'?: boolean | 'true' | 'false';\n}>;\n\n/** Extra icon tokens a site maps to its own components; merged over the built-ins. */\nexport type TemplateIconRegistry = Record<string, TemplateIconComponent>;\n\n/**\n * Built-in icon tokens. Page data names an icon by token (`\"shield-check\"`)\n * rather than holding a component, so it stays JSON-serializable.\n */\nexport const templateIcons = {\n activity: Activity,\n award: Award,\n 'badge-check': BadgeCheck,\n bell: Bell,\n briefcase: Briefcase,\n building: Building2,\n calendar: Calendar,\n 'calendar-check': CalendarCheck,\n 'chart-column': ChartColumn,\n 'chart-line': ChartLine,\n 'circle-check': CircleCheck,\n 'clipboard-check': ClipboardCheck,\n clock: Clock,\n cloud: Cloud,\n database: Database,\n 'dollar-sign': DollarSign,\n factory: Factory,\n 'file-text': FileText,\n flask: FlaskConical,\n globe: Globe,\n 'graduation-cap': GraduationCap,\n handshake: Handshake,\n 'hard-hat': HardHat,\n headset: Headset,\n 'heart-pulse': HeartPulse,\n hospital: Hospital,\n layers: Layers,\n leaf: Leaf,\n lightbulb: Lightbulb,\n lock: Lock,\n mail: Mail,\n 'map-pin': MapPin,\n 'message-square': MessageSquare,\n microscope: Microscope,\n phone: Phone,\n plane: Plane,\n plug: Plug,\n rocket: Rocket,\n scale: Scale,\n search: Search,\n settings: Settings,\n shield: Shield,\n 'shield-check': ShieldCheck,\n smartphone: Smartphone,\n sparkles: Sparkles,\n stethoscope: Stethoscope,\n syringe: Syringe,\n target: Target,\n timer: Timer,\n 'trending-up': TrendingUp,\n truck: Truck,\n 'user-check': UserCheck,\n users: Users,\n workflow: Workflow,\n wrench: Wrench,\n zap: Zap,\n} satisfies TemplateIconRegistry;\n\nexport type TemplateIconName = keyof typeof templateIcons;\n\nexport interface TemplateIconProps {\n /** A built-in token, a token from `icons`, or a lettermark of up to four characters. */\n name: string;\n icons?: TemplateIconRegistry;\n className?: string;\n}\n\nexport function TemplateIcon({ name, icons, className }: TemplateIconProps) {\n // Icon names are page/CMS data — own properties only, or \"toString\" would\n // resolve to a prototype method instead of the lettermark/null fallback.\n const Icon =\n ownProperty(icons, name) ??\n ownProperty(templateIcons as TemplateIconRegistry, name);\n if (Icon)\n return (\n <Icon\n aria-hidden=\"true\"\n strokeWidth={1.75}\n className={cn('size-5', className)}\n />\n );\n if (name.length <= 4)\n return (\n <span\n aria-hidden=\"true\"\n className={cn('text-xs font-bold tracking-wide', className)}\n >\n {name}\n </span>\n );\n return null;\n}\n","import * as React from 'react';\nimport { ArrowRight } from 'lucide-react';\nimport { buttonVariants } from '../components/Button/button-variants';\nimport {\n MetricStatusBadge,\n type MetricStatus,\n type MetricStatusLabels,\n} from '../components/MetricStatusBadge/MetricStatusBadge';\nimport { cn } from '../utils/cn';\nimport { TemplateIcon, type TemplateIconRegistry } from './icons';\nimport type {\n SectionAlign,\n SectionTone,\n TemplateComponents,\n TemplateImageProps,\n TemplateLink,\n TemplateLinkProps,\n} from './types';\n\nconst toneSurface: Record<SectionTone, string> = {\n default: 'bg-background text-foreground',\n muted: 'bg-muted text-foreground',\n brand: 'bg-primary-900 text-white',\n};\n\nexport const toneClass = (tone: SectionTone) => toneSurface[tone];\n\n/** Card surface that reads correctly on the given section tone. */\nexport const cardClass = (tone: SectionTone) =>\n tone === 'brand'\n ? 'border border-white/15 bg-white/5 text-white'\n : 'border border-border bg-card text-card-foreground';\n\n// muted-foreground on bg-muted drops below AA in dark mode, so the muted tone mixes foreground instead.\nexport const mutedTextClass = (tone: SectionTone) =>\n tone === 'brand'\n ? 'text-white/80'\n : tone === 'muted'\n ? 'text-foreground/80'\n : 'text-muted-foreground';\n\n// Explicit, because host sites often colour h1–h4 in a base layer that beats inheritance.\nexport const headingTextClass = (tone: SectionTone) =>\n tone === 'brand' ? 'text-white' : 'text-foreground';\n\n// 800 (light) is the shade Button's primary fill already guarantees against white.\nexport const accentTextClass = (tone: SectionTone) =>\n tone === 'brand' ? 'text-white' : 'text-primary-800 dark:text-primary-300';\n\nexport const containerClass = (width: 'wide' | 'narrow' = 'wide') =>\n cn(\n 'mx-auto w-full px-4 sm:px-6 lg:px-8',\n width === 'narrow' ? 'max-w-3xl' : 'max-w-7xl'\n );\n\nconst SAFE_HREF_SCHEME = /^(?:https?|mailto|tel):/i;\n\n/**\n * A URL from page data, or `undefined` if its scheme is not http(s), mailto or\n * tel. Content/CMS URLs are untrusted, and a `javascript:` href is script\n * execution — React and site Link adapters render it verbatim.\n */\nexport function safeHref(href: string | undefined): string | undefined {\n if (href == null) return undefined;\n // Browsers drop tab/newline and leading controls when parsing, so\n // `java\\tscript:` still runs — match the scheme on the stripped value.\n // eslint-disable-next-line no-control-regex\n const stripped = href.replace(/[\\u0000-\\u0020]/g, '');\n // Blank means \"current document URL\" as a form action — not a real target.\n if (!stripped) return undefined;\n if (!/^[a-z][a-z0-9+.-]*:/i.test(stripped)) return href; // relative, hash, query, //\n return SAFE_HREF_SCHEME.test(stripped) ? href : undefined;\n}\n\n/** An anchor, or the site's `components.Link`, with `trackingId` as `data-track`. */\nexport function TemplateAnchor({\n components,\n trackingId,\n children,\n ...props\n}: TemplateLinkProps & {\n components?: TemplateComponents;\n trackingId?: string;\n}) {\n const Link = components?.Link;\n const href = safeHref(props.href);\n const all = { ...props, href, 'data-track': trackingId };\n // Adapters require an href (Next's Link throws), so a dropped one falls back\n // to an inert plain anchor.\n return Link && href != null ? (\n <Link {...all} href={href}>\n {children}\n </Link>\n ) : (\n <a {...all}>{children}</a>\n );\n}\n\n// React 18 only passes the lowercase attribute through; React 19 wants camelCase.\nconst fetchPriorityHigh = (\n React.version.startsWith('18.')\n ? { fetchpriority: 'high' }\n : { fetchPriority: 'high' }\n) as React.ImgHTMLAttributes<HTMLImageElement>;\n\n/** An `<img>`, or the site's `components.Image`. */\nexport function TemplateImg({\n components,\n priority,\n ...image\n}: TemplateImageProps & { components?: TemplateComponents }) {\n const Image = components?.Image;\n if (Image) return <Image {...image} priority={priority} />;\n return (\n <img\n {...image}\n alt={image.alt}\n loading={priority ? undefined : 'lazy'}\n {...(priority ? fetchPriorityHigh : {})}\n decoding=\"async\"\n />\n );\n}\n\nexport interface SectionHeadingProps {\n eyebrow?: string;\n title?: string;\n description?: string;\n /** Heading element. Sections use `h2`; only a page's hero is `h1`. */\n as?: 'h1' | 'h2' | 'h3';\n size?: 'section' | 'hero';\n align?: SectionAlign;\n tone?: SectionTone;\n titleId?: string;\n className?: string;\n}\n\n/** Eyebrow, heading and supporting text — the opener every landing section shares. */\nexport function SectionHeading({\n eyebrow,\n title,\n description,\n as: Heading = 'h2',\n size = 'section',\n align = 'start',\n tone = 'default',\n titleId,\n className,\n}: SectionHeadingProps) {\n if (!eyebrow && !title && !description) return null;\n return (\n <div\n data-slot=\"section-heading\"\n className={cn(\n 'max-w-3xl',\n align === 'center' && 'mx-auto text-center',\n className\n )}\n >\n {eyebrow && (\n <p\n className={cn(\n 'mb-3 text-sm font-semibold tracking-wider uppercase',\n accentTextClass(tone)\n )}\n >\n {eyebrow}\n </p>\n )}\n {title && (\n <Heading\n id={titleId}\n className={cn(\n 'font-bold tracking-tight text-balance',\n headingTextClass(tone),\n size === 'hero'\n ? 'text-4xl sm:text-5xl lg:text-6xl'\n : 'text-3xl sm:text-4xl'\n )}\n >\n {title}\n </Heading>\n )}\n {description && (\n <p\n className={cn(\n 'mt-4 text-pretty',\n size === 'hero' ? 'text-lg sm:text-xl' : 'text-lg',\n mutedTextClass(tone)\n )}\n >\n {description}\n </p>\n )}\n </div>\n );\n}\n\nexport interface SectionShellProps extends Omit<\n React.HTMLAttributes<HTMLElement>,\n 'title'\n> {\n eyebrow?: string;\n title?: string;\n description?: string;\n tone?: SectionTone;\n align?: SectionAlign;\n width?: 'wide' | 'narrow';\n spacing?: 'default' | 'compact';\n /** Provenance badge under the heading, for sections that report figures. */\n status?: MetricStatus;\n /** Translated text for the `status` badge. */\n statusLabels?: MetricStatusLabels;\n /** Accepted so sections can forward their props; the shell renders no links or images. */\n components?: TemplateComponents;\n}\n\n/**\n * The `<section>` + container + heading frame every landing section renders.\n * Exported so a site can build its own section that sits flush with the rest.\n */\nexport const SectionShell = React.forwardRef<HTMLElement, SectionShellProps>(\n (\n {\n eyebrow,\n title,\n description,\n tone = 'default',\n align = 'start',\n width = 'wide',\n spacing = 'default',\n status,\n statusLabels,\n className,\n children,\n components,\n ...rest\n },\n ref\n ) => {\n void components; // kept off the DOM\n const titleId = React.useId();\n return (\n <section\n ref={ref}\n data-slot=\"landing-section\"\n data-tone={tone}\n aria-labelledby={title ? titleId : undefined}\n className={cn(\n spacing === 'compact' ? 'py-10 sm:py-14' : 'py-16 sm:py-24',\n toneClass(tone),\n className\n )}\n {...rest}\n >\n <div className={containerClass(width)}>\n <SectionHeading\n eyebrow={eyebrow}\n title={title}\n description={description}\n align={align}\n tone={tone}\n titleId={titleId}\n className={cn(width === 'narrow' && 'max-w-none')}\n />\n {status && (\n <div\n className={cn(\n 'mt-4 flex',\n align === 'center' && 'justify-center'\n )}\n >\n <MetricStatusBadge\n status={status}\n label={statusLabels?.[status]}\n onDark={tone === 'brand'}\n />\n </div>\n )}\n {children}\n </div>\n </section>\n );\n }\n);\nSectionShell.displayName = 'SectionShell';\n\nexport interface CtaLinksProps {\n primary?: TemplateLink;\n secondary?: TemplateLink;\n tone?: SectionTone;\n align?: SectionAlign;\n className?: string;\n components?: TemplateComponents;\n}\n\n/** Primary + secondary calls to action as button-styled anchors. */\nexport function CtaLinks({\n primary,\n secondary,\n tone = 'default',\n align = 'start',\n className,\n components,\n}: CtaLinksProps) {\n if (!primary && !secondary) return null;\n const onBrand = tone === 'brand';\n // Long or translated labels must wrap rather than overflow on phones.\n const wrap = 'h-auto min-h-12 py-3 whitespace-normal text-center';\n return (\n <div\n data-slot=\"cta-links\"\n className={cn(\n 'flex flex-col gap-3 sm:flex-row sm:flex-wrap',\n align === 'center' && 'sm:justify-center',\n className\n )}\n >\n {primary && (\n <TemplateAnchor\n href={primary.href}\n trackingId={primary.trackingId}\n components={components}\n data-slot=\"cta-primary\"\n className={cn(\n buttonVariants({ variant: 'primary', size: 'lg' }),\n wrap,\n onBrand &&\n 'text-primary-900 hover:bg-primary-50 active:bg-primary-100 bg-white'\n )}\n >\n {primary.label}\n <ArrowRight aria-hidden=\"true\" className=\"size-5 rtl:-scale-x-100\" />\n </TemplateAnchor>\n )}\n {secondary && (\n <TemplateAnchor\n href={secondary.href}\n trackingId={secondary.trackingId}\n components={components}\n data-slot=\"cta-secondary\"\n className={cn(\n buttonVariants({ variant: 'outline', size: 'lg' }),\n wrap,\n onBrand &&\n 'border-white/70 text-white hover:bg-white/10 hover:text-white dark:border-white/70 dark:text-white dark:hover:bg-white/10'\n )}\n >\n {secondary.label}\n </TemplateAnchor>\n )}\n </div>\n );\n}\n\nexport interface IconTileProps {\n name: string;\n icons?: TemplateIconRegistry;\n tone?: SectionTone;\n className?: string;\n}\n\nexport function IconTile({\n name,\n icons,\n tone = 'default',\n className,\n}: IconTileProps) {\n return (\n <span\n data-slot=\"icon-tile\"\n className={cn(\n 'inline-flex size-11 shrink-0 items-center justify-center rounded-xl',\n tone === 'brand'\n ? 'bg-white/10 text-white'\n : 'bg-primary-100 text-primary-900 dark:bg-primary-900/60 dark:text-primary-200',\n className\n )}\n >\n <TemplateIcon name={name} icons={icons} />\n </span>\n );\n}\n"]}
@@ -3,8 +3,9 @@
3
3
  var chunkPJ6CC53R_cjs = require('./chunk-PJ6CC53R.cjs');
4
4
  var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var React2 = require('react');
6
+ var React3 = require('react');
7
7
  var classVarianceAuthority = require('class-variance-authority');
8
+ var lucideReact = require('lucide-react');
8
9
 
9
10
  function _interopNamespace(e) {
10
11
  if (e && e.__esModule) return e;
@@ -24,7 +25,7 @@ function _interopNamespace(e) {
24
25
  return Object.freeze(n);
25
26
  }
26
27
 
27
- var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
28
+ var React3__namespace = /*#__PURE__*/_interopNamespace(React3);
28
29
 
29
30
  var sizeClasses = {
30
31
  sm: "h-4 w-4",
@@ -237,9 +238,9 @@ function CollapsiblePill({
237
238
  children
238
239
  }) {
239
240
  const hasContent = Boolean(children);
240
- const [isOpen, setIsOpen] = React2__namespace.useState(defaultOpen);
241
- const contentId = React2__namespace.useId();
242
- React2__namespace.useEffect(() => {
241
+ const [isOpen, setIsOpen] = React3__namespace.useState(defaultOpen);
242
+ const contentId = React3__namespace.useId();
243
+ React3__namespace.useEffect(() => {
243
244
  setIsOpen(defaultOpen);
244
245
  }, [defaultOpen]);
245
246
  const toggle = () => {
@@ -1096,12 +1097,17 @@ function ThinkingBlock({
1096
1097
  streaming,
1097
1098
  defaultCollapsed = false
1098
1099
  }) {
1099
- const startedAt = React2__namespace.useRef(Date.now());
1100
- const [elapsed, setElapsed] = React2__namespace.useState(null);
1101
- const prevStreaming = React2__namespace.useRef(streaming);
1102
- React2__namespace.useEffect(() => {
1100
+ const startedAt = React3__namespace.useRef(Date.now());
1101
+ const [elapsed, setElapsed] = React3__namespace.useState(null);
1102
+ const [autoCollapsed, setAutoCollapsed] = React3__namespace.useState(false);
1103
+ const prevStreaming = React3__namespace.useRef(streaming);
1104
+ React3__namespace.useEffect(() => {
1103
1105
  if (prevStreaming.current && !streaming) {
1104
1106
  setElapsed(Math.round((Date.now() - startedAt.current) / 1e3));
1107
+ setAutoCollapsed(true);
1108
+ } else if (!prevStreaming.current && streaming) {
1109
+ startedAt.current = Date.now();
1110
+ setAutoCollapsed(false);
1105
1111
  }
1106
1112
  prevStreaming.current = streaming;
1107
1113
  }, [streaming]);
@@ -1118,7 +1124,7 @@ function ThinkingBlock({
1118
1124
  {
1119
1125
  label,
1120
1126
  leadingIcon: dot,
1121
- defaultOpen: !defaultCollapsed,
1127
+ defaultOpen: !defaultCollapsed && !autoCollapsed,
1122
1128
  pillClassName: "bg-violet-50 border-violet-200 text-violet-600 hover:bg-violet-100 dark:bg-violet-950/30 dark:border-violet-800 dark:text-violet-400 dark:hover:bg-violet-950/50 focus-visible:ring-violet-500",
1123
1129
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-s-2 border-violet-200 ps-3 text-[13px] leading-relaxed text-neutral-600 italic dark:border-violet-700 dark:text-neutral-400", children: text })
1124
1130
  }
@@ -1303,7 +1309,7 @@ var bubbleVariants = classVarianceAuthority.cva("rounded-2xl px-4 py-2.5 w-fit m
1303
1309
  variant: "assistant"
1304
1310
  }
1305
1311
  });
1306
- var ChatBubble = React2__namespace.forwardRef(
1312
+ var ChatBubble = React3__namespace.forwardRef(
1307
1313
  ({ className, variant, hasError, accent, style, children, ...props }, ref) => {
1308
1314
  return /* @__PURE__ */ jsxRuntime.jsx(
1309
1315
  "div",
@@ -1419,14 +1425,101 @@ function AIMessageDisplay({
1419
1425
  }
1420
1426
  );
1421
1427
  }
1428
+ var ButtonGroup = React3__namespace.forwardRef(
1429
+ ({ orientation = "auto", split, className, children, ...props }, ref) => {
1430
+ const innerRef = React3__namespace.useRef(null);
1431
+ React3__namespace.useImperativeHandle(ref, () => innerRef.current);
1432
+ const [stacked, setStacked] = React3__namespace.useState(false);
1433
+ const requiredWidth = React3__namespace.useRef(0);
1434
+ React3__namespace.useLayoutEffect(() => {
1435
+ if (orientation !== "auto") return;
1436
+ const el = innerRef.current;
1437
+ if (!el) return;
1438
+ const measure = () => {
1439
+ if (!stacked) {
1440
+ const overflow = Array.from(
1441
+ el.querySelectorAll('[data-slot="button-label"]')
1442
+ ).reduce(
1443
+ (sum, label) => sum + Math.max(0, label.scrollWidth - label.clientWidth),
1444
+ 0
1445
+ );
1446
+ if (overflow > 0) {
1447
+ requiredWidth.current = el.clientWidth + overflow;
1448
+ setStacked(true);
1449
+ }
1450
+ } else if (el.clientWidth >= requiredWidth.current) {
1451
+ setStacked(false);
1452
+ }
1453
+ };
1454
+ measure();
1455
+ if (typeof globalThis.ResizeObserver === "undefined") return;
1456
+ const observer = new globalThis.ResizeObserver(measure);
1457
+ observer.observe(el);
1458
+ return () => observer.disconnect();
1459
+ }, [orientation, stacked, children]);
1460
+ const isStacked = orientation === "vertical" || orientation === "auto" && stacked;
1461
+ const items = React3__namespace.Children.toArray(children);
1462
+ const splitCount = split === true ? 1 : typeof split === "number" ? split : 0;
1463
+ const splitIndex = !isStacked && splitCount > 0 && splitCount < items.length ? splitCount : 0;
1464
+ return /* @__PURE__ */ jsxRuntime.jsx(
1465
+ "div",
1466
+ {
1467
+ ref: innerRef,
1468
+ "data-slot": "button-group",
1469
+ "data-orientation": isStacked ? "vertical" : "horizontal",
1470
+ className: chunkS5RVSXDV_cjs.cn(
1471
+ "flex gap-3",
1472
+ isStacked ? "flex-col items-stretch" : "flex-row items-center justify-end",
1473
+ className
1474
+ ),
1475
+ ...props,
1476
+ children: splitIndex > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1477
+ items.slice(0, splitIndex),
1478
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", "aria-hidden": "true" }),
1479
+ items.slice(splitIndex)
1480
+ ] }) : children
1481
+ }
1482
+ );
1483
+ }
1484
+ );
1485
+ ButtonGroup.displayName = "ButtonGroup";
1486
+ function JumpToBottomButton({
1487
+ hasNewMessages,
1488
+ onClick,
1489
+ dataSlot
1490
+ }) {
1491
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1492
+ "button",
1493
+ {
1494
+ type: "button",
1495
+ "data-slot": dataSlot,
1496
+ onClick,
1497
+ "aria-label": hasNewMessages ? "New messages \u2014 scroll to bottom" : "Scroll to bottom",
1498
+ className: chunkS5RVSXDV_cjs.cn(
1499
+ "absolute bottom-3 left-1/2 z-20 -translate-x-1/2",
1500
+ "flex items-center gap-1.5 rounded-full border border-neutral-200 bg-white p-2 text-xs font-medium text-neutral-600 shadow-lg",
1501
+ "hover:bg-neutral-50 hover:text-neutral-800",
1502
+ "focus-visible:ring-primary-500 focus:outline-none focus-visible:ring-2",
1503
+ "dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:hover:text-neutral-100",
1504
+ hasNewMessages && "ps-3"
1505
+ ),
1506
+ children: [
1507
+ hasNewMessages && /* @__PURE__ */ jsxRuntime.jsx("span", { children: "New messages" }),
1508
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDown, { size: 16, "aria-hidden": "true" })
1509
+ ]
1510
+ }
1511
+ );
1512
+ }
1422
1513
 
1423
1514
  exports.AILogoIcon = AILogoIcon;
1424
1515
  exports.AIMessageDisplay = AIMessageDisplay;
1425
1516
  exports.AITypingIndicator = AITypingIndicator;
1517
+ exports.ButtonGroup = ButtonGroup;
1426
1518
  exports.ChatBubble = ChatBubble;
1427
1519
  exports.ChevronIcon = ChevronIcon;
1428
1520
  exports.CloseIcon = CloseIcon;
1429
1521
  exports.CollapsiblePill = CollapsiblePill;
1522
+ exports.JumpToBottomButton = JumpToBottomButton;
1430
1523
  exports.MCPToolCallDisplay = MCPToolCallDisplay;
1431
1524
  exports.MessageAvatar = MessageAvatar;
1432
1525
  exports.RefreshIcon = RefreshIcon;
@@ -1436,5 +1529,5 @@ exports.SparklesIcon = SparklesIcon;
1436
1529
  exports.SpinnerIcon = SpinnerIcon;
1437
1530
  exports.ToolStatusIcon = ToolStatusIcon;
1438
1531
  exports.getToolIcon = getToolIcon;
1439
- //# sourceMappingURL=chunk-WIAQQNFU.cjs.map
1440
- //# sourceMappingURL=chunk-WIAQQNFU.cjs.map
1532
+ //# sourceMappingURL=chunk-XRVMYT5G.cjs.map
1533
+ //# sourceMappingURL=chunk-XRVMYT5G.cjs.map