@mieweb/ui 0.10.0-dev.9 → 0.11.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (807) hide show
  1. package/README.md +4 -4
  2. package/agent/mieweb-ui.instructions.md +77 -0
  3. package/dist/CsvBlock-CFXSDPBI.js +9 -0
  4. package/dist/{CsvBlock-UWPMTLE2.js.map → CsvBlock-CFXSDPBI.js.map} +1 -1
  5. package/dist/CsvBlock-RGO7JXHJ.cjs +18 -0
  6. package/dist/{CsvBlock-ROJCKJDP.cjs.map → CsvBlock-RGO7JXHJ.cjs.map} +1 -1
  7. package/dist/HtmlPreviewBlock-VBYXCXVT.cjs +18 -0
  8. package/dist/{HtmlPreviewBlock-DWFN6EUB.cjs.map → HtmlPreviewBlock-VBYXCXVT.cjs.map} +1 -1
  9. package/dist/HtmlPreviewBlock-Z2GCK325.js +9 -0
  10. package/dist/{HtmlPreviewBlock-ME5U3XNS.js.map → HtmlPreviewBlock-Z2GCK325.js.map} +1 -1
  11. package/dist/MermaidBlock-I2R2BQOX.cjs +18 -0
  12. package/dist/{MermaidBlock-D2UC5M55.cjs.map → MermaidBlock-I2R2BQOX.cjs.map} +1 -1
  13. package/dist/MermaidBlock-XCAK7IA5.js +9 -0
  14. package/dist/{MermaidBlock-2B6CPD6Y.js.map → MermaidBlock-XCAK7IA5.js.map} +1 -1
  15. package/dist/SurveyBlock-KI5JOWCL.js +9 -0
  16. package/dist/{SurveyBlock-4DO62RBT.js.map → SurveyBlock-KI5JOWCL.js.map} +1 -1
  17. package/dist/SurveyBlock-UKSGISRT.cjs +18 -0
  18. package/dist/{SurveyBlock-4CD4AYMJ.cjs.map → SurveyBlock-UKSGISRT.cjs.map} +1 -1
  19. package/dist/ag-grid.d.cts +142 -1
  20. package/dist/ag-grid.d.ts +142 -1
  21. package/dist/brands/bluehive.cjs +3 -3
  22. package/dist/brands/bluehive.css +3 -0
  23. package/dist/brands/bluehive.js +1 -1
  24. package/dist/brands/index.cjs +17 -17
  25. package/dist/brands/index.js +4 -4
  26. package/dist/{chunk-JYZW2PZS.cjs → chunk-254QK722.cjs} +7 -7
  27. package/dist/chunk-254QK722.cjs.map +1 -0
  28. package/dist/{chunk-4IS3QCOQ.cjs → chunk-2FZYZ4HT.cjs} +4 -3
  29. package/dist/chunk-2FZYZ4HT.cjs.map +1 -0
  30. package/dist/{chunk-VPIYTQCV.cjs → chunk-2I4IRQQG.cjs} +12 -5
  31. package/dist/chunk-2I4IRQQG.cjs.map +1 -0
  32. package/dist/{chunk-IT775BYG.js → chunk-2W73UQ3T.js} +4 -3
  33. package/dist/chunk-2W73UQ3T.js.map +1 -0
  34. package/dist/chunk-2X54ZLT6.js +874 -0
  35. package/dist/chunk-2X54ZLT6.js.map +1 -0
  36. package/dist/{chunk-5MCBWTIF.cjs → chunk-32ZCJOSR.cjs} +4 -4
  37. package/dist/{chunk-5MCBWTIF.cjs.map → chunk-32ZCJOSR.cjs.map} +1 -1
  38. package/dist/{chunk-WNJRS7Y7.cjs → chunk-3ZWCIPFT.cjs} +4 -2
  39. package/dist/chunk-3ZWCIPFT.cjs.map +1 -0
  40. package/dist/chunk-434L5RYF.js +314 -0
  41. package/dist/chunk-434L5RYF.js.map +1 -0
  42. package/dist/{chunk-TPWKM7JH.js → chunk-43K7OQ3E.js} +3 -3
  43. package/dist/{chunk-TPWKM7JH.js.map → chunk-43K7OQ3E.js.map} +1 -1
  44. package/dist/chunk-47P5QLX4.cjs +42 -0
  45. package/dist/chunk-47P5QLX4.cjs.map +1 -0
  46. package/dist/{chunk-CR2SDI23.cjs → chunk-4QYYWYFD.cjs} +8 -7
  47. package/dist/chunk-4QYYWYFD.cjs.map +1 -0
  48. package/dist/{chunk-76TBQDED.js → chunk-4RI3CQGE.js} +6 -6
  49. package/dist/{chunk-76TBQDED.js.map → chunk-4RI3CQGE.js.map} +1 -1
  50. package/dist/chunk-4ZB7RSMY.cjs +306 -0
  51. package/dist/chunk-4ZB7RSMY.cjs.map +1 -0
  52. package/dist/chunk-522WJIVI.js +99 -0
  53. package/dist/chunk-522WJIVI.js.map +1 -0
  54. package/dist/chunk-56VTM4OX.js +261 -0
  55. package/dist/chunk-56VTM4OX.js.map +1 -0
  56. package/dist/chunk-5HKZR6UG.js +248 -0
  57. package/dist/chunk-5HKZR6UG.js.map +1 -0
  58. package/dist/chunk-6BNZLN4B.cjs +548 -0
  59. package/dist/chunk-6BNZLN4B.cjs.map +1 -0
  60. package/dist/chunk-6N7NMOSV.js +233 -0
  61. package/dist/chunk-6N7NMOSV.js.map +1 -0
  62. package/dist/chunk-6TTCZY3P.cjs +4 -0
  63. package/dist/chunk-6TTCZY3P.cjs.map +1 -0
  64. package/dist/{chunk-YQDA366U.js → chunk-753ENNB6.js} +2 -2
  65. package/dist/{chunk-YQDA366U.js.map → chunk-753ENNB6.js.map} +1 -1
  66. package/dist/{chunk-N6IY47YA.cjs → chunk-7C5W744U.cjs} +8 -8
  67. package/dist/{chunk-N6IY47YA.cjs.map → chunk-7C5W744U.cjs.map} +1 -1
  68. package/dist/chunk-7E46YDOT.cjs +122 -0
  69. package/dist/chunk-7E46YDOT.cjs.map +1 -0
  70. package/dist/chunk-7HUTR6RX.js +178 -0
  71. package/dist/chunk-7HUTR6RX.js.map +1 -0
  72. package/dist/chunk-7IRTD4JT.cjs +61 -0
  73. package/dist/chunk-7IRTD4JT.cjs.map +1 -0
  74. package/dist/{chunk-KZFBQ7GY.js → chunk-7QW6TU4X.js} +3 -3
  75. package/dist/{chunk-KZFBQ7GY.js.map → chunk-7QW6TU4X.js.map} +1 -1
  76. package/dist/{chunk-MWVW4APN.cjs → chunk-7UTBDFFL.cjs} +4 -4
  77. package/dist/{chunk-MWVW4APN.cjs.map → chunk-7UTBDFFL.cjs.map} +1 -1
  78. package/dist/chunk-7WJ6MBF5.cjs +47 -0
  79. package/dist/chunk-7WJ6MBF5.cjs.map +1 -0
  80. package/dist/{chunk-FJ7YPVKV.js → chunk-7X6R3JIA.js} +3 -3
  81. package/dist/{chunk-FJ7YPVKV.js.map → chunk-7X6R3JIA.js.map} +1 -1
  82. package/dist/chunk-A4W5CSK7.cjs +216 -0
  83. package/dist/chunk-A4W5CSK7.cjs.map +1 -0
  84. package/dist/{chunk-2G75X6TS.cjs → chunk-AHHFFXJR.cjs} +3 -3
  85. package/dist/{chunk-2G75X6TS.cjs.map → chunk-AHHFFXJR.cjs.map} +1 -1
  86. package/dist/chunk-AJPFQF3H.cjs +896 -0
  87. package/dist/chunk-AJPFQF3H.cjs.map +1 -0
  88. package/dist/chunk-AMYFRY7K.js +3 -0
  89. package/dist/chunk-AMYFRY7K.js.map +1 -0
  90. package/dist/{chunk-VNYW4C4J.cjs → chunk-ANMX7YDL.cjs} +4 -84
  91. package/dist/chunk-ANMX7YDL.cjs.map +1 -0
  92. package/dist/chunk-ARIJ5OHW.cjs +139 -0
  93. package/dist/chunk-ARIJ5OHW.cjs.map +1 -0
  94. package/dist/{chunk-GD7EBGC4.cjs → chunk-ATRW3J5Z.cjs} +49 -19
  95. package/dist/chunk-ATRW3J5Z.cjs.map +1 -0
  96. package/dist/chunk-BJ6ABRSQ.cjs +256 -0
  97. package/dist/chunk-BJ6ABRSQ.cjs.map +1 -0
  98. package/dist/{chunk-G3JX3UAU.cjs → chunk-BWSZ2BHJ.cjs} +6 -6
  99. package/dist/{chunk-G3JX3UAU.cjs.map → chunk-BWSZ2BHJ.cjs.map} +1 -1
  100. package/dist/chunk-BXRQ6HEP.cjs +4 -0
  101. package/dist/chunk-BXRQ6HEP.cjs.map +1 -0
  102. package/dist/chunk-CBBKWRLG.js +213 -0
  103. package/dist/chunk-CBBKWRLG.js.map +1 -0
  104. package/dist/{chunk-UAMXCMST.cjs → chunk-CFI3TQMA.cjs} +3 -3
  105. package/dist/{chunk-UAMXCMST.cjs.map → chunk-CFI3TQMA.cjs.map} +1 -1
  106. package/dist/chunk-CLQW724U.cjs +271 -0
  107. package/dist/chunk-CLQW724U.cjs.map +1 -0
  108. package/dist/chunk-CPDNX3LS.cjs +47 -0
  109. package/dist/chunk-CPDNX3LS.cjs.map +1 -0
  110. package/dist/chunk-CVNPNZMX.js +44 -0
  111. package/dist/chunk-CVNPNZMX.js.map +1 -0
  112. package/dist/chunk-DGHS5IVD.js +305 -0
  113. package/dist/chunk-DGHS5IVD.js.map +1 -0
  114. package/dist/chunk-DHGCLPFZ.js +91 -0
  115. package/dist/chunk-DHGCLPFZ.js.map +1 -0
  116. package/dist/chunk-DO2YN46R.cjs +201 -0
  117. package/dist/chunk-DO2YN46R.cjs.map +1 -0
  118. package/dist/chunk-DVDT7TX7.js +151 -0
  119. package/dist/chunk-DVDT7TX7.js.map +1 -0
  120. package/dist/chunk-DXEPYK3I.cjs +92 -0
  121. package/dist/chunk-DXEPYK3I.cjs.map +1 -0
  122. package/dist/chunk-DXFP53KF.js +283 -0
  123. package/dist/chunk-DXFP53KF.js.map +1 -0
  124. package/dist/chunk-EACNRR3C.cjs +4 -0
  125. package/dist/chunk-EACNRR3C.cjs.map +1 -0
  126. package/dist/{chunk-TVTIGV7Q.js → chunk-EBKE4DLU.js} +18 -11
  127. package/dist/chunk-EBKE4DLU.js.map +1 -0
  128. package/dist/{chunk-ASSDGS4F.cjs → chunk-ECYIDXG6.cjs} +254 -4
  129. package/dist/chunk-ECYIDXG6.cjs.map +1 -0
  130. package/dist/chunk-EGPDT7SM.js +195 -0
  131. package/dist/chunk-EGPDT7SM.js.map +1 -0
  132. package/dist/chunk-EPCUPHEO.js +193 -0
  133. package/dist/chunk-EPCUPHEO.js.map +1 -0
  134. package/dist/{chunk-7ZXAQTV4.cjs → chunk-ERACGSDY.cjs} +8 -8
  135. package/dist/{chunk-7ZXAQTV4.cjs.map → chunk-ERACGSDY.cjs.map} +1 -1
  136. package/dist/{chunk-XCP454Q6.js → chunk-F4N67NAF.js} +12 -3
  137. package/dist/chunk-F4N67NAF.js.map +1 -0
  138. package/dist/{chunk-WGPLUCBD.js → chunk-F6W62K4J.js} +4 -4
  139. package/dist/{chunk-WGPLUCBD.js.map → chunk-F6W62K4J.js.map} +1 -1
  140. package/dist/{chunk-XVW5DPPP.js → chunk-F7SZSOB3.js} +4 -3
  141. package/dist/chunk-F7SZSOB3.js.map +1 -0
  142. package/dist/chunk-FBCDYTWM.js +385 -0
  143. package/dist/chunk-FBCDYTWM.js.map +1 -0
  144. package/dist/{chunk-KQUI4BGS.cjs → chunk-FBN2VHUV.cjs} +68 -61
  145. package/dist/chunk-FBN2VHUV.cjs.map +1 -0
  146. package/dist/{chunk-V7D3YGUV.js → chunk-FGLIP6YR.js} +4 -4
  147. package/dist/{chunk-V7D3YGUV.js.map → chunk-FGLIP6YR.js.map} +1 -1
  148. package/dist/{chunk-VU6UTJRM.js → chunk-FIKO4WR6.js} +3 -3
  149. package/dist/{chunk-VU6UTJRM.js.map → chunk-FIKO4WR6.js.map} +1 -1
  150. package/dist/{chunk-OD47TTAW.cjs → chunk-FMEA6WAY.cjs} +9 -9
  151. package/dist/{chunk-OD47TTAW.cjs.map → chunk-FMEA6WAY.cjs.map} +1 -1
  152. package/dist/chunk-FSGJXCBG.cjs +318 -0
  153. package/dist/chunk-FSGJXCBG.cjs.map +1 -0
  154. package/dist/chunk-FSWHZY3T.cjs +328 -0
  155. package/dist/chunk-FSWHZY3T.cjs.map +1 -0
  156. package/dist/chunk-FTEZNCRI.js +29 -0
  157. package/dist/chunk-FTEZNCRI.js.map +1 -0
  158. package/dist/{chunk-YVPC65ZJ.cjs → chunk-GF2BE4FB.cjs} +91 -32
  159. package/dist/chunk-GF2BE4FB.cjs.map +1 -0
  160. package/dist/{chunk-JEIW7BSV.cjs → chunk-GKDHMNUA.cjs} +2 -52
  161. package/dist/chunk-GKDHMNUA.cjs.map +1 -0
  162. package/dist/{chunk-URAQIF67.cjs → chunk-GM32IDVL.cjs} +6 -6
  163. package/dist/{chunk-URAQIF67.cjs.map → chunk-GM32IDVL.cjs.map} +1 -1
  164. package/dist/chunk-GVM6DTR5.js +90 -0
  165. package/dist/chunk-GVM6DTR5.js.map +1 -0
  166. package/dist/{chunk-SQHMGT4W.js → chunk-GW4RFJZ5.js} +7 -7
  167. package/dist/chunk-GW4RFJZ5.js.map +1 -0
  168. package/dist/chunk-GY5SP4ST.js +3 -0
  169. package/dist/chunk-GY5SP4ST.js.map +1 -0
  170. package/dist/{chunk-OCSCBB52.cjs → chunk-GYXSF6BJ.cjs} +10 -10
  171. package/dist/{chunk-OCSCBB52.cjs.map → chunk-GYXSF6BJ.cjs.map} +1 -1
  172. package/dist/chunk-H2Y7HZV5.js +3 -0
  173. package/dist/chunk-H2Y7HZV5.js.map +1 -0
  174. package/dist/chunk-H3P7POFC.cjs +337 -0
  175. package/dist/chunk-H3P7POFC.cjs.map +1 -0
  176. package/dist/{chunk-JID7AZTO.cjs → chunk-H3ROMJYI.cjs} +4 -4
  177. package/dist/{chunk-JID7AZTO.cjs.map → chunk-H3ROMJYI.cjs.map} +1 -1
  178. package/dist/{chunk-462XSCP3.cjs → chunk-HCIXGFWR.cjs} +4 -4
  179. package/dist/{chunk-462XSCP3.cjs.map → chunk-HCIXGFWR.cjs.map} +1 -1
  180. package/dist/{chunk-H4ZXMQQW.js → chunk-HDY7YQFX.js} +3 -3
  181. package/dist/{chunk-H4ZXMQQW.js.map → chunk-HDY7YQFX.js.map} +1 -1
  182. package/dist/chunk-HNFFFFYH.cjs +114 -0
  183. package/dist/chunk-HNFFFFYH.cjs.map +1 -0
  184. package/dist/chunk-HNXLLDPN.js +25 -0
  185. package/dist/chunk-HNXLLDPN.js.map +1 -0
  186. package/dist/{chunk-NV2CWBI2.cjs → chunk-IEY3ZJIT.cjs} +12 -3
  187. package/dist/chunk-IEY3ZJIT.cjs.map +1 -0
  188. package/dist/chunk-IEZXJWHJ.cjs +306 -0
  189. package/dist/chunk-IEZXJWHJ.cjs.map +1 -0
  190. package/dist/{chunk-3QEVGSFG.cjs → chunk-IGDO62KR.cjs} +5 -5
  191. package/dist/{chunk-3QEVGSFG.cjs.map → chunk-IGDO62KR.cjs.map} +1 -1
  192. package/dist/{chunk-N5O47VGS.cjs → chunk-IVGI353O.cjs} +2 -2
  193. package/dist/{chunk-N5O47VGS.cjs.map → chunk-IVGI353O.cjs.map} +1 -1
  194. package/dist/chunk-IWRBJHO3.cjs +51 -0
  195. package/dist/chunk-IWRBJHO3.cjs.map +1 -0
  196. package/dist/{chunk-2IZLKPUW.js → chunk-J2CKXXOW.js} +27 -6
  197. package/dist/chunk-J2CKXXOW.js.map +1 -0
  198. package/dist/{chunk-VILW53UZ.js → chunk-JMAZ2GKT.js} +3 -3
  199. package/dist/{chunk-VILW53UZ.js.map → chunk-JMAZ2GKT.js.map} +1 -1
  200. package/dist/{chunk-WWJIW2IH.cjs → chunk-JSXIB6EJ.cjs} +4 -4
  201. package/dist/{chunk-WWJIW2IH.cjs.map → chunk-JSXIB6EJ.cjs.map} +1 -1
  202. package/dist/{chunk-KRU6IGV7.js → chunk-JUJGWUAN.js} +28 -6
  203. package/dist/chunk-JUJGWUAN.js.map +1 -0
  204. package/dist/{chunk-FXO5ARBB.cjs → chunk-KDW6BD4O.cjs} +4 -4
  205. package/dist/{chunk-FXO5ARBB.cjs.map → chunk-KDW6BD4O.cjs.map} +1 -1
  206. package/dist/{chunk-Z5V7SAZ4.js → chunk-KFEN2SRZ.js} +3 -3
  207. package/dist/{chunk-Z5V7SAZ4.js.map → chunk-KFEN2SRZ.js.map} +1 -1
  208. package/dist/chunk-KIVEYQGA.cjs +319 -0
  209. package/dist/chunk-KIVEYQGA.cjs.map +1 -0
  210. package/dist/{chunk-XEAT7XJG.cjs → chunk-KQ6GLYFZ.cjs} +29 -13
  211. package/dist/chunk-KQ6GLYFZ.cjs.map +1 -0
  212. package/dist/{chunk-4A3W4TQF.js → chunk-KVTKSPX5.js} +254 -4
  213. package/dist/chunk-KVTKSPX5.js.map +1 -0
  214. package/dist/{chunk-6EN3IQQI.cjs → chunk-L5Y52F2E.cjs} +9 -9
  215. package/dist/chunk-L5Y52F2E.cjs.map +1 -0
  216. package/dist/chunk-L6K4PRZK.cjs +4 -0
  217. package/dist/chunk-L6K4PRZK.cjs.map +1 -0
  218. package/dist/chunk-LAN5VWGC.js +2540 -0
  219. package/dist/chunk-LAN5VWGC.js.map +1 -0
  220. package/dist/{chunk-7ZDPD5ZX.cjs → chunk-LC3JL2HB.cjs} +11 -7
  221. package/dist/chunk-LC3JL2HB.cjs.map +1 -0
  222. package/dist/chunk-LRAAJRE7.cjs +2707 -0
  223. package/dist/chunk-LRAAJRE7.cjs.map +1 -0
  224. package/dist/{chunk-OE5CKRUC.js → chunk-LX323IMT.js} +34 -4
  225. package/dist/chunk-LX323IMT.js.map +1 -0
  226. package/dist/chunk-M3VPGJMV.js +283 -0
  227. package/dist/chunk-M3VPGJMV.js.map +1 -0
  228. package/dist/{chunk-DVOQ3JNO.js → chunk-ME7EVT6F.js} +23 -9
  229. package/dist/chunk-ME7EVT6F.js.map +1 -0
  230. package/dist/{chunk-SQJFBZ42.js → chunk-MUYUFOGL.js} +8 -7
  231. package/dist/chunk-MUYUFOGL.js.map +1 -0
  232. package/dist/{chunk-VKELAMAZ.js → chunk-N54FYWG6.js} +27 -11
  233. package/dist/chunk-N54FYWG6.js.map +1 -0
  234. package/dist/chunk-N5JDL4VE.js +3 -0
  235. package/dist/chunk-N5JDL4VE.js.map +1 -0
  236. package/dist/{chunk-ZPSJ2UV6.cjs → chunk-NAH65KPK.cjs} +8 -8
  237. package/dist/{chunk-ZPSJ2UV6.cjs.map → chunk-NAH65KPK.cjs.map} +1 -1
  238. package/dist/{chunk-PYJDVWXM.js → chunk-NUB5HRKS.js} +3 -3
  239. package/dist/{chunk-PYJDVWXM.js.map → chunk-NUB5HRKS.js.map} +1 -1
  240. package/dist/{chunk-WNZAYBVB.cjs → chunk-O6BJMVGT.cjs} +48 -48
  241. package/dist/{chunk-WNZAYBVB.cjs.map → chunk-O6BJMVGT.cjs.map} +1 -1
  242. package/dist/{chunk-SVSHA7XV.js → chunk-O6XDA3SI.js} +31 -33
  243. package/dist/chunk-O6XDA3SI.js.map +1 -0
  244. package/dist/chunk-OIF34LEN.cjs +425 -0
  245. package/dist/chunk-OIF34LEN.cjs.map +1 -0
  246. package/dist/{chunk-J5CSLNCN.cjs → chunk-OODVC2UD.cjs} +2 -2
  247. package/dist/{chunk-J5CSLNCN.cjs.map → chunk-OODVC2UD.cjs.map} +1 -1
  248. package/dist/{chunk-LL6IWKI3.js → chunk-OW3SQJ7P.js} +3 -3
  249. package/dist/{chunk-LL6IWKI3.js.map → chunk-OW3SQJ7P.js.map} +1 -1
  250. package/dist/{chunk-ZGRCSNPK.js → chunk-OYUIEJPN.js} +17 -8
  251. package/dist/chunk-OYUIEJPN.js.map +1 -0
  252. package/dist/chunk-P22YCUVM.cjs +4 -0
  253. package/dist/chunk-P22YCUVM.cjs.map +1 -0
  254. package/dist/{chunk-CEQJGUAS.js → chunk-P4E3K3ND.js} +12 -5
  255. package/dist/chunk-P4E3K3ND.js.map +1 -0
  256. package/dist/{chunk-TMMVIUUN.js → chunk-P7D7BYFE.js} +4 -4
  257. package/dist/{chunk-TMMVIUUN.js.map → chunk-P7D7BYFE.js.map} +1 -1
  258. package/dist/{chunk-SGFYA22I.cjs → chunk-PINIBEIU.cjs} +21 -12
  259. package/dist/chunk-PINIBEIU.cjs.map +1 -0
  260. package/dist/{chunk-3T7QGLNB.js → chunk-PJEL5ZZV.js} +4 -2
  261. package/dist/chunk-PJEL5ZZV.js.map +1 -0
  262. package/dist/chunk-PWXDRFJL.cjs +218 -0
  263. package/dist/chunk-PWXDRFJL.cjs.map +1 -0
  264. package/dist/{chunk-XZNN3S3S.cjs → chunk-PYI2IWNX.cjs} +4 -4
  265. package/dist/{chunk-XZNN3S3S.cjs.map → chunk-PYI2IWNX.cjs.map} +1 -1
  266. package/dist/chunk-Q3YVLO52.cjs +174 -0
  267. package/dist/chunk-Q3YVLO52.cjs.map +1 -0
  268. package/dist/{chunk-MNILXWVY.js → chunk-QJ2L5RU6.js} +7 -7
  269. package/dist/{chunk-MNILXWVY.js.map → chunk-QJ2L5RU6.js.map} +1 -1
  270. package/dist/{chunk-X4LBUPJO.cjs → chunk-QX6AAVDE.cjs} +31 -33
  271. package/dist/chunk-QX6AAVDE.cjs.map +1 -0
  272. package/dist/{chunk-UV2FVNWT.cjs → chunk-RIUQP2QS.cjs} +5 -5
  273. package/dist/{chunk-UV2FVNWT.cjs.map → chunk-RIUQP2QS.cjs.map} +1 -1
  274. package/dist/chunk-RLVYWUXG.js +115 -0
  275. package/dist/chunk-RLVYWUXG.js.map +1 -0
  276. package/dist/{chunk-HACNIFO3.js → chunk-RM2HPQIC.js} +77 -14
  277. package/dist/chunk-RM2HPQIC.js.map +1 -0
  278. package/dist/{chunk-DEDN5HAG.js → chunk-RSJGTWLM.js} +3 -3
  279. package/dist/{chunk-DEDN5HAG.js.map → chunk-RSJGTWLM.js.map} +1 -1
  280. package/dist/{chunk-G4D6CLBT.js → chunk-RZSSQ7AT.js} +3 -3
  281. package/dist/{chunk-G4D6CLBT.js.map → chunk-RZSSQ7AT.js.map} +1 -1
  282. package/dist/{chunk-ENKFJJZX.js → chunk-S2JZL4JC.js} +6 -6
  283. package/dist/{chunk-ENKFJJZX.js.map → chunk-S2JZL4JC.js.map} +1 -1
  284. package/dist/{chunk-P7UMS4E6.cjs → chunk-S7AMZ4RD.cjs} +23 -9
  285. package/dist/chunk-S7AMZ4RD.cjs.map +1 -0
  286. package/dist/{chunk-VROIMIHB.cjs → chunk-SHBCUXFS.cjs} +28 -6
  287. package/dist/chunk-SHBCUXFS.cjs.map +1 -0
  288. package/dist/{chunk-RJ6NTJHC.js → chunk-SRMTRD7F.js} +3 -3
  289. package/dist/{chunk-RJ6NTJHC.js.map → chunk-SRMTRD7F.js.map} +1 -1
  290. package/dist/{chunk-IX6KFB3K.cjs → chunk-SW2E7XKY.cjs} +9 -9
  291. package/dist/{chunk-IX6KFB3K.cjs.map → chunk-SW2E7XKY.cjs.map} +1 -1
  292. package/dist/chunk-SZSRGUVO.js +402 -0
  293. package/dist/chunk-SZSRGUVO.js.map +1 -0
  294. package/dist/{chunk-NJ6MY6V5.js → chunk-T5BBZQ66.js} +3 -3
  295. package/dist/{chunk-NJ6MY6V5.js.map → chunk-T5BBZQ66.js.map} +1 -1
  296. package/dist/{chunk-HZ4MBUC3.js → chunk-TI3TQQ7F.js} +4 -53
  297. package/dist/chunk-TI3TQQ7F.js.map +1 -0
  298. package/dist/{chunk-ACCAXVOG.js → chunk-TJ4GWQPM.js} +137 -57
  299. package/dist/chunk-TJ4GWQPM.js.map +1 -0
  300. package/dist/{chunk-5JJ2DAE4.js → chunk-TWQSMUE6.js} +7 -3
  301. package/dist/chunk-TWQSMUE6.js.map +1 -0
  302. package/dist/{chunk-X4XPNTCZ.cjs → chunk-U2RS574O.cjs} +139 -59
  303. package/dist/chunk-U2RS574O.cjs.map +1 -0
  304. package/dist/{chunk-TAXD5ADA.cjs → chunk-UEDTZYGI.cjs} +3 -3
  305. package/dist/{chunk-TAXD5ADA.cjs.map → chunk-UEDTZYGI.cjs.map} +1 -1
  306. package/dist/{chunk-3QGS6CXD.js → chunk-UJDWFDKE.js} +3 -3
  307. package/dist/{chunk-3QGS6CXD.js.map → chunk-UJDWFDKE.js.map} +1 -1
  308. package/dist/{chunk-DZ5HFLRC.js → chunk-UNFDIBKJ.js} +3 -3
  309. package/dist/{chunk-DZ5HFLRC.js.map → chunk-UNFDIBKJ.js.map} +1 -1
  310. package/dist/{chunk-UQ3VVR6A.cjs → chunk-UPWIJC6I.cjs} +3 -3
  311. package/dist/{chunk-UQ3VVR6A.cjs.map → chunk-UPWIJC6I.cjs.map} +1 -1
  312. package/dist/chunk-UTIPENPW.cjs +286 -0
  313. package/dist/chunk-UTIPENPW.cjs.map +1 -0
  314. package/dist/{chunk-S7WCHDBO.js → chunk-VCI2Y7ST.js} +3 -3
  315. package/dist/{chunk-S7WCHDBO.js.map → chunk-VCI2Y7ST.js.map} +1 -1
  316. package/dist/{chunk-Y5HFM7LO.js → chunk-VOEXGDL5.js} +6 -6
  317. package/dist/chunk-VOEXGDL5.js.map +1 -0
  318. package/dist/{chunk-P2CA3XGI.js → chunk-VSRO4PAI.js} +23 -5
  319. package/dist/chunk-VSRO4PAI.js.map +1 -0
  320. package/dist/{chunk-L6MDULYB.js → chunk-VU3ZMJBN.js} +2 -2
  321. package/dist/{chunk-L6MDULYB.js.map → chunk-VU3ZMJBN.js.map} +1 -1
  322. package/dist/{chunk-XI34EGK5.cjs → chunk-VV2U36T6.cjs} +9 -9
  323. package/dist/{chunk-XI34EGK5.cjs.map → chunk-VV2U36T6.cjs.map} +1 -1
  324. package/dist/{chunk-VPWJCJCX.cjs → chunk-VXW7D5LR.cjs} +26 -8
  325. package/dist/chunk-VXW7D5LR.cjs.map +1 -0
  326. package/dist/{chunk-GOALNQZ2.js → chunk-WFBUBT54.js} +4 -83
  327. package/dist/chunk-WFBUBT54.js.map +1 -0
  328. package/dist/chunk-WQHBMZSC.js +295 -0
  329. package/dist/chunk-WQHBMZSC.js.map +1 -0
  330. package/dist/chunk-WSMBIXPU.cjs +2573 -0
  331. package/dist/chunk-WSMBIXPU.cjs.map +1 -0
  332. package/dist/chunk-X5JOEZVR.js +525 -0
  333. package/dist/chunk-X5JOEZVR.js.map +1 -0
  334. package/dist/chunk-XBAAHOCP.js +3 -0
  335. package/dist/chunk-XBAAHOCP.js.map +1 -0
  336. package/dist/chunk-XDU65GLW.js +21 -0
  337. package/dist/chunk-XDU65GLW.js.map +1 -0
  338. package/dist/{chunk-5GUOOLPR.cjs → chunk-XHK5VZ4L.cjs} +29 -8
  339. package/dist/chunk-XHK5VZ4L.cjs.map +1 -0
  340. package/dist/chunk-XI74P5F2.cjs +424 -0
  341. package/dist/chunk-XI74P5F2.cjs.map +1 -0
  342. package/dist/chunk-XNPDZANN.cjs +238 -0
  343. package/dist/chunk-XNPDZANN.cjs.map +1 -0
  344. package/dist/{chunk-XDIMTPZU.cjs → chunk-XPWFIDZM.cjs} +4 -3
  345. package/dist/chunk-XPWFIDZM.cjs.map +1 -0
  346. package/dist/{chunk-FS4VZUFV.cjs → chunk-XRVMYT5G.cjs} +77 -13
  347. package/dist/chunk-XRVMYT5G.cjs.map +1 -0
  348. package/dist/chunk-XXA4NZUC.js +3 -0
  349. package/dist/chunk-XXA4NZUC.js.map +1 -0
  350. package/dist/chunk-Y424YL55.js +59 -0
  351. package/dist/chunk-Y424YL55.js.map +1 -0
  352. package/dist/chunk-Y7ZJZLJY.js +2657 -0
  353. package/dist/chunk-Y7ZJZLJY.js.map +1 -0
  354. package/dist/chunk-YG7BR76Y.js +281 -0
  355. package/dist/chunk-YG7BR76Y.js.map +1 -0
  356. package/dist/chunk-YGS2TRMP.js +38 -0
  357. package/dist/chunk-YGS2TRMP.js.map +1 -0
  358. package/dist/chunk-YUMOM3KE.js +167 -0
  359. package/dist/chunk-YUMOM3KE.js.map +1 -0
  360. package/dist/chunk-YVKBXNPK.js +41 -0
  361. package/dist/chunk-YVKBXNPK.js.map +1 -0
  362. package/dist/chunk-YW2AKBLS.cjs +23 -0
  363. package/dist/chunk-YW2AKBLS.cjs.map +1 -0
  364. package/dist/{chunk-3M7TAXNR.js → chunk-YZCM7CXK.js} +3 -3
  365. package/dist/{chunk-3M7TAXNR.js.map → chunk-YZCM7CXK.js.map} +1 -1
  366. package/dist/chunk-Z3WMDVMR.cjs +46 -0
  367. package/dist/chunk-Z3WMDVMR.cjs.map +1 -0
  368. package/dist/chunk-ZNUMOJOI.cjs +4 -0
  369. package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
  370. package/dist/components/Accordion/index.cjs +2 -2
  371. package/dist/components/Accordion/index.d.cts +6 -0
  372. package/dist/components/Accordion/index.d.ts +6 -0
  373. package/dist/components/Accordion/index.js +1 -1
  374. package/dist/components/ActionPlan/index.cjs +34 -0
  375. package/dist/components/ActionPlan/index.cjs.map +1 -0
  376. package/dist/components/ActionPlan/index.d.cts +65 -0
  377. package/dist/components/ActionPlan/index.d.ts +65 -0
  378. package/dist/components/ActionPlan/index.js +21 -0
  379. package/dist/components/ActionPlan/index.js.map +1 -0
  380. package/dist/components/ActivityFeed/index.cjs +31 -0
  381. package/dist/components/ActivityFeed/index.cjs.map +1 -0
  382. package/dist/components/ActivityFeed/index.d.cts +99 -0
  383. package/dist/components/ActivityFeed/index.d.ts +99 -0
  384. package/dist/components/ActivityFeed/index.js +18 -0
  385. package/dist/components/ActivityFeed/index.js.map +1 -0
  386. package/dist/components/Alert/index.d.cts +1 -1
  387. package/dist/components/Alert/index.d.ts +1 -1
  388. package/dist/components/AlertDialog/index.cjs +19 -5
  389. package/dist/components/AlertDialog/index.d.cts +94 -16
  390. package/dist/components/AlertDialog/index.d.ts +94 -16
  391. package/dist/components/AlertDialog/index.js +6 -4
  392. package/dist/components/AssociationList/index.cjs +29 -0
  393. package/dist/components/AssociationList/index.cjs.map +1 -0
  394. package/dist/components/AssociationList/index.d.cts +50 -0
  395. package/dist/components/AssociationList/index.d.ts +50 -0
  396. package/dist/components/AssociationList/index.js +16 -0
  397. package/dist/components/AssociationList/index.js.map +1 -0
  398. package/dist/components/AudioRecorder/index.d.cts +2 -2
  399. package/dist/components/AudioRecorder/index.d.ts +2 -2
  400. package/dist/components/Autocomplete/index.d.cts +8 -2
  401. package/dist/components/Autocomplete/index.d.ts +8 -2
  402. package/dist/components/Avatar/index.cjs +9 -7
  403. package/dist/components/Avatar/index.d.cts +46 -15
  404. package/dist/components/Avatar/index.d.ts +46 -15
  405. package/dist/components/Avatar/index.js +3 -1
  406. package/dist/components/AvatarGroup/index.cjs +20 -0
  407. package/dist/components/AvatarGroup/index.cjs.map +1 -0
  408. package/dist/components/AvatarGroup/index.d.cts +57 -0
  409. package/dist/components/AvatarGroup/index.d.ts +57 -0
  410. package/dist/components/AvatarGroup/index.js +7 -0
  411. package/dist/components/AvatarGroup/index.js.map +1 -0
  412. package/dist/components/Badge/index.cjs +3 -3
  413. package/dist/components/Badge/index.d.cts +16 -2
  414. package/dist/components/Badge/index.d.ts +16 -2
  415. package/dist/components/Badge/index.js +1 -1
  416. package/dist/components/BoardView/index.cjs +5 -4
  417. package/dist/components/BoardView/index.d.cts +2 -3
  418. package/dist/components/BoardView/index.d.ts +2 -3
  419. package/dist/components/BoardView/index.js +2 -1
  420. package/dist/components/Button/index.cjs +5 -3
  421. package/dist/components/Button/index.d.cts +2 -1
  422. package/dist/components/Button/index.d.ts +2 -1
  423. package/dist/components/Button/index.js +3 -1
  424. package/dist/components/CalendarHeatmap/index.cjs +18 -0
  425. package/dist/components/CalendarHeatmap/index.cjs.map +1 -0
  426. package/dist/components/CalendarHeatmap/index.d.cts +47 -0
  427. package/dist/components/CalendarHeatmap/index.d.ts +47 -0
  428. package/dist/components/CalendarHeatmap/index.js +5 -0
  429. package/dist/components/CalendarHeatmap/index.js.map +1 -0
  430. package/dist/components/CalendarView/index.cjs +6 -4
  431. package/dist/components/CalendarView/index.d.cts +1 -2
  432. package/dist/components/CalendarView/index.d.ts +1 -2
  433. package/dist/components/CalendarView/index.js +4 -2
  434. package/dist/components/Card/index.d.cts +3 -3
  435. package/dist/components/Card/index.d.ts +3 -3
  436. package/dist/components/ClampedText/index.cjs +3 -2
  437. package/dist/components/ClampedText/index.js +2 -1
  438. package/dist/components/CollabStatus/index.cjs +6 -4
  439. package/dist/components/CollabStatus/index.d.cts +11 -0
  440. package/dist/components/CollabStatus/index.d.ts +11 -0
  441. package/dist/components/CollabStatus/index.js +3 -1
  442. package/dist/components/Collapsible/index.cjs +6 -6
  443. package/dist/components/Collapsible/index.d.cts +6 -0
  444. package/dist/components/Collapsible/index.d.ts +6 -0
  445. package/dist/components/Collapsible/index.js +3 -3
  446. package/dist/components/CompletenessMeter/index.cjs +23 -0
  447. package/dist/components/CompletenessMeter/index.cjs.map +1 -0
  448. package/dist/components/CompletenessMeter/index.d.cts +52 -0
  449. package/dist/components/CompletenessMeter/index.d.ts +52 -0
  450. package/dist/components/CompletenessMeter/index.js +6 -0
  451. package/dist/components/CompletenessMeter/index.js.map +1 -0
  452. package/dist/components/CountryCodeDropdown/index.cjs +5 -5
  453. package/dist/components/CountryCodeDropdown/index.js +2 -2
  454. package/dist/components/CustomizableDashboard/index.cjs +12 -10
  455. package/dist/components/CustomizableDashboard/index.js +5 -3
  456. package/dist/components/DateInput/index.d.cts +36 -4
  457. package/dist/components/DateInput/index.d.ts +36 -4
  458. package/dist/components/Dropdown/index.cjs +12 -10
  459. package/dist/components/Dropdown/index.d.cts +6 -4
  460. package/dist/components/Dropdown/index.d.ts +6 -4
  461. package/dist/components/Dropdown/index.js +5 -3
  462. package/dist/components/EmailEditor/index.cjs +68 -0
  463. package/dist/components/EmailEditor/index.cjs.map +1 -0
  464. package/dist/components/EmailEditor/index.d.cts +347 -0
  465. package/dist/components/EmailEditor/index.d.ts +347 -0
  466. package/dist/components/EmailEditor/index.js +27 -0
  467. package/dist/components/EmailEditor/index.js.map +1 -0
  468. package/dist/components/FieldHistory/index.cjs +34 -0
  469. package/dist/components/FieldHistory/index.cjs.map +1 -0
  470. package/dist/components/FieldHistory/index.d.cts +66 -0
  471. package/dist/components/FieldHistory/index.d.ts +66 -0
  472. package/dist/components/FieldHistory/index.js +21 -0
  473. package/dist/components/FieldHistory/index.js.map +1 -0
  474. package/dist/components/FloatingWindow/index.cjs +6 -4
  475. package/dist/components/FloatingWindow/index.js +4 -2
  476. package/dist/components/GanttView/index.d.cts +1 -2
  477. package/dist/components/GanttView/index.d.ts +1 -2
  478. package/dist/components/GlossaryTooltip/index.cjs +3 -3
  479. package/dist/components/GlossaryTooltip/index.js +2 -2
  480. package/dist/components/InlineEdit/index.cjs +20 -0
  481. package/dist/components/InlineEdit/index.cjs.map +1 -0
  482. package/dist/components/InlineEdit/index.d.cts +56 -0
  483. package/dist/components/InlineEdit/index.d.ts +56 -0
  484. package/dist/components/InlineEdit/index.js +7 -0
  485. package/dist/components/InlineEdit/index.js.map +1 -0
  486. package/dist/components/KeyboardShortcutsOverlay/index.cjs +5 -5
  487. package/dist/components/KeyboardShortcutsOverlay/index.js +3 -3
  488. package/dist/components/ListView/index.cjs +6 -4
  489. package/dist/components/ListView/index.d.cts +91 -4
  490. package/dist/components/ListView/index.d.ts +91 -4
  491. package/dist/components/ListView/index.js +4 -2
  492. package/dist/components/LogoUploader/index.cjs +18 -0
  493. package/dist/components/LogoUploader/index.cjs.map +1 -0
  494. package/dist/components/LogoUploader/index.d.cts +49 -0
  495. package/dist/components/LogoUploader/index.d.ts +49 -0
  496. package/dist/components/LogoUploader/index.js +5 -0
  497. package/dist/components/LogoUploader/index.js.map +1 -0
  498. package/dist/components/Markdown/index.cjs +21 -19
  499. package/dist/components/Markdown/index.js +9 -7
  500. package/dist/components/MediaEditor/index.cjs +16 -14
  501. package/dist/components/MediaEditor/index.d.cts +91 -2
  502. package/dist/components/MediaEditor/index.d.ts +91 -2
  503. package/dist/components/MediaEditor/index.js +11 -9
  504. package/dist/components/MediaFeed/index.cjs +29 -0
  505. package/dist/components/MediaFeed/index.cjs.map +1 -0
  506. package/dist/components/MediaFeed/index.d.cts +104 -0
  507. package/dist/components/MediaFeed/index.d.ts +104 -0
  508. package/dist/components/MediaFeed/index.js +20 -0
  509. package/dist/components/MediaFeed/index.js.map +1 -0
  510. package/dist/components/MediaPlayer/index.cjs +8 -6
  511. package/dist/components/MediaPlayer/index.d.cts +19 -1
  512. package/dist/components/MediaPlayer/index.d.ts +19 -1
  513. package/dist/components/MediaPlayer/index.js +5 -3
  514. package/dist/components/MegaMenu/index.cjs +7 -5
  515. package/dist/components/MegaMenu/index.js +4 -2
  516. package/dist/components/Modal/index.cjs +10 -10
  517. package/dist/components/Modal/index.js +2 -2
  518. package/dist/components/Pagination/index.d.cts +1 -1
  519. package/dist/components/Pagination/index.d.ts +1 -1
  520. package/dist/components/PhiMask/index.cjs +18 -0
  521. package/dist/components/PhiMask/index.cjs.map +1 -0
  522. package/dist/components/PhiMask/index.d.cts +45 -0
  523. package/dist/components/PhiMask/index.d.ts +45 -0
  524. package/dist/components/PhiMask/index.js +5 -0
  525. package/dist/components/PhiMask/index.js.map +1 -0
  526. package/dist/components/Progress/index.cjs +6 -6
  527. package/dist/components/Progress/index.d.cts +8 -2
  528. package/dist/components/Progress/index.d.ts +8 -2
  529. package/dist/components/Progress/index.js +1 -1
  530. package/dist/components/PropertyList/index.cjs +25 -0
  531. package/dist/components/PropertyList/index.cjs.map +1 -0
  532. package/dist/components/PropertyList/index.d.cts +87 -0
  533. package/dist/components/PropertyList/index.d.ts +87 -0
  534. package/dist/components/PropertyList/index.js +12 -0
  535. package/dist/components/PropertyList/index.js.map +1 -0
  536. package/dist/components/Q/index.d.cts +2 -2
  537. package/dist/components/Q/index.d.ts +2 -2
  538. package/dist/components/QuickAction/index.d.cts +1 -1
  539. package/dist/components/QuickAction/index.d.ts +1 -1
  540. package/dist/components/RadialExplorer/index.cjs +7 -5
  541. package/dist/components/RadialExplorer/index.js +6 -4
  542. package/dist/components/Rating/index.cjs +28 -0
  543. package/dist/components/Rating/index.cjs.map +1 -0
  544. package/dist/components/Rating/index.d.cts +85 -0
  545. package/dist/components/Rating/index.d.ts +85 -0
  546. package/dist/components/Rating/index.js +7 -0
  547. package/dist/components/Rating/index.js.map +1 -0
  548. package/dist/components/RecordButton/index.d.cts +1 -1
  549. package/dist/components/RecordButton/index.d.ts +1 -1
  550. package/dist/components/RecordHeader/index.cjs +30 -0
  551. package/dist/components/RecordHeader/index.cjs.map +1 -0
  552. package/dist/components/RecordHeader/index.d.cts +96 -0
  553. package/dist/components/RecordHeader/index.d.ts +96 -0
  554. package/dist/components/RecordHeader/index.js +17 -0
  555. package/dist/components/RecordHeader/index.js.map +1 -0
  556. package/dist/components/RecordLayout/index.cjs +22 -0
  557. package/dist/components/RecordLayout/index.cjs.map +1 -0
  558. package/dist/components/RecordLayout/index.d.cts +40 -0
  559. package/dist/components/RecordLayout/index.d.ts +40 -0
  560. package/dist/components/RecordLayout/index.js +9 -0
  561. package/dist/components/RecordLayout/index.js.map +1 -0
  562. package/dist/components/RichTextEditor/index.cjs +12 -8
  563. package/dist/components/RichTextEditor/index.d.cts +12 -2
  564. package/dist/components/RichTextEditor/index.d.ts +12 -2
  565. package/dist/components/RichTextEditor/index.js +9 -5
  566. package/dist/components/ScrollArea/index.d.cts +1 -1
  567. package/dist/components/ScrollArea/index.d.ts +1 -1
  568. package/dist/components/SectionSpyNav/index.cjs +5 -3
  569. package/dist/components/SectionSpyNav/index.js +4 -2
  570. package/dist/components/Select/index.cjs +4 -4
  571. package/dist/components/Select/index.d.cts +2 -2
  572. package/dist/components/Select/index.d.ts +2 -2
  573. package/dist/components/Select/index.js +2 -2
  574. package/dist/components/Skeleton/index.d.cts +1 -1
  575. package/dist/components/Skeleton/index.d.ts +1 -1
  576. package/dist/components/Slider/index.d.cts +2 -2
  577. package/dist/components/Slider/index.d.ts +2 -2
  578. package/dist/components/SliderCalculator/index.cjs +4 -4
  579. package/dist/components/SliderCalculator/index.js +2 -2
  580. package/dist/components/SourceTip/index.cjs +3 -3
  581. package/dist/components/SourceTip/index.js +2 -2
  582. package/dist/components/Spinner/index.d.cts +2 -2
  583. package/dist/components/Spinner/index.d.ts +2 -2
  584. package/dist/components/SuperChat/index.cjs +735 -322
  585. package/dist/components/SuperChat/index.cjs.map +1 -1
  586. package/dist/components/SuperChat/index.d.cts +126 -8
  587. package/dist/components/SuperChat/index.d.ts +126 -8
  588. package/dist/components/SuperChat/index.js +721 -308
  589. package/dist/components/SuperChat/index.js.map +1 -1
  590. package/dist/components/SuperChat/plugins/index.cjs +8 -6
  591. package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
  592. package/dist/components/SuperChat/plugins/index.d.cts +2 -3
  593. package/dist/components/SuperChat/plugins/index.d.ts +2 -3
  594. package/dist/components/SuperChat/plugins/index.js +7 -5
  595. package/dist/components/SuperChat/plugins/index.js.map +1 -1
  596. package/dist/components/Tabs/index.cjs +10 -7
  597. package/dist/components/Tabs/index.d.cts +12 -1
  598. package/dist/components/Tabs/index.d.ts +12 -1
  599. package/dist/components/Tabs/index.js +4 -1
  600. package/dist/components/TagEditor/index.cjs +22 -0
  601. package/dist/components/TagEditor/index.cjs.map +1 -0
  602. package/dist/components/TagEditor/index.d.cts +46 -0
  603. package/dist/components/TagEditor/index.d.ts +46 -0
  604. package/dist/components/TagEditor/index.js +9 -0
  605. package/dist/components/TagEditor/index.js.map +1 -0
  606. package/dist/components/Text/index.d.cts +3 -3
  607. package/dist/components/Text/index.d.ts +3 -3
  608. package/dist/components/Textarea/index.d.cts +2 -2
  609. package/dist/components/Textarea/index.d.ts +2 -2
  610. package/dist/components/ThemeProvider/index.cjs +9 -9
  611. package/dist/components/ThemeProvider/index.d.cts +3 -1
  612. package/dist/components/ThemeProvider/index.d.ts +3 -1
  613. package/dist/components/ThemeProvider/index.js +3 -3
  614. package/dist/components/Tooltip/index.cjs +3 -3
  615. package/dist/components/Tooltip/index.js +2 -2
  616. package/dist/components/TranscriptView/index.d.cts +85 -4
  617. package/dist/components/TranscriptView/index.d.ts +85 -4
  618. package/dist/components/UserPicker/index.cjs +24 -0
  619. package/dist/components/UserPicker/index.cjs.map +1 -0
  620. package/dist/components/UserPicker/index.d.cts +60 -0
  621. package/dist/components/UserPicker/index.d.ts +60 -0
  622. package/dist/components/UserPicker/index.js +11 -0
  623. package/dist/components/UserPicker/index.js.map +1 -0
  624. package/dist/components/VideoCard/index.cjs +4 -4
  625. package/dist/components/VideoCard/index.js +2 -2
  626. package/dist/components/ViewSet/index.cjs +10 -7
  627. package/dist/components/ViewSet/index.d.cts +120 -8
  628. package/dist/components/ViewSet/index.d.ts +120 -8
  629. package/dist/components/ViewSet/index.js +9 -6
  630. package/dist/components/ViewSwitcher/index.cjs +4 -3
  631. package/dist/components/ViewSwitcher/index.d.cts +1 -2
  632. package/dist/components/ViewSwitcher/index.d.ts +1 -2
  633. package/dist/components/ViewSwitcher/index.js +2 -1
  634. package/dist/components/YearTimeline/index.cjs +5 -5
  635. package/dist/components/YearTimeline/index.js +1 -1
  636. package/dist/datavis.cjs +6 -4
  637. package/dist/datavis.cjs.map +1 -1
  638. package/dist/datavis.d.cts +167 -13
  639. package/dist/datavis.d.ts +167 -13
  640. package/dist/datavis.js +4 -2
  641. package/dist/datavis.js.map +1 -1
  642. package/dist/deck.cjs +3374 -0
  643. package/dist/deck.cjs.map +1 -0
  644. package/dist/deck.d.cts +712 -0
  645. package/dist/deck.d.ts +712 -0
  646. package/dist/deck.js +3330 -0
  647. package/dist/deck.js.map +1 -0
  648. package/dist/esheet.cjs +20 -16
  649. package/dist/esheet.cjs.map +1 -1
  650. package/dist/esheet.d.cts +183 -1
  651. package/dist/esheet.d.ts +183 -1
  652. package/dist/esheet.js +17 -13
  653. package/dist/esheet.js.map +1 -1
  654. package/dist/globe.cjs +2 -2
  655. package/dist/globe.js +1 -1
  656. package/dist/{hey-buddy-INNUFFJJ.cjs → hey-buddy-5WOBYZRJ.cjs} +22 -11
  657. package/dist/hey-buddy-5WOBYZRJ.cjs.map +1 -0
  658. package/dist/{hey-buddy-V6FC5UKB.js → hey-buddy-AHUHCDBC.js} +22 -11
  659. package/dist/hey-buddy-AHUHCDBC.js.map +1 -0
  660. package/dist/hooks/index.cjs +88 -33
  661. package/dist/hooks/index.d.cts +592 -36
  662. package/dist/hooks/index.d.ts +592 -36
  663. package/dist/hooks/index.js +9 -6
  664. package/dist/icons-wBacj6BW.d.cts +142 -0
  665. package/dist/icons-wBacj6BW.d.ts +142 -0
  666. package/dist/index.cjs +2056 -1349
  667. package/dist/index.cjs.map +1 -1
  668. package/dist/index.d.cts +10401 -637
  669. package/dist/index.d.ts +10401 -637
  670. package/dist/index.js +674 -352
  671. package/dist/index.js.map +1 -1
  672. package/dist/kerebron.css +115 -0
  673. package/dist/maps.cjs +160 -0
  674. package/dist/maps.cjs.map +1 -0
  675. package/dist/maps.d.cts +42 -0
  676. package/dist/maps.d.ts +42 -0
  677. package/dist/maps.js +138 -0
  678. package/dist/maps.js.map +1 -0
  679. package/dist/motion.cjs +7 -7
  680. package/dist/motion.d.cts +186 -2
  681. package/dist/motion.d.ts +186 -2
  682. package/dist/motion.js +2 -2
  683. package/dist/org-chart.cjs +1303 -0
  684. package/dist/org-chart.cjs.map +1 -0
  685. package/dist/org-chart.d.cts +164 -0
  686. package/dist/org-chart.d.ts +164 -0
  687. package/dist/org-chart.js +1278 -0
  688. package/dist/org-chart.js.map +1 -0
  689. package/dist/q.d.cts +25 -3
  690. package/dist/q.d.ts +25 -3
  691. package/dist/styles/effects.css +133 -0
  692. package/dist/styles/init.css +22 -3
  693. package/dist/styles.css +1 -1
  694. package/dist/tailwind-preset.cjs +4 -4
  695. package/dist/tailwind-preset.js +1 -1
  696. package/dist/templates.cjs +156 -0
  697. package/dist/templates.cjs.map +1 -0
  698. package/dist/templates.d.cts +734 -0
  699. package/dist/templates.d.ts +734 -0
  700. package/dist/templates.js +11 -0
  701. package/dist/templates.js.map +1 -0
  702. package/dist/{types-CbWXIKbe.d.cts → types-CDeBNZiE.d.cts} +1 -28
  703. package/dist/{types-CbWXIKbe.d.ts → types-CDeBNZiE.d.ts} +1 -28
  704. package/dist/types-Cx1FHLq2.d.cts +548 -0
  705. package/dist/types-Cx1FHLq2.d.ts +548 -0
  706. package/dist/types-DsdZvEI1.d.cts +92 -0
  707. package/dist/types-DsdZvEI1.d.ts +92 -0
  708. package/dist/utils/index.cjs +9 -9
  709. package/dist/utils/index.d.cts +13 -2
  710. package/dist/utils/index.d.ts +13 -2
  711. package/dist/utils/index.js +1 -1
  712. package/package.json +79 -15
  713. package/dist/Animated-XmH6k8pZ.d.cts +0 -188
  714. package/dist/Animated-XmH6k8pZ.d.ts +0 -188
  715. package/dist/CsvBlock-ROJCKJDP.cjs +0 -16
  716. package/dist/CsvBlock-UWPMTLE2.js +0 -7
  717. package/dist/HtmlPreviewBlock-DWFN6EUB.cjs +0 -16
  718. package/dist/HtmlPreviewBlock-ME5U3XNS.js +0 -7
  719. package/dist/MedicationEditor-Bp4NLy7y.d.cts +0 -352
  720. package/dist/MedicationEditor-Bp4NLy7y.d.ts +0 -352
  721. package/dist/MermaidBlock-2B6CPD6Y.js +0 -7
  722. package/dist/MermaidBlock-D2UC5M55.cjs +0 -16
  723. package/dist/SurveyBlock-4CD4AYMJ.cjs +0 -16
  724. package/dist/SurveyBlock-4DO62RBT.js +0 -7
  725. package/dist/chunk-2IZLKPUW.js.map +0 -1
  726. package/dist/chunk-3T7QGLNB.js.map +0 -1
  727. package/dist/chunk-4A3W4TQF.js.map +0 -1
  728. package/dist/chunk-4IS3QCOQ.cjs.map +0 -1
  729. package/dist/chunk-5GUOOLPR.cjs.map +0 -1
  730. package/dist/chunk-5JJ2DAE4.js.map +0 -1
  731. package/dist/chunk-6EN3IQQI.cjs.map +0 -1
  732. package/dist/chunk-6HFFWEM3.cjs +0 -22
  733. package/dist/chunk-6HFFWEM3.cjs.map +0 -1
  734. package/dist/chunk-7ZDPD5ZX.cjs.map +0 -1
  735. package/dist/chunk-7ZVTLTJF.js +0 -109
  736. package/dist/chunk-7ZVTLTJF.js.map +0 -1
  737. package/dist/chunk-ACCAXVOG.js.map +0 -1
  738. package/dist/chunk-AR7AKDM2.cjs +0 -143
  739. package/dist/chunk-AR7AKDM2.cjs.map +0 -1
  740. package/dist/chunk-ASSDGS4F.cjs.map +0 -1
  741. package/dist/chunk-AWJBOND5.js +0 -130
  742. package/dist/chunk-AWJBOND5.js.map +0 -1
  743. package/dist/chunk-BMSG4NBH.js +0 -56
  744. package/dist/chunk-BMSG4NBH.js.map +0 -1
  745. package/dist/chunk-CEQJGUAS.js.map +0 -1
  746. package/dist/chunk-CR2SDI23.cjs.map +0 -1
  747. package/dist/chunk-DVOQ3JNO.js.map +0 -1
  748. package/dist/chunk-E4IBHYJ7.cjs +0 -80
  749. package/dist/chunk-E4IBHYJ7.cjs.map +0 -1
  750. package/dist/chunk-FS4VZUFV.cjs.map +0 -1
  751. package/dist/chunk-GD7EBGC4.cjs.map +0 -1
  752. package/dist/chunk-GOALNQZ2.js.map +0 -1
  753. package/dist/chunk-HACNIFO3.js.map +0 -1
  754. package/dist/chunk-HB7C7NB5.js +0 -20
  755. package/dist/chunk-HB7C7NB5.js.map +0 -1
  756. package/dist/chunk-HZ4MBUC3.js.map +0 -1
  757. package/dist/chunk-IT775BYG.js.map +0 -1
  758. package/dist/chunk-JEIW7BSV.cjs.map +0 -1
  759. package/dist/chunk-JYZW2PZS.cjs.map +0 -1
  760. package/dist/chunk-KQUI4BGS.cjs.map +0 -1
  761. package/dist/chunk-KRU6IGV7.js.map +0 -1
  762. package/dist/chunk-NV2CWBI2.cjs.map +0 -1
  763. package/dist/chunk-OE5CKRUC.js.map +0 -1
  764. package/dist/chunk-P2CA3XGI.js.map +0 -1
  765. package/dist/chunk-P7UMS4E6.cjs.map +0 -1
  766. package/dist/chunk-SGFYA22I.cjs.map +0 -1
  767. package/dist/chunk-SQHMGT4W.js.map +0 -1
  768. package/dist/chunk-SQJFBZ42.js.map +0 -1
  769. package/dist/chunk-SVSHA7XV.js.map +0 -1
  770. package/dist/chunk-TVTIGV7Q.js.map +0 -1
  771. package/dist/chunk-VKELAMAZ.js.map +0 -1
  772. package/dist/chunk-VNYW4C4J.cjs.map +0 -1
  773. package/dist/chunk-VOKVG3ER.js +0 -78
  774. package/dist/chunk-VOKVG3ER.js.map +0 -1
  775. package/dist/chunk-VPIYTQCV.cjs.map +0 -1
  776. package/dist/chunk-VPWJCJCX.cjs.map +0 -1
  777. package/dist/chunk-VROIMIHB.cjs.map +0 -1
  778. package/dist/chunk-WNJRS7Y7.cjs.map +0 -1
  779. package/dist/chunk-X4LBUPJO.cjs.map +0 -1
  780. package/dist/chunk-X4XPNTCZ.cjs.map +0 -1
  781. package/dist/chunk-XCP454Q6.js.map +0 -1
  782. package/dist/chunk-XDIMTPZU.cjs.map +0 -1
  783. package/dist/chunk-XEAT7XJG.cjs.map +0 -1
  784. package/dist/chunk-XVW5DPPP.js.map +0 -1
  785. package/dist/chunk-Y5HFM7LO.js.map +0 -1
  786. package/dist/chunk-YVL3XATO.cjs +0 -79
  787. package/dist/chunk-YVL3XATO.cjs.map +0 -1
  788. package/dist/chunk-YVPC65ZJ.cjs.map +0 -1
  789. package/dist/chunk-ZGRCSNPK.js.map +0 -1
  790. package/dist/hey-buddy-INNUFFJJ.cjs.map +0 -1
  791. package/dist/hey-buddy-V6FC5UKB.js.map +0 -1
  792. package/dist/html-MdxqSzjD.d.cts +0 -13
  793. package/dist/html-MdxqSzjD.d.ts +0 -13
  794. package/dist/orderRows-BUJYgSc7.d.cts +0 -221
  795. package/dist/orderRows-BUJYgSc7.d.ts +0 -221
  796. package/dist/transcript-Cg7uSW-C.d.cts +0 -84
  797. package/dist/transcript-Cg7uSW-C.d.ts +0 -84
  798. package/dist/types-B97JNRNQ.d.cts +0 -251
  799. package/dist/types-CnPEwzlp.d.cts +0 -254
  800. package/dist/types-CnPEwzlp.d.ts +0 -254
  801. package/dist/types-gZXrfLj6.d.ts +0 -251
  802. package/dist/useAnchoredPosition-CKwLSQW8.d.cts +0 -76
  803. package/dist/useAnchoredPosition-CKwLSQW8.d.ts +0 -76
  804. package/dist/useTheme-B9SWu6ui.d.cts +0 -24
  805. package/dist/useTheme-B9SWu6ui.d.ts +0 -24
  806. package/dist/useTranscriptEdits-CGzlemHT.d.cts +0 -182
  807. package/dist/useTranscriptEdits-D32bLs0l.d.ts +0 -182
@@ -1,295 +1,115 @@
1
1
  import { TextRenderContext } from '../../chunk-I6CY5C6A.js';
2
2
  export { TextRenderContext, useTextRenderContext } from '../../chunk-I6CY5C6A.js';
3
- import { ChatBubble, MCPToolCallDisplay, AITypingIndicator, SparklesIcon, CloseIcon, JumpToBottomButton } from '../../chunk-HACNIFO3.js';
4
- import { notifyComposerMigrationOnce, ChatComposer } from '../../chunk-ACCAXVOG.js';
5
- import { Dropdown, DropdownSubmenu, DropdownItem } from '../../chunk-ZGRCSNPK.js';
6
- import { Avatar } from '../../chunk-HZ4MBUC3.js';
3
+ import { ChatBubble, MCPToolCallDisplay, AITypingIndicator, SparklesIcon, ButtonGroup, CloseIcon, JumpToBottomButton } from '../../chunk-RM2HPQIC.js';
4
+ import { notifyComposerMigrationOnce, ChatComposer } from '../../chunk-TJ4GWQPM.js';
5
+ import { MediaFeed } from '../../chunk-2X54ZLT6.js';
6
+ import '../../chunk-RISZWWEQ.js';
7
+ import { MediaPlayer } from '../../chunk-N54FYWG6.js';
8
+ import '../../chunk-AMYFRY7K.js';
9
+ import { Dropdown, DropdownSubmenu, DropdownItem } from '../../chunk-OYUIEJPN.js';
10
+ import '../../chunk-VVDE4CHU.js';
7
11
  import '../../chunk-IQ4KQJAO.js';
8
12
  import { useStickToBottom, useStreamEndedBelowFold } from '../../chunk-BM35CACB.js';
9
- import '../../chunk-VVDE4CHU.js';
13
+ import '../../chunk-GW4RFJZ5.js';
14
+ import '../../chunk-H2Y7HZV5.js';
15
+ import '../../chunk-DVDT7TX7.js';
16
+ import { Avatar } from '../../chunk-TI3TQQ7F.js';
17
+ import '../../chunk-TWQSMUE6.js';
10
18
  import '../../chunk-6NZXWKUE.js';
11
19
  import '../../chunk-3IMM2PM4.js';
20
+ import '../../chunk-4SMSH4OY.js';
21
+ import '../../chunk-T4ME7QCT.js';
12
22
  import '../../chunk-62ZOA6PX.js';
13
23
  import '../../chunk-WSNMQQ4P.js';
14
- import '../../chunk-T4ME7QCT.js';
24
+ import '../../chunk-VSQF22GL.js';
15
25
  import '../../chunk-BKSPDTX4.js';
16
- import { usePrefersReducedMotion } from '../../chunk-HB7C7NB5.js';
17
- import { Badge } from '../../chunk-BMSG4NBH.js';
18
- import '../../chunk-XCP454Q6.js';
26
+ import { usePrefersReducedMotion } from '../../chunk-XDU65GLW.js';
27
+ import '../../chunk-YVKBXNPK.js';
28
+ import { Badge } from '../../chunk-522WJIVI.js';
29
+ import '../../chunk-N5JDL4VE.js';
30
+ import { Button } from '../../chunk-WFBUBT54.js';
31
+ import '../../chunk-GVM6DTR5.js';
32
+ import { AnimatedPresence, Animated } from '../../chunk-F4N67NAF.js';
19
33
  import { cn } from '../../chunk-TQONQSJO.js';
20
34
  import '../../chunk-PX6F3LHL.js';
21
35
  import * as React3 from 'react';
36
+ import { createElement } from 'react';
37
+ import { Ellipsis, Check, Clipboard, Pencil, Play, ArrowLeft } from 'lucide-react';
38
+ import { cva } from 'class-variance-authority';
39
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
22
40
  import Markdown, { defaultUrlTransform } from 'react-markdown';
23
41
  import remarkGfm from 'remark-gfm';
24
42
  import rehypeSanitize, { defaultSchema } from 'rehype-sanitize';
25
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
26
- import { cva } from 'class-variance-authority';
27
- import { Ellipsis, Check, Clipboard, Pencil } from 'lucide-react';
28
43
  import { useVirtualizer } from '@tanstack/react-virtual';
29
44
 
30
- function remarkPreserveLineBreaks() {
31
- const splitNode = (node) => {
32
- if (!node.children) return;
33
- const next = [];
34
- for (const child of node.children) {
35
- if (child.type === "text" && child.value && child.value.includes("\n")) {
36
- const segments = child.value.split("\n");
37
- segments.forEach((segment, i) => {
38
- if (i > 0) next.push({ type: "break" });
39
- if (segment) next.push({ type: "text", value: segment });
40
- });
41
- } else {
42
- splitNode(child);
43
- next.push(child);
44
- }
45
- }
46
- node.children = next;
47
- };
48
- return (tree) => splitNode(tree);
49
- }
50
- function baseSanitizeSchema() {
51
- const schema = JSON.parse(JSON.stringify(defaultSchema));
52
- const attributes = schema.attributes ?? {};
53
- const allowClass = (tag) => {
54
- const existing = attributes[tag] ?? [];
55
- const withoutClass = existing.filter(
56
- (a) => !(Array.isArray(a) && a[0] === "className")
57
- );
58
- attributes[tag] = [...withoutClass, "className"];
59
- };
60
- allowClass("code");
61
- allowClass("pre");
62
- allowClass("span");
63
- allowClass("div");
64
- schema.attributes = attributes;
65
- return schema;
66
- }
67
- function mergeSanitizeSchema(base, extra) {
68
- if (!extra) return base;
69
- const out = { ...base };
70
- if (Array.isArray(extra.tagNames)) {
71
- const a = base.tagNames ?? [];
72
- out.tagNames = Array.from(/* @__PURE__ */ new Set([...a, ...extra.tagNames]));
73
- }
74
- if (extra.attributes && typeof extra.attributes === "object") {
75
- const baseAttrs = {
76
- ...base.attributes ?? {}
77
- };
78
- for (const [tag, attrs] of Object.entries(
79
- extra.attributes
80
- )) {
81
- baseAttrs[tag] = [...baseAttrs[tag] ?? [], ...attrs];
82
- }
83
- out.attributes = baseAttrs;
84
- }
85
- if (extra.protocols && typeof extra.protocols === "object") {
86
- const baseProtocols = {
87
- ...base.protocols ?? {}
88
- };
89
- for (const [attr, protocols] of Object.entries(
90
- extra.protocols
91
- )) {
92
- baseProtocols[attr] = Array.from(
93
- /* @__PURE__ */ new Set([...baseProtocols[attr] ?? [], ...protocols])
94
- );
95
- }
96
- out.protocols = baseProtocols;
97
- }
98
- for (const [k, v] of Object.entries(extra)) {
99
- if (k === "tagNames" || k === "attributes" || k === "protocols") continue;
100
- out[k] = v;
101
- }
102
- return out;
103
- }
104
- function baseComponents() {
105
- return {
106
- a: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
107
- "a",
108
- {
109
- ...props,
110
- className: cn(
111
- "text-primary-800 hover:text-primary-900 dark:text-primary-300 underline underline-offset-2",
112
- props.className
113
- ),
114
- target: props.target ?? "_blank",
115
- rel: props.rel ?? "noopener noreferrer",
116
- children
117
- }
118
- ),
119
- pre: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
120
- "pre",
121
- {
122
- ...props,
123
- tabIndex: 0,
124
- className: cn(
125
- "overflow-x-auto rounded-lg bg-neutral-900 p-3 text-sm text-neutral-100 dark:bg-neutral-950",
126
- props.className
127
- )
128
- }
129
- ),
130
- code: ({ node: _node, ...props }) => {
131
- const isBlock = typeof props.className === "string" && props.className.includes("language-");
132
- return /* @__PURE__ */ jsx(
133
- "code",
134
- {
135
- ...props,
136
- className: cn(
137
- !isBlock && "rounded bg-neutral-200 px-1 py-0.5 text-[0.85em] text-neutral-800 dark:bg-neutral-700 dark:text-neutral-100",
138
- props.className
139
- )
140
- }
141
- );
142
- },
143
- input: ({ node: _node, ...props }) => {
144
- if (props.type === "checkbox") {
145
- return /* @__PURE__ */ jsx(
146
- "input",
45
+ function MessageMedia({
46
+ attachment,
47
+ onOpen,
48
+ openLabel,
49
+ playLabel,
50
+ errorLabel,
51
+ retryLabel,
52
+ launchId
53
+ }) {
54
+ const playable = attachment.kind !== "image";
55
+ const actionLabel = playable ? playLabel : openLabel;
56
+ return /* @__PURE__ */ jsxs(
57
+ "div",
58
+ {
59
+ "data-slot": "superchat-message-media",
60
+ className: "mt-3 flex w-72 max-w-full flex-col gap-2",
61
+ children: [
62
+ attachment.title && /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: attachment.title }),
63
+ attachment.kind === "image" && attachment.src ? /* @__PURE__ */ jsx(
64
+ "img",
147
65
  {
148
- ...props,
149
- "aria-label": props["aria-label"] ?? (props["aria-labelledby"] ? void 0 : "Task list item")
66
+ src: attachment.src,
67
+ alt: attachment.alt ?? attachment.title ?? "",
68
+ loading: "lazy",
69
+ className: "max-h-72 w-full rounded-lg object-contain"
150
70
  }
151
- );
152
- }
153
- return /* @__PURE__ */ jsx("input", { ...props });
154
- },
155
- table: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("div", { className: "my-2 overflow-x-auto", children: /* @__PURE__ */ jsx(
156
- "table",
157
- {
158
- ...props,
159
- className: cn(
160
- "w-full border-collapse text-sm [&_td]:border [&_td]:border-neutral-200 [&_td]:px-2 [&_td]:py-1 dark:[&_td]:border-neutral-700 [&_th]:border [&_th]:border-neutral-200 [&_th]:px-2 [&_th]:py-1 [&_th]:text-start dark:[&_th]:border-neutral-700",
161
- props.className
162
- )
163
- }
164
- ) }),
165
- // Tailwind's preflight resets list markers/padding; restore them explicitly
166
- // so bullets/numbers show without depending on the typography plugin.
167
- ul: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ul", { ...props, className: cn("list-disc ps-5", props.className) }),
168
- ol: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ol", { ...props, className: cn("list-decimal ps-5", props.className) }),
169
- li: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("li", { ...props, className: cn("ps-1", props.className) }),
170
- // Preflight also flattens headings to body size/weight; restore a sensible
171
- // hierarchy without depending on the typography plugin.
172
- h1: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
173
- "h1",
174
- {
175
- ...props,
176
- className: cn("mt-3 mb-1 text-xl font-semibold", props.className),
177
- children
178
- }
179
- ),
180
- h2: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
181
- "h2",
182
- {
183
- ...props,
184
- className: cn("mt-3 mb-1 text-lg font-semibold", props.className),
185
- children
186
- }
187
- ),
188
- h3: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
189
- "h3",
190
- {
191
- ...props,
192
- className: cn("mt-2 mb-1 text-base font-semibold", props.className),
193
- children
194
- }
195
- ),
196
- h4: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
197
- "h4",
198
- {
199
- ...props,
200
- className: cn("mt-2 mb-1 text-sm font-semibold", props.className),
201
- children
202
- }
203
- ),
204
- h5: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
205
- "h5",
206
- {
207
- ...props,
208
- className: cn("mt-2 mb-1 text-sm font-semibold", props.className),
209
- children
210
- }
211
- ),
212
- h6: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
213
- "h6",
214
- {
215
- ...props,
216
- className: cn(
217
- "mt-2 mb-1 text-xs font-semibold tracking-wide uppercase",
218
- props.className
219
- ),
220
- children
221
- }
222
- ),
223
- hr: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
224
- "hr",
225
- {
226
- ...props,
227
- className: cn(
228
- "my-2 border-neutral-300 dark:border-neutral-600",
229
- props.className
230
- )
231
- }
232
- )
233
- };
234
- }
235
- function createMarkdownRenderer(options = {}) {
236
- const { plugins = [], trusted = false } = options;
237
- const remarkPlugins = [
238
- remarkGfm,
239
- remarkPreserveLineBreaks,
240
- ...plugins.flatMap((p) => p.remarkPlugins ?? [])
241
- ];
242
- const pluginRehype = plugins.flatMap(
243
- (p) => p.rehypePlugins ?? []
244
- );
245
- const sanitizeSchema = plugins.reduce(
246
- (acc, p) => mergeSanitizeSchema(acc, p.sanitizeSchema),
247
- baseSanitizeSchema()
248
- );
249
- const rehypePlugins = trusted ? pluginRehype : [...pluginRehype, [rehypeSanitize, sanitizeSchema]];
250
- const components = plugins.reduce(
251
- (acc, p) => ({ ...acc, ...p.components }),
252
- baseComponents()
253
- );
254
- const MarkdownRenderer = (text, ctx) => /* @__PURE__ */ jsx(
255
- MarkdownContent,
256
- {
257
- text,
258
- messageId: ctx.messageId,
259
- streaming: ctx.streaming,
260
- remarkPlugins,
261
- rehypePlugins,
262
- components
263
- },
264
- ctx.messageId
71
+ ) : (attachment.kind === "video" || attachment.kind === "audio") && attachment.src ? (
72
+ // An opaque themed surface: the player's semi-transparent states
73
+ // (error, loading) must never compose onto a colored chat bubble.
74
+ /* @__PURE__ */ jsx("div", { className: "bg-background overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(
75
+ MediaPlayer,
76
+ {
77
+ src: attachment.src,
78
+ kind: attachment.kind,
79
+ poster: attachment.poster,
80
+ "aria-label": attachment.alt ?? attachment.title ?? openLabel,
81
+ controls: !onOpen,
82
+ preload: "metadata",
83
+ labels: { error: errorLabel, retry: retryLabel },
84
+ className: "max-h-72"
85
+ }
86
+ ) })
87
+ ) : attachment.poster ? /* @__PURE__ */ jsx(
88
+ "img",
89
+ {
90
+ src: attachment.poster,
91
+ alt: attachment.alt ?? attachment.title ?? "",
92
+ loading: "lazy",
93
+ className: "max-h-72 w-full rounded-lg object-contain"
94
+ }
95
+ ) : null,
96
+ attachment.caption && /* @__PURE__ */ jsx("p", { className: "text-sm", children: attachment.caption }),
97
+ onOpen && /* @__PURE__ */ jsx(ButtonGroup, { children: /* @__PURE__ */ jsx(
98
+ Button,
99
+ {
100
+ "data-media-launch-id": launchId,
101
+ variant: "secondary",
102
+ size: "sm",
103
+ leftIcon: playable ? /* @__PURE__ */ jsx(Play, { className: "size-4", "aria-hidden": "true" }) : void 0,
104
+ "aria-label": playable && attachment.title ? `${playLabel} ${attachment.title}` : actionLabel,
105
+ onClick: () => onOpen(playable),
106
+ children: actionLabel
107
+ }
108
+ ) })
109
+ ]
110
+ }
265
111
  );
266
- return MarkdownRenderer;
267
112
  }
268
- var transformUrl = (url, key, node) => {
269
- if (key === "src" && node.tagName === "img" && (/^data:image\//i.test(url) || /^blob:/i.test(url))) {
270
- return url;
271
- }
272
- return defaultUrlTransform(url);
273
- };
274
- var MarkdownContent = React3.memo(function MarkdownContent2({
275
- text,
276
- messageId,
277
- streaming,
278
- remarkPlugins,
279
- rehypePlugins,
280
- components
281
- }) {
282
- return /* @__PURE__ */ jsx(TextRenderContext.Provider, { value: { messageId, streaming }, children: /* @__PURE__ */ jsx(
283
- Markdown,
284
- {
285
- remarkPlugins,
286
- rehypePlugins,
287
- urlTransform: transformUrl,
288
- components,
289
- children: text
290
- }
291
- ) });
292
- });
293
113
  function formatTime(time) {
294
114
  return new Date(time).toLocaleTimeString(void 0, {
295
115
  hour: "numeric",
@@ -652,10 +472,15 @@ var MessageRow = React3.memo(function MessageRow2({
652
472
  onReferenceClick,
653
473
  editable,
654
474
  onMessageEdited,
655
- defaultCopyFormat = "rich"
475
+ defaultCopyFormat = "rich",
476
+ onOpenMedia,
477
+ openMediaLabel = "Open in media feed",
478
+ playMediaLabel = "Play",
479
+ mediaErrorLabel,
480
+ mediaRetryLabel
656
481
  }) {
657
482
  const streaming = message.status === "streaming";
658
- const hasBody = !!message.text || (message.content?.length ?? 0) > 0;
483
+ const hasBody = !!message.text || (message.content?.length ?? 0) > 0 || (message.media?.length ?? 0) > 0;
659
484
  const [isEditing, setIsEditing] = React3.useState(false);
660
485
  const [draft, setDraft] = React3.useState(message.text ?? "");
661
486
  const [editMinWidth, setEditMinWidth] = React3.useState();
@@ -1016,6 +841,19 @@ ${block.text}
1016
841
  streaming,
1017
842
  role: participant?.kind === "human" ? "user" : "assistant"
1018
843
  }) }),
844
+ message.media?.map((attachment) => /* @__PURE__ */ jsx(
845
+ MessageMedia,
846
+ {
847
+ attachment,
848
+ openLabel: openMediaLabel,
849
+ playLabel: playMediaLabel,
850
+ errorLabel: mediaErrorLabel,
851
+ retryLabel: mediaRetryLabel,
852
+ launchId: JSON.stringify([message.id, attachment.id]),
853
+ onOpen: onOpenMedia ? (play) => onOpenMedia(message.id, attachment.id, play) : void 0
854
+ },
855
+ attachment.id
856
+ )),
1019
857
  streaming && !hasBody && /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(AITypingIndicator, {}) })
1020
858
  ] })
1021
859
  }
@@ -1025,22 +863,306 @@ ${block.text}
1025
863
  ]
1026
864
  }
1027
865
  )
1028
- ]
1029
- }
1030
- );
1031
- });
1032
- var sidebarItem = cva(
1033
- "flex w-full items-center gap-2 rounded-lg px-3 py-2 text-start text-sm transition-colors",
1034
- {
1035
- variants: {
1036
- active: {
1037
- true: "bg-primary-100 text-primary-900 dark:bg-primary-900/40 dark:text-primary-100",
1038
- false: "text-neutral-700 hover:bg-neutral-100 dark:text-neutral-200 dark:hover:bg-neutral-800"
866
+ ]
867
+ }
868
+ );
869
+ });
870
+ var sidebarItem = cva(
871
+ "flex w-full items-center gap-2 rounded-lg px-3 py-2 text-start text-sm transition-colors",
872
+ {
873
+ variants: {
874
+ active: {
875
+ true: "bg-primary-100 text-primary-900 dark:bg-primary-900/40 dark:text-primary-100",
876
+ false: "text-neutral-700 hover:bg-neutral-100 dark:text-neutral-200 dark:hover:bg-neutral-800"
877
+ }
878
+ },
879
+ defaultVariants: { active: false }
880
+ }
881
+ );
882
+
883
+ // src/components/SuperChat/media.ts
884
+ function getConversationMediaItems(conversation) {
885
+ const participants = new Map(
886
+ conversation.participants.map((participant) => [
887
+ participant.id,
888
+ participant
889
+ ])
890
+ );
891
+ return [...conversation.thread].sort(byTime).flatMap(
892
+ (message) => (message.media ?? []).map((attachment) => ({
893
+ // Tuple encoding prevents collisions when ids themselves contain a
894
+ // delimiter. Including the conversation keeps selection scoped to it.
895
+ id: JSON.stringify([conversation.id, message.id, attachment.id]),
896
+ conversationId: conversation.id,
897
+ message,
898
+ attachment,
899
+ participant: participants.get(message.participantId)
900
+ }))
901
+ );
902
+ }
903
+ function remarkPreserveLineBreaks() {
904
+ const splitNode = (node) => {
905
+ if (!node.children) return;
906
+ const next = [];
907
+ for (const child of node.children) {
908
+ if (child.type === "text" && child.value && child.value.includes("\n")) {
909
+ const segments = child.value.split("\n");
910
+ segments.forEach((segment, i) => {
911
+ if (i > 0) next.push({ type: "break" });
912
+ if (segment) next.push({ type: "text", value: segment });
913
+ });
914
+ } else {
915
+ splitNode(child);
916
+ next.push(child);
917
+ }
918
+ }
919
+ node.children = next;
920
+ };
921
+ return (tree) => splitNode(tree);
922
+ }
923
+ function baseSanitizeSchema() {
924
+ const schema = JSON.parse(JSON.stringify(defaultSchema));
925
+ const attributes = schema.attributes ?? {};
926
+ const allowClass = (tag) => {
927
+ const existing = attributes[tag] ?? [];
928
+ const withoutClass = existing.filter(
929
+ (a) => !(Array.isArray(a) && a[0] === "className")
930
+ );
931
+ attributes[tag] = [...withoutClass, "className"];
932
+ };
933
+ allowClass("code");
934
+ allowClass("pre");
935
+ allowClass("span");
936
+ allowClass("div");
937
+ schema.attributes = attributes;
938
+ return schema;
939
+ }
940
+ function mergeSanitizeSchema(base, extra) {
941
+ if (!extra) return base;
942
+ const out = { ...base };
943
+ if (Array.isArray(extra.tagNames)) {
944
+ const a = base.tagNames ?? [];
945
+ out.tagNames = Array.from(/* @__PURE__ */ new Set([...a, ...extra.tagNames]));
946
+ }
947
+ if (extra.attributes && typeof extra.attributes === "object") {
948
+ const baseAttrs = {
949
+ ...base.attributes ?? {}
950
+ };
951
+ for (const [tag, attrs] of Object.entries(
952
+ extra.attributes
953
+ )) {
954
+ baseAttrs[tag] = [...baseAttrs[tag] ?? [], ...attrs];
955
+ }
956
+ out.attributes = baseAttrs;
957
+ }
958
+ if (extra.protocols && typeof extra.protocols === "object") {
959
+ const baseProtocols = {
960
+ ...base.protocols ?? {}
961
+ };
962
+ for (const [attr, protocols] of Object.entries(
963
+ extra.protocols
964
+ )) {
965
+ baseProtocols[attr] = Array.from(
966
+ /* @__PURE__ */ new Set([...baseProtocols[attr] ?? [], ...protocols])
967
+ );
968
+ }
969
+ out.protocols = baseProtocols;
970
+ }
971
+ for (const [k, v] of Object.entries(extra)) {
972
+ if (k === "tagNames" || k === "attributes" || k === "protocols") continue;
973
+ out[k] = v;
974
+ }
975
+ return out;
976
+ }
977
+ function baseComponents() {
978
+ return {
979
+ a: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
980
+ "a",
981
+ {
982
+ ...props,
983
+ className: cn(
984
+ "text-primary-800 hover:text-primary-900 dark:text-primary-300 underline underline-offset-2",
985
+ props.className
986
+ ),
987
+ target: props.target ?? "_blank",
988
+ rel: props.rel ?? "noopener noreferrer",
989
+ children
990
+ }
991
+ ),
992
+ pre: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
993
+ "pre",
994
+ {
995
+ ...props,
996
+ tabIndex: 0,
997
+ className: cn(
998
+ "overflow-x-auto rounded-lg bg-neutral-900 p-3 text-sm text-neutral-100 dark:bg-neutral-950",
999
+ props.className
1000
+ )
1001
+ }
1002
+ ),
1003
+ code: ({ node: _node, ...props }) => {
1004
+ const isBlock = typeof props.className === "string" && props.className.includes("language-");
1005
+ return /* @__PURE__ */ jsx(
1006
+ "code",
1007
+ {
1008
+ ...props,
1009
+ className: cn(
1010
+ !isBlock && "rounded bg-neutral-200 px-1 py-0.5 text-[0.85em] text-neutral-800 dark:bg-neutral-700 dark:text-neutral-100",
1011
+ props.className
1012
+ )
1013
+ }
1014
+ );
1015
+ },
1016
+ input: ({ node: _node, ...props }) => {
1017
+ if (props.type === "checkbox") {
1018
+ return /* @__PURE__ */ jsx(
1019
+ "input",
1020
+ {
1021
+ ...props,
1022
+ "aria-label": props["aria-label"] ?? (props["aria-labelledby"] ? void 0 : "Task list item")
1023
+ }
1024
+ );
1025
+ }
1026
+ return /* @__PURE__ */ jsx("input", { ...props });
1027
+ },
1028
+ table: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("div", { className: "my-2 overflow-x-auto", children: /* @__PURE__ */ jsx(
1029
+ "table",
1030
+ {
1031
+ ...props,
1032
+ className: cn(
1033
+ "w-full border-collapse text-sm [&_td]:border [&_td]:border-neutral-200 [&_td]:px-2 [&_td]:py-1 dark:[&_td]:border-neutral-700 [&_th]:border [&_th]:border-neutral-200 [&_th]:px-2 [&_th]:py-1 [&_th]:text-start dark:[&_th]:border-neutral-700",
1034
+ props.className
1035
+ )
1036
+ }
1037
+ ) }),
1038
+ // Tailwind's preflight resets list markers/padding; restore them explicitly
1039
+ // so bullets/numbers show without depending on the typography plugin.
1040
+ ul: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ul", { ...props, className: cn("list-disc ps-5", props.className) }),
1041
+ ol: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ol", { ...props, className: cn("list-decimal ps-5", props.className) }),
1042
+ li: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("li", { ...props, className: cn("ps-1", props.className) }),
1043
+ // Preflight also flattens headings to body size/weight; restore a sensible
1044
+ // hierarchy without depending on the typography plugin.
1045
+ h1: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
1046
+ "h1",
1047
+ {
1048
+ ...props,
1049
+ className: cn("mt-3 mb-1 text-xl font-semibold", props.className),
1050
+ children
1051
+ }
1052
+ ),
1053
+ h2: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
1054
+ "h2",
1055
+ {
1056
+ ...props,
1057
+ className: cn("mt-3 mb-1 text-lg font-semibold", props.className),
1058
+ children
1059
+ }
1060
+ ),
1061
+ h3: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
1062
+ "h3",
1063
+ {
1064
+ ...props,
1065
+ className: cn("mt-2 mb-1 text-base font-semibold", props.className),
1066
+ children
1067
+ }
1068
+ ),
1069
+ h4: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
1070
+ "h4",
1071
+ {
1072
+ ...props,
1073
+ className: cn("mt-2 mb-1 text-sm font-semibold", props.className),
1074
+ children
1075
+ }
1076
+ ),
1077
+ h5: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
1078
+ "h5",
1079
+ {
1080
+ ...props,
1081
+ className: cn("mt-2 mb-1 text-sm font-semibold", props.className),
1082
+ children
1083
+ }
1084
+ ),
1085
+ h6: ({ node: _node, children, ...props }) => /* @__PURE__ */ jsx(
1086
+ "h6",
1087
+ {
1088
+ ...props,
1089
+ className: cn(
1090
+ "mt-2 mb-1 text-xs font-semibold tracking-wide uppercase",
1091
+ props.className
1092
+ ),
1093
+ children
1094
+ }
1095
+ ),
1096
+ hr: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
1097
+ "hr",
1098
+ {
1099
+ ...props,
1100
+ className: cn(
1101
+ "my-2 border-neutral-300 dark:border-neutral-600",
1102
+ props.className
1103
+ )
1039
1104
  }
1105
+ )
1106
+ };
1107
+ }
1108
+ function createMarkdownRenderer(options = {}) {
1109
+ const { plugins = [], trusted = false } = options;
1110
+ const remarkPlugins = [
1111
+ remarkGfm,
1112
+ remarkPreserveLineBreaks,
1113
+ ...plugins.flatMap((p) => p.remarkPlugins ?? [])
1114
+ ];
1115
+ const pluginRehype = plugins.flatMap(
1116
+ (p) => p.rehypePlugins ?? []
1117
+ );
1118
+ const sanitizeSchema = plugins.reduce(
1119
+ (acc, p) => mergeSanitizeSchema(acc, p.sanitizeSchema),
1120
+ baseSanitizeSchema()
1121
+ );
1122
+ const rehypePlugins = trusted ? pluginRehype : [...pluginRehype, [rehypeSanitize, sanitizeSchema]];
1123
+ const components = plugins.reduce(
1124
+ (acc, p) => ({ ...acc, ...p.components }),
1125
+ baseComponents()
1126
+ );
1127
+ const MarkdownRenderer = (text, ctx) => /* @__PURE__ */ jsx(
1128
+ MarkdownContent,
1129
+ {
1130
+ text,
1131
+ messageId: ctx.messageId,
1132
+ streaming: ctx.streaming,
1133
+ remarkPlugins,
1134
+ rehypePlugins,
1135
+ components
1040
1136
  },
1041
- defaultVariants: { active: false }
1137
+ ctx.messageId
1138
+ );
1139
+ return MarkdownRenderer;
1140
+ }
1141
+ var transformUrl = (url, key, node) => {
1142
+ if (key === "src" && node.tagName === "img" && (/^data:image\//i.test(url) || /^blob:/i.test(url))) {
1143
+ return url;
1042
1144
  }
1043
- );
1145
+ return defaultUrlTransform(url);
1146
+ };
1147
+ var MarkdownContent = React3.memo(function MarkdownContent2({
1148
+ text,
1149
+ messageId,
1150
+ streaming,
1151
+ remarkPlugins,
1152
+ rehypePlugins,
1153
+ components
1154
+ }) {
1155
+ return /* @__PURE__ */ jsx(TextRenderContext.Provider, { value: { messageId, streaming }, children: /* @__PURE__ */ jsx(
1156
+ Markdown,
1157
+ {
1158
+ remarkPlugins,
1159
+ rehypePlugins,
1160
+ urlTransform: transformUrl,
1161
+ components,
1162
+ children: text
1163
+ }
1164
+ ) });
1165
+ });
1044
1166
  function VirtualThread({
1045
1167
  items,
1046
1168
  participantById,
@@ -1051,6 +1173,11 @@ function VirtualThread({
1051
1173
  editable,
1052
1174
  onMessageEdited,
1053
1175
  defaultCopyFormat,
1176
+ onOpenMedia,
1177
+ openMediaLabel,
1178
+ playMediaLabel,
1179
+ mediaErrorLabel,
1180
+ mediaRetryLabel,
1054
1181
  scrollRef,
1055
1182
  contentRef,
1056
1183
  containerProps
@@ -1099,7 +1226,12 @@ function VirtualThread({
1099
1226
  onReferenceClick,
1100
1227
  editable,
1101
1228
  onMessageEdited,
1102
- defaultCopyFormat
1229
+ defaultCopyFormat,
1230
+ onOpenMedia,
1231
+ openMediaLabel,
1232
+ playMediaLabel,
1233
+ mediaErrorLabel,
1234
+ mediaRetryLabel
1103
1235
  }
1104
1236
  ) })
1105
1237
  },
@@ -1111,6 +1243,11 @@ function VirtualThread({
1111
1243
  }
1112
1244
  function SuperChat({
1113
1245
  conversation,
1246
+ view,
1247
+ defaultView = "thread",
1248
+ onViewChange,
1249
+ mediaFeedProps,
1250
+ mediaLabels,
1114
1251
  currentParticipantId,
1115
1252
  renderPlugins,
1116
1253
  renderTextContent,
@@ -1122,6 +1259,17 @@ function SuperChat({
1122
1259
  linkBuilder,
1123
1260
  defaultCopyFormat,
1124
1261
  className,
1262
+ showHeader = true,
1263
+ placeholder,
1264
+ allowAttachments,
1265
+ agents,
1266
+ selectedAgent,
1267
+ onAgentChange,
1268
+ agentSelectorLabel,
1269
+ modelSelectorProps,
1270
+ isStreaming,
1271
+ onStop,
1272
+ stopLabel,
1125
1273
  onMessageSent,
1126
1274
  onMessageEdited,
1127
1275
  onConversationClosed,
@@ -1129,6 +1277,114 @@ function SuperChat({
1129
1277
  onBack
1130
1278
  }) {
1131
1279
  const headingId = React3.useId();
1280
+ const [internalView, setInternalView] = React3.useState({
1281
+ conversationId: conversation.id,
1282
+ view: defaultView
1283
+ });
1284
+ const activeView = view ?? (internalView.conversationId === conversation.id ? internalView.view : "thread");
1285
+ const labels = {
1286
+ backToConversation: "Back to conversation",
1287
+ openMedia: "Open in media feed",
1288
+ playMedia: "Play",
1289
+ unknownAuthor: "Unknown",
1290
+ ...mediaLabels
1291
+ };
1292
+ const mediaItems = React3.useMemo(() => {
1293
+ const items = getConversationMediaItems(conversation);
1294
+ return order === "desc" ? items.reverse() : items;
1295
+ }, [conversation, order]);
1296
+ const [mediaSelection, setMediaSelection] = React3.useState();
1297
+ const [manualPlaybackRequest, setManualPlaybackRequest] = React3.useState();
1298
+ const playbackRequestCounter = React3.useRef(0);
1299
+ const mediaFeedRef = React3.useRef(null);
1300
+ const backToConversationRef = React3.useRef(null);
1301
+ const focusMediaOnOpenRef = React3.useRef(false);
1302
+ const focusThreadOnBackRef = React3.useRef(false);
1303
+ const mediaReturnTargetRef = React3.useRef(void 0);
1304
+ const mediaContextRef = React3.useRef({
1305
+ conversation,
1306
+ view,
1307
+ onViewChange,
1308
+ mediaFeedProps,
1309
+ mediaItems
1310
+ });
1311
+ mediaContextRef.current = {
1312
+ conversation,
1313
+ view,
1314
+ onViewChange,
1315
+ mediaFeedProps,
1316
+ mediaItems
1317
+ };
1318
+ const setView = React3.useCallback((next) => {
1319
+ const context = mediaContextRef.current;
1320
+ if (context.view === void 0)
1321
+ setInternalView({ conversationId: context.conversation.id, view: next });
1322
+ context.onViewChange?.(next, { conversation: context.conversation });
1323
+ }, []);
1324
+ const handleMediaSelection = React3.useCallback((item) => {
1325
+ setMediaSelection({ conversationId: item.conversationId, itemId: item.id });
1326
+ mediaContextRef.current.mediaFeedProps?.onActiveItemChange?.(item);
1327
+ }, []);
1328
+ const handleOpenMedia = React3.useCallback(
1329
+ (messageId, attachmentId, play = false) => {
1330
+ const item = mediaContextRef.current.mediaItems.find(
1331
+ (candidate) => candidate.message.id === messageId && candidate.attachment.id === attachmentId
1332
+ );
1333
+ if (!item) return;
1334
+ handleMediaSelection(item);
1335
+ mediaReturnTargetRef.current = {
1336
+ conversationId: item.conversationId,
1337
+ messageId,
1338
+ attachmentId
1339
+ };
1340
+ focusMediaOnOpenRef.current = true;
1341
+ setManualPlaybackRequest(
1342
+ play ? {
1343
+ conversationId: item.conversationId,
1344
+ itemId: item.id,
1345
+ requestId: ++playbackRequestCounter.current
1346
+ } : void 0
1347
+ );
1348
+ setView("media");
1349
+ },
1350
+ [handleMediaSelection, setView]
1351
+ );
1352
+ const handleBackToConversation = React3.useCallback(() => {
1353
+ focusMediaOnOpenRef.current = false;
1354
+ focusThreadOnBackRef.current = true;
1355
+ setManualPlaybackRequest(void 0);
1356
+ setView("thread");
1357
+ }, [setView]);
1358
+ const hostPlaybackRequest = mediaFeedProps?.playbackRequest;
1359
+ const hostPlaybackKey = hostPlaybackRequest ? `${hostPlaybackRequest.itemId}\0${hostPlaybackRequest.requestId}` : void 0;
1360
+ React3.useEffect(() => {
1361
+ if (hostPlaybackKey === void 0) return;
1362
+ setManualPlaybackRequest(void 0);
1363
+ }, [hostPlaybackKey]);
1364
+ React3.useEffect(() => {
1365
+ if (internalView.conversationId !== conversation.id) {
1366
+ setInternalView({ conversationId: conversation.id, view: "thread" });
1367
+ }
1368
+ if (mediaReturnTargetRef.current?.conversationId !== conversation.id) {
1369
+ mediaReturnTargetRef.current = void 0;
1370
+ focusMediaOnOpenRef.current = false;
1371
+ focusThreadOnBackRef.current = false;
1372
+ setManualPlaybackRequest(void 0);
1373
+ }
1374
+ }, [conversation.id, internalView.conversationId]);
1375
+ React3.useEffect(() => {
1376
+ if (activeView !== "media" || !focusMediaOnOpenRef.current) return;
1377
+ const target = mediaFeedRef.current?.querySelector(
1378
+ 'article[tabindex="0"]'
1379
+ ) ?? mediaFeedRef.current?.querySelector('[role="feed"]');
1380
+ if (target) focusMediaOnOpenRef.current = false;
1381
+ (target ?? backToConversationRef.current)?.focus({ preventScroll: true });
1382
+ }, [
1383
+ activeView,
1384
+ mediaFeedProps?.loading,
1385
+ mediaFeedProps?.error,
1386
+ mediaItems.length
1387
+ ]);
1132
1388
  React3.useEffect(() => {
1133
1389
  notifyComposerMigrationOnce("SuperChat");
1134
1390
  }, []);
@@ -1148,12 +1404,36 @@ function SuperChat({
1148
1404
  anchorToTurnStart,
1149
1405
  followIfPinned,
1150
1406
  stopFollowing
1151
- } = useStickToBottom({ disabled: order === "desc" });
1407
+ } = useStickToBottom({
1408
+ disabled: order === "desc" || activeView === "media"
1409
+ });
1410
+ React3.useEffect(() => {
1411
+ if (activeView !== "thread") return;
1412
+ setManualPlaybackRequest(void 0);
1413
+ if (!focusThreadOnBackRef.current) return;
1414
+ focusThreadOnBackRef.current = false;
1415
+ const source = mediaReturnTargetRef.current;
1416
+ const launchId = source ? JSON.stringify([source.messageId, source.attachmentId]) : void 0;
1417
+ const launcher = source?.conversationId === conversation.id ? Array.from(
1418
+ threadRef.current?.querySelectorAll(
1419
+ "[data-media-launch-id]"
1420
+ ) ?? []
1421
+ ).find((button) => button.dataset.mediaLaunchId === launchId) : void 0;
1422
+ (launcher ?? threadRef.current)?.focus({ preventScroll: true });
1423
+ }, [activeView, conversation.id, threadRef]);
1152
1424
  const [hasNewBelow, setHasNewBelow] = React3.useState(false);
1153
1425
  const [turnStartId, setTurnStartId] = React3.useState(null);
1154
1426
  const [turnMinHeight, setTurnMinHeight] = React3.useState();
1155
1427
  const anchoredTurnRef = React3.useRef(null);
1428
+ const threadSnapshotRef = React3.useRef(void 0);
1429
+ const atBottomRef = React3.useRef(isAtBottom);
1430
+ atBottomRef.current = isAtBottom;
1431
+ const pendingMediaOwnSendRef = React3.useRef(false);
1432
+ const pendingMediaAppendRef = React3.useRef(false);
1156
1433
  React3.useEffect(() => {
1434
+ threadSnapshotRef.current = void 0;
1435
+ pendingMediaOwnSendRef.current = false;
1436
+ pendingMediaAppendRef.current = false;
1157
1437
  setTurnStartId(null);
1158
1438
  anchoredTurnRef.current = null;
1159
1439
  if (order === "desc") {
@@ -1187,6 +1467,7 @@ function SuperChat({
1187
1467
  if (threadLength === prevThreadLengthRef.current) return;
1188
1468
  const grew = threadLength > prevThreadLengthRef.current;
1189
1469
  prevThreadLengthRef.current = threadLength;
1470
+ if (grew && activeView === "media") pendingMediaAppendRef.current = true;
1190
1471
  if (order === "desc") {
1191
1472
  const el = threadRef.current;
1192
1473
  if (el) el.scrollTop = 0;
@@ -1202,6 +1483,7 @@ function SuperChat({
1202
1483
  }
1203
1484
  }
1204
1485
  if (turnStart) {
1486
+ if (activeView === "media") pendingMediaOwnSendRef.current = true;
1205
1487
  if (virtualized) {
1206
1488
  scrollToBottom("auto");
1207
1489
  } else {
@@ -1218,7 +1500,36 @@ function SuperChat({
1218
1500
  } else {
1219
1501
  followIfPinned("auto");
1220
1502
  }
1221
- }, [threadLength, order, isAtBottom, conversation.id]);
1503
+ }, [threadLength, order, isAtBottom, conversation.id, activeView]);
1504
+ React3.useLayoutEffect(() => {
1505
+ if (activeView !== "thread") return;
1506
+ const container = threadRef.current;
1507
+ if (!container) return;
1508
+ const snapshot = threadSnapshotRef.current;
1509
+ const sameThread = snapshot?.conversationId === conversation.id && snapshot.order === order;
1510
+ const ownSend = pendingMediaOwnSendRef.current;
1511
+ const appended = pendingMediaAppendRef.current;
1512
+ pendingMediaOwnSendRef.current = false;
1513
+ pendingMediaAppendRef.current = false;
1514
+ if (order === "desc") {
1515
+ container.scrollTop = sameThread && !appended ? snapshot.scrollTop : 0;
1516
+ } else if (ownSend && !virtualized) ; else if (sameThread && !ownSend && (!snapshot.atBottom || !appended)) {
1517
+ container.scrollTop = snapshot.scrollTop;
1518
+ if (!snapshot.atBottom) stopFollowing();
1519
+ } else {
1520
+ scrollToBottom("auto");
1521
+ if ([...conversation.thread].sort(byTime).at(-1)?.status === "streaming")
1522
+ stopFollowing();
1523
+ }
1524
+ return () => {
1525
+ threadSnapshotRef.current = {
1526
+ conversationId: conversation.id,
1527
+ order,
1528
+ scrollTop: container.scrollTop,
1529
+ atBottom: atBottomRef.current
1530
+ };
1531
+ };
1532
+ }, [conversation.id, order, activeView, virtualized]);
1222
1533
  React3.useLayoutEffect(() => {
1223
1534
  if (!turnStartId || anchoredTurnRef.current === turnStartId) return;
1224
1535
  const container = threadRef.current;
@@ -1240,7 +1551,8 @@ function SuperChat({
1240
1551
  turnMinHeight,
1241
1552
  anchorToTurnStart,
1242
1553
  prefersReducedMotion,
1243
- threadRef
1554
+ threadRef,
1555
+ activeView
1244
1556
  ]);
1245
1557
  React3.useEffect(() => {
1246
1558
  prevMessageIdsRef.current = new Set(
@@ -1293,7 +1605,12 @@ function SuperChat({
1293
1605
  onReferenceClick,
1294
1606
  editable,
1295
1607
  onMessageEdited: handleMessageEdited,
1296
- defaultCopyFormat
1608
+ defaultCopyFormat,
1609
+ onOpenMedia: handleOpenMedia,
1610
+ openMediaLabel: labels.openMedia,
1611
+ playMediaLabel: labels.playMedia,
1612
+ mediaErrorLabel: mediaFeedProps?.labels?.mediaError,
1613
+ mediaRetryLabel: mediaFeedProps?.labels?.retry
1297
1614
  },
1298
1615
  m.id
1299
1616
  );
@@ -1361,7 +1678,7 @@ function SuperChat({
1361
1678
  className
1362
1679
  ),
1363
1680
  children: [
1364
- /* @__PURE__ */ jsxs(
1681
+ showHeader ? /* @__PURE__ */ jsxs(
1365
1682
  "header",
1366
1683
  {
1367
1684
  "data-slot": "superchat-header",
@@ -1425,8 +1742,57 @@ function SuperChat({
1425
1742
  )
1426
1743
  ]
1427
1744
  }
1745
+ ) : (
1746
+ // Keeps the panel's aria-labelledby reference valid without a visible header.
1747
+ /* @__PURE__ */ jsx("h2", { id: headingId, className: "sr-only", children: conversation.title })
1428
1748
  ),
1429
- /* @__PURE__ */ jsxs(
1749
+ activeView === "media" ? /* @__PURE__ */ jsxs(
1750
+ "div",
1751
+ {
1752
+ "data-slot": "superchat-media-view",
1753
+ className: "flex min-h-0 flex-1 flex-col",
1754
+ children: [
1755
+ /* @__PURE__ */ jsx("div", { className: "px-4 pt-2", children: /* @__PURE__ */ jsx(ButtonGroup, { className: "justify-start", children: /* @__PURE__ */ jsx(
1756
+ Button,
1757
+ {
1758
+ ref: backToConversationRef,
1759
+ variant: "ghost",
1760
+ size: "sm",
1761
+ leftIcon: /* @__PURE__ */ jsx(
1762
+ ArrowLeft,
1763
+ {
1764
+ className: "size-4 rtl:rotate-180",
1765
+ "aria-hidden": "true"
1766
+ }
1767
+ ),
1768
+ onClick: handleBackToConversation,
1769
+ children: labels.backToConversation
1770
+ }
1771
+ ) }) }),
1772
+ /* @__PURE__ */ createElement(
1773
+ MediaFeed,
1774
+ {
1775
+ ...mediaFeedProps,
1776
+ ref: mediaFeedRef,
1777
+ key: conversation.id,
1778
+ items: mediaItems,
1779
+ getId: (item) => item.id,
1780
+ getMedia: (item) => item.attachment,
1781
+ getTitle: (item) => item.attachment.title ?? "",
1782
+ getCaption: (item) => item.attachment.caption ?? item.message.text,
1783
+ getAuthor: (item) => ({
1784
+ name: item.participant?.name ?? labels.unknownAuthor,
1785
+ avatar: item.participant?.avatar
1786
+ }),
1787
+ activeItemId: mediaFeedProps?.activeItemId ?? (mediaSelection?.conversationId === conversation.id ? mediaSelection.itemId : void 0),
1788
+ onActiveItemChange: handleMediaSelection,
1789
+ playbackRequest: manualPlaybackRequest?.conversationId === conversation.id ? manualPlaybackRequest : mediaFeedProps?.playbackRequest,
1790
+ className: cn("min-h-0 flex-1", mediaFeedProps?.className)
1791
+ }
1792
+ )
1793
+ ]
1794
+ }
1795
+ ) : /* @__PURE__ */ jsxs(
1430
1796
  "div",
1431
1797
  {
1432
1798
  "data-slot": "superchat-thread-viewport",
@@ -1444,6 +1810,11 @@ function SuperChat({
1444
1810
  editable,
1445
1811
  onMessageEdited: handleMessageEdited,
1446
1812
  defaultCopyFormat,
1813
+ onOpenMedia: handleOpenMedia,
1814
+ openMediaLabel: labels.openMedia,
1815
+ playMediaLabel: labels.playMedia,
1816
+ mediaErrorLabel: mediaFeedProps?.labels?.mediaError,
1817
+ mediaRetryLabel: mediaFeedProps?.labels?.retry,
1447
1818
  scrollRef: threadRef,
1448
1819
  contentRef: threadContentRef,
1449
1820
  containerProps: {
@@ -1480,14 +1851,23 @@ function SuperChat({
1480
1851
  ] })
1481
1852
  }
1482
1853
  ),
1483
- order !== "desc" && !isAtBottom && /* @__PURE__ */ jsx(
1484
- JumpToBottomButton,
1854
+ /* @__PURE__ */ jsx(AnimatedPresence, { children: order !== "desc" && !isAtBottom && /* @__PURE__ */ jsx(
1855
+ Animated,
1485
1856
  {
1486
- dataSlot: "superchat-jump-to-bottom",
1487
- hasNewMessages: hasNewBelow,
1488
- onClick: handleJumpToBottom
1489
- }
1490
- )
1857
+ preset: "fade",
1858
+ mode: "presence",
1859
+ className: "absolute inset-x-0 bottom-0 z-20",
1860
+ children: /* @__PURE__ */ jsx(
1861
+ JumpToBottomButton,
1862
+ {
1863
+ dataSlot: "superchat-jump-to-bottom",
1864
+ hasNewMessages: hasNewBelow,
1865
+ onClick: handleJumpToBottom
1866
+ }
1867
+ )
1868
+ },
1869
+ "jump-to-bottom"
1870
+ ) })
1491
1871
  ]
1492
1872
  }
1493
1873
  ),
@@ -1499,13 +1879,23 @@ function SuperChat({
1499
1879
  onSend: handleComposerSend,
1500
1880
  disabled: readOnly,
1501
1881
  className: "px-4 pb-4",
1502
- placeholder: readOnly ? "Read-only conversation" : "Type a message\u2026 use @ to address an agent",
1882
+ placeholder: readOnly ? "Read-only conversation" : placeholder ?? "Type a message\u2026 use @ to address an agent",
1503
1883
  mentionOptions,
1504
- allowAttachments: !readOnly,
1884
+ allowAttachments: !readOnly && (allowAttachments ?? true),
1505
1885
  acceptedFileTypes: composerAccept,
1506
1886
  maxFileSize: 25 * 1024 * 1024,
1507
1887
  maxLength: 1e5,
1508
- inputLabel: "Message"
1888
+ inputLabel: "Message",
1889
+ showAgentSelector: !!agents?.length,
1890
+ agents,
1891
+ selectedAgent,
1892
+ onAgentChange,
1893
+ agentSelectorLabel,
1894
+ showModelSelector: !!modelSelectorProps,
1895
+ modelSelectorProps,
1896
+ isStreaming,
1897
+ onStop,
1898
+ stopLabel
1509
1899
  }
1510
1900
  )
1511
1901
  ]
@@ -1523,6 +1913,8 @@ function SuperChatConversations({
1523
1913
  const [internalActive, setInternalActive] = React3.useState(
1524
1914
  defaultActiveConversationId ?? conversations[0]?.id
1525
1915
  );
1916
+ const [hasMounted, setHasMounted] = React3.useState(false);
1917
+ React3.useEffect(() => setHasMounted(true), []);
1526
1918
  const requestedId = activeConversationId ?? internalActive;
1527
1919
  const activeId = conversations.some((c) => c.id === requestedId) ? requestedId : conversations[0]?.id;
1528
1920
  const sortedConversations = React3.useMemo(
@@ -1577,10 +1969,21 @@ function SuperChatConversations({
1577
1969
  /* @__PURE__ */ jsx("span", { className: "block truncate font-medium", children: c.title }),
1578
1970
  last?.text && /* @__PURE__ */ jsx("span", { className: "block truncate text-xs text-neutral-600 dark:text-neutral-400", children: last.text })
1579
1971
  ] }),
1580
- !!c.unread && /* @__PURE__ */ jsxs("span", { className: "bg-primary-600 ms-1 inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-[10px] font-semibold text-white", children: [
1581
- c.unread,
1582
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: " unread messages" })
1583
- ] })
1972
+ /* @__PURE__ */ jsx(AnimatedPresence, { initial: hasMounted, children: !!c.unread && /* @__PURE__ */ jsxs(
1973
+ Animated,
1974
+ {
1975
+ as: "span",
1976
+ preset: "pop",
1977
+ mode: "presence",
1978
+ "data-slot": "superchat-unread-badge",
1979
+ className: "bg-primary-600 ms-1 inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1.5 text-[10px] font-semibold text-white",
1980
+ children: [
1981
+ c.unread,
1982
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: " unread messages" })
1983
+ ]
1984
+ },
1985
+ "unread"
1986
+ ) })
1584
1987
  ]
1585
1988
  }
1586
1989
  ) }, c.id);
@@ -1593,6 +1996,11 @@ function SuperChatConversations({
1593
1996
  }
1594
1997
  function SuperChatInbox({
1595
1998
  conversations,
1999
+ view,
2000
+ defaultView,
2001
+ onViewChange,
2002
+ mediaFeedProps,
2003
+ mediaLabels,
1596
2004
  activeConversationId,
1597
2005
  defaultActiveConversationId,
1598
2006
  currentParticipantId,
@@ -1654,6 +2062,11 @@ function SuperChatInbox({
1654
2062
  SuperChat,
1655
2063
  {
1656
2064
  conversation: active,
2065
+ view,
2066
+ defaultView,
2067
+ onViewChange,
2068
+ mediaFeedProps,
2069
+ mediaLabels,
1657
2070
  currentParticipantId,
1658
2071
  renderPlugins,
1659
2072
  renderTextContent,
@@ -1689,6 +2102,6 @@ function SuperChatInbox({
1689
2102
  );
1690
2103
  }
1691
2104
 
1692
- export { SuperChat, SuperChatConversations, SuperChatInbox, createMarkdownRenderer };
2105
+ export { SuperChat, SuperChatConversations, SuperChatInbox, createMarkdownRenderer, getConversationMediaItems };
1693
2106
  //# sourceMappingURL=index.js.map
1694
2107
  //# sourceMappingURL=index.js.map