@mieweb/ui 0.10.0-dev.1 → 0.10.0-dev.11
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/agent/mieweb-ui.instructions.md +13 -1
- package/dist/CsvBlock-ROJCKJDP.cjs +16 -0
- package/dist/{CsvBlock-CVYA3HYS.cjs.map → CsvBlock-ROJCKJDP.cjs.map} +1 -1
- package/dist/CsvBlock-UWPMTLE2.js +7 -0
- package/dist/{CsvBlock-SM4NKSHA.js.map → CsvBlock-UWPMTLE2.js.map} +1 -1
- package/dist/HtmlPreviewBlock-DWFN6EUB.cjs +16 -0
- package/dist/{HtmlPreviewBlock-JF454L2L.cjs.map → HtmlPreviewBlock-DWFN6EUB.cjs.map} +1 -1
- package/dist/HtmlPreviewBlock-ME5U3XNS.js +7 -0
- package/dist/{HtmlPreviewBlock-FAMF4W24.js.map → HtmlPreviewBlock-ME5U3XNS.js.map} +1 -1
- package/dist/MermaidBlock-2B6CPD6Y.js +7 -0
- package/dist/{MermaidBlock-7V5G4K5A.js.map → MermaidBlock-2B6CPD6Y.js.map} +1 -1
- package/dist/MermaidBlock-D2UC5M55.cjs +16 -0
- package/dist/{MermaidBlock-FR5SQX4Q.cjs.map → MermaidBlock-D2UC5M55.cjs.map} +1 -1
- package/dist/SurveyBlock-4CD4AYMJ.cjs +16 -0
- package/dist/{SurveyBlock-MCJVWR7H.cjs.map → SurveyBlock-4CD4AYMJ.cjs.map} +1 -1
- package/dist/SurveyBlock-4DO62RBT.js +7 -0
- package/dist/{SurveyBlock-6K2POV7S.js.map → SurveyBlock-4DO62RBT.js.map} +1 -1
- package/dist/brands/index.cjs +20 -20
- package/dist/brands/index.js +4 -4
- package/dist/brands/types.cjs +4 -4
- package/dist/brands/types.d.cts +9 -0
- package/dist/brands/types.d.ts +9 -0
- package/dist/brands/types.js +1 -1
- package/dist/{chunk-XTHMC76F.cjs → chunk-2G75X6TS.cjs} +4 -4
- package/dist/{chunk-XTHMC76F.cjs.map → chunk-2G75X6TS.cjs.map} +1 -1
- package/dist/chunk-2IZLKPUW.js +412 -0
- package/dist/chunk-2IZLKPUW.js.map +1 -0
- package/dist/{chunk-VSVGMMNO.js → chunk-3M7TAXNR.js} +3 -3
- package/dist/{chunk-VSVGMMNO.js.map → chunk-3M7TAXNR.js.map} +1 -1
- package/dist/{chunk-5Z6UPVGC.cjs → chunk-3QEVGSFG.cjs} +5 -5
- package/dist/{chunk-5Z6UPVGC.cjs.map → chunk-3QEVGSFG.cjs.map} +1 -1
- package/dist/{chunk-PYHFVYVZ.js → chunk-3QGS6CXD.js} +3 -3
- package/dist/{chunk-PYHFVYVZ.js.map → chunk-3QGS6CXD.js.map} +1 -1
- package/dist/chunk-3YBS4WUQ.js +52 -0
- package/dist/chunk-3YBS4WUQ.js.map +1 -0
- package/dist/chunk-462XSCP3.cjs +199 -0
- package/dist/chunk-462XSCP3.cjs.map +1 -0
- package/dist/{chunk-X5YM3KXY.js → chunk-4A3W4TQF.js} +201 -4
- package/dist/chunk-4A3W4TQF.js.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-WOYUQ4AT.js → chunk-5GOWFNQ6.js} +9 -3
- package/dist/chunk-5GOWFNQ6.js.map +1 -0
- package/dist/chunk-5GUOOLPR.cjs +436 -0
- package/dist/chunk-5GUOOLPR.cjs.map +1 -0
- package/dist/{chunk-WUBMDOTG.js → chunk-5JJ2DAE4.js} +4 -4
- package/dist/{chunk-WUBMDOTG.js.map → chunk-5JJ2DAE4.js.map} +1 -1
- package/dist/{chunk-RSCA5AZW.cjs → chunk-5MCBWTIF.cjs} +4 -4
- package/dist/{chunk-RSCA5AZW.cjs.map → chunk-5MCBWTIF.cjs.map} +1 -1
- package/dist/chunk-6EN3IQQI.cjs +332 -0
- package/dist/chunk-6EN3IQQI.cjs.map +1 -0
- package/dist/chunk-74ENCTIK.js +162 -0
- package/dist/chunk-74ENCTIK.js.map +1 -0
- package/dist/chunk-76TBQDED.js +166 -0
- package/dist/chunk-76TBQDED.js.map +1 -0
- package/dist/{chunk-OAZUDUGX.js → chunk-7IBZA7G6.js} +4 -4
- package/dist/{chunk-OAZUDUGX.js.map → chunk-7IBZA7G6.js.map} +1 -1
- package/dist/{chunk-AUOTJQGO.cjs → chunk-7ZDPD5ZX.cjs} +4 -4
- package/dist/{chunk-AUOTJQGO.cjs.map → chunk-7ZDPD5ZX.cjs.map} +1 -1
- package/dist/{chunk-IB54SKWB.cjs → chunk-7ZXAQTV4.cjs} +8 -8
- package/dist/{chunk-IB54SKWB.cjs.map → chunk-7ZXAQTV4.cjs.map} +1 -1
- package/dist/{chunk-IIFQ6BSJ.js → chunk-ACCAXVOG.js} +6 -6
- package/dist/{chunk-IIFQ6BSJ.js.map → chunk-ACCAXVOG.js.map} +1 -1
- package/dist/{chunk-QO6PRHDX.cjs → chunk-AR7AKDM2.cjs} +2 -2
- package/dist/{chunk-QO6PRHDX.cjs.map → chunk-AR7AKDM2.cjs.map} +1 -1
- package/dist/{chunk-PY7XAG4D.cjs → chunk-ASSDGS4F.cjs} +201 -4
- package/dist/chunk-ASSDGS4F.cjs.map +1 -0
- package/dist/{chunk-24SEAAOH.js → chunk-AWJBOND5.js} +2 -2
- package/dist/{chunk-24SEAAOH.js.map → chunk-AWJBOND5.js.map} +1 -1
- package/dist/chunk-BM35CACB.js +148 -0
- package/dist/chunk-BM35CACB.js.map +1 -0
- package/dist/chunk-CR2SDI23.cjs +322 -0
- package/dist/chunk-CR2SDI23.cjs.map +1 -0
- package/dist/{chunk-OSPTA4UR.js → chunk-DEDN5HAG.js} +3 -3
- package/dist/{chunk-OSPTA4UR.js.map → chunk-DEDN5HAG.js.map} +1 -1
- package/dist/chunk-DZ5HFLRC.js +258 -0
- package/dist/chunk-DZ5HFLRC.js.map +1 -0
- package/dist/{chunk-PKD3JLS2.cjs → chunk-E4IBHYJ7.cjs} +9 -9
- package/dist/{chunk-PKD3JLS2.cjs.map → chunk-E4IBHYJ7.cjs.map} +1 -1
- package/dist/{chunk-QSVQABXD.js → chunk-ENKFJJZX.js} +7 -7
- package/dist/{chunk-QSVQABXD.js.map → chunk-ENKFJJZX.js.map} +1 -1
- package/dist/{chunk-MUIDWFYJ.js → chunk-FJ7YPVKV.js} +3 -3
- package/dist/{chunk-MUIDWFYJ.js.map → chunk-FJ7YPVKV.js.map} +1 -1
- package/dist/{chunk-3LHICE4I.cjs → chunk-FXO5ARBB.cjs} +5 -5
- package/dist/{chunk-3LHICE4I.cjs.map → chunk-FXO5ARBB.cjs.map} +1 -1
- package/dist/{chunk-QKAYRHWP.cjs → chunk-G3JX3UAU.cjs} +12 -12
- package/dist/{chunk-QKAYRHWP.cjs.map → chunk-G3JX3UAU.cjs.map} +1 -1
- package/dist/chunk-G4D6CLBT.js +333 -0
- package/dist/chunk-G4D6CLBT.js.map +1 -0
- package/dist/{chunk-OMAACCFW.cjs → chunk-GD7EBGC4.cjs} +19 -19
- package/dist/{chunk-OMAACCFW.cjs.map → chunk-GD7EBGC4.cjs.map} +1 -1
- package/dist/{chunk-KREUYVMZ.js → chunk-GOALNQZ2.js} +13 -4
- package/dist/chunk-GOALNQZ2.js.map +1 -0
- package/dist/{chunk-CK3KLRNF.js → chunk-H4ZXMQQW.js} +3 -3
- package/dist/{chunk-CK3KLRNF.js.map → chunk-H4ZXMQQW.js.map} +1 -1
- package/dist/chunk-IT775BYG.js +179 -0
- package/dist/chunk-IT775BYG.js.map +1 -0
- package/dist/{chunk-AHINB2TP.cjs → chunk-IX6KFB3K.cjs} +9 -9
- package/dist/{chunk-AHINB2TP.cjs.map → chunk-IX6KFB3K.cjs.map} +1 -1
- package/dist/chunk-IXFC7LK2.cjs +174 -0
- package/dist/chunk-IXFC7LK2.cjs.map +1 -0
- package/dist/{chunk-VNAREBLV.cjs → chunk-J5CSLNCN.cjs} +3 -3
- package/dist/{chunk-VNAREBLV.cjs.map → chunk-J5CSLNCN.cjs.map} +1 -1
- package/dist/{chunk-MM7QKUE3.cjs → chunk-JID7AZTO.cjs} +5 -5
- package/dist/{chunk-MM7QKUE3.cjs.map → chunk-JID7AZTO.cjs.map} +1 -1
- package/dist/{chunk-E3KC2XLN.cjs → chunk-KQUI4BGS.cjs} +51 -51
- package/dist/{chunk-E3KC2XLN.cjs.map → chunk-KQUI4BGS.cjs.map} +1 -1
- package/dist/{chunk-ZB54MTMQ.js → chunk-KZFBQ7GY.js} +3 -3
- package/dist/{chunk-ZB54MTMQ.js.map → chunk-KZFBQ7GY.js.map} +1 -1
- package/dist/{chunk-XBXDUAIM.js → chunk-LL6IWKI3.js} +4 -4
- package/dist/{chunk-XBXDUAIM.js.map → chunk-LL6IWKI3.js.map} +1 -1
- package/dist/{chunk-ON4JULCA.js → chunk-LMBXJZLG.js} +3 -3
- package/dist/{chunk-ON4JULCA.js.map → chunk-LMBXJZLG.js.map} +1 -1
- package/dist/{chunk-ZX2XRFE5.js → chunk-MNILXWVY.js} +7 -7
- package/dist/{chunk-ZX2XRFE5.js.map → chunk-MNILXWVY.js.map} +1 -1
- package/dist/chunk-MWVW4APN.cjs +260 -0
- package/dist/chunk-MWVW4APN.cjs.map +1 -0
- package/dist/{chunk-WIAQQNFU.cjs → chunk-MYHV2ND3.cjs} +37 -3
- package/dist/chunk-MYHV2ND3.cjs.map +1 -0
- package/dist/{chunk-BZAGP5W6.cjs → chunk-N6IY47YA.cjs} +8 -8
- package/dist/{chunk-BZAGP5W6.cjs.map → chunk-N6IY47YA.cjs.map} +1 -1
- package/dist/{chunk-OCV33S5Q.cjs → chunk-NFKX6QJP.cjs} +3 -3
- package/dist/{chunk-OCV33S5Q.cjs.map → chunk-NFKX6QJP.cjs.map} +1 -1
- package/dist/{chunk-J644FU54.cjs → chunk-NGQRS7AW.cjs} +9 -3
- package/dist/chunk-NGQRS7AW.cjs.map +1 -0
- package/dist/{chunk-QAKASRE6.js → chunk-NJ6MY6V5.js} +4 -4
- package/dist/{chunk-QAKASRE6.js.map → chunk-NJ6MY6V5.js.map} +1 -1
- package/dist/{chunk-P52GA3GJ.cjs → chunk-NM7O7RY5.cjs} +4 -2
- package/dist/chunk-NM7O7RY5.cjs.map +1 -0
- package/dist/chunk-OCSCBB52.cjs +188 -0
- package/dist/chunk-OCSCBB52.cjs.map +1 -0
- package/dist/{chunk-OFUKTVBN.cjs → chunk-OD47TTAW.cjs} +9 -9
- package/dist/{chunk-OFUKTVBN.cjs.map → chunk-OD47TTAW.cjs.map} +1 -1
- package/dist/{chunk-QKFJDQEK.js → chunk-OE5CKRUC.js} +4 -4
- package/dist/{chunk-QKFJDQEK.js.map → chunk-OE5CKRUC.js.map} +1 -1
- package/dist/chunk-OGNADPM4.cjs +170 -0
- package/dist/chunk-OGNADPM4.cjs.map +1 -0
- package/dist/{chunk-MBWF36DJ.js → chunk-P2CA3XGI.js} +3 -3
- package/dist/{chunk-MBWF36DJ.js.map → chunk-P2CA3XGI.js.map} +1 -1
- package/dist/chunk-POWS35OT.js +152 -0
- package/dist/chunk-POWS35OT.js.map +1 -0
- package/dist/chunk-PYJDVWXM.js +237 -0
- package/dist/chunk-PYJDVWXM.js.map +1 -0
- package/dist/{chunk-MTZPVOP6.js → chunk-Q77TE5DZ.js} +4 -2
- package/dist/chunk-Q77TE5DZ.js.map +1 -0
- package/dist/{chunk-L5W7TJQ5.js → chunk-RJ6NTJHC.js} +4 -4
- package/dist/{chunk-L5W7TJQ5.js.map → chunk-RJ6NTJHC.js.map} +1 -1
- package/dist/{chunk-C3DUS2VE.cjs → chunk-RS5VA6QU.cjs} +3 -3
- package/dist/{chunk-C3DUS2VE.cjs.map → chunk-RS5VA6QU.cjs.map} +1 -1
- package/dist/{chunk-IGNWT6RP.js → chunk-S7WCHDBO.js} +4 -4
- package/dist/{chunk-IGNWT6RP.js.map → chunk-S7WCHDBO.js.map} +1 -1
- package/dist/{chunk-RXPEZXAB.cjs → chunk-SGFYA22I.cjs} +5 -5
- package/dist/{chunk-RXPEZXAB.cjs.map → chunk-SGFYA22I.cjs.map} +1 -1
- package/dist/chunk-SQJFBZ42.js +297 -0
- package/dist/chunk-SQJFBZ42.js.map +1 -0
- package/dist/chunk-SUS3WFY3.js +156 -0
- package/dist/chunk-SUS3WFY3.js.map +1 -0
- package/dist/{chunk-H4AVMUOC.cjs → chunk-TAXD5ADA.cjs} +4 -4
- package/dist/{chunk-H4AVMUOC.cjs.map → chunk-TAXD5ADA.cjs.map} +1 -1
- package/dist/{chunk-NHN6A3ZO.js → chunk-TMMVIUUN.js} +4 -4
- package/dist/{chunk-NHN6A3ZO.js.map → chunk-TMMVIUUN.js.map} +1 -1
- package/dist/chunk-TPWKM7JH.js +196 -0
- package/dist/chunk-TPWKM7JH.js.map +1 -0
- package/dist/chunk-TU63764L.cjs +158 -0
- package/dist/chunk-TU63764L.cjs.map +1 -0
- package/dist/{chunk-7KWNY3HG.js → chunk-TVTIGV7Q.js} +9 -9
- package/dist/{chunk-7KWNY3HG.js.map → chunk-TVTIGV7Q.js.map} +1 -1
- package/dist/{chunk-22CYDCXA.js → chunk-TZJQB4P2.js} +37 -4
- package/dist/chunk-TZJQB4P2.js.map +1 -0
- package/dist/{chunk-X5QRRMGB.cjs → chunk-UAMXCMST.cjs} +4 -4
- package/dist/{chunk-X5QRRMGB.cjs.map → chunk-UAMXCMST.cjs.map} +1 -1
- package/dist/{chunk-QAQOCS2J.js → chunk-UBOVDAD7.js} +3 -3
- package/dist/{chunk-QAQOCS2J.js.map → chunk-UBOVDAD7.js.map} +1 -1
- package/dist/{chunk-IGSIWNX3.cjs → chunk-UQ3VVR6A.cjs} +4 -4
- package/dist/{chunk-IGSIWNX3.cjs.map → chunk-UQ3VVR6A.cjs.map} +1 -1
- package/dist/chunk-URAQIF67.cjs +356 -0
- package/dist/chunk-URAQIF67.cjs.map +1 -0
- package/dist/{chunk-6QKMMKRY.cjs → chunk-UV2FVNWT.cjs} +5 -5
- package/dist/{chunk-6QKMMKRY.cjs.map → chunk-UV2FVNWT.cjs.map} +1 -1
- package/dist/{chunk-EG7XFZ3W.js → chunk-V7D3YGUV.js} +4 -4
- package/dist/{chunk-EG7XFZ3W.js.map → chunk-V7D3YGUV.js.map} +1 -1
- package/dist/{chunk-Y6DFMDMH.js → chunk-VILW53UZ.js} +3 -3
- package/dist/{chunk-Y6DFMDMH.js.map → chunk-VILW53UZ.js.map} +1 -1
- package/dist/chunk-VINZZQBD.cjs +323 -0
- package/dist/chunk-VINZZQBD.cjs.map +1 -0
- package/dist/{chunk-5WOB4UBD.js → chunk-VKELAMAZ.js} +3 -3
- package/dist/{chunk-5WOB4UBD.js.map → chunk-VKELAMAZ.js.map} +1 -1
- package/dist/{chunk-IINZWUGK.cjs → chunk-VNYW4C4J.cjs} +13 -4
- package/dist/chunk-VNYW4C4J.cjs.map +1 -0
- package/dist/{chunk-RD3JDFYJ.js → chunk-VOKVG3ER.js} +4 -4
- package/dist/{chunk-RD3JDFYJ.js.map → chunk-VOKVG3ER.js.map} +1 -1
- package/dist/chunk-VPTASZ2O.cjs +171 -0
- package/dist/chunk-VPTASZ2O.cjs.map +1 -0
- package/dist/{chunk-37UZHCLM.cjs → chunk-VPWJCJCX.cjs} +3 -3
- package/dist/{chunk-37UZHCLM.cjs.map → chunk-VPWJCJCX.cjs.map} +1 -1
- package/dist/{chunk-3RB35GYK.js → chunk-VU6UTJRM.js} +4 -4
- package/dist/{chunk-3RB35GYK.js.map → chunk-VU6UTJRM.js.map} +1 -1
- package/dist/{chunk-6SAYPXHX.js → chunk-WGPLUCBD.js} +4 -4
- package/dist/{chunk-6SAYPXHX.js.map → chunk-WGPLUCBD.js.map} +1 -1
- package/dist/{chunk-KLJGJJHN.cjs → chunk-WNZAYBVB.cjs} +49 -49
- package/dist/{chunk-KLJGJJHN.cjs.map → chunk-WNZAYBVB.cjs.map} +1 -1
- package/dist/{chunk-BVMABVC4.cjs → chunk-WWJIW2IH.cjs} +3 -3
- package/dist/{chunk-BVMABVC4.cjs.map → chunk-WWJIW2IH.cjs.map} +1 -1
- package/dist/{chunk-OYQ7GYAA.cjs → chunk-X4XPNTCZ.cjs} +12 -12
- package/dist/{chunk-OYQ7GYAA.cjs.map → chunk-X4XPNTCZ.cjs.map} +1 -1
- package/dist/chunk-XDIMTPZU.cjs +202 -0
- package/dist/chunk-XDIMTPZU.cjs.map +1 -0
- package/dist/{chunk-IFDC4TXM.cjs → chunk-XEAT7XJG.cjs} +4 -4
- package/dist/{chunk-IFDC4TXM.cjs.map → chunk-XEAT7XJG.cjs.map} +1 -1
- package/dist/{chunk-S3BCHPXT.cjs → chunk-XI34EGK5.cjs} +9 -9
- package/dist/{chunk-S3BCHPXT.cjs.map → chunk-XI34EGK5.cjs.map} +1 -1
- package/dist/chunk-XVW5DPPP.js +429 -0
- package/dist/chunk-XVW5DPPP.js.map +1 -0
- package/dist/chunk-XZNN3S3S.cjs +281 -0
- package/dist/chunk-XZNN3S3S.cjs.map +1 -0
- package/dist/chunk-Y4QNLW7W.js +300 -0
- package/dist/chunk-Y4QNLW7W.js.map +1 -0
- package/dist/chunk-Y5HFM7LO.js +310 -0
- package/dist/chunk-Y5HFM7LO.js.map +1 -0
- package/dist/{chunk-LECJMLNE.js → chunk-YQDA366U.js} +3 -3
- package/dist/{chunk-LECJMLNE.js.map → chunk-YQDA366U.js.map} +1 -1
- package/dist/{chunk-PHK4XBO5.js → chunk-Z5V7SAZ4.js} +4 -4
- package/dist/{chunk-PHK4XBO5.js.map → chunk-Z5V7SAZ4.js.map} +1 -1
- package/dist/{chunk-TZX76ZNZ.js → chunk-ZGRCSNPK.js} +5 -5
- package/dist/{chunk-TZX76ZNZ.js.map → chunk-ZGRCSNPK.js.map} +1 -1
- package/dist/{chunk-AZP3DDBT.cjs → chunk-ZPSJ2UV6.cjs} +8 -8
- package/dist/{chunk-AZP3DDBT.cjs.map → chunk-ZPSJ2UV6.cjs.map} +1 -1
- package/dist/{chunk-SRA2L3SQ.cjs → chunk-ZSGEGISB.cjs} +4 -4
- package/dist/{chunk-SRA2L3SQ.cjs.map → chunk-ZSGEGISB.cjs.map} +1 -1
- package/dist/components/AlertDialog/index.cjs +6 -6
- package/dist/components/AlertDialog/index.js +5 -5
- package/dist/components/Autocomplete/index.cjs +3 -3
- package/dist/components/Autocomplete/index.js +2 -2
- package/dist/components/BoardView/index.cjs +24 -0
- package/dist/components/BoardView/index.cjs.map +1 -0
- package/dist/components/BoardView/index.d.cts +42 -0
- package/dist/components/BoardView/index.d.ts +42 -0
- package/dist/components/BoardView/index.js +7 -0
- package/dist/components/BoardView/index.js.map +1 -0
- package/dist/components/Button/index.cjs +3 -3
- package/dist/components/Button/index.d.cts +3 -0
- package/dist/components/Button/index.d.ts +3 -0
- package/dist/components/Button/index.js +1 -1
- package/dist/components/CalendarView/index.cjs +22 -0
- package/dist/components/CalendarView/index.cjs.map +1 -0
- package/dist/components/CalendarView/index.d.cts +40 -0
- package/dist/components/CalendarView/index.d.ts +40 -0
- package/dist/components/CalendarView/index.js +9 -0
- package/dist/components/CalendarView/index.js.map +1 -0
- package/dist/components/Collapsible/index.cjs +5 -5
- package/dist/components/Collapsible/index.js +2 -2
- package/dist/components/CountryCodeDropdown/index.cjs +6 -6
- package/dist/components/CountryCodeDropdown/index.js +3 -3
- package/dist/components/CustomizableDashboard/index.cjs +11 -11
- package/dist/components/CustomizableDashboard/index.js +4 -4
- package/dist/components/DateInput/index.cjs +4 -4
- package/dist/components/DateInput/index.js +3 -3
- package/dist/components/Dropdown/index.cjs +11 -11
- package/dist/components/Dropdown/index.js +4 -4
- package/dist/components/FloatingWindow/index.cjs +4 -4
- package/dist/components/FloatingWindow/index.js +2 -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 +37 -0
- package/dist/components/GanttView/index.d.ts +37 -0
- package/dist/components/GanttView/index.js +7 -0
- package/dist/components/GanttView/index.js.map +1 -0
- package/dist/components/GlossaryTooltip/index.cjs +4 -4
- package/dist/components/GlossaryTooltip/index.js +3 -3
- package/dist/components/KeyboardShortcutsOverlay/index.cjs +6 -6
- package/dist/components/KeyboardShortcutsOverlay/index.js +4 -4
- package/dist/components/ListView/index.cjs +22 -0
- package/dist/components/ListView/index.cjs.map +1 -0
- package/dist/components/ListView/index.d.cts +37 -0
- package/dist/components/ListView/index.d.ts +37 -0
- package/dist/components/ListView/index.js +9 -0
- package/dist/components/ListView/index.js.map +1 -0
- package/dist/components/Markdown/index.cjs +19 -19
- package/dist/components/Markdown/index.js +7 -7
- package/dist/components/MediaEditor/index.cjs +16 -16
- package/dist/components/MediaEditor/index.js +11 -11
- package/dist/components/MediaPlayer/index.cjs +6 -6
- package/dist/components/MediaPlayer/index.js +3 -3
- package/dist/components/MegaMenu/index.cjs +23 -0
- package/dist/components/MegaMenu/index.cjs.map +1 -0
- package/dist/components/MegaMenu/index.d.cts +106 -0
- package/dist/components/MegaMenu/index.d.ts +106 -0
- package/dist/components/MegaMenu/index.js +6 -0
- package/dist/components/MegaMenu/index.js.map +1 -0
- package/dist/components/Modal/index.cjs +11 -11
- package/dist/components/Modal/index.js +3 -3
- package/dist/components/OrbitRing/index.cjs +14 -0
- package/dist/components/OrbitRing/index.cjs.map +1 -0
- package/dist/components/OrbitRing/index.d.cts +64 -0
- package/dist/components/OrbitRing/index.d.ts +64 -0
- package/dist/components/OrbitRing/index.js +5 -0
- package/dist/components/OrbitRing/index.js.map +1 -0
- package/dist/components/QuickAction/index.d.cts +1 -1
- package/dist/components/QuickAction/index.d.ts +1 -1
- package/dist/components/RadialExplorer/index.cjs +18 -0
- package/dist/components/RadialExplorer/index.cjs.map +1 -0
- package/dist/components/RadialExplorer/index.d.cts +83 -0
- package/dist/components/RadialExplorer/index.d.ts +83 -0
- package/dist/components/RadialExplorer/index.js +9 -0
- package/dist/components/RadialExplorer/index.js.map +1 -0
- package/dist/components/RichTextEditor/index.cjs +9 -9
- package/dist/components/RichTextEditor/index.js +6 -6
- package/dist/components/SectionSpyNav/index.cjs +4 -4
- package/dist/components/SectionSpyNav/index.js +3 -3
- package/dist/components/Select/index.cjs +5 -5
- package/dist/components/Select/index.js +3 -3
- package/dist/components/Sheet/index.cjs +11 -11
- package/dist/components/Sheet/index.js +2 -2
- package/dist/components/SliderCalculator/index.cjs +20 -0
- package/dist/components/SliderCalculator/index.cjs.map +1 -0
- package/dist/components/SliderCalculator/index.d.cts +100 -0
- package/dist/components/SliderCalculator/index.d.ts +100 -0
- package/dist/components/SliderCalculator/index.js +7 -0
- package/dist/components/SliderCalculator/index.js.map +1 -0
- package/dist/components/SourceTip/index.cjs +4 -4
- package/dist/components/SourceTip/index.js +3 -3
- package/dist/components/SuperChat/index.cjs +454 -279
- package/dist/components/SuperChat/index.cjs.map +1 -1
- package/dist/components/SuperChat/index.js +444 -269
- package/dist/components/SuperChat/index.js.map +1 -1
- package/dist/components/SuperChat/plugins/index.cjs +8 -8
- package/dist/components/SuperChat/plugins/index.js +7 -7
- package/dist/components/ThemeProvider/index.cjs +9 -9
- 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/VideoCard/index.cjs +21 -0
- package/dist/components/VideoCard/index.cjs.map +1 -0
- package/dist/components/VideoCard/index.d.cts +75 -0
- package/dist/components/VideoCard/index.d.ts +75 -0
- package/dist/components/VideoCard/index.js +8 -0
- package/dist/components/VideoCard/index.js.map +1 -0
- package/dist/components/ViewSet/index.cjs +23 -0
- package/dist/components/ViewSet/index.cjs.map +1 -0
- package/dist/components/ViewSet/index.d.cts +89 -0
- package/dist/components/ViewSet/index.d.ts +89 -0
- package/dist/components/ViewSet/index.js +14 -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 +40 -0
- package/dist/components/ViewSwitcher/index.d.ts +40 -0
- package/dist/components/ViewSwitcher/index.js +7 -0
- package/dist/components/ViewSwitcher/index.js.map +1 -0
- package/dist/components/YearTimeline/index.cjs +26 -0
- package/dist/components/YearTimeline/index.cjs.map +1 -0
- package/dist/components/YearTimeline/index.d.cts +82 -0
- package/dist/components/YearTimeline/index.d.ts +82 -0
- package/dist/components/YearTimeline/index.js +5 -0
- package/dist/components/YearTimeline/index.js.map +1 -0
- package/dist/datavis.cjs +2 -2
- package/dist/datavis.js +1 -1
- package/dist/enterprise-health-ITUNXDIW.js +4 -0
- package/dist/{enterprise-health-CWLUB77O.js.map → enterprise-health-ITUNXDIW.js.map} +1 -1
- package/dist/enterprise-health-UHHPVPU6.cjs +19 -0
- package/dist/{enterprise-health-75VYWAVG.cjs.map → enterprise-health-UHHPVPU6.cjs.map} +1 -1
- package/dist/esheet.cjs +18 -18
- package/dist/esheet.js +15 -15
- package/dist/globe.cjs +306 -0
- package/dist/globe.cjs.map +1 -0
- package/dist/globe.d.cts +99 -0
- package/dist/globe.d.ts +99 -0
- package/dist/globe.js +279 -0
- package/dist/globe.js.map +1 -0
- package/dist/hooks/index.cjs +38 -24
- package/dist/hooks/index.d.cts +141 -1
- package/dist/hooks/index.d.ts +141 -1
- package/dist/hooks/index.js +6 -4
- package/dist/index.cjs +1510 -1205
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +97 -25
- package/dist/index.d.ts +97 -25
- package/dist/index.js +546 -379
- package/dist/index.js.map +1 -1
- package/dist/kerebron.cjs +58 -19
- package/dist/kerebron.cjs.map +1 -1
- 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/{speaker-verify-5GTWAN5Y.cjs → speaker-verify-4NEJAK6C.cjs} +57 -90
- package/dist/speaker-verify-4NEJAK6C.cjs.map +1 -0
- package/dist/{speaker-verify-R67P433H.js → speaker-verify-AWSKI6DI.js} +57 -90
- package/dist/speaker-verify-AWSKI6DI.js.map +1 -0
- package/dist/styles/effects.css +128 -0
- package/dist/styles/init.css +15 -0
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/dist/types-CbWXIKbe.d.cts +119 -0
- package/dist/types-CbWXIKbe.d.ts +119 -0
- package/dist/utils/index.cjs +5 -5
- package/dist/utils/index.js +1 -1
- package/package.json +28 -2
- package/dist/CsvBlock-CVYA3HYS.cjs +0 -16
- package/dist/CsvBlock-SM4NKSHA.js +0 -7
- package/dist/HtmlPreviewBlock-FAMF4W24.js +0 -7
- package/dist/HtmlPreviewBlock-JF454L2L.cjs +0 -16
- package/dist/MermaidBlock-7V5G4K5A.js +0 -7
- package/dist/MermaidBlock-FR5SQX4Q.cjs +0 -16
- package/dist/SurveyBlock-6K2POV7S.js +0 -7
- package/dist/SurveyBlock-MCJVWR7H.cjs +0 -16
- package/dist/chunk-22CYDCXA.js.map +0 -1
- package/dist/chunk-IINZWUGK.cjs.map +0 -1
- package/dist/chunk-J644FU54.cjs.map +0 -1
- package/dist/chunk-KREUYVMZ.js.map +0 -1
- package/dist/chunk-MTZPVOP6.js.map +0 -1
- package/dist/chunk-P52GA3GJ.cjs.map +0 -1
- package/dist/chunk-PY7XAG4D.cjs.map +0 -1
- package/dist/chunk-WIAQQNFU.cjs.map +0 -1
- package/dist/chunk-WOYUQ4AT.js.map +0 -1
- package/dist/chunk-X5YM3KXY.js.map +0 -1
- package/dist/enterprise-health-75VYWAVG.cjs +0 -19
- package/dist/enterprise-health-CWLUB77O.js +0 -4
- package/dist/speaker-verify-5GTWAN5Y.cjs.map +0 -1
- package/dist/speaker-verify-R67P433H.js.map +0 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
// src/components/AI/voiceprintStore.ts
|
|
2
|
+
var DB_NAME = "ozwell-voice";
|
|
3
|
+
var STORE = "voiceprints";
|
|
4
|
+
var DB_VERSION = 1;
|
|
5
|
+
function voiceprintStorageKey(key, namespace) {
|
|
6
|
+
if (namespace === void 0) return key;
|
|
7
|
+
const ns = namespace.trim();
|
|
8
|
+
if (ns.length === 0)
|
|
9
|
+
throw new Error("Voiceprint namespace must not be empty");
|
|
10
|
+
return `${key}:${encodeURIComponent(ns)}`;
|
|
11
|
+
}
|
|
12
|
+
function openDb() {
|
|
13
|
+
return new Promise((resolve, reject) => {
|
|
14
|
+
const req = indexedDB.open(DB_NAME, DB_VERSION);
|
|
15
|
+
req.onupgradeneeded = () => {
|
|
16
|
+
if (!req.result.objectStoreNames.contains(STORE))
|
|
17
|
+
req.result.createObjectStore(STORE);
|
|
18
|
+
};
|
|
19
|
+
req.onsuccess = () => resolve(req.result);
|
|
20
|
+
req.onerror = () => reject(req.error);
|
|
21
|
+
req.onblocked = () => reject(
|
|
22
|
+
new Error("IndexedDB open blocked (another tab holds an upgrade lock)")
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function idbGet(key) {
|
|
27
|
+
return openDb().then(
|
|
28
|
+
(db) => new Promise((resolve, reject) => {
|
|
29
|
+
const req = db.transaction(STORE, "readonly").objectStore(STORE).get(key);
|
|
30
|
+
req.onsuccess = () => {
|
|
31
|
+
resolve(req.result);
|
|
32
|
+
db.close();
|
|
33
|
+
};
|
|
34
|
+
req.onerror = () => {
|
|
35
|
+
reject(req.error);
|
|
36
|
+
db.close();
|
|
37
|
+
};
|
|
38
|
+
})
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function idbSet(key, value) {
|
|
42
|
+
return openDb().then(
|
|
43
|
+
(db) => new Promise((resolve, reject) => {
|
|
44
|
+
const tx = db.transaction(STORE, "readwrite");
|
|
45
|
+
tx.objectStore(STORE).put(value, key);
|
|
46
|
+
tx.oncomplete = () => {
|
|
47
|
+
resolve();
|
|
48
|
+
db.close();
|
|
49
|
+
};
|
|
50
|
+
tx.onerror = () => {
|
|
51
|
+
reject(tx.error);
|
|
52
|
+
db.close();
|
|
53
|
+
};
|
|
54
|
+
tx.onabort = () => {
|
|
55
|
+
reject(tx.error);
|
|
56
|
+
db.close();
|
|
57
|
+
};
|
|
58
|
+
})
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
function idbDel(key) {
|
|
62
|
+
return openDb().then(
|
|
63
|
+
(db) => new Promise((resolve, reject) => {
|
|
64
|
+
const tx = db.transaction(STORE, "readwrite");
|
|
65
|
+
tx.objectStore(STORE).delete(key);
|
|
66
|
+
tx.oncomplete = () => {
|
|
67
|
+
resolve();
|
|
68
|
+
db.close();
|
|
69
|
+
};
|
|
70
|
+
tx.onerror = () => {
|
|
71
|
+
reject(tx.error);
|
|
72
|
+
db.close();
|
|
73
|
+
};
|
|
74
|
+
tx.onabort = () => {
|
|
75
|
+
reject(tx.error);
|
|
76
|
+
db.close();
|
|
77
|
+
};
|
|
78
|
+
})
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
async function getVoiceprints(key, migrateLegacy) {
|
|
82
|
+
try {
|
|
83
|
+
const existing = await idbGet(key);
|
|
84
|
+
if (existing !== void 0) return existing;
|
|
85
|
+
if (migrateLegacy) {
|
|
86
|
+
let raw = null;
|
|
87
|
+
try {
|
|
88
|
+
raw = localStorage.getItem(key);
|
|
89
|
+
} catch {
|
|
90
|
+
}
|
|
91
|
+
if (raw != null) {
|
|
92
|
+
let migrated;
|
|
93
|
+
try {
|
|
94
|
+
migrated = migrateLegacy(raw);
|
|
95
|
+
} catch {
|
|
96
|
+
try {
|
|
97
|
+
localStorage.removeItem(key);
|
|
98
|
+
} catch {
|
|
99
|
+
}
|
|
100
|
+
return void 0;
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
await idbSet(key, migrated);
|
|
104
|
+
} catch {
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
localStorage.removeItem(key);
|
|
108
|
+
} catch {
|
|
109
|
+
}
|
|
110
|
+
return migrated;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return void 0;
|
|
114
|
+
} catch {
|
|
115
|
+
return void 0;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async function setVoiceprints(key, value) {
|
|
119
|
+
try {
|
|
120
|
+
await idbSet(key, value);
|
|
121
|
+
} catch {
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async function clearVoiceprints(key) {
|
|
125
|
+
try {
|
|
126
|
+
await idbDel(key);
|
|
127
|
+
} catch {
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
localStorage.removeItem(key);
|
|
131
|
+
} catch {
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
var WHAT_KEY = "ozwellWhatPrints";
|
|
135
|
+
function parseLegacyWhat(raw) {
|
|
136
|
+
let o;
|
|
137
|
+
try {
|
|
138
|
+
o = JSON.parse(raw || "{}") || {};
|
|
139
|
+
} catch {
|
|
140
|
+
return {};
|
|
141
|
+
}
|
|
142
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
143
|
+
for (const k of Object.keys(o))
|
|
144
|
+
out[k] = (o[k] || []).map((a) => Float32Array.from(a));
|
|
145
|
+
return out;
|
|
146
|
+
}
|
|
147
|
+
function loadWhatPrints(namespace) {
|
|
148
|
+
return getVoiceprints(
|
|
149
|
+
voiceprintStorageKey(WHAT_KEY, namespace),
|
|
150
|
+
namespace === void 0 ? parseLegacyWhat : void 0
|
|
151
|
+
).then((v) => v ?? {});
|
|
152
|
+
}
|
|
153
|
+
function saveWhatPrints(map, namespace) {
|
|
154
|
+
return setVoiceprints(voiceprintStorageKey(WHAT_KEY, namespace), map);
|
|
155
|
+
}
|
|
156
|
+
function clearWhatPrints(namespace) {
|
|
157
|
+
return clearVoiceprints(voiceprintStorageKey(WHAT_KEY, namespace));
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export { clearVoiceprints, clearWhatPrints, getVoiceprints, loadWhatPrints, saveWhatPrints, setVoiceprints, voiceprintStorageKey };
|
|
161
|
+
//# sourceMappingURL=chunk-74ENCTIK.js.map
|
|
162
|
+
//# sourceMappingURL=chunk-74ENCTIK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AI/voiceprintStore.ts"],"names":[],"mappings":"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","file":"chunk-74ENCTIK.js","sourcesContent":["/**\n * IndexedDB store for on-device voiceprints (enrollment vectors), replacing localStorage for this data.\n *\n * Why IndexedDB and not localStorage: it's asynchronous (off the main thread), stores `Float32Array`\n * natively via structured clone (no JSON-stringifying embeddings into bloated number arrays), and isn't\n * capped at ~5 MB. Why not OPFS: these are small *structured records* keyed by id, not large files —\n * IndexedDB is the right tool; OPFS is for the big model files.\n *\n * One object store, keyed by a string id; values are any structured-cloneable object, so `Float32Array`s\n * survive the round-trip intact. On first read of a key it migrates a legacy localStorage value (if a\n * parser is supplied) and then clears it.\n */\n\nconst DB_NAME = 'ozwell-voice';\nconst STORE = 'voiceprints';\nconst DB_VERSION = 1;\n\nexport function voiceprintStorageKey(key: string, namespace?: string): string {\n if (namespace === undefined) return key;\n // Trim before encoding so accidental whitespace (\"user-a \" vs \"user-a\") can't silently split a\n // user's voiceprints across distinct stores.\n const ns = namespace.trim();\n if (ns.length === 0)\n throw new Error('Voiceprint namespace must not be empty');\n return `${key}:${encodeURIComponent(ns)}`;\n}\n\nfunction openDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const req = indexedDB.open(DB_NAME, DB_VERSION);\n req.onupgradeneeded = () => {\n if (!req.result.objectStoreNames.contains(STORE))\n req.result.createObjectStore(STORE);\n };\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n // If another tab holds an open connection during a version upgrade, the open stays \"blocked\" and\n // would otherwise hang forever — surface it instead so callers hit their catch/fallback paths.\n req.onblocked = () =>\n reject(\n new Error('IndexedDB open blocked (another tab holds an upgrade lock)')\n );\n });\n}\n\nfunction idbGet<T>(key: string): Promise<T | undefined> {\n return openDb().then(\n (db) =>\n new Promise<T | undefined>((resolve, reject) => {\n const req = db\n .transaction(STORE, 'readonly')\n .objectStore(STORE)\n .get(key);\n req.onsuccess = () => {\n resolve(req.result as T | undefined);\n db.close();\n };\n req.onerror = () => {\n reject(req.error);\n db.close();\n };\n })\n );\n}\n\nfunction idbSet(key: string, value: unknown): Promise<void> {\n return openDb().then(\n (db) =>\n new Promise<void>((resolve, reject) => {\n const tx = db.transaction(STORE, 'readwrite');\n tx.objectStore(STORE).put(value, key);\n tx.oncomplete = () => {\n resolve();\n db.close();\n };\n tx.onerror = () => {\n reject(tx.error);\n db.close();\n };\n tx.onabort = () => {\n reject(tx.error);\n db.close();\n }; // else an aborted tx leaves the promise pending\n })\n );\n}\n\nfunction idbDel(key: string): Promise<void> {\n return openDb().then(\n (db) =>\n new Promise<void>((resolve, reject) => {\n const tx = db.transaction(STORE, 'readwrite');\n tx.objectStore(STORE).delete(key);\n tx.oncomplete = () => {\n resolve();\n db.close();\n };\n tx.onerror = () => {\n reject(tx.error);\n db.close();\n };\n tx.onabort = () => {\n reject(tx.error);\n db.close();\n }; // else an aborted tx leaves the promise pending\n })\n );\n}\n\n/**\n * Read a voiceprint record. If IndexedDB has nothing for `key` but localStorage does, migrate it via\n * `migrateLegacy` (parse the old JSON string → the new shape), persist it to IndexedDB, and clear the\n * localStorage copy. Returns `undefined` if neither has it. Never throws (best-effort storage).\n */\nexport async function getVoiceprints<T>(\n key: string,\n migrateLegacy?: (raw: string) => T\n): Promise<T | undefined> {\n try {\n const existing = await idbGet<T>(key);\n if (existing !== undefined) return existing;\n if (migrateLegacy) {\n let raw: string | null = null;\n try {\n raw = localStorage.getItem(key);\n } catch {\n /* ignore */\n }\n if (raw != null) {\n let migrated: T;\n try {\n migrated = migrateLegacy(raw);\n } catch {\n // Corrupt legacy value — drop it so we don't retry the failing migration on every load.\n try {\n localStorage.removeItem(key);\n } catch {\n /* ignore */\n }\n return undefined;\n }\n try {\n await idbSet(key, migrated);\n } catch {\n /* persist is best-effort; still return the migrated value */\n }\n try {\n localStorage.removeItem(key);\n } catch {\n /* ignore */\n }\n return migrated;\n }\n }\n return undefined;\n } catch {\n return undefined;\n }\n}\n\n/** Persist a voiceprint record (Float32Arrays stored natively). Best-effort — resolves even on failure. */\nexport async function setVoiceprints(\n key: string,\n value: unknown\n): Promise<void> {\n try {\n await idbSet(key, value);\n } catch {\n /* best-effort */\n }\n}\n\n/** Remove a voiceprint record (and any stale localStorage copy). */\nexport async function clearVoiceprints(key: string): Promise<void> {\n try {\n await idbDel(key);\n } catch {\n /* ignore */\n }\n try {\n localStorage.removeItem(key);\n } catch {\n /* ignore */\n }\n}\n\n// --- WHAT phrase-prints: per-phrase wake-embedding templates (the WHAT gate). Previously each story kept\n// its own copy of these load/save helpers against localStorage; centralized here on IndexedDB. ---\nconst WHAT_KEY = 'ozwellWhatPrints';\n\n// Legacy localStorage format: JSON `{ phrase: number[][] }`. New IndexedDB format stores Float32Array[]\n// natively, so migration just rehydrates the number arrays once.\nfunction parseLegacyWhat(raw: string): Record<string, Float32Array[]> {\n let o: Record<string, number[][]>;\n try {\n o = (JSON.parse(raw || '{}') || {}) as Record<string, number[][]>;\n } catch {\n return {};\n }\n // Null-prototype output + Object.keys so a legacy `__proto__` key can't pollute Object.prototype.\n const out: Record<string, Float32Array[]> = Object.create(null);\n for (const k of Object.keys(o))\n out[k] = (o[k] || []).map((a) => Float32Array.from(a));\n return out;\n}\n\nexport function loadWhatPrints(\n namespace?: string\n): Promise<Record<string, Float32Array[]>> {\n return getVoiceprints<Record<string, Float32Array[]>>(\n voiceprintStorageKey(WHAT_KEY, namespace),\n namespace === undefined ? parseLegacyWhat : undefined\n ).then((v) => v ?? {});\n}\n\nexport function saveWhatPrints(\n map: Record<string, Float32Array[]>,\n namespace?: string\n): Promise<void> {\n return setVoiceprints(voiceprintStorageKey(WHAT_KEY, namespace), map);\n}\n\nexport function clearWhatPrints(namespace?: string): Promise<void> {\n return clearVoiceprints(voiceprintStorageKey(WHAT_KEY, namespace));\n}\n"]}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { ViewSwitcher } from './chunk-IT775BYG.js';
|
|
2
|
+
import { ListView } from './chunk-DZ5HFLRC.js';
|
|
3
|
+
import { GanttView } from './chunk-Y4QNLW7W.js';
|
|
4
|
+
import { BoardView } from './chunk-XVW5DPPP.js';
|
|
5
|
+
import { CalendarView } from './chunk-G4D6CLBT.js';
|
|
6
|
+
import { cn } from './chunk-TQONQSJO.js';
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
|
+
|
|
10
|
+
var FIRST_ID = (views) => {
|
|
11
|
+
const first = views[0];
|
|
12
|
+
return (typeof first === "string" ? first : first?.id) ?? "list";
|
|
13
|
+
};
|
|
14
|
+
var readStored = (key) => {
|
|
15
|
+
try {
|
|
16
|
+
return globalThis.localStorage?.getItem(key) ?? null;
|
|
17
|
+
} catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var writeStored = (key, value) => {
|
|
22
|
+
try {
|
|
23
|
+
globalThis.localStorage?.setItem(key, value);
|
|
24
|
+
} catch {
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
function ViewSet({
|
|
28
|
+
views,
|
|
29
|
+
view,
|
|
30
|
+
defaultView,
|
|
31
|
+
onViewChange,
|
|
32
|
+
storageKey,
|
|
33
|
+
stages,
|
|
34
|
+
onMove,
|
|
35
|
+
toolbar,
|
|
36
|
+
filters,
|
|
37
|
+
overview,
|
|
38
|
+
table,
|
|
39
|
+
detail,
|
|
40
|
+
listProps,
|
|
41
|
+
boardProps,
|
|
42
|
+
calendarProps,
|
|
43
|
+
ganttProps,
|
|
44
|
+
className,
|
|
45
|
+
classNames,
|
|
46
|
+
...shared
|
|
47
|
+
}) {
|
|
48
|
+
const [internalView, setInternalView] = React.useState(
|
|
49
|
+
() => defaultView ?? FIRST_ID(views)
|
|
50
|
+
);
|
|
51
|
+
const offered = React.useMemo(
|
|
52
|
+
() => views.filter((v) => {
|
|
53
|
+
const id = typeof v === "string" ? v : v.id;
|
|
54
|
+
if (id === "overview") return overview != null;
|
|
55
|
+
if (id === "table") return table != null;
|
|
56
|
+
return true;
|
|
57
|
+
}),
|
|
58
|
+
[views, overview, table]
|
|
59
|
+
);
|
|
60
|
+
React.useEffect(() => {
|
|
61
|
+
if (!storageKey || view) return;
|
|
62
|
+
const stored = readStored(storageKey);
|
|
63
|
+
if (stored && offered.some((v) => (typeof v === "string" ? v : v.id) === stored))
|
|
64
|
+
setInternalView(stored);
|
|
65
|
+
}, [storageKey, view, offered]);
|
|
66
|
+
const requested = view ?? internalView;
|
|
67
|
+
const active = offered.some(
|
|
68
|
+
(v) => (typeof v === "string" ? v : v.id) === requested
|
|
69
|
+
) ? requested : FIRST_ID(offered);
|
|
70
|
+
const changeView = (next) => {
|
|
71
|
+
if (!view) setInternalView(next);
|
|
72
|
+
if (storageKey && !view) writeStored(storageKey, next);
|
|
73
|
+
onViewChange?.(next);
|
|
74
|
+
};
|
|
75
|
+
const body = (() => {
|
|
76
|
+
switch (active) {
|
|
77
|
+
case "overview":
|
|
78
|
+
return overview ?? null;
|
|
79
|
+
case "table":
|
|
80
|
+
return table ?? null;
|
|
81
|
+
case "board":
|
|
82
|
+
return /* @__PURE__ */ jsx(
|
|
83
|
+
BoardView,
|
|
84
|
+
{
|
|
85
|
+
...shared,
|
|
86
|
+
stages: stages ?? [],
|
|
87
|
+
onMove,
|
|
88
|
+
...boardProps
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
case "calendar":
|
|
92
|
+
return /* @__PURE__ */ jsx(CalendarView, { ...shared, ...calendarProps });
|
|
93
|
+
case "gantt":
|
|
94
|
+
return /* @__PURE__ */ jsx(GanttView, { ...shared, ...ganttProps });
|
|
95
|
+
case "roadmap":
|
|
96
|
+
return /* @__PURE__ */ jsx(
|
|
97
|
+
GanttView,
|
|
98
|
+
{
|
|
99
|
+
...shared,
|
|
100
|
+
...ganttProps,
|
|
101
|
+
cadence: "quarter",
|
|
102
|
+
groupByLane: true
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
case "list":
|
|
106
|
+
default:
|
|
107
|
+
return /* @__PURE__ */ jsx(ListView, { ...shared, stages, ...listProps });
|
|
108
|
+
}
|
|
109
|
+
})();
|
|
110
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "view-set", className: cn("flex flex-col gap-3", className), children: [
|
|
111
|
+
/* @__PURE__ */ jsxs(
|
|
112
|
+
"div",
|
|
113
|
+
{
|
|
114
|
+
"data-slot": "view-set-toolbar",
|
|
115
|
+
className: cn("flex flex-wrap items-center gap-2", classNames?.toolbar),
|
|
116
|
+
children: [
|
|
117
|
+
toolbar,
|
|
118
|
+
/* @__PURE__ */ jsx(
|
|
119
|
+
"div",
|
|
120
|
+
{
|
|
121
|
+
"data-slot": "view-set-switcher",
|
|
122
|
+
className: cn("ms-auto", classNames?.switcher),
|
|
123
|
+
children: /* @__PURE__ */ jsx(
|
|
124
|
+
ViewSwitcher,
|
|
125
|
+
{
|
|
126
|
+
views: offered,
|
|
127
|
+
value: active,
|
|
128
|
+
onValueChange: changeView,
|
|
129
|
+
label: shared.labels?.viewSwitcher
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
),
|
|
137
|
+
filters,
|
|
138
|
+
/* @__PURE__ */ jsxs(
|
|
139
|
+
"div",
|
|
140
|
+
{
|
|
141
|
+
"data-slot": "view-set-body",
|
|
142
|
+
className: cn(
|
|
143
|
+
// Plain column spans rather than an arbitrary grid template, so a
|
|
144
|
+
// Tailwind 3 consumer needs no extra safelist entry.
|
|
145
|
+
detail && "gap-3 lg:grid lg:grid-cols-3",
|
|
146
|
+
classNames?.body
|
|
147
|
+
),
|
|
148
|
+
children: [
|
|
149
|
+
/* @__PURE__ */ jsx("div", { className: cn("min-w-0", detail && "lg:col-span-2"), children: body }),
|
|
150
|
+
detail && /* @__PURE__ */ jsx(
|
|
151
|
+
"aside",
|
|
152
|
+
{
|
|
153
|
+
"data-slot": "view-set-detail",
|
|
154
|
+
className: cn("min-w-0", classNames?.detail),
|
|
155
|
+
children: detail
|
|
156
|
+
}
|
|
157
|
+
)
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
)
|
|
161
|
+
] });
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export { ViewSet };
|
|
165
|
+
//# sourceMappingURL=chunk-76TBQDED.js.map
|
|
166
|
+
//# sourceMappingURL=chunk-76TBQDED.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ViewSet/ViewSet.tsx"],"names":[],"mappings":"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","file":"chunk-76TBQDED.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport { ViewSwitcher, type ViewOption } from '../ViewSwitcher';\nimport { ListView, type ListViewProps } from '../ListView';\nimport { BoardView, type BoardLabels, type BoardViewProps } from '../BoardView';\nimport {\n CalendarView,\n type CalendarLabels,\n type CalendarViewProps,\n} from '../CalendarView';\nimport { GanttView, type GanttLabels, type GanttViewProps } from '../GanttView';\nimport type { Stage, ViewBaseProps, ViewId } from '../../views/types';\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * Every string any layout in the set can render.\n *\n * Each view extends `ViewLabels` with its own — the calendar's month arrows and\n * \"+n more\", the board's move announcements, the Gantt's undated footnote. They\n * are all shared props, so the per-view escape hatches below exclude `labels`;\n * without widening here a non-English host could translate the common strings\n * and nothing else, which would break the contract that every user-facing\n * string is overridable. A view ignores the keys it does not know.\n */\nexport type ViewSetLabels = Partial<CalendarLabels & BoardLabels & GanttLabels>;\n\n/**\n * Props `ViewSet` passes to every layout itself, beyond `ViewBaseProps`. Named\n * here so the per-view escape hatches below can exclude them by key rather than\n * by a hand-kept list that would drift the moment a shared prop is added.\n */\ntype ViewSetOwned = 'stages' | 'onMove' | 'timeZone' | 'locale';\n\ntype ViewOverrides<P, T> = Omit<\n Partial<P>,\n keyof ViewBaseProps<T> | ViewSetOwned\n>;\n\nexport interface ViewSetProps<T> extends ViewBaseProps<T> {\n /** Every string any offered layout can render, not just the shared ones. */\n labels?: ViewSetLabels;\n /** Views to offer, in order. The first is the default when uncontrolled. */\n views: readonly (ViewId | ViewOption)[];\n view?: ViewId;\n defaultView?: ViewId;\n onViewChange?: (view: ViewId) => void;\n /**\n * Remembers the chosen view under this key. Ignored when `view` is\n * controlled — a page with its own URL state should own it there instead.\n */\n storageKey?: string;\n /** Stages for the board and for list grouping. */\n stages?: readonly Stage[];\n onMove?: BoardViewProps<T>['onMove'];\n /**\n * IANA zone the date views read day boundaries in. Shared, because a page\n * showing one collection as a calendar and as a Gantt must place it on the\n * same days in both.\n */\n timeZone?: string;\n /** Locale for date formatting in the calendar and Gantt. */\n locale?: string;\n\n /** Rendered above the switcher row. */\n toolbar?: React.ReactNode;\n /** Rendered under the switcher row, above the view. */\n filters?: React.ReactNode;\n /** The `overview` view. Domain content — the library has no opinion on it. */\n overview?: React.ReactNode;\n /** The `table` view. A tabular collection is a grid, not a view component. */\n table?: React.ReactNode;\n /** Rendered beside the view, for a list-plus-detail layout. */\n detail?: React.ReactNode;\n\n /**\n * Per-view escape hatches for props this shell does not surface. Shared props\n * are excluded: one collection rendered several ways means switching view can\n * never change the records, the selection or the load state.\n *\n * `ViewSetOwned` covers the props the shell passes itself but that are not on\n * `ViewBaseProps`. They are spread after the shared ones, so leaving them open\n * would let one layout carry different stages, a different mutation callback\n * or a different time zone from its neighbours — the same collection quietly\n * disagreeing with itself as you switch tabs.\n */\n listProps?: ViewOverrides<ListViewProps<T>, T>;\n boardProps?: ViewOverrides<BoardViewProps<T>, T>;\n calendarProps?: ViewOverrides<CalendarViewProps<T>, T>;\n ganttProps?: ViewOverrides<GanttViewProps<T>, T>;\n\n classNames?: Partial<\n Record<'toolbar' | 'switcher' | 'body' | 'detail', string>\n >;\n}\n\nconst FIRST_ID = (views: ViewSetProps<unknown>['views']) => {\n const first = views[0];\n return (typeof first === 'string' ? first : first?.id) ?? 'list';\n};\n\n// Remembering the view is an enhancement, never a requirement. `localStorage`\n// can exist and still throw — Safari private browsing and a blocked third-party\n// storage policy both raise on access — so optional chaining is not enough; an\n// unguarded read would take the whole page down to save a preference.\nconst readStored = (key: string): ViewId | null => {\n try {\n return (globalThis.localStorage?.getItem(key) as ViewId | null) ?? null;\n } catch {\n return null;\n }\n};\n\nconst writeStored = (key: string, value: ViewId) => {\n try {\n globalThis.localStorage?.setItem(key, value);\n } catch {\n // Fall back to in-memory state for the session.\n }\n};\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * The page-level composition: switcher, the enabled views, and the slots a page\n * needs around them. It owns which view is showing and nothing else — items,\n * selection and every mutation stay with the caller.\n */\nexport function ViewSet<T>({\n views,\n view,\n defaultView,\n onViewChange,\n storageKey,\n stages,\n onMove,\n toolbar,\n filters,\n overview,\n table,\n detail,\n listProps,\n boardProps,\n calendarProps,\n ganttProps,\n className,\n classNames,\n ...shared\n}: ViewSetProps<T>) {\n const [internalView, setInternalView] = React.useState<ViewId>(\n () => defaultView ?? FIRST_ID(views)\n );\n\n // `overview` and `table` are the caller's content. Offering either without\n // its slot would put a dead option in the switcher that renders a blank page.\n const offered = React.useMemo(\n () =>\n views.filter((v) => {\n const id = typeof v === 'string' ? v : v.id;\n if (id === 'overview') return overview != null;\n if (id === 'table') return table != null;\n return true;\n }),\n [views, overview, table]\n );\n\n // Read storage after mount: a server render and the first client render must\n // agree, and localStorage is not available to the former.\n React.useEffect(() => {\n if (!storageKey || view) return;\n const stored = readStored(storageKey);\n if (\n stored &&\n offered.some((v) => (typeof v === 'string' ? v : v.id) === stored)\n )\n setInternalView(stored);\n }, [storageKey, view, offered]);\n\n const requested = view ?? internalView;\n const active = offered.some(\n (v) => (typeof v === 'string' ? v : v.id) === requested\n )\n ? requested\n : FIRST_ID(offered);\n\n const changeView = (next: ViewId) => {\n if (!view) setInternalView(next);\n if (storageKey && !view) writeStored(storageKey, next);\n onViewChange?.(next);\n };\n\n const body = (() => {\n switch (active) {\n case 'overview':\n return overview ?? null;\n case 'table':\n return table ?? null;\n case 'board':\n return (\n <BoardView\n {...shared}\n stages={stages ?? []}\n onMove={onMove}\n {...boardProps}\n />\n );\n case 'calendar':\n return <CalendarView {...shared} {...calendarProps} />;\n case 'gantt':\n return <GanttView {...shared} {...ganttProps} />;\n case 'roadmap':\n // A roadmap is the Gantt at a coarse cadence; see Views.mdx. The two\n // props that make it one come last: `ganttProps` is shared with the\n // plain `gantt` case, so a `cadence: 'day'` meant for that view must\n // not quietly turn the Roadmap option into a daily chart.\n return (\n <GanttView\n {...shared}\n {...ganttProps}\n cadence=\"quarter\"\n groupByLane\n />\n );\n case 'list':\n default:\n return <ListView {...shared} stages={stages} {...listProps} />;\n }\n })();\n\n return (\n <div data-slot=\"view-set\" className={cn('flex flex-col gap-3', className)}>\n <div\n data-slot=\"view-set-toolbar\"\n className={cn('flex flex-wrap items-center gap-2', classNames?.toolbar)}\n >\n {toolbar}\n <div\n data-slot=\"view-set-switcher\"\n className={cn('ms-auto', classNames?.switcher)}\n >\n <ViewSwitcher\n views={offered}\n value={active}\n onValueChange={changeView}\n label={shared.labels?.viewSwitcher}\n />\n </div>\n </div>\n {filters}\n <div\n data-slot=\"view-set-body\"\n className={cn(\n // Plain column spans rather than an arbitrary grid template, so a\n // Tailwind 3 consumer needs no extra safelist entry.\n detail && 'gap-3 lg:grid lg:grid-cols-3',\n classNames?.body\n )}\n >\n <div className={cn('min-w-0', detail && 'lg:col-span-2')}>{body}</div>\n {detail && (\n <aside\n data-slot=\"view-set-detail\"\n className={cn('min-w-0', classNames?.detail)}\n >\n {detail}\n </aside>\n )}\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { formatDateValue, parseDateValue, isValidDate, isDateInFuture, isDateInPast, calculateAge } from './chunk-RC2YMOMS.js';
|
|
2
1
|
import { Input, inputVariants, floatingLabelVariants, RequiredMark } from './chunk-3IMM2PM4.js';
|
|
3
|
-
import { cn } from './chunk-TQONQSJO.js';
|
|
4
2
|
import { useAnchoredPosition } from './chunk-WSNMQQ4P.js';
|
|
3
|
+
import { formatDateValue, parseDateValue, isValidDate, isDateInFuture, isDateInPast, calculateAge } from './chunk-RC2YMOMS.js';
|
|
4
|
+
import { cn } from './chunk-TQONQSJO.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { createPortal } from 'react-dom';
|
|
7
7
|
import { Clock, Calendar } from 'lucide-react';
|
|
@@ -840,5 +840,5 @@ function ChevronRightIcon() {
|
|
|
840
840
|
}
|
|
841
841
|
|
|
842
842
|
export { DateInput };
|
|
843
|
-
//# sourceMappingURL=chunk-
|
|
844
|
-
//# sourceMappingURL=chunk-
|
|
843
|
+
//# sourceMappingURL=chunk-7IBZA7G6.js.map
|
|
844
|
+
//# sourceMappingURL=chunk-7IBZA7G6.js.map
|