@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,297 @@
|
|
|
1
|
+
import { cn } from './chunk-TQONQSJO.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var MONTH_LETTERS = [
|
|
6
|
+
"J",
|
|
7
|
+
"F",
|
|
8
|
+
"M",
|
|
9
|
+
"A",
|
|
10
|
+
"M",
|
|
11
|
+
"J",
|
|
12
|
+
"J",
|
|
13
|
+
"A",
|
|
14
|
+
"S",
|
|
15
|
+
"O",
|
|
16
|
+
"N",
|
|
17
|
+
"D"
|
|
18
|
+
];
|
|
19
|
+
var MONTH_NAMES = [
|
|
20
|
+
"Jan",
|
|
21
|
+
"Feb",
|
|
22
|
+
"Mar",
|
|
23
|
+
"Apr",
|
|
24
|
+
"May",
|
|
25
|
+
"Jun",
|
|
26
|
+
"Jul",
|
|
27
|
+
"Aug",
|
|
28
|
+
"Sep",
|
|
29
|
+
"Oct",
|
|
30
|
+
"Nov",
|
|
31
|
+
"Dec"
|
|
32
|
+
];
|
|
33
|
+
var TONES = [
|
|
34
|
+
"primary",
|
|
35
|
+
"accent",
|
|
36
|
+
"info",
|
|
37
|
+
"success",
|
|
38
|
+
"warning",
|
|
39
|
+
"neutral"
|
|
40
|
+
];
|
|
41
|
+
var TONE_COLORS = {
|
|
42
|
+
primary: ["var(--mieweb-primary-600)", "var(--mieweb-primary-400)"],
|
|
43
|
+
accent: [
|
|
44
|
+
"var(--mieweb-accent, var(--mieweb-primary-500))",
|
|
45
|
+
"var(--mieweb-accent-light, var(--mieweb-primary-300))"
|
|
46
|
+
],
|
|
47
|
+
success: [
|
|
48
|
+
"var(--mieweb-success)",
|
|
49
|
+
"color-mix(in srgb, var(--mieweb-success) 60%, #fff)"
|
|
50
|
+
],
|
|
51
|
+
warning: [
|
|
52
|
+
"var(--mieweb-warning)",
|
|
53
|
+
"color-mix(in srgb, var(--mieweb-warning) 60%, #fff)"
|
|
54
|
+
],
|
|
55
|
+
info: [
|
|
56
|
+
"var(--mieweb-info, var(--mieweb-primary-400))",
|
|
57
|
+
"color-mix(in srgb, var(--mieweb-info, var(--mieweb-primary-400)) 60%, #fff)"
|
|
58
|
+
],
|
|
59
|
+
neutral: ["var(--mieweb-neutral-500)", "var(--mieweb-neutral-400)"]
|
|
60
|
+
};
|
|
61
|
+
var GROUP_TEXT = {
|
|
62
|
+
scheduled: "text-primary-800 dark:text-primary-300",
|
|
63
|
+
continuous: "text-success-800 dark:text-success",
|
|
64
|
+
event: "text-muted-foreground"
|
|
65
|
+
};
|
|
66
|
+
function cadenceOf(item) {
|
|
67
|
+
return item.cadence ?? (item.months?.length ? "scheduled" : "continuous");
|
|
68
|
+
}
|
|
69
|
+
function windowOf(item) {
|
|
70
|
+
if (!item.months?.length) return null;
|
|
71
|
+
return { start: Math.min(...item.months), end: Math.max(...item.months) };
|
|
72
|
+
}
|
|
73
|
+
function formatWindow(item, names) {
|
|
74
|
+
const w = windowOf(item);
|
|
75
|
+
if (!w) return null;
|
|
76
|
+
return w.start === w.end ? names[w.start - 1] : `${names[w.start - 1]}\u2013${names[w.end - 1]}`;
|
|
77
|
+
}
|
|
78
|
+
function resolveCurrent(items, month) {
|
|
79
|
+
const live = items.find((it) => it.months?.includes(month));
|
|
80
|
+
if (live) return { id: live.id, live: true };
|
|
81
|
+
let best = null;
|
|
82
|
+
let bestDelta = 99;
|
|
83
|
+
for (const it of items) {
|
|
84
|
+
if (!it.months?.length) continue;
|
|
85
|
+
const delta = (Math.min(...it.months) - month + 12) % 12;
|
|
86
|
+
if (delta > 0 && delta < bestDelta) {
|
|
87
|
+
bestDelta = delta;
|
|
88
|
+
best = it;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return best ? { id: best.id, live: false } : null;
|
|
92
|
+
}
|
|
93
|
+
function toMonth(today) {
|
|
94
|
+
return typeof today === "number" ? today : today.getMonth() + 1;
|
|
95
|
+
}
|
|
96
|
+
function YearTimeline({
|
|
97
|
+
items,
|
|
98
|
+
today,
|
|
99
|
+
labelHeading = "Obligation",
|
|
100
|
+
monthLabels = MONTH_LETTERS,
|
|
101
|
+
monthNames = MONTH_NAMES,
|
|
102
|
+
groupLabels,
|
|
103
|
+
labels,
|
|
104
|
+
highlightCurrent = true,
|
|
105
|
+
labelWidth = "300px",
|
|
106
|
+
className
|
|
107
|
+
}) {
|
|
108
|
+
const [mountedMonth, setMountedMonth] = React.useState(null);
|
|
109
|
+
React.useEffect(() => {
|
|
110
|
+
if (today === void 0) setMountedMonth((/* @__PURE__ */ new Date()).getMonth() + 1);
|
|
111
|
+
}, [today]);
|
|
112
|
+
const month = today === null ? null : today === void 0 ? mountedMonth : toMonth(today);
|
|
113
|
+
const current = month != null && highlightCurrent ? resolveCurrent(items, month) : null;
|
|
114
|
+
const nowFraction = month != null ? (month - 0.5) / 12 : null;
|
|
115
|
+
const groupTitle = {
|
|
116
|
+
scheduled: groupLabels?.scheduled ?? "On the calendar",
|
|
117
|
+
continuous: groupLabels?.continuous ?? "Runs all year",
|
|
118
|
+
event: groupLabels?.event ?? "As it happens"
|
|
119
|
+
};
|
|
120
|
+
const text = { today: "Today", now: "Now", upNext: "Up next", ...labels };
|
|
121
|
+
const groups = ["scheduled", "continuous", "event"].map((key) => ({
|
|
122
|
+
key,
|
|
123
|
+
items: items.filter((it) => cadenceOf(it) === key).sort(
|
|
124
|
+
(a, b) => (windowOf(a)?.start ?? 13) - (windowOf(b)?.start ?? 13)
|
|
125
|
+
)
|
|
126
|
+
})).filter((g) => g.items.length > 0);
|
|
127
|
+
let toneIndex = 0;
|
|
128
|
+
return /* @__PURE__ */ jsxs(
|
|
129
|
+
"div",
|
|
130
|
+
{
|
|
131
|
+
"data-slot": "year-timeline",
|
|
132
|
+
style: {
|
|
133
|
+
"--yt-label": labelWidth,
|
|
134
|
+
"--yt-now": nowFraction ?? void 0
|
|
135
|
+
},
|
|
136
|
+
className: cn(
|
|
137
|
+
"border-border bg-card text-card-foreground relative overflow-hidden rounded-xl border shadow-md",
|
|
138
|
+
// year ribbon
|
|
139
|
+
'before:absolute before:inset-x-0 before:top-0 before:z-[4] before:h-1 before:content-[""]',
|
|
140
|
+
"before:[background:linear-gradient(90deg,var(--mieweb-accent,var(--mieweb-primary-400))_0%,var(--mieweb-primary-500)_50%,var(--mieweb-success)_80%,var(--mieweb-accent,var(--mieweb-primary-400))_100%)]",
|
|
141
|
+
className
|
|
142
|
+
),
|
|
143
|
+
children: [
|
|
144
|
+
/* @__PURE__ */ jsxs("div", { className: "border-border bg-muted/50 hidden border-b md:grid md:grid-cols-[var(--yt-label)_1fr]", children: [
|
|
145
|
+
/* @__PURE__ */ jsx("div", { className: "border-border flex items-end border-e px-5 pt-3 pb-2.5", children: /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-[10px] font-bold tracking-[0.11em] uppercase", children: labelHeading }) }),
|
|
146
|
+
/* @__PURE__ */ jsxs("div", { className: "relative grid grid-cols-12", children: [
|
|
147
|
+
monthLabels.map((m, i) => /* @__PURE__ */ jsx(
|
|
148
|
+
"span",
|
|
149
|
+
{
|
|
150
|
+
className: cn(
|
|
151
|
+
"text-muted-foreground pt-3 pb-2.5 text-center text-[11px] font-bold tracking-wide",
|
|
152
|
+
i > 0 && "border-border/60 border-s"
|
|
153
|
+
),
|
|
154
|
+
children: m
|
|
155
|
+
},
|
|
156
|
+
i
|
|
157
|
+
)),
|
|
158
|
+
nowFraction != null && /* @__PURE__ */ jsxs(
|
|
159
|
+
"span",
|
|
160
|
+
{
|
|
161
|
+
"data-slot": "year-timeline-today",
|
|
162
|
+
style: { left: `calc(var(--yt-now) * 100%)` },
|
|
163
|
+
className: "bg-primary-800 absolute top-1.5 z-[5] inline-flex -translate-x-1/2 items-center gap-1.5 rounded-full px-2 py-0.5 text-[9px] font-bold tracking-[0.09em] whitespace-nowrap text-white uppercase",
|
|
164
|
+
children: [
|
|
165
|
+
/* @__PURE__ */ jsx("i", { "aria-hidden": true, className: "h-1.5 w-1.5 rounded-full bg-white" }),
|
|
166
|
+
text.today
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
)
|
|
170
|
+
] })
|
|
171
|
+
] }),
|
|
172
|
+
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
173
|
+
/* @__PURE__ */ jsx(
|
|
174
|
+
"div",
|
|
175
|
+
{
|
|
176
|
+
"aria-hidden": true,
|
|
177
|
+
className: "pointer-events-none absolute inset-y-0 end-0 z-0 hidden md:block",
|
|
178
|
+
style: {
|
|
179
|
+
left: "var(--yt-label)",
|
|
180
|
+
backgroundImage: "repeating-linear-gradient(90deg, var(--mieweb-border) 0, var(--mieweb-border) 1px, transparent 1px, transparent calc(100% / 12))",
|
|
181
|
+
opacity: 0.5
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
),
|
|
185
|
+
nowFraction != null && /* @__PURE__ */ jsx(
|
|
186
|
+
"span",
|
|
187
|
+
{
|
|
188
|
+
"aria-hidden": true,
|
|
189
|
+
"data-slot": "year-timeline-playhead",
|
|
190
|
+
style: {
|
|
191
|
+
left: "calc(var(--yt-label) + (100% - var(--yt-label)) * var(--yt-now))"
|
|
192
|
+
},
|
|
193
|
+
className: cn(
|
|
194
|
+
"pointer-events-none absolute inset-y-0 z-[3] hidden w-0.5 -translate-x-px md:block",
|
|
195
|
+
"[background:linear-gradient(180deg,var(--mieweb-primary-700),color-mix(in_srgb,var(--mieweb-primary-700)_15%,transparent))]",
|
|
196
|
+
'before:bg-primary-700 before:absolute before:top-0 before:left-1/2 before:h-2.5 before:w-2.5 before:-translate-x-1/2 before:rounded-full before:content-[""]'
|
|
197
|
+
)
|
|
198
|
+
}
|
|
199
|
+
),
|
|
200
|
+
groups.map((g, gi) => /* @__PURE__ */ jsxs("div", { "data-cadence": g.key, children: [
|
|
201
|
+
/* @__PURE__ */ jsx(
|
|
202
|
+
"div",
|
|
203
|
+
{
|
|
204
|
+
className: cn(
|
|
205
|
+
"bg-muted/30 relative z-[1] flex items-center gap-2 px-5 py-2.5 text-[10px] font-bold tracking-[0.12em] uppercase",
|
|
206
|
+
gi > 0 && "border-border border-t",
|
|
207
|
+
GROUP_TEXT[g.key]
|
|
208
|
+
),
|
|
209
|
+
children: groupTitle[g.key]
|
|
210
|
+
}
|
|
211
|
+
),
|
|
212
|
+
g.items.map((it) => {
|
|
213
|
+
const cadence = cadenceOf(it);
|
|
214
|
+
const w = windowOf(it);
|
|
215
|
+
const isCurrent = current?.id === it.id;
|
|
216
|
+
const [c1, c2] = it.colors ?? TONE_COLORS[it.tone ?? TONES[toneIndex++ % TONES.length]];
|
|
217
|
+
const caption = cadence === "scheduled" ? formatWindow(it, monthNames) : null;
|
|
218
|
+
const period = it.period ?? caption ?? groupTitle[cadence];
|
|
219
|
+
const Title = it.href ? "a" : "span";
|
|
220
|
+
return /* @__PURE__ */ jsxs(
|
|
221
|
+
"div",
|
|
222
|
+
{
|
|
223
|
+
"data-slot": "year-timeline-row",
|
|
224
|
+
"data-current": isCurrent ? current?.live ? "now" : "next" : void 0,
|
|
225
|
+
className: cn(
|
|
226
|
+
"border-border/60 relative z-[1] grid border-t transition-colors md:grid-cols-[var(--yt-label)_1fr]",
|
|
227
|
+
"hover:bg-muted/40",
|
|
228
|
+
isCurrent && "bg-primary-500/10 hover:bg-primary-500/10"
|
|
229
|
+
),
|
|
230
|
+
children: [
|
|
231
|
+
/* @__PURE__ */ jsxs("div", { className: "md:border-border/60 px-5 pt-4 pb-2 md:border-e md:pb-4", children: [
|
|
232
|
+
/* @__PURE__ */ jsxs(
|
|
233
|
+
"div",
|
|
234
|
+
{
|
|
235
|
+
className: "mb-1.5 flex items-center gap-1.5 text-[10px] font-bold tracking-[0.09em] uppercase [&_svg]:h-3.5 [&_svg]:w-3.5",
|
|
236
|
+
style: { color: c1 },
|
|
237
|
+
children: [
|
|
238
|
+
it.icon,
|
|
239
|
+
/* @__PURE__ */ jsx("span", { children: period }),
|
|
240
|
+
isCurrent && /* @__PURE__ */ jsx("span", { className: "bg-primary-800 ms-auto rounded-full px-1.5 py-0.5 text-[9px] tracking-[0.08em] text-white", children: current?.live ? text.now : text.upNext })
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
),
|
|
244
|
+
/* @__PURE__ */ jsx(
|
|
245
|
+
Title,
|
|
246
|
+
{
|
|
247
|
+
href: it.href,
|
|
248
|
+
className: cn(
|
|
249
|
+
"text-foreground block text-base font-semibold",
|
|
250
|
+
it.href && "hover:underline"
|
|
251
|
+
),
|
|
252
|
+
children: it.label
|
|
253
|
+
}
|
|
254
|
+
),
|
|
255
|
+
it.detail && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mt-1 text-sm leading-relaxed", children: it.detail })
|
|
256
|
+
] }),
|
|
257
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-12 items-center px-5 pb-4 md:px-0 md:py-3.5", children: /* @__PURE__ */ jsx(
|
|
258
|
+
"span",
|
|
259
|
+
{
|
|
260
|
+
"data-slot": "year-timeline-bar",
|
|
261
|
+
"data-cadence": cadence,
|
|
262
|
+
style: {
|
|
263
|
+
gridColumn: cadence === "scheduled" && w ? `${w.start} / ${w.end + 1}` : "1 / 13",
|
|
264
|
+
...cadence === "scheduled" ? {
|
|
265
|
+
background: `linear-gradient(90deg, ${c1}, ${c2})`
|
|
266
|
+
} : cadence === "continuous" ? {
|
|
267
|
+
background: `linear-gradient(90deg, color-mix(in srgb, ${c1} 22%, transparent), color-mix(in srgb, ${c2} 22%, transparent))`,
|
|
268
|
+
borderColor: `color-mix(in srgb, ${c1} 45%, transparent)`
|
|
269
|
+
} : {
|
|
270
|
+
background: `repeating-linear-gradient(45deg, color-mix(in srgb, ${c1} 30%, transparent) 0 6px, transparent 6px 12px)`,
|
|
271
|
+
borderColor: `color-mix(in srgb, ${c1} 60%, transparent)`
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
className: cn(
|
|
275
|
+
"row-start-1 flex h-3.5 min-w-2.5 items-center justify-end rounded-full px-2 md:h-[22px]",
|
|
276
|
+
cadence === "scheduled" && "shadow-sm",
|
|
277
|
+
cadence === "continuous" && "border",
|
|
278
|
+
cadence === "event" && "border border-dashed"
|
|
279
|
+
),
|
|
280
|
+
children: caption && /* @__PURE__ */ jsx("span", { className: "hidden text-[10px] font-bold tracking-wide text-white [text-shadow:0_1px_1px_rgba(0,0,0,0.3)] md:inline", children: caption })
|
|
281
|
+
}
|
|
282
|
+
) })
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
it.id
|
|
286
|
+
);
|
|
287
|
+
})
|
|
288
|
+
] }, g.key))
|
|
289
|
+
] })
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export { MONTH_LETTERS, MONTH_NAMES, YearTimeline, resolveCurrent };
|
|
296
|
+
//# sourceMappingURL=chunk-SQJFBZ42.js.map
|
|
297
|
+
//# sourceMappingURL=chunk-SQJFBZ42.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/YearTimeline/YearTimeline.tsx"],"names":[],"mappings":"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","file":"chunk-SQJFBZ42.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../utils/cn';\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/** How an item lives in the year. */\nexport type YearTimelineCadence = 'scheduled' | 'continuous' | 'event';\n\nexport type YearTimelineTone =\n | 'primary'\n | 'accent'\n | 'success'\n | 'warning'\n | 'info'\n | 'neutral';\n\nexport interface YearTimelineItem {\n id: string;\n /** Row title. */\n label: string;\n /** Supporting copy under the title. */\n detail?: string;\n /**\n * Eyebrow above the title, e.g. \"Jan–Feb\" or \"Year-round\". Defaults to the\n * formatted month window for scheduled items.\n */\n period?: string;\n /** Months (1–12) the item occupies. Drives the bar span and the live marker. */\n months?: number[];\n /**\n * `scheduled` bars span `months`; `continuous` and `event` run full-width in\n * their own lanes. Defaults to `scheduled` when `months` is set, else\n * `continuous`.\n */\n cadence?: YearTimelineCadence;\n /** Bar colour family. Default cycles through the tones. */\n tone?: YearTimelineTone;\n /** Any two CSS colours for a custom bar gradient — overrides `tone`. */\n colors?: [string, string];\n /** Small icon before the eyebrow (Lucide, 13px). */\n icon?: React.ReactNode;\n /** Makes the row title a link. */\n href?: string;\n}\n\nexport interface YearTimelineProps {\n items: YearTimelineItem[];\n /**\n * Which month (1–12) or date the playhead marks. Default: the viewer's\n * current month, resolved after mount. Pass `null` to hide the marker.\n */\n today?: Date | number | null;\n /** Column heading over the row labels. Default \"Obligation\". */\n labelHeading?: string;\n /** Twelve month tick labels. Default single letters. */\n monthLabels?: readonly string[];\n /** Twelve short month names used in period fallbacks and bar captions. */\n monthNames?: readonly string[];\n /** Lane headings by cadence. */\n groupLabels?: Partial<Record<YearTimelineCadence, string>>;\n /** Copy for the live marker and row badges. */\n labels?: { today?: string; now?: string; upNext?: string };\n /** Highlight the item happening now (or coming up next). Default true. */\n highlightCurrent?: boolean;\n /** Width of the label column. Default `300px`. */\n labelWidth?: string;\n className?: string;\n}\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\nexport const MONTH_LETTERS = [\n 'J',\n 'F',\n 'M',\n 'A',\n 'M',\n 'J',\n 'J',\n 'A',\n 'S',\n 'O',\n 'N',\n 'D',\n] as const;\nexport const MONTH_NAMES = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n] as const;\n\nconst TONES: YearTimelineTone[] = [\n 'primary',\n 'accent',\n 'info',\n 'success',\n 'warning',\n 'neutral',\n];\n\nconst TONE_COLORS: Record<YearTimelineTone, [string, string]> = {\n primary: ['var(--mieweb-primary-600)', 'var(--mieweb-primary-400)'],\n accent: [\n 'var(--mieweb-accent, var(--mieweb-primary-500))',\n 'var(--mieweb-accent-light, var(--mieweb-primary-300))',\n ],\n success: [\n 'var(--mieweb-success)',\n 'color-mix(in srgb, var(--mieweb-success) 60%, #fff)',\n ],\n warning: [\n 'var(--mieweb-warning)',\n 'color-mix(in srgb, var(--mieweb-warning) 60%, #fff)',\n ],\n info: [\n 'var(--mieweb-info, var(--mieweb-primary-400))',\n 'color-mix(in srgb, var(--mieweb-info, var(--mieweb-primary-400)) 60%, #fff)',\n ],\n neutral: ['var(--mieweb-neutral-500)', 'var(--mieweb-neutral-400)'],\n};\n\nconst GROUP_TEXT: Record<YearTimelineCadence, string> = {\n scheduled: 'text-primary-800 dark:text-primary-300',\n continuous: 'text-success-800 dark:text-success',\n event: 'text-muted-foreground',\n};\n\nfunction cadenceOf(item: YearTimelineItem): YearTimelineCadence {\n return item.cadence ?? (item.months?.length ? 'scheduled' : 'continuous');\n}\n\nfunction windowOf(\n item: YearTimelineItem\n): { start: number; end: number } | null {\n if (!item.months?.length) return null;\n return { start: Math.min(...item.months), end: Math.max(...item.months) };\n}\n\nfunction formatWindow(\n item: YearTimelineItem,\n names: readonly string[]\n): string | null {\n const w = windowOf(item);\n if (!w) return null;\n return w.start === w.end\n ? names[w.start - 1]\n : `${names[w.start - 1]}–${names[w.end - 1]}`;\n}\n\n/** Item in `month`, else the next one coming up (wrapping the year). */\nexport function resolveCurrent(\n items: YearTimelineItem[],\n month: number\n): { id: string; live: boolean } | null {\n const live = items.find((it) => it.months?.includes(month));\n if (live) return { id: live.id, live: true };\n let best: YearTimelineItem | null = null;\n let bestDelta = 99;\n for (const it of items) {\n if (!it.months?.length) continue;\n const delta = (Math.min(...it.months) - month + 12) % 12;\n if (delta > 0 && delta < bestDelta) {\n bestDelta = delta;\n best = it;\n }\n }\n return best ? { id: best.id, live: false } : null;\n}\n\nfunction toMonth(today: Date | number): number {\n return typeof today === 'number' ? today : today.getMonth() + 1;\n}\n\n// =============================================================================\n// YearTimeline\n// =============================================================================\n\n/**\n * A year on one Gantt-style timeline: twelve month columns, rows grouped by\n * cadence (scheduled windows as gradient pill bars; continuous and\n * event-driven items in full-width lanes), month gridlines, and a live\n * playhead + \"Today\" pill marking the current month. The item happening now\n * (or up next) is highlighted. Ported from the Enterprise Health compliance\n * calendar; fits any recurring annual schedule — audits, filings, campaigns,\n * maintenance.\n *\n * Collapses to stacked rows without the month scale below `md`.\n */\nexport function YearTimeline({\n items,\n today,\n labelHeading = 'Obligation',\n monthLabels = MONTH_LETTERS,\n monthNames = MONTH_NAMES,\n groupLabels,\n labels,\n highlightCurrent = true,\n labelWidth = '300px',\n className,\n}: YearTimelineProps) {\n // The viewer's clock is only known after mount (SSR-safe).\n const [mountedMonth, setMountedMonth] = React.useState<number | null>(null);\n React.useEffect(() => {\n if (today === undefined) setMountedMonth(new Date().getMonth() + 1);\n }, [today]);\n\n const month =\n today === null ? null : today === undefined ? mountedMonth : toMonth(today);\n const current =\n month != null && highlightCurrent ? resolveCurrent(items, month) : null;\n const nowFraction = month != null ? (month - 0.5) / 12 : null;\n\n const groupTitle: Record<YearTimelineCadence, string> = {\n scheduled: groupLabels?.scheduled ?? 'On the calendar',\n continuous: groupLabels?.continuous ?? 'Runs all year',\n event: groupLabels?.event ?? 'As it happens',\n };\n const text = { today: 'Today', now: 'Now', upNext: 'Up next', ...labels };\n\n const groups = (['scheduled', 'continuous', 'event'] as const)\n .map((key) => ({\n key,\n items: items\n .filter((it) => cadenceOf(it) === key)\n .sort(\n (a, b) => (windowOf(a)?.start ?? 13) - (windowOf(b)?.start ?? 13)\n ),\n }))\n .filter((g) => g.items.length > 0);\n\n let toneIndex = 0;\n\n return (\n <div\n data-slot=\"year-timeline\"\n style={\n {\n '--yt-label': labelWidth,\n '--yt-now': nowFraction ?? undefined,\n } as React.CSSProperties\n }\n className={cn(\n 'border-border bg-card text-card-foreground relative overflow-hidden rounded-xl border shadow-md',\n // year ribbon\n 'before:absolute before:inset-x-0 before:top-0 before:z-[4] before:h-1 before:content-[\"\"]',\n 'before:[background:linear-gradient(90deg,var(--mieweb-accent,var(--mieweb-primary-400))_0%,var(--mieweb-primary-500)_50%,var(--mieweb-success)_80%,var(--mieweb-accent,var(--mieweb-primary-400))_100%)]',\n className\n )}\n >\n {/* Head: label heading + month scale */}\n <div className=\"border-border bg-muted/50 hidden border-b md:grid md:grid-cols-[var(--yt-label)_1fr]\">\n <div className=\"border-border flex items-end border-e px-5 pt-3 pb-2.5\">\n <span className=\"text-muted-foreground text-[10px] font-bold tracking-[0.11em] uppercase\">\n {labelHeading}\n </span>\n </div>\n <div className=\"relative grid grid-cols-12\">\n {monthLabels.map((m, i) => (\n <span\n key={i}\n className={cn(\n 'text-muted-foreground pt-3 pb-2.5 text-center text-[11px] font-bold tracking-wide',\n i > 0 && 'border-border/60 border-s'\n )}\n >\n {m}\n </span>\n ))}\n {nowFraction != null && (\n <span\n data-slot=\"year-timeline-today\"\n style={{ left: `calc(var(--yt-now) * 100%)` }}\n className=\"bg-primary-800 absolute top-1.5 z-[5] inline-flex -translate-x-1/2 items-center gap-1.5 rounded-full px-2 py-0.5 text-[9px] font-bold tracking-[0.09em] whitespace-nowrap text-white uppercase\"\n >\n <i aria-hidden className=\"h-1.5 w-1.5 rounded-full bg-white\" />\n {text.today}\n </span>\n )}\n </div>\n </div>\n\n {/* Body */}\n <div className=\"relative\">\n {/* month gridlines */}\n <div\n aria-hidden\n className=\"pointer-events-none absolute inset-y-0 end-0 z-0 hidden md:block\"\n style={{\n left: 'var(--yt-label)',\n backgroundImage:\n 'repeating-linear-gradient(90deg, var(--mieweb-border) 0, var(--mieweb-border) 1px, transparent 1px, transparent calc(100% / 12))',\n opacity: 0.5,\n }}\n />\n {nowFraction != null && (\n <span\n aria-hidden\n data-slot=\"year-timeline-playhead\"\n style={{\n left: 'calc(var(--yt-label) + (100% - var(--yt-label)) * var(--yt-now))',\n }}\n className={cn(\n 'pointer-events-none absolute inset-y-0 z-[3] hidden w-0.5 -translate-x-px md:block',\n '[background:linear-gradient(180deg,var(--mieweb-primary-700),color-mix(in_srgb,var(--mieweb-primary-700)_15%,transparent))]',\n 'before:bg-primary-700 before:absolute before:top-0 before:left-1/2 before:h-2.5 before:w-2.5 before:-translate-x-1/2 before:rounded-full before:content-[\"\"]'\n )}\n />\n )}\n\n {groups.map((g, gi) => (\n <div key={g.key} data-cadence={g.key}>\n <div\n className={cn(\n 'bg-muted/30 relative z-[1] flex items-center gap-2 px-5 py-2.5 text-[10px] font-bold tracking-[0.12em] uppercase',\n gi > 0 && 'border-border border-t',\n GROUP_TEXT[g.key]\n )}\n >\n {groupTitle[g.key]}\n </div>\n\n {g.items.map((it) => {\n const cadence = cadenceOf(it);\n const w = windowOf(it);\n const isCurrent = current?.id === it.id;\n const [c1, c2] =\n it.colors ??\n TONE_COLORS[it.tone ?? TONES[toneIndex++ % TONES.length]];\n const caption =\n cadence === 'scheduled' ? formatWindow(it, monthNames) : null;\n const period = it.period ?? caption ?? groupTitle[cadence];\n const Title = it.href ? 'a' : 'span';\n\n return (\n <div\n key={it.id}\n data-slot=\"year-timeline-row\"\n data-current={\n isCurrent ? (current?.live ? 'now' : 'next') : undefined\n }\n className={cn(\n 'border-border/60 relative z-[1] grid border-t transition-colors md:grid-cols-[var(--yt-label)_1fr]',\n 'hover:bg-muted/40',\n isCurrent && 'bg-primary-500/10 hover:bg-primary-500/10'\n )}\n >\n <div className=\"md:border-border/60 px-5 pt-4 pb-2 md:border-e md:pb-4\">\n <div\n className=\"mb-1.5 flex items-center gap-1.5 text-[10px] font-bold tracking-[0.09em] uppercase [&_svg]:h-3.5 [&_svg]:w-3.5\"\n style={{ color: c1 }}\n >\n {it.icon}\n <span>{period}</span>\n {isCurrent && (\n <span className=\"bg-primary-800 ms-auto rounded-full px-1.5 py-0.5 text-[9px] tracking-[0.08em] text-white\">\n {current?.live ? text.now : text.upNext}\n </span>\n )}\n </div>\n <Title\n href={it.href}\n className={cn(\n 'text-foreground block text-base font-semibold',\n it.href && 'hover:underline'\n )}\n >\n {it.label}\n </Title>\n {it.detail && (\n <p className=\"text-muted-foreground mt-1 text-sm leading-relaxed\">\n {it.detail}\n </p>\n )}\n </div>\n\n <div className=\"grid grid-cols-12 items-center px-5 pb-4 md:px-0 md:py-3.5\">\n <span\n data-slot=\"year-timeline-bar\"\n data-cadence={cadence}\n style={{\n gridColumn:\n cadence === 'scheduled' && w\n ? `${w.start} / ${w.end + 1}`\n : '1 / 13',\n ...(cadence === 'scheduled'\n ? {\n background: `linear-gradient(90deg, ${c1}, ${c2})`,\n }\n : cadence === 'continuous'\n ? {\n background: `linear-gradient(90deg, color-mix(in srgb, ${c1} 22%, transparent), color-mix(in srgb, ${c2} 22%, transparent))`,\n borderColor: `color-mix(in srgb, ${c1} 45%, transparent)`,\n }\n : {\n background: `repeating-linear-gradient(45deg, color-mix(in srgb, ${c1} 30%, transparent) 0 6px, transparent 6px 12px)`,\n borderColor: `color-mix(in srgb, ${c1} 60%, transparent)`,\n }),\n }}\n className={cn(\n 'row-start-1 flex h-3.5 min-w-2.5 items-center justify-end rounded-full px-2 md:h-[22px]',\n cadence === 'scheduled' && 'shadow-sm',\n cadence === 'continuous' && 'border',\n cadence === 'event' && 'border border-dashed'\n )}\n >\n {caption && (\n <span className=\"hidden text-[10px] font-bold tracking-wide text-white [text-shadow:0_1px_1px_rgba(0,0,0,0.3)] md:inline\">\n {caption}\n </span>\n )}\n </span>\n </div>\n </div>\n );\n })}\n </div>\n ))}\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { cn } from './chunk-TQONQSJO.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
function OrbitRing({
|
|
5
|
+
rings,
|
|
6
|
+
center,
|
|
7
|
+
centerSize = 0.21,
|
|
8
|
+
chipSize = 0.13,
|
|
9
|
+
glow = true,
|
|
10
|
+
size = "min(440px, 86vw)",
|
|
11
|
+
pauseOnHover = true,
|
|
12
|
+
className
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ jsxs(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
"data-slot": "orbit-ring",
|
|
18
|
+
style: { width: size },
|
|
19
|
+
className: cn(
|
|
20
|
+
"group/orbit [container-type:size] relative mx-auto aspect-square",
|
|
21
|
+
className
|
|
22
|
+
),
|
|
23
|
+
children: [
|
|
24
|
+
glow && /* @__PURE__ */ jsx(
|
|
25
|
+
"span",
|
|
26
|
+
{
|
|
27
|
+
"aria-hidden": true,
|
|
28
|
+
className: "pointer-events-none absolute inset-0 rounded-full [background:radial-gradient(closest-side,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-300))_30%,transparent)_0%,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-300))_12%,transparent)_42%,transparent_78%)]"
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
rings.map((r, i) => /* @__PURE__ */ jsx(
|
|
32
|
+
"span",
|
|
33
|
+
{
|
|
34
|
+
"aria-hidden": true,
|
|
35
|
+
style: {
|
|
36
|
+
width: `${r.radius * 200}cqmin`,
|
|
37
|
+
height: `${r.radius * 200}cqmin`
|
|
38
|
+
},
|
|
39
|
+
className: cn(
|
|
40
|
+
"border-primary-200 dark:border-primary-800 pointer-events-none absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border",
|
|
41
|
+
r.dashed ?? i % 2 === 1 ? "border-dashed opacity-40" : "opacity-50"
|
|
42
|
+
)
|
|
43
|
+
},
|
|
44
|
+
`path-${i}`
|
|
45
|
+
)),
|
|
46
|
+
/* @__PURE__ */ jsx(
|
|
47
|
+
"span",
|
|
48
|
+
{
|
|
49
|
+
"aria-hidden": true,
|
|
50
|
+
"data-slot": "orbit-ring-center",
|
|
51
|
+
style: {
|
|
52
|
+
width: `${centerSize * 100}cqmin`,
|
|
53
|
+
height: `${centerSize * 100}cqmin`
|
|
54
|
+
},
|
|
55
|
+
className: cn(
|
|
56
|
+
"pointer-events-none absolute top-1/2 left-1/2 grid -translate-x-1/2 -translate-y-1/2 place-items-center rounded-full",
|
|
57
|
+
"[background:radial-gradient(circle_at_50%_38%,#fff_0%,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-200))_14%,#fff)_52%,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-200))_30%,#fff)_100%)]",
|
|
58
|
+
"shadow-[0_0_0_1px_color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-400))_35%,transparent),0_10px_30px_rgba(0,0,0,0.18),0_0_46px_color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-400))_42%,transparent)]",
|
|
59
|
+
"[&>svg]:text-primary-800 [&>*]:h-[64%] [&>*]:w-[64%] [&>img]:object-contain"
|
|
60
|
+
),
|
|
61
|
+
children: center
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
rings.map((r, i) => {
|
|
65
|
+
const direction = r.direction ?? (i % 2 === 0 ? "normal" : "reverse");
|
|
66
|
+
const dur = `${r.durationSec ?? (i === 0 ? 88 : 88 + 36 * i)}s`;
|
|
67
|
+
const n = r.satellites.length;
|
|
68
|
+
return /* @__PURE__ */ jsx(
|
|
69
|
+
"div",
|
|
70
|
+
{
|
|
71
|
+
"data-slot": "orbit-ring-track",
|
|
72
|
+
style: {
|
|
73
|
+
"--dur": dur,
|
|
74
|
+
animationDirection: direction
|
|
75
|
+
},
|
|
76
|
+
className: cn(
|
|
77
|
+
"pointer-events-none absolute inset-0",
|
|
78
|
+
"motion-safe:animate-[mie-spin_var(--dur)_linear_infinite]",
|
|
79
|
+
pauseOnHover && "group-focus-within/orbit:[animation-play-state:paused] group-hover/orbit:[animation-play-state:paused]"
|
|
80
|
+
),
|
|
81
|
+
children: r.satellites.map((s, j) => {
|
|
82
|
+
const a = (360 / n * j + (r.offsetDeg ?? 0)) * (Math.PI / 180);
|
|
83
|
+
const x = (r.radius * 100 * Math.cos(a)).toFixed(2);
|
|
84
|
+
const y = (r.radius * 100 * Math.sin(a)).toFixed(2);
|
|
85
|
+
const shell = {
|
|
86
|
+
"aria-label": s.name,
|
|
87
|
+
"data-slot": "orbit-ring-satellite",
|
|
88
|
+
style: {
|
|
89
|
+
width: `${chipSize * 100}cqmin`,
|
|
90
|
+
height: `${chipSize * 100}cqmin`,
|
|
91
|
+
transform: `translate(-50%, -50%) translate(${x}cqmin, ${y}cqmin)`
|
|
92
|
+
},
|
|
93
|
+
className: (
|
|
94
|
+
// rtl-ignore -- satellites are placed by trig math with a physical translate(); the ring is rotationally symmetric
|
|
95
|
+
"group/sat pointer-events-auto absolute left-1/2 top-1/2 grid place-items-center focus-visible:outline-none"
|
|
96
|
+
)
|
|
97
|
+
};
|
|
98
|
+
const chip = /* @__PURE__ */ jsxs(
|
|
99
|
+
"span",
|
|
100
|
+
{
|
|
101
|
+
style: {
|
|
102
|
+
animationDirection: direction === "normal" ? "reverse" : "normal"
|
|
103
|
+
},
|
|
104
|
+
className: cn(
|
|
105
|
+
"border-border bg-card/90 relative grid h-full w-full place-items-center rounded-full border shadow-md transition-[transform,box-shadow,background] duration-200",
|
|
106
|
+
"motion-safe:animate-[mie-spin_var(--dur)_linear_infinite]",
|
|
107
|
+
pauseOnHover && "group-focus-within/orbit:[animation-play-state:paused] group-hover/orbit:[animation-play-state:paused]",
|
|
108
|
+
"group-hover/sat:bg-card group-hover/sat:scale-[1.12] group-hover/sat:shadow-xl",
|
|
109
|
+
"group-focus-visible/sat:outline-primary-500 group-focus-visible/sat:scale-[1.12] group-focus-visible/sat:outline group-focus-visible/sat:outline-2 group-focus-visible/sat:outline-offset-[3px]",
|
|
110
|
+
"[&>img]:h-[64%] [&>img]:w-[64%] [&>img]:object-contain [&>img]:opacity-90 [&>img]:saturate-[0.9] group-hover/sat:[&>img]:opacity-100 group-hover/sat:[&>img]:saturate-100",
|
|
111
|
+
"[&>svg]:text-primary-800 [&>svg]:h-[46%] [&>svg]:w-[46%]"
|
|
112
|
+
),
|
|
113
|
+
children: [
|
|
114
|
+
s.children ?? /* @__PURE__ */ jsx("span", { className: "text-primary-800 text-sm font-bold", children: s.name.slice(0, 2) }),
|
|
115
|
+
/* @__PURE__ */ jsx(
|
|
116
|
+
"span",
|
|
117
|
+
{
|
|
118
|
+
className: cn(
|
|
119
|
+
"border-border bg-card text-foreground pointer-events-none absolute top-[calc(100%+5px)] left-1/2 -translate-x-1/2 rounded-md border px-1.5 py-0.5 text-[11px] font-semibold whitespace-nowrap shadow-md",
|
|
120
|
+
"opacity-0 transition-opacity duration-150 group-hover/sat:opacity-100 group-focus-visible/sat:opacity-100"
|
|
121
|
+
),
|
|
122
|
+
children: s.name
|
|
123
|
+
}
|
|
124
|
+
)
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
);
|
|
128
|
+
if (s.href) {
|
|
129
|
+
return /* @__PURE__ */ jsx("a", { href: s.href, onClick: s.onClick, ...shell, children: chip }, s.id);
|
|
130
|
+
}
|
|
131
|
+
if (s.onClick) {
|
|
132
|
+
return /* @__PURE__ */ jsx(
|
|
133
|
+
"button",
|
|
134
|
+
{
|
|
135
|
+
type: "button",
|
|
136
|
+
onClick: s.onClick,
|
|
137
|
+
...shell,
|
|
138
|
+
children: chip
|
|
139
|
+
},
|
|
140
|
+
s.id
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
return /* @__PURE__ */ jsx("span", { role: "img", ...shell, children: chip }, s.id);
|
|
144
|
+
})
|
|
145
|
+
},
|
|
146
|
+
`ring-${i}`
|
|
147
|
+
);
|
|
148
|
+
})
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export { OrbitRing };
|
|
155
|
+
//# sourceMappingURL=chunk-SUS3WFY3.js.map
|
|
156
|
+
//# sourceMappingURL=chunk-SUS3WFY3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/OrbitRing/OrbitRing.tsx"],"names":[],"mappings":"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","file":"chunk-SUS3WFY3.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cn } from '../../utils/cn';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface OrbitSatellite {\n id: string;\n /** Accessible name; shown as a hover label. */\n name: string;\n /** Logo/icon content — an `<img>`, a Lucide icon, or a lettermark. */\n children?: React.ReactNode;\n /** Makes the chip a link. */\n href?: string;\n onClick?: () => void;\n}\n\nexport interface OrbitRingDef {\n satellites: OrbitSatellite[];\n /** Orbit radius as a fraction of the stage (0–0.5). */\n radius: number;\n /** One rotation, in seconds. Default 88 (inner) / 124 (outer). */\n durationSec?: number;\n /** Spin direction. Default alternates per ring. */\n direction?: 'normal' | 'reverse';\n /** Starting angle offset in degrees. */\n offsetDeg?: number;\n /** Draw the orbit path as a dashed rather than solid circle. */\n dashed?: boolean;\n}\n\nexport interface OrbitRingProps {\n /** Concentric rings, inner first. */\n rings: OrbitRingDef[];\n /** What sits at the centre — a brand mark, a product tile. */\n center?: React.ReactNode;\n /** Diameter of the centre disc as a fraction of the stage. Default 0.21. */\n centerSize?: number;\n /** Diameter of each satellite chip as a fraction of the stage. Default 0.13. */\n chipSize?: number;\n /** Show the warm radial glow behind the centre. Default true. */\n glow?: boolean;\n /** Stage width. Default `min(440px, 86vw)`. */\n size?: string;\n /** Pause everything while hovered/focused. Default true. */\n pauseOnHover?: boolean;\n className?: string;\n}\n\n// =============================================================================\n// OrbitRing\n// =============================================================================\n\n/**\n * A \"solar system\" of logos: concentric rings of satellite chips orbiting a\n * centre mark at different speeds and directions, chips counter-rotating so\n * they stay upright, the whole system pausing while a visitor explores it.\n * Sizes are container-relative, so it scales with its box. Ported from the\n * Enterprise Health integrations section.\n *\n * @example\n * ```tsx\n * <OrbitRing\n * center={<img src=\"/logo.svg\" alt=\"\" />}\n * rings={[\n * { radius: 0.26, satellites: partners.slice(0, 5).map(p => ({ id: p.slug, name: p.name, href: p.href, children: <img src={p.logo} alt=\"\" /> })) },\n * { radius: 0.4, satellites: partners.slice(5).map(...) , dashed: true },\n * ]}\n * />\n * ```\n */\nexport function OrbitRing({\n rings,\n center,\n centerSize = 0.21,\n chipSize = 0.13,\n glow = true,\n size = 'min(440px, 86vw)',\n pauseOnHover = true,\n className,\n}: OrbitRingProps) {\n return (\n <div\n data-slot=\"orbit-ring\"\n style={{ width: size }}\n className={cn(\n 'group/orbit [container-type:size] relative mx-auto aspect-square',\n className\n )}\n >\n {glow && (\n <span\n aria-hidden\n className=\"pointer-events-none absolute inset-0 rounded-full [background:radial-gradient(closest-side,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-300))_30%,transparent)_0%,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-300))_12%,transparent)_42%,transparent_78%)]\"\n />\n )}\n\n {/* orbit paths */}\n {rings.map((r, i) => (\n <span\n key={`path-${i}`}\n aria-hidden\n style={{\n width: `${r.radius * 200}cqmin`,\n height: `${r.radius * 200}cqmin`,\n }}\n className={cn(\n 'border-primary-200 dark:border-primary-800 pointer-events-none absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border',\n (r.dashed ?? i % 2 === 1)\n ? 'border-dashed opacity-40'\n : 'opacity-50'\n )}\n />\n ))}\n\n {/* centre */}\n <span\n aria-hidden\n data-slot=\"orbit-ring-center\"\n style={{\n width: `${centerSize * 100}cqmin`,\n height: `${centerSize * 100}cqmin`,\n }}\n className={cn(\n 'pointer-events-none absolute top-1/2 left-1/2 grid -translate-x-1/2 -translate-y-1/2 place-items-center rounded-full',\n '[background:radial-gradient(circle_at_50%_38%,#fff_0%,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-200))_14%,#fff)_52%,color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-200))_30%,#fff)_100%)]',\n 'shadow-[0_0_0_1px_color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-400))_35%,transparent),0_10px_30px_rgba(0,0,0,0.18),0_0_46px_color-mix(in_srgb,var(--mieweb-accent,var(--mieweb-primary-400))_42%,transparent)]',\n '[&>svg]:text-primary-800 [&>*]:h-[64%] [&>*]:w-[64%] [&>img]:object-contain'\n )}\n >\n {center}\n </span>\n\n {/* rings */}\n {rings.map((r, i) => {\n const direction = r.direction ?? (i % 2 === 0 ? 'normal' : 'reverse');\n const dur = `${r.durationSec ?? (i === 0 ? 88 : 88 + 36 * i)}s`;\n const n = r.satellites.length;\n return (\n <div\n key={`ring-${i}`}\n data-slot=\"orbit-ring-track\"\n style={\n {\n '--dur': dur,\n animationDirection: direction,\n } as React.CSSProperties\n }\n className={cn(\n 'pointer-events-none absolute inset-0',\n 'motion-safe:animate-[mie-spin_var(--dur)_linear_infinite]',\n pauseOnHover &&\n 'group-focus-within/orbit:[animation-play-state:paused] group-hover/orbit:[animation-play-state:paused]'\n )}\n >\n {r.satellites.map((s, j) => {\n const a = ((360 / n) * j + (r.offsetDeg ?? 0)) * (Math.PI / 180);\n const x = (r.radius * 100 * Math.cos(a)).toFixed(2);\n const y = (r.radius * 100 * Math.sin(a)).toFixed(2);\n const shell = {\n 'aria-label': s.name,\n 'data-slot': 'orbit-ring-satellite',\n style: {\n width: `${chipSize * 100}cqmin`,\n height: `${chipSize * 100}cqmin`,\n transform: `translate(-50%, -50%) translate(${x}cqmin, ${y}cqmin)`,\n },\n className:\n // rtl-ignore -- satellites are placed by trig math with a physical translate(); the ring is rotationally symmetric\n 'group/sat pointer-events-auto absolute left-1/2 top-1/2 grid place-items-center focus-visible:outline-none',\n };\n const chip = (\n <span\n // counter-spin keeps the logo upright; direction is the inverse of the ring's\n style={{\n animationDirection:\n direction === 'normal' ? 'reverse' : 'normal',\n }}\n className={cn(\n 'border-border bg-card/90 relative grid h-full w-full place-items-center rounded-full border shadow-md transition-[transform,box-shadow,background] duration-200',\n 'motion-safe:animate-[mie-spin_var(--dur)_linear_infinite]',\n pauseOnHover &&\n 'group-focus-within/orbit:[animation-play-state:paused] group-hover/orbit:[animation-play-state:paused]',\n 'group-hover/sat:bg-card group-hover/sat:scale-[1.12] group-hover/sat:shadow-xl',\n 'group-focus-visible/sat:outline-primary-500 group-focus-visible/sat:scale-[1.12] group-focus-visible/sat:outline group-focus-visible/sat:outline-2 group-focus-visible/sat:outline-offset-[3px]',\n '[&>img]:h-[64%] [&>img]:w-[64%] [&>img]:object-contain [&>img]:opacity-90 [&>img]:saturate-[0.9] group-hover/sat:[&>img]:opacity-100 group-hover/sat:[&>img]:saturate-100',\n '[&>svg]:text-primary-800 [&>svg]:h-[46%] [&>svg]:w-[46%]'\n )}\n >\n {s.children ?? (\n <span className=\"text-primary-800 text-sm font-bold\">\n {s.name.slice(0, 2)}\n </span>\n )}\n <span\n className={cn(\n 'border-border bg-card text-foreground pointer-events-none absolute top-[calc(100%+5px)] left-1/2 -translate-x-1/2 rounded-md border px-1.5 py-0.5 text-[11px] font-semibold whitespace-nowrap shadow-md',\n 'opacity-0 transition-opacity duration-150 group-hover/sat:opacity-100 group-focus-visible/sat:opacity-100'\n )}\n >\n {s.name}\n </span>\n </span>\n );\n if (s.href) {\n return (\n <a key={s.id} href={s.href} onClick={s.onClick} {...shell}>\n {chip}\n </a>\n );\n }\n if (s.onClick) {\n return (\n <button\n key={s.id}\n type=\"button\"\n onClick={s.onClick}\n {...shell}\n >\n {chip}\n </button>\n );\n }\n return (\n <span key={s.id} role=\"img\" {...shell}>\n {chip}\n </span>\n );\n })}\n </div>\n );\n })}\n </div>\n );\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
|
|
4
|
-
var chunkFHY3K6PL_cjs = require('./chunk-FHY3K6PL.cjs');
|
|
5
3
|
var chunkAOHJILLU_cjs = require('./chunk-AOHJILLU.cjs');
|
|
4
|
+
var chunkFHY3K6PL_cjs = require('./chunk-FHY3K6PL.cjs');
|
|
5
|
+
var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var reactDom = require('react-dom');
|
|
8
8
|
var lucideReact = require('lucide-react');
|
|
@@ -293,5 +293,5 @@ function GlossaryTooltip({
|
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
exports.GlossaryTooltip = GlossaryTooltip;
|
|
296
|
-
//# sourceMappingURL=chunk-
|
|
297
|
-
//# sourceMappingURL=chunk-
|
|
296
|
+
//# sourceMappingURL=chunk-TAXD5ADA.cjs.map
|
|
297
|
+
//# sourceMappingURL=chunk-TAXD5ADA.cjs.map
|