@mieweb/ui 0.10.0-dev.4 → 0.10.0-dev.40
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 +4 -4
- package/agent/mieweb-ui.instructions.md +90 -1
- package/dist/CsvBlock-CFXSDPBI.js +9 -0
- package/dist/{CsvBlock-UWPMTLE2.js.map → CsvBlock-CFXSDPBI.js.map} +1 -1
- package/dist/CsvBlock-RGO7JXHJ.cjs +18 -0
- package/dist/{CsvBlock-ROJCKJDP.cjs.map → CsvBlock-RGO7JXHJ.cjs.map} +1 -1
- package/dist/HtmlPreviewBlock-VBYXCXVT.cjs +18 -0
- package/dist/{HtmlPreviewBlock-DWFN6EUB.cjs.map → HtmlPreviewBlock-VBYXCXVT.cjs.map} +1 -1
- package/dist/HtmlPreviewBlock-Z2GCK325.js +9 -0
- package/dist/{HtmlPreviewBlock-ME5U3XNS.js.map → HtmlPreviewBlock-Z2GCK325.js.map} +1 -1
- package/dist/MermaidBlock-I2R2BQOX.cjs +18 -0
- package/dist/{MermaidBlock-D2UC5M55.cjs.map → MermaidBlock-I2R2BQOX.cjs.map} +1 -1
- package/dist/MermaidBlock-XCAK7IA5.js +9 -0
- package/dist/{MermaidBlock-2B6CPD6Y.js.map → MermaidBlock-XCAK7IA5.js.map} +1 -1
- package/dist/SurveyBlock-KI5JOWCL.js +9 -0
- package/dist/{SurveyBlock-4DO62RBT.js.map → SurveyBlock-KI5JOWCL.js.map} +1 -1
- package/dist/SurveyBlock-UKSGISRT.cjs +18 -0
- package/dist/{SurveyBlock-4CD4AYMJ.cjs.map → SurveyBlock-UKSGISRT.cjs.map} +1 -1
- package/dist/ag-grid.d.cts +142 -1
- package/dist/ag-grid.d.ts +142 -1
- package/dist/brands/bluehive.cjs +3 -3
- package/dist/brands/bluehive.css +3 -0
- package/dist/brands/bluehive.js +1 -1
- package/dist/brands/index.cjs +14 -14
- package/dist/brands/index.js +4 -4
- package/dist/{chunk-3M7TAXNR.js → chunk-24AFHH4J.js} +3 -3
- package/dist/{chunk-3M7TAXNR.js.map → chunk-24AFHH4J.js.map} +1 -1
- package/dist/{chunk-JYZW2PZS.cjs → chunk-254QK722.cjs} +7 -7
- package/dist/chunk-254QK722.cjs.map +1 -0
- package/dist/{chunk-VPIYTQCV.cjs → chunk-2I4IRQQG.cjs} +12 -5
- package/dist/chunk-2I4IRQQG.cjs.map +1 -0
- package/dist/chunk-2X54ZLT6.js +874 -0
- package/dist/chunk-2X54ZLT6.js.map +1 -0
- package/dist/{chunk-5MCBWTIF.cjs → chunk-32ZCJOSR.cjs} +4 -4
- package/dist/{chunk-5MCBWTIF.cjs.map → chunk-32ZCJOSR.cjs.map} +1 -1
- package/dist/chunk-3YBS4WUQ.js +52 -0
- package/dist/chunk-3YBS4WUQ.js.map +1 -0
- package/dist/{chunk-WNJRS7Y7.cjs → chunk-3ZWCIPFT.cjs} +4 -2
- package/dist/chunk-3ZWCIPFT.cjs.map +1 -0
- package/dist/chunk-434L5RYF.js +314 -0
- package/dist/chunk-434L5RYF.js.map +1 -0
- package/dist/{chunk-TPWKM7JH.js → chunk-43K7OQ3E.js} +3 -3
- package/dist/{chunk-TPWKM7JH.js.map → chunk-43K7OQ3E.js.map} +1 -1
- package/dist/chunk-47P5QLX4.cjs +42 -0
- package/dist/chunk-47P5QLX4.cjs.map +1 -0
- package/dist/chunk-4IS3QCOQ.cjs +453 -0
- package/dist/chunk-4IS3QCOQ.cjs.map +1 -0
- package/dist/chunk-4NCDU5IG.cjs +56 -0
- package/dist/chunk-4NCDU5IG.cjs.map +1 -0
- package/dist/chunk-4ZB7RSMY.cjs +306 -0
- package/dist/chunk-4ZB7RSMY.cjs.map +1 -0
- package/dist/chunk-522WJIVI.js +99 -0
- package/dist/chunk-522WJIVI.js.map +1 -0
- package/dist/chunk-56VTM4OX.js +261 -0
- package/dist/chunk-56VTM4OX.js.map +1 -0
- package/dist/chunk-5HKZR6UG.js +248 -0
- package/dist/chunk-5HKZR6UG.js.map +1 -0
- package/dist/chunk-6BNZLN4B.cjs +548 -0
- package/dist/chunk-6BNZLN4B.cjs.map +1 -0
- package/dist/chunk-6N7NMOSV.js +233 -0
- package/dist/chunk-6N7NMOSV.js.map +1 -0
- package/dist/chunk-6TTCZY3P.cjs +4 -0
- package/dist/chunk-6TTCZY3P.cjs.map +1 -0
- package/dist/{chunk-YQDA366U.js → chunk-753ENNB6.js} +2 -2
- package/dist/{chunk-YQDA366U.js.map → chunk-753ENNB6.js.map} +1 -1
- package/dist/{chunk-N6IY47YA.cjs → chunk-7C5W744U.cjs} +8 -8
- package/dist/{chunk-N6IY47YA.cjs.map → chunk-7C5W744U.cjs.map} +1 -1
- package/dist/chunk-7E46YDOT.cjs +122 -0
- package/dist/chunk-7E46YDOT.cjs.map +1 -0
- package/dist/chunk-7HUTR6RX.js +178 -0
- package/dist/chunk-7HUTR6RX.js.map +1 -0
- package/dist/chunk-7IRTD4JT.cjs +61 -0
- package/dist/chunk-7IRTD4JT.cjs.map +1 -0
- package/dist/{chunk-KZFBQ7GY.js → chunk-7QW6TU4X.js} +3 -3
- package/dist/{chunk-KZFBQ7GY.js.map → chunk-7QW6TU4X.js.map} +1 -1
- package/dist/{chunk-MWVW4APN.cjs → chunk-7UTBDFFL.cjs} +4 -4
- package/dist/{chunk-MWVW4APN.cjs.map → chunk-7UTBDFFL.cjs.map} +1 -1
- package/dist/chunk-7WJ6MBF5.cjs +47 -0
- package/dist/chunk-7WJ6MBF5.cjs.map +1 -0
- package/dist/{chunk-FJ7YPVKV.js → chunk-7X6R3JIA.js} +3 -3
- package/dist/{chunk-FJ7YPVKV.js.map → chunk-7X6R3JIA.js.map} +1 -1
- package/dist/chunk-A4W5CSK7.cjs +216 -0
- package/dist/chunk-A4W5CSK7.cjs.map +1 -0
- package/dist/{chunk-2G75X6TS.cjs → chunk-AHHFFXJR.cjs} +3 -3
- package/dist/{chunk-2G75X6TS.cjs.map → chunk-AHHFFXJR.cjs.map} +1 -1
- package/dist/chunk-AJPFQF3H.cjs +896 -0
- package/dist/chunk-AJPFQF3H.cjs.map +1 -0
- package/dist/chunk-AMYFRY7K.js +3 -0
- package/dist/chunk-AMYFRY7K.js.map +1 -0
- package/dist/{chunk-VNYW4C4J.cjs → chunk-ANMX7YDL.cjs} +4 -84
- package/dist/chunk-ANMX7YDL.cjs.map +1 -0
- package/dist/chunk-ARIJ5OHW.cjs +139 -0
- package/dist/chunk-ARIJ5OHW.cjs.map +1 -0
- package/dist/{chunk-DVOQ3JNO.js → chunk-B4CKCNWD.js} +16 -8
- package/dist/chunk-B4CKCNWD.js.map +1 -0
- package/dist/chunk-BJ6ABRSQ.cjs +256 -0
- package/dist/chunk-BJ6ABRSQ.cjs.map +1 -0
- package/dist/chunk-BM35CACB.js +148 -0
- package/dist/chunk-BM35CACB.js.map +1 -0
- package/dist/{chunk-G3JX3UAU.cjs → chunk-BWSZ2BHJ.cjs} +6 -6
- package/dist/{chunk-G3JX3UAU.cjs.map → chunk-BWSZ2BHJ.cjs.map} +1 -1
- package/dist/chunk-BXRQ6HEP.cjs +4 -0
- package/dist/chunk-BXRQ6HEP.cjs.map +1 -0
- package/dist/{chunk-SGFYA22I.cjs → chunk-C77FAR3F.cjs} +8 -8
- package/dist/{chunk-SGFYA22I.cjs.map → chunk-C77FAR3F.cjs.map} +1 -1
- package/dist/chunk-CBBKWRLG.js +213 -0
- package/dist/chunk-CBBKWRLG.js.map +1 -0
- package/dist/{chunk-UAMXCMST.cjs → chunk-CFI3TQMA.cjs} +3 -3
- package/dist/{chunk-UAMXCMST.cjs.map → chunk-CFI3TQMA.cjs.map} +1 -1
- package/dist/chunk-CLQW724U.cjs +271 -0
- package/dist/chunk-CLQW724U.cjs.map +1 -0
- package/dist/chunk-CPDNX3LS.cjs +47 -0
- package/dist/chunk-CPDNX3LS.cjs.map +1 -0
- package/dist/chunk-CVNPNZMX.js +44 -0
- package/dist/chunk-CVNPNZMX.js.map +1 -0
- package/dist/{chunk-2YCERQWC.js → chunk-CVXESGXJ.js} +10 -9
- package/dist/chunk-CVXESGXJ.js.map +1 -0
- package/dist/chunk-DGHS5IVD.js +305 -0
- package/dist/chunk-DGHS5IVD.js.map +1 -0
- package/dist/chunk-DHGCLPFZ.js +91 -0
- package/dist/chunk-DHGCLPFZ.js.map +1 -0
- package/dist/{chunk-GD7EBGC4.cjs → chunk-DHU3FFC3.cjs} +49 -19
- package/dist/chunk-DHU3FFC3.cjs.map +1 -0
- package/dist/chunk-DO2YN46R.cjs +201 -0
- package/dist/chunk-DO2YN46R.cjs.map +1 -0
- package/dist/chunk-DVDT7TX7.js +151 -0
- package/dist/chunk-DVDT7TX7.js.map +1 -0
- package/dist/chunk-DXEPYK3I.cjs +92 -0
- package/dist/chunk-DXEPYK3I.cjs.map +1 -0
- package/dist/{chunk-X4XPNTCZ.cjs → chunk-DZ3JTMKM.cjs} +136 -58
- package/dist/chunk-DZ3JTMKM.cjs.map +1 -0
- package/dist/chunk-EACNRR3C.cjs +4 -0
- package/dist/chunk-EACNRR3C.cjs.map +1 -0
- package/dist/{chunk-ZGRCSNPK.js → chunk-EEOGIGIA.js} +4 -4
- package/dist/{chunk-ZGRCSNPK.js.map → chunk-EEOGIGIA.js.map} +1 -1
- package/dist/chunk-EPCUPHEO.js +193 -0
- package/dist/chunk-EPCUPHEO.js.map +1 -0
- package/dist/{chunk-7ZXAQTV4.cjs → chunk-ERACGSDY.cjs} +8 -8
- package/dist/{chunk-7ZXAQTV4.cjs.map → chunk-ERACGSDY.cjs.map} +1 -1
- package/dist/{chunk-OD47TTAW.cjs → chunk-F2FOG4EG.cjs} +9 -9
- package/dist/{chunk-OD47TTAW.cjs.map → chunk-F2FOG4EG.cjs.map} +1 -1
- package/dist/chunk-F3EWRDIT.js +312 -0
- package/dist/chunk-F3EWRDIT.js.map +1 -0
- package/dist/{chunk-XCP454Q6.js → chunk-F4N67NAF.js} +12 -3
- package/dist/chunk-F4N67NAF.js.map +1 -0
- package/dist/{chunk-WGPLUCBD.js → chunk-F6W62K4J.js} +4 -4
- package/dist/{chunk-WGPLUCBD.js.map → chunk-F6W62K4J.js.map} +1 -1
- package/dist/chunk-FBCDYTWM.js +385 -0
- package/dist/chunk-FBCDYTWM.js.map +1 -0
- package/dist/{chunk-V7D3YGUV.js → chunk-FGLIP6YR.js} +4 -4
- package/dist/{chunk-V7D3YGUV.js.map → chunk-FGLIP6YR.js.map} +1 -1
- package/dist/{chunk-VU6UTJRM.js → chunk-FIKO4WR6.js} +3 -3
- package/dist/{chunk-VU6UTJRM.js.map → chunk-FIKO4WR6.js.map} +1 -1
- package/dist/chunk-FSGJXCBG.cjs +318 -0
- package/dist/chunk-FSGJXCBG.cjs.map +1 -0
- package/dist/chunk-FSWHZY3T.cjs +328 -0
- package/dist/chunk-FSWHZY3T.cjs.map +1 -0
- package/dist/chunk-FTEZNCRI.js +29 -0
- package/dist/chunk-FTEZNCRI.js.map +1 -0
- package/dist/{chunk-YVPC65ZJ.cjs → chunk-GF2BE4FB.cjs} +91 -32
- package/dist/chunk-GF2BE4FB.cjs.map +1 -0
- package/dist/{chunk-JEIW7BSV.cjs → chunk-GKDHMNUA.cjs} +2 -52
- package/dist/chunk-GKDHMNUA.cjs.map +1 -0
- package/dist/chunk-GM32IDVL.cjs +356 -0
- package/dist/chunk-GM32IDVL.cjs.map +1 -0
- package/dist/chunk-GVM6DTR5.js +90 -0
- package/dist/chunk-GVM6DTR5.js.map +1 -0
- package/dist/{chunk-SQHMGT4W.js → chunk-GW4RFJZ5.js} +7 -7
- package/dist/chunk-GW4RFJZ5.js.map +1 -0
- package/dist/chunk-GY5SP4ST.js +3 -0
- package/dist/chunk-GY5SP4ST.js.map +1 -0
- package/dist/chunk-H2Y7HZV5.js +3 -0
- package/dist/chunk-H2Y7HZV5.js.map +1 -0
- package/dist/chunk-H3P7POFC.cjs +337 -0
- package/dist/chunk-H3P7POFC.cjs.map +1 -0
- package/dist/{chunk-JID7AZTO.cjs → chunk-H3ROMJYI.cjs} +4 -4
- package/dist/{chunk-JID7AZTO.cjs.map → chunk-H3ROMJYI.cjs.map} +1 -1
- package/dist/{chunk-462XSCP3.cjs → chunk-HCIXGFWR.cjs} +4 -4
- package/dist/{chunk-462XSCP3.cjs.map → chunk-HCIXGFWR.cjs.map} +1 -1
- package/dist/{chunk-H4ZXMQQW.js → chunk-HDY7YQFX.js} +3 -3
- package/dist/{chunk-H4ZXMQQW.js.map → chunk-HDY7YQFX.js.map} +1 -1
- package/dist/chunk-HNFFFFYH.cjs +114 -0
- package/dist/chunk-HNFFFFYH.cjs.map +1 -0
- package/dist/chunk-HNXLLDPN.js +25 -0
- package/dist/chunk-HNXLLDPN.js.map +1 -0
- package/dist/{chunk-NV2CWBI2.cjs → chunk-IEY3ZJIT.cjs} +12 -3
- package/dist/chunk-IEY3ZJIT.cjs.map +1 -0
- package/dist/{chunk-3QEVGSFG.cjs → chunk-IGDO62KR.cjs} +5 -5
- package/dist/{chunk-3QEVGSFG.cjs.map → chunk-IGDO62KR.cjs.map} +1 -1
- package/dist/chunk-IT775BYG.js +179 -0
- package/dist/chunk-IT775BYG.js.map +1 -0
- package/dist/{chunk-N5O47VGS.cjs → chunk-IVGI353O.cjs} +2 -2
- package/dist/{chunk-N5O47VGS.cjs.map → chunk-IVGI353O.cjs.map} +1 -1
- package/dist/chunk-IWRBJHO3.cjs +51 -0
- package/dist/chunk-IWRBJHO3.cjs.map +1 -0
- package/dist/{chunk-VILW53UZ.js → chunk-JMAZ2GKT.js} +3 -3
- package/dist/{chunk-VILW53UZ.js.map → chunk-JMAZ2GKT.js.map} +1 -1
- package/dist/{chunk-WWJIW2IH.cjs → chunk-JSXIB6EJ.cjs} +4 -4
- package/dist/{chunk-WWJIW2IH.cjs.map → chunk-JSXIB6EJ.cjs.map} +1 -1
- package/dist/{chunk-KRU6IGV7.js → chunk-JUJGWUAN.js} +28 -6
- package/dist/chunk-JUJGWUAN.js.map +1 -0
- package/dist/{chunk-FXO5ARBB.cjs → chunk-KDW6BD4O.cjs} +4 -4
- package/dist/{chunk-FXO5ARBB.cjs.map → chunk-KDW6BD4O.cjs.map} +1 -1
- package/dist/{chunk-Z5V7SAZ4.js → chunk-KFEN2SRZ.js} +3 -3
- package/dist/{chunk-Z5V7SAZ4.js.map → chunk-KFEN2SRZ.js.map} +1 -1
- package/dist/{chunk-XEAT7XJG.cjs → chunk-KQ6GLYFZ.cjs} +29 -13
- package/dist/chunk-KQ6GLYFZ.cjs.map +1 -0
- package/dist/chunk-L6K4PRZK.cjs +4 -0
- package/dist/chunk-L6K4PRZK.cjs.map +1 -0
- package/dist/{chunk-7ZDPD5ZX.cjs → chunk-LC3JL2HB.cjs} +11 -7
- package/dist/chunk-LC3JL2HB.cjs.map +1 -0
- package/dist/{chunk-P7UMS4E6.cjs → chunk-LC7PVBXH.cjs} +16 -8
- package/dist/chunk-LC7PVBXH.cjs.map +1 -0
- package/dist/{chunk-Y5HFM7LO.js → chunk-LDBNUJB7.js} +5 -5
- package/dist/{chunk-Y5HFM7LO.js.map → chunk-LDBNUJB7.js.map} +1 -1
- package/dist/chunk-LRAAJRE7.cjs +2707 -0
- package/dist/chunk-LRAAJRE7.cjs.map +1 -0
- package/dist/chunk-LUPRGPKP.js +2540 -0
- package/dist/chunk-LUPRGPKP.js.map +1 -0
- package/dist/chunk-M3VPGJMV.js +283 -0
- package/dist/chunk-M3VPGJMV.js.map +1 -0
- package/dist/{chunk-VKELAMAZ.js → chunk-N54FYWG6.js} +27 -11
- package/dist/chunk-N54FYWG6.js.map +1 -0
- package/dist/chunk-N5JDL4VE.js +3 -0
- package/dist/chunk-N5JDL4VE.js.map +1 -0
- package/dist/{chunk-2QKBTPUC.cjs → chunk-NAH65KPK.cjs} +8 -8
- package/dist/{chunk-2QKBTPUC.cjs.map → chunk-NAH65KPK.cjs.map} +1 -1
- package/dist/{chunk-PYJDVWXM.js → chunk-NUB5HRKS.js} +3 -3
- package/dist/{chunk-PYJDVWXM.js.map → chunk-NUB5HRKS.js.map} +1 -1
- package/dist/{chunk-WNZAYBVB.cjs → chunk-O6BJMVGT.cjs} +48 -48
- package/dist/{chunk-WNZAYBVB.cjs.map → chunk-O6BJMVGT.cjs.map} +1 -1
- package/dist/{chunk-SVSHA7XV.js → chunk-O6XDA3SI.js} +31 -33
- package/dist/chunk-O6XDA3SI.js.map +1 -0
- package/dist/chunk-OIF34LEN.cjs +425 -0
- package/dist/chunk-OIF34LEN.cjs.map +1 -0
- package/dist/chunk-OIMXMPH2.cjs +218 -0
- package/dist/chunk-OIMXMPH2.cjs.map +1 -0
- package/dist/{chunk-J5CSLNCN.cjs → chunk-OODVC2UD.cjs} +2 -2
- package/dist/{chunk-J5CSLNCN.cjs.map → chunk-OODVC2UD.cjs.map} +1 -1
- package/dist/{chunk-ACCAXVOG.js → chunk-OSTSZDQC.js} +134 -56
- package/dist/chunk-OSTSZDQC.js.map +1 -0
- package/dist/{chunk-LL6IWKI3.js → chunk-OW3SQJ7P.js} +3 -3
- package/dist/{chunk-LL6IWKI3.js.map → chunk-OW3SQJ7P.js.map} +1 -1
- package/dist/chunk-P22YCUVM.cjs +4 -0
- package/dist/chunk-P22YCUVM.cjs.map +1 -0
- package/dist/{chunk-CEQJGUAS.js → chunk-P4E3K3ND.js} +12 -5
- package/dist/chunk-P4E3K3ND.js.map +1 -0
- package/dist/{chunk-5GUOOLPR.cjs → chunk-P5CMZZRZ.cjs} +5 -5
- package/dist/{chunk-5GUOOLPR.cjs.map → chunk-P5CMZZRZ.cjs.map} +1 -1
- package/dist/{chunk-TMMVIUUN.js → chunk-P7D7BYFE.js} +4 -4
- package/dist/{chunk-TMMVIUUN.js.map → chunk-P7D7BYFE.js.map} +1 -1
- package/dist/{chunk-3T7QGLNB.js → chunk-PJEL5ZZV.js} +4 -2
- package/dist/chunk-PJEL5ZZV.js.map +1 -0
- package/dist/chunk-PYI2IWNX.cjs +281 -0
- package/dist/chunk-PYI2IWNX.cjs.map +1 -0
- package/dist/chunk-Q3YVLO52.cjs +174 -0
- package/dist/chunk-Q3YVLO52.cjs.map +1 -0
- package/dist/{chunk-WNM7IZJ7.js → chunk-QJ2L5RU6.js} +7 -7
- package/dist/{chunk-WNM7IZJ7.js.map → chunk-QJ2L5RU6.js.map} +1 -1
- package/dist/{chunk-X4LBUPJO.cjs → chunk-QX6AAVDE.cjs} +31 -33
- package/dist/chunk-QX6AAVDE.cjs.map +1 -0
- package/dist/{chunk-UV2FVNWT.cjs → chunk-RIUQP2QS.cjs} +5 -5
- package/dist/{chunk-UV2FVNWT.cjs.map → chunk-RIUQP2QS.cjs.map} +1 -1
- package/dist/chunk-RLVYWUXG.js +115 -0
- package/dist/chunk-RLVYWUXG.js.map +1 -0
- package/dist/{chunk-22CYDCXA.js → chunk-RM2HPQIC.js} +105 -14
- package/dist/chunk-RM2HPQIC.js.map +1 -0
- package/dist/{chunk-DEDN5HAG.js → chunk-RSJGTWLM.js} +3 -3
- package/dist/{chunk-DEDN5HAG.js.map → chunk-RSJGTWLM.js.map} +1 -1
- package/dist/{chunk-6EN3IQQI.cjs → chunk-RV45J2ZT.cjs} +8 -8
- package/dist/{chunk-6EN3IQQI.cjs.map → chunk-RV45J2ZT.cjs.map} +1 -1
- package/dist/chunk-RZSSQ7AT.js +333 -0
- package/dist/chunk-RZSSQ7AT.js.map +1 -0
- package/dist/{chunk-ENKFJJZX.js → chunk-S2JZL4JC.js} +6 -6
- package/dist/{chunk-ENKFJJZX.js.map → chunk-S2JZL4JC.js.map} +1 -1
- package/dist/{chunk-ELPW32ZI.cjs → chunk-S4XCPDEO.cjs} +60 -59
- package/dist/chunk-S4XCPDEO.cjs.map +1 -0
- package/dist/{chunk-OE5CKRUC.js → chunk-SACHTD7B.js} +34 -4
- package/dist/chunk-SACHTD7B.js.map +1 -0
- package/dist/{chunk-U42F3HLE.cjs → chunk-SAGJHL2Z.cjs} +275 -5
- package/dist/chunk-SAGJHL2Z.cjs.map +1 -0
- package/dist/{chunk-VROIMIHB.cjs → chunk-SHBCUXFS.cjs} +28 -6
- package/dist/chunk-SHBCUXFS.cjs.map +1 -0
- package/dist/{chunk-RJ6NTJHC.js → chunk-SRMTRD7F.js} +3 -3
- package/dist/{chunk-RJ6NTJHC.js.map → chunk-SRMTRD7F.js.map} +1 -1
- package/dist/{chunk-IX6KFB3K.cjs → chunk-SW2E7XKY.cjs} +9 -9
- package/dist/{chunk-IX6KFB3K.cjs.map → chunk-SW2E7XKY.cjs.map} +1 -1
- package/dist/chunk-SZSRGUVO.js +402 -0
- package/dist/chunk-SZSRGUVO.js.map +1 -0
- package/dist/{chunk-NJ6MY6V5.js → chunk-T5BBZQ66.js} +3 -3
- package/dist/{chunk-NJ6MY6V5.js.map → chunk-T5BBZQ66.js.map} +1 -1
- package/dist/{chunk-JI244Y7C.js → chunk-T5NOFXOL.js} +275 -5
- package/dist/chunk-T5NOFXOL.js.map +1 -0
- package/dist/{chunk-2IZLKPUW.js → chunk-THLIL6PY.js} +3 -3
- package/dist/{chunk-2IZLKPUW.js.map → chunk-THLIL6PY.js.map} +1 -1
- package/dist/{chunk-HZ4MBUC3.js → chunk-TI3TQQ7F.js} +4 -53
- package/dist/chunk-TI3TQQ7F.js.map +1 -0
- package/dist/chunk-TVU4KB27.cjs +353 -0
- package/dist/chunk-TVU4KB27.cjs.map +1 -0
- package/dist/{chunk-5JJ2DAE4.js → chunk-TWQSMUE6.js} +7 -3
- package/dist/chunk-TWQSMUE6.js.map +1 -0
- package/dist/{chunk-TAXD5ADA.cjs → chunk-UEDTZYGI.cjs} +3 -3
- package/dist/{chunk-TAXD5ADA.cjs.map → chunk-UEDTZYGI.cjs.map} +1 -1
- package/dist/{chunk-3QGS6CXD.js → chunk-UJDWFDKE.js} +3 -3
- package/dist/{chunk-3QGS6CXD.js.map → chunk-UJDWFDKE.js.map} +1 -1
- package/dist/chunk-UNFDIBKJ.js +258 -0
- package/dist/chunk-UNFDIBKJ.js.map +1 -0
- package/dist/{chunk-UQ3VVR6A.cjs → chunk-UPWIJC6I.cjs} +3 -3
- package/dist/{chunk-UQ3VVR6A.cjs.map → chunk-UPWIJC6I.cjs.map} +1 -1
- package/dist/chunk-UTIPENPW.cjs +286 -0
- package/dist/chunk-UTIPENPW.cjs.map +1 -0
- package/dist/{chunk-S7WCHDBO.js → chunk-VCI2Y7ST.js} +3 -3
- package/dist/{chunk-S7WCHDBO.js.map → chunk-VCI2Y7ST.js.map} +1 -1
- package/dist/chunk-VEE46VTX.js +166 -0
- package/dist/chunk-VEE46VTX.js.map +1 -0
- package/dist/chunk-VFFV7EMT.cjs +188 -0
- package/dist/chunk-VFFV7EMT.cjs.map +1 -0
- package/dist/chunk-VINZZQBD.cjs +323 -0
- package/dist/chunk-VINZZQBD.cjs.map +1 -0
- package/dist/chunk-VPTASZ2O.cjs +171 -0
- package/dist/chunk-VPTASZ2O.cjs.map +1 -0
- package/dist/{chunk-P2CA3XGI.js → chunk-VSRO4PAI.js} +23 -5
- package/dist/chunk-VSRO4PAI.js.map +1 -0
- package/dist/{chunk-L6MDULYB.js → chunk-VU3ZMJBN.js} +2 -2
- package/dist/{chunk-L6MDULYB.js.map → chunk-VU3ZMJBN.js.map} +1 -1
- package/dist/{chunk-XI34EGK5.cjs → chunk-VV2U36T6.cjs} +9 -9
- package/dist/{chunk-XI34EGK5.cjs.map → chunk-VV2U36T6.cjs.map} +1 -1
- package/dist/{chunk-VPWJCJCX.cjs → chunk-VXW7D5LR.cjs} +26 -8
- package/dist/chunk-VXW7D5LR.cjs.map +1 -0
- package/dist/chunk-W3HXHIDO.cjs +2573 -0
- package/dist/chunk-W3HXHIDO.cjs.map +1 -0
- package/dist/{chunk-GOALNQZ2.js → chunk-WFBUBT54.js} +4 -83
- package/dist/chunk-WFBUBT54.js.map +1 -0
- package/dist/chunk-WFL4N5PC.js +283 -0
- package/dist/chunk-WFL4N5PC.js.map +1 -0
- package/dist/chunk-WQHBMZSC.js +295 -0
- package/dist/chunk-WQHBMZSC.js.map +1 -0
- package/dist/chunk-X3RSNAMX.js +195 -0
- package/dist/chunk-X3RSNAMX.js.map +1 -0
- package/dist/chunk-X5JOEZVR.js +525 -0
- package/dist/chunk-X5JOEZVR.js.map +1 -0
- package/dist/chunk-XBAAHOCP.js +3 -0
- package/dist/chunk-XBAAHOCP.js.map +1 -0
- package/dist/chunk-XDIMTPZU.cjs +202 -0
- package/dist/chunk-XDIMTPZU.cjs.map +1 -0
- package/dist/chunk-XDU65GLW.js +21 -0
- package/dist/chunk-XDU65GLW.js.map +1 -0
- package/dist/chunk-XI74P5F2.cjs +424 -0
- package/dist/chunk-XI74P5F2.cjs.map +1 -0
- package/dist/chunk-XNPDZANN.cjs +238 -0
- package/dist/chunk-XNPDZANN.cjs.map +1 -0
- package/dist/{chunk-WIAQQNFU.cjs → chunk-XRVMYT5G.cjs} +106 -13
- package/dist/chunk-XRVMYT5G.cjs.map +1 -0
- package/dist/chunk-XVW5DPPP.js +429 -0
- package/dist/chunk-XVW5DPPP.js.map +1 -0
- package/dist/chunk-XXA4NZUC.js +3 -0
- package/dist/chunk-XXA4NZUC.js.map +1 -0
- package/dist/chunk-Y424YL55.js +59 -0
- package/dist/chunk-Y424YL55.js.map +1 -0
- package/dist/chunk-Y4QNLW7W.js +300 -0
- package/dist/chunk-Y4QNLW7W.js.map +1 -0
- package/dist/chunk-Y7ZJZLJY.js +2657 -0
- package/dist/chunk-Y7ZJZLJY.js.map +1 -0
- package/dist/chunk-YGS2TRMP.js +38 -0
- package/dist/chunk-YGS2TRMP.js.map +1 -0
- package/dist/chunk-YUMOM3KE.js +167 -0
- package/dist/chunk-YUMOM3KE.js.map +1 -0
- package/dist/chunk-YW2AKBLS.cjs +23 -0
- package/dist/chunk-YW2AKBLS.cjs.map +1 -0
- package/dist/chunk-ZNUMOJOI.cjs +4 -0
- package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
- package/dist/chunk-ZSNFL736.cjs +306 -0
- package/dist/chunk-ZSNFL736.cjs.map +1 -0
- package/dist/components/Accordion/index.cjs +2 -2
- package/dist/components/Accordion/index.d.cts +6 -0
- package/dist/components/Accordion/index.d.ts +6 -0
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/ActionPlan/index.cjs +34 -0
- package/dist/components/ActionPlan/index.cjs.map +1 -0
- package/dist/components/ActionPlan/index.d.cts +65 -0
- package/dist/components/ActionPlan/index.d.ts +65 -0
- package/dist/components/ActionPlan/index.js +21 -0
- package/dist/components/ActionPlan/index.js.map +1 -0
- package/dist/components/ActivityFeed/index.cjs +31 -0
- package/dist/components/ActivityFeed/index.cjs.map +1 -0
- package/dist/components/ActivityFeed/index.d.cts +99 -0
- package/dist/components/ActivityFeed/index.d.ts +99 -0
- package/dist/components/ActivityFeed/index.js +18 -0
- package/dist/components/ActivityFeed/index.js.map +1 -0
- package/dist/components/Alert/index.d.cts +1 -1
- package/dist/components/Alert/index.d.ts +1 -1
- package/dist/components/AlertDialog/index.cjs +19 -5
- package/dist/components/AlertDialog/index.d.cts +94 -16
- package/dist/components/AlertDialog/index.d.ts +94 -16
- package/dist/components/AlertDialog/index.js +6 -4
- package/dist/components/AssociationList/index.cjs +29 -0
- package/dist/components/AssociationList/index.cjs.map +1 -0
- package/dist/components/AssociationList/index.d.cts +50 -0
- package/dist/components/AssociationList/index.d.ts +50 -0
- package/dist/components/AssociationList/index.js +16 -0
- package/dist/components/AssociationList/index.js.map +1 -0
- package/dist/components/AudioRecorder/index.d.cts +2 -2
- package/dist/components/AudioRecorder/index.d.ts +2 -2
- package/dist/components/Autocomplete/index.d.cts +8 -2
- package/dist/components/Autocomplete/index.d.ts +8 -2
- package/dist/components/Avatar/index.cjs +9 -7
- package/dist/components/Avatar/index.d.cts +46 -15
- package/dist/components/Avatar/index.d.ts +46 -15
- package/dist/components/Avatar/index.js +3 -1
- package/dist/components/AvatarGroup/index.cjs +20 -0
- package/dist/components/AvatarGroup/index.cjs.map +1 -0
- package/dist/components/AvatarGroup/index.d.cts +57 -0
- package/dist/components/AvatarGroup/index.d.ts +57 -0
- package/dist/components/AvatarGroup/index.js +7 -0
- package/dist/components/AvatarGroup/index.js.map +1 -0
- package/dist/components/Badge/index.cjs +3 -3
- package/dist/components/Badge/index.d.cts +16 -2
- package/dist/components/Badge/index.d.ts +16 -2
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/BoardView/index.cjs +24 -0
- package/dist/components/BoardView/index.cjs.map +1 -0
- package/dist/components/BoardView/index.d.cts +41 -0
- package/dist/components/BoardView/index.d.ts +41 -0
- package/dist/components/BoardView/index.js +7 -0
- package/dist/components/BoardView/index.js.map +1 -0
- package/dist/components/Button/index.cjs +5 -3
- package/dist/components/Button/index.d.cts +2 -1
- package/dist/components/Button/index.d.ts +2 -1
- package/dist/components/Button/index.js +3 -1
- package/dist/components/CalendarHeatmap/index.cjs +18 -0
- package/dist/components/CalendarHeatmap/index.cjs.map +1 -0
- package/dist/components/CalendarHeatmap/index.d.cts +47 -0
- package/dist/components/CalendarHeatmap/index.d.ts +47 -0
- package/dist/components/CalendarHeatmap/index.js +5 -0
- package/dist/components/CalendarHeatmap/index.js.map +1 -0
- package/dist/components/CalendarView/index.cjs +24 -0
- package/dist/components/CalendarView/index.cjs.map +1 -0
- package/dist/components/CalendarView/index.d.cts +39 -0
- package/dist/components/CalendarView/index.d.ts +39 -0
- package/dist/components/CalendarView/index.js +11 -0
- package/dist/components/CalendarView/index.js.map +1 -0
- package/dist/components/Card/index.d.cts +3 -3
- package/dist/components/Card/index.d.ts +3 -3
- package/dist/components/ClampedText/index.cjs +3 -2
- package/dist/components/ClampedText/index.js +2 -1
- package/dist/components/CollabStatus/index.cjs +6 -4
- package/dist/components/CollabStatus/index.d.cts +11 -0
- package/dist/components/CollabStatus/index.d.ts +11 -0
- package/dist/components/CollabStatus/index.js +3 -1
- package/dist/components/Collapsible/index.cjs +6 -6
- package/dist/components/Collapsible/index.d.cts +6 -0
- package/dist/components/Collapsible/index.d.ts +6 -0
- package/dist/components/Collapsible/index.js +3 -3
- package/dist/components/CompletenessMeter/index.cjs +23 -0
- package/dist/components/CompletenessMeter/index.cjs.map +1 -0
- package/dist/components/CompletenessMeter/index.d.cts +52 -0
- package/dist/components/CompletenessMeter/index.d.ts +52 -0
- package/dist/components/CompletenessMeter/index.js +6 -0
- package/dist/components/CompletenessMeter/index.js.map +1 -0
- package/dist/components/CountryCodeDropdown/index.cjs +5 -5
- package/dist/components/CountryCodeDropdown/index.js +2 -2
- package/dist/components/CustomizableDashboard/index.cjs +12 -10
- package/dist/components/CustomizableDashboard/index.js +5 -3
- package/dist/components/DateInput/index.d.cts +36 -4
- package/dist/components/DateInput/index.d.ts +36 -4
- package/dist/components/Dropdown/index.cjs +11 -10
- package/dist/components/Dropdown/index.d.cts +2 -1
- package/dist/components/Dropdown/index.d.ts +2 -1
- package/dist/components/Dropdown/index.js +4 -3
- package/dist/components/EmailEditor/index.cjs +67 -0
- package/dist/components/EmailEditor/index.cjs.map +1 -0
- package/dist/components/EmailEditor/index.d.cts +347 -0
- package/dist/components/EmailEditor/index.d.ts +347 -0
- package/dist/components/EmailEditor/index.js +26 -0
- package/dist/components/EmailEditor/index.js.map +1 -0
- package/dist/components/FieldHistory/index.cjs +34 -0
- package/dist/components/FieldHistory/index.cjs.map +1 -0
- package/dist/components/FieldHistory/index.d.cts +66 -0
- package/dist/components/FieldHistory/index.d.ts +66 -0
- package/dist/components/FieldHistory/index.js +21 -0
- package/dist/components/FieldHistory/index.js.map +1 -0
- package/dist/components/FloatingWindow/index.cjs +6 -4
- package/dist/components/FloatingWindow/index.js +4 -2
- package/dist/components/GanttView/index.cjs +20 -0
- package/dist/components/GanttView/index.cjs.map +1 -0
- package/dist/components/GanttView/index.d.cts +36 -0
- package/dist/components/GanttView/index.d.ts +36 -0
- package/dist/components/GanttView/index.js +7 -0
- package/dist/components/GanttView/index.js.map +1 -0
- package/dist/components/GlossaryTooltip/index.cjs +3 -3
- package/dist/components/GlossaryTooltip/index.js +2 -2
- package/dist/components/InlineEdit/index.cjs +20 -0
- package/dist/components/InlineEdit/index.cjs.map +1 -0
- package/dist/components/InlineEdit/index.d.cts +56 -0
- package/dist/components/InlineEdit/index.d.ts +56 -0
- package/dist/components/InlineEdit/index.js +7 -0
- package/dist/components/InlineEdit/index.js.map +1 -0
- package/dist/components/KeyboardShortcutsOverlay/index.cjs +5 -5
- package/dist/components/KeyboardShortcutsOverlay/index.js +3 -3
- package/dist/components/ListView/index.cjs +24 -0
- package/dist/components/ListView/index.cjs.map +1 -0
- package/dist/components/ListView/index.d.cts +124 -0
- package/dist/components/ListView/index.d.ts +124 -0
- package/dist/components/ListView/index.js +11 -0
- package/dist/components/ListView/index.js.map +1 -0
- package/dist/components/LogoUploader/index.cjs +18 -0
- package/dist/components/LogoUploader/index.cjs.map +1 -0
- package/dist/components/LogoUploader/index.d.cts +49 -0
- package/dist/components/LogoUploader/index.d.ts +49 -0
- package/dist/components/LogoUploader/index.js +5 -0
- package/dist/components/LogoUploader/index.js.map +1 -0
- package/dist/components/Markdown/index.cjs +21 -19
- package/dist/components/Markdown/index.js +9 -7
- package/dist/components/MediaEditor/index.cjs +16 -14
- package/dist/components/MediaEditor/index.d.cts +91 -2
- package/dist/components/MediaEditor/index.d.ts +91 -2
- package/dist/components/MediaEditor/index.js +11 -9
- package/dist/components/MediaFeed/index.cjs +29 -0
- package/dist/components/MediaFeed/index.cjs.map +1 -0
- package/dist/components/MediaFeed/index.d.cts +104 -0
- package/dist/components/MediaFeed/index.d.ts +104 -0
- package/dist/components/MediaFeed/index.js +20 -0
- package/dist/components/MediaFeed/index.js.map +1 -0
- package/dist/components/MediaPlayer/index.cjs +8 -6
- package/dist/components/MediaPlayer/index.d.cts +19 -1
- package/dist/components/MediaPlayer/index.d.ts +19 -1
- package/dist/components/MediaPlayer/index.js +5 -3
- package/dist/components/MegaMenu/index.cjs +7 -5
- package/dist/components/MegaMenu/index.js +4 -2
- package/dist/components/Modal/index.cjs +10 -10
- package/dist/components/Modal/index.js +2 -2
- package/dist/components/Pagination/index.d.cts +1 -1
- package/dist/components/Pagination/index.d.ts +1 -1
- package/dist/components/PhiMask/index.cjs +18 -0
- package/dist/components/PhiMask/index.cjs.map +1 -0
- package/dist/components/PhiMask/index.d.cts +45 -0
- package/dist/components/PhiMask/index.d.ts +45 -0
- package/dist/components/PhiMask/index.js +5 -0
- package/dist/components/PhiMask/index.js.map +1 -0
- package/dist/components/Progress/index.cjs +6 -6
- package/dist/components/Progress/index.d.cts +8 -2
- package/dist/components/Progress/index.d.ts +8 -2
- package/dist/components/Progress/index.js +1 -1
- package/dist/components/PropertyList/index.cjs +25 -0
- package/dist/components/PropertyList/index.cjs.map +1 -0
- package/dist/components/PropertyList/index.d.cts +87 -0
- package/dist/components/PropertyList/index.d.ts +87 -0
- package/dist/components/PropertyList/index.js +12 -0
- package/dist/components/PropertyList/index.js.map +1 -0
- package/dist/components/Q/index.d.cts +2 -2
- package/dist/components/Q/index.d.ts +2 -2
- package/dist/components/QuickAction/index.d.cts +1 -1
- package/dist/components/QuickAction/index.d.ts +1 -1
- package/dist/components/RadialExplorer/index.cjs +7 -5
- package/dist/components/RadialExplorer/index.js +6 -4
- package/dist/components/Rating/index.cjs +28 -0
- package/dist/components/Rating/index.cjs.map +1 -0
- package/dist/components/Rating/index.d.cts +85 -0
- package/dist/components/Rating/index.d.ts +85 -0
- package/dist/components/Rating/index.js +7 -0
- package/dist/components/Rating/index.js.map +1 -0
- package/dist/components/RecordButton/index.d.cts +1 -1
- package/dist/components/RecordButton/index.d.ts +1 -1
- package/dist/components/RecordHeader/index.cjs +29 -0
- package/dist/components/RecordHeader/index.cjs.map +1 -0
- package/dist/components/RecordHeader/index.d.cts +96 -0
- package/dist/components/RecordHeader/index.d.ts +96 -0
- package/dist/components/RecordHeader/index.js +16 -0
- package/dist/components/RecordHeader/index.js.map +1 -0
- package/dist/components/RecordLayout/index.cjs +21 -0
- package/dist/components/RecordLayout/index.cjs.map +1 -0
- package/dist/components/RecordLayout/index.d.cts +40 -0
- package/dist/components/RecordLayout/index.d.ts +40 -0
- package/dist/components/RecordLayout/index.js +8 -0
- package/dist/components/RecordLayout/index.js.map +1 -0
- package/dist/components/RichTextEditor/index.cjs +11 -8
- package/dist/components/RichTextEditor/index.d.cts +12 -2
- package/dist/components/RichTextEditor/index.d.ts +12 -2
- package/dist/components/RichTextEditor/index.js +8 -5
- package/dist/components/ScrollArea/index.d.cts +1 -1
- package/dist/components/ScrollArea/index.d.ts +1 -1
- package/dist/components/SectionSpyNav/index.cjs +5 -3
- package/dist/components/SectionSpyNav/index.js +4 -2
- package/dist/components/Select/index.cjs +4 -4
- package/dist/components/Select/index.d.cts +2 -2
- package/dist/components/Select/index.d.ts +2 -2
- package/dist/components/Select/index.js +2 -2
- package/dist/components/Skeleton/index.d.cts +1 -1
- package/dist/components/Skeleton/index.d.ts +1 -1
- package/dist/components/Slider/index.d.cts +2 -2
- package/dist/components/Slider/index.d.ts +2 -2
- package/dist/components/SliderCalculator/index.cjs +4 -4
- package/dist/components/SliderCalculator/index.js +2 -2
- package/dist/components/SourceTip/index.cjs +3 -3
- package/dist/components/SourceTip/index.js +2 -2
- package/dist/components/Spinner/index.d.cts +2 -2
- package/dist/components/Spinner/index.d.ts +2 -2
- package/dist/components/SuperChat/index.cjs +1300 -713
- package/dist/components/SuperChat/index.cjs.map +1 -1
- package/dist/components/SuperChat/index.d.cts +126 -8
- package/dist/components/SuperChat/index.d.ts +126 -8
- package/dist/components/SuperChat/index.js +1404 -817
- package/dist/components/SuperChat/index.js.map +1 -1
- package/dist/components/SuperChat/plugins/index.cjs +7 -6
- package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
- package/dist/components/SuperChat/plugins/index.d.cts +2 -3
- package/dist/components/SuperChat/plugins/index.d.ts +2 -3
- package/dist/components/SuperChat/plugins/index.js +6 -5
- package/dist/components/SuperChat/plugins/index.js.map +1 -1
- package/dist/components/Tabs/index.cjs +9 -7
- package/dist/components/Tabs/index.d.cts +12 -1
- package/dist/components/Tabs/index.d.ts +12 -1
- package/dist/components/Tabs/index.js +3 -1
- package/dist/components/TagEditor/index.cjs +22 -0
- package/dist/components/TagEditor/index.cjs.map +1 -0
- package/dist/components/TagEditor/index.d.cts +46 -0
- package/dist/components/TagEditor/index.d.ts +46 -0
- package/dist/components/TagEditor/index.js +9 -0
- package/dist/components/TagEditor/index.js.map +1 -0
- package/dist/components/Text/index.d.cts +3 -3
- package/dist/components/Text/index.d.ts +3 -3
- package/dist/components/Textarea/index.d.cts +2 -2
- package/dist/components/Textarea/index.d.ts +2 -2
- package/dist/components/ThemeProvider/index.cjs +9 -9
- package/dist/components/ThemeProvider/index.d.cts +3 -1
- package/dist/components/ThemeProvider/index.d.ts +3 -1
- package/dist/components/ThemeProvider/index.js +3 -3
- package/dist/components/Tooltip/index.cjs +3 -3
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/components/TranscriptView/index.d.cts +85 -4
- package/dist/components/TranscriptView/index.d.ts +85 -4
- package/dist/components/UserPicker/index.cjs +24 -0
- package/dist/components/UserPicker/index.cjs.map +1 -0
- package/dist/components/UserPicker/index.d.cts +60 -0
- package/dist/components/UserPicker/index.d.ts +60 -0
- package/dist/components/UserPicker/index.js +11 -0
- package/dist/components/UserPicker/index.js.map +1 -0
- package/dist/components/VideoCard/index.cjs +4 -4
- package/dist/components/VideoCard/index.js +2 -2
- package/dist/components/ViewSet/index.cjs +25 -0
- package/dist/components/ViewSet/index.cjs.map +1 -0
- package/dist/components/ViewSet/index.d.cts +201 -0
- package/dist/components/ViewSet/index.d.ts +201 -0
- package/dist/components/ViewSet/index.js +16 -0
- package/dist/components/ViewSet/index.js.map +1 -0
- package/dist/components/ViewSwitcher/index.cjs +20 -0
- package/dist/components/ViewSwitcher/index.cjs.map +1 -0
- package/dist/components/ViewSwitcher/index.d.cts +39 -0
- package/dist/components/ViewSwitcher/index.d.ts +39 -0
- package/dist/components/ViewSwitcher/index.js +7 -0
- package/dist/components/ViewSwitcher/index.js.map +1 -0
- package/dist/datavis.cjs +6 -4
- package/dist/datavis.cjs.map +1 -1
- package/dist/datavis.d.cts +167 -13
- package/dist/datavis.d.ts +167 -13
- package/dist/datavis.js +4 -2
- package/dist/datavis.js.map +1 -1
- package/dist/deck.cjs +3360 -0
- package/dist/deck.cjs.map +1 -0
- package/dist/deck.d.cts +712 -0
- package/dist/deck.d.ts +712 -0
- package/dist/deck.js +3316 -0
- package/dist/deck.js.map +1 -0
- package/dist/esheet.cjs +19 -16
- package/dist/esheet.cjs.map +1 -1
- package/dist/esheet.d.cts +183 -1
- package/dist/esheet.d.ts +183 -1
- package/dist/esheet.js +16 -13
- package/dist/esheet.js.map +1 -1
- package/dist/globe.cjs +2 -2
- package/dist/globe.js +1 -1
- package/dist/hooks/index.cjs +94 -35
- package/dist/hooks/index.d.cts +680 -36
- package/dist/hooks/index.d.ts +680 -36
- package/dist/hooks/index.js +10 -7
- package/dist/icons-wBacj6BW.d.cts +142 -0
- package/dist/icons-wBacj6BW.d.ts +142 -0
- package/dist/index.cjs +2152 -1276
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10375 -626
- package/dist/index.d.ts +10375 -626
- package/dist/index.js +740 -313
- package/dist/index.js.map +1 -1
- package/dist/kerebron.cjs +58 -19
- package/dist/kerebron.cjs.map +1 -1
- package/dist/kerebron.css +115 -0
- package/dist/kerebron.d.cts +37 -0
- package/dist/kerebron.d.ts +37 -0
- package/dist/kerebron.js +58 -19
- package/dist/kerebron.js.map +1 -1
- package/dist/maps.cjs +160 -0
- package/dist/maps.cjs.map +1 -0
- package/dist/maps.d.cts +42 -0
- package/dist/maps.d.ts +42 -0
- package/dist/maps.js +138 -0
- package/dist/maps.js.map +1 -0
- package/dist/motion.cjs +7 -7
- package/dist/motion.d.cts +186 -2
- package/dist/motion.d.ts +186 -2
- package/dist/motion.js +2 -2
- package/dist/org-chart.cjs +1302 -0
- package/dist/org-chart.cjs.map +1 -0
- package/dist/org-chart.d.cts +164 -0
- package/dist/org-chart.d.ts +164 -0
- package/dist/org-chart.js +1277 -0
- package/dist/org-chart.js.map +1 -0
- package/dist/q.d.cts +25 -3
- package/dist/q.d.ts +25 -3
- package/dist/styles/effects.css +133 -0
- package/dist/styles/init.css +22 -3
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/dist/templates.cjs +156 -0
- package/dist/templates.cjs.map +1 -0
- package/dist/templates.d.cts +734 -0
- package/dist/templates.d.ts +734 -0
- package/dist/templates.js +11 -0
- package/dist/templates.js.map +1 -0
- package/dist/types-CDeBNZiE.d.cts +92 -0
- package/dist/types-CDeBNZiE.d.ts +92 -0
- package/dist/types-Cx1FHLq2.d.cts +548 -0
- package/dist/types-Cx1FHLq2.d.ts +548 -0
- package/dist/types-DsdZvEI1.d.cts +92 -0
- package/dist/types-DsdZvEI1.d.ts +92 -0
- package/dist/utils/index.cjs +9 -9
- package/dist/utils/index.d.cts +13 -2
- package/dist/utils/index.d.ts +13 -2
- package/dist/utils/index.js +1 -1
- package/package.json +82 -13
- package/dist/Animated-XmH6k8pZ.d.cts +0 -188
- package/dist/Animated-XmH6k8pZ.d.ts +0 -188
- package/dist/CsvBlock-ROJCKJDP.cjs +0 -16
- package/dist/CsvBlock-UWPMTLE2.js +0 -7
- package/dist/HtmlPreviewBlock-DWFN6EUB.cjs +0 -16
- package/dist/HtmlPreviewBlock-ME5U3XNS.js +0 -7
- package/dist/MedicationEditor-Bp4NLy7y.d.cts +0 -352
- package/dist/MedicationEditor-Bp4NLy7y.d.ts +0 -352
- package/dist/MermaidBlock-2B6CPD6Y.js +0 -7
- package/dist/MermaidBlock-D2UC5M55.cjs +0 -16
- package/dist/SurveyBlock-4CD4AYMJ.cjs +0 -16
- package/dist/SurveyBlock-4DO62RBT.js +0 -7
- package/dist/chunk-22CYDCXA.js.map +0 -1
- package/dist/chunk-2YCERQWC.js.map +0 -1
- package/dist/chunk-3T7QGLNB.js.map +0 -1
- package/dist/chunk-5JJ2DAE4.js.map +0 -1
- package/dist/chunk-6HFFWEM3.cjs +0 -22
- package/dist/chunk-6HFFWEM3.cjs.map +0 -1
- package/dist/chunk-7ZDPD5ZX.cjs.map +0 -1
- package/dist/chunk-7ZVTLTJF.js +0 -109
- package/dist/chunk-7ZVTLTJF.js.map +0 -1
- package/dist/chunk-ACCAXVOG.js.map +0 -1
- package/dist/chunk-BMSG4NBH.js +0 -56
- package/dist/chunk-BMSG4NBH.js.map +0 -1
- package/dist/chunk-CEQJGUAS.js.map +0 -1
- package/dist/chunk-DVOQ3JNO.js.map +0 -1
- package/dist/chunk-E4IBHYJ7.cjs +0 -80
- package/dist/chunk-E4IBHYJ7.cjs.map +0 -1
- package/dist/chunk-ELPW32ZI.cjs.map +0 -1
- package/dist/chunk-GD7EBGC4.cjs.map +0 -1
- package/dist/chunk-GOALNQZ2.js.map +0 -1
- package/dist/chunk-HB7C7NB5.js +0 -20
- package/dist/chunk-HB7C7NB5.js.map +0 -1
- package/dist/chunk-HZ4MBUC3.js.map +0 -1
- package/dist/chunk-JEIW7BSV.cjs.map +0 -1
- package/dist/chunk-JHULS3EC.js +0 -130
- package/dist/chunk-JHULS3EC.js.map +0 -1
- package/dist/chunk-JI244Y7C.js.map +0 -1
- package/dist/chunk-JYZW2PZS.cjs.map +0 -1
- package/dist/chunk-KRU6IGV7.js.map +0 -1
- package/dist/chunk-NV2CWBI2.cjs.map +0 -1
- package/dist/chunk-OE5CKRUC.js.map +0 -1
- package/dist/chunk-P2CA3XGI.js.map +0 -1
- package/dist/chunk-P7UMS4E6.cjs.map +0 -1
- package/dist/chunk-SQHMGT4W.js.map +0 -1
- package/dist/chunk-SVSHA7XV.js.map +0 -1
- package/dist/chunk-U42F3HLE.cjs.map +0 -1
- package/dist/chunk-VKELAMAZ.js.map +0 -1
- package/dist/chunk-VNYW4C4J.cjs.map +0 -1
- package/dist/chunk-VOKVG3ER.js +0 -78
- package/dist/chunk-VOKVG3ER.js.map +0 -1
- package/dist/chunk-VPIYTQCV.cjs.map +0 -1
- package/dist/chunk-VPWJCJCX.cjs.map +0 -1
- package/dist/chunk-VROIMIHB.cjs.map +0 -1
- package/dist/chunk-WIAQQNFU.cjs.map +0 -1
- package/dist/chunk-WNAA6CLE.cjs +0 -143
- package/dist/chunk-WNAA6CLE.cjs.map +0 -1
- package/dist/chunk-WNJRS7Y7.cjs.map +0 -1
- package/dist/chunk-X4LBUPJO.cjs.map +0 -1
- package/dist/chunk-X4XPNTCZ.cjs.map +0 -1
- package/dist/chunk-XCP454Q6.js.map +0 -1
- package/dist/chunk-XEAT7XJG.cjs.map +0 -1
- package/dist/chunk-YVL3XATO.cjs +0 -79
- package/dist/chunk-YVL3XATO.cjs.map +0 -1
- package/dist/chunk-YVPC65ZJ.cjs.map +0 -1
- package/dist/html-MdxqSzjD.d.cts +0 -13
- package/dist/html-MdxqSzjD.d.ts +0 -13
- package/dist/orderRows-BUJYgSc7.d.cts +0 -221
- package/dist/orderRows-BUJYgSc7.d.ts +0 -221
- package/dist/transcript-Cg7uSW-C.d.cts +0 -84
- package/dist/transcript-Cg7uSW-C.d.ts +0 -84
- package/dist/types-B97JNRNQ.d.cts +0 -251
- package/dist/types-CnPEwzlp.d.cts +0 -254
- package/dist/types-CnPEwzlp.d.ts +0 -254
- package/dist/types-gZXrfLj6.d.ts +0 -251
- package/dist/useAnchoredPosition-CKwLSQW8.d.cts +0 -76
- package/dist/useAnchoredPosition-CKwLSQW8.d.ts +0 -76
- package/dist/useTheme-B9SWu6ui.d.cts +0 -24
- package/dist/useTheme-B9SWu6ui.d.ts +0 -24
- package/dist/useTranscriptEdits-CGzlemHT.d.cts +0 -182
- package/dist/useTranscriptEdits-D32bLs0l.d.ts +0 -182
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,45 +1,28 @@
|
|
|
1
|
-
export { R as ResolvedTheme, T as Theme, u as useTheme } from '../useTheme-B9SWu6ui.js';
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
import { RefObject } from 'react';
|
|
4
|
-
export { A as AnchoredPlacement, U as UseAnchoredPositionOptions, a as UseAnchoredPositionReturn, u as useAnchoredPosition } from '../useAnchoredPosition-CKwLSQW8.js';
|
|
5
|
-
export { D as DEFAULT_FILLER_WORDS, a as DEFAULT_MIN_SILENCE_MS, b as DEFAULT_NL_SILENCE_MS, F as FillerAnalysis, S as SilenceThresholdCount, T as TranscriptClipboard, c as TranscriptEditStats, U as UseTranscriptEditsOptions, d as UseTranscriptEditsResult, e as buildPlaybackSegments, g as getSpeedAtIndex, i as initEditableWords, f as insertSilences, u as useTranscriptEdits } from '../useTranscriptEdits-D32bLs0l.js';
|
|
6
|
-
import '../transcript-Cg7uSW-C.js';
|
|
7
3
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
selectors?: string;
|
|
11
|
-
/** Explicit list of element IDs to observe (alternative to selectors) */
|
|
12
|
-
ids?: string[];
|
|
13
|
-
/** IntersectionObserver root margin (default: '0px 0px -60% 0px') */
|
|
14
|
-
rootMargin?: string;
|
|
15
|
-
/** IntersectionObserver threshold (default: 0) */
|
|
16
|
-
threshold?: number | number[];
|
|
17
|
-
/** Scroll container element ref. Defaults to document viewport. */
|
|
18
|
-
root?: RefObject<HTMLElement | null>;
|
|
19
|
-
/** Whether the hook is active (default: true) */
|
|
20
|
-
enabled?: boolean;
|
|
21
|
-
}
|
|
22
|
-
interface UseScrollSpyReturn {
|
|
23
|
-
/** The ID of the currently active (in-view) element */
|
|
24
|
-
activeId: string | null;
|
|
25
|
-
}
|
|
4
|
+
type Theme = 'light' | 'dark' | 'system';
|
|
5
|
+
type ResolvedTheme = 'light' | 'dark';
|
|
26
6
|
/**
|
|
27
|
-
*
|
|
28
|
-
* Pairs naturally with `TableOfContents` to highlight the active heading.
|
|
7
|
+
* Hook for managing theme state with localStorage persistence and system preference support.
|
|
29
8
|
*
|
|
30
9
|
* @example
|
|
31
10
|
* ```tsx
|
|
32
|
-
* function
|
|
33
|
-
* const {
|
|
11
|
+
* function ThemeToggle() {
|
|
12
|
+
* const { theme, setTheme, resolvedTheme } = useTheme();
|
|
34
13
|
* return (
|
|
35
|
-
* <
|
|
36
|
-
*
|
|
37
|
-
* </
|
|
14
|
+
* <button onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}>
|
|
15
|
+
* {resolvedTheme === 'dark' ? '☀️' : '🌙'}
|
|
16
|
+
* </button>
|
|
38
17
|
* );
|
|
39
18
|
* }
|
|
40
19
|
* ```
|
|
41
20
|
*/
|
|
42
|
-
declare function
|
|
21
|
+
declare function useTheme(): {
|
|
22
|
+
theme: Theme;
|
|
23
|
+
setTheme: (newTheme: Theme) => void;
|
|
24
|
+
resolvedTheme: ResolvedTheme;
|
|
25
|
+
};
|
|
43
26
|
|
|
44
27
|
/** Read the current dark-mode state from the document root. */
|
|
45
28
|
declare function isDarkMode(): boolean;
|
|
@@ -125,6 +108,79 @@ declare function usePrefersReducedMotion(): boolean;
|
|
|
125
108
|
*/
|
|
126
109
|
declare function useClickOutside<T extends HTMLElement>(ref: RefObject<T | null> | ReadonlyArray<RefObject<HTMLElement | null>>, callback: () => void, enabled?: boolean): void;
|
|
127
110
|
|
|
111
|
+
type AnchoredPlacement = 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top' | 'right-start' | 'right-end' | 'right' | 'left-start' | 'left-end' | 'left';
|
|
112
|
+
type AnchoredSide = 'top' | 'bottom' | 'left' | 'right';
|
|
113
|
+
interface UseAnchoredPositionOptions {
|
|
114
|
+
/** Whether the floating element is currently shown */
|
|
115
|
+
open: boolean;
|
|
116
|
+
/** Preferred placement relative to the anchor (flips when out of space) */
|
|
117
|
+
placement?: AnchoredPlacement;
|
|
118
|
+
/** Gap between the anchor and the floating element, in px */
|
|
119
|
+
offset?: number;
|
|
120
|
+
/** Force the floating element to the anchor's width */
|
|
121
|
+
matchWidth?: boolean;
|
|
122
|
+
/** Use the anchor's width as the floating element's minimum width */
|
|
123
|
+
matchMinWidth?: boolean;
|
|
124
|
+
/** Minimum distance from the viewport edges, in px */
|
|
125
|
+
viewportPadding?: number;
|
|
126
|
+
/** Flip to the opposite vertical side when the preferred side is cramped */
|
|
127
|
+
allowFlip?: boolean;
|
|
128
|
+
/** Optional element whose visible rectangle also constrains the popup */
|
|
129
|
+
boundaryRef?: React.RefObject<HTMLElement | null>;
|
|
130
|
+
/**
|
|
131
|
+
* Additional cap on the floating element's height, in px. The height is
|
|
132
|
+
* always clamped to the available viewport space; this only lowers that
|
|
133
|
+
* limit further (omitting it does not remove the viewport constraint).
|
|
134
|
+
*/
|
|
135
|
+
maxHeight?: number;
|
|
136
|
+
}
|
|
137
|
+
interface UseAnchoredPositionReturn<TAnchor extends HTMLElement, TFloating extends HTMLElement> {
|
|
138
|
+
/** Attach to the element the popup is anchored to (trigger/input) */
|
|
139
|
+
anchorRef: React.RefObject<TAnchor | null>;
|
|
140
|
+
/** Attach to the floating element (menu/listbox/panel) */
|
|
141
|
+
floatingRef: React.RefObject<TFloating | null>;
|
|
142
|
+
/** Fixed-position style for the floating element — spread onto it */
|
|
143
|
+
style: React.CSSProperties;
|
|
144
|
+
/**
|
|
145
|
+
* Side of the anchor in use after flipping.
|
|
146
|
+
*
|
|
147
|
+
* Widened from `'top' | 'bottom'` to {@link AnchoredSide} in 0.8.0 alongside
|
|
148
|
+
* the new horizontal (`left*` / `right*`) placements — consumers that
|
|
149
|
+
* annotate this as `'top' | 'bottom'` need to widen their annotation.
|
|
150
|
+
*/
|
|
151
|
+
actualSide: AnchoredSide;
|
|
152
|
+
/** Recompute the position (e.g. after async content loads) */
|
|
153
|
+
update: () => void;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Positions a floating element (dropdown menu, autocomplete listbox,
|
|
157
|
+
* date-picker calendar, …) relative to an anchor using `position: fixed`,
|
|
158
|
+
* so it is never clipped by `overflow: hidden` ancestors.
|
|
159
|
+
*
|
|
160
|
+
* Render the floating element through `createPortal(..., document.body)`
|
|
161
|
+
* and spread the returned `style` onto it. The hook:
|
|
162
|
+
* - flips vertically when there is not enough space on the preferred side
|
|
163
|
+
* - clamps horizontally to the viewport or optional boundary element
|
|
164
|
+
* - constrains `maxHeight` to the available space (add `overflow-auto`)
|
|
165
|
+
* - tracks scroll, resize, and anchor/content size changes while open
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```tsx
|
|
169
|
+
* const { anchorRef, floatingRef, style } = useAnchoredPosition<
|
|
170
|
+
* HTMLButtonElement,
|
|
171
|
+
* HTMLDivElement
|
|
172
|
+
* >({ open, placement: 'bottom-start' });
|
|
173
|
+
*
|
|
174
|
+
* <button ref={anchorRef} onClick={() => setOpen(!open)}>Open</button>
|
|
175
|
+
* {open &&
|
|
176
|
+
* createPortal(
|
|
177
|
+
* <div ref={floatingRef} style={style} className="overflow-auto …">…</div>,
|
|
178
|
+
* document.body
|
|
179
|
+
* )}
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
declare function useAnchoredPosition<TAnchor extends HTMLElement = HTMLElement, TFloating extends HTMLElement = HTMLElement>({ open, placement, offset, matchWidth, matchMinWidth, viewportPadding, allowFlip, boundaryRef, maxHeight, }: UseAnchoredPositionOptions): UseAnchoredPositionReturn<TAnchor, TFloating>;
|
|
183
|
+
|
|
128
184
|
/**
|
|
129
185
|
* Hook that triggers a callback when the Escape key is pressed.
|
|
130
186
|
* Useful for closing modals, dropdowns, and other overlays.
|
|
@@ -164,6 +220,113 @@ declare function useEscapeKey(callback: () => void, enabled?: boolean): void;
|
|
|
164
220
|
*/
|
|
165
221
|
declare function useFocusTrap<T extends HTMLElement>(enabled?: boolean): RefObject<T | null>;
|
|
166
222
|
|
|
223
|
+
/** CSS custom properties written to `<html>` while the hook is mounted. */
|
|
224
|
+
declare const KEYBOARD_INSET_VAR = "--mieweb-keyboard-inset";
|
|
225
|
+
declare const VISUAL_VIEWPORT_HEIGHT_VAR = "--mieweb-visual-viewport-height";
|
|
226
|
+
declare const VISUAL_VIEWPORT_OFFSET_TOP_VAR = "--mieweb-visual-viewport-offset-top";
|
|
227
|
+
/** Boolean attribute set on `<html>` while an on-screen keyboard is open. */
|
|
228
|
+
declare const KEYBOARD_OPEN_ATTRIBUTE = "data-keyboard-open";
|
|
229
|
+
/** Attribute on `<html>` naming the active {@link KeyboardInsetSource}. */
|
|
230
|
+
declare const KEYBOARD_SOURCE_ATTRIBUTE = "data-keyboard-source";
|
|
231
|
+
/**
|
|
232
|
+
* Where keyboard metrics come from.
|
|
233
|
+
*
|
|
234
|
+
* - `'visual-viewport'` — the Visual Viewport API. Works in any browser, but
|
|
235
|
+
* iOS only reports the keyboard once its slide-in animation has finished.
|
|
236
|
+
* - `'native'` — `keyboardWillShow` / `keyboardWillHide` window events with a
|
|
237
|
+
* `keyboardHeight` property, as fired by `cordova-plugin-ionic-keyboard` and
|
|
238
|
+
* Capacitor's Keyboard plugin. They arrive *before* the keyboard animates,
|
|
239
|
+
* so layout can move in step with it.
|
|
240
|
+
*/
|
|
241
|
+
type KeyboardInsetSource = 'visual-viewport' | 'native';
|
|
242
|
+
interface KeyboardInsetState {
|
|
243
|
+
/** Pixels of the layout viewport covered by the on-screen keyboard. */
|
|
244
|
+
keyboardInset: number;
|
|
245
|
+
/** Whether an on-screen keyboard currently covers part of the page. */
|
|
246
|
+
isKeyboardOpen: boolean;
|
|
247
|
+
}
|
|
248
|
+
interface UseKeyboardInsetOptions {
|
|
249
|
+
/** Track the keyboard; `false` stops tracking and clears the CSS variables. @default true */
|
|
250
|
+
enabled?: boolean;
|
|
251
|
+
/** Where keyboard metrics come from. @default 'visual-viewport' */
|
|
252
|
+
source?: KeyboardInsetSource;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Tracks the on-screen keyboard and publishes it on `<html>`.
|
|
256
|
+
*
|
|
257
|
+
* ### `source: 'native'` (Cordova / Capacitor apps)
|
|
258
|
+
*
|
|
259
|
+
* Listens for the native keyboard plugin's `keyboardWillShow` /
|
|
260
|
+
* `keyboardWillHide` window events. Configure the plugin so the WebView is
|
|
261
|
+
* neither resized nor panned (for `cordova-plugin-ionic-keyboard`:
|
|
262
|
+
* `KeyboardResize=false`), keep the app shell at full height, and move only
|
|
263
|
+
* the composer dock by `--mieweb-keyboard-inset` with a short transition
|
|
264
|
+
* (~250ms) so it rides up with the keyboard. Only `--mieweb-keyboard-inset`,
|
|
265
|
+
* `data-keyboard-open` and `data-keyboard-source` are published; the
|
|
266
|
+
* visual-viewport variables stay unset.
|
|
267
|
+
*
|
|
268
|
+
* ### `source: 'visual-viewport'` (browsers, default)
|
|
269
|
+
*
|
|
270
|
+
* Uses the Visual Viewport API.
|
|
271
|
+
*
|
|
272
|
+
* iOS Safari and WKWebView (Cordova) ignore
|
|
273
|
+
* `interactive-widget=resizes-content`, and `dvh` does not shrink for the
|
|
274
|
+
* keyboard: the page keeps its full height and iOS pans the visual viewport
|
|
275
|
+
* to reveal the focused input, pushing headers off-screen. This hook
|
|
276
|
+
* measures what is actually visible and publishes it on `<html>` so an app
|
|
277
|
+
* shell can follow the visible area instead:
|
|
278
|
+
*
|
|
279
|
+
* - `--mieweb-keyboard-inset` — keyboard height in px (0 when closed)
|
|
280
|
+
* - `--mieweb-visual-viewport-height` — visible height in px
|
|
281
|
+
* - `--mieweb-visual-viewport-offset-top` — how far iOS panned the page
|
|
282
|
+
* - `data-keyboard-open` — present while the keyboard is open
|
|
283
|
+
*
|
|
284
|
+
* On browsers that already resize the layout for the keyboard (Chrome on
|
|
285
|
+
* Android with `interactive-widget=resizes-content`) the inset stays 0 and
|
|
286
|
+
* the variables simply mirror the layout viewport.
|
|
287
|
+
*
|
|
288
|
+
* iOS reports the visual viewport only after the keyboard has finished
|
|
289
|
+
* animating, so a shell sized this way snaps into place once the keyboard
|
|
290
|
+
* lands. Prefer `source: 'native'` wherever a native keyboard plugin exists.
|
|
291
|
+
*
|
|
292
|
+
* Mount it once, near the app root.
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* ```tsx
|
|
296
|
+
* function AppShell({ children }) {
|
|
297
|
+
* useKeyboardInset();
|
|
298
|
+
* return (
|
|
299
|
+
* <div
|
|
300
|
+
* style={{
|
|
301
|
+
* height: 'var(--mieweb-visual-viewport-height, 100dvh)',
|
|
302
|
+
* transform: 'translateY(var(--mieweb-visual-viewport-offset-top, 0px))',
|
|
303
|
+
* }}
|
|
304
|
+
* >
|
|
305
|
+
* {children}
|
|
306
|
+
* </div>
|
|
307
|
+
* );
|
|
308
|
+
* }
|
|
309
|
+
* ```
|
|
310
|
+
*
|
|
311
|
+
* @example Native app (keyboard plugin with WebView resizing disabled)
|
|
312
|
+
* ```tsx
|
|
313
|
+
* function ComposerDock({ children }) {
|
|
314
|
+
* useKeyboardInset({ source: 'native' });
|
|
315
|
+
* return (
|
|
316
|
+
* <div
|
|
317
|
+
* style={{
|
|
318
|
+
* paddingBottom: 'calc(var(--mieweb-keyboard-inset, 0px) + 0.5rem)',
|
|
319
|
+
* transition: 'padding-bottom 250ms ease',
|
|
320
|
+
* }}
|
|
321
|
+
* >
|
|
322
|
+
* {children}
|
|
323
|
+
* </div>
|
|
324
|
+
* );
|
|
325
|
+
* }
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
declare function useKeyboardInset(options?: UseKeyboardInsetOptions): KeyboardInsetState;
|
|
329
|
+
|
|
167
330
|
/**
|
|
168
331
|
* Options for keyboard shortcut hook
|
|
169
332
|
*/
|
|
@@ -259,15 +422,67 @@ declare function useIsLargeDesktop(): boolean;
|
|
|
259
422
|
/** Returns true when viewport is smaller than 1024px (mobile/tablet) */
|
|
260
423
|
declare function useIsMobileOrTablet(): boolean;
|
|
261
424
|
|
|
425
|
+
interface UseScrollSpyOptions {
|
|
426
|
+
/** CSS selector for the elements to observe (e.g. 'h2, h3, h4') */
|
|
427
|
+
selectors?: string;
|
|
428
|
+
/** Explicit list of element IDs to observe (alternative to selectors) */
|
|
429
|
+
ids?: string[];
|
|
430
|
+
/** IntersectionObserver root margin (default: '0px 0px -60% 0px') */
|
|
431
|
+
rootMargin?: string;
|
|
432
|
+
/** IntersectionObserver threshold (default: 0) */
|
|
433
|
+
threshold?: number | number[];
|
|
434
|
+
/** Scroll container element ref. Defaults to document viewport. */
|
|
435
|
+
root?: RefObject<HTMLElement | null>;
|
|
436
|
+
/** Whether the hook is active (default: true) */
|
|
437
|
+
enabled?: boolean;
|
|
438
|
+
}
|
|
439
|
+
interface UseScrollSpyReturn {
|
|
440
|
+
/** The ID of the currently active (in-view) element */
|
|
441
|
+
activeId: string | null;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Tracks which section is currently in the viewport using IntersectionObserver.
|
|
445
|
+
* Pairs naturally with `TableOfContents` to highlight the active heading.
|
|
446
|
+
*
|
|
447
|
+
* @example
|
|
448
|
+
* ```tsx
|
|
449
|
+
* function DocsPage() {
|
|
450
|
+
* const { activeId } = useScrollSpy({ selectors: 'h2, h3' });
|
|
451
|
+
* return (
|
|
452
|
+
* <aside>
|
|
453
|
+
* <TableOfContents activeId={activeId} />
|
|
454
|
+
* </aside>
|
|
455
|
+
* );
|
|
456
|
+
* }
|
|
457
|
+
* ```
|
|
458
|
+
*/
|
|
459
|
+
declare function useScrollSpy({ selectors, ids, rootMargin, threshold, root, enabled, }?: UseScrollSpyOptions): UseScrollSpyReturn;
|
|
460
|
+
|
|
262
461
|
/** Insert `draggedId` before/after `targetId` in `ids`. */
|
|
263
462
|
declare function reorderIds(ids: string[], draggedId: string, targetId: string, after: boolean): string[];
|
|
463
|
+
/** Move `id` by `delta` positions (clamped). Returns `ids` unchanged when it can't move. */
|
|
464
|
+
declare function moveIdBy(ids: string[], id: string, delta: number): string[];
|
|
465
|
+
interface DragReorderLabels {
|
|
466
|
+
moveUp: string;
|
|
467
|
+
moveDown: string;
|
|
468
|
+
/** Announced after a keyboard/button move */
|
|
469
|
+
moved: (position: number, total: number, id: string) => string;
|
|
470
|
+
}
|
|
471
|
+
declare const DEFAULT_DRAG_REORDER_LABELS: DragReorderLabels;
|
|
264
472
|
interface UseDragReorderOptions {
|
|
265
473
|
/** Current flat order of item ids (props order) */
|
|
266
474
|
ids: string[];
|
|
267
|
-
/** Called with the full new id order after a drop. Omit to disable
|
|
475
|
+
/** Called with the full new id order after a drop or move. Omit to disable reordering. */
|
|
268
476
|
onReorder?: (ids: string[]) => void;
|
|
269
477
|
/** Restrict drops, e.g. to the same status group */
|
|
270
478
|
canDropOn?: (draggedId: string, targetId: string) => boolean;
|
|
479
|
+
/** Add Alt+ArrowUp / Alt+ArrowDown handling (and `tabIndex={0}`) to `rowProps`. Off by default so rows with their own `onKeyDown` keep working. */
|
|
480
|
+
keyboard?: boolean;
|
|
481
|
+
/** Receives move announcements instead of the returned `announcement` string. */
|
|
482
|
+
announce?: (message: string) => void;
|
|
483
|
+
/** Element rendered as the drag image (`dataTransfer.setDragImage`). */
|
|
484
|
+
getDragPreview?: (id: string) => Element | null;
|
|
485
|
+
labels?: Partial<DragReorderLabels>;
|
|
271
486
|
}
|
|
272
487
|
interface DragOverState {
|
|
273
488
|
id: string;
|
|
@@ -283,6 +498,17 @@ interface UseDragReorderReturn {
|
|
|
283
498
|
over: DragOverState | null;
|
|
284
499
|
/** Spread onto each row element (must be keyed by a stable id) */
|
|
285
500
|
rowProps: (id: string) => React.HTMLAttributes<HTMLElement>;
|
|
501
|
+
/** Move an item by `delta` positions; no-op at the ends or across `canDropOn` boundaries. */
|
|
502
|
+
moveBy: (id: string, delta: number) => void;
|
|
503
|
+
/** Props for a visible move button */
|
|
504
|
+
moveButtonProps: (id: string, direction: 'up' | 'down', label?: string) => {
|
|
505
|
+
type: 'button';
|
|
506
|
+
onClick: (e: React.MouseEvent) => void;
|
|
507
|
+
disabled: boolean;
|
|
508
|
+
'aria-label': string;
|
|
509
|
+
};
|
|
510
|
+
/** Latest move message; render in an `aria-live="polite"` region (empty when `announce` is given). */
|
|
511
|
+
announcement: string;
|
|
286
512
|
}
|
|
287
513
|
/**
|
|
288
514
|
* HTML5 drag-and-drop list reordering. Rows spread `rowProps(id)`; on drop the
|
|
@@ -290,19 +516,77 @@ interface UseDragReorderReturn {
|
|
|
290
516
|
* consumer persists it (e.g. on the encounter/patient object) and feeds the
|
|
291
517
|
* list back in props order.
|
|
292
518
|
*
|
|
293
|
-
* Drag-and-drop is
|
|
294
|
-
*
|
|
519
|
+
* Drag-and-drop is pointer-only, so pair it with `moveButtonProps` buttons
|
|
520
|
+
* and/or `keyboard: true` (Alt+↑/↓ on focused rows), and render
|
|
521
|
+
* `announcement` in a polite live region.
|
|
295
522
|
*
|
|
296
523
|
* @example
|
|
297
524
|
* ```tsx
|
|
298
|
-
* const drag = useDragReorder({ ids: items.map((i) => i.id), onReorder });
|
|
525
|
+
* const drag = useDragReorder({ ids: items.map((i) => i.id), onReorder, keyboard: true });
|
|
299
526
|
* // <li {...drag.rowProps(item.id)} className={cn(dragIndicatorClasses(drag, item.id))}>
|
|
527
|
+
* // <button {...drag.moveButtonProps(item.id, 'up')}><ChevronUp /></button>
|
|
528
|
+
* // <div aria-live="polite" className="sr-only">{drag.announcement}</div>
|
|
300
529
|
* ```
|
|
301
530
|
*/
|
|
302
|
-
declare function useDragReorder({ ids, onReorder, canDropOn, }: UseDragReorderOptions): UseDragReorderReturn;
|
|
531
|
+
declare function useDragReorder({ ids, onReorder, canDropOn, keyboard, announce, getDragPreview, labels: labelsProp, }: UseDragReorderOptions): UseDragReorderReturn;
|
|
303
532
|
/** Tailwind classes for the drag state of a row: drop indicator + dragging dim. */
|
|
304
533
|
declare function dragIndicatorClasses(drag: Pick<UseDragReorderReturn, 'draggingId' | 'over'>, id: string): string;
|
|
305
534
|
|
|
535
|
+
interface OrderPersistenceAdapter {
|
|
536
|
+
/** Previously saved order, or null when there is none */
|
|
537
|
+
load: () => string[] | null | Promise<string[] | null>;
|
|
538
|
+
save: (order: string[]) => void | Promise<void>;
|
|
539
|
+
}
|
|
540
|
+
interface UseOrderPersistenceOptions extends OrderPersistenceAdapter {
|
|
541
|
+
/** Delay before `save` runs; rapid changes collapse into one save. */
|
|
542
|
+
debounceMs?: number;
|
|
543
|
+
/** Called when `load` or `save` throws or rejects */
|
|
544
|
+
onError?: (error: unknown) => void;
|
|
545
|
+
}
|
|
546
|
+
interface UseOrderPersistenceReturn {
|
|
547
|
+
/** Saved order merged with the current `ids` */
|
|
548
|
+
order: string[];
|
|
549
|
+
/** Update the order immediately and schedule a debounced save */
|
|
550
|
+
setOrder: (order: string[]) => void;
|
|
551
|
+
}
|
|
552
|
+
/** Keep saved ids that still exist, then append new ids in their given order. */
|
|
553
|
+
declare function mergeOrder(saved: string[] | null, ids: string[]): string[];
|
|
554
|
+
/**
|
|
555
|
+
* Persist a user's item order (sections, widgets, list rows) through any
|
|
556
|
+
* storage. Updates are optimistic, saves are debounced and a pending save is
|
|
557
|
+
* flushed on unmount and on `pagehide` (navigation, refresh, tab close). On
|
|
558
|
+
* `pagehide` only work `save` starts synchronously is guaranteed — use
|
|
559
|
+
* localStorage or `navigator.sendBeacon` there; an async `fetch` may be cut
|
|
560
|
+
* off. `load` runs once after mount, so server and first client render use
|
|
561
|
+
* `ids` order.
|
|
562
|
+
*
|
|
563
|
+
* @example
|
|
564
|
+
* ```tsx
|
|
565
|
+
* const adapter = React.useMemo(() => localStorageOrderAdapter('clinic-sections'), []);
|
|
566
|
+
* const { order, setOrder } = useOrderPersistence(sectionIds, adapter);
|
|
567
|
+
* const drag = useDragReorder({ ids: order, onReorder: setOrder });
|
|
568
|
+
* ```
|
|
569
|
+
*/
|
|
570
|
+
declare function useOrderPersistence(ids: string[], { load, save, debounceMs, onError }: UseOrderPersistenceOptions): UseOrderPersistenceReturn;
|
|
571
|
+
/** `useOrderPersistence` adapter backed by `localStorage` (no-op on the server or when storage is blocked). */
|
|
572
|
+
declare function localStorageOrderAdapter(key: string): OrderPersistenceAdapter;
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* Keeps a tab (or any one-of-N view) selection in a URL query parameter so it
|
|
576
|
+
* survives reloads and can be shared. Writes with `history.replaceState` (no
|
|
577
|
+
* router, no history entry), drops the parameter when the value equals
|
|
578
|
+
* `defaultValue`, follows back/forward via `popstate`, and ignores values not
|
|
579
|
+
* in `allowed`. SSR-safe: renders `defaultValue` on the server and during
|
|
580
|
+
* hydration.
|
|
581
|
+
*
|
|
582
|
+
* @example
|
|
583
|
+
* ```tsx
|
|
584
|
+
* const [tab, setTab] = useUrlTab('tab', 'summary', ['summary', 'history'] as const);
|
|
585
|
+
* <Tabs value={tab} onValueChange={(v) => setTab(v as typeof tab)}>…</Tabs>
|
|
586
|
+
* ```
|
|
587
|
+
*/
|
|
588
|
+
declare function useUrlTab<T extends string>(param: string, defaultValue: T, allowed: readonly T[]): [T, (value: T) => void];
|
|
589
|
+
|
|
306
590
|
/**
|
|
307
591
|
* State for an `aria-live` region that re-announces even when the same
|
|
308
592
|
* message is emitted twice in a row. Setting identical React state bails out
|
|
@@ -319,6 +603,106 @@ declare function dragIndicatorClasses(drag: Pick<UseDragReorderReturn, 'dragging
|
|
|
319
603
|
*/
|
|
320
604
|
declare function useLiveAnnouncement(): [string, (message: string) => void];
|
|
321
605
|
|
|
606
|
+
/**
|
|
607
|
+
* Options for {@link useStickToBottom}.
|
|
608
|
+
*/
|
|
609
|
+
interface UseStickToBottomOptions {
|
|
610
|
+
/**
|
|
611
|
+
* Distance from the bottom (px) within which the user still counts as "at
|
|
612
|
+
* the bottom" — small offsets from rounding or momentum scrolling shouldn't
|
|
613
|
+
* break pinning.
|
|
614
|
+
*/
|
|
615
|
+
threshold?: number;
|
|
616
|
+
/**
|
|
617
|
+
* Disable all behavior (listeners and observers detach). Useful when the
|
|
618
|
+
* scroll container anchors somewhere other than the bottom (e.g. a
|
|
619
|
+
* newest-first feed).
|
|
620
|
+
*/
|
|
621
|
+
disabled?: boolean;
|
|
622
|
+
}
|
|
623
|
+
interface UseStickToBottomReturn {
|
|
624
|
+
/** Attach to the scrollable container. */
|
|
625
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
626
|
+
/**
|
|
627
|
+
* Attach to the element wrapping the container's content. Its growth (e.g.
|
|
628
|
+
* a streaming message) re-pins the scroll while the user is at the bottom.
|
|
629
|
+
*/
|
|
630
|
+
contentRef: React.RefObject<HTMLDivElement | null>;
|
|
631
|
+
/** Whether the user is currently at (or within `threshold` of) the bottom. */
|
|
632
|
+
isAtBottom: boolean;
|
|
633
|
+
/** Scroll to the bottom and resume pinning. */
|
|
634
|
+
scrollToBottom: (behavior?: ScrollBehavior) => void;
|
|
635
|
+
/**
|
|
636
|
+
* Scroll so `target`'s top aligns with the viewport top and enter “reading”
|
|
637
|
+
* mode: content growing past the fold no longer auto-follows, so the reader
|
|
638
|
+
* consumes the response at their own pace (the ChatGPT/Claude send UX).
|
|
639
|
+
* Following resumes when they explicitly return to the bottom — a
|
|
640
|
+
* jump-to-bottom click (`scrollToBottom`) or scrolling there by hand.
|
|
641
|
+
*/
|
|
642
|
+
anchorToTurnStart: (target: HTMLElement, behavior?: ScrollBehavior) => void;
|
|
643
|
+
/**
|
|
644
|
+
* Scroll to the bottom only while actually following (at the bottom and not
|
|
645
|
+
* in reading mode). Returns whether it scrolled — hosts use this to decide
|
|
646
|
+
* between following an appended message and raising a “new messages” hint.
|
|
647
|
+
*/
|
|
648
|
+
followIfPinned: (behavior?: ScrollBehavior) => boolean;
|
|
649
|
+
/**
|
|
650
|
+
* Hold the current position: enter reading mode without scrolling, so an
|
|
651
|
+
* incoming stream fills below the fold instead of pushing the view up.
|
|
652
|
+
* Call right after a streaming message appends (optionally after revealing
|
|
653
|
+
* its first line with `followIfPinned`). Following resumes exactly as after
|
|
654
|
+
* `anchorToTurnStart`: an explicit `scrollToBottom` or the reader returning
|
|
655
|
+
* to the bottom by hand.
|
|
656
|
+
*/
|
|
657
|
+
stopFollowing: () => void;
|
|
658
|
+
}
|
|
659
|
+
/**
|
|
660
|
+
* Keeps a scroll container pinned to its bottom edge while the user is there,
|
|
661
|
+
* and — crucially — leaves the scroll position alone once they scroll up.
|
|
662
|
+
*
|
|
663
|
+
* Designed for chat threads with streaming responses:
|
|
664
|
+
* - While the user is at the bottom, content growth (new tokens, new
|
|
665
|
+
* messages) and container resizes (on-screen keyboard, growing composer)
|
|
666
|
+
* keep the newest content in view via a `ResizeObserver` on both the
|
|
667
|
+
* content and the container.
|
|
668
|
+
* - Once the user scrolls up, nothing moves until they return to the bottom
|
|
669
|
+
* themselves or the host calls `scrollToBottom` (e.g. a jump-to-bottom
|
|
670
|
+
* button, or an outgoing message from the local user).
|
|
671
|
+
*
|
|
672
|
+
* The hook only pins; *when* to force a scroll (own message sent, thread
|
|
673
|
+
* switched) stays a host decision through `scrollToBottom`,
|
|
674
|
+
* `anchorToTurnStart` (ChatGPT-style: scroll a fresh turn to the viewport top
|
|
675
|
+
* and pause following while the reader digests the reply), and
|
|
676
|
+
* `followIfPinned` (follow an append only while actually at the bottom).
|
|
677
|
+
*
|
|
678
|
+
* @example
|
|
679
|
+
* ```tsx
|
|
680
|
+
* const { containerRef, contentRef, isAtBottom, scrollToBottom } =
|
|
681
|
+
* useStickToBottom();
|
|
682
|
+
* return (
|
|
683
|
+
* <div className="relative min-h-0 flex-1">
|
|
684
|
+
* <div ref={containerRef} className="h-full overflow-y-auto">
|
|
685
|
+
* <div ref={contentRef}>{rows}</div>
|
|
686
|
+
* </div>
|
|
687
|
+
* {!isAtBottom && <JumpToBottom onClick={() => scrollToBottom('smooth')} />}
|
|
688
|
+
* </div>
|
|
689
|
+
* );
|
|
690
|
+
* ```
|
|
691
|
+
*/
|
|
692
|
+
declare function useStickToBottom({ threshold, disabled, }?: UseStickToBottomOptions): UseStickToBottomReturn;
|
|
693
|
+
/**
|
|
694
|
+
* Companion to {@link useStickToBottom}: fires `onEnded` when the newest
|
|
695
|
+
* message finishes streaming while the reader is away from the bottom — the
|
|
696
|
+
* end of the reply landed below the fold, so the jump-to-bottom button should
|
|
697
|
+
* upgrade to its “new messages” hint. When the whole reply fit above the fold
|
|
698
|
+
* (the reader is still at the bottom), `onEndedAtBottom` fires instead so the
|
|
699
|
+
* host can exit the stream's hold and resume following (`scrollToBottom`).
|
|
700
|
+
*/
|
|
701
|
+
declare function useStreamEndedBelowFold(newest: {
|
|
702
|
+
id: string;
|
|
703
|
+
status?: string;
|
|
704
|
+
} | undefined, isAtBottom: boolean, onEnded: () => void, onEndedAtBottom?: () => void): void;
|
|
705
|
+
|
|
322
706
|
type HoverPreviewState = 'idle' | 'loading' | 'playing';
|
|
323
707
|
interface UseYouTubeHoverPreviewOptions {
|
|
324
708
|
/** Hover dwell before the player mounts. Default 600ms. */
|
|
@@ -444,4 +828,264 @@ interface UseMediaTransportReturn {
|
|
|
444
828
|
*/
|
|
445
829
|
declare function useMediaTransport(options?: UseMediaTransportOptions): UseMediaTransportReturn;
|
|
446
830
|
|
|
447
|
-
|
|
831
|
+
/**
|
|
832
|
+
* Transcript schema for @mieweb/ui media components.
|
|
833
|
+
*
|
|
834
|
+
* Provider-agnostic and persistence-agnostic. Canonical time unit is
|
|
835
|
+
* **milliseconds** (consumers with seconds-based data, e.g. osheet, adapt
|
|
836
|
+
* at the boundary).
|
|
837
|
+
*
|
|
838
|
+
* Shared by TranscriptView, MediaEditor, and useTranscriptEdits.
|
|
839
|
+
*/
|
|
840
|
+
/** Type of transcript word - 'word' for spoken content, 'silence' for detected gaps, 'silence-newline' for longer pauses */
|
|
841
|
+
type WordType = 'word' | 'silence' | 'silence-newline';
|
|
842
|
+
interface TranscriptWord {
|
|
843
|
+
text: string;
|
|
844
|
+
startMs: number;
|
|
845
|
+
endMs: number;
|
|
846
|
+
/** References Speaker.id when diarization is available */
|
|
847
|
+
speakerId?: string;
|
|
848
|
+
confidence?: number;
|
|
849
|
+
/** Type of word: 'word' for spoken content, 'silence' for detected gaps. Defaults to 'word' */
|
|
850
|
+
wordType?: WordType;
|
|
851
|
+
}
|
|
852
|
+
/** A diarized segment of contiguous speech (osheet-style granularity) */
|
|
853
|
+
interface TranscriptSegment {
|
|
854
|
+
text: string;
|
|
855
|
+
startMs: number;
|
|
856
|
+
endMs: number;
|
|
857
|
+
/** References Speaker.id when diarization is available */
|
|
858
|
+
speakerId?: string;
|
|
859
|
+
words: TranscriptWord[];
|
|
860
|
+
}
|
|
861
|
+
interface Speaker {
|
|
862
|
+
id: string;
|
|
863
|
+
/** Display name (e.g. 'Clinician', 'Patient'). Hosts may remap via speakerLabels props. */
|
|
864
|
+
name?: string;
|
|
865
|
+
}
|
|
866
|
+
interface Transcript {
|
|
867
|
+
durationMs: number;
|
|
868
|
+
speakers?: Speaker[];
|
|
869
|
+
words: TranscriptWord[];
|
|
870
|
+
segments?: TranscriptSegment[];
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* An editable word that references the original transcript word.
|
|
874
|
+
* Used in the edited timeline to track deletions and reordering.
|
|
875
|
+
*/
|
|
876
|
+
interface EditableWord {
|
|
877
|
+
/** Index into the SILENCE-INSERTED baseline timeline (transcript.words
|
|
878
|
+
* with detected silence pseudo-words interleaved) — NOT into
|
|
879
|
+
* transcript.words. -1 for split/inserted entries with no baseline slot.
|
|
880
|
+
* Consumers persisting edits should key by this timeline. */
|
|
881
|
+
originalIndex: number;
|
|
882
|
+
/** The word data (from original transcript) */
|
|
883
|
+
word: TranscriptWord;
|
|
884
|
+
/** Whether this word is marked as deleted */
|
|
885
|
+
deleted: boolean;
|
|
886
|
+
/** Whether this word was inserted (pasted from clipboard) */
|
|
887
|
+
inserted?: boolean;
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* Represents a contiguous segment of playback from the original media.
|
|
891
|
+
* Used when playing back an edited timeline with potentially reordered/deleted words.
|
|
892
|
+
*/
|
|
893
|
+
interface PlaybackSegment {
|
|
894
|
+
startMs: number;
|
|
895
|
+
endMs: number;
|
|
896
|
+
/** Indices into the editedWords array that this segment covers */
|
|
897
|
+
editedIndices: number[];
|
|
898
|
+
}
|
|
899
|
+
/** Available playback speed multipliers */
|
|
900
|
+
type PlaybackSpeed = 0.5 | 0.75 | 1 | 1.25 | 1.5 | 1.75 | 2;
|
|
901
|
+
/**
|
|
902
|
+
* A speed marker applied to a word in the transcript.
|
|
903
|
+
* The speed applies from this word until the next speed marker or end of transcript.
|
|
904
|
+
*/
|
|
905
|
+
interface SpeedMarker {
|
|
906
|
+
/** Index in the editedWords array where the speed marker is placed */
|
|
907
|
+
wordIndex: number;
|
|
908
|
+
/** The playback speed multiplier */
|
|
909
|
+
speed: PlaybackSpeed;
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
/**
|
|
913
|
+
* useTranscriptEdits — headless transcript-editing state hook.
|
|
914
|
+
*
|
|
915
|
+
* Extracted from pulseclip's TranscriptViewer for @mieweb/ui. Holds the
|
|
916
|
+
* edited word timeline (deletions, insertions, text edits, silence
|
|
917
|
+
* splitting), a single-level undo stack, an internal clipboard, speed
|
|
918
|
+
* markers, and derived playback/statistics data.
|
|
919
|
+
*
|
|
920
|
+
* Controlled + persistence-agnostic: no DOM, no fetches. Selection lives in
|
|
921
|
+
* the UI layer — mutations take explicit indices. State flows out via
|
|
922
|
+
* `onChange` and back in via `initialEditedWords` / `initialUndoStack`.
|
|
923
|
+
*/
|
|
924
|
+
|
|
925
|
+
/** Default filler words offered for removal */
|
|
926
|
+
declare const DEFAULT_FILLER_WORDS: string[];
|
|
927
|
+
/** Default minimum silence duration in milliseconds to detect and insert */
|
|
928
|
+
declare const DEFAULT_MIN_SILENCE_MS = 400;
|
|
929
|
+
/** Default threshold for "newline" silences - longer pauses that indicate paragraph breaks */
|
|
930
|
+
declare const DEFAULT_NL_SILENCE_MS = 1500;
|
|
931
|
+
/** Clipboard data for cut/copy/paste operations */
|
|
932
|
+
interface TranscriptClipboard {
|
|
933
|
+
words: EditableWord[];
|
|
934
|
+
operation: 'cut' | 'copy';
|
|
935
|
+
}
|
|
936
|
+
/** Count and total duration of silences above a given threshold (seconds) */
|
|
937
|
+
interface SilenceThresholdCount {
|
|
938
|
+
threshold: number;
|
|
939
|
+
count: number;
|
|
940
|
+
durationMs: number;
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* Builds playback segments from the edited word list.
|
|
944
|
+
* Consecutive words in original order are merged into single segments.
|
|
945
|
+
* Inserted (pasted) words each get their own segment since they may be duplicates.
|
|
946
|
+
*/
|
|
947
|
+
declare function buildPlaybackSegments(editedWords: EditableWord[]): PlaybackSegment[];
|
|
948
|
+
/**
|
|
949
|
+
* Get the effective playback speed at a given word index.
|
|
950
|
+
* Finds the most recent speed marker at or before the word index,
|
|
951
|
+
* or returns the default speed if no marker applies.
|
|
952
|
+
*/
|
|
953
|
+
declare function getSpeedAtIndex(wordIndex: number, speedMarkers: SpeedMarker[], defaultSpeed: PlaybackSpeed): PlaybackSpeed;
|
|
954
|
+
/**
|
|
955
|
+
* Detect silences between words and return a new array with silence pseudo-words inserted.
|
|
956
|
+
* Silences are detected as gaps between the endMs of one word and startMs of the next.
|
|
957
|
+
* Silences >= nlSilenceMs are marked as 'silence-newline' for visual line breaks.
|
|
958
|
+
*/
|
|
959
|
+
declare function insertSilences(words: TranscriptWord[], minSilenceMs?: number, nlSilenceMs?: number): TranscriptWord[];
|
|
960
|
+
/** Initialize editable words from transcript, inserting detected silences */
|
|
961
|
+
declare function initEditableWords(transcript: Transcript, minSilenceMs?: number, nlSilenceMs?: number): EditableWord[];
|
|
962
|
+
interface UseTranscriptEditsOptions {
|
|
963
|
+
/** The source transcript (canonical, immutable) */
|
|
964
|
+
transcript: Transcript;
|
|
965
|
+
/** Initial edited words (from saved edits) */
|
|
966
|
+
initialEditedWords?: EditableWord[];
|
|
967
|
+
/** Initial undo stack (from saved edits) */
|
|
968
|
+
initialUndoStack?: EditableWord[][];
|
|
969
|
+
/** Fired after every mutation (for persistence) */
|
|
970
|
+
onChange?: (editedWords: EditableWord[], undoStack: EditableWord[][]) => void;
|
|
971
|
+
/** Minimum silence duration (ms) to detect and insert. Default 400 */
|
|
972
|
+
minSilenceMs?: number;
|
|
973
|
+
/** Threshold (ms) for "newline" silences (paragraph breaks). Default 1500 */
|
|
974
|
+
nlSilenceMs?: number;
|
|
975
|
+
/** Initial speed markers (from saved edits) */
|
|
976
|
+
initialSpeedMarkers?: SpeedMarker[];
|
|
977
|
+
/** Initial default playback speed (from saved edits). Default 1 */
|
|
978
|
+
initialDefaultSpeed?: PlaybackSpeed;
|
|
979
|
+
}
|
|
980
|
+
interface TranscriptEditStats {
|
|
981
|
+
/** Non-deleted spoken words (silences excluded) */
|
|
982
|
+
activeWordCount: number;
|
|
983
|
+
/** Non-deleted silence entries */
|
|
984
|
+
activeSilenceCount: number;
|
|
985
|
+
/** Deleted spoken words */
|
|
986
|
+
deletedWordCount: number;
|
|
987
|
+
/** Deleted silence entries */
|
|
988
|
+
deletedSilenceCount: number;
|
|
989
|
+
/** Total duration of non-deleted entries, adjusted for speed markers */
|
|
990
|
+
editedDurationMs: number;
|
|
991
|
+
}
|
|
992
|
+
interface FillerAnalysis {
|
|
993
|
+
/** Occurrence count per normalized word (fillers and every active word) */
|
|
994
|
+
matchCounts: Map<string, number>;
|
|
995
|
+
/** Total duration (ms) per normalized word */
|
|
996
|
+
durations: Map<string, number>;
|
|
997
|
+
/** Count + total duration of active silences above each analysis threshold */
|
|
998
|
+
silenceCounts: SilenceThresholdCount[];
|
|
999
|
+
/** The built-in filler word list */
|
|
1000
|
+
defaultFillerWords: string[];
|
|
1001
|
+
}
|
|
1002
|
+
interface UseTranscriptEditsResult {
|
|
1003
|
+
/** The edited timeline (words + silence pseudo-words) */
|
|
1004
|
+
editedWords: EditableWord[];
|
|
1005
|
+
/** Undo snapshots, oldest first */
|
|
1006
|
+
undoStack: EditableWord[][];
|
|
1007
|
+
/** Internal clipboard from the last cut/copy, or null */
|
|
1008
|
+
clipboard: TranscriptClipboard | null;
|
|
1009
|
+
/** Whether any edit has been made (deletions, insertions, text edits, speed markers) */
|
|
1010
|
+
hasEdits: boolean;
|
|
1011
|
+
/** Push the current editedWords onto the undo stack (call before external batch mutations) */
|
|
1012
|
+
pushUndo: () => void;
|
|
1013
|
+
/** Restore the most recent undo snapshot */
|
|
1014
|
+
undo: () => void;
|
|
1015
|
+
/** Step forward again after an undo. Cleared by any new edit. */
|
|
1016
|
+
redo: () => void;
|
|
1017
|
+
/** Whether there is anything to redo */
|
|
1018
|
+
canRedo: boolean;
|
|
1019
|
+
/** Toggle the deleted flag on a single word */
|
|
1020
|
+
toggleWordDeleted: (index: number) => void;
|
|
1021
|
+
/**
|
|
1022
|
+
* Toggle the deleted state of a contiguous range. The first index acts as
|
|
1023
|
+
* the anchor: all words are set to the opposite of the anchor's state
|
|
1024
|
+
* (delete all if anchor active, restore all if anchor deleted).
|
|
1025
|
+
*/
|
|
1026
|
+
deleteRange: (indices: number[]) => void;
|
|
1027
|
+
/** Cut words at the given indices into the clipboard (marks them deleted) */
|
|
1028
|
+
cut: (indices: number[]) => void;
|
|
1029
|
+
/** Copy non-deleted words at the given indices into the clipboard */
|
|
1030
|
+
copy: (indices: number[]) => void;
|
|
1031
|
+
/**
|
|
1032
|
+
* Paste the clipboard at a word index. `before` (default true) inserts
|
|
1033
|
+
* before the word at `atIndex`; false inserts after it. Returns the index
|
|
1034
|
+
* where the first pasted word landed, or null if the clipboard was empty.
|
|
1035
|
+
*/
|
|
1036
|
+
paste: (atIndex: number, before?: boolean) => number | null;
|
|
1037
|
+
/** Replace a word's text (no-op if unchanged) */
|
|
1038
|
+
setWordText: (index: number, text: string) => void;
|
|
1039
|
+
/** Split a silence at the given index into segments with the given durations (seconds) */
|
|
1040
|
+
splitSilence: (index: number, durationsSec: number[]) => void;
|
|
1041
|
+
/** Toggle the word at the index deleted (editor "delete" action) */
|
|
1042
|
+
deleteWord: (index: number) => void;
|
|
1043
|
+
/** Replace the entire edit state from an external source (e.g. an editable script view); undo-safe */
|
|
1044
|
+
replaceEditedWords: (next: EditableWord[]) => void;
|
|
1045
|
+
/** Mark matching filler words (and silences above the given seconds threshold) deleted */
|
|
1046
|
+
removeFillers: (fillerWords: string[], removeSilenceAboveSec: number | null) => void;
|
|
1047
|
+
/** Rebuild silence detection with new thresholds, preserving word deletions.
|
|
1048
|
+
* Not undoable — clears the undo stack (prior snapshots reference the old silence layout). */
|
|
1049
|
+
setSilenceThresholds: (minMs: number, nlMs: number) => void;
|
|
1050
|
+
/** Current silence detection thresholds (ms) */
|
|
1051
|
+
silenceThresholds: {
|
|
1052
|
+
minSilenceMs: number;
|
|
1053
|
+
nlSilenceMs: number;
|
|
1054
|
+
};
|
|
1055
|
+
/** Speed markers, sorted by word index */
|
|
1056
|
+
speedMarkers: SpeedMarker[];
|
|
1057
|
+
/** Default playback speed when no marker applies */
|
|
1058
|
+
defaultSpeed: PlaybackSpeed;
|
|
1059
|
+
/** Set the default playback speed (undoable) */
|
|
1060
|
+
setDefaultSpeed: (speed: PlaybackSpeed) => void;
|
|
1061
|
+
/** Add/update/remove a speed marker (re-selecting the same speed removes it; undoable) */
|
|
1062
|
+
toggleSpeedMarker: (index: number, speed: PlaybackSpeed) => void;
|
|
1063
|
+
/** Remove the speed marker at a word index, if any (undoable) */
|
|
1064
|
+
removeSpeedMarker: (index: number) => void;
|
|
1065
|
+
/**
|
|
1066
|
+
* Apply one speed across an index range (typically the selection): marks the
|
|
1067
|
+
* start, restores the prior effective speed after the end. One undo step.
|
|
1068
|
+
*/
|
|
1069
|
+
setSpeedForRange: (startIndex: number, endIndex: number, speed: PlaybackSpeed) => void;
|
|
1070
|
+
/** Effective playback speed at a word index */
|
|
1071
|
+
getSpeedAtIndex: (index: number) => PlaybackSpeed;
|
|
1072
|
+
/** The speed marker at a word index, if any */
|
|
1073
|
+
getSpeedMarkerAtIndex: (index: number) => SpeedMarker | undefined;
|
|
1074
|
+
/** Contiguous playback segments built from the edited timeline */
|
|
1075
|
+
playbackSegments: PlaybackSegment[];
|
|
1076
|
+
/** Word/silence counts and speed-adjusted edited duration */
|
|
1077
|
+
stats: TranscriptEditStats;
|
|
1078
|
+
/** Filler word and silence analysis for removal UIs */
|
|
1079
|
+
fillerAnalysis: FillerAnalysis;
|
|
1080
|
+
}
|
|
1081
|
+
/**
|
|
1082
|
+
* Headless transcript-editing hook. See module docs for scope.
|
|
1083
|
+
*
|
|
1084
|
+
* Undo semantics: each mutation snapshots the full `editedWords` array onto
|
|
1085
|
+
* a single-level stack before applying; `undo` pops one snapshot. Speed
|
|
1086
|
+
* markers and silence-threshold changes are NOT part of the undo stack
|
|
1087
|
+
* (matching the source component).
|
|
1088
|
+
*/
|
|
1089
|
+
declare function useTranscriptEdits(options: UseTranscriptEditsOptions): UseTranscriptEditsResult;
|
|
1090
|
+
|
|
1091
|
+
export { type AnchoredPlacement, DEFAULT_DRAG_REORDER_LABELS, DEFAULT_FILLER_WORDS, DEFAULT_MIN_SILENCE_MS, DEFAULT_NL_SILENCE_MS, type Direction, type DragOverState, type DragReorderLabels, type FillerAnalysis, type HoverPreviewState, KEYBOARD_INSET_VAR, KEYBOARD_OPEN_ATTRIBUTE, KEYBOARD_SOURCE_ATTRIBUTE, type KeyboardInsetSource, type KeyboardInsetState, type KeyboardShortcutOptions, type MediaTransportState, type OrderPersistenceAdapter, RTL_LOCALES, type ResolvedTheme, type SilenceThresholdCount, type Theme, type TranscriptClipboard, type TranscriptEditStats, type UseAnchoredPositionOptions, type UseAnchoredPositionReturn, type UseDragReorderOptions, type UseDragReorderReturn, type UseKeyboardInsetOptions, type UseMediaTransportOptions, type UseMediaTransportReturn, type UseOrderPersistenceOptions, type UseOrderPersistenceReturn, type UseScrollSpyOptions, type UseScrollSpyReturn, type UseStickToBottomOptions, type UseStickToBottomReturn, type UseTranscriptEditsOptions, type UseTranscriptEditsResult, type UseYouTubeHoverPreviewOptions, type UseYouTubeHoverPreviewReturn, VISUAL_VIEWPORT_HEIGHT_VAR, VISUAL_VIEWPORT_OFFSET_TOP_VAR, buildPlaybackSegments, dragIndicatorClasses, getSpeedAtIndex, initEditableWords, insertSilences, isDarkMode, isRtlLocale, localStorageOrderAdapter, mergeOrder, moveIdBy, reorderIds, useAnchoredPosition, useClickOutside, useCommandK, useDirection, useDragReorder, useEscapeKey, useFocusTrap, useIsDarkMode, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardInset, useKeyboardShortcut, useLiveAnnouncement, useMediaQuery, useMediaTransport, useOrderPersistence, usePrefersReducedMotion, useScrollSpy, useStickToBottom, useStreamEndedBelowFold, useTheme, useTranscriptEdits, useUrlTab, useYouTubeHoverPreview };
|