@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
package/dist/globe.cjs
ADDED
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk6HFFWEM3_cjs = require('./chunk-6HFFWEM3.cjs');
|
|
4
|
+
var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
|
|
5
|
+
require('./chunk-EUAMEVVI.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var ReactGlobe = require('react-globe.gl');
|
|
8
|
+
var three = require('three');
|
|
9
|
+
var lucideReact = require('lucide-react');
|
|
10
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
+
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
function _interopNamespace(e) {
|
|
15
|
+
if (e && e.__esModule) return e;
|
|
16
|
+
var n = Object.create(null);
|
|
17
|
+
if (e) {
|
|
18
|
+
Object.keys(e).forEach(function (k) {
|
|
19
|
+
if (k !== 'default') {
|
|
20
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return e[k]; }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
n.default = e;
|
|
29
|
+
return Object.freeze(n);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
33
|
+
var ReactGlobe__default = /*#__PURE__*/_interopDefault(ReactGlobe);
|
|
34
|
+
|
|
35
|
+
var DEFAULT_GEO_URL = "https://raw.githubusercontent.com/vasturiano/react-globe.gl/master/example/datasets/ne_110m_admin_0_countries.geojson";
|
|
36
|
+
var DEFAULT_THEME = {
|
|
37
|
+
surface: "#0a1322",
|
|
38
|
+
emissive: "#0a1b2e",
|
|
39
|
+
atmosphere: "#5b8fb0",
|
|
40
|
+
land: "rgba(123,156,201,0.5)",
|
|
41
|
+
hub: "#ffe7b0",
|
|
42
|
+
city: "rgba(201,168,116,0.72)",
|
|
43
|
+
backbone: ["rgba(63,169,155,0.12)", "rgba(160,235,224,0.95)"],
|
|
44
|
+
spoke: ["rgba(63,169,155,0)", "rgba(150,225,214,0.5)"]
|
|
45
|
+
};
|
|
46
|
+
function haversine(a, b) {
|
|
47
|
+
const toRad = (d) => d * Math.PI / 180;
|
|
48
|
+
const dLat = toRad(b.lat - a.lat);
|
|
49
|
+
const dLng = toRad(b.lng - a.lng);
|
|
50
|
+
const h = Math.sin(dLat / 2) ** 2 + Math.cos(toRad(a.lat)) * Math.cos(toRad(b.lat)) * Math.sin(dLng / 2) ** 2;
|
|
51
|
+
return 2 * Math.asin(Math.sqrt(h));
|
|
52
|
+
}
|
|
53
|
+
function escapeHtml(s) {
|
|
54
|
+
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
55
|
+
}
|
|
56
|
+
function buildArcs(points, connectHubs = true) {
|
|
57
|
+
const hubs = points.filter((p) => p.hub);
|
|
58
|
+
if (hubs.length === 0) return [];
|
|
59
|
+
const spokes = points.filter((p) => !p.hub).map((c, i) => {
|
|
60
|
+
const hub = hubs.reduce(
|
|
61
|
+
(best, h) => haversine(c, h) < haversine(c, best) ? h : best,
|
|
62
|
+
hubs[0]
|
|
63
|
+
);
|
|
64
|
+
return {
|
|
65
|
+
startLat: c.lat,
|
|
66
|
+
startLng: c.lng,
|
|
67
|
+
endLat: hub.lat,
|
|
68
|
+
endLng: hub.lng,
|
|
69
|
+
kind: "spoke",
|
|
70
|
+
speed: 4200 + i * 137 % 2800,
|
|
71
|
+
gap: i * 13 % 100 / 100
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
const ring = connectHubs && hubs.length > 1 ? hubs.map((h, i) => {
|
|
75
|
+
const next = hubs[(i + 1) % hubs.length];
|
|
76
|
+
return {
|
|
77
|
+
startLat: h.lat,
|
|
78
|
+
startLng: h.lng,
|
|
79
|
+
endLat: next.lat,
|
|
80
|
+
endLng: next.lng,
|
|
81
|
+
kind: "backbone",
|
|
82
|
+
speed: 4600,
|
|
83
|
+
gap: i * 33 / 100
|
|
84
|
+
};
|
|
85
|
+
}) : [];
|
|
86
|
+
return [...spokes, ...ring];
|
|
87
|
+
}
|
|
88
|
+
function pointId(p) {
|
|
89
|
+
return p.id ?? `${p.lat},${p.lng}`;
|
|
90
|
+
}
|
|
91
|
+
function Globe({
|
|
92
|
+
points = [],
|
|
93
|
+
arcs,
|
|
94
|
+
connectHubs = true,
|
|
95
|
+
geoUrl = DEFAULT_GEO_URL,
|
|
96
|
+
hexResolution = 3,
|
|
97
|
+
theme,
|
|
98
|
+
pointOfView = { lat: 18, lng: -22, altitude: 2.35 },
|
|
99
|
+
autoRotateSpeed = 0.5,
|
|
100
|
+
enableZoom = false,
|
|
101
|
+
callout = true,
|
|
102
|
+
selectedId,
|
|
103
|
+
onSelect,
|
|
104
|
+
onPointHover,
|
|
105
|
+
pointLabel,
|
|
106
|
+
height = "clamp(360px, 54vw, 560px)",
|
|
107
|
+
className
|
|
108
|
+
}) {
|
|
109
|
+
const t = { ...DEFAULT_THEME, ...theme };
|
|
110
|
+
const reduced = chunk6HFFWEM3_cjs.usePrefersReducedMotion();
|
|
111
|
+
const globeRef = React__namespace.useRef(void 0);
|
|
112
|
+
const frameRef = React__namespace.useRef(null);
|
|
113
|
+
const [size, setSize] = React__namespace.useState({ w: 0, h: 0 });
|
|
114
|
+
const [countries, setCountries] = React__namespace.useState([]);
|
|
115
|
+
const [innerSel, setInnerSel] = React__namespace.useState(null);
|
|
116
|
+
const sel = selectedId !== void 0 ? selectedId : innerSel;
|
|
117
|
+
const selected = sel ? points.find((p) => pointId(p) === sel) ?? null : null;
|
|
118
|
+
const material = React__namespace.useMemo(
|
|
119
|
+
() => new three.MeshPhongMaterial({
|
|
120
|
+
color: t.surface,
|
|
121
|
+
emissive: t.emissive,
|
|
122
|
+
emissiveIntensity: 0.32,
|
|
123
|
+
shininess: 4
|
|
124
|
+
}),
|
|
125
|
+
[t.surface, t.emissive]
|
|
126
|
+
);
|
|
127
|
+
const arcData = React__namespace.useMemo(
|
|
128
|
+
() => arcs ? arcs.map((a) => ({ kind: "spoke", speed: 4600, gap: 0, ...a })) : buildArcs(points, connectHubs),
|
|
129
|
+
[arcs, points, connectHubs]
|
|
130
|
+
);
|
|
131
|
+
React__namespace.useEffect(() => {
|
|
132
|
+
const el = frameRef.current;
|
|
133
|
+
if (!el || typeof globalThis.ResizeObserver === "undefined") return;
|
|
134
|
+
const ro = new globalThis.ResizeObserver(([e]) => {
|
|
135
|
+
const { width, height: h } = e.contentRect;
|
|
136
|
+
setSize({ w: Math.round(width), h: Math.round(h) });
|
|
137
|
+
});
|
|
138
|
+
ro.observe(el);
|
|
139
|
+
return () => ro.disconnect();
|
|
140
|
+
}, []);
|
|
141
|
+
React__namespace.useEffect(() => {
|
|
142
|
+
if (!geoUrl) return;
|
|
143
|
+
let live = true;
|
|
144
|
+
fetch(geoUrl).then((r) => r.json()).then(
|
|
145
|
+
(geo) => live && setCountries(geo.features ?? [])
|
|
146
|
+
).catch(() => live && setCountries([]));
|
|
147
|
+
return () => {
|
|
148
|
+
live = false;
|
|
149
|
+
};
|
|
150
|
+
}, [geoUrl]);
|
|
151
|
+
const onReady = React__namespace.useCallback(() => {
|
|
152
|
+
const g = globeRef.current;
|
|
153
|
+
if (!g) return;
|
|
154
|
+
const c = g.controls();
|
|
155
|
+
c.enableZoom = enableZoom;
|
|
156
|
+
c.enablePan = false;
|
|
157
|
+
c.autoRotate = !reduced && autoRotateSpeed > 0;
|
|
158
|
+
c.autoRotateSpeed = autoRotateSpeed;
|
|
159
|
+
c.minPolarAngle = Math.PI * 0.16;
|
|
160
|
+
c.maxPolarAngle = Math.PI * 0.84;
|
|
161
|
+
g.pointOfView(pointOfView);
|
|
162
|
+
g.renderer().domElement.style.touchAction = "pan-y";
|
|
163
|
+
}, [enableZoom, reduced, autoRotateSpeed, pointOfView]);
|
|
164
|
+
const select = (p) => {
|
|
165
|
+
if (selectedId === void 0) setInnerSel(p ? pointId(p) : null);
|
|
166
|
+
onSelect?.(p);
|
|
167
|
+
};
|
|
168
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
169
|
+
"div",
|
|
170
|
+
{
|
|
171
|
+
ref: frameRef,
|
|
172
|
+
"data-slot": "globe",
|
|
173
|
+
style: { height },
|
|
174
|
+
className: chunkS5RVSXDV_cjs.cn("relative w-full overflow-hidden", className),
|
|
175
|
+
children: [
|
|
176
|
+
size.w > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
177
|
+
ReactGlobe__default.default,
|
|
178
|
+
{
|
|
179
|
+
ref: globeRef,
|
|
180
|
+
width: size.w,
|
|
181
|
+
height: size.h,
|
|
182
|
+
onGlobeReady: onReady,
|
|
183
|
+
backgroundColor: "rgba(0,0,0,0)",
|
|
184
|
+
globeMaterial: material,
|
|
185
|
+
showAtmosphere: true,
|
|
186
|
+
atmosphereColor: t.atmosphere,
|
|
187
|
+
atmosphereAltitude: 0.16,
|
|
188
|
+
hexPolygonsData: countries,
|
|
189
|
+
hexPolygonResolution: hexResolution,
|
|
190
|
+
hexPolygonMargin: 0.4,
|
|
191
|
+
hexPolygonUseDots: true,
|
|
192
|
+
hexPolygonColor: () => t.land,
|
|
193
|
+
pointsData: points,
|
|
194
|
+
pointLat: "lat",
|
|
195
|
+
pointLng: "lng",
|
|
196
|
+
pointAltitude: (d) => d.hub ? 0.013 : 6e-3,
|
|
197
|
+
pointRadius: (d) => d.hub ? 0.48 : 0.3,
|
|
198
|
+
pointResolution: 18,
|
|
199
|
+
pointColor: (d) => {
|
|
200
|
+
const p = d;
|
|
201
|
+
return p.color ?? (p.hub ? t.hub : t.city);
|
|
202
|
+
},
|
|
203
|
+
pointLabel: (d) => {
|
|
204
|
+
const p = d;
|
|
205
|
+
if (pointLabel) return pointLabel(p);
|
|
206
|
+
return `<b>${escapeHtml(p.name)}</b>${p.sub ? ` · ${escapeHtml(p.sub)}` : ""}`;
|
|
207
|
+
},
|
|
208
|
+
onPointHover: (d) => onPointHover?.(d ?? null),
|
|
209
|
+
onPointClick: (d) => select(d),
|
|
210
|
+
onGlobeClick: () => select(null),
|
|
211
|
+
arcsData: arcData,
|
|
212
|
+
arcStartLat: "startLat",
|
|
213
|
+
arcStartLng: "startLng",
|
|
214
|
+
arcEndLat: "endLat",
|
|
215
|
+
arcEndLng: "endLng",
|
|
216
|
+
arcColor: (d) => d.kind === "backbone" ? t.backbone : t.spoke,
|
|
217
|
+
arcStroke: (d) => d.kind === "backbone" ? 0.5 : 0.3,
|
|
218
|
+
arcAltitudeAutoScale: 0.45,
|
|
219
|
+
arcDashLength: (d) => reduced ? 1 : d.kind === "backbone" ? 0.5 : 0.35,
|
|
220
|
+
arcDashGap: (d) => reduced ? 0 : d.kind === "backbone" ? 0.2 : 0.7,
|
|
221
|
+
arcDashInitialGap: (d) => reduced ? 0 : d.gap,
|
|
222
|
+
arcDashAnimateTime: (d) => reduced ? 0 : d.speed
|
|
223
|
+
}
|
|
224
|
+
),
|
|
225
|
+
callout && selected && /* @__PURE__ */ jsxRuntime.jsx(Callout, { point: selected, onClose: () => select(null) })
|
|
226
|
+
]
|
|
227
|
+
}
|
|
228
|
+
);
|
|
229
|
+
}
|
|
230
|
+
function useLocalTime(timeZone) {
|
|
231
|
+
const fmt = React__namespace.useMemo(
|
|
232
|
+
() => timeZone ? new Intl.DateTimeFormat(void 0, {
|
|
233
|
+
hour: "2-digit",
|
|
234
|
+
minute: "2-digit",
|
|
235
|
+
timeZone,
|
|
236
|
+
timeZoneName: "short"
|
|
237
|
+
}) : null,
|
|
238
|
+
[timeZone]
|
|
239
|
+
);
|
|
240
|
+
const [now, setNow] = React__namespace.useState(() => /* @__PURE__ */ new Date());
|
|
241
|
+
React__namespace.useEffect(() => {
|
|
242
|
+
if (!fmt) return;
|
|
243
|
+
const t = window.setInterval(() => setNow(/* @__PURE__ */ new Date()), 15e3);
|
|
244
|
+
return () => window.clearInterval(t);
|
|
245
|
+
}, [fmt]);
|
|
246
|
+
return fmt ? fmt.format(now) : null;
|
|
247
|
+
}
|
|
248
|
+
function Callout({
|
|
249
|
+
point,
|
|
250
|
+
onClose
|
|
251
|
+
}) {
|
|
252
|
+
const time = useLocalTime(point.timeZone);
|
|
253
|
+
const Body = point.href ? "a" : "span";
|
|
254
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
255
|
+
"div",
|
|
256
|
+
{
|
|
257
|
+
role: "status",
|
|
258
|
+
"aria-live": "polite",
|
|
259
|
+
"data-slot": "globe-callout",
|
|
260
|
+
className: "absolute bottom-4 left-1/2 z-10 inline-flex max-w-[min(90%,360px)] -translate-x-1/2 items-center gap-2.5 rounded-full border border-white/15 bg-neutral-950/70 py-1.5 ps-3.5 pe-1.5 text-white shadow-xl backdrop-blur-md motion-safe:animate-[mie-fade-in_0.28s_ease]",
|
|
261
|
+
children: [
|
|
262
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
263
|
+
"span",
|
|
264
|
+
{
|
|
265
|
+
"aria-hidden": true,
|
|
266
|
+
className: "h-2 w-2 shrink-0 rounded-full bg-[var(--mieweb-accent,#ffe7b0)] shadow-[0_0_8px_var(--mieweb-accent,#ffe7b0)]"
|
|
267
|
+
}
|
|
268
|
+
),
|
|
269
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
270
|
+
Body,
|
|
271
|
+
{
|
|
272
|
+
href: point.href,
|
|
273
|
+
className: "flex min-w-0 flex-col leading-tight no-underline",
|
|
274
|
+
children: [
|
|
275
|
+
/* @__PURE__ */ jsxRuntime.jsxs("b", { className: "truncate text-sm", children: [
|
|
276
|
+
point.flag && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "me-1.5", children: point.flag }),
|
|
277
|
+
point.name
|
|
278
|
+
] }),
|
|
279
|
+
(point.sub || time) && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate text-[11px] tracking-wider text-white/70 uppercase", children: [
|
|
280
|
+
point.sub,
|
|
281
|
+
point.sub && time && " \xB7 ",
|
|
282
|
+
time && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tracking-normal normal-case tabular-nums", children: time })
|
|
283
|
+
] })
|
|
284
|
+
]
|
|
285
|
+
}
|
|
286
|
+
),
|
|
287
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
288
|
+
"button",
|
|
289
|
+
{
|
|
290
|
+
type: "button",
|
|
291
|
+
onClick: onClose,
|
|
292
|
+
"aria-label": "Dismiss",
|
|
293
|
+
className: "ms-1 grid h-7 w-7 shrink-0 place-items-center rounded-full text-white/70 hover:bg-white/10 hover:text-white",
|
|
294
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 14, "aria-hidden": true })
|
|
295
|
+
}
|
|
296
|
+
)
|
|
297
|
+
]
|
|
298
|
+
}
|
|
299
|
+
);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
exports.DEFAULT_GEO_URL = DEFAULT_GEO_URL;
|
|
303
|
+
exports.Globe = Globe;
|
|
304
|
+
exports.buildArcs = buildArcs;
|
|
305
|
+
//# sourceMappingURL=globe.cjs.map
|
|
306
|
+
//# sourceMappingURL=globe.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Globe/Globe.tsx"],"names":["usePrefersReducedMotion","React","MeshPhongMaterial","jsxs","cn","jsx","ReactGlobe","X"],"mappings":"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","file":"globe.cjs","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport ReactGlobe, { type GlobeMethods } from 'react-globe.gl';\nimport { MeshPhongMaterial } from 'three';\nimport { X } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { usePrefersReducedMotion } from '../../hooks/usePrefersReducedMotion';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface GlobePoint {\n id?: string;\n lat: number;\n lng: number;\n name: string;\n /** Secondary line in tooltip/callout, e.g. \"Distribution\". */\n sub?: string;\n /** Hubs are drawn larger, raised, and become arc anchors. */\n hub?: boolean;\n /** Per-point dot colour. */\n color?: string;\n /** IANA zone, e.g. `America/Sao_Paulo` — shows a live local clock in the callout. */\n timeZone?: string;\n /** Emoji flag or short code shown before the name in the callout. */\n flag?: string;\n /** Destination when the callout is clicked. */\n href?: string;\n}\n\nexport interface GlobeArc {\n startLat: number;\n startLng: number;\n endLat: number;\n endLng: number;\n /** `backbone` arcs are brighter and thicker than `spoke` arcs. */\n kind?: 'backbone' | 'spoke';\n /** Dash cycle time in ms. */\n speed?: number;\n /** Dash start offset 0–1. */\n gap?: number;\n}\n\nexport interface GlobeTheme {\n /** Globe body. */\n surface?: string;\n emissive?: string;\n atmosphere?: string;\n /** Dotted-continent colour. */\n land?: string;\n /** Hub dot / city dot. */\n hub?: string;\n city?: string;\n /** Arc gradients, start → end. */\n backbone?: [string, string];\n spoke?: [string, string];\n}\n\nexport interface GlobeProps {\n points?: GlobePoint[];\n /** Explicit arcs. Omit to auto-connect every non-hub point to its nearest hub. */\n arcs?: GlobeArc[];\n /** Also connect hubs to each other in a ring. Default true when ≥2 hubs. */\n connectHubs?: boolean;\n /**\n * GeoJSON FeatureCollection URL for the dotted continents. Defaults to the\n * Natural Earth 110m countries file shipped with react-globe.gl's examples.\n */\n geoUrl?: string | null;\n /** Hex resolution (2 coarse … 4 fine). Default 3. */\n hexResolution?: number;\n theme?: GlobeTheme;\n /** Initial camera. Default lat 18 / lng −22 / altitude 2.35. */\n pointOfView?: { lat?: number; lng?: number; altitude?: number };\n /** Auto-rotate speed; 0 disables. Default 0.5. Off under reduced motion. */\n autoRotateSpeed?: number;\n enableZoom?: boolean;\n /** Show the pill callout for the selected point. Default true. */\n callout?: boolean;\n /** Controlled selection. */\n selectedId?: string | null;\n onSelect?: (point: GlobePoint | null) => void;\n onPointHover?: (point: GlobePoint | null) => void;\n /** Custom hover tooltip HTML. */\n pointLabel?: (point: GlobePoint) => string;\n /** Fixed height. Default `clamp(360px, 54vw, 560px)`. */\n height?: string;\n className?: string;\n}\n\n// =============================================================================\n// Defaults\n// =============================================================================\n\nexport const DEFAULT_GEO_URL =\n 'https://raw.githubusercontent.com/vasturiano/react-globe.gl/master/example/datasets/ne_110m_admin_0_countries.geojson';\n\nconst DEFAULT_THEME: Required<GlobeTheme> = {\n surface: '#0a1322',\n emissive: '#0a1b2e',\n atmosphere: '#5b8fb0',\n land: 'rgba(123,156,201,0.5)',\n hub: '#ffe7b0',\n city: 'rgba(201,168,116,0.72)',\n backbone: ['rgba(63,169,155,0.12)', 'rgba(160,235,224,0.95)'],\n spoke: ['rgba(63,169,155,0)', 'rgba(150,225,214,0.5)'],\n};\n\ntype Arc = Required<\n Pick<\n GlobeArc,\n 'startLat' | 'startLng' | 'endLat' | 'endLng' | 'kind' | 'speed' | 'gap'\n >\n>;\n\nfunction haversine(a: GlobePoint, b: GlobePoint): number {\n const toRad = (d: number) => (d * Math.PI) / 180;\n const dLat = toRad(b.lat - a.lat);\n const dLng = toRad(b.lng - a.lng);\n const h =\n Math.sin(dLat / 2) ** 2 +\n Math.cos(toRad(a.lat)) * Math.cos(toRad(b.lat)) * Math.sin(dLng / 2) ** 2;\n return 2 * Math.asin(Math.sqrt(h));\n}\n\n/** Escape a string for interpolation into tooltip HTML. */\nfunction escapeHtml(s: string): string {\n return s\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/** Spokes from each city to its nearest hub, plus an optional hub ring. */\nexport function buildArcs(points: GlobePoint[], connectHubs = true): Arc[] {\n const hubs = points.filter((p) => p.hub);\n if (hubs.length === 0) return [];\n const spokes: Arc[] = points\n .filter((p) => !p.hub)\n .map((c, i) => {\n const hub = hubs.reduce(\n (best, h) => (haversine(c, h) < haversine(c, best) ? h : best),\n hubs[0]\n );\n return {\n startLat: c.lat,\n startLng: c.lng,\n endLat: hub.lat,\n endLng: hub.lng,\n kind: 'spoke',\n speed: 4200 + ((i * 137) % 2800),\n gap: ((i * 13) % 100) / 100,\n };\n });\n const ring: Arc[] =\n connectHubs && hubs.length > 1\n ? hubs.map((h, i) => {\n const next = hubs[(i + 1) % hubs.length];\n return {\n startLat: h.lat,\n startLng: h.lng,\n endLat: next.lat,\n endLng: next.lng,\n kind: 'backbone',\n speed: 4600,\n gap: (i * 33) / 100,\n };\n })\n : [];\n return [...spokes, ...ring];\n}\n\nfunction pointId(p: GlobePoint): string {\n return p.id ?? `${p.lat},${p.lng}`;\n}\n\n// =============================================================================\n// Globe\n// =============================================================================\n\n/**\n * A branded WebGL globe on react-globe.gl: dotted-hex continents, hub and\n * city dots with hover tooltips, animated hub-and-spoke arcs, slow\n * auto-rotation (paused while dragging, off under reduced motion), and a\n * pill callout for the selected point with an optional live local clock.\n * Transparent background so it sits on any surface. Ported from the\n * Enterprise Health global-reach section.\n *\n * Client-only — import from `@mieweb/ui/globe` behind `ssr: false`.\n * Requires the optional peers `react-globe.gl` and `three`.\n */\nexport function Globe({\n points = [],\n arcs,\n connectHubs = true,\n geoUrl = DEFAULT_GEO_URL,\n hexResolution = 3,\n theme,\n pointOfView = { lat: 18, lng: -22, altitude: 2.35 },\n autoRotateSpeed = 0.5,\n enableZoom = false,\n callout = true,\n selectedId,\n onSelect,\n onPointHover,\n pointLabel,\n height = 'clamp(360px, 54vw, 560px)',\n className,\n}: GlobeProps) {\n const t = { ...DEFAULT_THEME, ...theme };\n const reduced = usePrefersReducedMotion();\n const globeRef = React.useRef<GlobeMethods | undefined>(undefined);\n const frameRef = React.useRef<HTMLDivElement>(null);\n const [size, setSize] = React.useState({ w: 0, h: 0 });\n const [countries, setCountries] = React.useState<object[]>([]);\n const [innerSel, setInnerSel] = React.useState<string | null>(null);\n const sel = selectedId !== undefined ? selectedId : innerSel;\n const selected = sel\n ? (points.find((p) => pointId(p) === sel) ?? null)\n : null;\n\n const material = React.useMemo(\n () =>\n new MeshPhongMaterial({\n color: t.surface,\n emissive: t.emissive,\n emissiveIntensity: 0.32,\n shininess: 4,\n }),\n [t.surface, t.emissive]\n );\n\n const arcData = React.useMemo<Arc[]>(\n () =>\n arcs\n ? arcs.map((a) => ({ kind: 'spoke', speed: 4600, gap: 0, ...a }))\n : buildArcs(points, connectHubs),\n [arcs, points, connectHubs]\n );\n\n // Size to the frame.\n React.useEffect(() => {\n const el = frameRef.current;\n if (!el || typeof globalThis.ResizeObserver === 'undefined') return;\n const ro = new globalThis.ResizeObserver(([e]) => {\n const { width, height: h } = e.contentRect;\n setSize({ w: Math.round(width), h: Math.round(h) });\n });\n ro.observe(el);\n return () => ro.disconnect();\n }, []);\n\n React.useEffect(() => {\n if (!geoUrl) return;\n let live = true;\n fetch(geoUrl)\n .then((r) => r.json())\n .then(\n (geo: { features?: object[] }) =>\n live && setCountries(geo.features ?? [])\n )\n .catch(() => live && setCountries([]));\n return () => {\n live = false;\n };\n }, [geoUrl]);\n\n const onReady = React.useCallback(() => {\n const g = globeRef.current;\n if (!g) return;\n const c = g.controls();\n c.enableZoom = enableZoom;\n c.enablePan = false;\n c.autoRotate = !reduced && autoRotateSpeed > 0;\n c.autoRotateSpeed = autoRotateSpeed;\n c.minPolarAngle = Math.PI * 0.16;\n c.maxPolarAngle = Math.PI * 0.84;\n g.pointOfView(pointOfView);\n // let the page still scroll vertically over the canvas on touch\n g.renderer().domElement.style.touchAction = 'pan-y';\n }, [enableZoom, reduced, autoRotateSpeed, pointOfView]);\n\n const select = (p: GlobePoint | null) => {\n if (selectedId === undefined) setInnerSel(p ? pointId(p) : null);\n onSelect?.(p);\n };\n\n return (\n <div\n ref={frameRef}\n data-slot=\"globe\"\n style={{ height }}\n className={cn('relative w-full overflow-hidden', className)}\n >\n {size.w > 0 && (\n <ReactGlobe\n ref={globeRef}\n width={size.w}\n height={size.h}\n onGlobeReady={onReady}\n backgroundColor=\"rgba(0,0,0,0)\"\n globeMaterial={material}\n showAtmosphere\n atmosphereColor={t.atmosphere}\n atmosphereAltitude={0.16}\n hexPolygonsData={countries}\n hexPolygonResolution={hexResolution}\n hexPolygonMargin={0.4}\n hexPolygonUseDots\n hexPolygonColor={() => t.land}\n pointsData={points}\n pointLat=\"lat\"\n pointLng=\"lng\"\n pointAltitude={(d: object) => ((d as GlobePoint).hub ? 0.013 : 0.006)}\n pointRadius={(d: object) => ((d as GlobePoint).hub ? 0.48 : 0.3)}\n pointResolution={18}\n pointColor={(d: object) => {\n const p = d as GlobePoint;\n return p.color ?? (p.hub ? t.hub : t.city);\n }}\n pointLabel={(d: object) => {\n const p = d as GlobePoint;\n if (pointLabel) return pointLabel(p);\n // react-globe.gl renders this as tooltip HTML, so caller-provided\n // strings must be escaped or `<img onerror=…>` in a name executes.\n return `<b>${escapeHtml(p.name)}</b>${p.sub ? ` · ${escapeHtml(p.sub)}` : ''}`;\n }}\n onPointHover={(d: object | null) =>\n onPointHover?.((d as GlobePoint) ?? null)\n }\n onPointClick={(d: object) => select(d as GlobePoint)}\n onGlobeClick={() => select(null)}\n arcsData={arcData}\n arcStartLat=\"startLat\"\n arcStartLng=\"startLng\"\n arcEndLat=\"endLat\"\n arcEndLng=\"endLng\"\n arcColor={(d: object) =>\n (d as Arc).kind === 'backbone' ? t.backbone : t.spoke\n }\n arcStroke={(d: object) =>\n (d as Arc).kind === 'backbone' ? 0.5 : 0.3\n }\n arcAltitudeAutoScale={0.45}\n arcDashLength={(d: object) =>\n reduced ? 1 : (d as Arc).kind === 'backbone' ? 0.5 : 0.35\n }\n arcDashGap={(d: object) =>\n reduced ? 0 : (d as Arc).kind === 'backbone' ? 0.2 : 0.7\n }\n arcDashInitialGap={(d: object) => (reduced ? 0 : (d as Arc).gap)}\n arcDashAnimateTime={(d: object) => (reduced ? 0 : (d as Arc).speed)}\n />\n )}\n\n {callout && selected && (\n <Callout point={selected} onClose={() => select(null)} />\n )}\n </div>\n );\n}\n\n// =============================================================================\n// Callout\n// =============================================================================\n\nfunction useLocalTime(timeZone?: string) {\n const fmt = React.useMemo(\n () =>\n timeZone\n ? new Intl.DateTimeFormat(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n timeZone,\n timeZoneName: 'short',\n })\n : null,\n [timeZone]\n );\n const [now, setNow] = React.useState(() => new Date());\n React.useEffect(() => {\n if (!fmt) return;\n const t = window.setInterval(() => setNow(new Date()), 15_000);\n return () => window.clearInterval(t);\n }, [fmt]);\n return fmt ? fmt.format(now) : null;\n}\n\nfunction Callout({\n point,\n onClose,\n}: {\n point: GlobePoint;\n onClose: () => void;\n}) {\n const time = useLocalTime(point.timeZone);\n const Body = point.href ? 'a' : 'span';\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n data-slot=\"globe-callout\"\n className=\"absolute bottom-4 left-1/2 z-10 inline-flex max-w-[min(90%,360px)] -translate-x-1/2 items-center gap-2.5 rounded-full border border-white/15 bg-neutral-950/70 py-1.5 ps-3.5 pe-1.5 text-white shadow-xl backdrop-blur-md motion-safe:animate-[mie-fade-in_0.28s_ease]\"\n >\n <span\n aria-hidden\n className=\"h-2 w-2 shrink-0 rounded-full bg-[var(--mieweb-accent,#ffe7b0)] shadow-[0_0_8px_var(--mieweb-accent,#ffe7b0)]\"\n />\n <Body\n href={point.href}\n className=\"flex min-w-0 flex-col leading-tight no-underline\"\n >\n <b className=\"truncate text-sm\">\n {point.flag && <span className=\"me-1.5\">{point.flag}</span>}\n {point.name}\n </b>\n {(point.sub || time) && (\n <span className=\"truncate text-[11px] tracking-wider text-white/70 uppercase\">\n {point.sub}\n {point.sub && time && ' · '}\n {time && (\n <span className=\"tracking-normal normal-case tabular-nums\">\n {time}\n </span>\n )}\n </span>\n )}\n </Body>\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Dismiss\"\n className=\"ms-1 grid h-7 w-7 shrink-0 place-items-center rounded-full text-white/70 hover:bg-white/10 hover:text-white\"\n >\n <X size={14} aria-hidden />\n </button>\n </div>\n );\n}\n"]}
|
package/dist/globe.d.cts
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface GlobePoint {
|
|
4
|
+
id?: string;
|
|
5
|
+
lat: number;
|
|
6
|
+
lng: number;
|
|
7
|
+
name: string;
|
|
8
|
+
/** Secondary line in tooltip/callout, e.g. "Distribution". */
|
|
9
|
+
sub?: string;
|
|
10
|
+
/** Hubs are drawn larger, raised, and become arc anchors. */
|
|
11
|
+
hub?: boolean;
|
|
12
|
+
/** Per-point dot colour. */
|
|
13
|
+
color?: string;
|
|
14
|
+
/** IANA zone, e.g. `America/Sao_Paulo` — shows a live local clock in the callout. */
|
|
15
|
+
timeZone?: string;
|
|
16
|
+
/** Emoji flag or short code shown before the name in the callout. */
|
|
17
|
+
flag?: string;
|
|
18
|
+
/** Destination when the callout is clicked. */
|
|
19
|
+
href?: string;
|
|
20
|
+
}
|
|
21
|
+
interface GlobeArc {
|
|
22
|
+
startLat: number;
|
|
23
|
+
startLng: number;
|
|
24
|
+
endLat: number;
|
|
25
|
+
endLng: number;
|
|
26
|
+
/** `backbone` arcs are brighter and thicker than `spoke` arcs. */
|
|
27
|
+
kind?: 'backbone' | 'spoke';
|
|
28
|
+
/** Dash cycle time in ms. */
|
|
29
|
+
speed?: number;
|
|
30
|
+
/** Dash start offset 0–1. */
|
|
31
|
+
gap?: number;
|
|
32
|
+
}
|
|
33
|
+
interface GlobeTheme {
|
|
34
|
+
/** Globe body. */
|
|
35
|
+
surface?: string;
|
|
36
|
+
emissive?: string;
|
|
37
|
+
atmosphere?: string;
|
|
38
|
+
/** Dotted-continent colour. */
|
|
39
|
+
land?: string;
|
|
40
|
+
/** Hub dot / city dot. */
|
|
41
|
+
hub?: string;
|
|
42
|
+
city?: string;
|
|
43
|
+
/** Arc gradients, start → end. */
|
|
44
|
+
backbone?: [string, string];
|
|
45
|
+
spoke?: [string, string];
|
|
46
|
+
}
|
|
47
|
+
interface GlobeProps {
|
|
48
|
+
points?: GlobePoint[];
|
|
49
|
+
/** Explicit arcs. Omit to auto-connect every non-hub point to its nearest hub. */
|
|
50
|
+
arcs?: GlobeArc[];
|
|
51
|
+
/** Also connect hubs to each other in a ring. Default true when ≥2 hubs. */
|
|
52
|
+
connectHubs?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* GeoJSON FeatureCollection URL for the dotted continents. Defaults to the
|
|
55
|
+
* Natural Earth 110m countries file shipped with react-globe.gl's examples.
|
|
56
|
+
*/
|
|
57
|
+
geoUrl?: string | null;
|
|
58
|
+
/** Hex resolution (2 coarse … 4 fine). Default 3. */
|
|
59
|
+
hexResolution?: number;
|
|
60
|
+
theme?: GlobeTheme;
|
|
61
|
+
/** Initial camera. Default lat 18 / lng −22 / altitude 2.35. */
|
|
62
|
+
pointOfView?: {
|
|
63
|
+
lat?: number;
|
|
64
|
+
lng?: number;
|
|
65
|
+
altitude?: number;
|
|
66
|
+
};
|
|
67
|
+
/** Auto-rotate speed; 0 disables. Default 0.5. Off under reduced motion. */
|
|
68
|
+
autoRotateSpeed?: number;
|
|
69
|
+
enableZoom?: boolean;
|
|
70
|
+
/** Show the pill callout for the selected point. Default true. */
|
|
71
|
+
callout?: boolean;
|
|
72
|
+
/** Controlled selection. */
|
|
73
|
+
selectedId?: string | null;
|
|
74
|
+
onSelect?: (point: GlobePoint | null) => void;
|
|
75
|
+
onPointHover?: (point: GlobePoint | null) => void;
|
|
76
|
+
/** Custom hover tooltip HTML. */
|
|
77
|
+
pointLabel?: (point: GlobePoint) => string;
|
|
78
|
+
/** Fixed height. Default `clamp(360px, 54vw, 560px)`. */
|
|
79
|
+
height?: string;
|
|
80
|
+
className?: string;
|
|
81
|
+
}
|
|
82
|
+
declare const DEFAULT_GEO_URL = "https://raw.githubusercontent.com/vasturiano/react-globe.gl/master/example/datasets/ne_110m_admin_0_countries.geojson";
|
|
83
|
+
type Arc = Required<Pick<GlobeArc, 'startLat' | 'startLng' | 'endLat' | 'endLng' | 'kind' | 'speed' | 'gap'>>;
|
|
84
|
+
/** Spokes from each city to its nearest hub, plus an optional hub ring. */
|
|
85
|
+
declare function buildArcs(points: GlobePoint[], connectHubs?: boolean): Arc[];
|
|
86
|
+
/**
|
|
87
|
+
* A branded WebGL globe on react-globe.gl: dotted-hex continents, hub and
|
|
88
|
+
* city dots with hover tooltips, animated hub-and-spoke arcs, slow
|
|
89
|
+
* auto-rotation (paused while dragging, off under reduced motion), and a
|
|
90
|
+
* pill callout for the selected point with an optional live local clock.
|
|
91
|
+
* Transparent background so it sits on any surface. Ported from the
|
|
92
|
+
* Enterprise Health global-reach section.
|
|
93
|
+
*
|
|
94
|
+
* Client-only — import from `@mieweb/ui/globe` behind `ssr: false`.
|
|
95
|
+
* Requires the optional peers `react-globe.gl` and `three`.
|
|
96
|
+
*/
|
|
97
|
+
declare function Globe({ points, arcs, connectHubs, geoUrl, hexResolution, theme, pointOfView, autoRotateSpeed, enableZoom, callout, selectedId, onSelect, onPointHover, pointLabel, height, className, }: GlobeProps): react_jsx_runtime.JSX.Element;
|
|
98
|
+
|
|
99
|
+
export { DEFAULT_GEO_URL, Globe, type GlobeArc, type GlobePoint, type GlobeProps, type GlobeTheme, buildArcs };
|
package/dist/globe.d.ts
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface GlobePoint {
|
|
4
|
+
id?: string;
|
|
5
|
+
lat: number;
|
|
6
|
+
lng: number;
|
|
7
|
+
name: string;
|
|
8
|
+
/** Secondary line in tooltip/callout, e.g. "Distribution". */
|
|
9
|
+
sub?: string;
|
|
10
|
+
/** Hubs are drawn larger, raised, and become arc anchors. */
|
|
11
|
+
hub?: boolean;
|
|
12
|
+
/** Per-point dot colour. */
|
|
13
|
+
color?: string;
|
|
14
|
+
/** IANA zone, e.g. `America/Sao_Paulo` — shows a live local clock in the callout. */
|
|
15
|
+
timeZone?: string;
|
|
16
|
+
/** Emoji flag or short code shown before the name in the callout. */
|
|
17
|
+
flag?: string;
|
|
18
|
+
/** Destination when the callout is clicked. */
|
|
19
|
+
href?: string;
|
|
20
|
+
}
|
|
21
|
+
interface GlobeArc {
|
|
22
|
+
startLat: number;
|
|
23
|
+
startLng: number;
|
|
24
|
+
endLat: number;
|
|
25
|
+
endLng: number;
|
|
26
|
+
/** `backbone` arcs are brighter and thicker than `spoke` arcs. */
|
|
27
|
+
kind?: 'backbone' | 'spoke';
|
|
28
|
+
/** Dash cycle time in ms. */
|
|
29
|
+
speed?: number;
|
|
30
|
+
/** Dash start offset 0–1. */
|
|
31
|
+
gap?: number;
|
|
32
|
+
}
|
|
33
|
+
interface GlobeTheme {
|
|
34
|
+
/** Globe body. */
|
|
35
|
+
surface?: string;
|
|
36
|
+
emissive?: string;
|
|
37
|
+
atmosphere?: string;
|
|
38
|
+
/** Dotted-continent colour. */
|
|
39
|
+
land?: string;
|
|
40
|
+
/** Hub dot / city dot. */
|
|
41
|
+
hub?: string;
|
|
42
|
+
city?: string;
|
|
43
|
+
/** Arc gradients, start → end. */
|
|
44
|
+
backbone?: [string, string];
|
|
45
|
+
spoke?: [string, string];
|
|
46
|
+
}
|
|
47
|
+
interface GlobeProps {
|
|
48
|
+
points?: GlobePoint[];
|
|
49
|
+
/** Explicit arcs. Omit to auto-connect every non-hub point to its nearest hub. */
|
|
50
|
+
arcs?: GlobeArc[];
|
|
51
|
+
/** Also connect hubs to each other in a ring. Default true when ≥2 hubs. */
|
|
52
|
+
connectHubs?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* GeoJSON FeatureCollection URL for the dotted continents. Defaults to the
|
|
55
|
+
* Natural Earth 110m countries file shipped with react-globe.gl's examples.
|
|
56
|
+
*/
|
|
57
|
+
geoUrl?: string | null;
|
|
58
|
+
/** Hex resolution (2 coarse … 4 fine). Default 3. */
|
|
59
|
+
hexResolution?: number;
|
|
60
|
+
theme?: GlobeTheme;
|
|
61
|
+
/** Initial camera. Default lat 18 / lng −22 / altitude 2.35. */
|
|
62
|
+
pointOfView?: {
|
|
63
|
+
lat?: number;
|
|
64
|
+
lng?: number;
|
|
65
|
+
altitude?: number;
|
|
66
|
+
};
|
|
67
|
+
/** Auto-rotate speed; 0 disables. Default 0.5. Off under reduced motion. */
|
|
68
|
+
autoRotateSpeed?: number;
|
|
69
|
+
enableZoom?: boolean;
|
|
70
|
+
/** Show the pill callout for the selected point. Default true. */
|
|
71
|
+
callout?: boolean;
|
|
72
|
+
/** Controlled selection. */
|
|
73
|
+
selectedId?: string | null;
|
|
74
|
+
onSelect?: (point: GlobePoint | null) => void;
|
|
75
|
+
onPointHover?: (point: GlobePoint | null) => void;
|
|
76
|
+
/** Custom hover tooltip HTML. */
|
|
77
|
+
pointLabel?: (point: GlobePoint) => string;
|
|
78
|
+
/** Fixed height. Default `clamp(360px, 54vw, 560px)`. */
|
|
79
|
+
height?: string;
|
|
80
|
+
className?: string;
|
|
81
|
+
}
|
|
82
|
+
declare const DEFAULT_GEO_URL = "https://raw.githubusercontent.com/vasturiano/react-globe.gl/master/example/datasets/ne_110m_admin_0_countries.geojson";
|
|
83
|
+
type Arc = Required<Pick<GlobeArc, 'startLat' | 'startLng' | 'endLat' | 'endLng' | 'kind' | 'speed' | 'gap'>>;
|
|
84
|
+
/** Spokes from each city to its nearest hub, plus an optional hub ring. */
|
|
85
|
+
declare function buildArcs(points: GlobePoint[], connectHubs?: boolean): Arc[];
|
|
86
|
+
/**
|
|
87
|
+
* A branded WebGL globe on react-globe.gl: dotted-hex continents, hub and
|
|
88
|
+
* city dots with hover tooltips, animated hub-and-spoke arcs, slow
|
|
89
|
+
* auto-rotation (paused while dragging, off under reduced motion), and a
|
|
90
|
+
* pill callout for the selected point with an optional live local clock.
|
|
91
|
+
* Transparent background so it sits on any surface. Ported from the
|
|
92
|
+
* Enterprise Health global-reach section.
|
|
93
|
+
*
|
|
94
|
+
* Client-only — import from `@mieweb/ui/globe` behind `ssr: false`.
|
|
95
|
+
* Requires the optional peers `react-globe.gl` and `three`.
|
|
96
|
+
*/
|
|
97
|
+
declare function Globe({ points, arcs, connectHubs, geoUrl, hexResolution, theme, pointOfView, autoRotateSpeed, enableZoom, callout, selectedId, onSelect, onPointHover, pointLabel, height, className, }: GlobeProps): react_jsx_runtime.JSX.Element;
|
|
98
|
+
|
|
99
|
+
export { DEFAULT_GEO_URL, Globe, type GlobeArc, type GlobePoint, type GlobeProps, type GlobeTheme, buildArcs };
|