@mieweb/ui 0.6.1 → 0.7.0-dev.179
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.
- package/README.md +90 -53
- package/dist/CsvBlock-2A5VEDD3.cjs +15 -0
- package/dist/CsvBlock-2A5VEDD3.cjs.map +1 -0
- package/dist/CsvBlock-D6PWAJ5X.js +6 -0
- package/dist/CsvBlock-D6PWAJ5X.js.map +1 -0
- package/dist/HtmlPreviewBlock-PEHTJ6C3.js +6 -0
- package/dist/HtmlPreviewBlock-PEHTJ6C3.js.map +1 -0
- package/dist/HtmlPreviewBlock-SYXCV5RH.cjs +15 -0
- package/dist/HtmlPreviewBlock-SYXCV5RH.cjs.map +1 -0
- package/dist/MedicationEditor-Bp4NLy7y.d.cts +352 -0
- package/dist/MedicationEditor-Bp4NLy7y.d.ts +352 -0
- package/dist/MermaidBlock-7NK3AVK2.js +6 -0
- package/dist/MermaidBlock-7NK3AVK2.js.map +1 -0
- package/dist/MermaidBlock-AFXNP5NK.cjs +15 -0
- package/dist/MermaidBlock-AFXNP5NK.cjs.map +1 -0
- package/dist/SurveyBlock-6KRNKFH5.cjs +15 -0
- package/dist/SurveyBlock-6KRNKFH5.cjs.map +1 -0
- package/dist/SurveyBlock-NNDGXGG4.js +6 -0
- package/dist/SurveyBlock-NNDGXGG4.js.map +1 -0
- package/dist/ag-grid.cjs +6 -6
- package/dist/ag-grid.cjs.map +1 -1
- package/dist/ag-grid.js +2 -2
- package/dist/ag-grid.js.map +1 -1
- package/dist/brands/index.cjs +17 -17
- package/dist/brands/index.js +4 -4
- package/dist/chunk-372IIHUA.cjs +2017 -0
- package/dist/chunk-372IIHUA.cjs.map +1 -0
- package/dist/{chunk-2DS3RJ2D.js → chunk-3TERETXH.js} +112 -3
- package/dist/chunk-3TERETXH.js.map +1 -0
- package/dist/chunk-44CK4CT2.cjs +336 -0
- package/dist/chunk-44CK4CT2.cjs.map +1 -0
- package/dist/{chunk-FSBFQBNE.cjs → chunk-4GXECTPS.cjs} +2 -2
- package/dist/{chunk-FSBFQBNE.cjs.map → chunk-4GXECTPS.cjs.map} +1 -1
- package/dist/chunk-4LVPQ44A.js +228 -0
- package/dist/chunk-4LVPQ44A.js.map +1 -0
- package/dist/{chunk-6555OYRU.js → chunk-5BQE6BEL.js} +2 -2
- package/dist/{chunk-6555OYRU.js.map → chunk-5BQE6BEL.js.map} +1 -1
- package/dist/chunk-62ZOA6PX.js +31 -0
- package/dist/chunk-62ZOA6PX.js.map +1 -0
- package/dist/chunk-63KVQHGQ.cjs +1802 -0
- package/dist/chunk-63KVQHGQ.cjs.map +1 -0
- package/dist/chunk-6AHYYWVB.js +78 -0
- package/dist/chunk-6AHYYWVB.js.map +1 -0
- package/dist/chunk-6I7IDZ4A.js +51 -0
- package/dist/chunk-6I7IDZ4A.js.map +1 -0
- package/dist/chunk-6ZYE6JUK.cjs +80 -0
- package/dist/chunk-6ZYE6JUK.cjs.map +1 -0
- package/dist/chunk-7QXG5BBB.cjs +164 -0
- package/dist/chunk-7QXG5BBB.cjs.map +1 -0
- package/dist/chunk-7WMSUXOQ.js +182 -0
- package/dist/chunk-7WMSUXOQ.js.map +1 -0
- package/dist/chunk-7XUN3OQT.js +3 -0
- package/dist/{chunk-V2DF2GUE.js.map → chunk-7XUN3OQT.js.map} +1 -1
- package/dist/chunk-7ZVTLTJF.js +109 -0
- package/dist/chunk-7ZVTLTJF.js.map +1 -0
- package/dist/chunk-AES2BKEW.cjs +229 -0
- package/dist/chunk-AES2BKEW.cjs.map +1 -0
- package/dist/chunk-AFKKJEV5.cjs +72 -0
- package/dist/chunk-AFKKJEV5.cjs.map +1 -0
- package/dist/chunk-AT732HC6.cjs +4 -0
- package/dist/{chunk-74K3RRU7.cjs.map → chunk-AT732HC6.cjs.map} +1 -1
- package/dist/chunk-BB4WQ4LV.cjs +137 -0
- package/dist/chunk-BB4WQ4LV.cjs.map +1 -0
- package/dist/chunk-BIT27PPD.js +49 -0
- package/dist/chunk-BIT27PPD.js.map +1 -0
- package/dist/chunk-BLPCYP4D.cjs +537 -0
- package/dist/chunk-BLPCYP4D.cjs.map +1 -0
- package/dist/chunk-BT3ZQJGT.cjs +130 -0
- package/dist/chunk-BT3ZQJGT.cjs.map +1 -0
- package/dist/chunk-BX6BTDTR.js +34 -0
- package/dist/chunk-BX6BTDTR.js.map +1 -0
- package/dist/chunk-C2544GKZ.js +313 -0
- package/dist/chunk-C2544GKZ.js.map +1 -0
- package/dist/chunk-C7RVKV25.cjs +25 -0
- package/dist/chunk-C7RVKV25.cjs.map +1 -0
- package/dist/chunk-CKD554XR.cjs +100 -0
- package/dist/chunk-CKD554XR.cjs.map +1 -0
- package/dist/chunk-CVC4NWFA.cjs +154 -0
- package/dist/chunk-CVC4NWFA.cjs.map +1 -0
- package/dist/{chunk-K3IVCUPP.js → chunk-CYMZ2QS5.js} +2 -2
- package/dist/{chunk-K3IVCUPP.js.map → chunk-CYMZ2QS5.js.map} +1 -1
- package/dist/{chunk-FRT6RQND.cjs → chunk-DAPZPT5N.cjs} +92 -56
- package/dist/chunk-DAPZPT5N.cjs.map +1 -0
- package/dist/chunk-DHKYGVP7.js +3 -0
- package/dist/{chunk-LEMY57MI.js.map → chunk-DHKYGVP7.js.map} +1 -1
- package/dist/chunk-DLNJLCNO.cjs +101 -0
- package/dist/chunk-DLNJLCNO.cjs.map +1 -0
- package/dist/chunk-DUPR6FEL.js +43 -0
- package/dist/chunk-DUPR6FEL.js.map +1 -0
- package/dist/{chunk-4FALCEJI.cjs → chunk-EL2RSQTJ.cjs} +2 -2
- package/dist/{chunk-4FALCEJI.cjs.map → chunk-EL2RSQTJ.cjs.map} +1 -1
- package/dist/chunk-ERLPVXOV.js +22 -0
- package/dist/chunk-ERLPVXOV.js.map +1 -0
- package/dist/chunk-FIWKHLWY.js +197 -0
- package/dist/chunk-FIWKHLWY.js.map +1 -0
- package/dist/chunk-FJH7P5WG.js +513 -0
- package/dist/chunk-FJH7P5WG.js.map +1 -0
- package/dist/chunk-FSGEDDF2.cjs +33 -0
- package/dist/chunk-FSGEDDF2.cjs.map +1 -0
- package/dist/chunk-GLXTVCHN.cjs +4 -0
- package/dist/{chunk-4ZU53GNR.cjs.map → chunk-GLXTVCHN.cjs.map} +1 -1
- package/dist/chunk-HRS6W74P.js +1568 -0
- package/dist/chunk-HRS6W74P.js.map +1 -0
- package/dist/chunk-I2W24RHW.js +196 -0
- package/dist/chunk-I2W24RHW.js.map +1 -0
- package/dist/chunk-I6CY5C6A.js +12 -0
- package/dist/chunk-I6CY5C6A.js.map +1 -0
- package/dist/chunk-IQ4KQJAO.js +3 -0
- package/dist/chunk-IQ4KQJAO.js.map +1 -0
- package/dist/chunk-IWDQPSJN.cjs +1452 -0
- package/dist/chunk-IWDQPSJN.cjs.map +1 -0
- package/dist/chunk-J7KWQJOB.js +14 -0
- package/dist/chunk-J7KWQJOB.js.map +1 -0
- package/dist/{chunk-R25H4N4Z.js → chunk-J7Z7467B.js} +92 -56
- package/dist/chunk-J7Z7467B.js.map +1 -0
- package/dist/{chunk-NINI4WVS.cjs → chunk-JC6Y3LGF.cjs} +297 -84
- package/dist/chunk-JC6Y3LGF.cjs.map +1 -0
- package/dist/chunk-JCNPVK74.cjs +347 -0
- package/dist/chunk-JCNPVK74.cjs.map +1 -0
- package/dist/chunk-JFLC7SHM.cjs +35 -0
- package/dist/chunk-JFLC7SHM.cjs.map +1 -0
- package/dist/chunk-JHYFHEHS.js +1967 -0
- package/dist/chunk-JHYFHEHS.js.map +1 -0
- package/dist/{chunk-IBZXDX4L.cjs → chunk-JQEY53SH.cjs} +112 -3
- package/dist/chunk-JQEY53SH.cjs.map +1 -0
- package/dist/chunk-JTBQNOSL.cjs +1605 -0
- package/dist/chunk-JTBQNOSL.cjs.map +1 -0
- package/dist/chunk-JYZW2PZS.cjs +166 -0
- package/dist/chunk-JYZW2PZS.cjs.map +1 -0
- package/dist/chunk-KBEKQMVY.cjs +198 -0
- package/dist/chunk-KBEKQMVY.cjs.map +1 -0
- package/dist/chunk-KJ5BSGEO.cjs +258 -0
- package/dist/chunk-KJ5BSGEO.cjs.map +1 -0
- package/dist/{chunk-DNPRRYPQ.js → chunk-KL2S36FM.js} +2 -2
- package/dist/chunk-KL2S36FM.js.map +1 -0
- package/dist/chunk-LIH3IZYK.js +689 -0
- package/dist/chunk-LIH3IZYK.js.map +1 -0
- package/dist/chunk-MAMY5HTT.cjs +1177 -0
- package/dist/chunk-MAMY5HTT.cjs.map +1 -0
- package/dist/{chunk-WFS6R2F5.js → chunk-MKWGKASO.js} +114 -101
- package/dist/chunk-MKWGKASO.js.map +1 -0
- package/dist/{chunk-CV4CVGLO.cjs → chunk-MZPF2QGM.cjs} +95 -74
- package/dist/chunk-MZPF2QGM.cjs.map +1 -0
- package/dist/chunk-NQME7MCK.js +1416 -0
- package/dist/chunk-NQME7MCK.js.map +1 -0
- package/dist/chunk-NTYGCBCL.js +543 -0
- package/dist/chunk-NTYGCBCL.js.map +1 -0
- package/dist/chunk-OF7NTZ2I.js +3 -0
- package/dist/chunk-OF7NTZ2I.js.map +1 -0
- package/dist/chunk-OXYFTCRW.cjs +57 -0
- package/dist/chunk-OXYFTCRW.cjs.map +1 -0
- package/dist/chunk-QA6ZDHFP.js +117 -0
- package/dist/chunk-QA6ZDHFP.js.map +1 -0
- package/dist/chunk-RHNPILZQ.cjs +4 -0
- package/dist/chunk-RHNPILZQ.cjs.map +1 -0
- package/dist/chunk-RHYIFIT5.js +98 -0
- package/dist/chunk-RHYIFIT5.js.map +1 -0
- package/dist/chunk-RI56YPED.cjs +201 -0
- package/dist/chunk-RI56YPED.cjs.map +1 -0
- package/dist/chunk-RISZWWEQ.js +3 -0
- package/dist/chunk-RISZWWEQ.js.map +1 -0
- package/dist/chunk-S6Z3KDEM.js +140 -0
- package/dist/chunk-S6Z3KDEM.js.map +1 -0
- package/dist/chunk-S7JQ3FV5.cjs +16 -0
- package/dist/chunk-S7JQ3FV5.cjs.map +1 -0
- package/dist/{chunk-OXGUG57G.cjs → chunk-SNEQXSC5.cjs} +2 -2
- package/dist/{chunk-OXGUG57G.cjs.map → chunk-SNEQXSC5.cjs.map} +1 -1
- package/dist/chunk-SQHMGT4W.js +164 -0
- package/dist/chunk-SQHMGT4W.js.map +1 -0
- package/dist/{chunk-JHPFOG2N.cjs → chunk-ST2RE5UB.cjs} +30 -18
- package/dist/chunk-ST2RE5UB.cjs.map +1 -0
- package/dist/{chunk-QVJBUWJQ.js → chunk-STPK44AU.js} +46 -12
- package/dist/chunk-STPK44AU.js.map +1 -0
- package/dist/chunk-T3C4RNJ4.js +106 -0
- package/dist/chunk-T3C4RNJ4.js.map +1 -0
- package/dist/chunk-T3RWXOCM.js +148 -0
- package/dist/chunk-T3RWXOCM.js.map +1 -0
- package/dist/{chunk-DCER2QQB.js → chunk-T42BCIUA.js} +2 -2
- package/dist/{chunk-DCER2QQB.js.map → chunk-T42BCIUA.js.map} +1 -1
- package/dist/{chunk-OYKS2JBB.cjs → chunk-TN33E2VN.cjs} +2 -2
- package/dist/chunk-TN33E2VN.cjs.map +1 -0
- package/dist/{chunk-K7IGBNZA.cjs → chunk-TR2OJKQ4.cjs} +46 -12
- package/dist/chunk-TR2OJKQ4.cjs.map +1 -0
- package/dist/chunk-UFYXU7KV.js +135 -0
- package/dist/chunk-UFYXU7KV.js.map +1 -0
- package/dist/chunk-UM6NA7HL.js +1145 -0
- package/dist/chunk-UM6NA7HL.js.map +1 -0
- package/dist/chunk-UO3KEUYK.cjs +220 -0
- package/dist/chunk-UO3KEUYK.cjs.map +1 -0
- package/dist/chunk-UOOH356R.cjs +66 -0
- package/dist/chunk-UOOH356R.cjs.map +1 -0
- package/dist/{chunk-4ZU53GNR.cjs → chunk-UTYUT5YY.cjs} +62 -2
- package/dist/chunk-UTYUT5YY.cjs.map +1 -0
- package/dist/chunk-UVSODK6V.cjs +53 -0
- package/dist/chunk-UVSODK6V.cjs.map +1 -0
- package/dist/chunk-V25Z5GR6.cjs +184 -0
- package/dist/chunk-V25Z5GR6.cjs.map +1 -0
- package/dist/chunk-VBWRH4UW.cjs +4 -0
- package/dist/chunk-VBWRH4UW.cjs.map +1 -0
- package/dist/chunk-VJOVJTFP.cjs +370 -0
- package/dist/chunk-VJOVJTFP.cjs.map +1 -0
- package/dist/{chunk-7BARESXI.cjs → chunk-VPNURIAY.cjs} +114 -101
- package/dist/chunk-VPNURIAY.cjs.map +1 -0
- package/dist/{chunk-I56VBDSC.js → chunk-XDFDVF2O.js} +30 -18
- package/dist/chunk-XDFDVF2O.js.map +1 -0
- package/dist/chunk-XL7TTKHP.js +327 -0
- package/dist/chunk-XL7TTKHP.js.map +1 -0
- package/dist/chunk-Y2S6QMKU.js +78 -0
- package/dist/chunk-Y2S6QMKU.js.map +1 -0
- package/dist/chunk-Y4ESBDQ5.cjs +552 -0
- package/dist/chunk-Y4ESBDQ5.cjs.map +1 -0
- package/dist/chunk-Y5KEFV5O.js +192 -0
- package/dist/chunk-Y5KEFV5O.js.map +1 -0
- package/dist/chunk-YBLIDESO.js +365 -0
- package/dist/chunk-YBLIDESO.js.map +1 -0
- package/dist/chunk-YVLP3ATI.js +1776 -0
- package/dist/chunk-YVLP3ATI.js.map +1 -0
- package/dist/chunk-YVPC65ZJ.cjs +134 -0
- package/dist/chunk-YVPC65ZJ.cjs.map +1 -0
- package/dist/{chunk-MPOWJVV4.js → chunk-YZT62IMX.js} +95 -74
- package/dist/chunk-YZT62IMX.js.map +1 -0
- package/dist/chunk-ZAIEQWRA.js +207 -0
- package/dist/chunk-ZAIEQWRA.js.map +1 -0
- package/dist/chunk-ZDEYV373.cjs +139 -0
- package/dist/chunk-ZDEYV373.cjs.map +1 -0
- package/dist/{chunk-Q7NBJFEB.js → chunk-ZGSC2CB2.js} +2 -2
- package/dist/{chunk-Q7NBJFEB.js.map → chunk-ZGSC2CB2.js.map} +1 -1
- package/dist/{chunk-3M4P2KMG.cjs → chunk-ZHBANUBI.cjs} +2 -2
- package/dist/{chunk-3M4P2KMG.cjs.map → chunk-ZHBANUBI.cjs.map} +1 -1
- package/dist/components/AlertDialog/index.cjs +18 -0
- package/dist/components/AlertDialog/index.cjs.map +1 -0
- package/dist/components/AlertDialog/index.d.cts +56 -0
- package/dist/components/AlertDialog/index.d.ts +56 -0
- package/dist/components/AlertDialog/index.js +9 -0
- package/dist/components/AlertDialog/index.js.map +1 -0
- package/dist/components/AudioRecorder/index.d.cts +1 -1
- package/dist/components/AudioRecorder/index.d.ts +1 -1
- package/dist/components/Autocomplete/index.cjs +16 -0
- package/dist/components/Autocomplete/index.cjs.map +1 -0
- package/dist/components/Autocomplete/index.d.cts +77 -0
- package/dist/components/Autocomplete/index.d.ts +77 -0
- package/dist/components/Autocomplete/index.js +7 -0
- package/dist/components/Autocomplete/index.js.map +1 -0
- package/dist/components/Badge/index.cjs +4 -3
- package/dist/components/Badge/index.js +2 -1
- package/dist/components/Card/index.cjs +16 -15
- package/dist/components/Card/index.js +2 -1
- package/dist/components/Collapsible/index.cjs +21 -0
- package/dist/components/Collapsible/index.cjs.map +1 -0
- package/dist/components/Collapsible/index.d.cts +33 -0
- package/dist/components/Collapsible/index.d.ts +33 -0
- package/dist/components/Collapsible/index.js +4 -0
- package/dist/components/Collapsible/index.js.map +1 -0
- package/dist/components/CountryCodeDropdown/index.cjs +6 -5
- package/dist/components/CountryCodeDropdown/index.js +3 -2
- package/dist/components/DateInput/index.cjs +2 -2
- package/dist/components/DateInput/index.d.cts +8 -2
- package/dist/components/DateInput/index.d.ts +8 -2
- package/dist/components/DateInput/index.js +1 -1
- package/dist/components/Dropdown/index.cjs +9 -8
- package/dist/components/Dropdown/index.d.cts +2 -1
- package/dist/components/Dropdown/index.d.ts +2 -1
- package/dist/components/Dropdown/index.js +3 -2
- package/dist/components/FloatingWindow/index.cjs +18 -0
- package/dist/components/FloatingWindow/index.cjs.map +1 -0
- package/dist/components/FloatingWindow/index.d.cts +64 -0
- package/dist/components/FloatingWindow/index.d.ts +64 -0
- package/dist/components/FloatingWindow/index.js +5 -0
- package/dist/components/FloatingWindow/index.js.map +1 -0
- package/dist/components/Label/index.cjs +17 -0
- package/dist/components/Label/index.cjs.map +1 -0
- package/dist/components/Label/index.d.cts +23 -0
- package/dist/components/Label/index.d.ts +23 -0
- package/dist/components/Label/index.js +4 -0
- package/dist/components/Label/index.js.map +1 -0
- package/dist/components/Markdown/index.cjs +51 -0
- package/dist/components/Markdown/index.cjs.map +1 -0
- package/dist/components/Markdown/index.css +331 -0
- package/dist/components/Markdown/index.css.map +1 -0
- package/dist/components/Markdown/index.d.cts +82 -0
- package/dist/components/Markdown/index.d.ts +82 -0
- package/dist/components/Markdown/index.js +10 -0
- package/dist/components/Markdown/index.js.map +1 -0
- package/dist/components/Markdown/styles.css +354 -0
- package/dist/components/MediaEditor/index.cjs +44 -0
- package/dist/components/MediaEditor/index.cjs.map +1 -0
- package/dist/components/MediaEditor/index.d.cts +151 -0
- package/dist/components/MediaEditor/index.d.ts +151 -0
- package/dist/components/MediaEditor/index.js +19 -0
- package/dist/components/MediaEditor/index.js.map +1 -0
- package/dist/components/MediaPlayer/index.cjs +24 -0
- package/dist/components/MediaPlayer/index.cjs.map +1 -0
- package/dist/components/MediaPlayer/index.d.cts +71 -0
- package/dist/components/MediaPlayer/index.d.ts +71 -0
- package/dist/components/MediaPlayer/index.js +7 -0
- package/dist/components/MediaPlayer/index.js.map +1 -0
- package/dist/components/RecordButton/index.cjs +4 -4
- package/dist/components/RecordButton/index.js +1 -1
- package/dist/components/RichTextEditor/index.cjs +33 -0
- package/dist/components/RichTextEditor/index.cjs.map +1 -0
- package/dist/components/RichTextEditor/index.d.cts +62 -0
- package/dist/components/RichTextEditor/index.d.ts +62 -0
- package/dist/components/RichTextEditor/index.js +12 -0
- package/dist/components/RichTextEditor/index.js.map +1 -0
- package/dist/components/ScrollArea/index.cjs +17 -0
- package/dist/components/ScrollArea/index.cjs.map +1 -0
- package/dist/components/ScrollArea/index.d.cts +22 -0
- package/dist/components/ScrollArea/index.d.ts +22 -0
- package/dist/components/ScrollArea/index.js +4 -0
- package/dist/components/ScrollArea/index.js.map +1 -0
- package/dist/components/Select/index.cjs +5 -3
- package/dist/components/Select/index.js +3 -1
- package/dist/components/Separator/index.cjs +17 -0
- package/dist/components/Separator/index.cjs.map +1 -0
- package/dist/components/Separator/index.d.cts +27 -0
- package/dist/components/Separator/index.d.ts +27 -0
- package/dist/components/Separator/index.js +4 -0
- package/dist/components/Separator/index.js.map +1 -0
- package/dist/components/Sheet/index.cjs +48 -0
- package/dist/components/Sheet/index.cjs.map +1 -0
- package/dist/components/Sheet/index.d.cts +62 -0
- package/dist/components/Sheet/index.d.ts +62 -0
- package/dist/components/Sheet/index.js +7 -0
- package/dist/components/Sheet/index.js.map +1 -0
- package/dist/components/SuperChat/index.cjs +1373 -0
- package/dist/components/SuperChat/index.cjs.map +1 -0
- package/dist/components/SuperChat/index.d.cts +189 -0
- package/dist/components/SuperChat/index.d.ts +189 -0
- package/dist/components/SuperChat/index.js +1336 -0
- package/dist/components/SuperChat/index.js.map +1 -0
- package/dist/components/SuperChat/plugins/index.cjs +1292 -0
- package/dist/components/SuperChat/plugins/index.cjs.map +1 -0
- package/dist/components/SuperChat/plugins/index.d.cts +233 -0
- package/dist/components/SuperChat/plugins/index.d.ts +233 -0
- package/dist/components/SuperChat/plugins/index.js +1252 -0
- package/dist/components/SuperChat/plugins/index.js.map +1 -0
- package/dist/components/Table/index.cjs +9 -9
- package/dist/components/Table/index.d.cts +4 -0
- package/dist/components/Table/index.d.ts +4 -0
- package/dist/components/Table/index.js +1 -1
- package/dist/components/ThemeProvider/index.cjs +7 -7
- package/dist/components/ThemeProvider/index.js +1 -1
- package/dist/components/Toggle/index.cjs +17 -0
- package/dist/components/Toggle/index.cjs.map +1 -0
- package/dist/components/Toggle/index.d.cts +28 -0
- package/dist/components/Toggle/index.d.ts +28 -0
- package/dist/components/Toggle/index.js +4 -0
- package/dist/components/Toggle/index.js.map +1 -0
- package/dist/components/TranscriptView/index.cjs +21 -0
- package/dist/components/TranscriptView/index.cjs.map +1 -0
- package/dist/components/TranscriptView/index.d.cts +55 -0
- package/dist/components/TranscriptView/index.d.ts +55 -0
- package/dist/components/TranscriptView/index.js +4 -0
- package/dist/components/TranscriptView/index.js.map +1 -0
- package/dist/datavis.cjs +268 -227
- package/dist/datavis.cjs.map +1 -1
- package/dist/datavis.d.cts +83 -9
- package/dist/datavis.d.ts +83 -9
- package/dist/datavis.js +235 -229
- package/dist/datavis.js.map +1 -1
- package/dist/esheet.cjs +184 -0
- package/dist/esheet.cjs.map +1 -1
- package/dist/esheet.d.cts +117 -0
- package/dist/esheet.d.ts +117 -0
- package/dist/esheet.js +163 -0
- package/dist/esheet.js.map +1 -1
- package/dist/hey-buddy-CLUVAY2X.cjs +1133 -0
- package/dist/hey-buddy-CLUVAY2X.cjs.map +1 -0
- package/dist/hey-buddy-NMSWZ4TN.js +1131 -0
- package/dist/hey-buddy-NMSWZ4TN.js.map +1 -0
- package/dist/hooks/index.cjs +76 -16
- package/dist/hooks/index.d.cts +151 -2
- package/dist/hooks/index.d.ts +151 -2
- package/dist/hooks/index.js +6 -2
- package/dist/html-MdxqSzjD.d.cts +13 -0
- package/dist/html-MdxqSzjD.d.ts +13 -0
- package/dist/index.cjs +10394 -6565
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +331 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +2022 -249
- package/dist/index.d.ts +2022 -249
- package/dist/index.js +9223 -5969
- package/dist/index.js.map +1 -1
- package/dist/kerebron.cjs +119 -0
- package/dist/kerebron.cjs.map +1 -0
- package/dist/kerebron.css +11 -0
- package/dist/kerebron.d.cts +23 -0
- package/dist/kerebron.d.ts +23 -0
- package/dist/kerebron.js +116 -0
- package/dist/kerebron.js.map +1 -0
- package/dist/nitroTableGrid-3J2GY6CK.cjs +47 -0
- package/dist/nitroTableGrid-3J2GY6CK.cjs.map +1 -0
- package/dist/nitroTableGrid-SIMT7635.js +25 -0
- package/dist/nitroTableGrid-SIMT7635.js.map +1 -0
- package/dist/orderRows-BUJYgSc7.d.cts +221 -0
- package/dist/orderRows-BUJYgSc7.d.ts +221 -0
- package/dist/speaker-verify-5GTWAN5Y.cjs +357 -0
- package/dist/speaker-verify-5GTWAN5Y.cjs.map +1 -0
- package/dist/speaker-verify-R67P433H.js +355 -0
- package/dist/speaker-verify-R67P433H.js.map +1 -0
- package/dist/styles/init.css +5 -0
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/dist/transcript-oaWqY3yr.d.cts +81 -0
- package/dist/transcript-oaWqY3yr.d.ts +81 -0
- package/dist/types-BYnLjEFg.d.cts +248 -0
- package/dist/types-BYnLjEFg.d.ts +248 -0
- package/dist/types-CBh8Zlje.d.cts +240 -0
- package/dist/types-CyCwYBlr.d.ts +240 -0
- package/dist/useAnchoredPosition-nXdSFKHf.d.cts +65 -0
- package/dist/useAnchoredPosition-nXdSFKHf.d.ts +65 -0
- package/dist/useTranscriptEdits-BUylQFg0.d.cts +168 -0
- package/dist/useTranscriptEdits-CWYnjbGP.d.ts +168 -0
- package/dist/utils/index.cjs +27 -18
- package/dist/utils/index.d.cts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +3 -2
- package/package.json +180 -55
- package/dist/chunk-2DS3RJ2D.js.map +0 -1
- package/dist/chunk-74K3RRU7.cjs +0 -4
- package/dist/chunk-7BARESXI.cjs.map +0 -1
- package/dist/chunk-CV4CVGLO.cjs.map +0 -1
- package/dist/chunk-DNPRRYPQ.js.map +0 -1
- package/dist/chunk-FRT6RQND.cjs.map +0 -1
- package/dist/chunk-HYEJLKXI.js +0 -476
- package/dist/chunk-HYEJLKXI.js.map +0 -1
- package/dist/chunk-I56VBDSC.js.map +0 -1
- package/dist/chunk-IBZXDX4L.cjs.map +0 -1
- package/dist/chunk-IKMR2ADM.cjs +0 -25
- package/dist/chunk-IKMR2ADM.cjs.map +0 -1
- package/dist/chunk-JHPFOG2N.cjs.map +0 -1
- package/dist/chunk-K7IGBNZA.cjs.map +0 -1
- package/dist/chunk-LEMY57MI.js +0 -3
- package/dist/chunk-MPOWJVV4.js.map +0 -1
- package/dist/chunk-NINI4WVS.cjs.map +0 -1
- package/dist/chunk-OKBR6PX4.js +0 -23
- package/dist/chunk-OKBR6PX4.js.map +0 -1
- package/dist/chunk-OYKS2JBB.cjs.map +0 -1
- package/dist/chunk-QVJBUWJQ.js.map +0 -1
- package/dist/chunk-R25H4N4Z.js.map +0 -1
- package/dist/chunk-V2DF2GUE.js +0 -3
- package/dist/chunk-WFS6R2F5.js.map +0 -1
- package/dist/ozwell.cjs +0 -385
- package/dist/ozwell.cjs.map +0 -1
- package/dist/ozwell.d.cts +0 -15
- package/dist/ozwell.d.ts +0 -15
- package/dist/ozwell.js +0 -360
- package/dist/ozwell.js.map +0 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { A as AIMessageContent, a as AIMessageStatus } from './types-BYnLjEFg.cjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* SuperChat Types
|
|
6
|
+
*
|
|
7
|
+
* A multi-participant chat model that generalizes the AI module's
|
|
8
|
+
* `user`/`assistant` roles and the standalone `chat-component`'s
|
|
9
|
+
* `external`/`internal`/`system` roles into a single **participant** concept,
|
|
10
|
+
* plus the pluggable Markdown render pipeline contracts.
|
|
11
|
+
*
|
|
12
|
+
* See `MAINTAINERS.md` (Mission → Decisions 2 & 3) for the design rationale.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/** What kind of actor a participant is. */
|
|
16
|
+
type ParticipantKind = 'human' | 'agent' | 'system';
|
|
17
|
+
/** Presence/activity status for a participant. */
|
|
18
|
+
type ParticipantStatus = 'online' | 'offline' | 'busy' | 'typing';
|
|
19
|
+
/**
|
|
20
|
+
* A single actor in a conversation. Any mix of multiple agents and multiple
|
|
21
|
+
* humans can participate in one conversation.
|
|
22
|
+
*/
|
|
23
|
+
interface Participant {
|
|
24
|
+
/** Stable unique id, referenced by `SuperChatMessage.participantId`. */
|
|
25
|
+
id: string;
|
|
26
|
+
/** Whether this is a human, an AI agent, or the system. */
|
|
27
|
+
kind: ParticipantKind;
|
|
28
|
+
/** Display name. */
|
|
29
|
+
name: string;
|
|
30
|
+
/** Optional avatar image URL. */
|
|
31
|
+
avatar?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional accent color (any CSS color) used as a visual cue so concurrent /
|
|
34
|
+
* interleaved replies from multiple agents stay legible.
|
|
35
|
+
*/
|
|
36
|
+
color?: string;
|
|
37
|
+
/** Optional sub-label, e.g. "Triage agent" or "Front desk". */
|
|
38
|
+
role?: string;
|
|
39
|
+
/** Optional presence indicator. */
|
|
40
|
+
status?: ParticipantStatus;
|
|
41
|
+
}
|
|
42
|
+
/** Channel a message arrived/was sent on (healthcare-messaging compatible). */
|
|
43
|
+
type SuperChatChannel = 'portal' | 'sms' | 'voicemail' | 'auto' | (string & {});
|
|
44
|
+
/** Reference attachment carried by a `ref` thread item. */
|
|
45
|
+
interface SuperChatRef {
|
|
46
|
+
/** Kind of referenced entity. */
|
|
47
|
+
refType: 'doc' | 'rx' | 'appt' | (string & {});
|
|
48
|
+
/** Id of the referenced entity. */
|
|
49
|
+
refId: string;
|
|
50
|
+
/** Display title for the reference. */
|
|
51
|
+
title: string;
|
|
52
|
+
}
|
|
53
|
+
/** Kind of thread item. */
|
|
54
|
+
type SuperChatItemType = 'message' | 'ref' | 'system';
|
|
55
|
+
/**
|
|
56
|
+
* A single thread item. Preserves the `chat-component` thread-item shape
|
|
57
|
+
* (`senderId`/`sender_name`/`channel`/`time`/`text`) while adding a
|
|
58
|
+
* `participantId` (Decision 2) and optional rich `content` blocks reused from
|
|
59
|
+
* the AI module.
|
|
60
|
+
*/
|
|
61
|
+
interface SuperChatMessage {
|
|
62
|
+
/** Unique identifier. */
|
|
63
|
+
id: string;
|
|
64
|
+
/** Item type. Defaults to `'message'`. */
|
|
65
|
+
type?: SuperChatItemType;
|
|
66
|
+
/** Participant who authored the item. */
|
|
67
|
+
participantId: string;
|
|
68
|
+
/** Plain-text body (rendered through the Markdown pipeline). */
|
|
69
|
+
text?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Optional rich content blocks (text / tool_use / tool_result / thinking /
|
|
72
|
+
* code), reused from the AI module for tool-call visualization etc.
|
|
73
|
+
*/
|
|
74
|
+
content?: AIMessageContent[];
|
|
75
|
+
/** Timestamp; the thread is append-only and ordered by `time`. */
|
|
76
|
+
time: Date | string;
|
|
77
|
+
/**
|
|
78
|
+
* Timestamp of the most recent edit, if the message has been edited. When
|
|
79
|
+
* set, surfaces an "(edited)" indicator next to the message time.
|
|
80
|
+
*/
|
|
81
|
+
editedAt?: Date | string;
|
|
82
|
+
/** Delivery/generation status. */
|
|
83
|
+
status?: AIMessageStatus;
|
|
84
|
+
/** Channel the item belongs to. */
|
|
85
|
+
channel?: SuperChatChannel;
|
|
86
|
+
/** Reference payload when `type === 'ref'`. */
|
|
87
|
+
ref?: SuperChatRef;
|
|
88
|
+
/** Participant ids addressed via `@`-mention. */
|
|
89
|
+
mentions?: string[];
|
|
90
|
+
/** Custom metadata. */
|
|
91
|
+
metadata?: Record<string, unknown>;
|
|
92
|
+
/** @deprecated use `participantId`. */
|
|
93
|
+
senderId?: string;
|
|
94
|
+
/** @deprecated derive from the participant. */
|
|
95
|
+
sender_name?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* A file (typically an image) the local user pasted or attached in the
|
|
99
|
+
* composer, surfaced to the host via the send callback so it can be embedded,
|
|
100
|
+
* uploaded, or otherwise added to the conversation.
|
|
101
|
+
*/
|
|
102
|
+
interface ComposerAttachment {
|
|
103
|
+
/** Stable id for the attachment (unique within a single draft). */
|
|
104
|
+
id: string;
|
|
105
|
+
/** File name, derived from the pasted file or a generated fallback. */
|
|
106
|
+
name: string;
|
|
107
|
+
/** MIME type, e.g. `image/png`. */
|
|
108
|
+
type: string;
|
|
109
|
+
/** Base64 `data:` URL of the file contents. */
|
|
110
|
+
dataUrl: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Categories of files the composer can accept. Developers pick which kinds are
|
|
114
|
+
* allowed via `acceptedFileTypes`; each maps to an `<input accept>` token and a
|
|
115
|
+
* MIME matcher used to filter pastes and file-picker selections.
|
|
116
|
+
* - `image` → `image/*`
|
|
117
|
+
* - `video` → `video/*`
|
|
118
|
+
* - `audio` → `audio/*`
|
|
119
|
+
* - `pdf` → `application/pdf`
|
|
120
|
+
*/
|
|
121
|
+
type AttachmentKind = 'image' | 'video' | 'audio' | 'pdf';
|
|
122
|
+
/** A conversation: participants + an ordered thread. */
|
|
123
|
+
interface SuperChatConversation {
|
|
124
|
+
/** Unique identifier. */
|
|
125
|
+
id: string;
|
|
126
|
+
/** Display title. */
|
|
127
|
+
title: string;
|
|
128
|
+
/** Optional external reference id (e.g. patient/chart id). */
|
|
129
|
+
reference_id?: string;
|
|
130
|
+
/** Whether the conversation is currently open. */
|
|
131
|
+
open?: boolean;
|
|
132
|
+
/** Unread message count. */
|
|
133
|
+
unread?: number;
|
|
134
|
+
/** Timestamp of the last activity (used for sidebar ordering). */
|
|
135
|
+
lastActivity?: Date | string;
|
|
136
|
+
/** Everyone taking part in this conversation. */
|
|
137
|
+
participants: Participant[];
|
|
138
|
+
/** Ordered thread items. */
|
|
139
|
+
thread: SuperChatMessage[];
|
|
140
|
+
}
|
|
141
|
+
/** Builds an href for a reference item (e.g. doc/rx/appt deep link). */
|
|
142
|
+
type SuperChatLinkBuilder = (ref: SuperChatRef) => string | undefined;
|
|
143
|
+
/**
|
|
144
|
+
* A unified remark/rehype plugin entry. Kept dependency-light here (the public
|
|
145
|
+
* type surface stays zero-dep); the composer casts to the concrete
|
|
146
|
+
* `react-markdown` `PluggableList` type.
|
|
147
|
+
*/
|
|
148
|
+
type SuperChatPluggable = unknown;
|
|
149
|
+
type SuperChatPluggableList = SuperChatPluggable[];
|
|
150
|
+
/**
|
|
151
|
+
* A render plugin contributes remark/rehype plugins, custom node components,
|
|
152
|
+
* and/or GenUI widgets to the Markdown pipeline. Plugins are composed into a
|
|
153
|
+
* single `renderTextContent` implementation.
|
|
154
|
+
*/
|
|
155
|
+
interface SuperChatRenderPlugin {
|
|
156
|
+
/** Unique plugin name. */
|
|
157
|
+
name: string;
|
|
158
|
+
/** remark plugins to add (operate on the Markdown AST). */
|
|
159
|
+
remarkPlugins?: SuperChatPluggableList;
|
|
160
|
+
/** rehype plugins to add (operate on the HTML AST). */
|
|
161
|
+
rehypePlugins?: SuperChatPluggableList;
|
|
162
|
+
/** Custom React components keyed by node/tag name. */
|
|
163
|
+
components?: Record<string, React.ComponentType<Record<string, unknown>>>;
|
|
164
|
+
/** Named interactive widgets for fenced ```genui blocks. */
|
|
165
|
+
widgets?: GenUIRegistry;
|
|
166
|
+
/**
|
|
167
|
+
* Optional contribution to the `rehype-sanitize` allow-list schema, merged by
|
|
168
|
+
* the composer so token classNames / KaTeX markup survive sanitization.
|
|
169
|
+
*/
|
|
170
|
+
sanitizeSchema?: Record<string, unknown>;
|
|
171
|
+
}
|
|
172
|
+
/** When to prefetch a GenUI widget's code/data. */
|
|
173
|
+
type GenUIPrefetchPolicy = 'eager' | 'visible' | 'idle';
|
|
174
|
+
/**
|
|
175
|
+
* Minimal subset of the Standard Schema (https://standardschema.dev) interface,
|
|
176
|
+
* implemented by zod v4 and others, used to validate untrusted widget payloads.
|
|
177
|
+
*/
|
|
178
|
+
interface StandardSchemaV1<Output = unknown, Input = Output> {
|
|
179
|
+
readonly '~standard': {
|
|
180
|
+
readonly version: 1;
|
|
181
|
+
readonly vendor: string;
|
|
182
|
+
readonly validate: (value: unknown) => {
|
|
183
|
+
readonly value: Output;
|
|
184
|
+
} | {
|
|
185
|
+
readonly issues: ReadonlyArray<{
|
|
186
|
+
readonly message: string;
|
|
187
|
+
}>;
|
|
188
|
+
} | Promise<{
|
|
189
|
+
readonly value: Output;
|
|
190
|
+
} | {
|
|
191
|
+
readonly issues: ReadonlyArray<{
|
|
192
|
+
readonly message: string;
|
|
193
|
+
}>;
|
|
194
|
+
}>;
|
|
195
|
+
readonly types?: {
|
|
196
|
+
readonly input: Input;
|
|
197
|
+
readonly output: Output;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/** Props passed to a host-registered GenUI widget. */
|
|
202
|
+
interface GenUIWidgetProps<T = unknown> {
|
|
203
|
+
/** Payload, validated against the entry's `schema` when provided. */
|
|
204
|
+
data: T;
|
|
205
|
+
/** Render-time metadata. */
|
|
206
|
+
meta: {
|
|
207
|
+
name: string;
|
|
208
|
+
version?: number;
|
|
209
|
+
messageId: string;
|
|
210
|
+
streaming: boolean;
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
/** A single registry entry: lazy code + optional schema/prefetch policy. */
|
|
214
|
+
interface GenUIWidgetEntry<T = unknown> {
|
|
215
|
+
/** Lazy chunk — keeps the widget out of the base bundle. */
|
|
216
|
+
component: () => Promise<{
|
|
217
|
+
default: React.ComponentType<GenUIWidgetProps<T>>;
|
|
218
|
+
}>;
|
|
219
|
+
/** Optional runtime validation of the untrusted payload. */
|
|
220
|
+
schema?: StandardSchemaV1<T>;
|
|
221
|
+
/** Default policy if the wire payload omits one. */
|
|
222
|
+
prefetch?: GenUIPrefetchPolicy;
|
|
223
|
+
/** Optional data prefetch, distinct from loading the component code. */
|
|
224
|
+
prefetchData?: (data: T) => Promise<unknown>;
|
|
225
|
+
}
|
|
226
|
+
/** Map of widget base-name → entry. Versions are resolved explicitly. */
|
|
227
|
+
type GenUIRegistry = Record<string, GenUIWidgetEntry>;
|
|
228
|
+
/** Parsed body of a fenced ```genui block. */
|
|
229
|
+
interface GenUIBlockPayload {
|
|
230
|
+
/** Widget base name (resolved against the registry). */
|
|
231
|
+
widget: string;
|
|
232
|
+
/** Explicit version selector. */
|
|
233
|
+
version?: number;
|
|
234
|
+
/** Wire-level prefetch hint (registry policy overrides this). */
|
|
235
|
+
prefetch?: GenUIPrefetchPolicy;
|
|
236
|
+
/** Arbitrary widget props. */
|
|
237
|
+
props?: unknown;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export type { AttachmentKind as A, ComposerAttachment as C, GenUIBlockPayload as G, Participant as P, SuperChatConversation as S, SuperChatRenderPlugin as a, SuperChatLinkBuilder as b, SuperChatRef as c, GenUIPrefetchPolicy as d, GenUIRegistry as e, GenUIWidgetEntry as f, GenUIWidgetProps as g, ParticipantKind as h, ParticipantStatus as i, StandardSchemaV1 as j, SuperChatChannel as k, SuperChatItemType as l, SuperChatMessage as m, SuperChatPluggable as n, SuperChatPluggableList as o };
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { A as AIMessageContent, a as AIMessageStatus } from './types-BYnLjEFg.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* SuperChat Types
|
|
6
|
+
*
|
|
7
|
+
* A multi-participant chat model that generalizes the AI module's
|
|
8
|
+
* `user`/`assistant` roles and the standalone `chat-component`'s
|
|
9
|
+
* `external`/`internal`/`system` roles into a single **participant** concept,
|
|
10
|
+
* plus the pluggable Markdown render pipeline contracts.
|
|
11
|
+
*
|
|
12
|
+
* See `MAINTAINERS.md` (Mission → Decisions 2 & 3) for the design rationale.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/** What kind of actor a participant is. */
|
|
16
|
+
type ParticipantKind = 'human' | 'agent' | 'system';
|
|
17
|
+
/** Presence/activity status for a participant. */
|
|
18
|
+
type ParticipantStatus = 'online' | 'offline' | 'busy' | 'typing';
|
|
19
|
+
/**
|
|
20
|
+
* A single actor in a conversation. Any mix of multiple agents and multiple
|
|
21
|
+
* humans can participate in one conversation.
|
|
22
|
+
*/
|
|
23
|
+
interface Participant {
|
|
24
|
+
/** Stable unique id, referenced by `SuperChatMessage.participantId`. */
|
|
25
|
+
id: string;
|
|
26
|
+
/** Whether this is a human, an AI agent, or the system. */
|
|
27
|
+
kind: ParticipantKind;
|
|
28
|
+
/** Display name. */
|
|
29
|
+
name: string;
|
|
30
|
+
/** Optional avatar image URL. */
|
|
31
|
+
avatar?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional accent color (any CSS color) used as a visual cue so concurrent /
|
|
34
|
+
* interleaved replies from multiple agents stay legible.
|
|
35
|
+
*/
|
|
36
|
+
color?: string;
|
|
37
|
+
/** Optional sub-label, e.g. "Triage agent" or "Front desk". */
|
|
38
|
+
role?: string;
|
|
39
|
+
/** Optional presence indicator. */
|
|
40
|
+
status?: ParticipantStatus;
|
|
41
|
+
}
|
|
42
|
+
/** Channel a message arrived/was sent on (healthcare-messaging compatible). */
|
|
43
|
+
type SuperChatChannel = 'portal' | 'sms' | 'voicemail' | 'auto' | (string & {});
|
|
44
|
+
/** Reference attachment carried by a `ref` thread item. */
|
|
45
|
+
interface SuperChatRef {
|
|
46
|
+
/** Kind of referenced entity. */
|
|
47
|
+
refType: 'doc' | 'rx' | 'appt' | (string & {});
|
|
48
|
+
/** Id of the referenced entity. */
|
|
49
|
+
refId: string;
|
|
50
|
+
/** Display title for the reference. */
|
|
51
|
+
title: string;
|
|
52
|
+
}
|
|
53
|
+
/** Kind of thread item. */
|
|
54
|
+
type SuperChatItemType = 'message' | 'ref' | 'system';
|
|
55
|
+
/**
|
|
56
|
+
* A single thread item. Preserves the `chat-component` thread-item shape
|
|
57
|
+
* (`senderId`/`sender_name`/`channel`/`time`/`text`) while adding a
|
|
58
|
+
* `participantId` (Decision 2) and optional rich `content` blocks reused from
|
|
59
|
+
* the AI module.
|
|
60
|
+
*/
|
|
61
|
+
interface SuperChatMessage {
|
|
62
|
+
/** Unique identifier. */
|
|
63
|
+
id: string;
|
|
64
|
+
/** Item type. Defaults to `'message'`. */
|
|
65
|
+
type?: SuperChatItemType;
|
|
66
|
+
/** Participant who authored the item. */
|
|
67
|
+
participantId: string;
|
|
68
|
+
/** Plain-text body (rendered through the Markdown pipeline). */
|
|
69
|
+
text?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Optional rich content blocks (text / tool_use / tool_result / thinking /
|
|
72
|
+
* code), reused from the AI module for tool-call visualization etc.
|
|
73
|
+
*/
|
|
74
|
+
content?: AIMessageContent[];
|
|
75
|
+
/** Timestamp; the thread is append-only and ordered by `time`. */
|
|
76
|
+
time: Date | string;
|
|
77
|
+
/**
|
|
78
|
+
* Timestamp of the most recent edit, if the message has been edited. When
|
|
79
|
+
* set, surfaces an "(edited)" indicator next to the message time.
|
|
80
|
+
*/
|
|
81
|
+
editedAt?: Date | string;
|
|
82
|
+
/** Delivery/generation status. */
|
|
83
|
+
status?: AIMessageStatus;
|
|
84
|
+
/** Channel the item belongs to. */
|
|
85
|
+
channel?: SuperChatChannel;
|
|
86
|
+
/** Reference payload when `type === 'ref'`. */
|
|
87
|
+
ref?: SuperChatRef;
|
|
88
|
+
/** Participant ids addressed via `@`-mention. */
|
|
89
|
+
mentions?: string[];
|
|
90
|
+
/** Custom metadata. */
|
|
91
|
+
metadata?: Record<string, unknown>;
|
|
92
|
+
/** @deprecated use `participantId`. */
|
|
93
|
+
senderId?: string;
|
|
94
|
+
/** @deprecated derive from the participant. */
|
|
95
|
+
sender_name?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* A file (typically an image) the local user pasted or attached in the
|
|
99
|
+
* composer, surfaced to the host via the send callback so it can be embedded,
|
|
100
|
+
* uploaded, or otherwise added to the conversation.
|
|
101
|
+
*/
|
|
102
|
+
interface ComposerAttachment {
|
|
103
|
+
/** Stable id for the attachment (unique within a single draft). */
|
|
104
|
+
id: string;
|
|
105
|
+
/** File name, derived from the pasted file or a generated fallback. */
|
|
106
|
+
name: string;
|
|
107
|
+
/** MIME type, e.g. `image/png`. */
|
|
108
|
+
type: string;
|
|
109
|
+
/** Base64 `data:` URL of the file contents. */
|
|
110
|
+
dataUrl: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Categories of files the composer can accept. Developers pick which kinds are
|
|
114
|
+
* allowed via `acceptedFileTypes`; each maps to an `<input accept>` token and a
|
|
115
|
+
* MIME matcher used to filter pastes and file-picker selections.
|
|
116
|
+
* - `image` → `image/*`
|
|
117
|
+
* - `video` → `video/*`
|
|
118
|
+
* - `audio` → `audio/*`
|
|
119
|
+
* - `pdf` → `application/pdf`
|
|
120
|
+
*/
|
|
121
|
+
type AttachmentKind = 'image' | 'video' | 'audio' | 'pdf';
|
|
122
|
+
/** A conversation: participants + an ordered thread. */
|
|
123
|
+
interface SuperChatConversation {
|
|
124
|
+
/** Unique identifier. */
|
|
125
|
+
id: string;
|
|
126
|
+
/** Display title. */
|
|
127
|
+
title: string;
|
|
128
|
+
/** Optional external reference id (e.g. patient/chart id). */
|
|
129
|
+
reference_id?: string;
|
|
130
|
+
/** Whether the conversation is currently open. */
|
|
131
|
+
open?: boolean;
|
|
132
|
+
/** Unread message count. */
|
|
133
|
+
unread?: number;
|
|
134
|
+
/** Timestamp of the last activity (used for sidebar ordering). */
|
|
135
|
+
lastActivity?: Date | string;
|
|
136
|
+
/** Everyone taking part in this conversation. */
|
|
137
|
+
participants: Participant[];
|
|
138
|
+
/** Ordered thread items. */
|
|
139
|
+
thread: SuperChatMessage[];
|
|
140
|
+
}
|
|
141
|
+
/** Builds an href for a reference item (e.g. doc/rx/appt deep link). */
|
|
142
|
+
type SuperChatLinkBuilder = (ref: SuperChatRef) => string | undefined;
|
|
143
|
+
/**
|
|
144
|
+
* A unified remark/rehype plugin entry. Kept dependency-light here (the public
|
|
145
|
+
* type surface stays zero-dep); the composer casts to the concrete
|
|
146
|
+
* `react-markdown` `PluggableList` type.
|
|
147
|
+
*/
|
|
148
|
+
type SuperChatPluggable = unknown;
|
|
149
|
+
type SuperChatPluggableList = SuperChatPluggable[];
|
|
150
|
+
/**
|
|
151
|
+
* A render plugin contributes remark/rehype plugins, custom node components,
|
|
152
|
+
* and/or GenUI widgets to the Markdown pipeline. Plugins are composed into a
|
|
153
|
+
* single `renderTextContent` implementation.
|
|
154
|
+
*/
|
|
155
|
+
interface SuperChatRenderPlugin {
|
|
156
|
+
/** Unique plugin name. */
|
|
157
|
+
name: string;
|
|
158
|
+
/** remark plugins to add (operate on the Markdown AST). */
|
|
159
|
+
remarkPlugins?: SuperChatPluggableList;
|
|
160
|
+
/** rehype plugins to add (operate on the HTML AST). */
|
|
161
|
+
rehypePlugins?: SuperChatPluggableList;
|
|
162
|
+
/** Custom React components keyed by node/tag name. */
|
|
163
|
+
components?: Record<string, React.ComponentType<Record<string, unknown>>>;
|
|
164
|
+
/** Named interactive widgets for fenced ```genui blocks. */
|
|
165
|
+
widgets?: GenUIRegistry;
|
|
166
|
+
/**
|
|
167
|
+
* Optional contribution to the `rehype-sanitize` allow-list schema, merged by
|
|
168
|
+
* the composer so token classNames / KaTeX markup survive sanitization.
|
|
169
|
+
*/
|
|
170
|
+
sanitizeSchema?: Record<string, unknown>;
|
|
171
|
+
}
|
|
172
|
+
/** When to prefetch a GenUI widget's code/data. */
|
|
173
|
+
type GenUIPrefetchPolicy = 'eager' | 'visible' | 'idle';
|
|
174
|
+
/**
|
|
175
|
+
* Minimal subset of the Standard Schema (https://standardschema.dev) interface,
|
|
176
|
+
* implemented by zod v4 and others, used to validate untrusted widget payloads.
|
|
177
|
+
*/
|
|
178
|
+
interface StandardSchemaV1<Output = unknown, Input = Output> {
|
|
179
|
+
readonly '~standard': {
|
|
180
|
+
readonly version: 1;
|
|
181
|
+
readonly vendor: string;
|
|
182
|
+
readonly validate: (value: unknown) => {
|
|
183
|
+
readonly value: Output;
|
|
184
|
+
} | {
|
|
185
|
+
readonly issues: ReadonlyArray<{
|
|
186
|
+
readonly message: string;
|
|
187
|
+
}>;
|
|
188
|
+
} | Promise<{
|
|
189
|
+
readonly value: Output;
|
|
190
|
+
} | {
|
|
191
|
+
readonly issues: ReadonlyArray<{
|
|
192
|
+
readonly message: string;
|
|
193
|
+
}>;
|
|
194
|
+
}>;
|
|
195
|
+
readonly types?: {
|
|
196
|
+
readonly input: Input;
|
|
197
|
+
readonly output: Output;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/** Props passed to a host-registered GenUI widget. */
|
|
202
|
+
interface GenUIWidgetProps<T = unknown> {
|
|
203
|
+
/** Payload, validated against the entry's `schema` when provided. */
|
|
204
|
+
data: T;
|
|
205
|
+
/** Render-time metadata. */
|
|
206
|
+
meta: {
|
|
207
|
+
name: string;
|
|
208
|
+
version?: number;
|
|
209
|
+
messageId: string;
|
|
210
|
+
streaming: boolean;
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
/** A single registry entry: lazy code + optional schema/prefetch policy. */
|
|
214
|
+
interface GenUIWidgetEntry<T = unknown> {
|
|
215
|
+
/** Lazy chunk — keeps the widget out of the base bundle. */
|
|
216
|
+
component: () => Promise<{
|
|
217
|
+
default: React.ComponentType<GenUIWidgetProps<T>>;
|
|
218
|
+
}>;
|
|
219
|
+
/** Optional runtime validation of the untrusted payload. */
|
|
220
|
+
schema?: StandardSchemaV1<T>;
|
|
221
|
+
/** Default policy if the wire payload omits one. */
|
|
222
|
+
prefetch?: GenUIPrefetchPolicy;
|
|
223
|
+
/** Optional data prefetch, distinct from loading the component code. */
|
|
224
|
+
prefetchData?: (data: T) => Promise<unknown>;
|
|
225
|
+
}
|
|
226
|
+
/** Map of widget base-name → entry. Versions are resolved explicitly. */
|
|
227
|
+
type GenUIRegistry = Record<string, GenUIWidgetEntry>;
|
|
228
|
+
/** Parsed body of a fenced ```genui block. */
|
|
229
|
+
interface GenUIBlockPayload {
|
|
230
|
+
/** Widget base name (resolved against the registry). */
|
|
231
|
+
widget: string;
|
|
232
|
+
/** Explicit version selector. */
|
|
233
|
+
version?: number;
|
|
234
|
+
/** Wire-level prefetch hint (registry policy overrides this). */
|
|
235
|
+
prefetch?: GenUIPrefetchPolicy;
|
|
236
|
+
/** Arbitrary widget props. */
|
|
237
|
+
props?: unknown;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export type { AttachmentKind as A, ComposerAttachment as C, GenUIBlockPayload as G, Participant as P, SuperChatConversation as S, SuperChatRenderPlugin as a, SuperChatLinkBuilder as b, SuperChatRef as c, GenUIPrefetchPolicy as d, GenUIRegistry as e, GenUIWidgetEntry as f, GenUIWidgetProps as g, ParticipantKind as h, ParticipantStatus as i, StandardSchemaV1 as j, SuperChatChannel as k, SuperChatItemType as l, SuperChatMessage as m, SuperChatPluggable as n, SuperChatPluggableList as o };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type AnchoredPlacement = 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top';
|
|
4
|
+
interface UseAnchoredPositionOptions {
|
|
5
|
+
/** Whether the floating element is currently shown */
|
|
6
|
+
open: boolean;
|
|
7
|
+
/** Preferred placement relative to the anchor (flips when out of space) */
|
|
8
|
+
placement?: AnchoredPlacement;
|
|
9
|
+
/** Gap between the anchor and the floating element, in px */
|
|
10
|
+
offset?: number;
|
|
11
|
+
/** Force the floating element to the anchor's width */
|
|
12
|
+
matchWidth?: boolean;
|
|
13
|
+
/** Use the anchor's width as the floating element's minimum width */
|
|
14
|
+
matchMinWidth?: boolean;
|
|
15
|
+
/** Minimum distance from the viewport edges, in px */
|
|
16
|
+
viewportPadding?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Additional cap on the floating element's height, in px. The height is
|
|
19
|
+
* always clamped to the available viewport space; this only lowers that
|
|
20
|
+
* limit further (omitting it does not remove the viewport constraint).
|
|
21
|
+
*/
|
|
22
|
+
maxHeight?: number;
|
|
23
|
+
}
|
|
24
|
+
interface UseAnchoredPositionReturn<TAnchor extends HTMLElement, TFloating extends HTMLElement> {
|
|
25
|
+
/** Attach to the element the popup is anchored to (trigger/input) */
|
|
26
|
+
anchorRef: React.RefObject<TAnchor | null>;
|
|
27
|
+
/** Attach to the floating element (menu/listbox/panel) */
|
|
28
|
+
floatingRef: React.RefObject<TFloating | null>;
|
|
29
|
+
/** Fixed-position style for the floating element — spread onto it */
|
|
30
|
+
style: React.CSSProperties;
|
|
31
|
+
/** Vertical side in use after flipping ('top' or 'bottom') */
|
|
32
|
+
actualSide: 'top' | 'bottom';
|
|
33
|
+
/** Recompute the position (e.g. after async content loads) */
|
|
34
|
+
update: () => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Positions a floating element (dropdown menu, autocomplete listbox,
|
|
38
|
+
* date-picker calendar, …) relative to an anchor using `position: fixed`,
|
|
39
|
+
* so it is never clipped by `overflow: hidden` ancestors.
|
|
40
|
+
*
|
|
41
|
+
* Render the floating element through `createPortal(..., document.body)`
|
|
42
|
+
* and spread the returned `style` onto it. The hook:
|
|
43
|
+
* - flips vertically when there is not enough space on the preferred side
|
|
44
|
+
* - clamps horizontally to the viewport
|
|
45
|
+
* - constrains `maxHeight` to the available space (add `overflow-auto`)
|
|
46
|
+
* - tracks scroll, resize, and anchor/content size changes while open
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* const { anchorRef, floatingRef, style } = useAnchoredPosition<
|
|
51
|
+
* HTMLButtonElement,
|
|
52
|
+
* HTMLDivElement
|
|
53
|
+
* >({ open, placement: 'bottom-start' });
|
|
54
|
+
*
|
|
55
|
+
* <button ref={anchorRef} onClick={() => setOpen(!open)}>Open</button>
|
|
56
|
+
* {open &&
|
|
57
|
+
* createPortal(
|
|
58
|
+
* <div ref={floatingRef} style={style} className="overflow-auto …">…</div>,
|
|
59
|
+
* document.body
|
|
60
|
+
* )}
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
declare function useAnchoredPosition<TAnchor extends HTMLElement = HTMLElement, TFloating extends HTMLElement = HTMLElement>({ open, placement, offset, matchWidth, matchMinWidth, viewportPadding, maxHeight, }: UseAnchoredPositionOptions): UseAnchoredPositionReturn<TAnchor, TFloating>;
|
|
64
|
+
|
|
65
|
+
export { type AnchoredPlacement as A, type UseAnchoredPositionOptions as U, type UseAnchoredPositionReturn as a, useAnchoredPosition as u };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type AnchoredPlacement = 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top';
|
|
4
|
+
interface UseAnchoredPositionOptions {
|
|
5
|
+
/** Whether the floating element is currently shown */
|
|
6
|
+
open: boolean;
|
|
7
|
+
/** Preferred placement relative to the anchor (flips when out of space) */
|
|
8
|
+
placement?: AnchoredPlacement;
|
|
9
|
+
/** Gap between the anchor and the floating element, in px */
|
|
10
|
+
offset?: number;
|
|
11
|
+
/** Force the floating element to the anchor's width */
|
|
12
|
+
matchWidth?: boolean;
|
|
13
|
+
/** Use the anchor's width as the floating element's minimum width */
|
|
14
|
+
matchMinWidth?: boolean;
|
|
15
|
+
/** Minimum distance from the viewport edges, in px */
|
|
16
|
+
viewportPadding?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Additional cap on the floating element's height, in px. The height is
|
|
19
|
+
* always clamped to the available viewport space; this only lowers that
|
|
20
|
+
* limit further (omitting it does not remove the viewport constraint).
|
|
21
|
+
*/
|
|
22
|
+
maxHeight?: number;
|
|
23
|
+
}
|
|
24
|
+
interface UseAnchoredPositionReturn<TAnchor extends HTMLElement, TFloating extends HTMLElement> {
|
|
25
|
+
/** Attach to the element the popup is anchored to (trigger/input) */
|
|
26
|
+
anchorRef: React.RefObject<TAnchor | null>;
|
|
27
|
+
/** Attach to the floating element (menu/listbox/panel) */
|
|
28
|
+
floatingRef: React.RefObject<TFloating | null>;
|
|
29
|
+
/** Fixed-position style for the floating element — spread onto it */
|
|
30
|
+
style: React.CSSProperties;
|
|
31
|
+
/** Vertical side in use after flipping ('top' or 'bottom') */
|
|
32
|
+
actualSide: 'top' | 'bottom';
|
|
33
|
+
/** Recompute the position (e.g. after async content loads) */
|
|
34
|
+
update: () => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Positions a floating element (dropdown menu, autocomplete listbox,
|
|
38
|
+
* date-picker calendar, …) relative to an anchor using `position: fixed`,
|
|
39
|
+
* so it is never clipped by `overflow: hidden` ancestors.
|
|
40
|
+
*
|
|
41
|
+
* Render the floating element through `createPortal(..., document.body)`
|
|
42
|
+
* and spread the returned `style` onto it. The hook:
|
|
43
|
+
* - flips vertically when there is not enough space on the preferred side
|
|
44
|
+
* - clamps horizontally to the viewport
|
|
45
|
+
* - constrains `maxHeight` to the available space (add `overflow-auto`)
|
|
46
|
+
* - tracks scroll, resize, and anchor/content size changes while open
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* const { anchorRef, floatingRef, style } = useAnchoredPosition<
|
|
51
|
+
* HTMLButtonElement,
|
|
52
|
+
* HTMLDivElement
|
|
53
|
+
* >({ open, placement: 'bottom-start' });
|
|
54
|
+
*
|
|
55
|
+
* <button ref={anchorRef} onClick={() => setOpen(!open)}>Open</button>
|
|
56
|
+
* {open &&
|
|
57
|
+
* createPortal(
|
|
58
|
+
* <div ref={floatingRef} style={style} className="overflow-auto …">…</div>,
|
|
59
|
+
* document.body
|
|
60
|
+
* )}
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
declare function useAnchoredPosition<TAnchor extends HTMLElement = HTMLElement, TFloating extends HTMLElement = HTMLElement>({ open, placement, offset, matchWidth, matchMinWidth, viewportPadding, maxHeight, }: UseAnchoredPositionOptions): UseAnchoredPositionReturn<TAnchor, TFloating>;
|
|
64
|
+
|
|
65
|
+
export { type AnchoredPlacement as A, type UseAnchoredPositionOptions as U, type UseAnchoredPositionReturn as a, useAnchoredPosition as u };
|