@nulib/clover 4.7.0 → 4.8.0
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/base.css +1 -1
- package/dist/components/Body/glyphs.mjs +48 -0
- package/dist/components/Canvas/CanvasView.mjs +27 -6
- package/dist/components/Canvas/Controls.mjs +3 -2
- package/dist/components/Canvas/PlaceBox.mjs +40 -12
- package/dist/components/Label/Label.mjs +22 -2
- package/dist/components/Map/MapView.mjs +141 -40
- package/dist/components/Map/placePicture.mjs +16 -0
- package/dist/core/geo-detect.mjs +10 -4
- package/dist/core/geo.mjs +48 -11
- package/dist/i18n/locales/en.json.mjs +1 -1
- package/dist/i18n/locales/es.json.mjs +1 -1
- package/dist/i18n/locales/fi.json.mjs +1 -1
- package/dist/i18n/locales/fr.json.mjs +1 -1
- package/dist/i18n/locales/it.json.mjs +1 -1
- package/dist/i18n/locales/ja.json.mjs +1 -1
- package/dist/i18n/locales/nb.json.mjs +1 -1
- package/dist/i18n/locales/nn.json.mjs +1 -1
- package/dist/i18n/locales/no.json.mjs +1 -1
- package/dist/i18n/locales/pt.json.mjs +1 -1
- package/dist/i18n/locales/zh-Hans.json.mjs +1 -1
- package/dist/i18n/locales/zh-Hant.json.mjs +1 -1
- package/dist/index.d.mts +16 -2
- package/dist/map/index.d.mts +7 -1
- package/dist/spacing.css +1 -1
- package/dist/styles/core.css +1 -1
- package/dist/styles/default.css +1 -1
- package/dist/styles/map.css +1 -1
- package/dist/styles/split.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/default/Default.mjs +1 -0
- package/dist/ui/controlGlyphs.mjs +2 -2
- package/dist/ui/sheets/map.mjs +1 -1
- package/dist/web-components/About-BBhina2G.mjs +1 -0
- package/dist/web-components/{AnnotationItems-vwOrc2LC.mjs → AnnotationItems-ixjSW8yC.mjs} +1 -1
- package/dist/web-components/{AnnotationMenu-DEbZR6u5.mjs → AnnotationMenu-By2y_30w.mjs} +1 -1
- package/dist/web-components/{AnnotationState-CHI2fYVb.mjs → AnnotationState-B6FRNt_k.mjs} +1 -1
- package/dist/web-components/{Annotations-DelBDbuL.mjs → Annotations-Y5LoB9VS.mjs} +1 -1
- package/dist/web-components/{Annotations-DvLurCSg.mjs → Annotations-ulJZljFP.mjs} +1 -1
- package/dist/web-components/{Body-eYyY_zlC.mjs → Body-BKdgKqQH.mjs} +1 -1
- package/dist/web-components/{BodyAlert-DeoEp76n.mjs → BodyAlert-Bc8OjERW.mjs} +1 -1
- package/dist/web-components/{Button-M-Lskr_F.mjs → Button-Dh8tcsM0.mjs} +1 -1
- package/dist/web-components/{Camera-Z7dN1HO1.mjs → Camera-e5pZW5l9.mjs} +1 -1
- package/dist/web-components/{Canvas2DBackend-BqkQkUat.mjs → Canvas2DBackend-CyJf0y1M.mjs} +1 -1
- package/dist/web-components/CanvasView-H-adU7o_.mjs +2 -0
- package/dist/web-components/{CaptionDetails-D9OrUqvi.mjs → CaptionDetails-F6h2wWBc.mjs} +1 -1
- package/dist/web-components/{ChaptersMenu-PjHy5-zS.mjs → ChaptersMenu-liO4U8ui.mjs} +1 -1
- package/dist/web-components/{Chevron-lIH5boXF.mjs → Chevron-BNo5Q2aq.mjs} +1 -1
- package/dist/web-components/{ChoiceMenu-Coknxzkh.mjs → ChoiceMenu-Cvy5dTot.mjs} +1 -1
- package/dist/web-components/{Collection-DfWwFkgY.mjs → Collection-DiFz-jee.mjs} +1 -1
- package/dist/web-components/{CollectionSelect-CYa0N09G.mjs → CollectionSelect-C_g2Fe1a.mjs} +1 -1
- package/dist/web-components/{Connected-tpnive3y.mjs → Connected-CWghNEmk.mjs} +1 -1
- package/dist/web-components/{Connected-Dy4Fjp_-.mjs → Connected-D9KwnUYu.mjs} +1 -1
- package/dist/web-components/{Connected-CkrBE4v-.mjs → Connected-UFJ9HAdm.mjs} +1 -1
- package/dist/web-components/Contents-BNcywDyx.mjs +1 -0
- package/dist/web-components/{ControlMenu-DARWTFzU.mjs → ControlMenu-MLBcT_vr.mjs} +1 -1
- package/dist/web-components/ControlsFade-Bizly8sa.mjs +1 -0
- package/dist/web-components/{CountMenu-DNkuen7t.mjs → CountMenu-gdNdHeAS.mjs} +1 -1
- package/dist/web-components/Cue-D_qssa2V.mjs +1 -0
- package/dist/web-components/Document-yh-X-UO2.mjs +1 -0
- package/dist/web-components/{DomLayers-B0tKZUWz.mjs → DomLayers-Bd10mvx8.mjs} +1 -1
- package/dist/web-components/{Download-CVmsdUyH.mjs → Download-rt8mrS37.mjs} +1 -1
- package/dist/web-components/{EntryBodies-BrGtXUx4.mjs → EntryBodies-qgESmAus.mjs} +1 -1
- package/dist/web-components/EntryThumbnail-aB6t0QY7.mjs +1 -0
- package/dist/web-components/{FieldPill-Dr-7bigM.mjs → FieldPill-JFwwrqWO.mjs} +1 -1
- package/dist/web-components/FrameAnimation-Ca1Pk7qj.mjs +1 -0
- package/dist/web-components/{Gallery-BI_p4a2m.mjs → Gallery-C1Ewonpl.mjs} +1 -1
- package/dist/web-components/{GlobeGlyph-Bo56m375.mjs → GlobeGlyph-vFbGlcLV.mjs} +1 -1
- package/dist/web-components/{HideToggle-COFq37Jg.mjs → HideToggle-4Lf9xVTa.mjs} +1 -1
- package/dist/web-components/{ImageControls-DQwLWsTL.mjs → ImageControls-Cp0A9tPX.mjs} +1 -1
- package/dist/web-components/Items-Doy0J7Ux.mjs +1 -0
- package/dist/web-components/{ItemsVertical-Dv3gKZJ2.mjs → ItemsVertical-zBM4RrGw.mjs} +1 -1
- package/dist/web-components/Label-DB3g0INN.mjs +1 -0
- package/dist/web-components/{LanguageChoice-DTNAjTpR.mjs → LanguageChoice-wwjVQRmA.mjs} +1 -1
- package/dist/web-components/{LanguageMenu-DViT7hCI.mjs → LanguageMenu-kKZz7poC.mjs} +1 -1
- package/dist/web-components/{LightboxView-DUEAuXcS.mjs → LightboxView-ftwkLwrJ.mjs} +1 -1
- package/dist/web-components/{ListEnd-Ccc_v93N.mjs → ListEnd-Du_798h9.mjs} +1 -1
- package/dist/web-components/{Loaded-DlWNFC49.mjs → Loaded-ByZZ-qYa.mjs} +1 -1
- package/dist/web-components/{LoadedCanvas-BU03onyH.mjs → LoadedCanvas-BrMlbUZj.mjs} +1 -1
- package/dist/web-components/LoadedMap-kBEd97zG.mjs +1 -0
- package/dist/web-components/{Loading-1cRP8fn5.mjs → Loading-DTE24hmb.mjs} +1 -1
- package/dist/web-components/Map-BznyNYpR.mjs +1 -0
- package/dist/web-components/MapView-BnB09keO.mjs +3 -0
- package/dist/web-components/{Markup-23-Aibht.mjs → Markup-DpisaBAv.mjs} +1 -1
- package/dist/web-components/MediaBody-BciN7i_p.mjs +1 -0
- package/dist/web-components/{MediaBody-dXy6NIcq.mjs → MediaBody-GJYCIKKh.mjs} +1 -1
- package/dist/web-components/{NavDate-DT_7gQEE.mjs → NavDate-Bgz3c5GY.mjs} +1 -1
- package/dist/web-components/{Navigator-COqGN-K4.mjs → Navigator-kdzuaGZ3.mjs} +1 -1
- package/dist/web-components/{Pager-DY6QIfJo.mjs → Pager-CLTw7uPB.mjs} +1 -1
- package/dist/web-components/{PagerLayout-CXSF9P8N.mjs → PagerLayout-Ce7YXoX-.mjs} +1 -1
- package/dist/web-components/Panel-CUH9brlN.mjs +1 -0
- package/dist/web-components/PanelPart-DUT_EYSr.mjs +1 -0
- package/dist/web-components/{PanelToggle-D9JBD6t1.mjs → PanelToggle-DbiKKtrJ.mjs} +1 -1
- package/dist/web-components/PartOfManifest-Df1eY2K1.mjs +1 -0
- package/dist/web-components/{Pending-BsqpZMEF.mjs → Pending-DYk0BE3F.mjs} +1 -1
- package/dist/web-components/PlaceBox-O88VA7H8.mjs +1 -0
- package/dist/web-components/Placeholder-DmXW9CPP.mjs +1 -0
- package/dist/web-components/{Position-qHH_2RQA.mjs → Position-D7KEsDvf.mjs} +1 -1
- package/dist/web-components/Primitives-CNiASHFF.mjs +1 -0
- package/dist/web-components/Provider-DnJAJHRK.mjs +1 -0
- package/dist/web-components/{ReadMore-Trj9tAw5.mjs → ReadMore-UB3ZsYTS.mjs} +1 -1
- package/dist/web-components/{Root-DIfyZZ9O.mjs → Root-6ACRHIvO.mjs} +1 -1
- package/dist/web-components/Scene-BWWpIp5i.mjs +1 -0
- package/dist/web-components/{SceneView-B7Zrpafx.mjs → SceneView-BKtxkOM3.mjs} +1 -1
- package/dist/web-components/{Search-DhsZJhFF.mjs → Search-CryKgttq.mjs} +1 -1
- package/dist/web-components/{Sections-EpYlUFGL.mjs → Sections-BYdISeOX.mjs} +1 -1
- package/dist/web-components/{SeekMarks-C0NHUzE_.mjs → SeekMarks-DTazLy01.mjs} +1 -1
- package/dist/web-components/{StandaloneItems-cmPpspAM.mjs → StandaloneItems-Bro9DLh-.mjs} +1 -1
- package/dist/web-components/{Status-BeDk5zEi.mjs → Status-BtQ3Lqc9.mjs} +1 -1
- package/dist/web-components/{Steps-BDB0OPKa.mjs → Steps-BlSuRZ-G.mjs} +1 -1
- package/dist/web-components/{TargetItems-DHcGeFqU.mjs → TargetItems-BJUccJfF.mjs} +1 -1
- package/dist/web-components/Timeline-BmgF1gai.mjs +1 -0
- package/dist/web-components/{Tip-PBxp-ONQ.mjs → Tip-B8n5Kjqv.mjs} +1 -1
- package/dist/web-components/{Transcript-DbhV6Vxo.mjs → Transcript-CwvckoND.mjs} +1 -1
- package/dist/web-components/Transport-Cm1pHOJa.mjs +1 -0
- package/dist/web-components/{Transport-wJNLFRXZ.mjs → Transport-DmXWNiJV.mjs} +1 -1
- package/dist/web-components/annotation-collection-CQ-BJLMc.mjs +1 -0
- package/dist/web-components/{annotation-name-DCHYfYjG.mjs → annotation-name-QYiS95M_.mjs} +1 -1
- package/dist/web-components/{annotations-content-CLVJE9-j.mjs → annotations-content-NdLfsk2q.mjs} +1 -1
- package/dist/web-components/{body-DY6_Kb7A.mjs → body-DHQxq2z0.mjs} +1 -1
- package/dist/web-components/{canvas-BsmSDfXr.mjs → canvas-Dbx-77OG.mjs} +1 -1
- package/dist/web-components/{cloverEngine-xAanVNmS.mjs → cloverEngine-Bh3k15LZ.mjs} +1 -1
- package/dist/web-components/{viewer/content-state-reader-CIVUq8ar.mjs → content-state-reader-BZSYqMJ7.mjs} +1 -1
- package/dist/web-components/{controlGlyphs-LR_viOPR.mjs → controlGlyphs-3GULDog9.mjs} +1 -1
- package/dist/web-components/{controls-CSwaU0O6.mjs → controls-kvloQJj2.mjs} +1 -1
- package/dist/web-components/custom-elements.json +9 -1
- package/dist/web-components/downloads-D4s3htw7.mjs +1 -0
- package/dist/web-components/{dragToClose-BXoYlfWj.mjs → dragToClose-DrW90oMa.mjs} +1 -1
- package/dist/web-components/{engine-Codq0RYR.mjs → engine-BIWYzj9q.mjs} +1 -1
- package/dist/web-components/{engines-kj0OVyAK.mjs → engines-BmbSBhjU.mjs} +1 -1
- package/dist/web-components/{es-Czdt8By_.mjs → es-DRRI3WDi.mjs} +1 -1
- package/dist/web-components/fetchManifest-DXSuJeLM.mjs +1 -0
- package/dist/web-components/{fi-RWtClOWA.mjs → fi-BmlZ-U-4.mjs} +1 -1
- package/dist/web-components/follow-content-auD0I2Nd.mjs +1 -0
- package/dist/web-components/{fr-CFRY9P3c.mjs → fr-k93P7lwp.mjs} +1 -1
- package/dist/web-components/{fromManifest-Bzpc1R9t.mjs → fromManifest-CdeuDtuO.mjs} +1 -1
- package/dist/web-components/geo-detect-D5AXivx8.mjs +1 -0
- package/dist/web-components/glyphs-BVPhaq44.mjs +1 -0
- package/dist/web-components/{hooks-CAA2UpX_.mjs → hooks-C0LNj0ea.mjs} +1 -1
- package/dist/web-components/image-layers-DzwVP7WA.mjs +1 -0
- package/dist/web-components/{image-service-content-Rn8Tl4Hk.mjs → image-service-content-CZwoPXfe.mjs} +1 -1
- package/dist/web-components/{imageService-BBwzg9uY.mjs → imageService-BCrg9Uyo.mjs} +1 -1
- package/dist/web-components/{index-BujnlXi0.mjs → index-BA7fKawM.mjs} +1 -1
- package/dist/web-components/index.mjs +1 -1
- package/dist/web-components/{it-D_Hb0t9G.mjs → it-DEzCslib.mjs} +1 -1
- package/dist/web-components/items-BpimvRRq.mjs +1 -0
- package/dist/web-components/items-C7mdtSGR.mjs +1 -0
- package/dist/web-components/{ja-BoJ9dFmn.mjs → ja-BDKsn1vT.mjs} +1 -1
- package/dist/web-components/label-BQxfuivB.mjs +1 -0
- package/dist/web-components/layout-DSxI5Mzd.mjs +1 -0
- package/dist/web-components/link-DZAIqASM.mjs +1 -0
- package/dist/web-components/logo-CQokQEbF.mjs +1 -0
- package/dist/web-components/models-GZeNnoc0.mjs +1 -0
- package/dist/web-components/{no-B43QGinl.mjs → nb-Cyf1RkZ8.mjs} +1 -1
- package/dist/web-components/{nn-BmkkC79H.mjs → nn-CzczXFxL.mjs} +1 -1
- package/dist/web-components/{nb-B43QGinl.mjs → no-Cyf1RkZ8.mjs} +1 -1
- package/dist/web-components/{nodes-CDVV_37U.mjs → nodes-DgJ1Y0ql.mjs} +1 -1
- package/dist/web-components/overlayImage-CDpjGK3p.mjs +1 -0
- package/dist/web-components/{panel-DhzvJaxa.mjs → panel-D0ihN4Yg.mjs} +1 -1
- package/dist/web-components/part-CT8rMbqQ.mjs +1 -0
- package/dist/web-components/placePicture-DH51gowj.mjs +1 -0
- package/dist/web-components/{playerSurface-BxtfijMA.mjs → playerSurface-B4r18_Sh.mjs} +1 -1
- package/dist/web-components/{pointer-DWmL4uP7.mjs → pointer-ACmsWSTU.mjs} +1 -1
- package/dist/web-components/{provider-BziMOPSN.mjs → provider-BSqLpfoT.mjs} +1 -1
- package/dist/web-components/{pt-BbtIGupi.mjs → pt-Bx2G8tAe.mjs} +1 -1
- package/dist/web-components/range-regions-CFzuyC2x.mjs +1 -0
- package/dist/web-components/{read-more-DdhUDS2g.mjs → read-more-CT9mZ4NJ.mjs} +1 -1
- package/dist/web-components/{readingLanguages-CtdxDxbb.mjs → readingLanguages-Bm51Uo8l.mjs} +1 -1
- package/dist/web-components/{rendererSurface-B6BzhEeK.mjs → rendererSurface-C5m7KyMK.mjs} +2 -2
- package/dist/web-components/{renderers-BmoCXuIv.mjs → renderers-DqOPIccG.mjs} +1 -1
- package/dist/web-components/{resource-BjumsIsL.mjs → resource-CdnESvV9.mjs} +1 -1
- package/dist/web-components/{save-file-BCXU9sr5.mjs → save-file-12iPPQyl.mjs} +1 -1
- package/dist/web-components/search-BOcQWXXc.mjs +1 -0
- package/dist/web-components/shared-xNidXfMd.mjs +1 -0
- package/dist/web-components/{show-link-DG3TQzXI.mjs → show-link-CpmbC72n.mjs} +1 -1
- package/dist/web-components/{split-C_xPhLhD.mjs → split-crk5o-eb.mjs} +1 -1
- package/dist/web-components/{status-BesMKiXg.mjs → status-DoFsFCOb.mjs} +1 -1
- package/dist/web-components/styles-DN-wttmX.mjs +1 -0
- package/dist/web-components/three.mjs +1 -1
- package/dist/web-components/thumbnail-BxTYGSjc.mjs +1 -0
- package/dist/web-components/{tip-UheLXik6.mjs → tip-BdgOVBey.mjs} +1 -1
- package/dist/web-components/{toggle-Bl0NKbUx.mjs → toggle-CxlScMN7.mjs} +1 -1
- package/dist/web-components/{useContainerName-CDABwGvV.mjs → useContainerName-C7EZNnlj.mjs} +1 -1
- package/dist/web-components/{useControlsVisibility-Dpl7D0m0.mjs → useControlsVisibility-9PkGzYK3.mjs} +1 -1
- package/dist/web-components/{useNearViewport-C_3U4CAr.mjs → useNearViewport-C8Y9tbrm.mjs} +1 -1
- package/dist/web-components/{useScrollTrack-QFtFpyV3.mjs → useScrollTrack-C0Ef5b-M.mjs} +1 -1
- package/dist/web-components/viewer/{AnnotationItems-FXIoYk9T.mjs → AnnotationItems-C869mTYV.mjs} +1 -1
- package/dist/web-components/viewer/{AnnotationMenu-nlFTIjg6.mjs → AnnotationMenu-BdkH82NQ.mjs} +1 -1
- package/dist/web-components/viewer/{AnnotationState-Diacn0Xk.mjs → AnnotationState-CU298l_b.mjs} +1 -1
- package/dist/web-components/viewer/{Annotations-Bs94MQmn.mjs → Annotations-BY8QDb9l.mjs} +1 -1
- package/dist/web-components/viewer/{Annotations-CAmFWoUj.mjs → Annotations-IaKX8BQB.mjs} +1 -1
- package/dist/web-components/viewer/{Canvas2DBackend-BztBm6yM.mjs → Canvas2DBackend-DuUL7Wn0.mjs} +1 -1
- package/dist/web-components/viewer/CaptionDetails-CnzK-9IJ.mjs +1 -0
- package/dist/web-components/viewer/{ChaptersMenu-hOyR7aOL.mjs → ChaptersMenu-6Mu_YuaY.mjs} +1 -1
- package/dist/web-components/viewer/{ChoiceMenu-Dq4FBYhi.mjs → ChoiceMenu-9EZhHBEq.mjs} +1 -1
- package/dist/web-components/viewer/{Collection-XZzrypzP.mjs → Collection-C_iaTy8f.mjs} +1 -1
- package/dist/web-components/viewer/{Connected-nHyQM-64.mjs → Connected-CEfEDzWJ.mjs} +1 -1
- package/dist/web-components/viewer/{Connected-BKk80iCZ.mjs → Connected-DSMZIn9R.mjs} +1 -1
- package/dist/web-components/viewer/{Contents-0FL0Dr2p.mjs → Contents-fAlVCKr5.mjs} +1 -1
- package/dist/web-components/viewer/{ControlMenu-BRUWyNEi.mjs → ControlMenu-Chi1pBFc.mjs} +1 -1
- package/dist/web-components/viewer/ControlsFade-DguyDuyM.mjs +1 -0
- package/dist/web-components/viewer/{CountMenu-BxdPpin6.mjs → CountMenu-BCeHt01J.mjs} +1 -1
- package/dist/web-components/viewer/Cue-B2yHzH0v.mjs +1 -0
- package/dist/web-components/viewer/{Document-CN5l-m01.mjs → Document-DfTuEc9K.mjs} +1 -1
- package/dist/web-components/viewer/{DomLayers-CvZPZjNg.mjs → DomLayers-kMBbOAxJ.mjs} +1 -1
- package/dist/web-components/viewer/{Download-B9UuJ9wY.mjs → Download-odx1XL-v.mjs} +1 -1
- package/dist/web-components/viewer/{EntryBodies-BNtItsOn.mjs → EntryBodies-DudDcNik.mjs} +1 -1
- package/dist/web-components/viewer/{EntryThumbnail-BQepnfmY.mjs → EntryThumbnail-B6QXKl4_.mjs} +1 -1
- package/dist/web-components/viewer/{FieldPill-D0efaqWg.mjs → FieldPill-McMG7d8J.mjs} +1 -1
- package/dist/web-components/viewer/{FrameAnimation-C5bLeZc9.mjs → FrameAnimation-nvSxSZXx.mjs} +1 -1
- package/dist/web-components/viewer/{Gallery-BuhT4BOj.mjs → Gallery-C1_u4G-E.mjs} +1 -1
- package/dist/web-components/viewer/{GlobeGlyph-B1Q5TIaT.mjs → GlobeGlyph-CCLt6oJP.mjs} +1 -1
- package/dist/web-components/viewer/{HideToggle-Dh4AUuX3.mjs → HideToggle-Ce11kbAX.mjs} +1 -1
- package/dist/web-components/viewer/{ImageControls-ClVI428k.mjs → ImageControls-D91KmrS3.mjs} +1 -1
- package/dist/web-components/viewer/{ItemsVertical-BRiKuRL-.mjs → ItemsVertical-FjomG7wy.mjs} +1 -1
- package/dist/web-components/viewer/{LanguageChoice-BTUONm8l.mjs → LanguageChoice-DK0ITQY4.mjs} +1 -1
- package/dist/web-components/viewer/{LanguageMenu-NDTTmazt.mjs → LanguageMenu-BAoT1XAX.mjs} +1 -1
- package/dist/web-components/viewer/{LightboxView-DMTkdJB6.mjs → LightboxView-DOx6IfvN.mjs} +1 -1
- package/dist/web-components/viewer/{ListEnd-D2sYRngp.mjs → ListEnd-CXsCFPMc.mjs} +1 -1
- package/dist/web-components/viewer/MapView-BsDJtLAk.mjs +3 -0
- package/dist/web-components/viewer/{MediaBody-qOIVDdNm.mjs → MediaBody-Cg4ARhwy.mjs} +1 -1
- package/dist/web-components/viewer/{MediaBody-CepsC09h.mjs → MediaBody-DsMNbnTU.mjs} +1 -1
- package/dist/web-components/viewer/{NavDate-Co0A4bkP.mjs → NavDate-rmVMLVIA.mjs} +1 -1
- package/dist/web-components/viewer/{Navigator-Dyf2F7fU.mjs → Navigator-Dh-a5-GN.mjs} +1 -1
- package/dist/web-components/viewer/{PagerLayout-nnWJump4.mjs → PagerLayout-COLqXCRw.mjs} +1 -1
- package/dist/web-components/viewer/PanelPart-Dai61xLE.mjs +1 -0
- package/dist/web-components/viewer/{PartOfManifest-7z0GBIsk.mjs → PartOfManifest-D1iufWAj.mjs} +1 -1
- package/dist/web-components/viewer/PlaceBox-CINvMgWh.mjs +1 -0
- package/dist/web-components/viewer/{Placeholder-DF1FFSpC.mjs → Placeholder-Biz7HHCE.mjs} +1 -1
- package/dist/web-components/viewer/{Search-BSK3yFqw.mjs → Search-FbVd9LpP.mjs} +1 -1
- package/dist/web-components/viewer/{SeekMarks-267Lxpeb.mjs → SeekMarks-Bd08UMXC.mjs} +1 -1
- package/dist/web-components/viewer/{StandaloneItems-Cv4dGiJh.mjs → StandaloneItems-ByJy-Mo8.mjs} +1 -1
- package/dist/web-components/viewer/{Steps-C1BHjJsE.mjs → Steps-BWbZzM2H.mjs} +1 -1
- package/dist/web-components/viewer/{TargetItems-CBsfkmeg.mjs → TargetItems-DOtPfQtV.mjs} +1 -1
- package/dist/web-components/viewer/{Transcript-BBtNC39n.mjs → Transcript-DccBh_ne.mjs} +1 -1
- package/dist/web-components/viewer/{Transport-DXFW6beP.mjs → Transport-Cb5zCNgN.mjs} +1 -1
- package/dist/web-components/viewer/{Transport-BZB1ZAvP.mjs → Transport-DTPfFgtA.mjs} +1 -1
- package/dist/web-components/viewer/{annotation-collection-BcDJ7GZv.mjs → annotation-collection-_3io5Bjz.mjs} +1 -1
- package/dist/web-components/viewer/{annotation-name-CPXHHlGo.mjs → annotation-name-DV96qLy_.mjs} +1 -1
- package/dist/web-components/viewer/{annotations-content-Cb7_aoII.mjs → annotations-content-O8srMa2_.mjs} +1 -1
- package/dist/web-components/viewer/{cloverEngine-CX9s9-Uu.mjs → cloverEngine-Dm0m8BNg.mjs} +1 -1
- package/dist/web-components/viewer/content-state-reader-DZhx2OxK.mjs +1 -0
- package/dist/web-components/viewer/{dragToClose-BGb6fAd6.mjs → dragToClose-BrUDwA_c.mjs} +1 -1
- package/dist/web-components/viewer/{fetchManifest-D8zizfoi.mjs → fetchManifest-C7HrStJ2.mjs} +1 -1
- package/dist/web-components/viewer/{follow-content-BOcIhHhz.mjs → follow-content-DplyQT1g.mjs} +1 -1
- package/dist/web-components/viewer/{host-CNGrorb7.mjs → host-BqYiw4PF.mjs} +1 -1
- package/dist/web-components/viewer/{image-layers-DGdl54CF.mjs → image-layers-BNSL4PGS.mjs} +1 -1
- package/dist/web-components/viewer/{image-service-content-DpXbrUuI.mjs → image-service-content-Bs3jtvh5.mjs} +1 -1
- package/dist/web-components/viewer/index.mjs +1 -1
- package/dist/web-components/viewer/{link-CwQzXqUe.mjs → link-B-CqoY52.mjs} +1 -1
- package/dist/web-components/viewer/{overlayImage-DtyovrNi.mjs → overlayImage-B9WbeUxW.mjs} +1 -1
- package/dist/web-components/viewer/placePicture-BrnrnHMa.mjs +1 -0
- package/dist/web-components/viewer/{range-regions-iACwlawo.mjs → range-regions-BFWHKv3i.mjs} +1 -1
- package/dist/web-components/viewer/{renderers-DUD0Xleg.mjs → renderers-D7gh2mXP.mjs} +1 -1
- package/dist/web-components/viewer/{save-file-Z6klARC7.mjs → save-file-DImt0i6t.mjs} +1 -1
- package/dist/web-components/viewer/{search-TNACVRnK.mjs → search-D-pqH7Ys.mjs} +1 -1
- package/dist/web-components/viewer/styles-BvYBVDBK.mjs +1 -0
- package/dist/web-components/viewer/{useControlsVisibility-C-Af-o1n.mjs → useControlsVisibility-Cehuan1d.mjs} +1 -1
- package/dist/web-components/viewer/viewer-D1qPD9xX.mjs +29 -0
- package/dist/web-components/viewer/{vtt-DLGuRf3w.mjs → vtt-DYzon3yt.mjs} +1 -1
- package/dist/web-components/{viewer-Br37L21l.mjs → viewer-KTpprzfJ.mjs} +1 -1
- package/dist/web-components/{vtt-DnFNzhne.mjs → vtt-VqUamaGu.mjs} +1 -1
- package/dist/web-components/{zh-Hans-BAFQ7Pft.mjs → zh-Hans-Dfs9s_bI.mjs} +1 -1
- package/dist/web-components/{zh-Hant-DS7iN4iO.mjs → zh-Hant-Dk8wlKuD.mjs} +1 -1
- package/package.json +1 -1
- package/dist/web-components/About-Cb0IP45J.mjs +0 -1
- package/dist/web-components/CanvasView-DC9Zf7Tn.mjs +0 -2
- package/dist/web-components/Contents-JgQb97do.mjs +0 -1
- package/dist/web-components/ControlsFade-DXN4_Kcr.mjs +0 -1
- package/dist/web-components/Cue-CcxumEor.mjs +0 -1
- package/dist/web-components/Document-74sHCl40.mjs +0 -1
- package/dist/web-components/EntryThumbnail-DZPp7vk8.mjs +0 -1
- package/dist/web-components/FrameAnimation-Dr4lStqa.mjs +0 -1
- package/dist/web-components/Items-Co-0SKPW.mjs +0 -1
- package/dist/web-components/Label-BGPmD5NF.mjs +0 -1
- package/dist/web-components/LoadedMap-Qernkf9V.mjs +0 -1
- package/dist/web-components/Map-DdcDYjzX.mjs +0 -1
- package/dist/web-components/MapView-BW4dD40Q.mjs +0 -3
- package/dist/web-components/MediaBody-C37X6xTP.mjs +0 -1
- package/dist/web-components/Panel-Dj_tQ89q.mjs +0 -1
- package/dist/web-components/PanelPart-BPWf5byV.mjs +0 -1
- package/dist/web-components/PartOfManifest-14dPnF-N.mjs +0 -1
- package/dist/web-components/PlaceBox-B_OXZC8S.mjs +0 -1
- package/dist/web-components/Placeholder-BBjY81nx.mjs +0 -1
- package/dist/web-components/Primitives-3boP2HT0.mjs +0 -1
- package/dist/web-components/Provider-laA0MWws.mjs +0 -1
- package/dist/web-components/Scene-DGLalXcX.mjs +0 -1
- package/dist/web-components/Timeline-DWhKhdYb.mjs +0 -1
- package/dist/web-components/Transport-BtIKsYml.mjs +0 -1
- package/dist/web-components/annotation-collection-DA_XNrVM.mjs +0 -1
- package/dist/web-components/content-state-reader-CHLSQAIO.mjs +0 -1
- package/dist/web-components/downloads-UWzv4fZU.mjs +0 -1
- package/dist/web-components/fetchManifest-Cw6_bmlS.mjs +0 -1
- package/dist/web-components/follow-content-DcFvV4qy.mjs +0 -1
- package/dist/web-components/glyphs-BuGNvvP-.mjs +0 -1
- package/dist/web-components/image-layers-DhYm73Ju.mjs +0 -1
- package/dist/web-components/items-CD8kE1Gd.mjs +0 -1
- package/dist/web-components/items-DjWXCG9C.mjs +0 -1
- package/dist/web-components/label-CssXf-do.mjs +0 -1
- package/dist/web-components/layout-CwH0NLMY.mjs +0 -1
- package/dist/web-components/link-Ujj3Xhp2.mjs +0 -1
- package/dist/web-components/logo-Bd8fSMYN.mjs +0 -1
- package/dist/web-components/models-CxmIV7Mb.mjs +0 -1
- package/dist/web-components/overlayImage-T6FKPFQJ.mjs +0 -1
- package/dist/web-components/part-D1ZpOfJ5.mjs +0 -1
- package/dist/web-components/range-regions-V0yKxXzo.mjs +0 -1
- package/dist/web-components/search-Bn5kscQv.mjs +0 -1
- package/dist/web-components/shared-pIVPxZLY.mjs +0 -1
- package/dist/web-components/sizedImage-CagzYSJ_.mjs +0 -1
- package/dist/web-components/styles-BU6g0i7W.mjs +0 -1
- package/dist/web-components/thumbnail-bCaBWTkt.mjs +0 -1
- package/dist/web-components/viewer/CaptionDetails-lhSoA0rU.mjs +0 -1
- package/dist/web-components/viewer/ControlsFade-9CrQlxNq.mjs +0 -1
- package/dist/web-components/viewer/Cue-B75D4FgX.mjs +0 -1
- package/dist/web-components/viewer/MapView-WwJmyeZr.mjs +0 -3
- package/dist/web-components/viewer/PanelPart-D479R8OK.mjs +0 -1
- package/dist/web-components/viewer/PlaceBox-Icavvsim.mjs +0 -1
- package/dist/web-components/viewer/styles-CLp9tx_B.mjs +0 -1
- package/dist/web-components/viewer/viewer-7dcL5wmD.mjs +0 -29
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { CollapseMap, ExpandMap, Close } from "../Body/glyphs.mjs";
|
|
4
5
|
import { GivenMap } from "../Map/MapView.mjs";
|
|
6
|
+
import { canvasGeoreferences } from "../../core/geo.mjs";
|
|
5
7
|
import Button from "../../ui/Button.mjs";
|
|
6
8
|
import { useCloverTranslation } from "../../i18n/useCloverTranslation.mjs";
|
|
7
9
|
import { localize } from "../../core/value.mjs";
|
|
@@ -13,11 +15,21 @@ function PlaceBox({
|
|
|
13
15
|
id,
|
|
14
16
|
open,
|
|
15
17
|
onClose,
|
|
18
|
+
swapped = false,
|
|
19
|
+
onSwap,
|
|
16
20
|
feature,
|
|
17
21
|
name,
|
|
22
|
+
canvases,
|
|
23
|
+
owner,
|
|
18
24
|
language
|
|
19
25
|
}) {
|
|
20
26
|
const { t, langOf } = useCloverTranslation();
|
|
27
|
+
const overlays = useMemo(
|
|
28
|
+
() => (canvases ?? []).flatMap(
|
|
29
|
+
(canvas) => canvasGeoreferences(canvas)
|
|
30
|
+
),
|
|
31
|
+
[canvases]
|
|
32
|
+
);
|
|
21
33
|
useOneOpen(open, () => onClose(false));
|
|
22
34
|
const heading = localize(name, language);
|
|
23
35
|
const fallback = useContainerName(
|
|
@@ -30,6 +42,7 @@ function PlaceBox({
|
|
|
30
42
|
{
|
|
31
43
|
className: "clover-canvas-caption clover-canvas-place",
|
|
32
44
|
"data-open": open,
|
|
45
|
+
"data-swapped": swapped || void 0,
|
|
33
46
|
"data-testid": "clover-canvas-place",
|
|
34
47
|
id,
|
|
35
48
|
role: "group",
|
|
@@ -42,17 +55,29 @@ function PlaceBox({
|
|
|
42
55
|
onClose(true);
|
|
43
56
|
},
|
|
44
57
|
children: [
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
/* @__PURE__ */ jsxs("div", { className: "clover-canvas-place-actions", children: [
|
|
59
|
+
onSwap && /* @__PURE__ */ jsx(
|
|
60
|
+
Button,
|
|
61
|
+
{
|
|
62
|
+
id: `swap-${id}`,
|
|
63
|
+
label: t(swapped ? "mapCollapse" : "mapExpand"),
|
|
64
|
+
lang: langOf(swapped ? "mapCollapse" : "mapExpand"),
|
|
65
|
+
onClick: onSwap,
|
|
66
|
+
children: swapped ? /* @__PURE__ */ jsx(CollapseMap, {}) : /* @__PURE__ */ jsx(ExpandMap, {})
|
|
67
|
+
}
|
|
68
|
+
),
|
|
69
|
+
/* @__PURE__ */ jsx(
|
|
70
|
+
Button,
|
|
71
|
+
{
|
|
72
|
+
className: "clover-canvas-caption-close",
|
|
73
|
+
id: `close-${id}`,
|
|
74
|
+
label: t("commonClose"),
|
|
75
|
+
lang: langOf("commonClose"),
|
|
76
|
+
onClick: () => onClose(true),
|
|
77
|
+
children: /* @__PURE__ */ jsx(Close, {})
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
] }),
|
|
56
81
|
fallback.node,
|
|
57
82
|
heading.text && /* @__PURE__ */ jsx(
|
|
58
83
|
"p",
|
|
@@ -67,6 +92,9 @@ function PlaceBox({
|
|
|
67
92
|
GivenMap,
|
|
68
93
|
{
|
|
69
94
|
navPlace: feature,
|
|
95
|
+
overlays,
|
|
96
|
+
owner,
|
|
97
|
+
reframe: swapped,
|
|
70
98
|
forwardedRef: null,
|
|
71
99
|
landmark: false,
|
|
72
100
|
list: false,
|
|
@@ -8,7 +8,14 @@ import { join } from "../../lib/classnames.mjs";
|
|
|
8
8
|
import { useOptionalCloverSelector, useOptionalClover } from "../../react/context.mjs";
|
|
9
9
|
import { useProvider } from "../Primitives/resource.mjs";
|
|
10
10
|
import { languageProps } from "../../i18n/direction.mjs";
|
|
11
|
-
const Label = forwardRef(function Label2({
|
|
11
|
+
const Label = forwardRef(function Label2({
|
|
12
|
+
of = "manifest",
|
|
13
|
+
label,
|
|
14
|
+
as: Tag = "span",
|
|
15
|
+
keep = false,
|
|
16
|
+
className,
|
|
17
|
+
...rest
|
|
18
|
+
}, ref) {
|
|
12
19
|
var _a;
|
|
13
20
|
const fromRoot = useOptionalCloverSelector(
|
|
14
21
|
(state) => {
|
|
@@ -23,7 +30,20 @@ const Label = forwardRef(function Label2({ of = "manifest", label, as: Tag = "sp
|
|
|
23
30
|
label ?? (provider ? provider.label : fromRoot),
|
|
24
31
|
language
|
|
25
32
|
);
|
|
26
|
-
if (!text)
|
|
33
|
+
if (!text) {
|
|
34
|
+
if (!keep) return null;
|
|
35
|
+
return /* @__PURE__ */ jsx(
|
|
36
|
+
Tag,
|
|
37
|
+
{
|
|
38
|
+
ref,
|
|
39
|
+
className: join("clover-label", className),
|
|
40
|
+
"data-empty": "",
|
|
41
|
+
...rest,
|
|
42
|
+
"aria-hidden": "true",
|
|
43
|
+
children: " "
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
27
47
|
return /* @__PURE__ */ jsx(
|
|
28
48
|
Tag,
|
|
29
49
|
{
|
|
@@ -5,7 +5,7 @@ import { createPortal } from "react-dom";
|
|
|
5
5
|
import { useUniqueId } from "../../ui/useUniqueId.mjs";
|
|
6
6
|
import { useHighContrast, highContrastProps } from "../../hooks/useHighContrast.mjs";
|
|
7
7
|
import { DEFAULT_STYLE_URL, applyDefaultBasemap } from "./basemap.mjs";
|
|
8
|
-
import { navPlaceOf, georeferencesOf, cornersOf, boundsOf, readGeoreference } from "../../core/geo.mjs";
|
|
8
|
+
import { navPlaceOf, georeferencesOf, pictureOf, cornersOf, boundsOf, readGeoreference } from "../../core/geo.mjs";
|
|
9
9
|
import { sendsCredentials } from "../../core/request.mjs";
|
|
10
10
|
import { selectVisibleCanvases, selectShownId } from "../../core/selectors.mjs";
|
|
11
11
|
import { localize } from "../../core/value.mjs";
|
|
@@ -20,6 +20,7 @@ import { languageProps, directionOf } from "../../i18n/direction.mjs";
|
|
|
20
20
|
import { Tip } from "../../ui/Tip.mjs";
|
|
21
21
|
import { ZoomOut, ZoomIn } from "../../ui/controlGlyphs.mjs";
|
|
22
22
|
import { Information } from "../Body/glyphs.mjs";
|
|
23
|
+
import { PICTURE_SIZE } from "../../ui/EntryThumbnail.mjs";
|
|
23
24
|
import { NavDate } from "../../ui/NavDate.mjs";
|
|
24
25
|
import { readDate } from "../../core/dates.mjs";
|
|
25
26
|
import { dateTimeOf, formatDate } from "../../core/dates-format.mjs";
|
|
@@ -109,9 +110,11 @@ const NO_IDS = /* @__PURE__ */ new Set();
|
|
|
109
110
|
function GivenMap({
|
|
110
111
|
navPlace,
|
|
111
112
|
georeferences,
|
|
113
|
+
overlays: read,
|
|
114
|
+
owner,
|
|
112
115
|
...rest
|
|
113
116
|
}) {
|
|
114
|
-
const
|
|
117
|
+
const given = useGiven(
|
|
115
118
|
navPlace,
|
|
116
119
|
(value) => navPlaceOf(
|
|
117
120
|
{
|
|
@@ -123,11 +126,22 @@ function GivenMap({
|
|
|
123
126
|
null
|
|
124
127
|
)
|
|
125
128
|
);
|
|
129
|
+
const features = useMemo(() => {
|
|
130
|
+
const picture = pictureOf(owner);
|
|
131
|
+
if (!picture) return given;
|
|
132
|
+
const thumbnail = JSON.stringify(picture);
|
|
133
|
+
return {
|
|
134
|
+
...given,
|
|
135
|
+
features: given.features.map(
|
|
136
|
+
(feature) => feature.properties.thumbnail ? feature : { ...feature, properties: { ...feature.properties, thumbnail } }
|
|
137
|
+
)
|
|
138
|
+
};
|
|
139
|
+
}, [given, owner]);
|
|
126
140
|
const overlays = useGiven(
|
|
127
141
|
georeferences,
|
|
128
142
|
(value) => (value ?? []).map((annotation) => readGeoreference(annotation)).filter((overlay) => Boolean(overlay))
|
|
129
143
|
);
|
|
130
|
-
return /* @__PURE__ */ jsx(MapView, { ...rest, features, overlays });
|
|
144
|
+
return /* @__PURE__ */ jsx(MapView, { ...rest, features, overlays: read ?? overlays });
|
|
131
145
|
}
|
|
132
146
|
function useGiven(value, read) {
|
|
133
147
|
const memo = useRef(null);
|
|
@@ -153,13 +167,14 @@ function MapView({
|
|
|
153
167
|
current,
|
|
154
168
|
activeAnnotations,
|
|
155
169
|
onHighlight,
|
|
170
|
+
reframe,
|
|
156
171
|
list = true,
|
|
157
172
|
credits = true,
|
|
158
173
|
language,
|
|
159
174
|
highContrast,
|
|
160
175
|
landmark = true,
|
|
161
176
|
overlay = true,
|
|
162
|
-
overlayOpacity =
|
|
177
|
+
overlayOpacity = 1,
|
|
163
178
|
styleUrl,
|
|
164
179
|
workerUrl,
|
|
165
180
|
scrollZoom = false,
|
|
@@ -189,20 +204,24 @@ function MapView({
|
|
|
189
204
|
onHighlight,
|
|
190
205
|
t,
|
|
191
206
|
features,
|
|
192
|
-
host: root.hostLanguage
|
|
207
|
+
host: root.hostLanguage,
|
|
208
|
+
request
|
|
193
209
|
});
|
|
194
210
|
latest.current = {
|
|
195
211
|
onSelect,
|
|
196
212
|
onHighlight,
|
|
197
213
|
t,
|
|
198
214
|
features,
|
|
199
|
-
host: root.hostLanguage
|
|
215
|
+
host: root.hostLanguage,
|
|
216
|
+
request
|
|
200
217
|
};
|
|
201
218
|
const name = useRef(
|
|
202
219
|
null
|
|
203
220
|
);
|
|
204
221
|
const reread = useRef(null);
|
|
205
222
|
const framed = useRef("");
|
|
223
|
+
const frameAll = useRef(null);
|
|
224
|
+
const reframeWanted = useRef(false);
|
|
206
225
|
useEffect(() => {
|
|
207
226
|
if (!near) return;
|
|
208
227
|
let live = true;
|
|
@@ -248,7 +267,7 @@ function MapView({
|
|
|
248
267
|
if (!landmark) instance.getCanvas().setAttribute("role", "group");
|
|
249
268
|
instance.addControl(
|
|
250
269
|
new maplibre.NavigationControl({ showCompass: false }),
|
|
251
|
-
"
|
|
270
|
+
"top-right"
|
|
252
271
|
);
|
|
253
272
|
(_c = (_b = instance.touchZoomRotate) == null ? void 0 : _b.disableRotation) == null ? void 0 : _c.call(_b);
|
|
254
273
|
(_e = (_d = instance.keyboard) == null ? void 0 : _d.disableRotation) == null ? void 0 : _e.call(_d);
|
|
@@ -263,8 +282,10 @@ function MapView({
|
|
|
263
282
|
attrib == null ? void 0 : attrib.removeAttribute("open");
|
|
264
283
|
addPlaceLayers(instance, colorsOf(container.current));
|
|
265
284
|
let popup = null;
|
|
285
|
+
const pictures = {};
|
|
266
286
|
let picked = null;
|
|
267
287
|
let shown = "";
|
|
288
|
+
let named = null;
|
|
268
289
|
let dismissed = "";
|
|
269
290
|
let hovered;
|
|
270
291
|
let pickedId;
|
|
@@ -289,6 +310,7 @@ function MapView({
|
|
|
289
310
|
popup == null ? void 0 : popup.remove();
|
|
290
311
|
popup = null;
|
|
291
312
|
shown = "";
|
|
313
|
+
named = null;
|
|
292
314
|
};
|
|
293
315
|
const show2 = (feature) => {
|
|
294
316
|
var _a3, _b2, _c2, _d2, _e2, _f, _g, _h, _i;
|
|
@@ -329,6 +351,7 @@ function MapView({
|
|
|
329
351
|
const below = room - foot >= top;
|
|
330
352
|
const away = gap();
|
|
331
353
|
hangs = below ? away : -away;
|
|
354
|
+
const content = text;
|
|
332
355
|
popup = new maplibre.Popup({
|
|
333
356
|
closeButton: false,
|
|
334
357
|
closeOnClick: false,
|
|
@@ -336,9 +359,41 @@ function MapView({
|
|
|
336
359
|
offset: [0, hangs],
|
|
337
360
|
maxWidth: "none",
|
|
338
361
|
className: "clover-geomap-popup"
|
|
339
|
-
}).setLngLat(below ? [middle, south] : [middle, north]).setDOMContent(
|
|
340
|
-
|
|
362
|
+
}).setLngLat(below ? [middle, south] : [middle, north]).setDOMContent(content).addTo(instance);
|
|
363
|
+
const key = keyOf(feature);
|
|
364
|
+
shown = key;
|
|
365
|
+
named = feature;
|
|
341
366
|
keepInside();
|
|
367
|
+
picture(feature, content, key);
|
|
368
|
+
};
|
|
369
|
+
const picture = (feature, content, key) => {
|
|
370
|
+
var _a3;
|
|
371
|
+
const source = (_a3 = feature.properties) == null ? void 0 : _a3.thumbnail;
|
|
372
|
+
if (typeof source !== "string") return;
|
|
373
|
+
void (pictures[source] ?? (pictures[source] = import("./placePicture.mjs").then(
|
|
374
|
+
({ placePicture }) => placePicture(
|
|
375
|
+
JSON.parse(source),
|
|
376
|
+
PICTURE_SIZE,
|
|
377
|
+
latest.current.request
|
|
378
|
+
)
|
|
379
|
+
).catch(() => void 0))).then((url) => {
|
|
380
|
+
if (!url || shown !== key) return;
|
|
381
|
+
const image = document.createElement("img");
|
|
382
|
+
image.className = "clover-tip-image";
|
|
383
|
+
image.alt = "";
|
|
384
|
+
image.decoding = "async";
|
|
385
|
+
image.hidden = true;
|
|
386
|
+
image.onload = () => {
|
|
387
|
+
var _a4, _b2;
|
|
388
|
+
if (shown !== key) return;
|
|
389
|
+
image.hidden = false;
|
|
390
|
+
(_b2 = (_a4 = popup == null ? void 0 : popup.getElement) == null ? void 0 : _a4.call(popup)) == null ? void 0 : _b2.setAttribute("data-picture", "");
|
|
391
|
+
keepInside();
|
|
392
|
+
};
|
|
393
|
+
image.onerror = () => image.remove();
|
|
394
|
+
image.src = url;
|
|
395
|
+
content.prepend(image);
|
|
396
|
+
});
|
|
342
397
|
};
|
|
343
398
|
let hangs = 0;
|
|
344
399
|
const keepInside = () => {
|
|
@@ -357,13 +412,24 @@ function MapView({
|
|
|
357
412
|
reread.current = (next) => {
|
|
358
413
|
var _a3;
|
|
359
414
|
(_a3 = instance.removeFeatureState) == null ? void 0 : _a3.call(instance, { source: NAVPLACE });
|
|
360
|
-
hovered = void 0;
|
|
361
415
|
const placeOf = (feature) => JSON.stringify([feature.properties, feature.geometry]);
|
|
362
|
-
const
|
|
416
|
+
const find = (feature) => feature ? next.features.find((f) => placeOf(f) === placeOf(feature)) : void 0;
|
|
417
|
+
const kept = find(picked);
|
|
418
|
+
const still = find(named);
|
|
419
|
+
const pointed = hovered !== void 0 ? still : void 0;
|
|
363
420
|
picked = kept ?? null;
|
|
364
421
|
pickedId = void 0;
|
|
422
|
+
hovered = void 0;
|
|
423
|
+
if (kept) pick(kept);
|
|
424
|
+
if (pointed) {
|
|
425
|
+
hovered = idOf(pointed);
|
|
426
|
+
mark(hovered, "hover", true);
|
|
427
|
+
}
|
|
428
|
+
if (still) {
|
|
429
|
+
named = still;
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
365
432
|
if (!kept) return unname();
|
|
366
|
-
pick(kept);
|
|
367
433
|
show2(kept);
|
|
368
434
|
};
|
|
369
435
|
name.current = (feature) => {
|
|
@@ -380,30 +446,43 @@ function MapView({
|
|
|
380
446
|
(_b2 = name.current) == null ? void 0 : _b2.call(name, feature, event.lngLat);
|
|
381
447
|
(_d2 = (_c2 = latest.current).onSelect) == null ? void 0 : _d2.call(_c2, feature);
|
|
382
448
|
});
|
|
383
|
-
instance.on("mousemove", layer, (event) => {
|
|
384
|
-
var _a3, _b2, _c2;
|
|
385
|
-
instance.getCanvas().style.cursor = "pointer";
|
|
386
|
-
const feature = (_a3 = event.features) == null ? void 0 : _a3[0];
|
|
387
|
-
if (!feature) return;
|
|
388
|
-
if (keyOf(feature) !== dismissed) show2(feature);
|
|
389
|
-
const id = idOf(feature);
|
|
390
|
-
if (id === hovered) return;
|
|
391
|
-
mark(hovered, "hover", false);
|
|
392
|
-
hovered = id;
|
|
393
|
-
mark(hovered, "hover", true);
|
|
394
|
-
(_c2 = (_b2 = latest.current).onHighlight) == null ? void 0 : _c2.call(_b2, feature);
|
|
395
|
-
});
|
|
396
|
-
instance.on("mouseleave", layer, () => {
|
|
397
|
-
var _a3, _b2;
|
|
398
|
-
instance.getCanvas().style.cursor = "";
|
|
399
|
-
dismissed = "";
|
|
400
|
-
mark(hovered, "hover", false);
|
|
401
|
-
hovered = void 0;
|
|
402
|
-
(_b2 = (_a3 = latest.current).onHighlight) == null ? void 0 : _b2.call(_a3, null);
|
|
403
|
-
if (picked) show2(picked);
|
|
404
|
-
else unname();
|
|
405
|
-
});
|
|
406
449
|
}
|
|
450
|
+
const leave = () => {
|
|
451
|
+
var _a3, _b2;
|
|
452
|
+
if (hovered === void 0 && !shown) return;
|
|
453
|
+
instance.getCanvas().style.cursor = "";
|
|
454
|
+
dismissed = "";
|
|
455
|
+
mark(hovered, "hover", false);
|
|
456
|
+
hovered = void 0;
|
|
457
|
+
(_b2 = (_a3 = latest.current).onHighlight) == null ? void 0 : _b2.call(_a3, null);
|
|
458
|
+
if (picked) show2(picked);
|
|
459
|
+
else unname();
|
|
460
|
+
};
|
|
461
|
+
instance.on("mousemove", (event) => {
|
|
462
|
+
var _a3, _b2, _c2;
|
|
463
|
+
const under = ((_a3 = instance.queryRenderedFeatures) == null ? void 0 : _a3.call(instance, event.point, {
|
|
464
|
+
layers: CLICKABLE.filter((layer) => {
|
|
465
|
+
var _a4;
|
|
466
|
+
return (_a4 = instance.getLayer) == null ? void 0 : _a4.call(instance, layer);
|
|
467
|
+
})
|
|
468
|
+
})) ?? [];
|
|
469
|
+
if (!under.length) {
|
|
470
|
+
if (hovered !== void 0) leave();
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
instance.getCanvas().style.cursor = "pointer";
|
|
474
|
+
const feature = under.find((each) => idOf(each) === hovered) ?? under[0];
|
|
475
|
+
if (keyOf(feature) !== dismissed) show2(feature);
|
|
476
|
+
const id = idOf(feature);
|
|
477
|
+
if (id === hovered) return;
|
|
478
|
+
mark(hovered, "hover", false);
|
|
479
|
+
hovered = id;
|
|
480
|
+
mark(hovered, "hover", true);
|
|
481
|
+
(_c2 = (_b2 = latest.current).onHighlight) == null ? void 0 : _c2.call(_b2, feature);
|
|
482
|
+
});
|
|
483
|
+
instance.on("mouseout", () => {
|
|
484
|
+
if (hovered !== void 0) leave();
|
|
485
|
+
});
|
|
407
486
|
instance.on("click", (event) => {
|
|
408
487
|
var _a3;
|
|
409
488
|
const under = (_a3 = instance.queryRenderedFeatures) == null ? void 0 : _a3.call(instance, event.point, {
|
|
@@ -435,7 +514,13 @@ function MapView({
|
|
|
435
514
|
setMap(instance);
|
|
436
515
|
});
|
|
437
516
|
if (typeof ResizeObserver !== "undefined") {
|
|
438
|
-
observer = new ResizeObserver(() =>
|
|
517
|
+
observer = new ResizeObserver(() => {
|
|
518
|
+
var _a2;
|
|
519
|
+
instance == null ? void 0 : instance.resize();
|
|
520
|
+
if (!reframeWanted.current) return;
|
|
521
|
+
reframeWanted.current = false;
|
|
522
|
+
(_a2 = frameAll.current) == null ? void 0 : _a2.call(frameAll);
|
|
523
|
+
});
|
|
439
524
|
observer.observe(container.current);
|
|
440
525
|
}
|
|
441
526
|
}).catch(() => {
|
|
@@ -565,11 +650,19 @@ function MapView({
|
|
|
565
650
|
if (!map) return;
|
|
566
651
|
const bounds = boundsOf(features.features, overlay ? overlays : []);
|
|
567
652
|
if (!bounds) return;
|
|
653
|
+
frameAll.current = () => frame(map, bounds, zoom ?? POINT_ZOOM, zoom);
|
|
568
654
|
const extent = bounds.flat().join();
|
|
569
655
|
if (extent === framed.current) return;
|
|
656
|
+
const glide = framed.current !== "";
|
|
570
657
|
framed.current = extent;
|
|
571
|
-
frame(map, bounds, zoom ?? POINT_ZOOM, zoom);
|
|
658
|
+
frame(map, bounds, zoom ?? POINT_ZOOM, zoom, glide);
|
|
572
659
|
}, [map, features, overlays, overlay, zoom]);
|
|
660
|
+
const reframed = useRef(reframe);
|
|
661
|
+
useEffect(() => {
|
|
662
|
+
if (Object.is(reframed.current, reframe)) return;
|
|
663
|
+
reframed.current = reframe;
|
|
664
|
+
reframeWanted.current = true;
|
|
665
|
+
}, [reframe]);
|
|
573
666
|
const choose = (feature) => {
|
|
574
667
|
var _a;
|
|
575
668
|
const bounds = boundsOf([feature]);
|
|
@@ -683,14 +776,22 @@ function MapView({
|
|
|
683
776
|
}
|
|
684
777
|
) });
|
|
685
778
|
}
|
|
686
|
-
function frame(map, bounds, zoom, most = 12) {
|
|
779
|
+
function frame(map, bounds, zoom, most = 12, glide = false) {
|
|
780
|
+
const duration = glide && !reducedMotion() ? GLIDE : 0;
|
|
687
781
|
const [[west, south], [east, north]] = bounds;
|
|
688
782
|
if (west === east && south === north) {
|
|
689
|
-
|
|
783
|
+
const view = { center: [west, south], zoom };
|
|
784
|
+
if (duration) map.easeTo({ ...view, duration });
|
|
785
|
+
else map.jumpTo(view);
|
|
690
786
|
} else {
|
|
691
|
-
map.fitBounds(bounds, { padding: 32, maxZoom: most, duration
|
|
787
|
+
map.fitBounds(bounds, { padding: 32, maxZoom: most, duration });
|
|
692
788
|
}
|
|
693
789
|
}
|
|
790
|
+
const GLIDE = 600;
|
|
791
|
+
const reducedMotion = () => {
|
|
792
|
+
var _a;
|
|
793
|
+
return typeof window !== "undefined" && Boolean((_a = window.matchMedia) == null ? void 0 : _a.call(window, "(prefers-reduced-motion: reduce)").matches);
|
|
794
|
+
};
|
|
694
795
|
function center([[west, south], [east, north]]) {
|
|
695
796
|
return [(west + east) / 2, (south + north) / 2];
|
|
696
797
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { loadManifest } from "../../core/load.mjs";
|
|
3
|
+
import { thumbnailSource, resolveThumbnail } from "../../core/thumbnail.mjs";
|
|
4
|
+
async function placePicture(picture, size, request) {
|
|
5
|
+
var _a;
|
|
6
|
+
let resource = picture;
|
|
7
|
+
if (picture.type === "Manifest" && !picture.items) {
|
|
8
|
+
const manifest = await loadManifest(picture, { request });
|
|
9
|
+
resource = manifest.thumbnail ? manifest : (_a = manifest.items) == null ? void 0 : _a[0];
|
|
10
|
+
}
|
|
11
|
+
const source = thumbnailSource(resource);
|
|
12
|
+
return source ? resolveThumbnail(source, size, request) : void 0;
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
placePicture
|
|
16
|
+
};
|
package/dist/core/geo-detect.mjs
CHANGED
|
@@ -8,12 +8,10 @@ function hasMapData(manifest, collection = null) {
|
|
|
8
8
|
}
|
|
9
9
|
for (const canvas of selectSequence(manifest).canvases) {
|
|
10
10
|
if (canvas.navPlace) return true;
|
|
11
|
+
if (isGeoreferenced(canvas)) return true;
|
|
11
12
|
for (const page of asArray(canvas.annotations)) {
|
|
12
13
|
for (const annotation of asArray(page == null ? void 0 : page.items)) {
|
|
13
14
|
if (annotation == null ? void 0 : annotation.navPlace) return true;
|
|
14
|
-
if (asArray(annotation == null ? void 0 : annotation.motivation).includes("georeferencing")) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
15
|
const bodies = asArray(annotation == null ? void 0 : annotation.body);
|
|
18
16
|
if (bodies.some(
|
|
19
17
|
(body) => (body == null ? void 0 : body.type) === "Feature" || (body == null ? void 0 : body.type) === "FeatureCollection"
|
|
@@ -25,6 +23,14 @@ function hasMapData(manifest, collection = null) {
|
|
|
25
23
|
}
|
|
26
24
|
return false;
|
|
27
25
|
}
|
|
26
|
+
function isGeoreferenced(canvas) {
|
|
27
|
+
return asArray(canvas == null ? void 0 : canvas.annotations).some(
|
|
28
|
+
(page) => asArray(page == null ? void 0 : page.items).some(
|
|
29
|
+
(annotation) => asArray(annotation == null ? void 0 : annotation.motivation).includes("georeferencing")
|
|
30
|
+
)
|
|
31
|
+
);
|
|
32
|
+
}
|
|
28
33
|
export {
|
|
29
|
-
hasMapData
|
|
34
|
+
hasMapData,
|
|
35
|
+
isGeoreferenced
|
|
30
36
|
};
|
package/dist/core/geo.mjs
CHANGED
|
@@ -50,6 +50,27 @@ function closed(geometry) {
|
|
|
50
50
|
return { ...geometry, geometries: geometry.geometries.map(closed) };
|
|
51
51
|
return geometry;
|
|
52
52
|
}
|
|
53
|
+
function pictureOf(resource) {
|
|
54
|
+
const value = resource;
|
|
55
|
+
if (!value) return null;
|
|
56
|
+
if (asArray(value.thumbnail).length) return { thumbnail: value.thumbnail };
|
|
57
|
+
if (value.type === "Canvas") {
|
|
58
|
+
const { items, placeholderContainer, accompanyingContainer } = value;
|
|
59
|
+
return {
|
|
60
|
+
type: "Canvas",
|
|
61
|
+
items,
|
|
62
|
+
placeholderContainer,
|
|
63
|
+
accompanyingContainer
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (value.type === "Manifest") {
|
|
67
|
+
const first = asArray(value.items)[0];
|
|
68
|
+
if (first) return pictureOf(first);
|
|
69
|
+
if (typeof value.id === "string" && /^https?:\/\//.test(value.id))
|
|
70
|
+
return { type: "Manifest", id: value.id };
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
53
74
|
function flatten(feature, owner, language) {
|
|
54
75
|
const own = feature.properties ?? {};
|
|
55
76
|
const properties = {};
|
|
@@ -69,6 +90,8 @@ function flatten(feature, owner, language) {
|
|
|
69
90
|
if (owner.annotationId) properties.annotationId = owner.annotationId;
|
|
70
91
|
if (owner.manifestId) properties.manifestId = owner.manifestId;
|
|
71
92
|
if (typeof owner.navDate === "string") properties.navDate = owner.navDate;
|
|
93
|
+
const picture = pictureOf(owner.resource);
|
|
94
|
+
if (picture) properties.thumbnail = JSON.stringify(picture);
|
|
72
95
|
return {
|
|
73
96
|
type: "Feature",
|
|
74
97
|
...feature.id != null ? { id: feature.id } : {},
|
|
@@ -95,7 +118,8 @@ function navPlaceOf(manifest, collection = null, language) {
|
|
|
95
118
|
const features = [];
|
|
96
119
|
const add = (geo, owner) => features.push(...featuresOf(geo).map((f) => flatten(f, owner, language)));
|
|
97
120
|
const c = collection;
|
|
98
|
-
if (c == null ? void 0 : c.navPlace)
|
|
121
|
+
if (c == null ? void 0 : c.navPlace)
|
|
122
|
+
add(c.navPlace, { label: c.label, navDate: c.navDate, resource: c });
|
|
99
123
|
const m = manifest ?? {};
|
|
100
124
|
let own = false;
|
|
101
125
|
for (const member of asArray(c == null ? void 0 : c.items)) {
|
|
@@ -107,17 +131,21 @@ function navPlaceOf(manifest, collection = null, language) {
|
|
|
107
131
|
add(place, {
|
|
108
132
|
label: open ? m.label : member.label,
|
|
109
133
|
manifestId: member.id,
|
|
110
|
-
navDate: open ? m.navDate ?? member.navDate : member.navDate
|
|
134
|
+
navDate: open ? m.navDate ?? member.navDate : member.navDate,
|
|
135
|
+
// The open member's own Manifest, unless its entry has a thumbnail it lacks;
|
|
136
|
+
// another member's entry, its Manifest loaded once its place is named.
|
|
137
|
+
resource: open && (m.thumbnail || !member.thumbnail) ? m : member
|
|
111
138
|
});
|
|
112
139
|
}
|
|
113
140
|
if (m.navPlace && !own)
|
|
114
|
-
add(m.navPlace, { label: m.label, navDate: m.navDate });
|
|
141
|
+
add(m.navPlace, { label: m.label, navDate: m.navDate, resource: m });
|
|
115
142
|
for (const canvas of selectSequence(manifest).canvases) {
|
|
116
143
|
if (canvas.navPlace) {
|
|
117
144
|
add(canvas.navPlace, {
|
|
118
145
|
label: canvas.label,
|
|
119
146
|
canvasId: canvas.id,
|
|
120
|
-
navDate: canvas.navDate
|
|
147
|
+
navDate: canvas.navDate,
|
|
148
|
+
resource: canvas
|
|
121
149
|
});
|
|
122
150
|
}
|
|
123
151
|
for (const annotation of annotationsOf(canvas)) {
|
|
@@ -219,17 +247,24 @@ function readGeoreference(annotation, canvas) {
|
|
|
219
247
|
};
|
|
220
248
|
}
|
|
221
249
|
const georeferences = /* @__PURE__ */ new WeakMap();
|
|
250
|
+
function canvasGeoreferences(canvas) {
|
|
251
|
+
if (!canvas) return NO_GEOREFERENCES;
|
|
252
|
+
const cached = georeferences.get(canvas);
|
|
253
|
+
if (cached) return cached;
|
|
254
|
+
const found = annotationsOf(canvas).map((annotation) => readGeoreference(annotation, canvas)).filter(
|
|
255
|
+
(georeference) => Boolean(georeference)
|
|
256
|
+
);
|
|
257
|
+
const result = found.length ? found : NO_GEOREFERENCES;
|
|
258
|
+
georeferences.set(canvas, result);
|
|
259
|
+
return result;
|
|
260
|
+
}
|
|
222
261
|
function georeferencesOf(manifest) {
|
|
223
262
|
if (!manifest) return NO_GEOREFERENCES;
|
|
224
263
|
const cached = georeferences.get(manifest);
|
|
225
264
|
if (cached) return cached;
|
|
226
|
-
const found =
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const georeference = readGeoreference(annotation, canvas);
|
|
230
|
-
if (georeference) found.push(georeference);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
265
|
+
const found = selectSequence(manifest).canvases.flatMap(
|
|
266
|
+
canvasGeoreferences
|
|
267
|
+
);
|
|
233
268
|
const result = found.length ? found : NO_GEOREFERENCES;
|
|
234
269
|
georeferences.set(manifest, result);
|
|
235
270
|
return result;
|
|
@@ -318,8 +353,10 @@ function boundsOf(features, overlays = []) {
|
|
|
318
353
|
export {
|
|
319
354
|
affineTransform,
|
|
320
355
|
boundsOf,
|
|
356
|
+
canvasGeoreferences,
|
|
321
357
|
cornersOf,
|
|
322
358
|
georeferencesOf,
|
|
323
359
|
navPlaceOf,
|
|
360
|
+
pictureOf,
|
|
324
361
|
readGeoreference
|
|
325
362
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const en = JSON.parse('{"commonClose":"Close","commonNext":"Next","commonPrevious":"Previous","commonSearch":"Search","commonViewAll":"View all","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Loading...","contentSearchPlaceholder":"Search","contentSearchResultsNone":"No results","contentSearchResult":"1 result","contentSearchResults":"{{count}} results","contentSearchError":"The search could not be completed.","contentSearchPosition":"Result {{index}} of {{total}}","contentSearchClear":"Clear search","canvasPosition":"Item {{index}} of {{total}}","canvasImage":"Image","bodyUnloadableImage":"This image could not be loaded.","bodyUnloadableVideo":"This video could not be loaded.","bodyUnloadableAudio":"This audio could not be loaded.","bodyUnloadableModel":"This model could not be loaded.","canvasRoleDescription":"zoomable image","canvasKeysImage":"Use the arrow keys to pan, with Shift for larger steps, plus and minus to zoom, 0 to reset the view, and R or Shift+R to rotate.","canvasKeysMedia":"Press Space or K to play or pause, J or L to skip ten seconds back or forward, and M to mute or unmute.","canvasKeysAnnotations":"Press Escape to clear the selected annotation.","sceneModel":"3D model","sceneRoleDescription":"rotatable 3D model","sceneKeys":"Use the arrow keys to rotate the model, with Shift for larger steps, plus and minus to zoom, 0 to reset the view, and R or Shift+R to rotate it right or left.","sceneRotateUp":"Rotate up","sceneRotateDown":"Rotate down","sceneRotate":"Rotate","sceneResetView":"Reset view","statusLoading":"Loading…","statusError":"This could not be loaded.","itemsLabel":"Items","download":"Download","downloadPage":"This page","downloadAll":"All pages","templateSidebar":"Items","templateSidebarToggle":"Show items","templateBack":"Back","templateBackTo":"Back to {{label}}","collectionLabel":"Collection","itemsScrollBack":"Show previous items","itemsScrollForward":"Show more items","aboutRights":"Rights","aboutDate":"Date","aboutHomepage":"Homepage","aboutSeeAlso":"See also","aboutProvider":"Provider","logo":"Logo","aboutManifest":"IIIF Manifest","aboutCanvas":"IIIF Canvas","aboutPartOf":"Part of","aboutOpenManifest":"Open the full Manifest","aboutCollection":"IIIF Collection","readingLanguage":"Language","annotationsHide":"Hide annotations","annotationsHideTip":"Hide","readMore":"Read more","readLess":"Read less","annotationsShow":"Find on the image","annotationsShowTime":"Find in the recording","annotationsImage":"Image","annotationsLanguage":"Language","annotationsOpenLink":"Open","transcriptLabel":"Transcript","imageViewerOpen":"Open image viewer","imageViewerClose":"Close image viewer","canvasChoice":"Choice","canvasViewerControls":"Viewer controls","canvasExpandControls":"Expand viewer controls","canvasCollapseControls":"Collapse viewer controls","canvasScrollBack":"Show previous controls","canvasScrollForward":"Show more controls","imageFullScreen":"Full screen","imageExitFullScreen":"Exit full screen","imageResetZoom":"Reset zoom","imageRotateLeft":"Rotate left","imageRotateRight":"Rotate right","imageZoomIn":"Zoom in","imageZoomOut":"Zoom out","informationPanelTabs":"Information panel","sectionsScrollBack":"Show previous tabs","sectionsScrollForward":"Show more tabs","informationPanelClose":"Close information panel","informationPanelTabsAbout":"About","informationPanelTabsAnnotations":"Annotations","informationPanelTabsSearch":"Search","informationPanelTabsContents":"Contents","contentsSectionsIn":"Sections in","contentsSectionsTip":"Sections","informationPanelTabsMap":"Map","informationPanelTabsCollection":"Collection","informationPanelTabsTargets":"Views","mapUnavailable":"The map could not be shown.","mapLabel":"Map","mapAttribution":"Map credits","mapPlaceUntitled":"Place {{number}}","mapOverlay":"Georeferenced image","mapPlacesListed":"Places listed after the map: {{count}}","informationPanelToggle":"More information","playerPlay":"Play","playerPause":"Pause","playerMute":"Mute","playerUnmute":"Unmute","playerVolume":"Volume","playerSeek":"Seek","playerCaptions":"Captions","playerCaptionsOff":"Off","playerChapters":"Chapters","playerFill":"Fill frame","playerFit":"Fit to frame","playerCurrentTime":"Current time","playerDuration":"Duration","splitHandle":"Resize panels"}');
|
|
2
|
+
const en = JSON.parse('{"commonClose":"Close","commonNext":"Next","commonPrevious":"Previous","commonSearch":"Search","commonViewAll":"View all","controlShortcut":"{{label}} ({{shortcut}})","contentSearchLoading":"Loading...","contentSearchPlaceholder":"Search","contentSearchResultsNone":"No results","contentSearchResult":"1 result","contentSearchResults":"{{count}} results","contentSearchError":"The search could not be completed.","contentSearchPosition":"Result {{index}} of {{total}}","contentSearchClear":"Clear search","canvasPosition":"Item {{index}} of {{total}}","canvasImage":"Image","bodyUnloadableImage":"This image could not be loaded.","bodyUnloadableVideo":"This video could not be loaded.","bodyUnloadableAudio":"This audio could not be loaded.","bodyUnloadableModel":"This model could not be loaded.","canvasRoleDescription":"zoomable image","canvasKeysImage":"Use the arrow keys to pan, with Shift for larger steps, plus and minus to zoom, 0 to reset the view, and R or Shift+R to rotate.","canvasKeysMedia":"Press Space or K to play or pause, J or L to skip ten seconds back or forward, and M to mute or unmute.","canvasKeysAnnotations":"Press Escape to clear the selected annotation.","sceneModel":"3D model","sceneRoleDescription":"rotatable 3D model","sceneKeys":"Use the arrow keys to rotate the model, with Shift for larger steps, plus and minus to zoom, 0 to reset the view, and R or Shift+R to rotate it right or left.","sceneRotateUp":"Rotate up","sceneRotateDown":"Rotate down","sceneRotate":"Rotate","sceneResetView":"Reset view","statusLoading":"Loading…","statusError":"This could not be loaded.","itemsLabel":"Items","download":"Download","downloadPage":"This page","downloadAll":"All pages","templateSidebar":"Items","templateSidebarToggle":"Show items","templateBack":"Back","templateBackTo":"Back to {{label}}","collectionLabel":"Collection","itemsScrollBack":"Show previous items","itemsScrollForward":"Show more items","aboutRights":"Rights","aboutDate":"Date","aboutHomepage":"Homepage","aboutSeeAlso":"See also","aboutProvider":"Provider","logo":"Logo","aboutManifest":"IIIF Manifest","aboutCanvas":"IIIF Canvas","aboutPartOf":"Part of","aboutOpenManifest":"Open the full Manifest","aboutCollection":"IIIF Collection","readingLanguage":"Language","annotationsHide":"Hide annotations","annotationsHideTip":"Hide","readMore":"Read more","readLess":"Read less","annotationsShow":"Find on the image","annotationsShowTime":"Find in the recording","annotationsImage":"Image","annotationsLanguage":"Language","annotationsOpenLink":"Open","transcriptLabel":"Transcript","imageViewerOpen":"Open image viewer","imageViewerClose":"Close image viewer","canvasChoice":"Choice","canvasViewerControls":"Viewer controls","canvasExpandControls":"Expand viewer controls","canvasCollapseControls":"Collapse viewer controls","canvasScrollBack":"Show previous controls","canvasScrollForward":"Show more controls","imageFullScreen":"Full screen","imageExitFullScreen":"Exit full screen","imageResetZoom":"Reset zoom","imageRotateLeft":"Rotate left","imageRotateRight":"Rotate right","imageZoomIn":"Zoom in","imageZoomOut":"Zoom out","informationPanelTabs":"Information panel","sectionsScrollBack":"Show previous tabs","sectionsScrollForward":"Show more tabs","informationPanelClose":"Close information panel","informationPanelTabsAbout":"About","informationPanelTabsAnnotations":"Annotations","informationPanelTabsSearch":"Search","informationPanelTabsContents":"Contents","contentsSectionsIn":"Sections in","contentsSectionsTip":"Sections","informationPanelTabsMap":"Map","informationPanelTabsCollection":"Collection","informationPanelTabsTargets":"Views","mapUnavailable":"The map could not be shown.","mapLabel":"Map","mapExpand":"Expand map","mapCollapse":"Collapse map","mapAttribution":"Map credits","mapPlaceUntitled":"Place {{number}}","mapOverlay":"Georeferenced image","mapPlacesListed":"Places listed after the map: {{count}}","informationPanelToggle":"More information","playerPlay":"Play","playerPause":"Pause","playerMute":"Mute","playerUnmute":"Unmute","playerVolume":"Volume","playerSeek":"Seek","playerCaptions":"Captions","playerCaptionsOff":"Off","playerChapters":"Chapters","playerFill":"Fill frame","playerFit":"Fit to frame","playerCurrentTime":"Current time","playerDuration":"Duration","splitHandle":"Resize panels"}');
|
|
3
3
|
export {
|
|
4
4
|
en as default
|
|
5
5
|
};
|