@nulib/clover 4.0.0 → 4.2.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/components/Body/Body.mjs +16 -1
- package/dist/components/Body/glyphs.mjs +15 -0
- package/dist/components/Body/useControlsVisibility.mjs +35 -13
- package/dist/components/Canvas/CanvasView.mjs +116 -12
- package/dist/components/Canvas/ChaptersMenu.mjs +105 -0
- package/dist/components/Canvas/ControlMenu.mjs +23 -4
- package/dist/components/Canvas/Controls.mjs +223 -60
- package/dist/components/Canvas/ControlsFade.mjs +16 -0
- package/dist/components/Canvas/ImageControls.mjs +209 -0
- package/dist/components/Canvas/Placeholder.mjs +44 -12
- package/dist/components/Canvas/RowFits.mjs +85 -0
- package/dist/components/Canvas/layout.mjs +11 -0
- package/dist/components/Canvas/media/MediaBody.mjs +105 -46
- package/dist/components/Canvas/media/Player.mjs +0 -55
- package/dist/components/Canvas/media/Transport.mjs +14 -23
- package/dist/components/Canvas/panClearOfControls.mjs +1 -1
- package/dist/components/Collection/Collection.mjs +1 -1
- package/dist/components/Items/CountMenu.mjs +1 -0
- package/dist/components/Items/Item.mjs +4 -3
- package/dist/components/Items/Items.mjs +30 -10
- package/dist/components/Items/PagerLayout.mjs +2 -0
- package/dist/components/Items/TargetItems.mjs +1 -1
- package/dist/components/Items/masonry.mjs +35 -0
- package/dist/components/Panel/About.mjs +25 -8
- package/dist/components/Panel/Panel.mjs +47 -59
- package/dist/components/Panel/sections.mjs +62 -0
- package/dist/components/Root/useRootState.mjs +2 -49
- package/dist/components/Scene/SceneView.mjs +13 -2
- package/dist/components/Scene/cloverEngine.mjs +2 -1
- package/dist/components/Timeline/playerSurface.mjs +2 -0
- package/dist/core/clover.mjs +7 -4
- package/dist/core/content-state.mjs +5 -3
- 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/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/index.d.mts +178 -56
- package/dist/index.mjs +2 -0
- package/dist/lib/gltf/load.mjs +26 -6
- package/dist/lib/pointer.mjs +1 -1
- package/dist/lib/renderer/CanvasRenderer.mjs +44 -32
- package/dist/lib/renderer/camera/Camera.mjs +1 -1
- package/dist/react/useContentStateOutput.mjs +71 -0
- package/dist/styles.css +1 -1
- package/dist/templates/default/Default.mjs +42 -128
- package/dist/templates/document/Document.mjs +51 -65
- package/dist/templates/document/Sheets.mjs +13 -5
- package/dist/templates/gallery/Gallery.mjs +94 -18
- package/dist/templates/index.d.mts +364 -17
- package/dist/templates/shared/Lightbox.mjs +161 -69
- package/dist/templates/shared/LightboxView.mjs +123 -0
- package/dist/templates/shared/PanelPane.mjs +116 -0
- package/dist/templates/{document/DocumentPanel.mjs → shared/PanelPart.mjs} +2 -2
- package/dist/templates/shared/dragToClose.mjs +51 -8
- package/dist/templates/shared/givenAnnotations.mjs +13 -0
- package/dist/templates/shared/useDragToClose.mjs +6 -3
- package/dist/templates/shared/useLazyPanelPane.mjs +16 -0
- package/dist/templates/shared/useSlide.mjs +6 -0
- package/dist/templates.css +1 -1
- package/dist/ui/ControlCluster.mjs +15 -17
- package/dist/ui/Sections.mjs +3 -3
- package/dist/ui/mediaIcons.mjs +35 -8
- package/dist/ui/useScrollTrack.mjs +2 -1
- package/dist/web-components/About-D1TBGGPL.mjs +1 -0
- package/dist/web-components/AnnotationItems-DTacmRA9.mjs +1 -0
- package/dist/web-components/{AnnotationMenu-BCwwwfbb.mjs → AnnotationMenu-DYc9ekWS.mjs} +1 -1
- package/dist/web-components/{AnnotationState-CavxnAAq.mjs → AnnotationState--5ghW0C2.mjs} +1 -1
- package/dist/web-components/{Annotations-rBmeI5sR.mjs → Annotations-BG8lPjk1.mjs} +1 -1
- package/dist/web-components/{Annotations-DDjSrBL5.mjs → Annotations-Bvc_FmJ5.mjs} +1 -1
- package/dist/web-components/Body-QQ1DmnbP.mjs +1 -0
- package/dist/web-components/{BodyAlert-COKp19lq.mjs → BodyAlert-A4xRjOKr.mjs} +1 -1
- package/dist/web-components/{Button-DLFYqtz9.mjs → Button-Cx6VE_UW.mjs} +1 -1
- package/dist/web-components/{Camera-Cp5ma-6C.mjs → Camera-DqT_1MgD.mjs} +1 -1
- package/dist/web-components/{Canvas2DBackend-3PToh87Z.mjs → Canvas2DBackend-TZtR3zHf.mjs} +1 -1
- package/dist/web-components/CanvasView-DxZASM9E.mjs +2 -0
- package/dist/web-components/CaptionDetails-DMRWmtaY.mjs +1 -0
- package/dist/web-components/ChaptersMenu-BAZVVDrK.mjs +1 -0
- package/dist/web-components/{Chevron-r-_hUPn8.mjs → Chevron-DFGbSGPI.mjs} +1 -1
- package/dist/web-components/ChoiceMenu-C80kdxvq.mjs +1 -0
- package/dist/web-components/Collection-B4CxBsFL.mjs +1 -0
- package/dist/web-components/{CollectionSelect-CBWUbqQi.mjs → CollectionSelect-DO8YO2p7.mjs} +1 -1
- package/dist/web-components/{Connected-BnpxYeJN.mjs → Connected-CcbVqzmj.mjs} +1 -1
- package/dist/web-components/{Connected-B2d6EoFl.mjs → Connected-DthCPaHl.mjs} +1 -1
- package/dist/web-components/{Connected-BSRM9FJY.mjs → Connected-sYBn_9MK.mjs} +1 -1
- package/dist/web-components/{Contents-D7FPxSH-.mjs → Contents-AVPYYXht.mjs} +1 -1
- package/dist/web-components/ControlMenu-BjJsWnuZ.mjs +1 -0
- package/dist/web-components/ControlsFade-C-6WhSxB.mjs +1 -0
- package/dist/web-components/{CountMenu-DyTp_J4k.mjs → CountMenu-Dx8D_RJZ.mjs} +1 -1
- package/dist/web-components/Cue-xuo5dgKE.mjs +1 -0
- package/dist/web-components/Document-BWdafeEi.mjs +1 -0
- package/dist/web-components/{DomLayers-CTGub6wo.mjs → DomLayers-DlRapZ1u.mjs} +1 -1
- package/dist/web-components/{Download-BOYNIb7C.mjs → Download-Ci_JUTVd.mjs} +1 -1
- package/dist/web-components/{EntryBodies-Bfd2Z42z.mjs → EntryBodies-C0ICfS2R.mjs} +1 -1
- package/dist/web-components/{EntryThumbnail-DQE8ajI9.mjs → EntryThumbnail-DxHhfRo_.mjs} +1 -1
- package/dist/web-components/{FieldPill-D5DNJWLy.mjs → FieldPill-CVfeeafm.mjs} +1 -1
- package/dist/web-components/FrameAnimation-AZpVvu0R.mjs +1 -0
- package/dist/web-components/Gallery-C2PTJmvN.mjs +1 -0
- package/dist/web-components/{HideToggle-DL911R1Z.mjs → HideToggle-0nlIo-f8.mjs} +1 -1
- package/dist/web-components/ImageControls-tKVAMpaj.mjs +1 -0
- package/dist/web-components/Items-Drd82_Jj.mjs +1 -0
- package/dist/web-components/Label-BIjqJ-_T.mjs +1 -0
- package/dist/web-components/{LanguageChoice-DT1UPiDn.mjs → LanguageChoice-DkSc-n6g.mjs} +1 -1
- package/dist/web-components/LightboxView-Cuqx2H1m.mjs +1 -0
- package/dist/web-components/ListEnd-pq-BgaDI.mjs +1 -0
- package/dist/web-components/{Loaded-BWfEBJyg.mjs → Loaded-CSO5NFhm.mjs} +1 -1
- package/dist/web-components/LoadedCanvas-DK6xMmM1.mjs +1 -0
- package/dist/web-components/LoadedMap-DmPH-LKY.mjs +1 -0
- package/dist/web-components/{Loading-zw74TdAz.mjs → Loading-CoJLSRkv.mjs} +1 -1
- package/dist/web-components/{Map--dJhk0_0.mjs → Map-BEVtD52O.mjs} +1 -1
- package/dist/web-components/MapView-DHJcn9gW.mjs +3 -0
- package/dist/web-components/Markup-Hm6bWOjm.mjs +2 -0
- package/dist/web-components/MediaBody-BpgNtpKZ.mjs +1 -0
- package/dist/web-components/MediaBody-Co23JjUJ.mjs +1 -0
- package/dist/web-components/{NavDate-BQHuyLOC.mjs → NavDate-CYNK0Qmp.mjs} +1 -1
- package/dist/web-components/{Navigator-B3U21_ti.mjs → Navigator-DrYPepzN.mjs} +1 -1
- package/dist/web-components/{Pager-DnJknq92.mjs → Pager-CN4lHURv.mjs} +1 -1
- package/dist/web-components/PagerLayout-DeqnSQcF.mjs +1 -0
- package/dist/web-components/Panel-CFYUlXup.mjs +1 -0
- package/dist/web-components/PanelPart-CpUIRbxr.mjs +1 -0
- package/dist/web-components/{PanelToggle-CFtWIeWv.mjs → PanelToggle-9ud55NNI.mjs} +1 -1
- package/dist/web-components/{PartOfManifest-F87jIrf9.mjs → PartOfManifest-KUHUq-6q.mjs} +1 -1
- package/dist/web-components/{Pending-CYAQajKu.mjs → Pending-mcmdyZPA.mjs} +1 -1
- package/dist/web-components/PlaceBox-DX4ZLDat.mjs +1 -0
- package/dist/web-components/Placeholder-0hE8q-SY.mjs +1 -0
- package/dist/web-components/{Position-BkWBRBfW.mjs → Position-DO5qg5Sp.mjs} +1 -1
- package/dist/web-components/{Primitives-BmODPlnK.mjs → Primitives-c9sIz0oQ.mjs} +1 -1
- package/dist/web-components/Provider-a3xY016W.mjs +1 -0
- package/dist/web-components/{ReadMore-BwGFsLS2.mjs → ReadMore-D_WmmKEP.mjs} +1 -1
- package/dist/web-components/Root-CU1o0wje.mjs +1 -0
- package/dist/web-components/Scene-CboEeptc.mjs +1 -0
- package/dist/web-components/SceneView-hcc78jQT.mjs +1 -0
- package/dist/web-components/{Search-CbmK9vLp.mjs → Search-BgxEW1UT.mjs} +1 -1
- package/dist/web-components/{Sections-Dy5_pkyQ.mjs → Sections-DZVrhoAC.mjs} +2 -2
- package/dist/web-components/{StandaloneItems-BmUnBp0H.mjs → StandaloneItems-6cSw7nbF.mjs} +1 -1
- package/dist/web-components/{Status-Dww3Pyf4.mjs → Status-DHTzuTkh.mjs} +1 -1
- package/dist/web-components/{Steps-o_UprQfZ.mjs → Steps-Dkpy9KiJ.mjs} +1 -1
- package/dist/web-components/{TargetItems-BBOGDubv.mjs → TargetItems-CyOI9_Z4.mjs} +1 -1
- package/dist/web-components/Timeline-B9tD3Rar.mjs +1 -0
- package/dist/web-components/{Tip-BbexILXs.mjs → Tip-nJSTYquc.mjs} +1 -1
- package/dist/web-components/{Transcript-ZVXM3ZDA.mjs → Transcript-WvFFAJQM.mjs} +1 -1
- package/dist/web-components/Transport-FxLp_bdW.mjs +1 -0
- package/dist/web-components/Transport-VUxSEIQO.mjs +1 -0
- package/dist/web-components/{annotation-collection-7SS1ELcO.mjs → annotation-collection-BkC3nBPA.mjs} +1 -1
- package/dist/web-components/{annotation-name-CYkZopdd.mjs → annotation-name-Du2KAWoD.mjs} +1 -1
- package/dist/web-components/{annotations-content-Bdtn50sf.mjs → annotations-content-CEzAS-P2.mjs} +1 -1
- package/dist/web-components/{body-CkOBHlJ0.mjs → body-DPlfbLt3.mjs} +1 -1
- package/dist/web-components/canvas-BUwBftJW.mjs +1 -0
- package/dist/web-components/cloverEngine-UNw5K4Xg.mjs +164 -0
- package/dist/web-components/{content-state-reader-Ahh6artg.mjs → content-state-reader-GgQF2MvJ.mjs} +1 -1
- package/dist/web-components/{controls-BJrZVQkS.mjs → controls-CC9G5LxK.mjs} +1 -1
- package/dist/web-components/custom-elements.json +191 -45
- package/dist/web-components/{downloads-CqVWo-yn.mjs → downloads-CmAYeEIz.mjs} +1 -1
- package/dist/web-components/dragToClose-DK-eM097.mjs +1 -0
- package/dist/web-components/{engine-B-sscpLa.mjs → engine-Dok0z8WP.mjs} +1 -1
- package/dist/web-components/{engines-DfCHjbt3.mjs → engines-BD2IfwQF.mjs} +1 -1
- package/dist/web-components/es-B1NvdYp-.mjs +1 -0
- package/dist/web-components/{fetchManifest-BIzne1Pj.mjs → fetchManifest-tQXcfFiz.mjs} +1 -1
- package/dist/web-components/fi-BjtYZNLo.mjs +1 -0
- package/dist/web-components/fr-Cd22Lziw.mjs +1 -0
- package/dist/web-components/fromManifest-BwQdeAuL.mjs +1 -0
- package/dist/web-components/glyphs-dp_HK3Ja.mjs +1 -0
- package/dist/web-components/hooks-C4dJ5K_D.mjs +1 -0
- package/dist/web-components/image-layers-xcBsiad9.mjs +1 -0
- package/dist/web-components/{imageService-0eTvQ-3h.mjs → imageService-4sFnmAFX.mjs} +1 -1
- package/dist/web-components/index-DspT4wUm.mjs +1 -0
- package/dist/web-components/index.d.mts +5 -5
- package/dist/web-components/index.mjs +1 -1
- package/dist/web-components/items-BUmOy2QY.mjs +1 -0
- package/dist/web-components/items-CWMI53aN.mjs +1 -0
- package/dist/web-components/label-BGjL7I4b.mjs +1 -0
- package/dist/web-components/layout-B29v2RKK.mjs +1 -0
- package/dist/web-components/{link-GEdiEwlR.mjs → link-Ct5PpHEY.mjs} +1 -1
- package/dist/web-components/logo-BFstM-0a.mjs +1 -0
- package/dist/web-components/masonry-0QfzOgbB.mjs +1 -0
- package/dist/web-components/{models-59cEeiAA.mjs → models-BXcT4ijX.mjs} +1 -1
- package/dist/web-components/nb-CEwZDBiR.mjs +1 -0
- package/dist/web-components/nn-jYQhr9RI.mjs +1 -0
- package/dist/web-components/no-CEwZDBiR.mjs +1 -0
- package/dist/web-components/{nodes-CTw9OqlA.mjs → nodes-BleXuYE6.mjs} +1 -1
- package/dist/web-components/{overlayImage-BMt4UTlR.mjs → overlayImage-BJtfot4Y.mjs} +1 -1
- package/dist/web-components/panClearOfControls-Cn2ZXsZi.mjs +1 -0
- package/dist/web-components/{panel-C17Rl9Ya.mjs → panel-BxxV_JkD.mjs} +1 -1
- package/dist/web-components/part-D4gjnYmT.mjs +1 -0
- package/dist/web-components/playerSurface-BXNLaFk0.mjs +1 -0
- package/dist/web-components/pointer-CJELU3gI.mjs +1 -0
- package/dist/web-components/{provider-BpxorEiq.mjs → provider-CPp0Sgr_.mjs} +1 -1
- package/dist/web-components/pt-CWR30SzS.mjs +1 -0
- package/dist/web-components/{range-regions-BGQy4E9U.mjs → range-regions-DAaOu0IS.mjs} +1 -1
- package/dist/web-components/{read-more-BDM_6CVc.mjs → read-more-lcqGslUd.mjs} +1 -1
- package/dist/web-components/readingLanguages-FyVsSWJ8.mjs +1 -0
- package/dist/web-components/rendererSurface-nh6-EfuZ.mjs +22 -0
- package/dist/web-components/{renderers-CiB74bQh.mjs → renderers-BFS7hFVU.mjs} +1 -1
- package/dist/web-components/{resource-CRbpf9pX.mjs → resource-Bufu7lAr.mjs} +1 -1
- package/dist/web-components/{save-file-CCuZEuQr.mjs → save-file-CoknKOPz.mjs} +1 -1
- package/dist/web-components/search-5ocrsYmT.mjs +1 -0
- package/dist/web-components/shared-DFAX0n3B.mjs +1 -0
- package/dist/web-components/{show-link-BXm7SNIC.mjs → show-link-DBaJj4s_.mjs} +1 -1
- package/dist/web-components/{sizedImage-k4Q-eyOB.mjs → sizedImage-jnOGcIIZ.mjs} +1 -1
- package/dist/web-components/{split-Hp6z-v4h.mjs → split-P6J0qqf5.mjs} +1 -1
- package/dist/web-components/{status-BmtuKfAG.mjs → status-honoOMNx.mjs} +1 -1
- package/dist/web-components/styles-BwkYiCLC.mjs +1 -0
- package/dist/web-components/three.mjs +1 -1
- package/dist/web-components/{thumbnail-Dp7a8oom.mjs → thumbnail-EbURh-UM.mjs} +1 -1
- package/dist/web-components/{tip-C-oovDZK.mjs → tip-BhNI83aT.mjs} +1 -1
- package/dist/web-components/{toggle-C7ODWDEZ.mjs → toggle-CJKdi5KH.mjs} +1 -1
- package/dist/web-components/{useContainerName-CrOmY-km.mjs → useContainerName-_48Cdi0m.mjs} +1 -1
- package/dist/web-components/useControlsVisibility-CieBxGnK.mjs +1 -0
- package/dist/web-components/useLazyPanelPane-Da3kJiOt.mjs +1 -0
- package/dist/web-components/{useNearViewport-BqXi9Gn4.mjs → useNearViewport-B34ebmIW.mjs} +1 -1
- package/dist/web-components/useScrollTrack-DgRGFeP5.mjs +1 -0
- package/dist/web-components/viewer/AnnotationItems-BNA_92Dv.mjs +1 -0
- package/dist/web-components/viewer/{AnnotationMenu-DPOSehBo.mjs → AnnotationMenu-BIQYVR4N.mjs} +1 -1
- package/dist/web-components/viewer/AnnotationState-BbwQqA1U.mjs +1 -0
- package/dist/web-components/viewer/Annotations-CZzOZAFP.mjs +2 -0
- package/dist/web-components/viewer/Annotations-P4XzAlNc.mjs +1 -0
- package/dist/web-components/viewer/{Canvas2DBackend-BTK6ZJh0.mjs → Canvas2DBackend-DFfCzyjL.mjs} +1 -1
- package/dist/web-components/viewer/CaptionDetails-DPtE-RQQ.mjs +1 -0
- package/dist/web-components/viewer/ChaptersMenu-D6Jmujag.mjs +1 -0
- package/dist/web-components/viewer/{ChoiceMenu-DQ1x572Y.mjs → ChoiceMenu-GkqyTQRQ.mjs} +1 -1
- package/dist/web-components/viewer/Collection-DjY_6qa6.mjs +1 -0
- package/dist/web-components/viewer/Connected-D5T-mtiy.mjs +1 -0
- package/dist/web-components/viewer/Connected-DIOuI3Mv.mjs +1 -0
- package/dist/web-components/viewer/Contents-DV-VxXuf.mjs +1 -0
- package/dist/web-components/viewer/ControlMenu-BsEpff6N.mjs +1 -0
- package/dist/web-components/viewer/ControlsFade-BowtN96W.mjs +1 -0
- package/dist/web-components/viewer/{CountMenu-4u6U6yqb.mjs → CountMenu-DCmA6HdK.mjs} +1 -1
- package/dist/web-components/viewer/Cue-BjbVzrpl.mjs +1 -0
- package/dist/web-components/viewer/Document-4ZQd3W3o.mjs +1 -0
- package/dist/web-components/viewer/{DomLayers-CGkDtemL.mjs → DomLayers-BCwCxPDU.mjs} +1 -1
- package/dist/web-components/viewer/Download-CL4IClAD.mjs +1 -0
- package/dist/web-components/viewer/EntryBodies-e40y47bl.mjs +1 -0
- package/dist/web-components/viewer/EntryThumbnail-B_dP3w4o.mjs +1 -0
- package/dist/web-components/viewer/{FieldPill-DFXGWrvB.mjs → FieldPill-Hse1cDBE.mjs} +1 -1
- package/dist/web-components/viewer/FrameAnimation-CE218DCr.mjs +1 -0
- package/dist/web-components/viewer/Gallery-F2sVj4ph.mjs +1 -0
- package/dist/web-components/viewer/{HideToggle-DP5kHzWM.mjs → HideToggle-CYoqe_ez.mjs} +1 -1
- package/dist/web-components/viewer/ImageControls-C2G4x2Es.mjs +1 -0
- package/dist/web-components/viewer/LanguageChoice-BmO-322r.mjs +1 -0
- package/dist/web-components/viewer/LightboxView-DKR8dXcg.mjs +1 -0
- package/dist/web-components/viewer/ListEnd-DX1jsvJk.mjs +1 -0
- package/dist/web-components/viewer/{MapView-BN9wXQKV.mjs → MapView-Df0wZjCh.mjs} +2 -2
- package/dist/web-components/viewer/MediaBody-CataNonO.mjs +1 -0
- package/dist/web-components/viewer/MediaBody-SkIgrEMj.mjs +1 -0
- package/dist/web-components/viewer/{NavDate-C2-wwLuB.mjs → NavDate-BZgeaMG9.mjs} +1 -1
- package/dist/web-components/viewer/{Navigator-C3jghOd3.mjs → Navigator-Co76p-1n.mjs} +1 -1
- package/dist/web-components/viewer/PagerLayout-tUkN1-FV.mjs +1 -0
- package/dist/web-components/viewer/PanelPart-Cl4Sst60.mjs +1 -0
- package/dist/web-components/viewer/{PartOfManifest-D22yMgCf.mjs → PartOfManifest-DXnbEPzS.mjs} +1 -1
- package/dist/web-components/viewer/PlaceBox-xrJ4CGdN.mjs +1 -0
- package/dist/web-components/viewer/Placeholder-B1AcizHL.mjs +1 -0
- package/dist/web-components/viewer/Search-DTg1cHZ3.mjs +1 -0
- package/dist/web-components/viewer/StandaloneItems-BpBEQG8i.mjs +1 -0
- package/dist/web-components/viewer/{Steps-Bw32X5xO.mjs → Steps-SpwMQdCL.mjs} +1 -1
- package/dist/web-components/viewer/{TargetItems-DLhUH1Gq.mjs → TargetItems-B6Icep5k.mjs} +1 -1
- package/dist/web-components/viewer/Transcript-rTAhuXCF.mjs +1 -0
- package/dist/web-components/viewer/Transport-vKIDALE-.mjs +1 -0
- package/dist/web-components/viewer/Transport-z_kdVisw.mjs +1 -0
- package/dist/web-components/viewer/annotation-collection-B7pZiLVk.mjs +1 -0
- package/dist/web-components/viewer/annotation-name-BKj1O9lA.mjs +1 -0
- package/dist/web-components/viewer/{annotations-content-CbA3eOIC.mjs → annotations-content-9AtLlPNn.mjs} +1 -1
- package/dist/web-components/viewer/cloverEngine-jRrYLrWa.mjs +164 -0
- package/dist/web-components/viewer/{content-state-reader-C7UBMOq3.mjs → content-state-reader-CPvkju6Q.mjs} +1 -1
- package/dist/web-components/viewer/dragToClose-Co9kGk9q.mjs +1 -0
- package/dist/web-components/viewer/{fetchManifest-C2Yxg3x9.mjs → fetchManifest-D7N9WhhF.mjs} +1 -1
- package/dist/web-components/viewer/{host-CZeyjCKR.mjs → host-DMD9LE4H.mjs} +1 -1
- package/dist/web-components/viewer/image-layers-x_shzPvu.mjs +1 -0
- package/dist/web-components/viewer/index.mjs +1 -1
- package/dist/web-components/viewer/{link-DssZ0Z2N.mjs → link-DikPGzNO.mjs} +1 -1
- package/dist/web-components/viewer/overlayImage-33kKKB0T.mjs +1 -0
- package/dist/web-components/viewer/range-regions-TH6WWGTT.mjs +1 -0
- package/dist/web-components/viewer/{renderers-DLoqv3QO.mjs → renderers-BxePmixF.mjs} +1 -1
- package/dist/web-components/viewer/{save-file-CJT5p5Hg.mjs → save-file-QXKiPlST.mjs} +1 -1
- package/dist/web-components/viewer/{search-PhOwMKHi.mjs → search-B_NePyas.mjs} +1 -1
- package/dist/web-components/viewer/styles-Bedyz7_l.mjs +1 -0
- package/dist/web-components/viewer/useControlsVisibility-Cu-jTDzs.mjs +1 -0
- package/dist/web-components/viewer/useLazyPanelPane-BhLtRixT.mjs +1 -0
- package/dist/web-components/viewer/viewer-nfPJPwwt.mjs +29 -0
- package/dist/web-components/viewer/{vtt-1Pk7Dhsj.mjs → vtt-CUn4h5JB.mjs} +1 -1
- package/dist/web-components/viewer-DN2Mo3vc.mjs +1 -0
- package/dist/web-components/{vtt-CacHieeN.mjs → vtt-C5M5WPSG.mjs} +1 -1
- package/package.json +1 -1
- package/dist/templates/shared/LightboxBody.mjs +0 -9
- package/dist/web-components/About-DhOGPFaI.mjs +0 -1
- package/dist/web-components/AnnotationItems-CNP4CJiT.mjs +0 -1
- package/dist/web-components/Body-DaY1UJIy.mjs +0 -1
- package/dist/web-components/BodyUnloadable-DcTM7hHF.mjs +0 -1
- package/dist/web-components/CanvasView-BWQ4SK2b.mjs +0 -2
- package/dist/web-components/CaptionDetails-DSziiuQV.mjs +0 -1
- package/dist/web-components/ChoiceMenu-DTuEEUeM.mjs +0 -1
- package/dist/web-components/Collection-B9swJtPW.mjs +0 -1
- package/dist/web-components/ControlMenu-Crtho2cs.mjs +0 -1
- package/dist/web-components/Cue-CbZaGwZh.mjs +0 -1
- package/dist/web-components/Document-BfltLWZZ.mjs +0 -1
- package/dist/web-components/DocumentPanel-ZSe40cV4.mjs +0 -1
- package/dist/web-components/FrameAnimation-IfR1czfc.mjs +0 -1
- package/dist/web-components/Gallery-DD06BDQo.mjs +0 -1
- package/dist/web-components/Items-BHzT9A73.mjs +0 -1
- package/dist/web-components/Label-KabnxuMN.mjs +0 -1
- package/dist/web-components/LightboxBody-BhRhdXo6.mjs +0 -1
- package/dist/web-components/ListEnd-CbwNlty-.mjs +0 -1
- package/dist/web-components/LoadedCanvas-CdZ5WOWz.mjs +0 -1
- package/dist/web-components/LoadedMap-DQyQVRVQ.mjs +0 -1
- package/dist/web-components/MapView-duA5WGsu.mjs +0 -3
- package/dist/web-components/Markup-D-kioDf9.mjs +0 -2
- package/dist/web-components/MediaBody-CoOiVXcv.mjs +0 -1
- package/dist/web-components/MediaBody-d8ErTuwT.mjs +0 -1
- package/dist/web-components/PagerLayout-CvOmKtSW.mjs +0 -1
- package/dist/web-components/Panel-CIdjOznL.mjs +0 -1
- package/dist/web-components/PlaceBox-BtIbIotm.mjs +0 -1
- package/dist/web-components/Placeholder-TIyj4ZjR.mjs +0 -1
- package/dist/web-components/Provider-C8se8i4I.mjs +0 -1
- package/dist/web-components/Root-CAJB0-Mh.mjs +0 -1
- package/dist/web-components/Scene-Ctcdt7CD.mjs +0 -1
- package/dist/web-components/SceneView-B6bEx_7x.mjs +0 -1
- package/dist/web-components/Timeline-CfIF4APc.mjs +0 -1
- package/dist/web-components/canvas-CWf_Fag8.mjs +0 -1
- package/dist/web-components/cloverEngine-6djEHNCD.mjs +0 -164
- package/dist/web-components/dragToClose-C-Pf1IeO.mjs +0 -1
- package/dist/web-components/es-BYfHUZ7P.mjs +0 -1
- package/dist/web-components/fi-B5y2qr8T.mjs +0 -1
- package/dist/web-components/fr-ChezCx6V.mjs +0 -1
- package/dist/web-components/fromManifest-gg5Wx14y.mjs +0 -1
- package/dist/web-components/glyphs-JYl2STEr.mjs +0 -1
- package/dist/web-components/hooks-x7rO95CS.mjs +0 -1
- package/dist/web-components/image-layers-BjbeyHBS.mjs +0 -1
- package/dist/web-components/index-BZ7b9k0N.mjs +0 -1
- package/dist/web-components/items-CnAIl9fS.mjs +0 -1
- package/dist/web-components/items-F6hJgdAS.mjs +0 -1
- package/dist/web-components/label-CI88KH2_.mjs +0 -1
- package/dist/web-components/layout-De1MOSYe.mjs +0 -1
- package/dist/web-components/logo-Ckwj7FlP.mjs +0 -1
- package/dist/web-components/nb-8J22f9Td.mjs +0 -1
- package/dist/web-components/nn-Dv1EvzI1.mjs +0 -1
- package/dist/web-components/no-8J22f9Td.mjs +0 -1
- package/dist/web-components/panClearOfControls-ac9uf-Qs.mjs +0 -1
- package/dist/web-components/part-CXts97_M.mjs +0 -1
- package/dist/web-components/playerSurface-HYwEwPK6.mjs +0 -1
- package/dist/web-components/pt-DWYQkATt.mjs +0 -1
- package/dist/web-components/readingLanguages-fs_HqvqQ.mjs +0 -1
- package/dist/web-components/rendererSurface-C0aKlE0v.mjs +0 -22
- package/dist/web-components/search-CkM0O0Z1.mjs +0 -1
- package/dist/web-components/shared-MTsMddHx.mjs +0 -1
- package/dist/web-components/styles-CZV1nbBQ.mjs +0 -1
- package/dist/web-components/useScrollTrack-CEsOU2yT.mjs +0 -1
- package/dist/web-components/viewer/AnnotationItems-CyhVcRFc.mjs +0 -1
- package/dist/web-components/viewer/AnnotationState-Bjztkobn.mjs +0 -1
- package/dist/web-components/viewer/Annotations-Dh_8Tzi0.mjs +0 -2
- package/dist/web-components/viewer/Annotations-wwuOCxzI.mjs +0 -1
- package/dist/web-components/viewer/CaptionDetails-BwCTovy_.mjs +0 -1
- package/dist/web-components/viewer/Collection-DSBxCmXw.mjs +0 -1
- package/dist/web-components/viewer/Connected-CL3N8F2J.mjs +0 -1
- package/dist/web-components/viewer/Connected-DTk1jlyI.mjs +0 -1
- package/dist/web-components/viewer/Contents-DrXckx7d.mjs +0 -1
- package/dist/web-components/viewer/ControlMenu-Bp91s-g_.mjs +0 -1
- package/dist/web-components/viewer/Cue-C-aF8peC.mjs +0 -1
- package/dist/web-components/viewer/Document-BN1rICu3.mjs +0 -1
- package/dist/web-components/viewer/DocumentPanel-CEesxdeY.mjs +0 -1
- package/dist/web-components/viewer/Download-CawEl9MN.mjs +0 -1
- package/dist/web-components/viewer/EntryBodies-nYHMwSSM.mjs +0 -1
- package/dist/web-components/viewer/EntryThumbnail-DrO_0SzR.mjs +0 -1
- package/dist/web-components/viewer/FrameAnimation-CZfzpxaD.mjs +0 -1
- package/dist/web-components/viewer/Gallery-MWHtvjti.mjs +0 -1
- package/dist/web-components/viewer/LanguageChoice-C50T7dPI.mjs +0 -1
- package/dist/web-components/viewer/LightboxBody-C2T7IC29.mjs +0 -1
- package/dist/web-components/viewer/ListEnd-BDuOx__m.mjs +0 -1
- package/dist/web-components/viewer/MediaBody-CEyswliX.mjs +0 -1
- package/dist/web-components/viewer/MediaBody-Dw3DWDjc.mjs +0 -1
- package/dist/web-components/viewer/PagerLayout-Cg2NpqoD.mjs +0 -1
- package/dist/web-components/viewer/PlaceBox-Dckw4Sfk.mjs +0 -1
- package/dist/web-components/viewer/Placeholder-NYVWYg5Q.mjs +0 -1
- package/dist/web-components/viewer/Search-DC259m4f.mjs +0 -1
- package/dist/web-components/viewer/StandaloneItems-E4kpMne9.mjs +0 -1
- package/dist/web-components/viewer/Transcript-D_VGJQxn.mjs +0 -1
- package/dist/web-components/viewer/annotation-collection-DZHa18ir.mjs +0 -1
- package/dist/web-components/viewer/annotation-name-BaNdW2Xk.mjs +0 -1
- package/dist/web-components/viewer/cloverEngine-C04bCSFR.mjs +0 -164
- package/dist/web-components/viewer/image-layers-B09fporZ.mjs +0 -1
- package/dist/web-components/viewer/overlayImage-BR3eJCKq.mjs +0 -1
- package/dist/web-components/viewer/range-regions-By6L5JOK.mjs +0 -1
- package/dist/web-components/viewer/styles-NZLnZPAC.mjs +0 -1
- package/dist/web-components/viewer/viewer-D30YHqyF.mjs +0 -29
- package/dist/web-components/viewer-CH7re5OO.mjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./styles-Bedyz7_l.mjs";e(13,"components/Canvas/media/MediaBody","@layer clover{.clover-canvas-media{position:absolute;inset:0;z-index:1;pointer-events:none;container-type:size}.clover-canvas-media:has([aria-expanded=true]){z-index:4}.clover-canvas-captions{position:absolute;inset:0 0 max(var(--clover-canvas-controls-inset) + var(--clover-controls-shown) * (var(--clover-transport-room) - var(--clover-canvas-controls-inset)),var(--clover-transport-preview-top, 0px) + var(--clover-space-2xs));z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;justify-content:safe flex-end;gap:var(--clover-space-2xs);padding:0 var(--clover-canvas-controls-inset);pointer-events:none;transition:bottom var(--clover-controls-timing)}.clover-canvas:has(.clover-canvas-transport-seek-area[data-tip-hidden]) .clover-canvas-captions{--clover-transport-preview-top: 0px}.clover-canvas-captions-cue{max-width:90%;padding:var(--clover-space-2xs) var(--clover-space-xs);border-radius:var(--clover-radius, 3px);background-color:var(--clover-player-caption-surface, rgb(0 0 0 / 85%));color:var(--clover-player-caption-text, #fff);text-shadow:var(--clover-player-caption-edge, none);font-size:var(--clover-text-s);line-height:1.35;text-align:center;text-wrap:balance;white-space:pre-line}.clover-canvas-captions-cue-label{display:block;font-size:var(--clover-text-s);font-weight:500}.clover-canvas-media>*{--clover-cue-size: var(--clover-text-s)}@container (min-width: 38.5rem){.clover-canvas-media>*{--clover-cue-size: 1rem}.clover-canvas-captions-cue{font-size:inherit}}@container (min-width: 44rem){.clover-canvas-media>*{--clover-cue-size: var(--clover-text-m)}.clover-canvas-captions-cue{font-size:var(--clover-text-m)}}@container (min-width: 47.5rem){.clover-canvas-media>*{--clover-cue-size: var(--clover-text-l)}.clover-canvas-captions-cue{font-size:var(--clover-text-l)}}}");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ae as i,bZ as m,u as s,a9 as u,bn as g}from"./viewer-nfPJPwwt.mjs";const c={year:{year:"numeric"},month:{year:"numeric",month:"long"},day:{dateStyle:"long"},time:{dateStyle:"long",timeStyle:"short"}};function d({at:t,precision:e},a){const n={...c[e],timeZone:"UTC"};try{return new Intl.DateTimeFormat(a,n).format(t)}catch{return new Intl.DateTimeFormat("en",n).format(t)}}function f({at:t,precision:e},a){const n=t.getUTCFullYear();if(e==="time"||n<0)return(a==null?void 0:a.trim())||t.toISOString();const r=o=>String(o).padStart(2,"0");return[String(n).padStart(4,"0"),...e==="year"?[]:[r(t.getUTCMonth()+1)],...e==="day"?[r(t.getUTCDate())]:[]].join("-")}function y({value:t,className:e,within:a}){const{i18n:n,hostLanguage:r}=i(),o=m(t);if(!o)return null;const l=n.language;return s("time",{className:e,dateTime:f(o,String(t)),...u(g(l,a??r)),children:d(o,l)})}const T=Object.freeze(Object.defineProperty({__proto__:null,NavDate:y},Symbol.toStringTag,{value:"Module"}));export{y as N,T as a,f as d,d as f};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var x=Object.defineProperty;var z=(s,t,e)=>t in s?x(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var r=(s,t,e)=>z(s,typeof t!="symbol"?t+"":t,e);import{Canvas2DBackend as P}from"./Canvas2DBackend-
|
|
1
|
+
var x=Object.defineProperty;var z=(s,t,e)=>t in s?x(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var r=(s,t,e)=>z(s,typeof t!="symbol"?t+"":t,e);import{Canvas2DBackend as P}from"./Canvas2DBackend-DFfCzyjL.mjs";import{cb as M,cc as y,c4 as l,cd as b}from"./viewer-nfPJPwwt.mjs";class N{constructor(t,e){r(this,"canvas");r(this,"region");r(this,"painter");r(this,"camera",null);r(this,"size",{width:0,height:0});r(this,"drawnVersion",-1);r(this,"resized",true);r(this,"dragging",null);r(this,"observer",null);r(this,"onPointerDown",t2=>{var i,a;if(t2.pointerType==="mouse"&&t2.button!==0)return;t2.preventDefault(),t2.stopPropagation(),this.dragging=t2.pointerId,(a=(i=this.element).setPointerCapture)==null||a.call(i,t2.pointerId);const e2=this.worldAt(t2);e2&&this.onNavigate(e2,false)});r(this,"onPointerMove",t2=>{if(this.dragging!==t2.pointerId)return;const e2=this.worldAt(t2);e2&&this.onNavigate(e2,true)});r(this,"onPointerUp",t2=>{var e2,i;this.dragging===t2.pointerId&&(this.dragging=null,(i=(e2=this.element).releasePointerCapture)==null||i.call(e2,t2.pointerId))});this.element=t,this.onNavigate=e,this.canvas=document.createElement("canvas"),this.canvas.className="clover-canvas-navigator-image",this.canvas.setAttribute("aria-hidden","true"),this.region=document.createElement("div"),this.region.className="clover-canvas-navigator-region",t.append(this.canvas,this.region),this.painter=P.create(this.canvas),this.measure(),typeof ResizeObserver<"u"&&(this.observer=new ResizeObserver(()=>this.measure()),this.observer.observe(t)),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointermove",this.onPointerMove),t.addEventListener("pointerup",this.onPointerUp),t.addEventListener("pointercancel",this.onPointerUp)}render(t,e,i,a,u,c){if(!e)return;const{width:d,height:p}=this.size;if(this.camera=M(e,this.size),this.painter&&(this.resized||c!==this.drawnVersion)){this.drawnVersion=c,this.resized=false,this.painter.resize(d,p,a);const f=y({items:t,camera:this.camera,viewport:this.size,pixelRatio:a,getTile:u});this.painter.begin();for(const n of f.draws)this.painter.draw({key:n.url,source:n.image.source,width:n.image.width,height:n.image.height,transform:n.transform,crop:n.crop,opacity:1,bleed:n.bleed});this.painter.end()}const o=l(this.camera,this.size,{x:i.x,y:i.y}),h=l(this.camera,this.size,{x:i.x+i.width,y:i.y+i.height}),m=Math.max(0,Math.min(o.x,h.x)),g=Math.max(0,Math.min(o.y,h.y)),v=Math.min(d,Math.max(o.x,h.x)),w=Math.min(p,Math.max(o.y,h.y));Object.assign(this.region.style,{transform:`translate(${m}px, ${g}px)`,width:`${Math.max(0,v-m)}px`,height:`${Math.max(0,w-g)}px`})}measure(){const t=this.element.getBoundingClientRect(),e=Math.max(1,t.width),i=Math.max(1,t.height);e===this.size.width&&i===this.size.height||(this.size={width:e,height:i},this.resized=true)}dispose(){var e,i;(e=this.observer)==null||e.disconnect();const t=this.element;t.removeEventListener("pointerdown",this.onPointerDown),t.removeEventListener("pointermove",this.onPointerMove),t.removeEventListener("pointerup",this.onPointerUp),t.removeEventListener("pointercancel",this.onPointerUp),(i=this.painter)==null||i.dispose(),this.canvas.remove(),this.region.remove()}worldAt(t){if(!this.camera)return null;const e=this.element.getBoundingClientRect();return b(this.camera,this.size,{x:t.clientX-e.left,y:t.clientY-e.top})}}export{N as Navigator};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ae as C,af as I,u as t,ag as T,ah as y,ai as N,a9 as O,v as R,o as S,aj as w,ak as j,al as B,am as H,an as k}from"./viewer-nfPJPwwt.mjs";import"./styles-Bedyz7_l.mjs";import{C as _}from"./CountMenu-DCmA6HdK.mjs";const M={"left-to-right":0,"right-to-left":180,"top-to-bottom":90,"bottom-to-top":270};function $({rotate:e,size:a=16}){return t("svg",{"aria-hidden":"true",focusable:"false",width:a,height:a,viewBox:"0 0 16 16",className:"clover-pager-icon",children:t("path",{d:"M6 3l5 5-5 5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",transform:`rotate(${e} 8 8)`})})}const h=N(function({steps:a,step:o,small:n=false,className:r,disabled:v,onClick:i,...d},c){const{t:f,langOf:m}=C(),{position:g,total:s,direction:p}=a;if(s<2)return null;const l=o==="next",u=l?g+1<s:g>0,b=M[p]+(l?0:180),P=l?"commonNext":"commonPrevious",L=f(P);return t("button",{ref:c,type:"button",className:T(n?"clover-steps-step":`clover-pager-${o}`,r),"data-step":n?o:void 0,"data-direction":p,...O(m(P)),disabled:v,"aria-disabled":!u||void 0,tabIndex:u?void 0:-1,onClick:x=>{u&&(i==null||i(x),x.defaultPrevented||a.step(l?1:-1,x))},...d,children:[t($,{rotate:b,size:n?12:16}),t("span",{style:R,children:L}),t(S,{label:L})]})});N(function({of:a="views",...o},n){const r=w(a,"Previous");return t(h,{ref:n,...o,steps:r,step:"previous"})});N(function({of:a="views",...o},n){const r=w(a,"Next");return t(h,{ref:n,...o,steps:r,step:"next"})});function q({steps:e,as:a="nav",className:o,forwardedRef:n,hostLanguage:r,position:v,nameKey:i="itemsLabel",size:d="large",...c}){const{t:f,langOf:m}=C(void 0,r),g=I(f(i),m(i),c["aria-label"]!==void 0||c["aria-labelledby"]!==void 0,r);if(e.total<2)return null;const s=e.direction==="right-to-left";return t(a,{ref:n,...g.props,className:T("clover-items clover-pager",o),"data-layout":"pager","data-direction":e.direction,"data-size":d==="small"?"small":void 0,...c,children:[g.node,!s&&(v??t(y,{steps:e})),t(h,{steps:e,step:s?"next":"previous",small:d==="small"}),t(h,{steps:e,step:s?"previous":"next",small:d==="small"}),s&&(v??t(y,{steps:e}))]})}function E({steps:e,forwardedRef:a,layout:o,thumbnailSize:n,renderItem:r,header:v,headingLevel:i,request:d,language:c,navigation:f,of:m,secondary:g,singleItem:s,highContrast:p,...l}){const u=j(a,l.lang),b=B(p);return t(k.Provider,{value:u.hostLanguage,children:t(q,{...H(b),...l,steps:e,forwardedRef:u.ref,hostLanguage:u.hostLanguage})})}export{_ as CountMenu,E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as r,cm as t}from"./viewer-nfPJPwwt.mjs";function n(a){return r(t,{...a})}export{n as default};
|
package/dist/web-components/viewer/{PartOfManifest-D22yMgCf.mjs → PartOfManifest-DXnbEPzS.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ae as m,a as O,f as M,bw as $,t as y,u as t,a9 as s,a7 as C}from"./viewer-nfPJPwwt.mjs";import"./styles-Bedyz7_l.mjs";function x({manifest:o,headingLevel:u,onOpened:d}){const{t:l,langOf:i}=m(),{clover:b,language:f}=O("About"),n=M(),c=[].concat(o.partOf??[]).filter(e=>(e==null?void 0:e.id)&&(!e.type||e.type==="Manifest"));if(!$(o)||!c.length)return null;const v=o.items[0].id,{as:g,title:h,group:p}=y(u,`${n}-title`);return t("section",{className:"clover-about-section",...p,children:[t(g,{className:"clover-about-heading",...s(i("aboutPartOf")),...h,children:l("aboutPartOf")}),t("ul",{className:"clover-about-part-of",children:c.map((e,r)=>{const a=C(e.label,f);return t("li",{children:[a.text&&t("span",{id:`${n}-${r}`,...s(a.lang),children:a.text}),t("button",{type:"button",className:"clover-about-open",...s(i("aboutOpenManifest")),"aria-describedby":a.text?`${n}-${r}`:void 0,onClick:()=>void b.goToManifest(e.id,v).then(d),children:l("aboutOpenManifest")})]},e.id)})})]})}export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ae as p,c0 as u,a7 as v,u as a,aR as m,c7 as f,a9 as g,v as x}from"./viewer-nfPJPwwt.mjs";import{GivenMap as y}from"./MapView-Df0wZjCh.mjs";function b({id:e,open:o,onClose:s,feature:t,name:r,language:c}){const{t:i,langOf:d}=p();u(o,()=>s(false));const l=v(r,c);return a("div",{className:"clover-canvas-caption clover-canvas-place","data-open":o,"data-testid":"clover-canvas-place",id:e,role:"group","aria-labelledby":l.text?`${e}-name`:void 0,onKeyDown:n=>{n.key==="Escape"&&(n.preventDefault(),n.stopPropagation(),s(true))},children:[a(m,{className:"clover-canvas-caption-close",id:`close-${e}`,label:i("commonClose"),lang:d("commonClose"),onClick:()=>s(true),children:a(f,{})}),l.text&&a("p",{id:`${e}-name`,style:x,...g(l.lang),children:l.text}),o&&a(y,{navPlace:t,forwardedRef:null,landmark:false,list:false,language:c})]})}export{b as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ae as v,u as r,c8 as h,c9 as g,ca as f,aR as y,k as C,a9 as S,e as b,y as k,bF as w}from"./viewer-nfPJPwwt.mjs";import"./styles-Bedyz7_l.mjs";function P(e,c){const[a,n]=b(e.src),s=e.src??e.service??e.fallback;return k(()=>{if(e.src)return n(e.src);let d=true;return import("./viewer-nfPJPwwt.mjs").then(l=>l.cq).then(({resolveThumbnail:l})=>l(e,w,c)).then(l=>d&&n(l)),()=>{d=false}},[s]),a}function q({still:e,request:c,style:a}){const n=P(e.source,c);return n?r("img",{alt:e.alt,...S(e.alt?e.lang:void 0),src:n,style:a}):r("span",{style:a})}function E({instance:e,media:c,active:a,onToggle:n,more:s=false}){const{t:d,langOf:l}=v(),p=`placeholder-${e}`,u=c?"playerPlay":s?a?"canvasExpandControls":"canvasCollapseControls":a?"imageViewerOpen":"imageViewerClose";return r(y,{className:"clover-canvas-placeholder-toggle",id:p,label:d(u),lang:l(u),onClick:i=>{const m=document.activeElement===i.currentTarget,t=i.currentTarget.closest(".clover-canvas");n(),m&&requestAnimationFrame(()=>{var o;return(o=document.getElementById(p)??(t==null?void 0:t.querySelector('.clover-canvas-transport :is([data-button="pause"], [data-button="play"])'))??(t==null?void 0:t.querySelector(".clover-canvas-viewport")))==null?void 0:o.focus()})},children:c?r(h,{}):a?r(g,{}):r(f,{})})}const I=({instance:e,stills:c,vertical:a,media:n,active:s,lingering:d,onToggle:l,request:p})=>{const u=c.map(({width:t,height:o})=>a?o/t:t/o),i=u.reduce((t,o)=>t+o,0),m=a?1/i:i;return r(C,{children:[n&&s&&r(E,{instance:e,media:true,active:true,onToggle:l}),(s||d)&&r("div",{"aria-hidden":s?void 0:true,className:"clover-canvas-placeholder","data-lingering":!s,"data-media":n,"data-testid":"clover-canvas-placeholder","data-vertical":a,onClick:s?l:void 0,children:r("div",{className:"clover-canvas-placeholder-frame",style:{"--ratio":m},children:c.map((t,o)=>r(q,{still:t,request:p,style:{[a?"height":"width"]:`${u[o]/i*100}%`}},o))})})]})};export{E as PlaceholderToggle,I as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ai as te,ae as se,a as ne,K as p,b9 as re,aa as ce,C as oe,f as ae,e as H,y as h,A as d,ba as ie,u as o,a9 as K,ag as le,a7 as ue,a8 as he}from"./viewer-nfPJPwwt.mjs";import{b as de,s as fe}from"../bringIntoView-CQH5ZgMM.mjs";import{F as ve}from"./FieldPill-Hse1cDBE.mjs";import"./styles-Bedyz7_l.mjs";const O=40,Ie=te(function({headingLevel:D=3,sticky:y=false,size:L="large",as:T="div",className:U,...j},k){const{t:B,langOf:V}=se(),{clover:r,language:G}=ne("Search"),b=p(e=>{var s;return((s=re(e.manifest))==null?void 0:s.id)??null}),t=p(e=>e.search),J=p(e=>ce(e.manifest).canvases),a=p(e=>e.annotationId),Q=oe(r.highlight.subscribe,r.highlight.get,r.highlight.get),I=ae(),[$,S]=H(t.query);h(()=>S(t.query),[t.query]);const l=d(null),v=ie(),P=d(0),q=d(false),R=d(null);h(()=>{if(t.status!=="ready"||!t.set||R.current===t.set)return;R.current=t.set;const e=t.hits[0],s=t.hits.some(n=>a&&n.entryIds.includes(a));e&&!s&&r.selectAnnotation(e.entryIds[0])},[r,t.status,t.set,t.hits,a]),h(()=>{var i;const e=(i=l.current)==null?void 0:i.closest(".clover-content-search-field"),s=e==null?void 0:e.parentElement;if(!y||!e||!s||typeof ResizeObserver>"u")return;const n=new ResizeObserver(()=>s.style.setProperty("--clover-content-search-field",`${e.offsetHeight}px`));return n.observe(e),()=>{n.disconnect(),s.style.removeProperty("--clover-content-search-field")}},[y,b]),h(()=>{var s,n;if(!q.current)return;q.current=false;const e=(n=(s=l.current)==null?void 0:s.closest(".clover-content-search"))==null?void 0:n.querySelector('.clover-content-search-hit[aria-current="true"]');e&&de(e,"nearest")},[a]);const[w,W]=H({set:null,count:O}),z=w.set===t.set?w.count:O,x=()=>W({set:t.set,count:z+O}),A=d(null),E=a?t.hits.findIndex(e=>e.entryIds.includes(a)):-1,N=typeof IntersectionObserver<"u",u=N?Math.min(t.hits.length,Math.max(z,E+1)):t.hits.length,M=d(x);if(M.current=x,h(()=>{const e=A.current;if(!e||!N||u>=t.hits.length)return;const s=new IntersectionObserver(n=>{n.some(i=>i.isIntersecting)&&M.current()},{root:fe(e),rootMargin:"0px 0px 400px 0px"});return s.observe(e),()=>s.disconnect()},[N,u,t.hits.length]),h(()=>{!v||v===P.current||!l.current||(P.current=v,l.current.focus())},[v,b]),!b)return null;const F={position:E,total:t.hits.length,step:e=>{const s=t.hits[F.position+e];s&&(q.current=true,r.selectAnnotation(s.entryIds[0]))}},g=[];t.hits.slice(0,u).forEach((e,s)=>{const n=g[g.length-1];(n==null?void 0:n.canvasId)===e.canvasId?n.hits.push({hit:e,index:s}):g.push({canvasId:e.canvasId,hits:[{hit:e,index:s}]})});const X=he(D),f=t.hits.length,m=t.status==="loading"?"contentSearchLoading":t.status==="error"?"contentSearchError":t.status==="ready"?f===0?"contentSearchResultsNone":f===1?"contentSearchResult":"contentSearchResults":null,Y=m?B(m,{count:f}):"",Z=t.status==="ready"?F:null,_=o("p",{className:"clover-content-search-status",role:"status","data-status":t.status,...K(m?V(m):void 0),children:Y});return o(T,{ref:k,className:le("clover-content-search",U),"data-status":t.status,"data-sticky":y||void 0,...j,children:[o("div",{className:"clover-content-search-field",children:o(ve,{ref:l,id:`${I}-query`,value:$,onChange:e=>{S(e),!e&&t.query&&r.search("")},onSubmit:()=>void r.search($),onClear:()=>{var e;S(""),t.query&&r.search(""),(e=l.current)==null||e.focus()},results:Z,size:L,classes:{form:"clover-content-search-form",query:"clover-content-search-query",clear:"clover-content-search-clear",submit:"clover-content-search-submit"}})}),_,g.map(({canvasId:e,hits:s},n)=>{const i=J.find(c=>c.id===e),C=ue(i==null?void 0:i.label,G);return o("section",{className:"clover-content-search-group","aria-labelledby":`${I}-${n}`,children:[o(X,{id:`${I}-${n}`,className:"clover-content-search-canvas",...K(C.text?C.lang:void 0),children:C.text||e}),o("ol",{className:"clover-content-search-hits",children:s.map(({hit:c,index:ee})=>o("li",{children:o("button",{type:"button",className:"clover-content-search-hit","aria-current":a&&c.entryIds.includes(a)?"true":void 0,"data-highlighted":c.entryIds.includes(Q??""),onClick:()=>r.selectAnnotation(c.entryIds[0]),onPointerEnter:()=>r.highlight.emit(c.entryIds[0]),onPointerLeave:()=>r.highlight.emit(null),onFocus:()=>{r.highlight.emit(c.entryIds[0]),u<f&&ee>=u-5&&x()},onBlur:()=>r.highlight.emit(null),children:[c.before,o("mark",{children:c.match}),c.after]})},c.id))})]},`${e}-${n}`)}),u<f&&o("div",{ref:A,className:"clover-content-search-more","aria-hidden":"true"})]})});export{Ie as Search};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as b,A as I,y as L,Z as V,T as k,a0 as F,a1 as M,u as p,a2 as P,a3 as R,a4 as T,a5 as Z}from"./viewer-nfPJPwwt.mjs";function q({iiifContent:t,items:e,navigation:w,onSelect:n,request:c,header:x=true,forwardedRef:i,...g}){var O;const[a,A]=b(null),[h,m]=b(0),v=typeof t=="string"?t:t==null?void 0:t.id,l=I({iiifContent:t,request:c});l.current={iiifContent:t,request:c},L(()=>{if(e||l.current.iiifContent===void 0)return;const s=new AbortController;return V(l.current.iiifContent,{request:l.current.request,signal:s.signal}).then(o=>{s.signal.aborted||A(o)}).catch(()=>{}),()=>s.abort()},[v,e]);const r=k(()=>F(e||a),[e,a]);if(!r.length)return null;const f=!e&&(a==null?void 0:a.type)==="Manifest",d=M(a==null?void 0:a.viewingDirection),y=w??(f?"id":"homepage");if(g.layout==="pager")return p(R,{...g,forwardedRef:i,steps:P(r,h,d,(s,o)=>{n==null||n(s,o),m(r.indexOf(s))})});const u=(O=a==null?void 0:a.homepage)==null?void 0:O[0],D=u==null?void 0:u.id;return p(Z,{...g,forwardedRef:i,items:r,selected:y==="id"?h:-1,navigation:y,rtl:d==="right-to-left",request:c,showSummary:!f,heading:x&&a?{label:a.label,summary:a.summary,homepage:D,homepageLang:T(u)}:void 0,onActivate:(s,o)=>{n==null||n(s,o),m(r.indexOf(s))},followFocus:s=>m(r.indexOf(s))})}export{q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ae as c,u as e,ag as h,a9 as p,v as u,o as v}from"./viewer-nfPJPwwt.mjs";import"./styles-Bedyz7_l.mjs";function x({steps:i,sentence:t,className:r}){const{t:l,langOf:n}=c(),{position:a,total:o}=i;if(o<1)return null;const s=a+1;return e("div",{className:h("clover-steps",r),children:[e("span",{"aria-live":"polite",className:"clover-steps-position",children:[e("span",{"aria-hidden":t?"true":void 0,children:[s>0?s:"\u2013"," / ",o]}),e("span",{className:"clover-steps-room","aria-hidden":"true",hidden:true,children:[o," / ",o]}),t&&s>0&&e("span",{style:u,...p(n(t)),children:l(t,{index:s,total:o})})]}),e(d,{steps:i,step:"previous"}),e(d,{steps:i,step:"next"})]})}function d({steps:i,step:t}){const{t:r,langOf:l}=c(),n=t==="next",a=n?i.position+1<i.total:i.position>0,o=n?"commonNext":"commonPrevious";return e("button",{type:"button",className:"clover-steps-step","data-step":t,...p(l(o)),"aria-disabled":!a||void 0,tabIndex:a?void 0:-1,onClick:()=>{a&&i.step(n?1:-1)},children:[e("svg",{"aria-hidden":"true",focusable:"false",width:"12",height:"12",viewBox:"0 0 16 16",children:e("path",{d:n?"M6 3l5 5-5 5":"M10 3L5 8l5 5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),e("span",{style:u,children:r(o)}),e(v,{label:r(o)})]})}export{x as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a as g,u as d,a2 as h,a3 as x,a5 as y,K as u,a6 as p,a7 as f,a8 as b,a9 as w,T as v,e as M,y as C,aa as S}from"./viewer-nfPJPwwt.mjs";import{C as N}from"./CountMenu-DCmA6HdK.mjs";import{f as P,r as q}from"./fetchManifest-D7N9WhhF.mjs";import{S as A}from"./Steps-SpwMQdCL.mjs";function I({onSelect:s,forwardedRef:t,...i}){const{clover:l,language:n}=g("Items"),{items:a,position:e}=K(),r=(o,c)=>{s==null||s(o,c);const m=a.findIndex(T=>T.id===o.id);m>=0&&l.goToTarget(m)};return i.layout==="pager"?d(x,{...i,forwardedRef:t,steps:h(a,e,"left-to-right",r),nameKey:"informationPanelTabsTargets",position:d(N,{position:e,total:a.length,list:o=>d(I,{layout:"list",forwardedRef:null,onSelect:o})})}):d(y,{...i,forwardedRef:t,items:a,selected:e,navigation:"id",language:n,request:l.request,showSummary:true,onActivate:r})}function K(){const{language:s}=g("Items"),t=u(e=>e.targets),i=u(e=>e.manifest),l=u(e=>p(e.targets,e.targetIndex,e.manifest,e.canvasId)),n=z(t==null?void 0:t.items,i);return{items:v(()=>((t==null?void 0:t.items)??[]).map(e=>B(e,n.get(e.manifestId)??(e.manifestAs?n.get(e.manifestAs):void 0),s)),[t,n,s]),position:l}}function z(s,t){const{clover:i}=g("Items"),l=v(()=>[...new Set((s??[]).map(e=>e.manifestId))],[s]),[n,a]=M(new Map);return C(()=>{let e=true;return Promise.all(l.map(async r=>[r,await P(i,r)])).then(r=>{e&&a(new Map(r.filter(o=>!!o[1])))}),()=>{e=false}},[i,l]),v(()=>{const e=new Map(n);return t&&e.set(t.id,t),e},[n,t])}function B(s,t,i){const l=t?S(t).canvases:[],n=l.find(m=>m.id===s.canvasId)??l[0],a=t==null?void 0:t.label,e=n==null?void 0:n.label,r=f(e,i).text?e:a,o=a&&r!==a&&f(a,i).text!==f(r,i).text?a:void 0,c=n&&s.region?q(n,s.region):void 0;return{id:s.id,label:r,summary:o,parts:[{id:s.id,type:"Canvas",label:r,resource:n??{id:s.canvasId??s.manifestId},...c?{source:c}:{}}]}}function j({headingLevel:s=3}){const{clover:t,language:i}=g("Items"),l=u(o=>{var c;return(c=o.targets)==null?void 0:c.label}),n=u(o=>{var c;return((c=o.targets)==null?void 0:c.items.length)??0}),a=u(o=>p(o.targets,o.targetIndex,o.manifest,o.canvasId));if(n<2)return null;const e=f(l,i),r=b(s);return d("div",{className:"clover-about clover-collection clover-targets",children:[d("div",{className:"clover-targets-head",children:[e.text&&d(r,{className:"clover-collection-title clover-title",...w(e.lang),children:e.text}),d(A,{className:"clover-targets-steps",steps:{position:a,total:n,step:o=>{const c=a+o;c>=0&&c<n&&t.goToTarget(c)}}})]}),d(I,{layout:"list",forwardedRef:null})]})}export{j as TargetsSection,I as default,K as useTargetItems};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ai as Le,ae as Oe,a as Ie,K as $e,bb as Me,bc as ie,bd as le,T as ue,e as C,be as Re,y as v,bf as Se,C as we,A as L,f as Ae,bg as Ee,af as Pe,u as n,a7 as ze,k as de,a9 as M,v as Fe,o as Ke,$ as Ve,ag as He,b7 as qe}from"./viewer-nfPJPwwt.mjs";import{l as De,a as Ue,p as Xe,b as je,c as Be}from"./vtt-CUn4h5JB.mjs";import{b as pe,s as Ge}from"../bringIntoView-CQH5ZgMM.mjs";import{C as Je}from"./Cue-BjbVzrpl.mjs";import{F as Qe}from"./FieldPill-Hse1cDBE.mjs";import{l as We}from"../languageCode-cCpiU0b0.mjs";import"./styles-Bedyz7_l.mjs";const q=40,D=s=>s.toLocaleLowerCase();function Ye(s,i){if(!i)return s;const m=D(s),f=[];let a=0;for(let p=m.indexOf(i);p>=0;p=m.indexOf(i,p+i.length))p>a&&f.push(s.slice(a,p)),f.push(n("mark",{children:s.slice(p,p+i.length)},p)),a=p+i.length;return a<s.length&&f.push(s.slice(a)),f}const R=s=>s.read==="cues"&&s.kind!=="transcript",ot=Le(function({as:i="div",follow:m=true,find:f=true,sticky:a=false,size:p="large",className:ge,...fe},ve){const{t:U,langOf:X}=Oe(),{clover:o,language:j}=Ie("Transcript"),T=$e(e=>Me(e.manifest,e.canvasId)).find(e=>ie(e).length>0||le(e).length>0),l=ue(()=>T?[...ie(T).map(e=>({...e,read:"cues"})),...le(T).map(e=>({...e,read:"text"}))]:[],[T]),[B,S]=C(0),u=l[B]??l[0],O=Re(),w=(O==null?void 0:O.chosen)??j;v(()=>{if(!w)return;const e=l.findIndex(r=>r.language&&r.language!=="none"&&Se(r.language,w));if(e<0)return;S(e);const t=l[e];R(t)&&o.captions.get()!==t.id&&o.captions.emit(t.id)},[w,l,o]),v(()=>{const e=t=>{const r=l.findIndex(d=>R(d)&&d.id===t);r>=0&&S(r)};return e(o.captions.get()),o.captions.subscribe(e)},[o,l]);const[c,G]=C([]),[me,J]=C([]);v(()=>{if(G([]),J([]),!u)return;let e=true;return(u.read==="cues"?De(u.id,o.request).then(t=>e&&G(Xe(t))):Ue(u.id,o.request).then(t=>e&&J(je(t)))).catch(()=>{}),()=>{e=false}},[u,o]);const h=we(o.media.subscribe,o.media.get,o.media.get),N=Ze(h,c),A=L(null);v(()=>{var t;if(!m||N<0||!h||h.paused)return;const e=(t=A.current)==null?void 0:t.children[N];e&&pe(e,"nearest")},[N,m,h]);const[Q,W]=C(""),g=D(Q.trim()),b=ue(()=>g?c.flatMap((e,t)=>D(e.text).includes(g)?[t]:[]):[],[c,g]),[E,he]=C({query:"",at:0}),x=E.query===g?E.at:0,P=L(null),z=L(false),[Y,be]=C({cues:[],count:q}),Z=Y.cues===c?Y.count:q,F=()=>be({cues:c,count:Z+q}),_=L(F);_.current=F;const K=typeof IntersectionObserver<"u",y=K?Math.min(c.length,Math.max(Z,N+1,(b[x]??-1)+1)):c.length,ee=L(null);v(()=>{const e=ee.current;if(!e||!K||y>=c.length)return;const t=new IntersectionObserver(r=>{r.some(d=>d.isIntersecting)&&_.current()},{root:Ge(e),rootMargin:"0px 0px 400px 0px"});return t.observe(e),()=>t.disconnect()},[K,y,c.length]);const I=b[x];v(()=>{var t;if(I===void 0)return;const e=(t=A.current)==null?void 0:t.children[I];e&&pe(e,"nearest"),z.current=false},[I,g]);const Ce=c.length>0;v(()=>{var d;const e=(d=P.current)==null?void 0:d.closest(".clover-transcript-find"),t=e==null?void 0:e.parentElement;if(!a||!e||!t||typeof ResizeObserver>"u")return;const r=new ResizeObserver(()=>t.style.setProperty("--clover-transcript-find",`${e.offsetHeight}px`));return r.observe(e),()=>{r.disconnect(),t.style.removeProperty("--clover-transcript-find")}},[a,Ce,f]);const V=Ae(),te=Ee(),ne=l.every(R)?"playerCaptions":"transcriptLabel",se=Pe(U(ne),X(ne));if(!T||!u)return null;const Te=l.filter(e=>e.read==="text").length,re=l.map(e=>{const t=We(e.language);return e.read==="cues"?t:Te>1&&t?`TXT ${t}`:"TXT"}),xe=re.map(e=>e&&re.filter(t=>t===e).length===1?e:void 0),ae=u.language&&u.language!=="none"?u.language:void 0,H=l.length>1&&!O&&n(de,{children:[se.node,n("fieldset",{...se.props,className:"clover-transcript-languages",children:l.map((e,t)=>{const r=ze(e.label,j),d=xe[t],ke=r.text||e.language||String(t+1);return n("label",{className:"clover-transcript-language",children:[n("input",{type:"radio",name:`${V}-language`,checked:t===B,onChange:()=>{S(t),R(e)&&o.captions.emit(e.id)}}),d&&n(de,{children:[n("span",{className:"clover-transcript-code",children:d})," "]}),n("span",{style:d?Fe:void 0,...M(r.text?r.lang:void 0),children:ke}),d&&r.text&&n(Ke,{label:r.text,lang:r.lang})]},e.id)})})]}),ce=(e,t=true)=>{if(h){t?qe(h,e.start):h.currentTime=e.start;return}o.goTo(T.id,{time:e.start,...t&&{autoplay:true}})},oe=e=>{const t=c[b[e]];t&&(z.current=true,he({query:g,at:e}),ce(t,false))},ye={position:b.length?x:-1,total:b.length,step:e=>oe(x+e)},k=b.length,$=g?k===0?"contentSearchResultsNone":k===1?"contentSearchResult":"contentSearchResults":null,Ne=f&&u.read==="cues"&&c.length>0&&n("div",{className:"clover-transcript-find",children:[n(Qe,{ref:P,id:`${V}-find`,value:Q,onChange:W,onSubmit:()=>{if(!k)return;const e=E.query===g&&z.current;oe(e?(x+1)%k:x)},onClear:()=>{var e;W(""),(e=P.current)==null||e.focus()},results:g?ye:null,size:p,classes:{form:"clover-transcript-find-field"}}),n("p",{className:"clover-transcript-find-status",role:"status",...M($?X($):void 0),children:$?U($,{count:k}):""})]});return n(i,{ref:ve,className:He("clover-transcript",ge),"data-sticky":a||void 0,...fe,children:[H&&(te?Ve(H,te):H),Ne,u.read==="text"?n("div",{className:"clover-transcript-body",...M(ae),children:me.map((e,t)=>n("p",{children:e},t))}):n("ol",{ref:A,className:"clover-transcript-cues",id:`${V}-cues`,...M(ae),children:c.slice(0,y).map((e,t)=>n("li",{className:"clover-transcript-cue","aria-current":t===N?"true":void 0,"data-match":g&&b.includes(t)?t===I?"current":"true":void 0,children:n("button",{type:"button",onClick:()=>ce(e),onFocus:()=>{y<c.length&&t>=y-5&&F()},children:[n(Je,{start:e.start,className:"clover-transcript-time"}),n("span",{className:"clover-transcript-text clover-cue-text",children:[e.voice&&n("span",{className:"clover-transcript-voice",children:[e.voice,":"," "]}),Ye(e.text,g)]})]})},`${e.start}-${t}`))}),u.read==="cues"&&y<c.length&&n("div",{ref:ee,className:"clover-transcript-more","aria-hidden":"true"})]})});function Ze(s,i){const[m,f]=C(-1);return v(()=>{if(!s||!i.length){f(-1);return}const a=()=>f(Be(i,s.currentTime));return a(),s.addEventListener("timeupdate",a),s.addEventListener("seeked",a),()=>{s.removeEventListener("timeupdate",a),s.removeEventListener("seeked",a)}},[s,i]),m}export{ot as Transcript};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b4 as he,ae as ke,aF as Ne,A as T,e as M,_ as Z,T as Te,u as e,bM as B,o as pe,aN as le,a9 as S,aZ as Ce,af as we,c0 as Ee,y as Fe,ag as Pe,k as ce}from"./viewer-nfPJPwwt.mjs";import{u as Se,g as Ie,a as Oe,b as ue,l as $e,s as Be,T as A,c as Me,P as Re,V as Ve,d as xe,C as De,F as Ae,e as Ke,E as Le,f as Ue,p as qe}from"./Transport-z_kdVisw.mjs";import{u as ze,P as Ze,E as _e}from"./EntryThumbnail-B_dP3w4o.mjs";import{l as ie}from"../languageCode-cCpiU0b0.mjs";import"./styles-Bedyz7_l.mjs";const je=a=>typeof(a==null?void 0:a.thumbnail)=="string"?{src:a.thumbnail}:he(a==null?void 0:a.thumbnail);function de(a,i){var h;let b=-1;a.forEach((I,C)=>{I.start<=i&&(b=C)});const f=(h=a[b])==null?void 0:h.end;return f!==void 0&&i>=f?-1:b}let z;function Xe(){if(z===void 0){if(typeof document>"u")return true;const a=document.createElement("video");a.volume=.5,z=a.volume===.5}return z}function Ge({id:a,label:i,labelLang:b,button:f,icon:h,active:I,current:C,options:O,selected:R,onSelect:l,request:K,asMenu:$=false}){const[p,v]=M(false),d=T(null),g=T(null),V=T(null),w=T(false),E=we(i,b),k=O.some(r=>ie(r.language));Ee(p,()=>v(false));const s=()=>{var r;v(false),(r=g.current)==null||r.focus()};return Fe(()=>{if(!p)return;const r=t=>{var c,u,N;if(t instanceof KeyboardEvent){if(t.key!=="Escape")return;(c=d.current)!=null&&c.contains(document.activeElement)&&(t.preventDefault(),(u=g.current)==null||u.focus())}else if((N=d.current)!=null&&N.contains(t.target))return;v(false)};return document.addEventListener("pointerdown",r),document.addEventListener("keydown",r,true),()=>{document.removeEventListener("pointerdown",r),document.removeEventListener("keydown",r,true)}},[p]),Z(()=>{const r=V.current,t=d.current,c=t==null?void 0:t.closest(".clover-canvas-transport"),u=t==null?void 0:t.closest(".clover-canvas-media");if(!p||!r||!t||!c||!u)return;const N=()=>qe(r,t,c,u);N();const F=new ResizeObserver(N);return F.observe(u),F.observe(c),F.observe(r),()=>F.disconnect()},[p]),e("div",{className:"clover-canvas-transport-menu",ref:d,onBlur:r=>{var c;const t=r.relatedTarget;p&&t instanceof Node&&!((c=d.current)!=null&&c.contains(t))&&v(false)},children:[e("button",{"aria-controls":a,"aria-describedby":C?`${a}-current`:void 0,"aria-expanded":p,"aria-label":i,...S(b),className:"clover-canvas-transport-button","data-active":I?"":void 0,"data-button":f,onClick:()=>v(r=>!r),ref:g,type:"button",children:[h,e(pe,{label:i})]}),C&&e("span",{hidden:true,id:`${a}-current`,...S(C.lang),children:C.label}),p&&E.node,p&&e("fieldset",{...E.props,className:Pe("clover-canvas-transport-options",$&&"clover-canvas-menu"),id:a,ref:V,children:O.map((r,t)=>{const c=ie(r.language);return e("label",{className:"clover-canvas-transport-option",onPointerDown:()=>{w.current=true},children:[e("input",{checked:R===t,name:a,onChange:()=>l(t),onClick:()=>{w.current&&s()},onKeyDown:u=>{w.current=false,u.key==="Enter"&&(u.preventDefault(),l(t),s())},type:"radio"}),r.time&&e(ce,{children:[e("span",{className:"clover-cue-time",children:r.time})," "]}),k&&(c?e(ce,{children:[e("span",{className:"clover-canvas-transport-code",children:c})," "]}):e("span",{className:"clover-canvas-transport-code","aria-hidden":"true"})),e("span",{className:"clover-cue-text",...S(r.lang),children:r.label}),R===t&&e(_e,{source:r.thumbnail,request:K,large:true})]},t)})})]})}const Je=a=>a.querySelector(":scope > .clover-tip"),Qe=a=>{try{return a.matches(":focus-visible")}catch{return false}},tn=({instance:a,controller:i,kind:b,captions:f,activeCaption:h,onCaptionChange:I,fullscreen:C=false,isFullscreen:O=false,video:R,chapters:l=[],highlightedChapter:K=null,onChapterHighlight:$,request:p,fill:v})=>{var te,re;const{t:d,langOf:g}=ke(),V=Ne()||b==="video",w=T(null);Se(w);const{paused:E,currentTime:k,duration:s,buffered:r,muted:t,volume:c}=i,u=de(l,k),[N,F]=M(-1),[_,ve]=M(0),j=T(-1),X=n=>{var o;j.current!==n&&(j.current=n,F(n),$==null||$(((o=l[n])==null?void 0:o.id)??null))},[G,J]=M(false),[x,Q]=M(false),y=x?N:G?u:-1,W=(x||G)&&s>0,me=ze(je(l[y]),Ze,p),L=N>=0?N:l.findIndex(n=>n.id!==void 0&&n.id===K),Y=T(null);Z(()=>{const n=Y.current,o=n==null?void 0:n.closest(".clover-canvas"),m=n&&y>=0?Je(n):null;if(!o||!m)return;const ae="--clover-transport-preview-top",se=()=>o.style.setProperty(ae,`${o.getBoundingClientRect().bottom-m.getBoundingClientRect().top}px`);se();const oe=new ResizeObserver(se);return oe.observe(m),()=>{oe.disconnect(),o.style.removeProperty(ae)}},[y]);const D=n=>{const{start:o,end:m=s}=l[n];return{left:o/s*100,width:(m-o)/s*100}},fe=E?"playerPlay":"playerPause",H={label:d("playerCaptionsOff"),lang:g("playerCaptionsOff")},ge=t?"playerUnmute":"playerMute",ye=O?"imageExitFullScreen":"imageFullScreen",ee=s?k/s*100:0,U=Te(()=>{const n=Ie(l,s);return n.length?Oe(n):void 0},[l,s]),be=s?r/s*100:0,q=C&&V,P=T(null),ne=T(null);return Z(()=>{var m;const n=P.current;if(!n||n.isConnected)return;P.current=null;const o=document.activeElement;(!o||o===document.body)&&((m=ne.current)==null||m.focus())},[f.length,l.length,q]),e("div",{className:"clover-canvas-transport","data-kind":b,"data-testid":"clover-canvas-transport",onFocus:n=>{P.current=n.target},onBlur:n=>{const o=n.target,m=n.relatedTarget;if(m instanceof Node){n.currentTarget.contains(m)||(P.current=null);return}queueMicrotask(()=>{P.current===o&&o.isConnected&&(P.current=null)})},children:[e("div",{ref:Y,className:"clover-canvas-transport-seek-area",onPointerMove:n=>{if(!s||n.target.closest(".clover-tip"))return;const o=Be(n.currentTarget,n.clientX)*s;Q(true),ve(Math.floor(o)),X(de(l,o))},onPointerLeave:()=>{Q(false),X(-1)},style:W?{"--clover-transport-preview":ue(y>=0?D(y).left+D(y).width/2:(x?_:k)/s*100)}:void 0,children:[e("input",{"aria-label":d("playerSeek"),lang:g("playerSeek"),"aria-valuetext":`${B(k)} / ${B(s)}${u>=0?`, ${l[u].label}`:""}`,className:"clover-canvas-transport-seek",onFocus:n=>J(Qe(n.currentTarget)),onBlur:()=>J(false),max:s||0,min:0,onChange:n=>i.seek(Number(n.target.value)),step:"any","data-gaps":U?"":void 0,style:{"--clover-transport-progress":`${ee}%`,"--clover-transport-loaded":`${be}%`,...U&&{"--clover-transport-gaps":U,"--clover-transport-at":ee/100}},type:"range",value:k}),L>=0&&s>0&&e("span",{"aria-hidden":"true",className:"clover-canvas-transport-chapter-span",style:{left:ue(D(L).left),width:$e(D(L).width)}}),W&&e(pe,{lead:B(x?_:k),label:((te=l[y])==null?void 0:te.label)??"",lang:(re=l[y])==null?void 0:re.lang,image:y>=0?me:void 0},y)]}),e("div",{className:"clover-canvas-transport-bar",ref:w,children:[e(A,{words:fe,button:E?"play":"pause",shortcut:le.play,onClick:i.toggle,buttonRef:ne,children:E?e(Me,{}):e(Re,{})}),e(A,{words:ge,button:"mute",shortcut:le.mute,onClick:i.toggleMute,children:t||c===0?e(Ve,{}):e(xe,{})}),Xe()&&e("input",{"aria-label":d("playerVolume"),lang:g("playerVolume"),className:"clover-canvas-transport-volume",max:1,min:0,onChange:n=>i.setVolume(Number(n.target.value)),step:.05,style:{"--clover-transport-progress":`${(t?0:c)*100}%`},type:"range",value:t?0:c}),e("span",{className:"clover-canvas-transport-status",children:[e("span",{className:"clover-canvas-transport-time",children:[e("span",{"aria-label":d("playerCurrentTime"),...S(g("playerCurrentTime")),children:B(k)}),e("span",{"aria-hidden":"true",children:" / "}),e("span",{"aria-label":d("playerDuration"),...S(g("playerDuration")),children:B(s)})]}),u>=0&&e("span",{className:"clover-canvas-transport-chapter",...S(l[u].lang),children:l[u].label})]}),(f.length>0||q||v)&&e("div",{className:"clover-canvas-transport-end",children:[f.length>0&&e(Ge,{id:`${a}-captions`,label:d("playerCaptions"),labelLang:g("playerCaptions"),button:"captions",icon:e(De,{on:h>=0}),active:h>=0,current:f[h]??H,options:[H,...f],selected:h+1,onSelect:n=>I(n-1)}),v&&e(A,{words:v.filled?"playerFit":"playerFill",button:"fill",onClick:v.onToggle,children:v.filled?e(Ae,{}):e(Ke,{})}),q&&e(A,{words:ye,button:"fullscreen",onClick:n=>void Ce(n.currentTarget,R),children:O?e(Le,{}):e(Ue,{})})]})]})]})};export{tn as T,je as a,de as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ae as b,u as o,a9 as g,o as m,_ as x,a_ as f,a$ as k}from"./viewer-nfPJPwwt.mjs";import{a as y}from"./styles-Bedyz7_l.mjs";function z({words:r,button:e,shortcut:t,disabled:n,pressed:s,onClick:a,buttonRef:c,children:v}){const{t:i,langOf:h}=b(),d=i(r);return o("button",{"aria-label":d,...g(h(r)),"aria-keyshortcuts":t==null?void 0:t.keys,"aria-disabled":n||void 0,"aria-pressed":s,className:"clover-canvas-transport-button","data-button":e,onClick:a,ref:c,type:"button",children:[v,o(m,{label:d,shortcut:t})]})}function M(r){x(()=>{const e=r.current,t=e==null?void 0:e.closest(".clover-canvas");if(!e||!t)return;const n=()=>{const a=e.offsetHeight;a&&t.style.setProperty("--clover-transport-bar-height",`${a}px`)};n();const s=new ResizeObserver(n);return s.observe(e),()=>{s.disconnect(),t.style.removeProperty("--clover-transport-bar-height")}},[r])}const p=r=>`var(--clover-transport-thumb) / 2 + (100% - var(--clover-transport-thumb)) * ${r/100}`,T=r=>`calc(${p(r)})`,B=r=>`calc((100% - var(--clover-transport-thumb)) * ${r/100})`;function F(r){const e="var(--clover-transport-gap) / 2";return`linear-gradient(to right, ${[...r.flatMap(n=>[`#000 0 calc(${p(n)} - ${e})`,`transparent 0 calc(${p(n)} + ${e})`]),"#000 0"].join(", ")})`}function $(r,e){if(!(e>0))return[];const t=(a,c)=>Math.abs(a-c)<.05,n=[],s=a=>{a>0&&a<e&&!n.some(c=>t(c,a))&&n.push(a)};for(const a of r)s(a.start);for(const a of r)a.end!==void 0&&Number.isFinite(a.end)&&!r.some(c=>t(c.start,a.end))&&s(a.end);return n.sort((a,c)=>a-c).map(a=>a/e*100)}function H(r,e){const t=r.querySelector("input")??r,n=t.getBoundingClientRect(),s=parseFloat(getComputedStyle(t).getPropertyValue("--clover-transport-thumb"))||0,a=n.width-s;return a>0?Math.min(1,Math.max(0,(e-n.left-s/2)/a)):0}function P(r,e,t,n){const s=n.getBoundingClientRect(),a=s.height-(t.getBoundingClientRect().bottom-e.getBoundingClientRect().top);r.style.setProperty("--clover-transport-menu-above",`${a}px`),r.style.removeProperty("--clover-transport-menu-shift");const c=r.getBoundingClientRect(),v=parseFloat(getComputedStyle(t).paddingRight)||0,i=Math.max(s.left+v-c.left,Math.min(0,s.right-v-c.right));i&&r.style.setProperty("--clover-transport-menu-shift",`${i}px`)}const l={xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 512 512","aria-hidden":true,focusable:false},L=()=>o("svg",{...l,children:o("path",{d:"M133 440a35.37 35.37 0 01-17.5-4.67c-12-6.8-19.46-20-19.46-34.33V111c0-14.37 7.46-27.53 19.46-34.33a35.13 35.13 0 0135.77.45l247.85 148.36a36 36 0 010 61.11L151.23 435a35.5 35.5 0 01-18.23 5z"})}),I=()=>o("svg",{...l,children:o("path",{d:"M224 432h-80V80h80zm144 0h-80V80h80z"})}),S=()=>o("svg",{...l,children:[o("path",{d:"M232 416a23.88 23.88 0 01-14.2-4.68 8.27 8.27 0 01-.66-.51L125.76 336H56a24 24 0 01-24-24V200a24 24 0 0124-24h69.75l91.37-74.81a8.27 8.27 0 01.66-.51A24 24 0 01256 120v272a24 24 0 01-24 24z"}),o("path",{d:"M320 336a16 16 0 01-14.29-23.16c8.34-16.63 12.29-34.5 12.29-56.84s-3.95-40.21-12.29-56.84a16 16 0 0128.58-14.32C345.06 205.86 350 228.13 350 256s-4.94 50.14-15.71 71.16A16 16 0 01320 336zM368 384a16 16 0 01-13.87-24C373.85 325.75 384 292.28 384 256c0-36.28-10.15-69.75-29.87-104a16 16 0 0127.74-16C404.19 174.71 416 214.17 416 256s-11.81 81.29-34.13 120A16 16 0 01368 384z",fillOpacity:"0.85"})]}),V=()=>o("svg",{...l,children:[o("path",{d:"M232 416a23.88 23.88 0 01-14.2-4.68 8.27 8.27 0 01-.66-.51L125.76 336H56a24 24 0 01-24-24V200a24 24 0 0124-24h69.75l91.37-74.81a8.27 8.27 0 01.66-.51A24 24 0 01256 120v272a24 24 0 01-24 24z"}),o("path",{d:"M320 196l128 120M448 196L320 316",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"32"})]}),q=({on:r=false})=>o("svg",{...l,"data-on":r||void 0,className:"clover-captions-icon",children:[r?o("rect",{x:"22",y:"86",width:"468",height:"340",rx:"74",fill:"currentColor"}):o("rect",{x:"40",y:"104",width:"432",height:"304",rx:"56",fill:"none",stroke:"currentColor",strokeWidth:"36"}),o("path",{className:"clover-captions-icon-letters",d:"M228 216a48 48 0 1 0 0 80M356 216a48 48 0 1 0 0 80",fill:"none",stroke:r?"var(--clover-color-control, #1a1d1e)":"currentColor",strokeLinecap:"round",strokeWidth:"36"})]}),u=()=>o("rect",{x:"40",y:"104",width:"432",height:"304",rx:"56",fill:"none",stroke:"currentColor",strokeWidth:"36"}),R=()=>o("svg",{...l,children:[o(u,{}),o("path",{d:"M204 208l-48 48 48 48M308 208l48 48-48 48",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36"})]}),j=()=>o("svg",{...l,children:[o(u,{}),o("path",{d:"M140 208l48 48-48 48M372 208l-48 48 48 48",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36"})]}),W=()=>o("svg",{...l,children:o(k,{})}),O=()=>o("svg",{...l,children:o(f,{})});y(14,"components/Canvas/media/Transport",'@layer clover{.clover-canvas{--clover-transport-room: calc( var(--clover-transport-bar-height, var(--clover-control)) + var(--clover-space-l) + var(--clover-space-xs) + var(--clover-canvas-controls-inset) + var(--clover-space-m) )}.clover-canvas-transport{position:absolute;inset:auto 0 0;z-index:2;display:flex;flex-direction:column;padding:var(--clover-space-xl) var(--clover-canvas-controls-inset) var(--clover-canvas-controls-inset);--clover-controls-edge: 1;--clover-transport-thumb: 12px;--clover-transport-track: var(--clover-space-xs);-webkit-user-select:none;user-select:none;--clover-transport-menu-room: calc( 100cqb - var(--clover-canvas-controls-inset) - var(--clover-control) - var(--clover-space-s) - var(--clover-space-xs) )}.clover-canvas-transport:before{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#000000c7,#0009 calc(100% - var(--clover-space-xl)),#0000);pointer-events:none;content:""}.clover-canvas-transport:has([aria-expanded=true],:focus-visible,>.clover-canvas-transport-seek-area:hover){z-index:4}.clover-canvas-transport-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--clover-space-xs) var(--clover-space-s);min-width:0}.clover-canvas-transport-bar>*{flex-shrink:0}.clover-canvas-transport-bar>:is(:hover,:active,:focus-within){z-index:1}.clover-canvas-transport-bar>.clover-canvas-transport-status{display:flex;flex:1 1 0;align-items:center;gap:var(--clover-space-s);min-width:min-content}.clover-canvas-transport-end{display:flex;gap:var(--clover-space-s);margin-inline-start:auto}@container (max-width: 37.5rem){.clover-canvas-transport-bar:has([data-button=chapters])>.clover-canvas-transport-status{order:-1;flex-basis:100%}.clover-canvas-transport-status>.clover-canvas-transport-chapter{max-width:none}}@container (max-width: 28rem){.clover-canvas-transport-bar>.clover-canvas-transport-status{order:-1;flex-basis:100%}}.clover-canvas-transport-button svg{fill:currentColor;stroke:none}.clover-canvas-transport-button svg [stroke]{fill:none}.clover-canvas-transport-button:hover,.clover-canvas-transport-button:focus-visible{background-color:var(--clover-color-accent, #0065c3)}:where([data-high-contrast]) .clover-canvas-transport-button:is(:hover,:focus-visible){background-color:var(--clover-accent-fill)}:where([data-high-contrast]) .clover-canvas-transport-button:hover:not(:focus-visible){outline:var(--clover-accent-ring-hover);outline-offset:1px}button.clover-canvas-transport-button[aria-pressed=true]:after{content:"";position:absolute;inset-inline:var(--clover-space-s);bottom:var(--clover-space-2xs);border-bottom:2px solid;border-radius:1px}.clover-canvas-transport-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--clover-color-secondary, #fff),0 0 0 4px var(--clover-color-accent, #0065c3)}.clover-canvas-transport-seek-area{position:relative;display:flex;margin-bottom:var(--clover-space-xs);--clover-transport-gap: var(--clover-space-2xs)}.clover-canvas-transport input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:var(--clover-space-l);margin:0;background:transparent;cursor:pointer;touch-action:none}.clover-canvas-transport input.clover-canvas-transport-volume{width:var(--clover-space-2xl)}@container (max-width: 28rem){.clover-canvas-transport input.clover-canvas-transport-volume{width:var(--clover-space-xl)}.clover-canvas-transport-bar,.clover-canvas-transport-end{column-gap:var(--clover-space-xs)}}.clover-canvas-transport input[type=range]::-webkit-slider-runnable-track{height:var(--clover-transport-track);border-radius:var(--clover-radius, 3px);background:linear-gradient(to right,var(--clover-color-accent, #0065c3) var(--clover-transport-progress, 0%),rgb(255 255 255 / 90%) var(--clover-transport-progress, 0%),rgb(255 255 255 / 90%) var(--clover-transport-loaded, 0%),var(--clover-player-track, rgb(255 255 255 / 65%)) var(--clover-transport-loaded, 0%));box-shadow:var(--clover-player-track-shadow, none)}.clover-canvas-transport input[type=range]::-moz-range-track{height:var(--clover-transport-track);border-radius:var(--clover-radius, 3px);background:linear-gradient(to right,var(--clover-color-accent, #0065c3) var(--clover-transport-progress, 0%),rgb(255 255 255 / 90%) var(--clover-transport-progress, 0%),rgb(255 255 255 / 90%) var(--clover-transport-loaded, 0%),var(--clover-player-track, rgb(255 255 255 / 65%)) var(--clover-transport-loaded, 0%));box-shadow:var(--clover-player-track-shadow, none)}.clover-canvas-transport input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--clover-transport-thumb);height:var(--clover-transport-thumb);margin-top:calc((var(--clover-transport-track) - var(--clover-transport-thumb)) / 2);border:none;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-player-text, #fff)}.clover-canvas-transport input[type=range]::-moz-range-thumb{width:var(--clover-transport-thumb);height:var(--clover-transport-thumb);border:none;border-radius:var(--clover-radius-pill, 2rem);background-color:var(--clover-player-text, #fff)}.clover-canvas-transport input[type=range]:focus-visible{outline:none}.clover-canvas-transport input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--clover-color-accent, #0065c3),0 0 0 4px var(--clover-player-text, #fff),0 0 0 6px #0009}.clover-canvas-transport input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--clover-color-accent, #0065c3),0 0 0 4px var(--clover-player-text, #fff),0 0 0 6px #0009}.clover-canvas-transport-time{display:flex;align-items:center;gap:var(--clover-space-xs);color:var(--clover-player-text, #fff);font-size:var(--clover-text-s);font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 2px rgb(0 0 0 / 90%)}.clover-canvas-transport-frames{position:relative;display:flex}button.clover-canvas-transport-time{margin:0;padding:var(--clover-space-2xs) var(--clover-space-xs);border:0;border-radius:var(--clover-radius, 3px);background:none;font:inherit;font-size:var(--clover-text-s);cursor:pointer}button.clover-canvas-transport-time:is(:hover,[aria-expanded=true]){background-color:#0006}button.clover-canvas-transport-time:focus-visible{outline:2px solid var(--clover-player-text, #fff)}.clover-canvas-transport-place{display:inline-grid;justify-items:end;font-variant-numeric:tabular-nums}.clover-canvas-transport-place>*{grid-area:1 / 1}.clover-canvas-transport-place>.clover-canvas-transport-place-room[hidden]{display:block;visibility:hidden}.clover-canvas-transport-frames>.clover-canvas-menu{right:0;bottom:calc(100% + var(--clover-space-s));left:auto;max-width:min(20rem,100cqi - 2 * var(--clover-canvas-controls-inset));max-height:min(24rem,var(--clover-transport-menu-room),var(--clover-transport-menu-above, 100cqb) - var(--clover-space-s) - var(--clover-space-xs));translate:var(--clover-transport-menu-shift, 0px) 0}.clover-canvas-transport-menu{position:relative;display:flex}.clover-canvas-transport-options{position:absolute;right:0;bottom:calc(100% + var(--clover-space-s));display:flex;flex-direction:column;box-sizing:border-box;min-width:min(11rem,100cqi - 2 * var(--clover-canvas-controls-inset));max-width:calc(100cqi - 2 * var(--clover-canvas-controls-inset));max-height:min(16rem,var(--clover-transport-menu-room),var(--clover-transport-menu-above, 100cqb) - var(--clover-space-s) - var(--clover-space-xs));translate:var(--clover-transport-menu-shift, 0px) 0;margin:0;padding:var(--clover-space-xs);border:none;border-radius:var(--clover-radius, 3px);background-color:var(--clover-player-menu-surface, #151718);color:var(--clover-player-text, #fff);overflow-y:auto}.clover-canvas-transport-option{display:flex;flex:none;align-items:center;gap:var(--clover-space-xs);min-height:var(--clover-space-l);padding:var(--clover-space-xs) var(--clover-space-s);border-radius:var(--clover-radius, 3px);font-size:var(--clover-text-s);cursor:pointer}.clover-canvas-transport-option:hover{background-color:var(--clover-player-menu-hover, #26292b)}.clover-canvas-transport-option:has(input:checked){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 24%,transparent);font-weight:600}.clover-canvas-transport-option:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--clover-player-text, #fff)}.clover-canvas-transport-code{flex:none;min-width:var(--clover-space-l);color:color-mix(in srgb,currentColor 72%,transparent);font-size:var(--clover-text-xs);font-weight:600;line-height:1}.clover-canvas-transport-options:has(.clover-canvas-transport-code),.clover-canvas-transport-menu:has([data-button=chapters]) .clover-canvas-transport-options{min-width:min(16rem,100cqi - 2 * var(--clover-canvas-controls-inset))}.clover-canvas-transport-option:has(>.clover-entry-thumbnail){display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:start;gap:var(--clover-space-2xs) var(--clover-space-s);padding-block-end:var(--clover-space-s)}.clover-canvas-transport-options.clover-canvas-menu{border-radius:var(--clover-radius, 6px);background-color:var(--clover-color-secondary, #fff);color:var(--clover-color-primary, #1a1d1e)}.clover-canvas-menu>.clover-canvas-transport-option{align-items:baseline;gap:var(--clover-space-s);font-size:inherit}.clover-canvas-menu>.clover-canvas-transport-option:hover{background-color:var(--clover-color-secondary-muted, #e6e8eb)}@media (forced-colors: none){.clover-canvas-menu>.clover-canvas-transport-option:has(input:checked){background-color:color-mix(in srgb,var(--clover-color-accent, #0065c3) 8%,transparent)}}.clover-canvas-menu>.clover-canvas-transport-option:has(input:focus-visible){box-shadow:none;outline:2px solid var(--clover-color-accent, #0065c3);outline-offset:-2px}.clover-canvas-transport-option input{position:absolute;opacity:0;pointer-events:none}@media (forced-colors: active){.clover-canvas-transport button.clover-canvas-transport-button{border:1px solid ButtonText}.clover-canvas-transport input[type=range]{forced-color-adjust:none}.clover-canvas-transport input[type=range]::-webkit-slider-runnable-track{border:1px solid CanvasText;background:linear-gradient(to right,Highlight var(--clover-transport-progress, 0%),Canvas var(--clover-transport-progress, 0%));box-shadow:none}.clover-canvas-transport input[type=range]::-moz-range-track{border:1px solid CanvasText;background:linear-gradient(to right,Highlight var(--clover-transport-progress, 0%),Canvas var(--clover-transport-progress, 0%));box-shadow:none}.clover-canvas-transport input[type=range]::-webkit-slider-thumb,.clover-canvas-transport input[type=range]:focus-visible::-webkit-slider-thumb{background-color:CanvasText;box-shadow:0 0 0 2px Canvas}.clover-canvas-transport input[type=range]::-moz-range-thumb,.clover-canvas-transport input[type=range]:focus-visible::-moz-range-thumb{background-color:CanvasText;box-shadow:0 0 0 2px Canvas}.clover-canvas-transport input[type=range]:focus-visible{outline:2px solid CanvasText;outline-offset:2px}.clover-canvas-transport-button:focus-visible{outline:3px solid CanvasText;outline-offset:2px;box-shadow:none}.clover-canvas-transport-button:is([data-active],[aria-pressed=true]),.clover-canvas-transport-option:has(input:checked){background-color:Highlight;color:HighlightText}.clover-captions-icon[data-on] .clover-captions-icon-letters{stroke:ButtonFace}.clover-canvas-transport-button[data-active] .clover-captions-icon[data-on] .clover-captions-icon-letters{stroke:Highlight}}@media (prefers-reduced-motion: reduce){.clover-canvas-transport,.clover-canvas-transport-button,.clover-canvas-transport-button svg{transition:none}}.clover-canvas-transport-seek[data-gaps]{--clover-transport-disk: calc(var(--clover-transport-thumb) / 2 + 1px);-webkit-mask-image:radial-gradient(circle at calc(var(--clover-transport-thumb) / 2 + (100% - var(--clover-transport-thumb)) * var(--clover-transport-at, 0)) 50%,#000 var(--clover-transport-disk),transparent var(--clover-transport-disk)),var(--clover-transport-gaps);mask-image:radial-gradient(circle at calc(var(--clover-transport-thumb) / 2 + (100% - var(--clover-transport-thumb)) * var(--clover-transport-at, 0)) 50%,#000 var(--clover-transport-disk),transparent var(--clover-transport-disk)),var(--clover-transport-gaps)}.clover-canvas-transport-seek[data-gaps]:focus-visible{--clover-transport-disk: calc(var(--clover-transport-thumb) / 2 + 6px)}.clover-canvas-transport-chapter-span{position:absolute;top:50%;box-sizing:border-box;border-inline:calc(var(--clover-transport-gap) / 2) solid transparent;background-clip:padding-box;height:var(--clover-space-s);translate:0 -50%;border-radius:var(--clover-radius, 3px);background-color:var(--clover-player-text, #fff);opacity:.5;pointer-events:none}.clover-canvas-transport-seek-area>.clover-tip{left:var(--clover-transport-preview, 50%)}.clover-canvas-transport-seek-area>.clover-tip:has(>.clover-tip-image){padding:var(--clover-space-s)}.clover-canvas-transport-seek-area>.clover-tip .clover-tip-image{width:var(--clover-picture);max-height:none;margin-block-end:var(--clover-space-xs)}.clover-canvas-transport-seek-area:is(:hover,:has(>input:focus-visible)):not([data-tip-hidden])>.clover-tip{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}@media (forced-colors: active){.clover-canvas-transport-chapter-span{background-color:Highlight;opacity:1}}.clover-canvas-transport-status>.clover-canvas-transport-chapter{flex:1 1 auto;overflow:hidden;width:0;min-width:0;max-width:16rem;color:color-mix(in srgb,var(--clover-player-text, #fff) 85%,transparent);font-size:var(--clover-text-s);text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgb(0 0 0 / 90%)}}');export{q as C,O as E,j as F,I as P,z as T,V,F as a,T as b,L as c,S as d,R as e,W as f,$ as g,B as l,P as p,H as s,M as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ax as l,c1 as g,bA as u,c2 as y,bB as f}from"./viewer-nfPJPwwt.mjs";const w=100;async function p(t,n,i){if(typeof t=="string")return await f(n,t,i);const e=t;return e!=null&&e.id&&e.type==="AnnotationPage"&&!e.items?await f(n,e.id,i):e}async function h(t,n,i){const e=String((t==null?void 0:t.type)??(t==null?void 0:t["@type"])??""),c=/AnnotationCollection/.test(e),o=c?[]:[t],r=new Set(c?[]:[t.id]);let a=c?t.first:t.next;for(;a&&o.length<w;){const s=typeof a=="string"?a:a.id;if(r.has(s??a))break;r.add(s??a);const d=await p(a,n,i);o.push(d),a=d.next}return o}async function b(t,{request:n,signal:i}={}){const e=[];for(const c of l(t)){const o=await p(c,n,i);for(const r of await h(o,n,i)){const a=await g(r),s=a.id??`added-${e.length}`,d=u(a,s);d.length&&e.push({id:s,label:y(a,r===o?c:void 0)??o.label,source:"added",entries:d})}}return e}export{b as loadAnnotationSets};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a7 as d,bS as u,bT as T,bU as p,bV as v}from"./viewer-nfPJPwwt.mjs";const c=n=>n.language&&n.language!=="none"?n.language:"none";function b(n,e){const o=v([...new Set(n.map(c))],e);return n.find(r=>c(r)===o)}function w(n,e){const o=(t,a)=>t?{text:t,...a?{lang:a}:{}}:{},r=n.filter(t=>{var a;return(a=t.value)==null?void 0:a.trim()});if(!r.length){const t=n.find(i=>(i.image||i.place)&&i.label);if(!t)return{};const{text:a,lang:x}=d(t.label,e);return o(u(a).trim(),x)}const s=b(r,e),l=s.value,g=T(s.format,l),f=g==="markdown"?p(l):g==="html"?u(l):l,m=c(s);return o(f.trim(),m==="none"?void 0:m)}export{w as a,b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadAnnotationSets as f}from"./annotation-collection-
|
|
1
|
+
import{loadAnnotationSets as f}from"./annotation-collection-B7pZiLVk.mjs";import{ac as i,cj as c,bt as l}from"./viewer-nfPJPwwt.mjs";async function y(n,a){const r={id:String(n.id??""),type:/Collection/.test(String(n.type??n["@type"]))?"AnnotationCollection":"AnnotationPage",...n.label?{label:n.label}:{}},o=(await f(n,a)).map(t=>({...t,content:r})),s=o.flatMap(t=>t.entries),e=s.find(t=>a.manifestId&&i(t.annotation)===a.manifestId)??s.find(t=>i(t.annotation));if(!e)throw new c("The annotations name no Manifest");return{manifest:await l({id:i(e.annotation),type:"Manifest"},a),target:{canvasId:e.canvasId},annotationSets:o,pick:e.id}}export{y as annotationsContent};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import{c as ne,F as ae,i as se,M as ie}from"./Connected-DIOuI3Mv.mjs";import{aH as ce,bJ as ue}from"./viewer-nfPJPwwt.mjs";const le=["KHR_materials_unlit","KHR_materials_ior","KHR_materials_specular","KHR_mesh_quantization"],Z=1179937895,fe=1313821514,de=5130562;function me(e){const s=new DataView(e);if(s.getUint32(0,true)!==Z)throw new Error("This is not a GLB.");if(s.getUint32(4,true)!==2)throw new Error("Only glTF 2.0 is drawn.");let o,t;const n=Math.min(s.getUint32(8,true),e.byteLength);for(let a=12;a+8<=n;){const i=s.getUint32(a,true),l=s.getUint32(a+4,true),c=a+8;l===fe?o=JSON.parse(new TextDecoder().decode(new Uint8Array(e,c,i))):l===de&&(t=e.slice(c,c+i)),a=c+i}if(!o)throw new Error("The GLB has no JSON chunk.");return{json:o,bin:t}}async function z(e,s,o){const t=new URL(e,s).href,n=t.startsWith("data:")?await fetch(t):await ue(o,t);if(!n.ok)throw new Error(`${t} answered ${n.status}`);return n.arrayBuffer()}const $=new WeakMap;function ve(e,s,o){const t=(s==null?void 0:s.fetch)??globalThis.fetch,n=$.get(t)??new Map;$.set(t,n);const a=`${ce(s)} ${o??""} ${e}`;let i=n.get(a);return i||(i=he(e,s,o).finally(()=>n.delete(a)),n.set(a,i)),i}async function he(e,s,o){const t=await z(e,location.href,s),n=new DataView(t).getUint32(0,true)===Z,{json:a,bin:i}=n?me(t):{json:JSON.parse(new TextDecoder().decode(t))},l=(a.extensionsRequired??[]).filter(f=>!le.includes(f));if(l.length)throw new Error(`Clover's renderer cannot draw this model: it requires ${l.join(", ")}.`);const c=await Promise.all((a.buffers??[]).map((f,r)=>{if(f.uri!==void 0)return z(f.uri,e,s);if(r===0&&i)return i;throw new Error("A buffer of the model has no data.")})),u=await Promise.all((a.images??[]).map(async f=>{try{let r;if(f.bufferView!==void 0){const d=a.bufferViews[f.bufferView];r=new Blob([new Uint8Array(c[d.buffer],d.byteOffset??0,d.byteLength)],{type:f.mimeType})}else if(f.uri!==void 0)r=new Blob([await z(f.uri,e,s)],{type:f.mimeType});else return null;const m={premultiplyAlpha:"none",colorSpaceConversion:"none"};return await pe(await createImageBitmap(r,m),o,m)}catch{return null}}));return{json:a,buffers:c,images:u}}async function pe(e,s,o){const t=Math.max(e.width,e.height);if(!s||t<=s)return e;const n=s/t,a=await createImageBitmap(e,{...o,resizeWidth:Math.max(1,Math.floor(e.width*n)),resizeHeight:Math.max(1,Math.floor(e.height*n)),resizeQuality:"high"});return e.close(),a}const we={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Ee={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},q=e=>we[e];function Te(e,s){const o=e.json.accessors[s],t=q(o.type),n=new Float32Array(o.count*t);if(o.bufferView===void 0)return n;const a=e.json.bufferViews[o.bufferView],i=Ee[o.componentType],l=a.byteStride||i*t,c=new DataView(e.buffers[a.buffer],(a.byteOffset??0)+(o.byteOffset??0)),u={5120:r=>c.getInt8(r),5121:r=>c.getUint8(r),5122:r=>c.getInt16(r,true),5123:r=>c.getUint16(r,true),5125:r=>c.getUint32(r,true),5126:r=>c.getFloat32(r,true)}[o.componentType]??(()=>0),f=o.normalized?{5120:127,5121:255,5122:32767,5123:65535}[o.componentType]:void 0;for(let r=0;r<o.count;r++)for(let m=0;m<t;m++){const d=u(r*l+m*i);n[r*t+m]=f?Math.max(d/f,-1):d}return n}const ee=()=>new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function I(e,s){const o=new Float32Array(16);for(let t=0;t<4;t++)for(let n=0;n<4;n++){let a=0;for(let i=0;i<4;i++)a+=e[i*4+n]*s[t*4+i];o[t*4+n]=a}return o}function X([e,s,o],[t,n,a,i],[l,c,u]){const f=t+t,r=n+n,m=a+a,d=t*f,M=t*r,p=t*m,w=n*r,S=n*m,y=a*m,k=i*f,L=i*r,O=i*m;return new Float32Array([(1-(w+y))*l,(M+O)*l,(p-L)*l,0,(M-O)*c,(1-(d+y))*c,(S+k)*c,0,(p+L)*u,(S-k)*u,(1-(d+w))*u,0,e,s,o,1])}const K=e=>X(e,[0,0,0,1],[1,1,1]),xe=e=>X([0,0,0],[0,0,0,1],e);function be([e,s,o]){const t=(n,a)=>{const i=a*Math.PI/180,l=Math.cos(i),c=Math.sin(i),u=ee(),[f,r]=n===0?[1,2]:n===1?[2,0]:[0,1];return u[f*4+f]=l,u[f*4+r]=c,u[r*4+f]=-c,u[r*4+r]=l,u};return I(t(2,o),I(t(1,s),t(0,e)))}function ye(e,s,o,t){const n=1/Math.tan(e/2),a=1/(o-t);return new Float32Array([n/s,0,0,0,0,n,0,0,0,0,(t+o)*a,-1,0,0,2*t*o*a,0])}function Ae(e,s){const o=c=>{const u=Math.hypot(...c)||1;return[c[0]/u,c[1]/u,c[2]/u]},t=(c,u)=>[c[1]*u[2]-c[2]*u[1],c[2]*u[0]-c[0]*u[2],c[0]*u[1]-c[1]*u[0]],n=(c,u)=>c[0]*u[0]+c[1]*u[1]+c[2]*u[2],a=o([e[0]-s[0],e[1]-s[1],e[2]-s[2]]),i=o(t([0,1,0],a)),l=t(a,i);return new Float32Array([i[0],l[0],a[0],0,i[1],l[1],a[1],0,i[2],l[2],a[2],0,-n(i,e),-n(l,e),-n(a,e),1])}function Re(e){const[s,o,t,,n,a,i,,l,c,u]=e,f=a*u-i*c,r=i*l-n*u,m=n*c-a*l,d=s*f+o*r+t*m||1;return new Float32Array([f/d,r/d,m/d,(t*c-o*u)/d,(s*u-t*l)/d,(o*l-s*c)/d,(o*i-t*a)/d,(t*n-s*i)/d,(s*a-o*n)/d])}const Me=()=>({min:[1/0,1/0,1/0],max:[-1/0,-1/0,-1/0]});function _e(e){for(let s=0;s<3;s++){let o=0;for(let t=0;t<3;t++)Math.abs(e[s*4+t])>1e-6&&o++;if(o>1)return false}return true}function Ne(e,s,o,t){const n=s.json.accessors[o];let a;if(_e(t)&&n.min&&n.max&&!n.normalized){const[l,c]=[n.min,n.max];a=Array.from({length:8},(u,f)=>[f&1?c[0]:l[0],f&2?c[1]:l[1],f&4?c[2]:l[2]]).flat()}else a=Te(s,o);const i=t;for(let l=0;l+2<a.length;l+=3){const c=a[l],u=a[l+1],f=a[l+2];for(let r=0;r<3;r++){const m=i[r]*c+i[4+r]*u+i[8+r]*f+i[12+r];m<e.min[r]&&(e.min[r]=m),m>e.max[r]&&(e.max[r]=m)}}return e}const C={normals:1,normalMap:2,unlit:4,mask:8},Y={POSITION:0,NORMAL:1,TEXCOORD_0:2,COLOR_0:3},J=["uBaseTexture","uMetalRoughTexture","uNormalTexture","uOcclusionTexture","uEmissiveTexture"],Se=`#version 300 es
|
|
2
|
+
layout(location = 0) in vec3 aPosition;
|
|
3
|
+
layout(location = 1) in vec3 aNormal;
|
|
4
|
+
layout(location = 2) in vec2 aUv;
|
|
5
|
+
layout(location = 3) in vec4 aColor;
|
|
6
|
+
uniform mat4 uModel;
|
|
7
|
+
uniform mat4 uViewProjection;
|
|
8
|
+
uniform mat3 uNormalMatrix;
|
|
9
|
+
out vec3 vWorld;
|
|
10
|
+
out vec3 vNormal;
|
|
11
|
+
out vec2 vUv;
|
|
12
|
+
out vec4 vColor;
|
|
13
|
+
void main() {
|
|
14
|
+
vec4 world = uModel * vec4(aPosition, 1.0);
|
|
15
|
+
vWorld = world.xyz;
|
|
16
|
+
vNormal = uNormalMatrix * aNormal;
|
|
17
|
+
vUv = aUv;
|
|
18
|
+
vColor = aColor;
|
|
19
|
+
gl_Position = uViewProjection * world;
|
|
20
|
+
}`,Ue=`#version 300 es
|
|
21
|
+
precision highp float;
|
|
22
|
+
in vec3 vWorld;
|
|
23
|
+
in vec3 vNormal;
|
|
24
|
+
in vec2 vUv;
|
|
25
|
+
in vec4 vColor;
|
|
26
|
+
uniform vec3 uCamera;
|
|
27
|
+
uniform vec4 uBaseColor;
|
|
28
|
+
uniform vec3 uSpecular;
|
|
29
|
+
uniform float uMetallic;
|
|
30
|
+
uniform float uRoughness;
|
|
31
|
+
uniform float uNormalScale;
|
|
32
|
+
uniform float uOcclusionStrength;
|
|
33
|
+
uniform vec3 uEmissive;
|
|
34
|
+
uniform float uAlphaCutoff;
|
|
35
|
+
uniform int uFlags;
|
|
36
|
+
uniform sampler2D uBaseTexture;
|
|
37
|
+
uniform sampler2D uMetalRoughTexture;
|
|
38
|
+
uniform sampler2D uNormalTexture;
|
|
39
|
+
uniform sampler2D uOcclusionTexture;
|
|
40
|
+
uniform sampler2D uEmissiveTexture;
|
|
41
|
+
out vec4 outColor;
|
|
42
|
+
|
|
43
|
+
const float PI = 3.14159265;
|
|
44
|
+
const float LAMP = 3.0;
|
|
45
|
+
// The room: a sky and a ground for the light all around, and three lights in it.
|
|
46
|
+
const vec3 SKY = vec3(0.73);
|
|
47
|
+
const vec3 GROUND = vec3(0.58);
|
|
48
|
+
const vec3 LIGHTS[3] = vec3[3](
|
|
49
|
+
normalize(vec3(0.3, 0.7, 0.9)),
|
|
50
|
+
normalize(vec3(-0.8, 0.35, 0.5)),
|
|
51
|
+
normalize(vec3(0.2, 0.4, -1.0))
|
|
52
|
+
);
|
|
53
|
+
const vec3 RADIANCE[3] = vec3[3](vec3(1.2), vec3(0.3), vec3(0.4));
|
|
54
|
+
|
|
55
|
+
vec3 room(vec3 direction) {
|
|
56
|
+
return mix(GROUND, SKY, direction.y * 0.5 + 0.5);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// What a surface reflects of the room: its sky and ground, and its lamps, soft panels a
|
|
60
|
+
// glossy surface mirrors and a rough one only glows with.
|
|
61
|
+
const vec3 LAMPS[3] = vec3[3](
|
|
62
|
+
normalize(vec3(0.0, 1.0, 0.3)),
|
|
63
|
+
normalize(vec3(-1.0, 0.5, 0.4)),
|
|
64
|
+
normalize(vec3(1.0, 0.35, -0.3))
|
|
65
|
+
);
|
|
66
|
+
vec3 reflected(vec3 direction, float roughness) {
|
|
67
|
+
vec3 color = room(direction);
|
|
68
|
+
float spread = mix(0.04, 0.9, roughness);
|
|
69
|
+
for (int i = 0; i < 3; i++) {
|
|
70
|
+
float c = dot(direction, LAMPS[i]);
|
|
71
|
+
color += vec3(LAMP) * smoothstep(1.0 - spread, 1.0 - spread * 0.35, c) * (1.0 - 0.85 * roughness);
|
|
72
|
+
}
|
|
73
|
+
return color;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// A normal map's normal, in the frame its texture coordinates make (no tangents read).
|
|
77
|
+
vec3 mapped(vec3 n) {
|
|
78
|
+
vec3 tangentNormal = texture(uNormalTexture, vUv).xyz * 2.0 - 1.0;
|
|
79
|
+
tangentNormal.xy *= vec2(uNormalScale, -uNormalScale);
|
|
80
|
+
vec3 dp1 = dFdx(vWorld);
|
|
81
|
+
vec3 dp2 = dFdy(vWorld);
|
|
82
|
+
vec2 duv1 = dFdx(vUv);
|
|
83
|
+
vec2 duv2 = dFdy(vUv);
|
|
84
|
+
vec3 dp2perp = cross(dp2, n);
|
|
85
|
+
vec3 dp1perp = cross(n, dp1);
|
|
86
|
+
vec3 t = dp2perp * duv1.x + dp1perp * duv2.x;
|
|
87
|
+
vec3 b = dp2perp * duv1.y + dp1perp * duv2.y;
|
|
88
|
+
float scale = inversesqrt(max(dot(t, t), dot(b, b)) + 1e-12);
|
|
89
|
+
return normalize(mat3(t * scale, b * scale, n) * tangentNormal);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
vec3 neutral(vec3 color) {
|
|
93
|
+
const float start = 0.8 - 0.04;
|
|
94
|
+
const float desaturation = 0.15;
|
|
95
|
+
float x = min(color.r, min(color.g, color.b));
|
|
96
|
+
float offset = x < 0.08 ? x - 6.25 * x * x : 0.04;
|
|
97
|
+
color -= offset;
|
|
98
|
+
float peak = max(color.r, max(color.g, color.b));
|
|
99
|
+
if (peak < start) return color;
|
|
100
|
+
float d = 1.0 - start;
|
|
101
|
+
float newPeak = 1.0 - d * d / (peak + d - start);
|
|
102
|
+
color *= newPeak / peak;
|
|
103
|
+
float g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0);
|
|
104
|
+
return mix(color, vec3(newPeak), g);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
vec3 srgb(vec3 linear) {
|
|
108
|
+
return mix(
|
|
109
|
+
linear * 12.92,
|
|
110
|
+
1.055 * pow(linear, vec3(1.0 / 2.4)) - 0.055,
|
|
111
|
+
step(0.0031308, linear)
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
void main() {
|
|
116
|
+
vec4 base = uBaseColor * texture(uBaseTexture, vUv) * vColor;
|
|
117
|
+
if ((uFlags & ${C.mask}) != 0 && base.a < uAlphaCutoff) discard;
|
|
118
|
+
if ((uFlags & ${C.unlit}) != 0) {
|
|
119
|
+
outColor = vec4(srgb(base.rgb) * base.a, base.a);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// No normals given: the face's own, as glTF asks.
|
|
123
|
+
vec3 n = (uFlags & ${C.normals}) != 0
|
|
124
|
+
? normalize(vNormal)
|
|
125
|
+
: normalize(cross(dFdx(vWorld), dFdy(vWorld)));
|
|
126
|
+
if (!gl_FrontFacing) n = -n;
|
|
127
|
+
if ((uFlags & ${C.normalMap}) != 0) n = mapped(n);
|
|
128
|
+
vec3 v = normalize(uCamera - vWorld);
|
|
129
|
+
vec4 metalRough = texture(uMetalRoughTexture, vUv);
|
|
130
|
+
float roughness = clamp(uRoughness * metalRough.g, 0.045, 1.0);
|
|
131
|
+
float metallic = clamp(uMetallic * metalRough.b, 0.0, 1.0);
|
|
132
|
+
vec3 diffuse = base.rgb * (1.0 - metallic);
|
|
133
|
+
vec3 f0 = mix(uSpecular, base.rgb, metallic);
|
|
134
|
+
float a = roughness * roughness;
|
|
135
|
+
float nv = clamp(dot(n, v), 1e-4, 1.0);
|
|
136
|
+
vec3 color = vec3(0.0);
|
|
137
|
+
for (int i = 0; i < 3; i++) {
|
|
138
|
+
vec3 l = LIGHTS[i];
|
|
139
|
+
float nl = clamp(dot(n, l), 0.0, 1.0);
|
|
140
|
+
if (nl <= 0.0) continue;
|
|
141
|
+
vec3 h = normalize(l + v);
|
|
142
|
+
float nh = clamp(dot(n, h), 0.0, 1.0);
|
|
143
|
+
float vh = clamp(dot(v, h), 0.0, 1.0);
|
|
144
|
+
float a2 = a * a;
|
|
145
|
+
float dd = nh * nh * (a2 - 1.0) + 1.0;
|
|
146
|
+
float distribution = a2 / (PI * dd * dd);
|
|
147
|
+
float viewed = nl * sqrt(nv * nv * (1.0 - a2) + a2);
|
|
148
|
+
float lit = nv * sqrt(nl * nl * (1.0 - a2) + a2);
|
|
149
|
+
float visibility = 0.5 / (viewed + lit + 1e-5);
|
|
150
|
+
vec3 fresnel = f0 + (1.0 - f0) * pow(1.0 - vh, 5.0);
|
|
151
|
+
vec3 specular = fresnel * distribution * visibility;
|
|
152
|
+
color += ((1.0 - fresnel) * diffuse + PI * specular) * RADIANCE[i] * nl;
|
|
153
|
+
}
|
|
154
|
+
// The room's light all around: diffuse, and what a rough or smooth surface reflects of it.
|
|
155
|
+
vec4 c0 = vec4(-1.0, -0.0275, -0.572, 0.022);
|
|
156
|
+
vec4 c1 = vec4(1.0, 0.0425, 1.04, -0.04);
|
|
157
|
+
vec4 r = roughness * c0 + c1;
|
|
158
|
+
float a004 = min(r.x * r.x, exp2(-9.28 * nv)) * r.x + r.y;
|
|
159
|
+
vec2 ab = vec2(-1.04, 1.04) * a004 + r.zw;
|
|
160
|
+
float occlusion = mix(1.0, texture(uOcclusionTexture, vUv).r, uOcclusionStrength);
|
|
161
|
+
color += (diffuse * room(n) + (f0 * ab.x + ab.y) * reflected(reflect(-v, n), roughness)) * occlusion;
|
|
162
|
+
color += uEmissive * texture(uEmissiveTexture, vUv).rgb;
|
|
163
|
+
outColor = vec4(srgb(neutral(color)) * base.a, base.a);
|
|
164
|
+
}`,Q=10497,Fe=9729,Ce=new Set([9984,9985,9986,9987]);function Pe(e){const s=e.createProgram();for(const[o,t]of[[e.VERTEX_SHADER,Se],[e.FRAGMENT_SHADER,Ue]]){const n=e.createShader(o);e.shaderSource(n,t),e.compileShader(n),e.attachShader(s,n),e.deleteShader(n)}if(e.linkProgram(s),!e.getProgramParameter(s,e.LINK_STATUS))throw new Error(`The 3D view's shaders would not build: ${e.getProgramInfoLog(s)}`);return s}function Ie(e){const s=Pe(e),o=r=>e.getUniformLocation(s,r),t=Object.fromEntries(["uModel","uViewProjection","uNormalMatrix","uCamera","uBaseColor","uSpecular","uMetallic","uRoughness","uNormalScale","uOcclusionStrength","uEmissive","uAlphaCutoff","uFlags",...J].map(r=>[r,o(r)]));e.useProgram(s),J.forEach((r,m)=>e.uniform1i(t[r],m));const n=[],a=[],i=[],l=Me(),c=e.createTexture();e.bindTexture(e.TEXTURE_2D,c),e.texImage2D(e.TEXTURE_2D,0,e.RGBA8,1,1,0,e.RGBA,e.UNSIGNED_BYTE,new Uint8Array([255,255,255,255])),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),a.push(c),e.vertexAttrib4f(Y.COLOR_0,1,1,1,1);function u(r,m){var G;const{json:d}=r,M=new Map,p=new Map,w=new Map,S=(E,T)=>{const v=`${E}|${T}`;let h=M.get(v);if(!h){const b=d.bufferViews[E];h=e.createBuffer(),e.bindBuffer(T,h),e.bufferData(T,new Uint8Array(r.buffers[b.buffer],b.byteOffset??0,b.byteLength),e.STATIC_DRAW),M.set(v,h),n.push(h)}return h},y=(E,T)=>{var F,N;const v=E?(F=d.textures)==null?void 0:F[E.index]:void 0,h=(v==null?void 0:v.source)!==void 0?r.images[v.source]:null;if(!E||!h)return null;const b=`${E.index}|${T}`;let _=p.get(b);if(!_){_=e.createTexture(),e.bindTexture(e.TEXTURE_2D,_),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE),e.texImage2D(e.TEXTURE_2D,0,T?e.SRGB8_ALPHA8:e.RGBA8,e.RGBA,e.UNSIGNED_BYTE,h);const x=(v==null?void 0:v.sampler)!==void 0?(N=d.samplers)==null?void 0:N[v.sampler]:void 0,A=(x==null?void 0:x.minFilter)??e.LINEAR_MIPMAP_LINEAR;e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,A),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,(x==null?void 0:x.magFilter)??Fe),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,(x==null?void 0:x.wrapS)??Q),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,(x==null?void 0:x.wrapT)??Q),Ce.has(A)&&e.generateMipmap(e.TEXTURE_2D),p.set(b,_),a.push(_)}return _},k=E=>{var A,B,D,V,R,P;const T=E??-1;let v=w.get(T);if(v)return v;const h=E!==void 0?((A=d.materials)==null?void 0:A[E])??{}:{},b=h.pbrMetallicRoughness??{},_=y(h.normalTexture,false),F=Number(((D=(B=h.extensions)==null?void 0:B.KHR_materials_ior)==null?void 0:D.ior)??1.5),N=(V=h.extensions)==null?void 0:V.KHR_materials_specular,x=((F-1)/(F+1))**2;return v={base:b.baseColorFactor??[1,1,1,1],specular:((N==null?void 0:N.specularColorFactor)??[1,1,1]).map(g=>Math.min(x*g,1)*((N==null?void 0:N.specularFactor)??1)),metallic:b.metallicFactor??1,roughness:b.roughnessFactor??1,normalScale:((R=h.normalTexture)==null?void 0:R.scale)??1,occlusion:h.occlusionTexture?h.occlusionTexture.strength??1:0,emissive:h.emissiveFactor??[0,0,0],cutoff:h.alphaCutoff??.5,flags:(_?C.normalMap:0)|((P=h.extensions)!=null&&P.KHR_materials_unlit?C.unlit:0)|(h.alphaMode==="MASK"?C.mask:0),doubleSided:!!h.doubleSided,blend:h.alphaMode==="BLEND",textures:[y(b.baseColorTexture,true),y(b.metallicRoughnessTexture,false),_,y(h.occlusionTexture,false),y(h.emissiveTexture,true)]},w.set(T,v),v},L=(E,T)=>{var _,F,N,x;const v=(_=d.nodes)==null?void 0:_[E];if(!v)return;const h=I(T,v.matrix?new Float32Array(v.matrix):X(v.translation??[0,0,0],v.rotation??[0,0,0,1],v.scale??[1,1,1])),b=v.mesh!==void 0?(F=d.meshes)==null?void 0:F[v.mesh]:void 0;for(const A of(b==null?void 0:b.primitives)??[]){const B=A.attributes.POSITION;if(B===void 0)continue;const D=e.createVertexArray();e.bindVertexArray(D);let V=0;for(const[W,H]of Object.entries(Y)){const j=A.attributes[W],U=j!==void 0?(N=d.accessors)==null?void 0:N[j]:void 0;if(!U||U.bufferView===void 0||U.sparse)continue;const re=d.bufferViews[U.bufferView];e.bindBuffer(e.ARRAY_BUFFER,S(U.bufferView,e.ARRAY_BUFFER)),e.enableVertexAttribArray(H),e.vertexAttribPointer(H,q(U.type),U.componentType,!!U.normalized,re.byteStride??0,U.byteOffset??0),W==="NORMAL"&&(V|=C.normals)}const R=A.indices!==void 0?(x=d.accessors)==null?void 0:x[A.indices]:void 0;(R==null?void 0:R.bufferView)!==void 0&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,S(R.bufferView,e.ELEMENT_ARRAY_BUFFER)),e.bindVertexArray(null);const P=I(m,h),g=k(A.material);i.push({vao:D,mode:A.mode??e.TRIANGLES,count:R?R.count:d.accessors[B].count,...(R==null?void 0:R.bufferView)!==void 0?{index:{type:R.componentType,offset:R.byteOffset??0}}:{},model:P,normal:Re(P),mirrored:Oe(P)<0,material:{...g,flags:g.flags|V}}),Ne(l,r,B,P)}for(const A of v.children??[])L(A,h)},O=(G=d.scenes)==null?void 0:G[d.scene??0],te=(O==null?void 0:O.nodes)??(d.nodes??[]).map((E,T)=>T).filter(E=>!d.nodes.some(T=>{var v;return(v=T.children)==null?void 0:v.includes(E)})),oe=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);te.forEach(E=>L(E,oe)),i.sort((E,T)=>Number(E.material.blend)-Number(T.material.blend))}function f(r,m,d,M){e.viewport(0,0,d,M),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),e.enable(e.DEPTH_TEST),e.useProgram(s),e.uniformMatrix4fv(t.uViewProjection,false,r),e.uniform3fv(t.uCamera,m);for(const p of i){const{material:w}=p;w.doubleSided?e.disable(e.CULL_FACE):e.enable(e.CULL_FACE),e.frontFace(p.mirrored?e.CW:e.CCW),w.blend?(e.enable(e.BLEND),e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA),e.depthMask(false)):(e.disable(e.BLEND),e.depthMask(true)),w.textures.forEach((S,y)=>{e.activeTexture(e.TEXTURE0+y),e.bindTexture(e.TEXTURE_2D,S??c)}),e.uniformMatrix4fv(t.uModel,false,p.model),e.uniformMatrix3fv(t.uNormalMatrix,false,p.normal),e.uniform4fv(t.uBaseColor,w.base),e.uniform3fv(t.uSpecular,w.specular),e.uniform1f(t.uMetallic,w.metallic),e.uniform1f(t.uRoughness,w.roughness),e.uniform1f(t.uNormalScale,w.normalScale),e.uniform1f(t.uOcclusionStrength,w.occlusion),e.uniform3fv(t.uEmissive,w.emissive),e.uniform1f(t.uAlphaCutoff,w.cutoff),e.uniform1i(t.uFlags,w.flags),e.bindVertexArray(p.vao),p.index?e.drawElements(p.mode,p.count,p.index.type,p.index.offset):e.drawArrays(p.mode,0,p.count)}e.bindVertexArray(null),e.depthMask(true)}return{add:u,bounds:()=>i.length?l:null,draw:f,dispose(){i.forEach(r=>e.deleteVertexArray(r.vao)),n.forEach(r=>e.deleteBuffer(r)),a.forEach(r=>e.deleteTexture(r)),e.deleteProgram(s),i.length=0}}}function Oe(e){return e[0]*(e[5]*e[10]-e[6]*e[9])-e[4]*(e[1]*e[10]-e[2]*e[9])+e[8]*(e[1]*e[6]-e[2]*e[5])}const Be=2;function Le({position:e,transforms:s}){let o=ee();for(const{type:t,x:n,y:a,z:i}of s){const l=t==="scale"?xe([n,a,i]):t==="translate"?K([n,a,i]):be([n,a,i]);o=I(l,o)}return I(K(e),o)}function ke(e,{onLost:s}){const o=document.createElement("canvas");o.className="clover-canvas-surface",o.setAttribute("aria-hidden","true"),o.style.cssText="position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none";const t=o.getContext("webgl2",{antialias:true,alpha:true});if(!t)throw new Error("This browser cannot draw 3D: it offers no WebGL2.");const n=u=>{u.preventDefault(),s()};o.addEventListener("webglcontextlost",n),e.prepend(o);const a=Ie(t);let i={center:[0,0,0],radius:1},l=false;const c=()=>{const u=Math.min(globalThis.devicePixelRatio||1,Be),f=Math.round(e.clientWidth*u),r=Math.round(e.clientHeight*u);!f||!r||(o.width=f,o.height=r)};return c(),{async load(u,f){const r=u.filter(se);if(!r.length){const p=[...new Set(u.map(w=>w.format??w.src))];throw new Error(u.length?`Clover draws glTF models (${ie.join(", ")}), not ${p.join(", ")}.`:"The Scene paints no model.")}const m=t.getParameter(t.MAX_TEXTURE_SIZE),d=await Promise.all(r.map(p=>ve(p.src,f,m)));if(l)return i;d.forEach((p,w)=>a.add(p,Le(r[w])));const M=a.bounds();if(M){const p=M.min.map((S,y)=>(S+M.max[y])/2),w=Math.hypot(...M.max.map((S,y)=>S-M.min[y]))/2;i={center:p,radius:w||1}}return i},draw(u){if(l||!o.width||!o.height)return;const f=ne(u,i.center),r=Math.max(i.radius/1e3,u.distance-i.radius*2),m=u.distance+i.radius*4,d=ye(ae*Math.PI/180,o.width/o.height,r,m);a.draw(I(d,Ae(f,i.center)),f,o.width,o.height)},resize:c,dispose(){var u;l||(l=true,o.removeEventListener("webglcontextlost",n),a.dispose(),(u=t.getExtension("WEBGL_lose_context"))==null||u.loseContext(),o.remove())}}}export{ke as createEngine,Le as placement};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ax as l,bs as g}from"./viewer-nfPJPwwt.mjs";function b(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),n=e+"=".repeat((4-e.length%4)%4),o=atob(n);try{return decodeURIComponent(o)}catch{const a=Uint8Array.from(o,s=>s.charCodeAt(0));return new TextDecoder().decode(a)}}function I(t){const e=t.trim();for(const n of[()=>JSON.parse(e),()=>JSON.parse(b(e))])try{const o=n();if(o&&typeof o=="object")return o}catch{}return null}function v(t){if(!t)return;const e=Number(t.split(",")[0]);return Number.isFinite(e)?e:void 0}const u=t=>l(t==null?void 0:t.partOf).find(e=>(e==null?void 0:e.id)&&e.type==="Collection");function h(t){const e=t.type==="Annotation"?l(t.target):[t],n=e[0]?m(e[0],t):null;if(!n||e.length<2)return n;const o=typeof t.id=="string"?t.id:"content-state",a=e.flatMap((s,d)=>{var y,p,f;const i=d===0?n:m(s,t),r=(i==null?void 0:i.type)==="Manifest"?i.id:i==null?void 0:i.manifestId;return!i||!r?[]:[{id:`${o}#target-${d+1}`,manifestId:r,...((y=i.target)==null?void 0:y.canvasId)&&{canvasId:i.target.canvasId},...((p=i.target)==null?void 0:p.region)&&{region:i.target.region},...((f=i.target)==null?void 0:f.time)!==void 0&&{time:i.target.time}}]});return a.length>1?{...n,targets:{id:o,...t.label&&typeof t.label=="object"?{label:t.label}:{},items:a}}:n}function m(t,e){const n=g(t),o=typeof t=="string"?{id:n.id}:t.type==="SpecificResource"?typeof t.source=="string"?{id:t.source}:t.source??{}:t,a=o.type;if(a==="Manifest"||a==="Collection"){const c=a==="Manifest"?u(o):void 0;return c?{id:c.id,type:"Collection",manifestId:n.id}:{id:n.id,type:a}}const s=l(t.selector).find(c=>(c==null?void 0:c.type)==="PointSelector"&&c.t!=null),d={canvasId:n.id};n.rect&&(d.region=n.rect);const i=(s==null?void 0:s.t)??v(n.t);i!==void 0&&(d.time=Number(i));const r=l(o.partOf).find(c=>(c==null?void 0:c.id)&&(!c.type||c.type==="Manifest")),y=u(r),p=e.type==="Annotation"&&l(e.body).length?{id:e.id??`${n.id}#content-state`,type:"Annotation",motivation:l(e.motivation),body:e.body,target:t}:void 0,f=p?{annotation:p}:{};return y&&r?{id:y.id,type:"Collection",manifestId:r.id,target:d,...f}:r?{id:r.id,type:"Manifest",target:d,...f}:{id:n.id,type:a??"Canvas",target:d,...f}}export{I as decodeContentState,h as resolveContentState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bu as _}from"./viewer-nfPJPwwt.mjs";const k=1/3,Y=.5,P=8,z="translate 240ms cubic-bezier(0.16, 1, 0.3, 1)",D=[120,_],A="cubic-bezier(0.33, 0.67, 0.67, 1)",E=new WeakMap;function O(t,n){let o=null,i="idle",a=0,S=0,s=0,d=1,e=1,c=[];const f=()=>{var r;return[t,(r=n.current.alongside)==null?void 0:r.current]},M=r=>{if(r.pointerType==="mouse"||!r.isPrimary||!n.current.enabled)return;o=r.pointerId,i="pending",a=r.clientX,S=r.clientY,s=0,d=t.getBoundingClientRect().width||1;const p=getComputedStyle(t).direction==="rtl";e=n.current.side==="end"!==p?1:-1,c=[[r.timeStamp,0]]},$=r=>{var g,v;if(r.pointerId!==o||i==="idle"||i==="scroll")return;const p=(r.clientX-a)*e,y=r.clientY-S;if(i==="pending"){if(Math.abs(y)>P&&Math.abs(y)>Math.abs(p)){i="scroll";return}if(p<P)return;i="drag",a=r.clientX,c=[[r.timeStamp,0]];try{(g=t.setPointerCapture)==null||g.call(t,r.pointerId)}catch{}u(f(),void 0,"none")}s=Math.max(0,(r.clientX-a)*e),u(f(),`${s*e}px 0`);const h=(v=n.current.scrim)==null?void 0:v.current;h&&(h.style.transition="none",h.style.opacity=String(1-s/d)),c.push([r.timeStamp,s]),c.length>5&&c.shift(),r.preventDefault()},m=r=>{var X,C,T;if(r.pointerId!==o)return;const p=i==="drag";if(i="idle",o=null,!p)return;t.addEventListener("click",b,{capture:true,once:true}),setTimeout(()=>t.removeEventListener("click",b,true),0);const[y,h]=c[0],[g,v]=c[c.length-1],I=g>y?(v-h)/(g-y):0,l=(X=n.current.scrim)==null?void 0:X.current,L=(C=window.matchMedia)==null?void 0:C.call(window,"(prefers-reduced-motion: reduce)").matches;if(s>d*k||I>Y){const x=L?0:Math.min(D[1],Math.max(D[0],2*(d-s)/Math.max(I,.001))),w=`${x}ms ${A}`;if(l&&(l.style.transition=`opacity ${w}`,l.style.opacity="0"),n.current.exits){u(f(),`${d*e}px 0`,`translate ${w}`),setTimeout(()=>n.current.onClose(),x);return}t.style.transition="none",t.style.translate="",t.style.transform=`translateX(${s*e}px)`,t.getBoundingClientRect(),t.style.transition=`transform ${w}`,t.style.transform=`var(--clover-template-out, translateX(${e*100}%))`,u([(T=n.current.alongside)==null?void 0:T.current],`${d*e}px 0`,`translate ${w}`),E.set(t,setTimeout(()=>R(t,n),x)),n.current.onClose();return}u(f(),"",L?"none":z),l&&(l.style.transition=L?"none":"opacity 240ms ease",l.style.opacity=""),setTimeout(()=>{i==="idle"&&!E.has(t)&&u(f(),void 0,"")},240)},b=r=>{r.stopPropagation(),r.preventDefault()};return t.addEventListener("pointerdown",M),t.addEventListener("pointermove",$,{passive:false}),t.addEventListener("pointerup",m),t.addEventListener("pointercancel",m),()=>{t.removeEventListener("pointerdown",M),t.removeEventListener("pointermove",$),t.removeEventListener("pointerup",m),t.removeEventListener("pointercancel",m)}}function F(t,n){E.has(t)&&!n.current.enabled||R(t,n)}function R(t,n){var i,a;clearTimeout(E.get(t)),E.delete(t),u([t,(i=n.current.alongside)==null?void 0:i.current],"",""),t.style.transform="";const o=(a=n.current.scrim)==null?void 0:a.current;o&&(o.style.opacity="",o.style.transition="")}function u(t,n,o){for(const i of t)i&&(o!==void 0&&(i.style.transition=o),n!==void 0&&(i.style.translate=n))}export{O as attach,F as reset};
|
package/dist/web-components/viewer/{fetchManifest-C2Yxg3x9.mjs → fetchManifest-D7N9WhhF.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ax as h,av as x,br as m,bs as I,bt as q}from"./viewer-nfPJPwwt.mjs";function S(e,i,n){for(const s of h(e==null?void 0:e.items))for(const o of h(s==null?void 0:s.items)){if(!x(o))continue;const l=h(o==null?void 0:o.body).flatMap(t=>(t==null?void 0:t.type)==="Choice"?h(t.items).filter((r,f)=>n?(r==null?void 0:r.id)===n:f===0):n&&(t==null?void 0:t.id)!==n?[]:[t]);for(const t of l){if((t==null?void 0:t.type)!=="Image"||!t.width||!t.height)continue;const r=m(t.service);if(!r)continue;const f=I(h(o.target)[0]).rect??{x:0,y:0,w:e.width,h:e.height},a=(i.x-f.x)/f.w,c=(i.y-f.y)/f.h,u=Math.max(0,a),M=Math.max(0,c),g=Math.min(1,a+i.w/f.w)-u,p=Math.min(1,c+i.h/f.h)-M;if(g>0&&p>0)return{service:r,region:{x:u,y:M,width:g,height:p}}}}return null}const w=new WeakMap;function k(e,i){let n=w.get(e);n||w.set(e,n=new Map);let s=n.get(i);return s||(s=q({id:i,type:"Manifest"},{request:e.request}).catch(()=>null),n.set(i,s)),s}export{k as f,S as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var R=Object.defineProperty;var k=(s,t,e)=>t in s?R(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>k(s,typeof t!="symbol"?t+"":t,e);import{b as x,n as E,u as r,M as p,k as O,q as M,C as m,I as g,$ as C,x as D}from"./viewer-
|
|
1
|
+
var R=Object.defineProperty;var k=(s,t,e)=>t in s?R(s,t,{enumerable:true,configurable:true,writable:true,value:e}):s[t]=e;var l=(s,t,e)=>k(s,typeof t!="symbol"?t+"":t,e);import{b as x,n as E,u as r,M as p,k as O,q as M,C as m,I as g,$ as C,x as D}from"./viewer-nfPJPwwt.mjs";import"./styles-Bedyz7_l.mjs";function N(s){return{render:function(t){E(t,s)},unmount:function(){x(s)}}}const $="clover-root",b=Symbol("roots"),A=[];class F{constructor(t){l(this,"entries",new Map);l(this,"lists",new Map);l(this,"listeners",new Map);l(this,"languages",new I(t2=>this.entries.has(t2)));this.count=t}list(t){return this.lists.get(t)??A}subscribe(t,e){let n=this.listeners.get(t);return n||this.listeners.set(t,n=new Set),n.add(e),()=>{n.delete(e)}}connect(t){var i;const e=t.kind==="part"?((i=t.element.parentElement)==null?void 0:i.closest($))??null:null,n=this.entries.get(t.element);if(n&&n.root===e)return;const o={hosted:t,key:(n==null?void 0:n.key)??++this.count.made,root:e};this.entries.set(t.element,o),n&&this.change(h(n),a=>a.filter(c=>c!==n)),this.change(h(o),a=>[...a,o]),t.needsRoot&&!e&&console.warn(`<${t.element.localName}> shows a <clover-root>'s state: put it inside one.`),t.kind!=="root"&&this.languages.draws(t.element.localName),(t.kind!=="part"||!e)&&this.languages.watch(t.element)}disconnect(t){const e=this.entries.get(t);e&&(this.entries.delete(t),this.change(h(e),n=>n.filter(o=>o!==e)))}change(t,e){var n;this.lists.set(t,e(this.list(t))),(n=this.listeners.get(t))==null||n.forEach(o=>o())}}const h=s=>s.hosted.kind==="root"?b:s.root;class I{constructor(t){l(this,"observer",null);l(this,"tags",new Set);this.isElement=t}draws(t){this.tags.add(t)}watch(t){this.observer??(this.observer=new MutationObserver(e=>{const n=[...this.tags,".clover-announcer"].join(",");for(const{target:o}of e){const i=o;i.getAttribute("lang")!==""||this.isElement(i)||i.closest(n)&&i.removeAttribute("lang")}})),this.observer.observe(t,{subtree:true,attributes:true,attributeFilter:["lang"]})}}function d(s,t){const e=M(o=>s.subscribe(t,o),[s,t]);return m(e,()=>s.list(t))}function w(s){return m(s.subscribe,s.getProps,s.getProps)}function L({registry:s}){const t=d(s,b),e=d(s,null);return r(O,{children:[t.map(n=>r(W,{entry:n,registry:s},n.key)),e.map(n=>r(S,{entry:n},n.key))]})}const v=s=>`clover-${s.key}-`,W=p(function({entry:t,registry:e}){const{hosted:n}=t,o=d(e,n.element),i=w(n),a=n.Component;return r(P,{hosted:n,props:i,children:r(g.Provider,{value:v(t),children:r(a,{hosted:n,props:i,children:o.map(c=>r(S,{entry:c},c.key))})})})}),S=p(function({entry:t}){const{hosted:e}=t,n=w(e);if(e.needsRoot&&!t.root)return null;const o=e.Component;return C(r(P,{hosted:e,props:n,children:r(g.Provider,{value:v(t),children:r(o,{hosted:e,props:n})})}),e.element)});class P extends D{constructor(){super(...arguments);l(this,"state",{failed:false})}static getDerivedStateFromError(){return{failed:true}}componentDidCatch(e,n){console.error(`<${this.props.hosted.element.localName}>:`,e)}componentDidUpdate(e){this.state.failed&&e.props!==this.props.props&&this.setState({failed:false})}render(){return this.state.failed?null:this.props.children}}const f=new WeakMap,u=Symbol.for("clover.elements");function H(s){let t=f.get(s);if(!t){const e=s;e[u]&&console.warn("Clover is loaded twice on this page: load one entry."),t=new F(e[u]??(e[u]={made:0})),f.set(s,t),N(s.createElement("div")).render(r(L,{registry:t}))}return t}export{F as Registry,H as hostOf};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aa as I,ax as u,av as L,bs as $,bz as P,bA as S}from"./viewer-nfPJPwwt.mjs";function z(t){const c=new Map;for(const e of I(t).canvases)j(e,c);return[...c.values()]}function j(t,c){u(t.items).forEach((e,r)=>u(e==null?void 0:e.items).forEach((d,f)=>{if(!L(d))return;const a=$(u(d.target)[0]).rect??{x:0,y:0,w:Number(t.width)||0,h:Number(t.height)||0};u(d.body).forEach((o,y)=>{const w=(o==null?void 0:o.type)==="Choice";(w?u(o.items):[o]).forEach((s,x)=>{for(const n of u(s==null?void 0:s.annotations)){if(!Array.isArray(n==null?void 0:n.items)||typeof(s==null?void 0:s.id)!="string")continue;const l=n.id??`${s.id}#annotations`,p=w?{key:P(t.id,d.id,r,f,y),item:x,image:s.id}:void 0,A=S(n,l,t.id).map(b=>{const h=k(b.annotation,s),N=Math.round(a.x+h.x*(a.w/h.width)),E=Math.round(a.y+h.y*(a.h/h.height)),g=Math.round(h.w*(a.w/h.width)),v=Math.round(h.h*(a.h/h.height)),M=`${t.id}#xywh=${N},${E},${g},${v}`;return{...b,canvasId:t.id,target:$(M),annotation:{...b.annotation,target:M},...p?{layer:p}:{}}});if(!A.length)continue;let m=c.get(l);m||(m={id:l,label:n.label??s.label,source:"manifest",entries:[]},c.set(l,m)),m.entries.push(...A)}})})}))}function k(t,c){const e=Number(c.width)||1,r=Number(c.height)||1,d={x:0,y:0,w:e,h:r,width:e,height:r},f=u(t==null?void 0:t.target)[0],o=(typeof f=="object"?u(f==null?void 0:f.selector):[]).find(i=>(i==null?void 0:i.type)==="ImageApiSelector"),y=typeof(o==null?void 0:o.region)=="string"?o.region:void 0;if(y){const i=/^(pct:)?([\d.]+),([\d.]+),([\d.]+),([\d.]+)$/.exec(y);if(!i)return d;const[s,x,n,l]=i.slice(2).map(Number);return i[1]?{x:s/100*e,y:x/100*r,w:n/100*e,h:l/100*r,width:e,height:r}:{x:s,y:x,w:n,h:l,width:e,height:r}}const w=$(f).rect;return w?{...w,width:e,height:r}:d}export{z as imageLayers};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{cp as e}from"./viewer-nfPJPwwt.mjs";export{e as initCloverI18n};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ax as n,aw as p,bs as c}from"./viewer-nfPJPwwt.mjs";function g(r){if(n(r==null?void 0:r.motivation).includes("linking"))for(const i of p(r)){if((i==null?void 0:i.type)==="TextualBody"||typeof(i==null?void 0:i.value)=="string")continue;const t=(i==null?void 0:i.type)==="SpecificResource"?i.source:i,e=typeof t=="string"?t:t==null?void 0:t.id;if(!(typeof e!="string"||!e)){if((t==null?void 0:t.type)==="Canvas"){const s=n(t.partOf).find(f=>(f==null?void 0:f.id)&&(!f.type||f.type==="Manifest")),u=c(e).id;return{id:e,canvasId:u,...s?{manifestId:s.id}:{}}}if((t==null?void 0:t.type)==="Manifest"||(t==null?void 0:t.type)==="Collection")return{id:e,manifestId:e};if(/^https?:\/\//i.test(e))return{id:e}}}}function o(r){const i=n(r==null?void 0:r.motivation);if(!(!i.includes("tagging")&&!i.includes("identifying")))for(const t of p(r)){if((t==null?void 0:t.type)==="TextualBody"||typeof(t==null?void 0:t.value)=="string")continue;const e=(t==null?void 0:t.type)==="SpecificResource"?t.source:t,s=typeof e=="string"?e:e==null?void 0:e.id;if(typeof s=="string"&&/^https?:\/\//i.test(s))return{id:s}}}export{o as a,g as r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{br as i,cn as a,co as s}from"./viewer-nfPJPwwt.mjs";async function d(r,c,n){const e=typeof r.id=="string"?r.id:void 0,t=i(r.service);if(!t)return e;try{const o=await a(t,{request:n});return s(o,c)??e}catch{return e}}export{d as overlayImageUrl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ax as c,bx as l,bs as g,by as x,b8 as E}from"./viewer-nfPJPwwt.mjs";const A=t=>t&&typeof t=="object"?Object.entries(t).flatMap(([i,r])=>c(r).filter(s=>typeof s=="string").map(s=>({value:s,...i!=="none"?{language:i}:{}}))):typeof t=="string"?[{value:t}]:[],a=new WeakMap;function j(t){if(!t)return null;if(a.has(t))return a.get(t);const i=[],r=new Set,s=n=>{if(!n||r.has(n.id??n))return;r.add(n.id??n);const b=typeof n.id=="string"&&!c(n.behavior).includes("no-nav"),d=A(n.label),h=c(n.items).filter(o=>(o==null?void 0:o.type)!=="Range"&&g(x(o)).id).length;let v=0;for(const o of c(n.items)){if((o==null?void 0:o.type)==="Range"){s(o);continue}const e=g(x(o));if(!e.id)continue;const f=v++;if(!b||!e.rect)continue;const{x:w,y:T,w:I,h:S}=e.rect,u=E(n.id,f);i.push({id:u,setId:l,canvasId:e.id,target:{id:e.id,rect:e.rect},motivation:["highlighting"],bodies:d,...h>1?{place:{index:f+1,total:h}}:{},annotation:{id:u,type:"Annotation",motivation:["highlighting"],...d.length&&{body:d.map(({value:$,language:y})=>({type:"TextualBody",value:$,...y?{language:y}:{}}))},target:`${e.id}#xywh=${w},${T},${I},${S}`}})}};c(t.structures).forEach(s);const p=i.length?{id:l,source:"contents",entries:i}:null;return a.set(t,p),p}export{j as contentsSet};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{X as f,u as r,A as u,Y as p,_ as d,k as m}from"./viewer-nfPJPwwt.mjs";import"./styles-Bedyz7_l.mjs";const v=f(null),l=new WeakMap;function y(t){let n=l.get(t);if(!n){const{render:o}=t;n={canvasId:t.canvasId,format:t.format,match:t.match,component:c=>r(A,{...c,render:o})},l.set(t,n)}return n}function h(t){if(Array.isArray(t))return t.filter(n=>typeof n=="object"&&n!==null&&typeof n.render=="function").map(y)}function A({render:t,canvases:n,bodies:o,children:c}){const a=u(null),s=p(v);return d(()=>{const e=a.current;if(!e)return;const i=t(e,{canvases:n,bodies:o,clover:s});return()=>{typeof i=="function"&&i(),e.replaceChildren()}},[t,n,o,s]),r(m,{children:[r("div",{ref:a,className:"clover-body-renderer",style:{position:"absolute",inset:0}}),c&&r("div",{className:"clover-canvas-controls",children:c})]})}export{h as toRenderers};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{bJ as a}from"./viewer-nfPJPwwt.mjs";function c(t){try{const o=new URL(t).pathname.split("/").filter(Boolean).pop();return o?decodeURIComponent(o):"download"}catch{return"download"}}async function i(t,o){try{const r=await a(o,t,{referrerPolicy:"no-referrer"});if(!r.ok)return false;const n=URL.createObjectURL(await r.blob()),e=document.createElement("a");return e.href=n,e.download=c(t),document.body.append(e),e.click(),e.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e4),true}catch{return false}}export{c as fileName,i as saveFile};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{bB as b,ax as f,bs as x,bC as S}from"./viewer-nfPJPwwt.mjs";const w=10;async function R(r,t,s,o,e){var n,d;const i=(n=r.get().manifest)==null?void 0:n.id;try{const{hits:c,set:u}=await A(t,s,{request:o,signal:e});if(e.aborted||((d=r.get().manifest)==null?void 0:d.id)!==i)return;r.set({search:{query:s,status:"ready",hits:c,set:u}})}catch{if(e.aborted)return;r.set({search:{query:s,status:"error",hits:[],set:null}})}}async function A(r,t,{request:s,signal:o}={}){const e=new URL(r.id);e.searchParams.set("q",t);const i=[];let n=e.toString();const d=new Set;for(;n&&i.length<w&&!d.has(n);){d.add(n);const c=await b(s,n,o);i.push(c),n=$(c)}return E(i,t)}function T(r){var e;const t=f(r)[0];if(typeof t=="string"||!t)return t;const s=t.full??t["@id"],o=(e=f(t.selector)[0])==null?void 0:e.value;return typeof o=="string"&&typeof s=="string"?`${s}#${o}`:s}function $(r){var o;const t=r.next??((o=r.within)==null?void 0:o.next),s=typeof t=="string"?t:(t==null?void 0:t.id)??(t==null?void 0:t["@id"]);return typeof s=="string"?s:null}function E(r,t){var e,i;const s=[],o=[];for(const n of r){const d=Array.isArray(n.resources),c=d?n.resources:f(n.items),u=new Map;for(const a of c){const p=a.id??a["@id"],m=d?T(a.on):f(a.target)[0],v=x(m);if(!p||!v.id)continue;const y=d?(e=a.resource)==null?void 0:e.chars:f(a.body).map(l=>l==null?void 0:l.value).find(l=>typeof l=="string"),I={id:p,setId:S,canvasId:v.id,target:v,motivation:["highlighting"],bodies:[{value:String(y??t)}],annotation:{id:p,type:"Annotation",motivation:["highlighting"],body:{type:"TextualBody",value:String(y??t)},target:m}};u.set(p,I),s.push(I)}const g=d?H(n,u):M(n,u),h=new Set(g.flatMap(a=>a.entryIds));o.push(...g);for(const a of u.values())h.has(a.id)||o.push({id:a.id,canvasId:a.canvasId,entryIds:[a.id],match:((i=a.bodies[0])==null?void 0:i.value)??t})}return{query:t,hits:o,set:{id:S,label:{none:[t]},source:"search",entries:s}}}function H(r,t){var o;const s=[];for(const e of f(r.hits)){const i=f(e.annotations).filter(n=>t.has(n));i.length&&s.push({id:i.join(" "),canvasId:t.get(i[0]).canvasId,entryIds:i,before:e.before,match:String(e.match??((o=t.get(i[0]).bodies[0])==null?void 0:o.value)??""),after:e.after})}return s}function M(r,t){var o,e;const s=[];for(const i of f(r.annotations))for(const n of f(i==null?void 0:i.items))if(f(n==null?void 0:n.motivation).includes("contextualizing"))for(const c of f(n.target)){const u=typeof(c==null?void 0:c.source)=="string"?c.source:(o=c==null?void 0:c.source)==null?void 0:o.id,g=u?t.get(u):void 0;if(!g)continue;const h=f(c.selector).find(a=>(a==null?void 0:a.type)==="TextQuoteSelector");s.push({id:`${n.id??u}#${u}`,canvasId:g.canvasId,entryIds:[g.id],before:h==null?void 0:h.prefix,match:String((h==null?void 0:h.exact)??((e=g.bodies[0])==null?void 0:e.value)??""),after:h==null?void 0:h.suffix})}return s}export{E as readResults,A as search,R as searchInto};
|