@arcgis/map-components 5.2.0-next.59 → 5.2.0-next.60
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/dist/cdn/{RDXFUCMG.js → 22FLXX55.js} +1 -1
- package/dist/cdn/{G7APNTVJ.js → 26W2NMYE.js} +1 -1
- package/dist/cdn/{NMWYQ5WX.js → 27DFVIVV.js} +1 -1
- package/dist/cdn/{5L764GTN.js → 2AASXHQF.js} +1 -1
- package/dist/cdn/{FBL4FNP2.js → 2BCD2J5T.js} +1 -1
- package/dist/cdn/{SX7O6EXI.js → 2DHPGACO.js} +1 -1
- package/dist/cdn/{RII7CWWU.js → 2F546CPM.js} +1 -1
- package/dist/cdn/{GSPJRG26.js → 2FJWRTFE.js} +1 -1
- package/dist/cdn/{LZPZZMEH.js → 2YCUXNZC.js} +1 -1
- package/dist/cdn/{EE4X5YOU.js → 2ZETLPCO.js} +1 -1
- package/dist/cdn/{62TMUUMH.js → 3N7DHHCP.js} +1 -1
- package/dist/cdn/{UVQAPLIX.js → 3YGZGNIG.js} +1 -1
- package/dist/cdn/{VZK5BXWY.js → 447CU6QV.js} +1 -1
- package/dist/cdn/{22NMICPW.js → 44SYZMRA.js} +1 -1
- package/dist/cdn/{LBRZ6IVX.js → 47SFVJQS.js} +1 -1
- package/dist/cdn/{SY3M2ZUK.js → 4BFCBXCA.js} +1 -1
- package/dist/cdn/{A3BUMPTF.js → 4LHBEGTU.js} +1 -1
- package/dist/cdn/4SV6HHMC.js +2 -0
- package/dist/cdn/{HSB4XYHA.js → 4T4GCBM3.js} +1 -1
- package/dist/cdn/{ZSK55FRY.js → 4YOX2SCZ.js} +1 -1
- package/dist/cdn/{4JAQPYHG.js → 54FMWJL7.js} +1 -1
- package/dist/cdn/{6V4MOKPT.js → 5AUIH5PW.js} +1 -1
- package/dist/cdn/{WACJO3GM.js → 5F6Q3XF5.js} +1 -1
- package/dist/cdn/{4WENIFOF.js → 5JXXMDY6.js} +1 -1
- package/dist/cdn/{PISSWA2X.js → 5N7BVEJM.js} +1 -1
- package/dist/cdn/5W6NJGFF.js +2 -0
- package/dist/cdn/{SYRZLONH.js → 5W7XCJ5B.js} +1 -1
- package/dist/cdn/{XYM5LHFM.js → 5YORAY7J.js} +1 -1
- package/dist/cdn/{DPDU2GSI.js → 635CQLYS.js} +1 -1
- package/dist/cdn/{EP7FUAF2.js → 6BYE6FYG.js} +1 -1
- package/dist/cdn/{C2D24FZL.js → 6E7OZHUN.js} +1 -1
- package/dist/cdn/{OGYAUMMI.js → 6KHHCJ5X.js} +1 -1
- package/dist/cdn/{SDBR2UYJ.js → 6NNRGJYB.js} +1 -1
- package/dist/cdn/{RN6YVTSJ.js → 7HLWU5PX.js} +1 -1
- package/dist/cdn/{7MO7E734.js → 7ICJOTUR.js} +1 -1
- package/dist/cdn/{Z7J6NDSB.js → A22AUGYH.js} +1 -1
- package/dist/cdn/{7HOAA7SE.js → A4USUD2G.js} +1 -1
- package/dist/cdn/{VRBQLCFE.js → A636G66O.js} +1 -1
- package/dist/cdn/{25J4CQKL.js → AC43TA2Y.js} +1 -1
- package/dist/cdn/{J3LU4VHH.js → AFJW3C3J.js} +1 -1
- package/dist/cdn/{EPBKJBDS.js → AGEFGOQ4.js} +1 -1
- package/dist/cdn/{QXFHLDLD.js → AK62SYBC.js} +1 -1
- package/dist/cdn/{6WBCA7YD.js → ALIKGBJJ.js} +1 -1
- package/dist/cdn/{CVJT2CDW.js → ALUQRMZW.js} +1 -1
- package/dist/cdn/{EUCWM5S7.js → AR56PQPF.js} +1 -1
- package/dist/cdn/{226ASAN4.js → AX4YVQW5.js} +1 -1
- package/dist/cdn/AX6GSVZL.js +2 -0
- package/dist/cdn/{HQVDDVBE.js → BC7EPFWD.js} +1 -1
- package/dist/cdn/{E7E7MIKH.js → BF42UPF6.js} +1 -1
- package/dist/cdn/{KWXR6G2J.js → BPGR7WZ3.js} +1 -1
- package/dist/cdn/{CUXUSAP4.js → BPJIXO5J.js} +1 -1
- package/dist/cdn/{4GB5RIYZ.js → BU6JMSUW.js} +1 -1
- package/dist/cdn/{3WKJVIT5.js → BWKADIQY.js} +1 -1
- package/dist/cdn/{5PZ64P44.js → CAGM7ZNR.js} +1 -1
- package/dist/cdn/{GECBQL23.js → CFIH5Y4K.js} +1 -1
- package/dist/cdn/{SP3SHKU4.js → CIC5ZUY7.js} +1 -1
- package/dist/cdn/{JOJYHVDS.js → CJS5I43A.js} +1 -1
- package/dist/cdn/{3QFONUZB.js → CLOJ3UVQ.js} +1 -1
- package/dist/cdn/{77AOOZB2.js → CPVH7W2O.js} +1 -1
- package/dist/cdn/{GD5VVQPA.js → CYBCFSSA.js} +1 -1
- package/dist/cdn/{XPA3T33A.js → CYNVIPKG.js} +1 -1
- package/dist/cdn/{27DGJIUB.js → D3U2ST6B.js} +1 -1
- package/dist/cdn/{QOD6TYZ2.js → D7DH54CE.js} +1 -1
- package/dist/cdn/{U5IS4L54.js → DCNNPWXR.js} +1 -1
- package/dist/cdn/{OO3JRV5K.js → DFLF2GHB.js} +1 -1
- package/dist/cdn/{4QYMX7LR.js → DMA5N4U3.js} +1 -1
- package/dist/cdn/{BCGQ7UIU.js → DZWUKLIN.js} +1 -1
- package/dist/cdn/{CTSJYC3X.js → E2NYZWXE.js} +1 -1
- package/dist/cdn/{3BV6XBJZ.js → E7MAE44R.js} +1 -1
- package/dist/cdn/{42XU4L5C.js → EFUM5T3J.js} +1 -1
- package/dist/cdn/{PCBZQRX4.js → EHI4E3OA.js} +1 -1
- package/dist/cdn/{V6VLUKHQ.js → EI6T7BKN.js} +1 -1
- package/dist/cdn/{3ZQEDFHR.js → EIKXN526.js} +1 -1
- package/dist/cdn/{7PLMJIAQ.js → EIUWI6SJ.js} +1 -1
- package/dist/cdn/{YL6EQO7B.js → EJ3X446I.js} +1 -1
- package/dist/cdn/{DC357Y2K.js → F35ORGGB.js} +1 -1
- package/dist/cdn/F3VS53GP.js +2 -0
- package/dist/cdn/{Y23AXDJB.js → FCEB7HIL.js} +1 -1
- package/dist/cdn/{AUE4JQXJ.js → FTO3BR3P.js} +1 -1
- package/dist/cdn/{GOVUDM4N.js → FURSVK7Y.js} +1 -1
- package/dist/cdn/{Y7JVOMNJ.js → FYNG6CYN.js} +1 -1
- package/dist/cdn/{QUYXPMFZ.js → GFG5O7YM.js} +1 -1
- package/dist/cdn/{7YMLPJVW.js → GHTQIXMG.js} +1 -1
- package/dist/cdn/GOIKNGEI.js +2 -0
- package/dist/cdn/{NGUV3VWT.js → GXGBUAE7.js} +1 -1
- package/dist/cdn/{DZ6TMBVB.js → GY2CXLXB.js} +1 -1
- package/dist/cdn/{RFYPQ3GQ.js → HCEP3NVU.js} +1 -1
- package/dist/cdn/HEGMKLJO.js +2 -0
- package/dist/cdn/{35EU7G2H.js → HFPQ7CSJ.js} +1 -1
- package/dist/cdn/{7SZGIUAX.js → HR3OA66U.js} +1 -1
- package/dist/cdn/{TOF5NAVM.js → HWDZDKDX.js} +1 -1
- package/dist/cdn/I3WV6OM4.js +2 -0
- package/dist/cdn/{T4ULWFGS.js → IIPETVIW.js} +1 -1
- package/dist/cdn/{6G7UWNCY.js → IJIN5G4N.js} +1 -1
- package/dist/cdn/{3ZQ375NT.js → ISAKFCBN.js} +1 -1
- package/dist/cdn/{HT23X37X.js → ITYCDXB3.js} +1 -1
- package/dist/cdn/{6URRJVLV.js → J2AISQHP.js} +1 -1
- package/dist/cdn/{N5PSINKS.js → J2R2J6UR.js} +1 -1
- package/dist/cdn/{4RQVKULG.js → JDVBEPJQ.js} +1 -1
- package/dist/cdn/{DPKCDN3P.js → JGOVELNR.js} +1 -1
- package/dist/cdn/{QA56535U.js → JIALAMBB.js} +1 -1
- package/dist/cdn/{CUZUYZE2.js → JJFLMGAX.js} +1 -1
- package/dist/cdn/{V5TLUM7M.js → JL3C3PJK.js} +1 -1
- package/dist/cdn/{HGJ56PKD.js → JLO3FL27.js} +1 -1
- package/dist/cdn/{I5U3QCTO.js → JNXAPZOG.js} +1 -1
- package/dist/cdn/JOJQC6AF.js +2 -0
- package/dist/cdn/{IFZLE6R4.js → JUAJIR4N.js} +1 -1
- package/dist/cdn/{3YJVHAJW.js → JYAIIIMS.js} +1 -1
- package/dist/cdn/{FEWZYBBW.js → KAAQWUI6.js} +1 -1
- package/dist/cdn/{IEWD6LOR.js → KBBYF7KD.js} +1 -1
- package/dist/cdn/{LXF6LDWE.js → KEV6I36K.js} +1 -1
- package/dist/cdn/{WB5Y7X7S.js → KKBZEDN4.js} +1 -1
- package/dist/cdn/{3VIS3UL6.js → KQKQJVFM.js} +1 -1
- package/dist/cdn/{MJB3NLLH.js → KS6PL4CM.js} +1 -1
- package/dist/cdn/{PWOCWDXH.js → KX7Y7MML.js} +1 -1
- package/dist/cdn/{5USS47OO.js → KXLECJE4.js} +1 -1
- package/dist/cdn/{6VNX2RV3.js → KXUS2Z2Z.js} +1 -1
- package/dist/cdn/{OUQRKL6Q.js → L7AWHKQN.js} +1 -1
- package/dist/cdn/{262J7OXJ.js → LB4H4S5X.js} +1 -1
- package/dist/cdn/{UKO2UCD3.js → LP6TTSIT.js} +1 -1
- package/dist/cdn/{Y455YVQT.js → LQCHLWS5.js} +1 -1
- package/dist/cdn/{3YZRY2EG.js → M4HY5VMM.js} +1 -1
- package/dist/cdn/{2QX2M2WC.js → M5BID47D.js} +1 -1
- package/dist/cdn/{BCDL4T34.js → M5DTOYQQ.js} +1 -1
- package/dist/cdn/{MHG26BRV.js → M6WSCBQP.js} +1 -1
- package/dist/cdn/{CVSQSV2T.js → MBJ27YMN.js} +1 -1
- package/dist/cdn/MBRWWICI.js +2 -0
- package/dist/cdn/MBZPYZX2.js +2 -0
- package/dist/cdn/MGS4P6UC.js +2 -0
- package/dist/cdn/{WMNHZG4Z.js → MRRTS5P6.js} +1 -1
- package/dist/cdn/{VWED2WAO.js → MZQT7KZP.js} +1 -1
- package/dist/cdn/{C6RQ2TQ4.js → N2KU7FO4.js} +1 -1
- package/dist/cdn/{UOXJUYC7.js → NEQT2ZY6.js} +1 -1
- package/dist/cdn/{57E26JZ5.js → NNBWJV4O.js} +1 -1
- package/dist/cdn/{2JBFSC6D.js → NRHOAASJ.js} +1 -1
- package/dist/cdn/{LQHENS2H.js → O6YIIKVP.js} +1 -1
- package/dist/cdn/{GYZYY2TM.js → OANCY5SX.js} +1 -1
- package/dist/cdn/{KCEGLGM4.js → OFW7MIOM.js} +1 -1
- package/dist/cdn/{R2Z6LGSX.js → OIT4E6K2.js} +1 -1
- package/dist/cdn/{SGIT6SHY.js → OKC5OJJS.js} +1 -1
- package/dist/cdn/{DEQA63VJ.js → OMGRHB7H.js} +1 -1
- package/dist/cdn/{NGYAHM32.js → OO6NV5GK.js} +1 -1
- package/dist/cdn/{PJ6BIN6B.js → OPQJE7BZ.js} +1 -1
- package/dist/cdn/{O5T75PGZ.js → OWAKPT2D.js} +1 -1
- package/dist/cdn/{D5N26QOS.js → OXANZYRI.js} +1 -1
- package/dist/cdn/{A2TTJCDV.js → OZTQXCFB.js} +1 -1
- package/dist/cdn/{QRAQ7SYI.js → P25T7SEL.js} +1 -1
- package/dist/cdn/{F7RMRBE3.js → P5HQL37E.js} +1 -1
- package/dist/cdn/{RZX4PVJV.js → PFPOP2U4.js} +1 -1
- package/dist/cdn/{LSP6WL4P.js → PIRTG67V.js} +1 -1
- package/dist/cdn/{OCLSVHBG.js → PPIFGJX4.js} +1 -1
- package/dist/cdn/{JP24H6WY.js → PUAXDNBG.js} +1 -1
- package/dist/cdn/{BJYHPARY.js → Q5ACGCP3.js} +1 -1
- package/dist/cdn/{EE4DGDQU.js → QHILZ2NJ.js} +1 -1
- package/dist/cdn/{7JO4QKKH.js → QMYYA3S6.js} +1 -1
- package/dist/cdn/{ZJIWWNJV.js → QTYBVQMT.js} +1 -1
- package/dist/cdn/{XP3BVKWY.js → QVOYYXIU.js} +1 -1
- package/dist/cdn/{RAYQEF6G.js → QZLVTEOQ.js} +1 -1
- package/dist/cdn/{GPJG37UL.js → R3DTZBMN.js} +1 -1
- package/dist/cdn/{O6L7TWQH.js → RAH7WYLV.js} +1 -1
- package/dist/cdn/{XWIR344G.js → RONABERI.js} +1 -1
- package/dist/cdn/{FBKD4RWJ.js → RWVY76K4.js} +1 -1
- package/dist/cdn/{CZLAUEZF.js → RY3HMV3O.js} +1 -1
- package/dist/cdn/{OW2CJGSF.js → RYXTEZZH.js} +1 -1
- package/dist/cdn/{TZYCSEIK.js → SCPSWHG4.js} +1 -1
- package/dist/cdn/{RY73K52N.js → SJRSZW3M.js} +1 -1
- package/dist/cdn/{XH4BVYMC.js → SRBEW7NV.js} +1 -1
- package/dist/cdn/{EMW3ALJA.js → SSGPECUS.js} +1 -1
- package/dist/cdn/SSK7OVMF.js +2 -0
- package/dist/cdn/{NJW4OAOH.js → STU7FJ5Z.js} +1 -1
- package/dist/cdn/{4PF56QFJ.js → SWAX3RUB.js} +1 -1
- package/dist/cdn/{TLOB62Q3.js → T2KDO5HD.js} +1 -1
- package/dist/cdn/{GMIAQHT4.js → T6CKYPI7.js} +1 -1
- package/dist/cdn/{3AS7CJFU.js → TAZWQ7EC.js} +1 -1
- package/dist/cdn/{CPMHDQHY.js → TH7SCVOQ.js} +1 -1
- package/dist/cdn/{6J7L2FAB.js → TM6LGP6D.js} +1 -1
- package/dist/cdn/{3MWUCGFA.js → TWMQVARD.js} +1 -1
- package/dist/cdn/{SF6DG2BU.js → U25QRAQN.js} +1 -1
- package/dist/cdn/{G6WHFUIF.js → U3L7RZL4.js} +1 -1
- package/dist/cdn/{CM7EQXWU.js → U4S4PHBB.js} +1 -1
- package/dist/cdn/{DJYIVAB2.js → UI32UC33.js} +1 -1
- package/dist/cdn/{7DBZFTR6.js → UOHCNL3F.js} +1 -1
- package/dist/cdn/UU2VWYLI.js +2 -0
- package/dist/cdn/{6ZLGA6NY.js → UX6QVJG6.js} +1 -1
- package/dist/cdn/{AIVVE6PW.js → UXREMHTR.js} +1 -1
- package/dist/cdn/{X6BTGTK3.js → V2N7V36Y.js} +1 -1
- package/dist/cdn/{IVZM7EPG.js → V63SHRQJ.js} +1 -1
- package/dist/cdn/{I3BAOV7V.js → VFAQKJXX.js} +1 -1
- package/dist/cdn/{MJVODTWO.js → VFLELQHU.js} +1 -1
- package/dist/cdn/{XOFHG45P.js → VIAVQT2D.js} +1 -1
- package/dist/cdn/{SMETKDNO.js → VN4DKI5B.js} +1 -1
- package/dist/cdn/{5IAV6PUT.js → VPXMBT5B.js} +1 -1
- package/dist/cdn/{JIIWY7WR.js → VQR2HIW2.js} +1 -1
- package/dist/cdn/{NO5YSGEU.js → VVLDHLAY.js} +1 -1
- package/dist/cdn/{BQALWYAT.js → VZD4UCKC.js} +1 -1
- package/dist/cdn/{ZMVTKENO.js → WYZPOKJF.js} +1 -1
- package/dist/cdn/X2QNONZE.js +2 -0
- package/dist/cdn/{SL7K5BE2.js → X6K2RSPI.js} +1 -1
- package/dist/cdn/{3CBU3MJL.js → XB7KKTY6.js} +1 -1
- package/dist/cdn/{XPGYKHZB.js → XCIYLNTM.js} +1 -1
- package/dist/cdn/{FD73ZZE6.js → XCUAPJNZ.js} +1 -1
- package/dist/cdn/{NXOZVS4Z.js → XD4EGOJ3.js} +1 -1
- package/dist/cdn/XD52OHCM.js +2 -0
- package/dist/cdn/{X6PWBP6M.js → XFH2TUXK.js} +1 -1
- package/dist/cdn/{KUBYN76S.js → XQP3UJJB.js} +1 -1
- package/dist/cdn/{WGJ4M2WU.js → XTK3DMAO.js} +1 -1
- package/dist/cdn/{RZ6SODVT.js → XUSIBTEV.js} +1 -1
- package/dist/cdn/{2KWY4AXN.js → XWJQBDNW.js} +1 -1
- package/dist/cdn/{2U5G2QWZ.js → Y3X3K2RU.js} +1 -1
- package/dist/cdn/{TIPGSYM6.js → YNKKNHTQ.js} +1 -1
- package/dist/cdn/{FMG7FAUK.js → YQ2OS5PW.js} +1 -1
- package/dist/cdn/{7RN4FELN.js → YTL7TRUR.js} +1 -1
- package/dist/cdn/{EF66VW43.js → Z2PS3LGI.js} +1 -1
- package/dist/cdn/{3C7K3QVM.js → Z6MJ3CFF.js} +1 -1
- package/dist/cdn/{BFXQ5WCT.js → ZA2AHCVY.js} +1 -1
- package/dist/cdn/{H5DDBPGU.js → ZEHQXP4U.js} +1 -1
- package/dist/cdn/{ZMZJEEHS.js → ZHW7XZUM.js} +1 -1
- package/dist/cdn/ZKQKAXTB.js +2 -0
- package/dist/cdn/{RVHKL3JR.js → ZSLANXPZ.js} +1 -1
- package/dist/cdn/{5KMBHKTM.js → ZUNHOHIR.js} +1 -1
- package/dist/cdn/assets/oriented-imagery-viewer-video-controls/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/time-bar/t9n/messages.en.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/async-utils.js +63 -51
- package/dist/chunks/dateUtils.js +128 -0
- package/dist/chunks/time-utils.js +28 -16
- package/dist/chunks/utils2.js +6 -5
- package/dist/components/arcgis-daylight/customElement.js +1 -1
- package/dist/components/arcgis-layer-list-next/layer-list-item/customElement.js +47 -47
- package/dist/components/arcgis-oriented-imagery-viewer-video-controls/customElement.d.ts +34 -0
- package/dist/components/arcgis-oriented-imagery-viewer-video-controls/customElement.js +61 -0
- package/dist/components/arcgis-oriented-imagery-viewer-video-controls/index.d.ts +1 -0
- package/dist/components/arcgis-oriented-imagery-viewer-video-controls/index.js +5 -0
- package/dist/components/arcgis-table-list-next/customElement.js +1 -1
- package/dist/components/arcgis-time-bar/TimeBarViewModel.d.ts +71 -0
- package/dist/components/arcgis-time-bar/customElement.d.ts +1006 -0
- package/dist/components/arcgis-time-bar/customElement.js +587 -0
- package/dist/components/arcgis-time-bar/index.d.ts +1 -0
- package/dist/components/arcgis-time-bar/index.js +7 -0
- package/dist/components/arcgis-time-bar/types.d.ts +45 -0
- package/dist/components/arcgis-time-bar-date/customElement.js +37 -0
- package/dist/components/arcgis-time-bar-date/index.js +1 -0
- package/dist/components/arcgis-time-bar-extent/customElement.js +30 -0
- package/dist/components/arcgis-time-bar-extent/index.js +2 -0
- package/dist/components/arcgis-time-bar-settings/customElement.js +352 -0
- package/dist/components/arcgis-time-bar-settings/index.js +18 -0
- package/dist/components/arcgis-time-bar-slider/customElement.d.ts +172 -0
- package/dist/components/arcgis-time-bar-slider/customElement.js +150 -0
- package/dist/components/arcgis-time-bar-slider/index.d.ts +1 -0
- package/dist/components/arcgis-time-bar-slider/index.js +5 -0
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +18 -0
- package/dist/loader.js +6 -0
- package/dist/support/time-utils.d.ts +7 -0
- package/dist/types/lumina.d.ts +17 -0
- package/dist/types/preact.d.ts +20 -0
- package/dist/types/react.d.ts +23 -0
- package/dist/types/stencil.d.ts +17 -0
- package/package.json +4 -4
- package/dist/cdn/3AEP2FXT.js +0 -2
- package/dist/cdn/4TYWHTFT.js +0 -2
- package/dist/cdn/AFXGNK7O.js +0 -2
- package/dist/cdn/H5B4VHOH.js +0 -2
- package/dist/cdn/NSF5Q73E.js +0 -2
- package/dist/cdn/P6CDJ2IV.js +0 -2
- package/dist/cdn/PGKGXEJ7.js +0 -2
- package/dist/cdn/TJ47T76E.js +0 -2
- package/dist/cdn/VEZP32RO.js +0 -2
- /package/dist/cdn/{CDSRIIHC.js → XRPUXUOQ.js} +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as l } from "../../chunks/runtime.js";
|
|
3
|
+
import { css as c, html as i } from "lit";
|
|
4
|
+
import { LitElement as n, safeClassMap as o } from "@arcgis/lumina";
|
|
5
|
+
const d = c`:host{background-color:var(--calcite-color-surface-2);block-size:max-content;color:var(--calcite-color-text-1);display:inline-grid;font-family:var(--calcite-font-family);font-size:var(--calcite-font-size-sm);inline-size:max-content;place-items:center}.dash{justify-self:center;border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-text-1);width:50%}.disabled{opacity:var(--calcite-opacity-disabled)}.end{justify-self:start}.start{justify-self:end}.table,.table-instant{align-content:center;align-items:center;display:grid;grid-template-rows:1fr}.table{grid-template-columns:1fr var(--calcite-spacing-fixed-xxl) 1fr}.table-instant{grid-template-columns:1fr}`;
|
|
6
|
+
class m extends n {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments), this.autoDestroyDisabled = !1;
|
|
9
|
+
}
|
|
10
|
+
static {
|
|
11
|
+
this.properties = { autoDestroyDisabled: 5, viewModel: 0 };
|
|
12
|
+
}
|
|
13
|
+
static {
|
|
14
|
+
this.styles = d;
|
|
15
|
+
}
|
|
16
|
+
async destroy() {
|
|
17
|
+
await this.manager.destroy();
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
const { viewModel: t } = this;
|
|
21
|
+
if (!t)
|
|
22
|
+
return null;
|
|
23
|
+
const { disabled: s, timeExtent: r } = t, { start: e, end: a } = r || {};
|
|
24
|
+
return e && e.getTime() === a?.getTime() ? i`<div class="table-instant"><arcgis-time-bar-date class="end" .viewModel=${t} .date=${e} align=center></arcgis-time-bar-date></div>` : i`<div class="table"><arcgis-time-bar-date class="start" .viewModel=${t} .date=${e} align=end></arcgis-time-bar-date><div class=${o({ dash: !0, disabled: s })}></div><arcgis-time-bar-date class="end" .viewModel=${t} .date=${a} align=start></arcgis-time-bar-date></div>`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
l("arcgis-time-bar-extent", m);
|
|
28
|
+
export {
|
|
29
|
+
m as ArcgisTimeBarExtent
|
|
30
|
+
};
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as $ } from "../../chunks/runtime.js";
|
|
3
|
+
import { css as y, html as n } from "lit";
|
|
4
|
+
import v from "@arcgis/core/time/TimeExtent.js";
|
|
5
|
+
import u from "@arcgis/core/time/TimeInterval.js";
|
|
6
|
+
import { LitElement as w, safeClassMap as p } from "@arcgis/lumina";
|
|
7
|
+
import { createRef as o, ref as r } from "lit/directives/ref.js";
|
|
8
|
+
import { i as m, a as l, d as b, f as _, b as f } from "../../chunks/dateUtils.js";
|
|
9
|
+
import { u as h, s as g, r as c } from "../../chunks/time-utils.js";
|
|
10
|
+
const I = "TimeBar", T = "Count", k = "Please enter count", D = "Date", O = "Display", S = "Choose how to display date and time.", F = "End", U = "Choose the time bar's end time.", Z = "Every {count} {timeUnit}", C = "Every {duration}", x = { dateAndTime: "Date and time", dateOnly: "Date only" }, z = "Loop", E = "Mode", V = "Choose the time extent type shown by the time bar.", R = { "cumulative-from-end": "Cumulative from end", "cumulative-from-start": "Cumulative from start", instant: "Instant", "time-window": "Time window" }, B = "Next", P = "Overview", M = "Play", L = "Playback rate", N = "The speed at which the time bar progresses.", q = "Previous", A = "Regular interval", j = "Settings", G = "Start", H = "Choose the time bar's start time.", W = "Stop", Y = { discreteDates: "Discrete dates", evenlySpaced: "Evenly spaced", evenlySpacedTemplate: "{count} evenly spaced", freeMovement: "Free movement" }, J = "Stops", K = "Choose how the stops are generated for the time bar.", Q = "Time", X = "Time bar settings", tt = { day: "Day", hour: "Hour", millisecond: "Millisecond", minute: "Minute", month: "Month", second: "Second", week: "Week", year: "Year" }, et = "Time zone", it = "Choose the time zone used to display the date and time in the time bar.", st = { specific: "Specific time zone", system: "Device time zone", unknown: "No adjustment" }, at = "Unit", nt = "Please select unit", lt = "Units", ct = {
|
|
11
|
+
componentLabel: I,
|
|
12
|
+
count: T,
|
|
13
|
+
countPrompt: k,
|
|
14
|
+
date: D,
|
|
15
|
+
display: O,
|
|
16
|
+
displayDescription: S,
|
|
17
|
+
end: F,
|
|
18
|
+
endDescription: U,
|
|
19
|
+
everyDurationPartsTemplate: Z,
|
|
20
|
+
everyDurationTemplate: C,
|
|
21
|
+
formatOptions: x,
|
|
22
|
+
loop: z,
|
|
23
|
+
mode: E,
|
|
24
|
+
modeDescription: V,
|
|
25
|
+
modeOptions: R,
|
|
26
|
+
next: B,
|
|
27
|
+
overview: P,
|
|
28
|
+
play: M,
|
|
29
|
+
playbackRate: L,
|
|
30
|
+
playbackRateDescription: N,
|
|
31
|
+
previous: q,
|
|
32
|
+
regularInterval: A,
|
|
33
|
+
settings: j,
|
|
34
|
+
start: G,
|
|
35
|
+
startDescription: H,
|
|
36
|
+
stop: W,
|
|
37
|
+
stopOptions: Y,
|
|
38
|
+
stops: J,
|
|
39
|
+
stopsDescription: K,
|
|
40
|
+
time: Q,
|
|
41
|
+
timeBarSettings: X,
|
|
42
|
+
timeUnitOptions: tt,
|
|
43
|
+
timeZone: et,
|
|
44
|
+
timeZoneDescription: it,
|
|
45
|
+
timeZoneOptions: st,
|
|
46
|
+
unit: at,
|
|
47
|
+
unitPrompt: nt,
|
|
48
|
+
units: lt
|
|
49
|
+
}, ot = y`:host{background-color:var(--calcite-color-surface-2);block-size:calc(var(--calcite-font-size-relative-5xl) * 8);color:var(--calcite-color-text-1);font-family:var(--calcite-font-family);font-size:var(--calcite-font-size-sm);inline-size:max-content}calcite-flow-item{--calcite-color-background: var(--calcite-color-surface-2)}.disabled{opacity:var(--calcite-opacity-disabled);pointer-events:none}.playback-rate-content{margin-inline-start:var(--calcite-spacing-lg);margin-inline-end:var(--calcite-spacing-lg);margin-block-start:var(--calcite-spacing-lg)}.end-content,.format-content,.mode-content,.start-content,.stops-content,.time-zone-content{margin-inline-start:calc(var(--calcite-spacing-lg) * 3);margin-inline-end:var(--calcite-spacing-lg);margin-block-start:var(--calcite-spacing-lg)}.stops-indent,.time-zone-indent{margin-inline-start:calc(var(--calcite-spacing-lg) * 1.5);margin-block-end:var(--calcite-spacing-lg)}.label-description{font-style:italic}.label-heading{font-weight:var(--calcite-font-weight-semibold)}.list-item--content{--calcite-label-margin-bottom: 0}.time-zone-input{width:calc(var(--calcite-size-md) * 5.5)}.time-zone-label{--calcite-color-background: transparent;--calcite-color-border-input: transparent;font-style:italic;margin-inline-start:calc(var(--calcite-spacing-md) * -1);margin-block-start:calc(var(--calcite-spacing-md) * -.5)}`;
|
|
50
|
+
class rt extends w {
|
|
51
|
+
constructor() {
|
|
52
|
+
super(...arguments), this.#e = o(), this.#i = o(), this.#s = o(), this.#a = o(), this.#t = {
|
|
53
|
+
maximumFractionDigits: 0,
|
|
54
|
+
style: "unit",
|
|
55
|
+
unitDisplay: "long"
|
|
56
|
+
}, this._selectedFlowItem = "overview", this.autoDestroyDisabled = !1;
|
|
57
|
+
}
|
|
58
|
+
static {
|
|
59
|
+
this.properties = { _timeUnitSettings: 16, _defaultTimeZoneMode: 16, _defaultStopCount: 16, _defaultStopIntervalValue: 16, _defaultStopIntervalUnit: 16, _messages: 16, _timeZoneMode: 16, _stopCount: 16, _stopIntervalValue: 16, _stopIntervalUnit: 16, _formatDescription: 16, _playbackRateDescription: 16, _formatStart: 16, _formatEnd: 16, _modeDescription: 16, _selectedFlowItem: 16, _stopDescription: 16, autoDestroyDisabled: 5, messages: 0, viewModel: 0 };
|
|
60
|
+
}
|
|
61
|
+
static {
|
|
62
|
+
this.styles = ot;
|
|
63
|
+
}
|
|
64
|
+
#n;
|
|
65
|
+
#l;
|
|
66
|
+
#c;
|
|
67
|
+
#o;
|
|
68
|
+
#e;
|
|
69
|
+
#i;
|
|
70
|
+
#s;
|
|
71
|
+
#a;
|
|
72
|
+
#t;
|
|
73
|
+
get _timeUnitSettings() {
|
|
74
|
+
const t = {
|
|
75
|
+
milliseconds: {
|
|
76
|
+
timeUnit: "milliseconds",
|
|
77
|
+
heading: this._messages.timeUnitOptions.millisecond,
|
|
78
|
+
numberFormatOptions: {
|
|
79
|
+
...this.#t,
|
|
80
|
+
unit: "millisecond"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
seconds: {
|
|
84
|
+
timeUnit: "seconds",
|
|
85
|
+
heading: this._messages.timeUnitOptions.second,
|
|
86
|
+
numberFormatOptions: {
|
|
87
|
+
...this.#t,
|
|
88
|
+
unit: "second"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
minutes: {
|
|
92
|
+
timeUnit: "minutes",
|
|
93
|
+
heading: this._messages.timeUnitOptions.minute,
|
|
94
|
+
numberFormatOptions: {
|
|
95
|
+
...this.#t,
|
|
96
|
+
unit: "minute"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
hours: {
|
|
100
|
+
timeUnit: "hours",
|
|
101
|
+
heading: this._messages.timeUnitOptions.hour,
|
|
102
|
+
numberFormatOptions: {
|
|
103
|
+
...this.#t,
|
|
104
|
+
unit: "hour"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
days: {
|
|
108
|
+
timeUnit: "days",
|
|
109
|
+
heading: this._messages.timeUnitOptions.day,
|
|
110
|
+
numberFormatOptions: {
|
|
111
|
+
...this.#t,
|
|
112
|
+
unit: "day"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
weeks: {
|
|
116
|
+
timeUnit: "weeks",
|
|
117
|
+
heading: this._messages.timeUnitOptions.week,
|
|
118
|
+
numberFormatOptions: {
|
|
119
|
+
...this.#t,
|
|
120
|
+
unit: "week"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
months: {
|
|
124
|
+
timeUnit: "months",
|
|
125
|
+
heading: this._messages.timeUnitOptions.month,
|
|
126
|
+
numberFormatOptions: {
|
|
127
|
+
...this.#t,
|
|
128
|
+
unit: "month"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
years: {
|
|
132
|
+
timeUnit: "years",
|
|
133
|
+
heading: this._messages.timeUnitOptions.year,
|
|
134
|
+
numberFormatOptions: {
|
|
135
|
+
...this.#t,
|
|
136
|
+
unit: "year"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
return {
|
|
141
|
+
get: (e) => t[e],
|
|
142
|
+
has: (e) => e in t,
|
|
143
|
+
values: Object.values(t)
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
get _defaultTimeZoneMode() {
|
|
147
|
+
switch (this.viewModel?.timeZone) {
|
|
148
|
+
case g:
|
|
149
|
+
case void 0:
|
|
150
|
+
return "system";
|
|
151
|
+
case h:
|
|
152
|
+
return "unknown";
|
|
153
|
+
default:
|
|
154
|
+
return "specific";
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
get _defaultStopCount() {
|
|
158
|
+
return m(this.viewModel?.stops) ? this.viewModel.stops.count : 10;
|
|
159
|
+
}
|
|
160
|
+
get _defaultStopIntervalValue() {
|
|
161
|
+
return l(this.viewModel?.stops) ? this.viewModel.stops.interval.value : 1;
|
|
162
|
+
}
|
|
163
|
+
get _defaultStopIntervalUnit() {
|
|
164
|
+
return l(this.viewModel?.stops) ? this.viewModel.stops.interval.unit : "years";
|
|
165
|
+
}
|
|
166
|
+
get _messages() {
|
|
167
|
+
return this.messages ?? ct;
|
|
168
|
+
}
|
|
169
|
+
get _timeZoneMode() {
|
|
170
|
+
return this.#o ?? this._defaultTimeZoneMode;
|
|
171
|
+
}
|
|
172
|
+
set _timeZoneMode(t) {
|
|
173
|
+
const e = this._timeZoneMode;
|
|
174
|
+
e !== t && (this.#o = t, this.requestUpdate("_timeZoneMode", e));
|
|
175
|
+
}
|
|
176
|
+
get _stopCount() {
|
|
177
|
+
return this.#n ?? this._defaultStopCount;
|
|
178
|
+
}
|
|
179
|
+
set _stopCount(t) {
|
|
180
|
+
const e = this._stopCount;
|
|
181
|
+
e !== t && (this.#n = t, this.requestUpdate("_stopCount", e));
|
|
182
|
+
}
|
|
183
|
+
get _stopIntervalValue() {
|
|
184
|
+
return this.#l ?? this._defaultStopIntervalValue;
|
|
185
|
+
}
|
|
186
|
+
set _stopIntervalValue(t) {
|
|
187
|
+
const e = this._stopIntervalValue;
|
|
188
|
+
e !== t && (this.#l = t, this.requestUpdate("_stopIntervalValue", e));
|
|
189
|
+
}
|
|
190
|
+
get _stopIntervalUnit() {
|
|
191
|
+
return this.#c ?? this._defaultStopIntervalUnit;
|
|
192
|
+
}
|
|
193
|
+
set _stopIntervalUnit(t) {
|
|
194
|
+
const e = this._stopIntervalUnit;
|
|
195
|
+
e !== t && (this.#c = t, this.requestUpdate("_stopIntervalUnit", e));
|
|
196
|
+
}
|
|
197
|
+
get _formatDescription() {
|
|
198
|
+
switch (this.viewModel?.format) {
|
|
199
|
+
case "date":
|
|
200
|
+
return this._messages.formatOptions.dateOnly;
|
|
201
|
+
case "date-time":
|
|
202
|
+
return this._messages.formatOptions.dateAndTime;
|
|
203
|
+
default:
|
|
204
|
+
return "";
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
get _playbackRateDescription() {
|
|
208
|
+
const { viewModel: t } = this;
|
|
209
|
+
if (!t)
|
|
210
|
+
return "";
|
|
211
|
+
const e = t.formatNumber(t.playRate, this._timeUnitSettings.get("milliseconds").numberFormatOptions);
|
|
212
|
+
return this._messages.everyDurationTemplate.replace("{duration}", e);
|
|
213
|
+
}
|
|
214
|
+
get _formatStart() {
|
|
215
|
+
const { viewModel: t } = this, e = t?.fullTimeExtent?.start;
|
|
216
|
+
return e ? t.formatDateTime(e) : "";
|
|
217
|
+
}
|
|
218
|
+
get _formatEnd() {
|
|
219
|
+
const { viewModel: t } = this, e = t?.fullTimeExtent?.end;
|
|
220
|
+
return e ? t.formatDateTime(e) : "";
|
|
221
|
+
}
|
|
222
|
+
get _modeDescription() {
|
|
223
|
+
const t = this.viewModel?.mode;
|
|
224
|
+
return t ? this._messages.modeOptions[t] : "";
|
|
225
|
+
}
|
|
226
|
+
get _stopDescription() {
|
|
227
|
+
const { viewModel: t } = this, e = t?.stops;
|
|
228
|
+
if (!e)
|
|
229
|
+
return this._messages.stopOptions.freeMovement;
|
|
230
|
+
if (m(e))
|
|
231
|
+
return this._messages.stopOptions.evenlySpacedTemplate.replace("{count}", `${e.count}`);
|
|
232
|
+
if (l(e)) {
|
|
233
|
+
const { value: i, unit: s } = e.interval;
|
|
234
|
+
if (!this._timeUnitSettings.has(s))
|
|
235
|
+
return this._messages.everyDurationPartsTemplate.replace("{count}", `${i}`).replace("{timeUnit}", s);
|
|
236
|
+
const a = this._timeUnitSettings.get(s).numberFormatOptions, d = t.formatNumber(i, a);
|
|
237
|
+
return this._messages.everyDurationTemplate.replace("{duration}", d);
|
|
238
|
+
}
|
|
239
|
+
return this._messages.stopOptions.discreteDates;
|
|
240
|
+
}
|
|
241
|
+
async destroy() {
|
|
242
|
+
await this.manager.destroy();
|
|
243
|
+
}
|
|
244
|
+
async navigateToOverview() {
|
|
245
|
+
this._selectedFlowItem = "overview";
|
|
246
|
+
}
|
|
247
|
+
#r() {
|
|
248
|
+
const { viewModel: t } = this;
|
|
249
|
+
if (!t?.fullTimeExtent || !this.#e.value?.value || !this.#i.value?.value)
|
|
250
|
+
return;
|
|
251
|
+
const e = this.#e.value.value, i = this.#i.value.value, s = c(t.timeZone), a = b(e, i, s);
|
|
252
|
+
a && (t.fullTimeExtent = new v({
|
|
253
|
+
start: t.fullTimeExtent.start,
|
|
254
|
+
end: a
|
|
255
|
+
}));
|
|
256
|
+
}
|
|
257
|
+
#m() {
|
|
258
|
+
const { viewModel: t } = this;
|
|
259
|
+
if (!t?.fullTimeExtent || !this.#s.value?.value || !this.#a.value?.value)
|
|
260
|
+
return;
|
|
261
|
+
const e = this.#s.value.value, i = this.#a.value.value, s = c(t.timeZone), a = b(e, i, s);
|
|
262
|
+
if (!a)
|
|
263
|
+
return;
|
|
264
|
+
const { end: d } = t.fullTimeExtent;
|
|
265
|
+
t.fullTimeExtent = new v({ start: a, end: d });
|
|
266
|
+
}
|
|
267
|
+
render() {
|
|
268
|
+
const { viewModel: t } = this;
|
|
269
|
+
if (!t)
|
|
270
|
+
return null;
|
|
271
|
+
const { disabled: e } = t;
|
|
272
|
+
return n`<div class=${p({ disabled: e })}><calcite-flow>${this.#h(t)}${this.#d(t)}${this.#u(t)}${this.#p(t)}${this.#g(t)}${this.#v(t)}${this.#b(t)}${this.#_(t)}</calcite-flow></div>`;
|
|
273
|
+
}
|
|
274
|
+
#d(t) {
|
|
275
|
+
if (this._selectedFlowItem !== "end")
|
|
276
|
+
return null;
|
|
277
|
+
const { fullTimeExtent: e, disabled: i, timeZone: s } = t;
|
|
278
|
+
if (!e?.end)
|
|
279
|
+
return null;
|
|
280
|
+
const a = c(s);
|
|
281
|
+
return n`<calcite-flow-item .description=${this._messages.endDescription} .heading=${this._messages.end} @calciteFlowItemBack=${this.navigateToOverview} selected><div class="end-content"><calcite-label><span>${this._messages.date}</span><calcite-input-date-picker .disabled=${i} @calciteInputDatePickerChange=${this.#r} .value=${_(e.end, a)} ${r(this.#e)}></calcite-input-date-picker></calcite-label><calcite-label><span>${this._messages.time}</span><calcite-input-time-picker .disabled=${i} @calciteInputTimePickerChange=${this.#r} step=1 .value=${f(e.end, a)} ${r(this.#i)}></calcite-input-time-picker></calcite-label></div></calcite-flow-item>`;
|
|
282
|
+
}
|
|
283
|
+
#u(t) {
|
|
284
|
+
return this._selectedFlowItem !== "format" ? null : n`<calcite-flow-item .description=${this._messages.displayDescription} .heading=${this._messages.display} @calciteFlowItemBack=${this.navigateToOverview} selected><div class="format-content"><calcite-radio-button-group class="format-radio-button-group" layout=vertical name=format @calciteRadioButtonGroupChange=${(e) => t.format = e.currentTarget.selectedItem?.value}><calcite-radio-button .labelText=${this._messages.formatOptions.dateOnly} value=date .checked=${t.format === "date"}></calcite-radio-button><calcite-radio-button .checked=${t.format === "date-time"} .labelText=${this._messages.formatOptions.dateAndTime} value=date-time></calcite-radio-button></calcite-radio-button-group></div></calcite-flow-item>`;
|
|
285
|
+
}
|
|
286
|
+
#p(t) {
|
|
287
|
+
if (this._selectedFlowItem !== "mode")
|
|
288
|
+
return null;
|
|
289
|
+
const e = ["instant", "time-window", "cumulative-from-start", "cumulative-from-end"];
|
|
290
|
+
return n`<calcite-flow-item .description=${this._messages.modeDescription} .heading=${this._messages.mode} @calciteFlowItemBack=${this.navigateToOverview} selected><div class="mode-content"><calcite-radio-button-group name=mode layout=vertical @calciteRadioButtonGroupChange=${(i) => t.mode = i.currentTarget.selectedItem?.value} class="mode-radio-button-group">${e.map((i) => n`<calcite-radio-button .labelText=${this._messages.modeOptions[i]} .value=${i} .checked=${t.mode === i}></calcite-radio-button>`)}</calcite-radio-button-group></div></calcite-flow-item>`;
|
|
291
|
+
}
|
|
292
|
+
#h(t) {
|
|
293
|
+
return n`<calcite-flow-item .selected=${this._selectedFlowItem === "overview"}><calcite-list .label=${this._messages.overview}><calcite-list-item @calciteListItemSelect=${() => this._selectedFlowItem = "format"}><div slot=content class="list-item--content"><calcite-label class="label-heading">${this._messages.display}</calcite-label><calcite-label class="label-description">${this._formatDescription}</calcite-label></div><calcite-icon slot=content-end scale=s icon=chevron-right flip-rtl></calcite-icon></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => this._selectedFlowItem = "mode"}><div slot=content class="list-item--content"><calcite-label class="label-heading">${this._messages.mode}</calcite-label><calcite-label class="label-description">${this._modeDescription}</calcite-label></div><calcite-icon slot=content-end scale=s icon=chevron-right flip-rtl></calcite-icon></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => this._selectedFlowItem = "time-zone"}><div slot=content class="list-item--content"><calcite-label class="label-heading">${this._messages.timeZone}</calcite-label>${this.#f()}</div><calcite-icon slot=content-end scale=s icon=chevron-right flip-rtl></calcite-icon></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => this._selectedFlowItem = "start"}><div slot=content class="list-item--content"><calcite-label class="label-heading">${this._messages.start}</calcite-label><calcite-label class="label-description">${this._formatStart}</calcite-label></div><calcite-icon slot=content-end scale=s icon=chevron-right flip-rtl></calcite-icon></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => this._selectedFlowItem = "end"}><div slot=content class="list-item--content"><calcite-label class="label-heading">${this._messages.end}</calcite-label><calcite-label class="label-description">${this._formatEnd}</calcite-label></div><calcite-icon slot=content-end scale=s icon=chevron-right flip-rtl></calcite-icon></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => this._selectedFlowItem = "stops"}><div slot=content class="list-item--content"><calcite-label class="label-heading">${this._messages.stops}</calcite-label><calcite-label class="label-description">${this._stopDescription}</calcite-label></div><calcite-icon slot=content-end scale=s icon=chevron-right flip-rtl></calcite-icon></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => this._selectedFlowItem = "playback-rate"}><div slot=content class="list-item--content"><calcite-label class="label-heading">${this._messages.playbackRate}</calcite-label><calcite-label class="label-description">${this._playbackRateDescription}</calcite-label></div><calcite-icon slot=content-end scale=s icon=chevron-right flip-rtl></calcite-icon></calcite-list-item><calcite-list-item><calcite-label slot=content class="label-heading">${this._messages.loop}</calcite-label><calcite-switch .checked=${t.loop} .label=${this._messages.loop} @calciteSwitchChange=${(e) => t.loop = e.target.checked} slot=content-end></calcite-switch></calcite-list-item></calcite-list></calcite-flow-item>`;
|
|
294
|
+
}
|
|
295
|
+
#g(t) {
|
|
296
|
+
if (this._selectedFlowItem !== "playback-rate")
|
|
297
|
+
return null;
|
|
298
|
+
const { playRate: e, disabled: i } = t;
|
|
299
|
+
return n`<calcite-flow-item .description=${this._messages.playbackRateDescription} .heading=${this._messages.playbackRate} @calciteFlowItemBack=${this.navigateToOverview} selected><div class="playback-rate-content"><arcgis-slider .disabled=${i} .labelFormatter=${(s) => t.formatNumber(s, this._timeUnitSettings.get("milliseconds").numberFormatOptions)} max=2000 min=100 @arcgisChange=${(s) => t.playRate = s.target.values[0]} precision=0 steps=10 value-labels-display=always .values=${[e]}><arcgis-ticks max=2000 min=100 mode=value show-labels slot=content-end style="flex:1;" .values=${[100, 500, 1e3, 1500, 2e3]}></arcgis-ticks></arcgis-slider></div></calcite-flow-item>`;
|
|
300
|
+
}
|
|
301
|
+
#v(t) {
|
|
302
|
+
if (this._selectedFlowItem !== "start")
|
|
303
|
+
return null;
|
|
304
|
+
const { fullTimeExtent: e, disabled: i, timeZone: s } = t;
|
|
305
|
+
if (!e?.start)
|
|
306
|
+
return null;
|
|
307
|
+
const a = c(s);
|
|
308
|
+
return n`<calcite-flow-item .description=${this._messages.startDescription} .heading=${this._messages.start} @calciteFlowItemBack=${this.navigateToOverview} selected><div class="start-content"><calcite-label><span>${this._messages.date}</span><calcite-input-date-picker .disabled=${i} @calciteInputDatePickerChange=${this.#m} .value=${_(e.start, a)} ${r(this.#s)}></calcite-input-date-picker></calcite-label><calcite-label><span>${this._messages.time}</span><calcite-input-time-picker .disabled=${i} @calciteInputTimePickerChange=${this.#m} step=1 .value=${f(e.start, a)} ${r(this.#a)}></calcite-input-time-picker></calcite-label></div></calcite-flow-item>`;
|
|
309
|
+
}
|
|
310
|
+
#b(t) {
|
|
311
|
+
return this._selectedFlowItem !== "stops" ? null : n`<calcite-flow-item .description=${this._messages.stopsDescription} .heading=${this._messages.stops} @calciteFlowItemBack=${this.navigateToOverview} selected><div class="stops-content"><calcite-radio-button-group .disabled=${t.disabled} class="mode-radio-button-group" layout=vertical name=stops><calcite-radio-button .checked=${!t.stops} .labelText=${this._messages.stopOptions.freeMovement} @calciteRadioButtonChange=${() => {
|
|
312
|
+
t.stops = void 0;
|
|
313
|
+
}} value></calcite-radio-button><calcite-radio-button .checked=${m(t.stops)} .labelText=${this._messages.stopOptions.evenlySpaced} @calciteRadioButtonChange=${() => {
|
|
314
|
+
t.stops = { count: 10 };
|
|
315
|
+
}} value></calcite-radio-button><div class="stops-indent"><calcite-input-number .disabled=${t.disabled || !m(t.stops)} integer min=1 .placeholder=${this._messages.countPrompt} .value=${`${this._stopCount}`} @calciteInputNumberChange=${(e) => {
|
|
316
|
+
const i = Number.parseInt(e.currentTarget.value, 10);
|
|
317
|
+
t.stops = { count: i };
|
|
318
|
+
}}></calcite-input-number></div><calcite-radio-button .checked=${l(t.stops)} .labelText=${this._messages.regularInterval} @calciteRadioButtonChange=${() => {
|
|
319
|
+
t.stops = {
|
|
320
|
+
interval: new u({ value: this._stopIntervalValue, unit: this._stopIntervalUnit })
|
|
321
|
+
};
|
|
322
|
+
}} value></calcite-radio-button><div class="stops-indent"><calcite-label><span class=${p({ disabled: t.disabled || !l(t.stops) })}>${this._messages.count}</span><calcite-input-number .disabled=${t.disabled || !l(t.stops)} integer min=1 .placeholder=${this._messages.countPrompt} .value=${`${this._stopIntervalValue}`} @calciteInputNumberChange=${(e) => {
|
|
323
|
+
this._stopIntervalValue = Number.parseInt(e.currentTarget.value, 10), t.stops = {
|
|
324
|
+
interval: new u({ value: this._stopIntervalValue, unit: this._stopIntervalUnit })
|
|
325
|
+
};
|
|
326
|
+
}}></calcite-input-number></calcite-label><calcite-label><span class=${p({ disabled: t.disabled || !l(t.stops) })}>${this._messages.unit}</span><calcite-combobox .disabled=${t.disabled || !l(t.stops)} .label=${this._messages.units} .placeholder=${this._messages.unitPrompt} selection-mode=single-persist @calciteComboboxChange=${(e) => {
|
|
327
|
+
this._stopIntervalUnit = e.currentTarget.selectedItems[0]?.value, t.stops = {
|
|
328
|
+
interval: new u({ value: this._stopIntervalValue, unit: this._stopIntervalUnit })
|
|
329
|
+
};
|
|
330
|
+
}}>${this._timeUnitSettings.values.map(({ timeUnit: e, heading: i }) => n`<calcite-combobox-item .value=${e} .heading=${i} .selected=${this._stopIntervalUnit === e}></calcite-combobox-item>`)}</calcite-combobox></calcite-label></div></calcite-radio-button-group></div></calcite-flow-item>`;
|
|
331
|
+
}
|
|
332
|
+
#_(t) {
|
|
333
|
+
return this._selectedFlowItem !== "time-zone" ? null : n`<calcite-flow-item .description=${this._messages.timeZoneDescription} .heading=${this._messages.timeZone} @calciteFlowItemBack=${this.navigateToOverview} selected><div class="time-zone-content"><calcite-radio-button-group class="mode-radio-button-group" layout=vertical name=time-zone><calcite-radio-button .checked=${this._timeZoneMode === "system"} .labelText=${this._messages.timeZoneOptions.system} @calciteRadioButtonChange=${() => {
|
|
334
|
+
t.timeZone = g;
|
|
335
|
+
}} value></calcite-radio-button><calcite-radio-button .checked=${this._timeZoneMode === "unknown"} .labelText=${this._messages.timeZoneOptions.unknown} @calciteRadioButtonChange=${() => {
|
|
336
|
+
t.timeZone = h;
|
|
337
|
+
}} value></calcite-radio-button><calcite-radio-button .checked=${this._timeZoneMode === "specific"} .labelText=${this._messages.timeZoneOptions.specific} @calciteRadioButtonChange=${() => {
|
|
338
|
+
t.timeZone = g, this._timeZoneMode = "specific";
|
|
339
|
+
}} value></calcite-radio-button><div class="time-zone-indent"><calcite-input-time-zone class="time-zone-input" .disabled=${this._timeZoneMode !== "specific"} mode=region @calciteInputTimeZoneChange=${(e) => t.timeZone = e.target.value} .value=${c(t.timeZone)}></calcite-input-time-zone></div></calcite-radio-button-group></div></calcite-flow-item>`;
|
|
340
|
+
}
|
|
341
|
+
#f() {
|
|
342
|
+
const { viewModel: t } = this;
|
|
343
|
+
if (!t)
|
|
344
|
+
return null;
|
|
345
|
+
const { timeZone: e } = t;
|
|
346
|
+
return e === h ? n`<calcite-label class="label-description">${this._messages.timeZoneOptions.unknown}</calcite-label>` : n`<calcite-input-time-zone class="time-zone-label" mode=region overlay-positioning=fixed read-only .value=${c(e)}></calcite-input-time-zone>`;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
$("arcgis-time-bar-settings", rt);
|
|
350
|
+
export {
|
|
351
|
+
rt as ArcgisTimeBarSettings
|
|
352
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import "@esri/calcite-components/components/calcite-flow";
|
|
2
|
+
import "@esri/calcite-components/components/calcite-flow-item";
|
|
3
|
+
import "@esri/calcite-components/components/calcite-label";
|
|
4
|
+
import "@esri/calcite-components/components/calcite-input-date-picker";
|
|
5
|
+
import "@esri/calcite-components/components/calcite-input-time-picker";
|
|
6
|
+
import "@esri/calcite-components/components/calcite-radio-button-group";
|
|
7
|
+
import "@esri/calcite-components/components/calcite-radio-button";
|
|
8
|
+
import "@esri/calcite-components/components/calcite-list";
|
|
9
|
+
import "@esri/calcite-components/components/calcite-list-item";
|
|
10
|
+
import "@esri/calcite-components/components/calcite-icon";
|
|
11
|
+
import "@esri/calcite-components/components/calcite-switch";
|
|
12
|
+
import "@arcgis/common-components/components/arcgis-slider";
|
|
13
|
+
import "@arcgis/common-components/components/arcgis-ticks";
|
|
14
|
+
import "@esri/calcite-components/components/calcite-input-number";
|
|
15
|
+
import "@esri/calcite-components/components/calcite-combobox";
|
|
16
|
+
import "@esri/calcite-components/components/calcite-combobox-item";
|
|
17
|
+
import "@esri/calcite-components/components/calcite-input-time-zone";
|
|
18
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type TimeExtent from "@arcgis/core/time/TimeExtent.js";
|
|
3
|
+
import type { TimeBarViewModel } from "../arcgis-time-bar/TimeBarViewModel.js";
|
|
4
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The `arcgis-time-bar-slider` component renders a time-based slider intended for use `arcgis-time-bar`'s "time-extent" slot.
|
|
8
|
+
*
|
|
9
|
+
* @slot [max ] - A slot that displays a label for the end date of the slider. If not provided, a default label will be rendered.
|
|
10
|
+
* @slot [min ] - A slot that displays a label for the start date of the slider. If not provided, a default label will be rendered.
|
|
11
|
+
* @slot [popover] - A slot that displays a popover's content while interacting with the slider's thumb or range. If not provided, a default content will be rendered.
|
|
12
|
+
* @since 5.2
|
|
13
|
+
* @example
|
|
14
|
+
* An example of a `<arcgis-time-bar-slider>` slotted into time-bar's `time-extent` slot.
|
|
15
|
+
* ```html
|
|
16
|
+
* <arcgis-map basemap="satellite" zoom="6" center="-2,54">
|
|
17
|
+
* <arcgis-time-bar showPlay showNext showPrevious slot="top-right">
|
|
18
|
+
* <arcgis-time-bar-slider slot="time-extent"></arcgis-time-bar-slider>
|
|
19
|
+
* </arcgis-time-bar>
|
|
20
|
+
* </arcgis-map>
|
|
21
|
+
* ```
|
|
22
|
+
* ```js
|
|
23
|
+
* <script type="module">
|
|
24
|
+
* const [TimeExtent] = await $arcgis.import([
|
|
25
|
+
* "@arcgis/core/time/TimeExtent.js",
|
|
26
|
+
* ]);
|
|
27
|
+
*
|
|
28
|
+
* const viewElement = document.querySelector("arcgis-map");
|
|
29
|
+
* const timeBarElement = document.querySelector("arcgis-time-bar");
|
|
30
|
+
* const timeBarSliderElement = document.querySelector("arcgis-time-bar-slider");
|
|
31
|
+
*
|
|
32
|
+
* const [_, timeBar] = await Promise.all([
|
|
33
|
+
* viewElement.viewOnReady(),
|
|
34
|
+
* timeBarElement.componentOnReady(),
|
|
35
|
+
* timeBarSliderElement.componentOnReady(),
|
|
36
|
+
* ]);
|
|
37
|
+
*
|
|
38
|
+
* timeBar.fullTimeExtent = new TimeExtent({
|
|
39
|
+
* start: new Date(2020, 0, 1),
|
|
40
|
+
* end: new Date(2021, 0, 1),
|
|
41
|
+
* });
|
|
42
|
+
* </script>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export abstract class ArcgisTimeBarSlider extends LitElement {
|
|
46
|
+
/**
|
|
47
|
+
* This property is intended to be used when inserting an element in the "popover" slot.
|
|
48
|
+
* This property will return either a
|
|
49
|
+
* [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) or
|
|
50
|
+
* [TimeExtent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/)
|
|
51
|
+
* depending if the user is interacting with either a slider thumb or slider track respectively.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* The following example demonstrates how to use the `activeValue` property to update the content of a popover while
|
|
55
|
+
* interacting with the slider's thumb or track.
|
|
56
|
+
*
|
|
57
|
+
* When the time-bar-slider's thumb is being dragged, the popover will display the day of the week associated with the thumb's position.
|
|
58
|
+
*
|
|
59
|
+
* When the time-bar-slider's track is being dragged, the popover will display the day of the week associated with the start and end of the time extent.
|
|
60
|
+
*
|
|
61
|
+
* ```html
|
|
62
|
+
* <arcgis-map basemap="satellite" zoom="6" center="-2,54">
|
|
63
|
+
* <arcgis-time-bar showPlay showNext showPrevious slot="top-right">
|
|
64
|
+
* <arcgis-time-bar-slider slot="time-extent" showTimeExtentPopover>
|
|
65
|
+
* <div slot="popover" style="color: red; font-weight: bold; text-align: center; width: 100px;" />
|
|
66
|
+
* </arcgis-time-bar-slider>
|
|
67
|
+
* </arcgis-time-bar>
|
|
68
|
+
* </arcgis-map>
|
|
69
|
+
* ```
|
|
70
|
+
* ```js
|
|
71
|
+
* <script type="module">
|
|
72
|
+
* const [TimeExtent, TimeInterval, reactiveUtils] = await $arcgis.import([
|
|
73
|
+
* "@arcgis/core/time/TimeExtent.js",
|
|
74
|
+
* "@arcgis/core/time/TimeInterval.js",
|
|
75
|
+
* "@arcgis/core/core/reactiveUtils.js",
|
|
76
|
+
* ]);
|
|
77
|
+
*
|
|
78
|
+
* const viewElement = document.querySelector("arcgis-map");
|
|
79
|
+
* const timeBarElement = document.querySelector("arcgis-time-bar");
|
|
80
|
+
* const timeBarSliderElement = document.querySelector("arcgis-time-bar-slider");
|
|
81
|
+
* const popoverSlotElement = timeBarSliderElement.querySelector('[slot="popover"]');
|
|
82
|
+
*
|
|
83
|
+
* const [_, timeBar, timeBarSlider] = await Promise.all([
|
|
84
|
+
* viewElement.viewOnReady(),
|
|
85
|
+
* timeBarElement.componentOnReady(),
|
|
86
|
+
* timeBarSliderElement.componentOnReady(),
|
|
87
|
+
* ]);
|
|
88
|
+
*
|
|
89
|
+
* timeBar.fullTimeExtent = new TimeExtent({
|
|
90
|
+
* start: new Date(2026, 5, 22),
|
|
91
|
+
* end: new Date(2026, 5, 26),
|
|
92
|
+
* });
|
|
93
|
+
* timeBar.stops = {
|
|
94
|
+
* interval: new TimeInterval({
|
|
95
|
+
* value: 1,
|
|
96
|
+
* unit: "days",
|
|
97
|
+
* }),
|
|
98
|
+
* };
|
|
99
|
+
*
|
|
100
|
+
* reactiveUtils.watch(
|
|
101
|
+
* () => timeBarSlider.activeValue,
|
|
102
|
+
* (activeValue) => {
|
|
103
|
+
* if (!activeValue) {
|
|
104
|
+
* popoverSlotElement.innerHTML = "";
|
|
105
|
+
* }
|
|
106
|
+
*
|
|
107
|
+
* // A date is returned when the user is interacting with the slider's thumb.
|
|
108
|
+
* if (activeValue instanceof Date) {
|
|
109
|
+
* popoverSlotElement.innerHTML = activeValue.toLocaleDateString(undefined, { weekday: "long" });
|
|
110
|
+
* popoverSlotElement.style.width = "100px";
|
|
111
|
+
* }
|
|
112
|
+
*
|
|
113
|
+
* // A time extent is returned when the user is interacting with the slider's track.
|
|
114
|
+
* if (activeValue instanceof TimeExtent) {
|
|
115
|
+
* const start = activeValue.start?.toLocaleDateString(undefined, { weekday: "long" });
|
|
116
|
+
* const end = activeValue.end?.toLocaleDateString(undefined, { weekday: "long" });
|
|
117
|
+
* popoverSlotElement.innerHTML = `${start} - ${end}`;
|
|
118
|
+
* popoverSlotElement.style.width = "150px";
|
|
119
|
+
* }
|
|
120
|
+
* },
|
|
121
|
+
* { initial: true },
|
|
122
|
+
* );
|
|
123
|
+
* </script>
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
get activeValue(): Date | TimeExtent | undefined;
|
|
127
|
+
/**
|
|
128
|
+
* If true, the component will not be destroyed automatically when it is
|
|
129
|
+
* disconnected from the document. This is useful when you want to move the
|
|
130
|
+
* component to a different place on the page, or temporarily hide it. If this
|
|
131
|
+
* is set, make sure to call the [destroy()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-time-bar-slider/#destroy) method when you are done to
|
|
132
|
+
* prevent memory leaks.
|
|
133
|
+
*
|
|
134
|
+
* @default false
|
|
135
|
+
*/
|
|
136
|
+
accessor autoDestroyDisabled: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* When `true`, displays a label for the end date of the slider.
|
|
139
|
+
* The contents of this label can be customized by providing a slotted element in the "max" slot.
|
|
140
|
+
*
|
|
141
|
+
* @default false
|
|
142
|
+
*/
|
|
143
|
+
accessor showMax: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* When `true`, displays a label for the start date of the slider.
|
|
146
|
+
* The contents of this label can be customized by providing a slotted element in the "min" slot.
|
|
147
|
+
*
|
|
148
|
+
* @default false
|
|
149
|
+
*/
|
|
150
|
+
accessor showMin: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* When `true`, displays tick marks and labels beneath the slider.
|
|
153
|
+
*
|
|
154
|
+
* @default false
|
|
155
|
+
*/
|
|
156
|
+
accessor showTicks: boolean;
|
|
157
|
+
/**
|
|
158
|
+
* When `true`, displays a popover for while interacting the slider's thumb or range.
|
|
159
|
+
* The contents of this popover can be customized by providing a slotted element in the "popover" slot.
|
|
160
|
+
*
|
|
161
|
+
* @default false
|
|
162
|
+
*/
|
|
163
|
+
accessor showTimeExtentPopover: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* The view model for the time bar slider.
|
|
166
|
+
*
|
|
167
|
+
* @internal
|
|
168
|
+
*/
|
|
169
|
+
accessor viewModel: TimeBarViewModel | undefined;
|
|
170
|
+
/** Permanently destroy the component. */
|
|
171
|
+
destroy(): Promise<void>;
|
|
172
|
+
}
|