@mieweb/ui 0.6.1 → 0.7.0-dev.178

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 (450) hide show
  1. package/README.md +90 -53
  2. package/dist/CsvBlock-2A5VEDD3.cjs +15 -0
  3. package/dist/CsvBlock-2A5VEDD3.cjs.map +1 -0
  4. package/dist/CsvBlock-D6PWAJ5X.js +6 -0
  5. package/dist/CsvBlock-D6PWAJ5X.js.map +1 -0
  6. package/dist/HtmlPreviewBlock-PEHTJ6C3.js +6 -0
  7. package/dist/HtmlPreviewBlock-PEHTJ6C3.js.map +1 -0
  8. package/dist/HtmlPreviewBlock-SYXCV5RH.cjs +15 -0
  9. package/dist/HtmlPreviewBlock-SYXCV5RH.cjs.map +1 -0
  10. package/dist/MedicationEditor-Bp4NLy7y.d.cts +352 -0
  11. package/dist/MedicationEditor-Bp4NLy7y.d.ts +352 -0
  12. package/dist/MermaidBlock-7NK3AVK2.js +6 -0
  13. package/dist/MermaidBlock-7NK3AVK2.js.map +1 -0
  14. package/dist/MermaidBlock-AFXNP5NK.cjs +15 -0
  15. package/dist/MermaidBlock-AFXNP5NK.cjs.map +1 -0
  16. package/dist/SurveyBlock-6KRNKFH5.cjs +15 -0
  17. package/dist/SurveyBlock-6KRNKFH5.cjs.map +1 -0
  18. package/dist/SurveyBlock-NNDGXGG4.js +6 -0
  19. package/dist/SurveyBlock-NNDGXGG4.js.map +1 -0
  20. package/dist/ag-grid.cjs +6 -6
  21. package/dist/ag-grid.cjs.map +1 -1
  22. package/dist/ag-grid.js +2 -2
  23. package/dist/ag-grid.js.map +1 -1
  24. package/dist/brands/index.cjs +17 -17
  25. package/dist/brands/index.js +4 -4
  26. package/dist/chunk-372IIHUA.cjs +2017 -0
  27. package/dist/chunk-372IIHUA.cjs.map +1 -0
  28. package/dist/{chunk-2DS3RJ2D.js → chunk-3TERETXH.js} +112 -3
  29. package/dist/chunk-3TERETXH.js.map +1 -0
  30. package/dist/chunk-44CK4CT2.cjs +336 -0
  31. package/dist/chunk-44CK4CT2.cjs.map +1 -0
  32. package/dist/{chunk-FSBFQBNE.cjs → chunk-4GXECTPS.cjs} +2 -2
  33. package/dist/{chunk-FSBFQBNE.cjs.map → chunk-4GXECTPS.cjs.map} +1 -1
  34. package/dist/chunk-4LVPQ44A.js +228 -0
  35. package/dist/chunk-4LVPQ44A.js.map +1 -0
  36. package/dist/{chunk-6555OYRU.js → chunk-5BQE6BEL.js} +2 -2
  37. package/dist/{chunk-6555OYRU.js.map → chunk-5BQE6BEL.js.map} +1 -1
  38. package/dist/chunk-62ZOA6PX.js +31 -0
  39. package/dist/chunk-62ZOA6PX.js.map +1 -0
  40. package/dist/chunk-63KVQHGQ.cjs +1802 -0
  41. package/dist/chunk-63KVQHGQ.cjs.map +1 -0
  42. package/dist/chunk-6AHYYWVB.js +78 -0
  43. package/dist/chunk-6AHYYWVB.js.map +1 -0
  44. package/dist/chunk-6I7IDZ4A.js +51 -0
  45. package/dist/chunk-6I7IDZ4A.js.map +1 -0
  46. package/dist/chunk-6ZYE6JUK.cjs +80 -0
  47. package/dist/chunk-6ZYE6JUK.cjs.map +1 -0
  48. package/dist/chunk-7QXG5BBB.cjs +164 -0
  49. package/dist/chunk-7QXG5BBB.cjs.map +1 -0
  50. package/dist/chunk-7WMSUXOQ.js +182 -0
  51. package/dist/chunk-7WMSUXOQ.js.map +1 -0
  52. package/dist/chunk-7XUN3OQT.js +3 -0
  53. package/dist/{chunk-V2DF2GUE.js.map → chunk-7XUN3OQT.js.map} +1 -1
  54. package/dist/chunk-7ZVTLTJF.js +109 -0
  55. package/dist/chunk-7ZVTLTJF.js.map +1 -0
  56. package/dist/chunk-AES2BKEW.cjs +229 -0
  57. package/dist/chunk-AES2BKEW.cjs.map +1 -0
  58. package/dist/chunk-AFKKJEV5.cjs +72 -0
  59. package/dist/chunk-AFKKJEV5.cjs.map +1 -0
  60. package/dist/chunk-AT732HC6.cjs +4 -0
  61. package/dist/{chunk-74K3RRU7.cjs.map → chunk-AT732HC6.cjs.map} +1 -1
  62. package/dist/chunk-BB4WQ4LV.cjs +137 -0
  63. package/dist/chunk-BB4WQ4LV.cjs.map +1 -0
  64. package/dist/chunk-BIT27PPD.js +49 -0
  65. package/dist/chunk-BIT27PPD.js.map +1 -0
  66. package/dist/chunk-BLPCYP4D.cjs +537 -0
  67. package/dist/chunk-BLPCYP4D.cjs.map +1 -0
  68. package/dist/chunk-BT3ZQJGT.cjs +130 -0
  69. package/dist/chunk-BT3ZQJGT.cjs.map +1 -0
  70. package/dist/chunk-BX6BTDTR.js +34 -0
  71. package/dist/chunk-BX6BTDTR.js.map +1 -0
  72. package/dist/chunk-C2544GKZ.js +313 -0
  73. package/dist/chunk-C2544GKZ.js.map +1 -0
  74. package/dist/chunk-C7RVKV25.cjs +25 -0
  75. package/dist/chunk-C7RVKV25.cjs.map +1 -0
  76. package/dist/chunk-CKD554XR.cjs +100 -0
  77. package/dist/chunk-CKD554XR.cjs.map +1 -0
  78. package/dist/chunk-CVC4NWFA.cjs +154 -0
  79. package/dist/chunk-CVC4NWFA.cjs.map +1 -0
  80. package/dist/{chunk-K3IVCUPP.js → chunk-CYMZ2QS5.js} +2 -2
  81. package/dist/{chunk-K3IVCUPP.js.map → chunk-CYMZ2QS5.js.map} +1 -1
  82. package/dist/{chunk-FRT6RQND.cjs → chunk-DAPZPT5N.cjs} +92 -56
  83. package/dist/chunk-DAPZPT5N.cjs.map +1 -0
  84. package/dist/chunk-DHKYGVP7.js +3 -0
  85. package/dist/{chunk-LEMY57MI.js.map → chunk-DHKYGVP7.js.map} +1 -1
  86. package/dist/chunk-DLNJLCNO.cjs +101 -0
  87. package/dist/chunk-DLNJLCNO.cjs.map +1 -0
  88. package/dist/chunk-DUPR6FEL.js +43 -0
  89. package/dist/chunk-DUPR6FEL.js.map +1 -0
  90. package/dist/{chunk-4FALCEJI.cjs → chunk-EL2RSQTJ.cjs} +2 -2
  91. package/dist/{chunk-4FALCEJI.cjs.map → chunk-EL2RSQTJ.cjs.map} +1 -1
  92. package/dist/chunk-ERLPVXOV.js +22 -0
  93. package/dist/chunk-ERLPVXOV.js.map +1 -0
  94. package/dist/chunk-FIWKHLWY.js +197 -0
  95. package/dist/chunk-FIWKHLWY.js.map +1 -0
  96. package/dist/chunk-FJH7P5WG.js +513 -0
  97. package/dist/chunk-FJH7P5WG.js.map +1 -0
  98. package/dist/chunk-FSGEDDF2.cjs +33 -0
  99. package/dist/chunk-FSGEDDF2.cjs.map +1 -0
  100. package/dist/chunk-GLXTVCHN.cjs +4 -0
  101. package/dist/{chunk-4ZU53GNR.cjs.map → chunk-GLXTVCHN.cjs.map} +1 -1
  102. package/dist/chunk-HRS6W74P.js +1568 -0
  103. package/dist/chunk-HRS6W74P.js.map +1 -0
  104. package/dist/chunk-I2W24RHW.js +196 -0
  105. package/dist/chunk-I2W24RHW.js.map +1 -0
  106. package/dist/chunk-I6CY5C6A.js +12 -0
  107. package/dist/chunk-I6CY5C6A.js.map +1 -0
  108. package/dist/chunk-IQ4KQJAO.js +3 -0
  109. package/dist/chunk-IQ4KQJAO.js.map +1 -0
  110. package/dist/chunk-IWDQPSJN.cjs +1452 -0
  111. package/dist/chunk-IWDQPSJN.cjs.map +1 -0
  112. package/dist/chunk-J7KWQJOB.js +14 -0
  113. package/dist/chunk-J7KWQJOB.js.map +1 -0
  114. package/dist/{chunk-R25H4N4Z.js → chunk-J7Z7467B.js} +92 -56
  115. package/dist/chunk-J7Z7467B.js.map +1 -0
  116. package/dist/{chunk-NINI4WVS.cjs → chunk-JC6Y3LGF.cjs} +297 -84
  117. package/dist/chunk-JC6Y3LGF.cjs.map +1 -0
  118. package/dist/chunk-JCNPVK74.cjs +347 -0
  119. package/dist/chunk-JCNPVK74.cjs.map +1 -0
  120. package/dist/chunk-JFLC7SHM.cjs +35 -0
  121. package/dist/chunk-JFLC7SHM.cjs.map +1 -0
  122. package/dist/chunk-JHYFHEHS.js +1967 -0
  123. package/dist/chunk-JHYFHEHS.js.map +1 -0
  124. package/dist/{chunk-IBZXDX4L.cjs → chunk-JQEY53SH.cjs} +112 -3
  125. package/dist/chunk-JQEY53SH.cjs.map +1 -0
  126. package/dist/chunk-JTBQNOSL.cjs +1605 -0
  127. package/dist/chunk-JTBQNOSL.cjs.map +1 -0
  128. package/dist/chunk-JYZW2PZS.cjs +166 -0
  129. package/dist/chunk-JYZW2PZS.cjs.map +1 -0
  130. package/dist/chunk-KBEKQMVY.cjs +198 -0
  131. package/dist/chunk-KBEKQMVY.cjs.map +1 -0
  132. package/dist/chunk-KJ5BSGEO.cjs +258 -0
  133. package/dist/chunk-KJ5BSGEO.cjs.map +1 -0
  134. package/dist/{chunk-DNPRRYPQ.js → chunk-KL2S36FM.js} +2 -2
  135. package/dist/chunk-KL2S36FM.js.map +1 -0
  136. package/dist/chunk-LIH3IZYK.js +689 -0
  137. package/dist/chunk-LIH3IZYK.js.map +1 -0
  138. package/dist/chunk-MAMY5HTT.cjs +1177 -0
  139. package/dist/chunk-MAMY5HTT.cjs.map +1 -0
  140. package/dist/{chunk-WFS6R2F5.js → chunk-MKWGKASO.js} +114 -101
  141. package/dist/chunk-MKWGKASO.js.map +1 -0
  142. package/dist/{chunk-CV4CVGLO.cjs → chunk-MZPF2QGM.cjs} +95 -74
  143. package/dist/chunk-MZPF2QGM.cjs.map +1 -0
  144. package/dist/chunk-NQME7MCK.js +1416 -0
  145. package/dist/chunk-NQME7MCK.js.map +1 -0
  146. package/dist/chunk-NTYGCBCL.js +543 -0
  147. package/dist/chunk-NTYGCBCL.js.map +1 -0
  148. package/dist/chunk-OF7NTZ2I.js +3 -0
  149. package/dist/chunk-OF7NTZ2I.js.map +1 -0
  150. package/dist/chunk-OXYFTCRW.cjs +57 -0
  151. package/dist/chunk-OXYFTCRW.cjs.map +1 -0
  152. package/dist/chunk-QA6ZDHFP.js +117 -0
  153. package/dist/chunk-QA6ZDHFP.js.map +1 -0
  154. package/dist/chunk-RHNPILZQ.cjs +4 -0
  155. package/dist/chunk-RHNPILZQ.cjs.map +1 -0
  156. package/dist/chunk-RHYIFIT5.js +98 -0
  157. package/dist/chunk-RHYIFIT5.js.map +1 -0
  158. package/dist/chunk-RI56YPED.cjs +201 -0
  159. package/dist/chunk-RI56YPED.cjs.map +1 -0
  160. package/dist/chunk-RISZWWEQ.js +3 -0
  161. package/dist/chunk-RISZWWEQ.js.map +1 -0
  162. package/dist/chunk-S6Z3KDEM.js +140 -0
  163. package/dist/chunk-S6Z3KDEM.js.map +1 -0
  164. package/dist/chunk-S7JQ3FV5.cjs +16 -0
  165. package/dist/chunk-S7JQ3FV5.cjs.map +1 -0
  166. package/dist/{chunk-OXGUG57G.cjs → chunk-SNEQXSC5.cjs} +2 -2
  167. package/dist/{chunk-OXGUG57G.cjs.map → chunk-SNEQXSC5.cjs.map} +1 -1
  168. package/dist/chunk-SQHMGT4W.js +164 -0
  169. package/dist/chunk-SQHMGT4W.js.map +1 -0
  170. package/dist/{chunk-JHPFOG2N.cjs → chunk-ST2RE5UB.cjs} +30 -18
  171. package/dist/chunk-ST2RE5UB.cjs.map +1 -0
  172. package/dist/{chunk-QVJBUWJQ.js → chunk-STPK44AU.js} +46 -12
  173. package/dist/chunk-STPK44AU.js.map +1 -0
  174. package/dist/chunk-T3C4RNJ4.js +106 -0
  175. package/dist/chunk-T3C4RNJ4.js.map +1 -0
  176. package/dist/chunk-T3RWXOCM.js +148 -0
  177. package/dist/chunk-T3RWXOCM.js.map +1 -0
  178. package/dist/{chunk-DCER2QQB.js → chunk-T42BCIUA.js} +2 -2
  179. package/dist/{chunk-DCER2QQB.js.map → chunk-T42BCIUA.js.map} +1 -1
  180. package/dist/{chunk-OYKS2JBB.cjs → chunk-TN33E2VN.cjs} +2 -2
  181. package/dist/chunk-TN33E2VN.cjs.map +1 -0
  182. package/dist/{chunk-K7IGBNZA.cjs → chunk-TR2OJKQ4.cjs} +46 -12
  183. package/dist/chunk-TR2OJKQ4.cjs.map +1 -0
  184. package/dist/chunk-UFYXU7KV.js +135 -0
  185. package/dist/chunk-UFYXU7KV.js.map +1 -0
  186. package/dist/chunk-UM6NA7HL.js +1145 -0
  187. package/dist/chunk-UM6NA7HL.js.map +1 -0
  188. package/dist/chunk-UO3KEUYK.cjs +220 -0
  189. package/dist/chunk-UO3KEUYK.cjs.map +1 -0
  190. package/dist/chunk-UOOH356R.cjs +66 -0
  191. package/dist/chunk-UOOH356R.cjs.map +1 -0
  192. package/dist/{chunk-4ZU53GNR.cjs → chunk-UTYUT5YY.cjs} +62 -2
  193. package/dist/chunk-UTYUT5YY.cjs.map +1 -0
  194. package/dist/chunk-UVSODK6V.cjs +53 -0
  195. package/dist/chunk-UVSODK6V.cjs.map +1 -0
  196. package/dist/chunk-V25Z5GR6.cjs +184 -0
  197. package/dist/chunk-V25Z5GR6.cjs.map +1 -0
  198. package/dist/chunk-VBWRH4UW.cjs +4 -0
  199. package/dist/chunk-VBWRH4UW.cjs.map +1 -0
  200. package/dist/chunk-VJOVJTFP.cjs +370 -0
  201. package/dist/chunk-VJOVJTFP.cjs.map +1 -0
  202. package/dist/{chunk-7BARESXI.cjs → chunk-VPNURIAY.cjs} +114 -101
  203. package/dist/chunk-VPNURIAY.cjs.map +1 -0
  204. package/dist/{chunk-I56VBDSC.js → chunk-XDFDVF2O.js} +30 -18
  205. package/dist/chunk-XDFDVF2O.js.map +1 -0
  206. package/dist/chunk-XL7TTKHP.js +327 -0
  207. package/dist/chunk-XL7TTKHP.js.map +1 -0
  208. package/dist/chunk-Y2S6QMKU.js +78 -0
  209. package/dist/chunk-Y2S6QMKU.js.map +1 -0
  210. package/dist/chunk-Y4ESBDQ5.cjs +552 -0
  211. package/dist/chunk-Y4ESBDQ5.cjs.map +1 -0
  212. package/dist/chunk-Y5KEFV5O.js +192 -0
  213. package/dist/chunk-Y5KEFV5O.js.map +1 -0
  214. package/dist/chunk-YBLIDESO.js +365 -0
  215. package/dist/chunk-YBLIDESO.js.map +1 -0
  216. package/dist/chunk-YVLP3ATI.js +1776 -0
  217. package/dist/chunk-YVLP3ATI.js.map +1 -0
  218. package/dist/chunk-YVPC65ZJ.cjs +134 -0
  219. package/dist/chunk-YVPC65ZJ.cjs.map +1 -0
  220. package/dist/{chunk-MPOWJVV4.js → chunk-YZT62IMX.js} +95 -74
  221. package/dist/chunk-YZT62IMX.js.map +1 -0
  222. package/dist/chunk-ZAIEQWRA.js +207 -0
  223. package/dist/chunk-ZAIEQWRA.js.map +1 -0
  224. package/dist/chunk-ZDEYV373.cjs +139 -0
  225. package/dist/chunk-ZDEYV373.cjs.map +1 -0
  226. package/dist/{chunk-Q7NBJFEB.js → chunk-ZGSC2CB2.js} +2 -2
  227. package/dist/{chunk-Q7NBJFEB.js.map → chunk-ZGSC2CB2.js.map} +1 -1
  228. package/dist/{chunk-3M4P2KMG.cjs → chunk-ZHBANUBI.cjs} +2 -2
  229. package/dist/{chunk-3M4P2KMG.cjs.map → chunk-ZHBANUBI.cjs.map} +1 -1
  230. package/dist/components/AlertDialog/index.cjs +18 -0
  231. package/dist/components/AlertDialog/index.cjs.map +1 -0
  232. package/dist/components/AlertDialog/index.d.cts +56 -0
  233. package/dist/components/AlertDialog/index.d.ts +56 -0
  234. package/dist/components/AlertDialog/index.js +9 -0
  235. package/dist/components/AlertDialog/index.js.map +1 -0
  236. package/dist/components/AudioRecorder/index.d.cts +1 -1
  237. package/dist/components/AudioRecorder/index.d.ts +1 -1
  238. package/dist/components/Autocomplete/index.cjs +16 -0
  239. package/dist/components/Autocomplete/index.cjs.map +1 -0
  240. package/dist/components/Autocomplete/index.d.cts +77 -0
  241. package/dist/components/Autocomplete/index.d.ts +77 -0
  242. package/dist/components/Autocomplete/index.js +7 -0
  243. package/dist/components/Autocomplete/index.js.map +1 -0
  244. package/dist/components/Badge/index.cjs +4 -3
  245. package/dist/components/Badge/index.js +2 -1
  246. package/dist/components/Card/index.cjs +16 -15
  247. package/dist/components/Card/index.js +2 -1
  248. package/dist/components/Collapsible/index.cjs +21 -0
  249. package/dist/components/Collapsible/index.cjs.map +1 -0
  250. package/dist/components/Collapsible/index.d.cts +33 -0
  251. package/dist/components/Collapsible/index.d.ts +33 -0
  252. package/dist/components/Collapsible/index.js +4 -0
  253. package/dist/components/Collapsible/index.js.map +1 -0
  254. package/dist/components/CountryCodeDropdown/index.cjs +6 -5
  255. package/dist/components/CountryCodeDropdown/index.js +3 -2
  256. package/dist/components/DateInput/index.cjs +2 -2
  257. package/dist/components/DateInput/index.d.cts +8 -2
  258. package/dist/components/DateInput/index.d.ts +8 -2
  259. package/dist/components/DateInput/index.js +1 -1
  260. package/dist/components/Dropdown/index.cjs +9 -8
  261. package/dist/components/Dropdown/index.d.cts +2 -1
  262. package/dist/components/Dropdown/index.d.ts +2 -1
  263. package/dist/components/Dropdown/index.js +3 -2
  264. package/dist/components/FloatingWindow/index.cjs +18 -0
  265. package/dist/components/FloatingWindow/index.cjs.map +1 -0
  266. package/dist/components/FloatingWindow/index.d.cts +64 -0
  267. package/dist/components/FloatingWindow/index.d.ts +64 -0
  268. package/dist/components/FloatingWindow/index.js +5 -0
  269. package/dist/components/FloatingWindow/index.js.map +1 -0
  270. package/dist/components/Label/index.cjs +17 -0
  271. package/dist/components/Label/index.cjs.map +1 -0
  272. package/dist/components/Label/index.d.cts +23 -0
  273. package/dist/components/Label/index.d.ts +23 -0
  274. package/dist/components/Label/index.js +4 -0
  275. package/dist/components/Label/index.js.map +1 -0
  276. package/dist/components/Markdown/index.cjs +51 -0
  277. package/dist/components/Markdown/index.cjs.map +1 -0
  278. package/dist/components/Markdown/index.css +331 -0
  279. package/dist/components/Markdown/index.css.map +1 -0
  280. package/dist/components/Markdown/index.d.cts +82 -0
  281. package/dist/components/Markdown/index.d.ts +82 -0
  282. package/dist/components/Markdown/index.js +10 -0
  283. package/dist/components/Markdown/index.js.map +1 -0
  284. package/dist/components/Markdown/styles.css +354 -0
  285. package/dist/components/MediaEditor/index.cjs +44 -0
  286. package/dist/components/MediaEditor/index.cjs.map +1 -0
  287. package/dist/components/MediaEditor/index.d.cts +151 -0
  288. package/dist/components/MediaEditor/index.d.ts +151 -0
  289. package/dist/components/MediaEditor/index.js +19 -0
  290. package/dist/components/MediaEditor/index.js.map +1 -0
  291. package/dist/components/MediaPlayer/index.cjs +24 -0
  292. package/dist/components/MediaPlayer/index.cjs.map +1 -0
  293. package/dist/components/MediaPlayer/index.d.cts +71 -0
  294. package/dist/components/MediaPlayer/index.d.ts +71 -0
  295. package/dist/components/MediaPlayer/index.js +7 -0
  296. package/dist/components/MediaPlayer/index.js.map +1 -0
  297. package/dist/components/RecordButton/index.cjs +4 -4
  298. package/dist/components/RecordButton/index.js +1 -1
  299. package/dist/components/RichTextEditor/index.cjs +33 -0
  300. package/dist/components/RichTextEditor/index.cjs.map +1 -0
  301. package/dist/components/RichTextEditor/index.d.cts +62 -0
  302. package/dist/components/RichTextEditor/index.d.ts +62 -0
  303. package/dist/components/RichTextEditor/index.js +12 -0
  304. package/dist/components/RichTextEditor/index.js.map +1 -0
  305. package/dist/components/ScrollArea/index.cjs +17 -0
  306. package/dist/components/ScrollArea/index.cjs.map +1 -0
  307. package/dist/components/ScrollArea/index.d.cts +22 -0
  308. package/dist/components/ScrollArea/index.d.ts +22 -0
  309. package/dist/components/ScrollArea/index.js +4 -0
  310. package/dist/components/ScrollArea/index.js.map +1 -0
  311. package/dist/components/Select/index.cjs +5 -3
  312. package/dist/components/Select/index.js +3 -1
  313. package/dist/components/Separator/index.cjs +17 -0
  314. package/dist/components/Separator/index.cjs.map +1 -0
  315. package/dist/components/Separator/index.d.cts +27 -0
  316. package/dist/components/Separator/index.d.ts +27 -0
  317. package/dist/components/Separator/index.js +4 -0
  318. package/dist/components/Separator/index.js.map +1 -0
  319. package/dist/components/Sheet/index.cjs +48 -0
  320. package/dist/components/Sheet/index.cjs.map +1 -0
  321. package/dist/components/Sheet/index.d.cts +62 -0
  322. package/dist/components/Sheet/index.d.ts +62 -0
  323. package/dist/components/Sheet/index.js +7 -0
  324. package/dist/components/Sheet/index.js.map +1 -0
  325. package/dist/components/SuperChat/index.cjs +1373 -0
  326. package/dist/components/SuperChat/index.cjs.map +1 -0
  327. package/dist/components/SuperChat/index.d.cts +189 -0
  328. package/dist/components/SuperChat/index.d.ts +189 -0
  329. package/dist/components/SuperChat/index.js +1336 -0
  330. package/dist/components/SuperChat/index.js.map +1 -0
  331. package/dist/components/SuperChat/plugins/index.cjs +1292 -0
  332. package/dist/components/SuperChat/plugins/index.cjs.map +1 -0
  333. package/dist/components/SuperChat/plugins/index.d.cts +233 -0
  334. package/dist/components/SuperChat/plugins/index.d.ts +233 -0
  335. package/dist/components/SuperChat/plugins/index.js +1252 -0
  336. package/dist/components/SuperChat/plugins/index.js.map +1 -0
  337. package/dist/components/Table/index.cjs +9 -9
  338. package/dist/components/Table/index.d.cts +4 -0
  339. package/dist/components/Table/index.d.ts +4 -0
  340. package/dist/components/Table/index.js +1 -1
  341. package/dist/components/ThemeProvider/index.cjs +7 -7
  342. package/dist/components/ThemeProvider/index.js +1 -1
  343. package/dist/components/Toggle/index.cjs +17 -0
  344. package/dist/components/Toggle/index.cjs.map +1 -0
  345. package/dist/components/Toggle/index.d.cts +28 -0
  346. package/dist/components/Toggle/index.d.ts +28 -0
  347. package/dist/components/Toggle/index.js +4 -0
  348. package/dist/components/Toggle/index.js.map +1 -0
  349. package/dist/components/TranscriptView/index.cjs +21 -0
  350. package/dist/components/TranscriptView/index.cjs.map +1 -0
  351. package/dist/components/TranscriptView/index.d.cts +55 -0
  352. package/dist/components/TranscriptView/index.d.ts +55 -0
  353. package/dist/components/TranscriptView/index.js +4 -0
  354. package/dist/components/TranscriptView/index.js.map +1 -0
  355. package/dist/datavis.cjs +268 -227
  356. package/dist/datavis.cjs.map +1 -1
  357. package/dist/datavis.d.cts +83 -9
  358. package/dist/datavis.d.ts +83 -9
  359. package/dist/datavis.js +235 -229
  360. package/dist/datavis.js.map +1 -1
  361. package/dist/esheet.cjs +184 -0
  362. package/dist/esheet.cjs.map +1 -1
  363. package/dist/esheet.d.cts +117 -0
  364. package/dist/esheet.d.ts +117 -0
  365. package/dist/esheet.js +163 -0
  366. package/dist/esheet.js.map +1 -1
  367. package/dist/hey-buddy-CLUVAY2X.cjs +1133 -0
  368. package/dist/hey-buddy-CLUVAY2X.cjs.map +1 -0
  369. package/dist/hey-buddy-NMSWZ4TN.js +1131 -0
  370. package/dist/hey-buddy-NMSWZ4TN.js.map +1 -0
  371. package/dist/hooks/index.cjs +76 -16
  372. package/dist/hooks/index.d.cts +151 -2
  373. package/dist/hooks/index.d.ts +151 -2
  374. package/dist/hooks/index.js +6 -2
  375. package/dist/html-MdxqSzjD.d.cts +13 -0
  376. package/dist/html-MdxqSzjD.d.ts +13 -0
  377. package/dist/index.cjs +10394 -6565
  378. package/dist/index.cjs.map +1 -1
  379. package/dist/index.css +331 -0
  380. package/dist/index.css.map +1 -0
  381. package/dist/index.d.cts +2020 -249
  382. package/dist/index.d.ts +2020 -249
  383. package/dist/index.js +9223 -5969
  384. package/dist/index.js.map +1 -1
  385. package/dist/kerebron.cjs +119 -0
  386. package/dist/kerebron.cjs.map +1 -0
  387. package/dist/kerebron.css +11 -0
  388. package/dist/kerebron.d.cts +23 -0
  389. package/dist/kerebron.d.ts +23 -0
  390. package/dist/kerebron.js +116 -0
  391. package/dist/kerebron.js.map +1 -0
  392. package/dist/nitroTableGrid-3J2GY6CK.cjs +47 -0
  393. package/dist/nitroTableGrid-3J2GY6CK.cjs.map +1 -0
  394. package/dist/nitroTableGrid-SIMT7635.js +25 -0
  395. package/dist/nitroTableGrid-SIMT7635.js.map +1 -0
  396. package/dist/orderRows-BUJYgSc7.d.cts +221 -0
  397. package/dist/orderRows-BUJYgSc7.d.ts +221 -0
  398. package/dist/speaker-verify-5GTWAN5Y.cjs +357 -0
  399. package/dist/speaker-verify-5GTWAN5Y.cjs.map +1 -0
  400. package/dist/speaker-verify-R67P433H.js +355 -0
  401. package/dist/speaker-verify-R67P433H.js.map +1 -0
  402. package/dist/styles/init.css +5 -0
  403. package/dist/styles.css +1 -1
  404. package/dist/tailwind-preset.cjs +4 -4
  405. package/dist/tailwind-preset.js +1 -1
  406. package/dist/transcript-oaWqY3yr.d.cts +81 -0
  407. package/dist/transcript-oaWqY3yr.d.ts +81 -0
  408. package/dist/types-BYnLjEFg.d.cts +248 -0
  409. package/dist/types-BYnLjEFg.d.ts +248 -0
  410. package/dist/types-CBh8Zlje.d.cts +240 -0
  411. package/dist/types-CyCwYBlr.d.ts +240 -0
  412. package/dist/useAnchoredPosition-nXdSFKHf.d.cts +65 -0
  413. package/dist/useAnchoredPosition-nXdSFKHf.d.ts +65 -0
  414. package/dist/useTranscriptEdits-BUylQFg0.d.cts +168 -0
  415. package/dist/useTranscriptEdits-CWYnjbGP.d.ts +168 -0
  416. package/dist/utils/index.cjs +27 -18
  417. package/dist/utils/index.d.cts +1 -0
  418. package/dist/utils/index.d.ts +1 -0
  419. package/dist/utils/index.js +3 -2
  420. package/package.json +180 -55
  421. package/dist/chunk-2DS3RJ2D.js.map +0 -1
  422. package/dist/chunk-74K3RRU7.cjs +0 -4
  423. package/dist/chunk-7BARESXI.cjs.map +0 -1
  424. package/dist/chunk-CV4CVGLO.cjs.map +0 -1
  425. package/dist/chunk-DNPRRYPQ.js.map +0 -1
  426. package/dist/chunk-FRT6RQND.cjs.map +0 -1
  427. package/dist/chunk-HYEJLKXI.js +0 -476
  428. package/dist/chunk-HYEJLKXI.js.map +0 -1
  429. package/dist/chunk-I56VBDSC.js.map +0 -1
  430. package/dist/chunk-IBZXDX4L.cjs.map +0 -1
  431. package/dist/chunk-IKMR2ADM.cjs +0 -25
  432. package/dist/chunk-IKMR2ADM.cjs.map +0 -1
  433. package/dist/chunk-JHPFOG2N.cjs.map +0 -1
  434. package/dist/chunk-K7IGBNZA.cjs.map +0 -1
  435. package/dist/chunk-LEMY57MI.js +0 -3
  436. package/dist/chunk-MPOWJVV4.js.map +0 -1
  437. package/dist/chunk-NINI4WVS.cjs.map +0 -1
  438. package/dist/chunk-OKBR6PX4.js +0 -23
  439. package/dist/chunk-OKBR6PX4.js.map +0 -1
  440. package/dist/chunk-OYKS2JBB.cjs.map +0 -1
  441. package/dist/chunk-QVJBUWJQ.js.map +0 -1
  442. package/dist/chunk-R25H4N4Z.js.map +0 -1
  443. package/dist/chunk-V2DF2GUE.js +0 -3
  444. package/dist/chunk-WFS6R2F5.js.map +0 -1
  445. package/dist/ozwell.cjs +0 -385
  446. package/dist/ozwell.cjs.map +0 -1
  447. package/dist/ozwell.d.cts +0 -15
  448. package/dist/ozwell.d.ts +0 -15
  449. package/dist/ozwell.js +0 -360
  450. package/dist/ozwell.js.map +0 -1
@@ -0,0 +1,1416 @@
1
+ import { AudioPlayer } from './chunk-KAKH2UZA.js';
2
+ import { cn } from './chunk-F3SOEIN2.js';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import * as React from 'react';
5
+ import { cva } from 'class-variance-authority';
6
+
7
+ var sizeClasses = {
8
+ sm: "h-4 w-4",
9
+ md: "h-5 w-5",
10
+ lg: "h-7 w-7"
11
+ };
12
+ function SparklesIcon({ className, size = "md" }) {
13
+ return /* @__PURE__ */ jsxs(
14
+ "svg",
15
+ {
16
+ "aria-hidden": "true",
17
+ className: cn(sizeClasses[size], className),
18
+ viewBox: "0 0 24 24",
19
+ fill: "currentColor",
20
+ children: [
21
+ /* @__PURE__ */ jsx("path", { d: "M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z" }),
22
+ /* @__PURE__ */ jsx(
23
+ "path",
24
+ {
25
+ d: "M20 3v4",
26
+ stroke: "currentColor",
27
+ strokeWidth: "2",
28
+ strokeLinecap: "round"
29
+ }
30
+ ),
31
+ /* @__PURE__ */ jsx(
32
+ "path",
33
+ {
34
+ d: "M22 5h-4",
35
+ stroke: "currentColor",
36
+ strokeWidth: "2",
37
+ strokeLinecap: "round"
38
+ }
39
+ )
40
+ ]
41
+ }
42
+ );
43
+ }
44
+ function AILogoIcon({ className, size = "md" }) {
45
+ return /* @__PURE__ */ jsxs(
46
+ "svg",
47
+ {
48
+ "aria-hidden": "true",
49
+ className: cn(sizeClasses[size], className),
50
+ viewBox: "0 0 24 24",
51
+ fill: "none",
52
+ children: [
53
+ /* @__PURE__ */ jsx(
54
+ "path",
55
+ {
56
+ d: "M12 2L2 7L12 12L22 7L12 2Z",
57
+ stroke: "currentColor",
58
+ strokeWidth: "1.5",
59
+ strokeLinecap: "round",
60
+ strokeLinejoin: "round",
61
+ fill: "currentColor",
62
+ fillOpacity: "0.2"
63
+ }
64
+ ),
65
+ /* @__PURE__ */ jsx(
66
+ "path",
67
+ {
68
+ d: "M2 17L12 22L22 17",
69
+ stroke: "currentColor",
70
+ strokeWidth: "1.5",
71
+ strokeLinecap: "round",
72
+ strokeLinejoin: "round"
73
+ }
74
+ ),
75
+ /* @__PURE__ */ jsx(
76
+ "path",
77
+ {
78
+ d: "M2 12L12 17L22 12",
79
+ stroke: "currentColor",
80
+ strokeWidth: "1.5",
81
+ strokeLinecap: "round",
82
+ strokeLinejoin: "round"
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ );
88
+ }
89
+ function CloseIcon({ className }) {
90
+ return /* @__PURE__ */ jsx(
91
+ "svg",
92
+ {
93
+ "aria-hidden": "true",
94
+ className: cn("h-5 w-5", className),
95
+ fill: "none",
96
+ viewBox: "0 0 24 24",
97
+ stroke: "currentColor",
98
+ strokeWidth: "2",
99
+ children: /* @__PURE__ */ jsx(
100
+ "path",
101
+ {
102
+ strokeLinecap: "round",
103
+ strokeLinejoin: "round",
104
+ d: "M6 18L18 6M6 6l12 12"
105
+ }
106
+ )
107
+ }
108
+ );
109
+ }
110
+ function RefreshIcon({ className }) {
111
+ return /* @__PURE__ */ jsx(
112
+ "svg",
113
+ {
114
+ "aria-hidden": "true",
115
+ className: cn("h-5 w-5", className),
116
+ fill: "none",
117
+ viewBox: "0 0 24 24",
118
+ stroke: "currentColor",
119
+ strokeWidth: "1.5",
120
+ children: /* @__PURE__ */ jsx(
121
+ "path",
122
+ {
123
+ strokeLinecap: "round",
124
+ strokeLinejoin: "round",
125
+ d: "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"
126
+ }
127
+ )
128
+ }
129
+ );
130
+ }
131
+ var chevronRotation = {
132
+ up: "-rotate-180",
133
+ down: "",
134
+ left: "rotate-90",
135
+ right: "-rotate-90"
136
+ };
137
+ function ChevronIcon({
138
+ className,
139
+ direction = "down"
140
+ }) {
141
+ return /* @__PURE__ */ jsx(
142
+ "svg",
143
+ {
144
+ "aria-hidden": "true",
145
+ className: cn("h-4 w-4", chevronRotation[direction], className),
146
+ fill: "none",
147
+ viewBox: "0 0 24 24",
148
+ stroke: "currentColor",
149
+ strokeWidth: "2",
150
+ children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19 9l-7 7-7-7" })
151
+ }
152
+ );
153
+ }
154
+ function SendIcon({ className }) {
155
+ return /* @__PURE__ */ jsx(
156
+ "svg",
157
+ {
158
+ "aria-hidden": "true",
159
+ className: cn("h-5 w-5", className),
160
+ fill: "none",
161
+ viewBox: "0 0 24 24",
162
+ stroke: "currentColor",
163
+ children: /* @__PURE__ */ jsx(
164
+ "path",
165
+ {
166
+ strokeLinecap: "round",
167
+ strokeLinejoin: "round",
168
+ strokeWidth: 2,
169
+ d: "M12 19l9 2-9-18-9 18 9-2zm0 0v-8"
170
+ }
171
+ )
172
+ }
173
+ );
174
+ }
175
+ function SpinnerIcon({ className }) {
176
+ return /* @__PURE__ */ jsxs(
177
+ "svg",
178
+ {
179
+ "aria-hidden": "true",
180
+ className: cn("h-5 w-5 animate-spin", className),
181
+ fill: "none",
182
+ viewBox: "0 0 24 24",
183
+ children: [
184
+ /* @__PURE__ */ jsx(
185
+ "circle",
186
+ {
187
+ className: "opacity-25",
188
+ cx: "12",
189
+ cy: "12",
190
+ r: "10",
191
+ stroke: "currentColor",
192
+ strokeWidth: "4"
193
+ }
194
+ ),
195
+ /* @__PURE__ */ jsx(
196
+ "path",
197
+ {
198
+ className: "opacity-75",
199
+ fill: "currentColor",
200
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
201
+ }
202
+ )
203
+ ]
204
+ }
205
+ );
206
+ }
207
+ var statusIconVariants = cva(
208
+ "flex h-5 w-5 items-center justify-center rounded-full",
209
+ {
210
+ variants: {
211
+ status: {
212
+ pending: "bg-neutral-200 dark:bg-neutral-700",
213
+ running: "bg-primary-100 dark:bg-primary-900/50",
214
+ success: "bg-green-100 dark:bg-green-900/50",
215
+ error: "bg-red-100 dark:bg-red-900/50",
216
+ cancelled: "bg-neutral-200 dark:bg-neutral-700"
217
+ }
218
+ },
219
+ defaultVariants: {
220
+ status: "pending"
221
+ }
222
+ }
223
+ );
224
+ function ToolStatusIcon({ status, className }) {
225
+ return /* @__PURE__ */ jsxs(
226
+ "span",
227
+ {
228
+ "data-slot": "ai-tool-status-icon",
229
+ className: cn(statusIconVariants({ status }), className),
230
+ children: [
231
+ status === "pending" && /* @__PURE__ */ jsx(
232
+ "svg",
233
+ {
234
+ "aria-hidden": "true",
235
+ className: "h-3 w-3 text-neutral-500",
236
+ fill: "currentColor",
237
+ viewBox: "0 0 20 20",
238
+ children: /* @__PURE__ */ jsx("circle", { cx: "10", cy: "10", r: "3" })
239
+ }
240
+ ),
241
+ status === "running" && /* @__PURE__ */ jsxs(
242
+ "svg",
243
+ {
244
+ "aria-hidden": "true",
245
+ className: "text-primary-800 dark:text-primary-400 h-3 w-3 animate-spin",
246
+ fill: "none",
247
+ viewBox: "0 0 24 24",
248
+ children: [
249
+ /* @__PURE__ */ jsx(
250
+ "circle",
251
+ {
252
+ className: "opacity-25",
253
+ cx: "12",
254
+ cy: "12",
255
+ r: "10",
256
+ stroke: "currentColor",
257
+ strokeWidth: "4"
258
+ }
259
+ ),
260
+ /* @__PURE__ */ jsx(
261
+ "path",
262
+ {
263
+ className: "opacity-75",
264
+ fill: "currentColor",
265
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
266
+ }
267
+ )
268
+ ]
269
+ }
270
+ ),
271
+ status === "success" && /* @__PURE__ */ jsx(
272
+ "svg",
273
+ {
274
+ "aria-hidden": "true",
275
+ className: "h-3 w-3 text-green-600 dark:text-green-400",
276
+ fill: "none",
277
+ viewBox: "0 0 24 24",
278
+ stroke: "currentColor",
279
+ strokeWidth: "3",
280
+ children: /* @__PURE__ */ jsx(
281
+ "path",
282
+ {
283
+ strokeLinecap: "round",
284
+ strokeLinejoin: "round",
285
+ d: "M5 13l4 4L19 7"
286
+ }
287
+ )
288
+ }
289
+ ),
290
+ status === "error" && /* @__PURE__ */ jsx(
291
+ "svg",
292
+ {
293
+ "aria-hidden": "true",
294
+ className: "h-3 w-3 text-red-600 dark:text-red-400",
295
+ fill: "none",
296
+ viewBox: "0 0 24 24",
297
+ stroke: "currentColor",
298
+ strokeWidth: "3",
299
+ children: /* @__PURE__ */ jsx(
300
+ "path",
301
+ {
302
+ strokeLinecap: "round",
303
+ strokeLinejoin: "round",
304
+ d: "M6 18L18 6M6 6l12 12"
305
+ }
306
+ )
307
+ }
308
+ ),
309
+ status === "cancelled" && /* @__PURE__ */ jsx(
310
+ "svg",
311
+ {
312
+ "aria-hidden": "true",
313
+ className: "h-3 w-3 text-neutral-500",
314
+ fill: "none",
315
+ viewBox: "0 0 24 24",
316
+ stroke: "currentColor",
317
+ strokeWidth: "3",
318
+ children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M18 12H6" })
319
+ }
320
+ )
321
+ ]
322
+ }
323
+ );
324
+ }
325
+ var TOOL_ICONS = {
326
+ // Patient tools
327
+ create_patient: /* @__PURE__ */ jsx(
328
+ "svg",
329
+ {
330
+ "aria-hidden": "true",
331
+ className: "h-4 w-4",
332
+ fill: "none",
333
+ viewBox: "0 0 24 24",
334
+ stroke: "currentColor",
335
+ strokeWidth: "1.5",
336
+ children: /* @__PURE__ */ jsx(
337
+ "path",
338
+ {
339
+ strokeLinecap: "round",
340
+ strokeLinejoin: "round",
341
+ d: "M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zM3 19.235v-.11a6.375 6.375 0 0112.75 0v.109A12.318 12.318 0 019.374 21c-2.331 0-4.512-.645-6.374-1.766z"
342
+ }
343
+ )
344
+ }
345
+ ),
346
+ get_patient: /* @__PURE__ */ jsx(
347
+ "svg",
348
+ {
349
+ "aria-hidden": "true",
350
+ className: "h-4 w-4",
351
+ fill: "none",
352
+ viewBox: "0 0 24 24",
353
+ stroke: "currentColor",
354
+ strokeWidth: "1.5",
355
+ children: /* @__PURE__ */ jsx(
356
+ "path",
357
+ {
358
+ strokeLinecap: "round",
359
+ strokeLinejoin: "round",
360
+ d: "M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"
361
+ }
362
+ )
363
+ }
364
+ ),
365
+ search_patients: /* @__PURE__ */ jsx(
366
+ "svg",
367
+ {
368
+ "aria-hidden": "true",
369
+ className: "h-4 w-4",
370
+ fill: "none",
371
+ viewBox: "0 0 24 24",
372
+ stroke: "currentColor",
373
+ strokeWidth: "1.5",
374
+ children: /* @__PURE__ */ jsx(
375
+ "path",
376
+ {
377
+ strokeLinecap: "round",
378
+ strokeLinejoin: "round",
379
+ d: "M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
380
+ }
381
+ )
382
+ }
383
+ ),
384
+ // Appointment tools
385
+ schedule_appointment: /* @__PURE__ */ jsx(
386
+ "svg",
387
+ {
388
+ "aria-hidden": "true",
389
+ className: "h-4 w-4",
390
+ fill: "none",
391
+ viewBox: "0 0 24 24",
392
+ stroke: "currentColor",
393
+ strokeWidth: "1.5",
394
+ children: /* @__PURE__ */ jsx(
395
+ "path",
396
+ {
397
+ strokeLinecap: "round",
398
+ strokeLinejoin: "round",
399
+ d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5m-9-6h.008v.008H12v-.008zM12 15h.008v.008H12V15zm0 2.25h.008v.008H12v-.008zM9.75 15h.008v.008H9.75V15zm0 2.25h.008v.008H9.75v-.008zM7.5 15h.008v.008H7.5V15zm0 2.25h.008v.008H7.5v-.008zm6.75-4.5h.008v.008h-.008v-.008zm0 2.25h.008v.008h-.008V15zm0 2.25h.008v.008h-.008v-.008zm2.25-4.5h.008v.008H16.5v-.008zm0 2.25h.008v.008H16.5V15z"
400
+ }
401
+ )
402
+ }
403
+ ),
404
+ // Document tools
405
+ create_document: /* @__PURE__ */ jsx(
406
+ "svg",
407
+ {
408
+ "aria-hidden": "true",
409
+ className: "h-4 w-4",
410
+ fill: "none",
411
+ viewBox: "0 0 24 24",
412
+ stroke: "currentColor",
413
+ strokeWidth: "1.5",
414
+ children: /* @__PURE__ */ jsx(
415
+ "path",
416
+ {
417
+ strokeLinecap: "round",
418
+ strokeLinejoin: "round",
419
+ d: "M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m3.75 9v6m3-3H9m1.5-12H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"
420
+ }
421
+ )
422
+ }
423
+ ),
424
+ // Provider tools
425
+ search_providers: /* @__PURE__ */ jsxs(
426
+ "svg",
427
+ {
428
+ "aria-hidden": "true",
429
+ className: "h-4 w-4",
430
+ fill: "none",
431
+ viewBox: "0 0 24 24",
432
+ stroke: "currentColor",
433
+ strokeWidth: "1.5",
434
+ children: [
435
+ /* @__PURE__ */ jsx(
436
+ "path",
437
+ {
438
+ strokeLinecap: "round",
439
+ strokeLinejoin: "round",
440
+ d: "M15 10.5a3 3 0 11-6 0 3 3 0 016 0z"
441
+ }
442
+ ),
443
+ /* @__PURE__ */ jsx(
444
+ "path",
445
+ {
446
+ strokeLinecap: "round",
447
+ strokeLinejoin: "round",
448
+ d: "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z"
449
+ }
450
+ )
451
+ ]
452
+ }
453
+ ),
454
+ // Default tool icon
455
+ default: /* @__PURE__ */ jsx(
456
+ "svg",
457
+ {
458
+ "aria-hidden": "true",
459
+ className: "h-4 w-4",
460
+ fill: "none",
461
+ viewBox: "0 0 24 24",
462
+ stroke: "currentColor",
463
+ strokeWidth: "1.5",
464
+ children: /* @__PURE__ */ jsx(
465
+ "path",
466
+ {
467
+ strokeLinecap: "round",
468
+ strokeLinejoin: "round",
469
+ d: "M11.42 15.17L17.25 21A2.652 2.652 0 0021 17.25l-5.877-5.877M11.42 15.17l2.496-3.03c.317-.384.74-.626 1.208-.766M11.42 15.17l-4.655 5.653a2.548 2.548 0 11-3.586-3.586l6.837-5.63m5.108-.233c.55-.164 1.163-.188 1.743-.14a4.5 4.5 0 004.486-6.336l-3.276 3.277a3.004 3.004 0 01-2.25-2.25l3.276-3.276a4.5 4.5 0 00-6.336 4.486c.091 1.076-.071 2.264-.904 2.95l-.102.085m-1.745 1.437L5.909 7.5H4.5L2.25 3.75l1.5-1.5L7.5 4.5v1.409l4.26 4.26m-1.745 1.437l1.745-1.437m6.615 8.206L15.75 15.75M4.867 19.125h.008v.008h-.008v-.008z"
470
+ }
471
+ )
472
+ }
473
+ )
474
+ };
475
+ function getToolIcon(toolName) {
476
+ return TOOL_ICONS[toolName] || TOOL_ICONS.default;
477
+ }
478
+ function ResourceLink({ link, onClick, className }) {
479
+ const handleClick = (e) => {
480
+ if (onClick) {
481
+ e.preventDefault();
482
+ onClick(link);
483
+ }
484
+ };
485
+ const linkTypeIcons = {
486
+ patient: /* @__PURE__ */ jsx(
487
+ "svg",
488
+ {
489
+ "aria-hidden": "true",
490
+ className: "h-4 w-4",
491
+ fill: "none",
492
+ viewBox: "0 0 24 24",
493
+ stroke: "currentColor",
494
+ strokeWidth: "1.5",
495
+ children: /* @__PURE__ */ jsx(
496
+ "path",
497
+ {
498
+ strokeLinecap: "round",
499
+ strokeLinejoin: "round",
500
+ d: "M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"
501
+ }
502
+ )
503
+ }
504
+ ),
505
+ document: /* @__PURE__ */ jsx(
506
+ "svg",
507
+ {
508
+ "aria-hidden": "true",
509
+ className: "h-4 w-4",
510
+ fill: "none",
511
+ viewBox: "0 0 24 24",
512
+ stroke: "currentColor",
513
+ strokeWidth: "1.5",
514
+ children: /* @__PURE__ */ jsx(
515
+ "path",
516
+ {
517
+ strokeLinecap: "round",
518
+ strokeLinejoin: "round",
519
+ d: "M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"
520
+ }
521
+ )
522
+ }
523
+ ),
524
+ appointment: /* @__PURE__ */ jsx(
525
+ "svg",
526
+ {
527
+ "aria-hidden": "true",
528
+ className: "h-4 w-4",
529
+ fill: "none",
530
+ viewBox: "0 0 24 24",
531
+ stroke: "currentColor",
532
+ strokeWidth: "1.5",
533
+ children: /* @__PURE__ */ jsx(
534
+ "path",
535
+ {
536
+ strokeLinecap: "round",
537
+ strokeLinejoin: "round",
538
+ d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5"
539
+ }
540
+ )
541
+ }
542
+ ),
543
+ order: /* @__PURE__ */ jsx(
544
+ "svg",
545
+ {
546
+ "aria-hidden": "true",
547
+ className: "h-4 w-4",
548
+ fill: "none",
549
+ viewBox: "0 0 24 24",
550
+ stroke: "currentColor",
551
+ strokeWidth: "1.5",
552
+ children: /* @__PURE__ */ jsx(
553
+ "path",
554
+ {
555
+ strokeLinecap: "round",
556
+ strokeLinejoin: "round",
557
+ d: "M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25z"
558
+ }
559
+ )
560
+ }
561
+ ),
562
+ provider: /* @__PURE__ */ jsxs(
563
+ "svg",
564
+ {
565
+ "aria-hidden": "true",
566
+ className: "h-4 w-4",
567
+ fill: "none",
568
+ viewBox: "0 0 24 24",
569
+ stroke: "currentColor",
570
+ strokeWidth: "1.5",
571
+ children: [
572
+ /* @__PURE__ */ jsx(
573
+ "path",
574
+ {
575
+ strokeLinecap: "round",
576
+ strokeLinejoin: "round",
577
+ d: "M15 10.5a3 3 0 11-6 0 3 3 0 016 0z"
578
+ }
579
+ ),
580
+ /* @__PURE__ */ jsx(
581
+ "path",
582
+ {
583
+ strokeLinecap: "round",
584
+ strokeLinejoin: "round",
585
+ d: "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z"
586
+ }
587
+ )
588
+ ]
589
+ }
590
+ ),
591
+ external: /* @__PURE__ */ jsx(
592
+ "svg",
593
+ {
594
+ "aria-hidden": "true",
595
+ className: "h-4 w-4",
596
+ fill: "none",
597
+ viewBox: "0 0 24 24",
598
+ stroke: "currentColor",
599
+ strokeWidth: "1.5",
600
+ children: /* @__PURE__ */ jsx(
601
+ "path",
602
+ {
603
+ strokeLinecap: "round",
604
+ strokeLinejoin: "round",
605
+ d: "M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"
606
+ }
607
+ )
608
+ }
609
+ ),
610
+ internal: /* @__PURE__ */ jsx(
611
+ "svg",
612
+ {
613
+ "aria-hidden": "true",
614
+ className: "h-4 w-4",
615
+ fill: "none",
616
+ viewBox: "0 0 24 24",
617
+ stroke: "currentColor",
618
+ strokeWidth: "1.5",
619
+ children: /* @__PURE__ */ jsx(
620
+ "path",
621
+ {
622
+ strokeLinecap: "round",
623
+ strokeLinejoin: "round",
624
+ d: "M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244"
625
+ }
626
+ )
627
+ }
628
+ )
629
+ };
630
+ const icon = link.type ? linkTypeIcons[link.type] : linkTypeIcons.internal;
631
+ return /* @__PURE__ */ jsxs(
632
+ "a",
633
+ {
634
+ href: link.href,
635
+ onClick: handleClick,
636
+ className: cn(
637
+ "inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5",
638
+ "bg-primary-50 text-primary-900 hover:bg-primary-100",
639
+ "dark:bg-primary-900/30 dark:text-primary-300 dark:hover:bg-primary-900/50",
640
+ "text-sm font-medium transition-colors",
641
+ "focus:ring-primary-500 focus:ring-2 focus:ring-offset-2 focus:outline-none",
642
+ "dark:focus:ring-offset-neutral-900",
643
+ className
644
+ ),
645
+ children: [
646
+ icon,
647
+ /* @__PURE__ */ jsx("span", { children: link.label }),
648
+ link.type === "external" && /* @__PURE__ */ jsx(
649
+ "svg",
650
+ {
651
+ "aria-hidden": "true",
652
+ className: "h-3 w-3 opacity-60",
653
+ fill: "none",
654
+ viewBox: "0 0 24 24",
655
+ stroke: "currentColor",
656
+ strokeWidth: "2",
657
+ children: /* @__PURE__ */ jsx(
658
+ "path",
659
+ {
660
+ strokeLinecap: "round",
661
+ strokeLinejoin: "round",
662
+ d: "M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25"
663
+ }
664
+ )
665
+ }
666
+ )
667
+ ]
668
+ }
669
+ );
670
+ }
671
+ function ToolResultDisplay({
672
+ result,
673
+ onLinkClick,
674
+ showRawData = false,
675
+ className
676
+ }) {
677
+ const [showJson, setShowJson] = React.useState(false);
678
+ if (result.type === "error") {
679
+ return /* @__PURE__ */ jsx(
680
+ "div",
681
+ {
682
+ className: cn(
683
+ "mt-2 rounded-md bg-red-50 p-3 dark:bg-red-900/20",
684
+ className
685
+ ),
686
+ children: /* @__PURE__ */ jsx("p", { className: "text-sm text-red-700 dark:text-red-300", children: typeof result.data === "string" ? String(result.data) : "An error occurred" })
687
+ }
688
+ );
689
+ }
690
+ const hasRawData = result.type === "json" && result.data !== void 0 && result.data !== null;
691
+ return /* @__PURE__ */ jsxs("div", { className: cn("space-y-2", className), children: [
692
+ result.summary && /* @__PURE__ */ jsx("p", { className: "text-sm text-neutral-700 dark:text-neutral-300", children: result.summary }),
693
+ result.link && /* @__PURE__ */ jsx(ResourceLink, { link: result.link, onClick: onLinkClick }),
694
+ result.resources && result.resources.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: result.resources.map((resource) => /* @__PURE__ */ jsx(
695
+ ResourceLink,
696
+ {
697
+ link: {
698
+ href: resource.uri || "#",
699
+ label: resource.name,
700
+ type: resource.type
701
+ },
702
+ onClick: onLinkClick
703
+ },
704
+ resource.id
705
+ )) }),
706
+ hasRawData && showRawData && /* @__PURE__ */ jsxs("div", { className: "mt-2", children: [
707
+ /* @__PURE__ */ jsxs(
708
+ "button",
709
+ {
710
+ onClick: () => setShowJson(!showJson),
711
+ className: "flex items-center gap-1 text-xs text-neutral-600 hover:text-neutral-700 dark:text-neutral-400 dark:hover:text-neutral-300",
712
+ children: [
713
+ /* @__PURE__ */ jsx(
714
+ "svg",
715
+ {
716
+ "aria-hidden": "true",
717
+ className: cn(
718
+ "h-3 w-3 transition-transform",
719
+ showJson && "rotate-90"
720
+ ),
721
+ fill: "none",
722
+ viewBox: "0 0 24 24",
723
+ stroke: "currentColor",
724
+ strokeWidth: "2",
725
+ children: /* @__PURE__ */ jsx(
726
+ "path",
727
+ {
728
+ strokeLinecap: "round",
729
+ strokeLinejoin: "round",
730
+ d: "M9 5l7 7-7 7"
731
+ }
732
+ )
733
+ }
734
+ ),
735
+ showJson ? "Hide" : "Show",
736
+ " raw data"
737
+ ]
738
+ }
739
+ ),
740
+ showJson && /* @__PURE__ */ jsx("pre", { className: "mt-2 max-h-40 overflow-auto rounded-md bg-neutral-100 p-2 text-xs dark:bg-neutral-800", children: JSON.stringify(result.data, null, 2) })
741
+ ] })
742
+ ] });
743
+ }
744
+ var toolCallVariants = cva(
745
+ ["rounded-lg border", "overflow-hidden", "transition-all duration-200"],
746
+ {
747
+ variants: {
748
+ status: {
749
+ pending: "border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-neutral-800/50",
750
+ running: "border-primary-200 bg-primary-50/50 dark:border-primary-800 dark:bg-primary-900/20",
751
+ success: "border-green-200 bg-green-50/50 dark:border-green-800 dark:bg-green-900/20",
752
+ error: "border-red-200 bg-red-50/50 dark:border-red-800 dark:bg-red-900/20",
753
+ cancelled: "border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-neutral-800/50 opacity-60"
754
+ },
755
+ compact: {
756
+ true: "p-2",
757
+ false: "p-3"
758
+ }
759
+ },
760
+ defaultVariants: {
761
+ status: "pending",
762
+ compact: false
763
+ }
764
+ }
765
+ );
766
+ var TOOL_FRIENDLY_NAMES = {
767
+ create_patient: "Creating patient",
768
+ get_patient: "Looking up patient",
769
+ search_patients: "Searching patients",
770
+ update_patient: "Updating patient",
771
+ delete_patient: "Removing patient",
772
+ schedule_appointment: "Scheduling appointment",
773
+ cancel_appointment: "Canceling appointment",
774
+ update_appointment: "Updating appointment",
775
+ create_document: "Creating document",
776
+ upload_document: "Uploading document",
777
+ get_document: "Retrieving document",
778
+ search_documents: "Searching documents",
779
+ create_order: "Creating order",
780
+ send_message: "Sending message",
781
+ search: "Searching",
782
+ search_providers: "Searching for providers"
783
+ };
784
+ function getToolFriendlyName(toolName, status) {
785
+ const baseName = TOOL_FRIENDLY_NAMES[toolName] || toolName.replace(/_/g, " ");
786
+ if (status === "success") {
787
+ if (baseName.startsWith("Creating"))
788
+ return baseName.replace("Creating", "Created");
789
+ if (baseName.startsWith("Scheduling"))
790
+ return baseName.replace("Scheduling", "Scheduled");
791
+ if (baseName.startsWith("Searching for"))
792
+ return baseName.replace("Searching for", "Found");
793
+ if (baseName.startsWith("Searching"))
794
+ return baseName.replace("Searching", "Found");
795
+ if (baseName.startsWith("Looking"))
796
+ return baseName.replace("Looking", "Found");
797
+ if (baseName.startsWith("Updating"))
798
+ return baseName.replace("Updating", "Updated");
799
+ if (baseName.startsWith("Removing"))
800
+ return baseName.replace("Removing", "Removed");
801
+ if (baseName.startsWith("Canceling"))
802
+ return baseName.replace("Canceling", "Canceled");
803
+ if (baseName.startsWith("Retrieving"))
804
+ return baseName.replace("Retrieving", "Retrieved");
805
+ if (baseName.startsWith("Uploading"))
806
+ return baseName.replace("Uploading", "Uploaded");
807
+ if (baseName.startsWith("Sending"))
808
+ return baseName.replace("Sending", "Sent");
809
+ }
810
+ return baseName;
811
+ }
812
+ function getParameterSummary(toolName, params) {
813
+ const paramMap = Object.fromEntries(params.map((p) => [p.name, p.value]));
814
+ if (toolName === "create_patient" && paramMap.firstName && paramMap.lastName) {
815
+ return `${paramMap.firstName} ${paramMap.lastName}`;
816
+ }
817
+ if (toolName.includes("search") && paramMap.query) {
818
+ return `"${paramMap.query}"`;
819
+ }
820
+ if (toolName.includes("appointment") && paramMap.patientName) {
821
+ const date = paramMap.preferredDate || paramMap.date;
822
+ return date ? `${paramMap.patientName} on ${date}` : String(paramMap.patientName);
823
+ }
824
+ if (toolName === "search_providers" && paramMap.zipcode) {
825
+ const service = paramMap.service;
826
+ return service ? `${service} near ${paramMap.zipcode}` : `near ${paramMap.zipcode}`;
827
+ }
828
+ return null;
829
+ }
830
+ function MCPToolCallDisplay({
831
+ toolCall,
832
+ showParameters = true,
833
+ collapsible = true,
834
+ defaultCollapsed = true,
835
+ compact,
836
+ onLinkClick,
837
+ className
838
+ }) {
839
+ const [showDetails, setShowDetails] = React.useState(!defaultCollapsed);
840
+ const formatDuration = (ms) => {
841
+ if (!ms) return null;
842
+ if (ms < 1e3) return `${ms}ms`;
843
+ return `${(ms / 1e3).toFixed(1)}s`;
844
+ };
845
+ const friendlyName = getToolFriendlyName(toolCall.toolName, toolCall.status);
846
+ const paramSummary = getParameterSummary(
847
+ toolCall.toolName,
848
+ toolCall.parameters
849
+ );
850
+ return /* @__PURE__ */ jsx(
851
+ "div",
852
+ {
853
+ "data-slot": "ai-tool-call",
854
+ className: cn(
855
+ toolCallVariants({ status: toolCall.status, compact }),
856
+ className
857
+ ),
858
+ children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
859
+ /* @__PURE__ */ jsx(
860
+ "div",
861
+ {
862
+ "data-slot": "ai-tool-icon",
863
+ className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-white/50 text-neutral-600 dark:bg-neutral-700/50 dark:text-neutral-400",
864
+ children: getToolIcon(toolCall.toolName)
865
+ }
866
+ ),
867
+ /* @__PURE__ */ jsxs("div", { "data-slot": "ai-tool-content", className: "min-w-0 flex-1", children: [
868
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
869
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-neutral-900 dark:text-white", children: friendlyName }),
870
+ /* @__PURE__ */ jsx(ToolStatusIcon, { status: toolCall.status }),
871
+ toolCall.duration && /* @__PURE__ */ jsx("span", { className: "text-xs text-neutral-600 dark:text-neutral-400", children: formatDuration(toolCall.duration) })
872
+ ] }),
873
+ paramSummary && toolCall.status !== "success" && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mt-0.5 text-sm", children: paramSummary }),
874
+ toolCall.result && /* @__PURE__ */ jsx("div", { "data-slot": "ai-tool-result", className: "mt-2", children: /* @__PURE__ */ jsx(
875
+ ToolResultDisplay,
876
+ {
877
+ result: toolCall.result,
878
+ onLinkClick,
879
+ showRawData: showDetails
880
+ }
881
+ ) }),
882
+ toolCall.error && /* @__PURE__ */ jsx("div", { className: "mt-2 rounded-md bg-red-100 p-2 dark:bg-red-900/30", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-red-700 dark:text-red-300", children: toolCall.error }) }),
883
+ collapsible && showParameters && toolCall.parameters.length > 0 && /* @__PURE__ */ jsxs(
884
+ "button",
885
+ {
886
+ onClick: () => setShowDetails(!showDetails),
887
+ className: "mt-2 flex items-center gap-1 text-xs text-neutral-600 hover:text-neutral-700 dark:text-neutral-400 dark:hover:text-neutral-300",
888
+ children: [
889
+ /* @__PURE__ */ jsx(
890
+ "svg",
891
+ {
892
+ "aria-hidden": "true",
893
+ className: cn(
894
+ "h-3 w-3 transition-transform",
895
+ showDetails && "rotate-90"
896
+ ),
897
+ fill: "none",
898
+ viewBox: "0 0 24 24",
899
+ stroke: "currentColor",
900
+ strokeWidth: "2",
901
+ children: /* @__PURE__ */ jsx(
902
+ "path",
903
+ {
904
+ strokeLinecap: "round",
905
+ strokeLinejoin: "round",
906
+ d: "M9 5l7 7-7 7"
907
+ }
908
+ )
909
+ }
910
+ ),
911
+ showDetails ? "Hide" : "Show",
912
+ " details"
913
+ ]
914
+ }
915
+ ),
916
+ showDetails && showParameters && toolCall.parameters.length > 0 && /* @__PURE__ */ jsxs(
917
+ "div",
918
+ {
919
+ "data-slot": "ai-tool-parameters",
920
+ className: "mt-3 rounded-md bg-neutral-100 p-2 dark:bg-neutral-800",
921
+ children: [
922
+ /* @__PURE__ */ jsx("h4", { className: "mb-1.5 text-xs font-medium tracking-wide text-neutral-600 uppercase dark:text-neutral-400", children: "Parameters" }),
923
+ /* @__PURE__ */ jsx("div", { className: "space-y-0.5", children: toolCall.parameters.map((param) => /* @__PURE__ */ jsxs(
924
+ "div",
925
+ {
926
+ className: "flex items-start gap-2 text-xs",
927
+ children: [
928
+ /* @__PURE__ */ jsxs("span", { className: "font-mono text-neutral-600 dark:text-neutral-400", children: [
929
+ param.name,
930
+ ":"
931
+ ] }),
932
+ /* @__PURE__ */ jsx("span", { className: "font-mono text-neutral-700 dark:text-neutral-300", children: typeof param.value === "string" ? param.value : JSON.stringify(param.value) })
933
+ ]
934
+ },
935
+ param.name
936
+ )) })
937
+ ]
938
+ }
939
+ )
940
+ ] })
941
+ ] })
942
+ }
943
+ );
944
+ }
945
+ var avatarVariants = cva(
946
+ "flex shrink-0 items-center justify-center rounded-full",
947
+ {
948
+ variants: {
949
+ role: {
950
+ user: "bg-primary-100 text-primary-900 dark:bg-primary-900/50 dark:text-primary-300",
951
+ assistant: "bg-primary-800 text-white dark:bg-primary-800",
952
+ system: "bg-neutral-200 text-neutral-600 dark:bg-neutral-700 dark:text-neutral-400",
953
+ tool: "bg-amber-100 text-amber-700 dark:bg-amber-900/50 dark:text-amber-300"
954
+ },
955
+ size: {
956
+ sm: "h-6 w-6 text-xs",
957
+ md: "h-8 w-8 text-sm",
958
+ lg: "h-10 w-10 text-base"
959
+ }
960
+ },
961
+ defaultVariants: {
962
+ role: "user",
963
+ size: "md"
964
+ }
965
+ }
966
+ );
967
+ function MessageAvatar({
968
+ role,
969
+ size,
970
+ userName,
971
+ className
972
+ }) {
973
+ const getInitials = (name) => {
974
+ if (!name) return "?";
975
+ return name.split(" ").map((n) => n[0]).join("").substring(0, 2).toUpperCase();
976
+ };
977
+ return /* @__PURE__ */ jsx(
978
+ "div",
979
+ {
980
+ "data-slot": "ai-message-avatar",
981
+ className: cn(avatarVariants({ role, size }), className),
982
+ children: role === "assistant" ? /* @__PURE__ */ jsx(SparklesIcon, { size: "md" }) : role === "user" ? /* @__PURE__ */ jsx("span", { className: "font-medium", children: getInitials(userName) }) : role === "system" ? /* @__PURE__ */ jsx(
983
+ "svg",
984
+ {
985
+ "aria-hidden": "true",
986
+ className: "h-4 w-4",
987
+ fill: "none",
988
+ viewBox: "0 0 24 24",
989
+ stroke: "currentColor",
990
+ strokeWidth: "1.5",
991
+ children: /* @__PURE__ */ jsx(
992
+ "path",
993
+ {
994
+ strokeLinecap: "round",
995
+ strokeLinejoin: "round",
996
+ d: "M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"
997
+ }
998
+ )
999
+ }
1000
+ ) : /* @__PURE__ */ jsx(
1001
+ "svg",
1002
+ {
1003
+ "aria-hidden": "true",
1004
+ className: "h-4 w-4",
1005
+ fill: "none",
1006
+ viewBox: "0 0 24 24",
1007
+ stroke: "currentColor",
1008
+ strokeWidth: "1.5",
1009
+ children: /* @__PURE__ */ jsx(
1010
+ "path",
1011
+ {
1012
+ strokeLinecap: "round",
1013
+ strokeLinejoin: "round",
1014
+ d: "M11.42 15.17L17.25 21A2.652 2.652 0 0021 17.25l-5.877-5.877M11.42 15.17l2.496-3.03c.317-.384.74-.626 1.208-.766M11.42 15.17l-4.655 5.653a2.548 2.548 0 11-3.586-3.586l6.837-5.63m5.108-.233c.55-.164 1.163-.188 1.743-.14a4.5 4.5 0 004.486-6.336l-3.276 3.277a3.004 3.004 0 01-2.25-2.25l3.276-3.276a4.5 4.5 0 00-6.336 4.486c.091 1.076-.071 2.264-.904 2.95l-.102.085m-1.745 1.437L5.909 7.5H4.5L2.25 3.75l1.5-1.5L7.5 4.5v1.409l4.26 4.26m-1.745 1.437l1.745-1.437m6.615 8.206L15.75 15.75M4.867 19.125h.008v.008h-.008v-.008z"
1015
+ }
1016
+ )
1017
+ }
1018
+ )
1019
+ }
1020
+ );
1021
+ }
1022
+ function AITypingIndicator({ className }) {
1023
+ const dotStyle = {
1024
+ width: "6px",
1025
+ height: "6px",
1026
+ minWidth: "6px",
1027
+ minHeight: "6px",
1028
+ flexShrink: 0
1029
+ };
1030
+ return /* @__PURE__ */ jsxs(
1031
+ "div",
1032
+ {
1033
+ "data-slot": "ai-typing-indicator",
1034
+ className: cn("inline-flex items-center justify-center gap-2", className),
1035
+ children: [
1036
+ /* @__PURE__ */ jsx(
1037
+ "span",
1038
+ {
1039
+ className: "rounded-full bg-neutral-500 dark:bg-neutral-400",
1040
+ style: {
1041
+ ...dotStyle,
1042
+ animation: "typing-dot 1.4s infinite ease-in-out both",
1043
+ animationDelay: "-0.32s"
1044
+ }
1045
+ }
1046
+ ),
1047
+ /* @__PURE__ */ jsx(
1048
+ "span",
1049
+ {
1050
+ className: "rounded-full bg-neutral-500 dark:bg-neutral-400",
1051
+ style: {
1052
+ ...dotStyle,
1053
+ animation: "typing-dot 1.4s infinite ease-in-out both",
1054
+ animationDelay: "-0.16s"
1055
+ }
1056
+ }
1057
+ ),
1058
+ /* @__PURE__ */ jsx(
1059
+ "span",
1060
+ {
1061
+ className: "rounded-full bg-neutral-500 dark:bg-neutral-400",
1062
+ style: {
1063
+ ...dotStyle,
1064
+ animation: "typing-dot 1.4s infinite ease-in-out both"
1065
+ }
1066
+ }
1067
+ ),
1068
+ /* @__PURE__ */ jsx("style", { children: `
1069
+ @keyframes typing-dot {
1070
+ 0%, 80%, 100% { opacity: 0.4; }
1071
+ 40% { opacity: 1; }
1072
+ }
1073
+ ` })
1074
+ ]
1075
+ }
1076
+ );
1077
+ }
1078
+ function ContentBlock({
1079
+ content,
1080
+ onLinkClick,
1081
+ messageId,
1082
+ streaming,
1083
+ role,
1084
+ renderTextContent
1085
+ }) {
1086
+ const [isCollapsed, setIsCollapsed] = React.useState(
1087
+ content.collapsed ?? false
1088
+ );
1089
+ if (content.type === "text" && content.text) {
1090
+ if (renderTextContent) {
1091
+ return /* @__PURE__ */ jsx("div", { className: "prose prose-sm dark:prose-invert max-w-none", children: renderTextContent(content.text, { messageId, streaming, role }) });
1092
+ }
1093
+ return /* @__PURE__ */ jsx("div", { className: "prose prose-sm dark:prose-invert max-w-none", children: /* @__PURE__ */ jsx("p", { className: "whitespace-pre-wrap", children: content.text }) });
1094
+ }
1095
+ if (content.type === "tool_use" && content.toolCall) {
1096
+ return /* @__PURE__ */ jsx(
1097
+ MCPToolCallDisplay,
1098
+ {
1099
+ toolCall: content.toolCall,
1100
+ onLinkClick,
1101
+ defaultCollapsed: content.collapsed
1102
+ }
1103
+ );
1104
+ }
1105
+ if (content.type === "thinking" && content.text) {
1106
+ return /* @__PURE__ */ jsxs(
1107
+ "div",
1108
+ {
1109
+ "data-slot": "ai-message-thinking",
1110
+ className: "rounded-lg border border-neutral-200 bg-neutral-50 dark:border-neutral-700 dark:bg-neutral-800/50",
1111
+ children: [
1112
+ /* @__PURE__ */ jsxs(
1113
+ "button",
1114
+ {
1115
+ onClick: () => setIsCollapsed(!isCollapsed),
1116
+ className: "flex w-full items-center justify-between px-3 py-2 text-left",
1117
+ children: [
1118
+ /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground flex items-center gap-2 text-sm", children: [
1119
+ /* @__PURE__ */ jsx(
1120
+ "svg",
1121
+ {
1122
+ "aria-hidden": "true",
1123
+ className: "h-4 w-4",
1124
+ fill: "none",
1125
+ viewBox: "0 0 24 24",
1126
+ stroke: "currentColor",
1127
+ strokeWidth: "1.5",
1128
+ children: /* @__PURE__ */ jsx(
1129
+ "path",
1130
+ {
1131
+ strokeLinecap: "round",
1132
+ strokeLinejoin: "round",
1133
+ d: "M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 00-2.456 2.456zM16.894 20.567L16.5 21.75l-.394-1.183a2.25 2.25 0 00-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 001.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 001.423 1.423l1.183.394-1.183.394a2.25 2.25 0 00-1.423 1.423z"
1134
+ }
1135
+ )
1136
+ }
1137
+ ),
1138
+ "Thinking..."
1139
+ ] }),
1140
+ /* @__PURE__ */ jsx(
1141
+ ChevronIcon,
1142
+ {
1143
+ direction: isCollapsed ? "right" : "down",
1144
+ className: "text-neutral-400"
1145
+ }
1146
+ )
1147
+ ]
1148
+ }
1149
+ ),
1150
+ !isCollapsed && /* @__PURE__ */ jsx("div", { className: "border-t border-neutral-200 px-3 py-2 dark:border-neutral-700", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-neutral-600 italic dark:text-neutral-400", children: content.text }) })
1151
+ ]
1152
+ }
1153
+ );
1154
+ }
1155
+ if (content.type === "code" && content.text) {
1156
+ return /* @__PURE__ */ jsx(
1157
+ "pre",
1158
+ {
1159
+ "data-slot": "ai-message-code",
1160
+ className: "rounded-lg bg-neutral-900 p-3 text-sm dark:bg-neutral-950",
1161
+ children: /* @__PURE__ */ jsx(
1162
+ "code",
1163
+ {
1164
+ className: content.language ? `language-${content.language}` : "",
1165
+ children: content.text
1166
+ }
1167
+ )
1168
+ }
1169
+ );
1170
+ }
1171
+ if (content.type === "audio" && content.audioUrl) {
1172
+ if (/^\s*javascript:/i.test(content.audioUrl)) {
1173
+ return null;
1174
+ }
1175
+ return /* @__PURE__ */ jsx(
1176
+ AudioPlayer,
1177
+ {
1178
+ src: content.audioUrl,
1179
+ title: content.text || "Audio recording",
1180
+ variant: "waveform",
1181
+ showTime: true,
1182
+ showPlaybackRate: true,
1183
+ fallbackDuration: content.duration
1184
+ }
1185
+ );
1186
+ }
1187
+ if (content.type === "video" && content.videoUrl) {
1188
+ if (/^\s*javascript:/i.test(content.videoUrl)) {
1189
+ return null;
1190
+ }
1191
+ return /* @__PURE__ */ jsx(
1192
+ "video",
1193
+ {
1194
+ src: content.videoUrl,
1195
+ controls: true,
1196
+ preload: "metadata",
1197
+ "aria-label": content.text || "Video recording",
1198
+ className: "my-1 max-h-80 w-full rounded-lg bg-black",
1199
+ children: /* @__PURE__ */ jsx("track", { kind: "captions" })
1200
+ }
1201
+ );
1202
+ }
1203
+ if (content.type === "image" && content.imageUrl) {
1204
+ const safeHref = /^\s*javascript:/i.test(content.imageUrl) ? void 0 : content.imageUrl;
1205
+ return /* @__PURE__ */ jsx(
1206
+ "a",
1207
+ {
1208
+ href: safeHref,
1209
+ target: "_blank",
1210
+ rel: "noopener noreferrer",
1211
+ className: "block w-fit transition-transform hover:scale-[1.02]",
1212
+ "aria-label": `View ${content.name || "Uploaded image"}`,
1213
+ children: /* @__PURE__ */ jsx(
1214
+ "img",
1215
+ {
1216
+ src: content.imageUrl,
1217
+ alt: content.name || "Uploaded image",
1218
+ loading: "lazy",
1219
+ className: "my-1 max-h-64 w-auto rounded-lg object-cover"
1220
+ }
1221
+ )
1222
+ }
1223
+ );
1224
+ }
1225
+ if (content.type === "file") {
1226
+ const sizeLabel = typeof content.fileSize === "number" ? formatFileSize(content.fileSize) : void 0;
1227
+ const card = /* @__PURE__ */ jsxs("div", { className: "my-1 flex items-center gap-3 rounded-lg bg-neutral-100 p-3 transition-colors dark:bg-neutral-800", children: [
1228
+ /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-neutral-200 p-2 dark:bg-neutral-700", children: /* @__PURE__ */ jsx(
1229
+ "svg",
1230
+ {
1231
+ "aria-hidden": "true",
1232
+ className: "h-6 w-6",
1233
+ fill: "none",
1234
+ viewBox: "0 0 24 24",
1235
+ stroke: "currentColor",
1236
+ strokeWidth: 2,
1237
+ children: /* @__PURE__ */ jsx(
1238
+ "path",
1239
+ {
1240
+ strokeLinecap: "round",
1241
+ strokeLinejoin: "round",
1242
+ d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
1243
+ }
1244
+ )
1245
+ }
1246
+ ) }),
1247
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
1248
+ /* @__PURE__ */ jsx("p", { className: "truncate text-sm font-medium", children: content.name || "Document" }),
1249
+ sizeLabel && /* @__PURE__ */ jsx("p", { className: "text-xs opacity-70", children: sizeLabel })
1250
+ ] })
1251
+ ] });
1252
+ if (content.fileUrl) {
1253
+ const safeFileHref = /^\s*javascript:/i.test(content.fileUrl) ? void 0 : content.fileUrl;
1254
+ return /* @__PURE__ */ jsx(
1255
+ "a",
1256
+ {
1257
+ href: safeFileHref,
1258
+ target: "_blank",
1259
+ rel: "noopener noreferrer",
1260
+ className: "block w-fit no-underline",
1261
+ children: card
1262
+ }
1263
+ );
1264
+ }
1265
+ return card;
1266
+ }
1267
+ return null;
1268
+ }
1269
+ function formatFileSize(bytes) {
1270
+ if (bytes < 1024) return `${bytes} B`;
1271
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
1272
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
1273
+ }
1274
+ var messageVariants = cva("flex gap-3", {
1275
+ variants: {
1276
+ role: {
1277
+ user: "flex-row-reverse",
1278
+ assistant: "flex-row",
1279
+ system: "flex-row justify-center",
1280
+ tool: "flex-row"
1281
+ }
1282
+ },
1283
+ defaultVariants: {
1284
+ role: "assistant"
1285
+ }
1286
+ });
1287
+ var bubbleVariants = cva("rounded-2xl px-4 py-2.5 w-fit max-w-[85%]", {
1288
+ variants: {
1289
+ variant: {
1290
+ user: "bg-primary-800 text-white dark:bg-primary-800",
1291
+ assistant: "bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-white",
1292
+ system: "bg-neutral-100 text-neutral-600 dark:bg-neutral-800 dark:text-neutral-400 text-center text-sm max-w-[95%]",
1293
+ tool: "bg-transparent p-0 max-w-full w-full"
1294
+ }
1295
+ },
1296
+ defaultVariants: {
1297
+ variant: "assistant"
1298
+ }
1299
+ });
1300
+ var ChatBubble = React.forwardRef(
1301
+ ({ className, variant, hasError, accent, style, children, ...props }, ref) => {
1302
+ return /* @__PURE__ */ jsx(
1303
+ "div",
1304
+ {
1305
+ ref,
1306
+ "data-slot": "chat-bubble",
1307
+ className: cn(
1308
+ bubbleVariants({ variant }),
1309
+ hasError && "border border-red-300 dark:border-red-700",
1310
+ className
1311
+ ),
1312
+ style: accent ? { borderLeft: `3px solid ${accent}`, ...style } : style,
1313
+ ...props,
1314
+ children
1315
+ }
1316
+ );
1317
+ }
1318
+ );
1319
+ ChatBubble.displayName = "ChatBubble";
1320
+ function AIMessageDisplay({
1321
+ message,
1322
+ userName,
1323
+ showAvatar = true,
1324
+ showTimestamp = false,
1325
+ onLinkClick,
1326
+ renderTextContent,
1327
+ className
1328
+ }) {
1329
+ const isStreaming = message.status === "streaming";
1330
+ const hasContent = message.content.length > 0;
1331
+ const formatTime = (timestamp) => {
1332
+ const date = new Date(timestamp);
1333
+ return date.toLocaleTimeString(void 0, {
1334
+ hour: "numeric",
1335
+ minute: "2-digit"
1336
+ });
1337
+ };
1338
+ if (message.role === "tool") {
1339
+ return /* @__PURE__ */ jsxs(
1340
+ "div",
1341
+ {
1342
+ "data-slot": "ai-message",
1343
+ className: cn(messageVariants({ role: message.role }), className),
1344
+ children: [
1345
+ showAvatar && /* @__PURE__ */ jsx(MessageAvatar, { role: message.role }),
1346
+ /* @__PURE__ */ jsx("div", { className: "flex-1 space-y-2", children: message.content.map((content, index) => /* @__PURE__ */ jsx(
1347
+ ContentBlock,
1348
+ {
1349
+ content,
1350
+ onLinkClick,
1351
+ messageId: message.id,
1352
+ streaming: isStreaming,
1353
+ role: message.role,
1354
+ renderTextContent
1355
+ },
1356
+ index
1357
+ )) })
1358
+ ]
1359
+ }
1360
+ );
1361
+ }
1362
+ return /* @__PURE__ */ jsxs(
1363
+ "div",
1364
+ {
1365
+ "data-slot": "ai-message",
1366
+ className: cn(messageVariants({ role: message.role }), className),
1367
+ children: [
1368
+ showAvatar && message.role !== "system" && /* @__PURE__ */ jsx(MessageAvatar, { role: message.role, userName }),
1369
+ /* @__PURE__ */ jsxs(
1370
+ "div",
1371
+ {
1372
+ className: cn(
1373
+ "flex min-w-0 flex-1 flex-col gap-1",
1374
+ message.role === "user" && "items-end"
1375
+ ),
1376
+ children: [
1377
+ /* @__PURE__ */ jsx(
1378
+ ChatBubble,
1379
+ {
1380
+ "data-slot": "ai-message-bubble",
1381
+ variant: message.role,
1382
+ hasError: message.status === "error",
1383
+ children: hasContent ? /* @__PURE__ */ jsx("div", { className: "space-y-3", children: message.content.map((content, index) => /* @__PURE__ */ jsx(
1384
+ ContentBlock,
1385
+ {
1386
+ content,
1387
+ onLinkClick,
1388
+ messageId: message.id,
1389
+ streaming: isStreaming,
1390
+ role: message.role,
1391
+ renderTextContent
1392
+ },
1393
+ index
1394
+ )) }) : isStreaming ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(AITypingIndicator, {}) }) : null
1395
+ }
1396
+ ),
1397
+ showTimestamp && /* @__PURE__ */ jsx(
1398
+ "span",
1399
+ {
1400
+ "data-slot": "ai-message-timestamp",
1401
+ className: "px-2 text-xs text-neutral-500",
1402
+ children: formatTime(message.timestamp)
1403
+ }
1404
+ ),
1405
+ message.status === "error" && /* @__PURE__ */ jsx("span", { className: "px-2 text-xs text-red-500", children: message.role === "user" ? "Failed to send" : "An error occurred" })
1406
+ ]
1407
+ }
1408
+ )
1409
+ ]
1410
+ }
1411
+ );
1412
+ }
1413
+
1414
+ export { AILogoIcon, AIMessageDisplay, AITypingIndicator, ChatBubble, ChevronIcon, CloseIcon, MCPToolCallDisplay, MessageAvatar, RefreshIcon, ResourceLink, SendIcon, SparklesIcon, SpinnerIcon, ToolStatusIcon, getToolIcon };
1415
+ //# sourceMappingURL=chunk-NQME7MCK.js.map
1416
+ //# sourceMappingURL=chunk-NQME7MCK.js.map