react-iiif-vault 2.0.18 → 4.0.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/README.md +77 -1
- package/dist/Image-CXsx26cA.d.ts +45 -0
- package/dist/Image-g-DyBvi0.d.cts +45 -0
- package/dist/ImageStrategy-BHLIi5gd.d.ts +55 -0
- package/dist/ImageStrategy-Be9YES5a.d.cts +55 -0
- package/dist/SimpleViewerContext.hooks-CTgfe0Gg.d.cts +617 -0
- package/dist/SimpleViewerContext.hooks-DYJSrd-U.d.ts +617 -0
- package/dist/SimpleViewerContext.types-CWf5OFM7.d.ts +51 -0
- package/dist/SimpleViewerContext.types-Df-cpBss.d.cts +51 -0
- package/dist/ViewerPresetContext-D7N6KH9p.d.ts +144 -0
- package/dist/ViewerPresetContext-DwFTIkDx.d.cts +144 -0
- package/dist/bundle.d.ts +290 -196
- package/dist/bundle.global.js +45 -74
- package/dist/canvas-panel/scene.cjs +1 -0
- package/dist/canvas-panel/scene.d.cts +133 -0
- package/dist/canvas-panel/scene.d.ts +133 -0
- package/dist/canvas-panel/scene.js +1 -0
- package/dist/canvas-panel.cjs +1 -47
- package/dist/canvas-panel.d.cts +10 -5
- package/dist/canvas-panel.d.ts +10 -5
- package/dist/canvas-panel.js +1 -1
- package/dist/chunk-3XPYQXUE.js +48 -0
- package/dist/chunk-6WG6RPHU.js +1 -0
- package/dist/chunk-DXC5VCRN.js +1 -0
- package/dist/chunk-DZ7DMQ3V.cjs +1 -0
- package/dist/chunk-HFC72RK6.js +1 -0
- package/dist/chunk-L2GTJVPY.js +1 -0
- package/dist/chunk-L576POBV.cjs +2 -0
- package/dist/chunk-LKWFF45D.cjs +1 -0
- package/dist/chunk-MEQI335A.js +2 -0
- package/dist/chunk-MIANDAMK.cjs +1 -0
- package/dist/chunk-ND2R7OTX.js +1 -0
- package/dist/chunk-R7HZTE2T.cjs +48 -0
- package/dist/chunk-WBVFSMED.cjs +1 -0
- package/dist/chunk-XULFR6E3.cjs +1 -0
- package/dist/chunk-YEU5T67O.js +1 -0
- package/dist/chunk-ZBGD3VEW.cjs +1 -0
- package/dist/chunk-ZEGT4BAR.cjs +1 -0
- package/dist/core.cjs +1 -0
- package/dist/core.d.cts +133 -0
- package/dist/core.d.ts +133 -0
- package/dist/core.js +1 -0
- package/dist/{index-DijgVxjb.d.ts → index-ClFUurPI.d.ts} +15 -69
- package/dist/{index-DHghDluJ.d.cts → index-QFlDahI_.d.cts} +15 -69
- package/dist/index.cjs +1 -49
- package/dist/index.d.cts +33 -1496
- package/dist/index.d.ts +33 -1496
- package/dist/index.js +1 -1
- package/dist/presentation-4.cjs +1 -0
- package/dist/presentation-4.d.cts +304 -0
- package/dist/presentation-4.d.ts +304 -0
- package/dist/presentation-4.js +1 -0
- package/dist/ranges-Cc2ppjFD.d.ts +689 -0
- package/dist/ranges-D-UBNcsJ.d.cts +689 -0
- package/dist/{useRenderingStrategy-CoKE915F.d.cts → useRenderingStrategy-Vubk-vUU.d.cts} +47 -24
- package/dist/{useRenderingStrategy-CoKE915F.d.ts → useRenderingStrategy-Vubk-vUU.d.ts} +47 -24
- package/dist/utils-DHWZGbVU.d.ts +54 -0
- package/dist/utils-De5WTLDh.d.cts +54 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.cts +7 -5
- package/dist/utils.d.ts +7 -5
- package/dist/utils.js +1 -1
- package/package.json +54 -15
- package/dist/chunk-KUNXFW7A.js +0 -49
- package/dist/chunk-P7XHGETS.js +0 -1
- package/dist/utils-BKdiug6F.d.cts +0 -41
- package/dist/utils-CmwQWQLa.d.ts +0 -41
package/dist/index.cjs
CHANGED
|
@@ -1,49 +1 @@
|
|
|
1
|
-
"use strict";var xl=Object.create;var qn=Object.defineProperty;var bl=Object.getOwnPropertyDescriptor;var Cl=Object.getOwnPropertyNames;var Rl=Object.getPrototypeOf,Pl=Object.prototype.hasOwnProperty;var Al=(e,t)=>{for(var n in t)qn(e,n,{get:t[n],enumerable:!0})},Bn=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Cl(t))!Pl.call(e,r)&&r!==n&&qn(e,r,{get:()=>t[r],enumerable:!(o=bl(t,r))||o.enumerable});return e},b=(e,t,n)=>(Bn(e,t,"default"),n&&Bn(n,t,"default")),J=(e,t,n)=>(n=e!=null?xl(Rl(e)):{},Bn(t||!e||!e.__esModule?qn(n,"default",{value:e,enumerable:!0}):n,e)),Tl=e=>Bn(qn({},"__esModule",{value:!0}),e);var x={};Al(x,{AnnotationContext:()=>Nu,AnnotationPageContext:()=>Vu,AnnotationStyleProvider:()=>$l,AtlasStoreProvider:()=>Nt,AtlasStoreReactContext:()=>ut,Auth:()=>tr,AuthProvider:()=>Jo,AuthRContext:()=>rt,AuthReactContext:()=>Yi,AuthReactContextActions:()=>Gi,CanvasAnnotations:()=>bu,CanvasContext:()=>pe,CanvasPanel:()=>G,CanvasStrategyProvider:()=>pi,CanvasWorldObject:()=>hi,CollectionContext:()=>Lu,CombinedMetadata:()=>Cu,ComplexTimelineProvider:()=>Vr,ContextBridge:()=>xn,ControlsReactContext:()=>ln,CreateCustomShape:()=>xi,CustomContextBridge:()=>Rs,CustomContextBridgeProvider:()=>nu,DEFAULT_BEZIER:()=>cn,DEFAULT_POLL_INTERVAL:()=>Lr,DefaultEditingTools:()=>Vs,EASING_PRESETS:()=>je,EventEmitterProvider:()=>Hl,EventsProvider:()=>tu,Image:()=>rl,ImageService:()=>Pu,ImageServiceLoaderContext:()=>za,InnerViewerProvider:()=>ea,LanguageProvider:()=>jl,LanguageString:()=>es,LocaleString:()=>de,ManifestContext:()=>$o,ManifestMetadata:()=>Tu,MediaPlayerProvider:()=>an,Metadata:()=>Ln,PolygonSelector:()=>xu,RangeContext:()=>Wo,ReactEmitterContext:()=>st,ReactEventContext:()=>St,ReactVaultContext:()=>Fe,RegionHighlight:()=>gr,Render3DModelStrategy:()=>Cr,RenderAccompanyingCanvas:()=>Rr,RenderAnnotation:()=>mt,RenderAnnotationEditing:()=>ei,RenderAnnotationPage:()=>Ue,RenderAnnotationStrategy:()=>wr,RenderAudioStrategy:()=>Er,RenderComplexTimelineStrategy:()=>Ur,RenderEmptyStrategy:()=>_r,RenderImageStrategy:()=>Yr,RenderSvgEditorControls:()=>Eu,RenderTextualContentStrategy:()=>Gr,RenderVideoStrategy:()=>jr,RenderYouTubeStrategy:()=>Qr,ResizeWorldItem:()=>pr,ResourceProvider:()=>ie,ResourceReactContext:()=>Gt,SelectorControllerProvider:()=>yu,SequenceThumbnails:()=>Mu,SimpleViewerProvider:()=>or,SimpleViewerReactContext:()=>Mt,SingleCanvasThumbnail:()=>Ti,StrategyReactContext:()=>Ye,ThumbnailFallbackImage:()=>ht,TranslationProvider:()=>Kl,TransliterationProvider:()=>Ql,VaultProvider:()=>ke,ViewerPresetContext:()=>Pe,VirtualAnnotationProvider:()=>Ir,VisibleCanvasReactContext:()=>nt,annotationResponseToSelector:()=>Xu,authDetailsForResource:()=>Qo,buildTransitions:()=>Or,createAtlasStore:()=>ir,createAuthStateStore:()=>Ko,createProbe:()=>jo,cubicBezierEasing:()=>xe,defaultEmitter:()=>Ss,defaultSvgTheme:()=>gs,emptyActions:()=>ti,emptyStrategy:()=>ni,findAllCanvasesInRange:()=>Fn,findFirstCanvasFromRange:()=>Fi,findManifestSelectedRange:()=>wl,findSelectedRange:()=>Uo,flattenAnnotationPageIds:()=>oi,formatTime:()=>jn,get3dStrategy:()=>ai,getAtlasStoreByName:()=>lr,getComplexTimelineStrategy:()=>ui,getCroppedThumbnail:()=>Ba,getDefaultAnnotationStyles:()=>ur,getImageStrategy:()=>wn,getManifestSequence:()=>$n,getParsedTargetSelector:()=>Rn,getRenderingStrategy:()=>En,getStepFromProgress:()=>Br,getTextualContentStrategy:()=>Mn,getVideoStrategy:()=>kn,getVisibleCanvasesFromCanvasId:()=>Ml,hasAuth:()=>kl,interpolateRect:()=>zr,isBoxSelector:()=>Dl,isRectangle:()=>kt,isSvgSelector:()=>oa,makeAccessServiceRequest:()=>Yo,makeAccessTokenRequest:()=>Wn,parseSpecificResource:()=>au,polygonToTarget:()=>Et,requestToAnnotationResponse:()=>en,seraliseSupportedSelector:()=>Yn,svgThemes:()=>hu,targetIntersects:()=>Qu,unknownResponse:()=>Pn,unsupportedStrategy:()=>O,useAnnotation:()=>nn,useAnnotationPage:()=>hr,useAnnotationPageManager:()=>Tn,useAnnotationStyles:()=>tn,useAnnotationsAtTime:()=>zu,useAtlasContextMenu:()=>Cn,useAtlasStore:()=>L,useAuthActions:()=>Ki,useAuthService:()=>ji,useAuthStore:()=>It,useAuthToken:()=>Nl,useAuthTokens:()=>Xo,useCanvas:()=>w,useCanvasChoices:()=>Ou,useCanvasClock:()=>Bu,useCanvasSequence:()=>_o,useCanvasStartTime:()=>sn,useCanvasSubset:()=>qu,useClosestLanguage:()=>ns,useCollection:()=>Hu,useComplexTimeline:()=>Gl,useContextBridge:()=>Sn,useContextMenuStore:()=>Es,useCreateLocaleString:()=>Xl,useCurrentAnnotationActions:()=>Du,useCurrentAnnotationMetadata:()=>Fu,useCurrentAnnotationRequest:()=>Jr,useCurrentAnnotationTransition:()=>$u,useCurrentAuth:()=>El,useCustomContextBridge:()=>vn,useDispatch:()=>Pr,useEmitter:()=>rr,useEvent:()=>lt,useEventEmitter:()=>gn,useEventListener:()=>Wu,useExistingVault:()=>Ee,useExternalCollection:()=>Uu,useExternalManifest:()=>Fo,useExternalResource:()=>jt,useIIIFLanguage:()=>so,useImage:()=>No,useImageService:()=>ki,useImageServiceLoader:()=>un,useImageTile:()=>_u,useIsAuthEnabled:()=>er,useLoadImageService:()=>In,useLocaleString:()=>os,useManifest:()=>$,useMediaActions:()=>Ul,useMediaElements:()=>_l,useMediaState:()=>Wl,usePaintables:()=>ii,usePaintingAnnotations:()=>qe,usePolygonHelper:()=>Xr,useRange:()=>Qt,useRemoteStylesheet:()=>mr,useRenderControls:()=>ae,useRenderingStrategy:()=>mi,useRequestAnnotation:()=>Si,useResourceContext:()=>ee,useResourceEvents:()=>on,useResources:()=>ri,useSearchService:()=>nr,useSelectorController:()=>Ri,useSelectorEmitter:()=>vu,useSelectorEvents:()=>Ci,useSelectorHelper:()=>Su,useSimpleMediaPlayer:()=>dt,useSimpleViewer:()=>it,useStaticRenderingStrategy:()=>Yu,useStrategy:()=>H,useStyleHelper:()=>Gu,useStyles:()=>ct,useStylesheetStore:()=>ca,useSvgEditor:()=>Zr,useSvgEditorControls:()=>Ii,useThumbnail:()=>ze,useTranslations:()=>Hr,useTransliteration:()=>qr,useVault:()=>k,useVaultEffect:()=>Mr,useVaultSelector:()=>V,useViewerPreset:()=>dn,useViewportScroll:()=>ju,useViewportTour:()=>Ku,useVirtualAnnotationPage:()=>Ar,useVirtualAnnotationPageContext:()=>Tr,useVisibleCanvases:()=>ot});module.exports=Tl(x);b(x,require("@iiif/helpers/annotation-targets"),module.exports);var bt=require("react");var Pt=J(require("react"),1),Ei=require("react/jsx-runtime"),Il={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0},Gt=Pt.default.createContext(Il),ee=()=>(0,Pt.useContext)(Gt);function ie({value:e,children:t}){let n=ee(),o=(0,Pt.useMemo)(()=>({...n,...e}),[e,n]);return(0,Ei.jsx)(Gt.Provider,{value:o,children:t})}var Ni=require("react/jsx-runtime");function pe({canvas:e,children:t}){return(0,Ni.jsx)(ie,{value:{canvas:e},children:t})}var Hn=J(require("react"),1),Kt=require("@iiif/helpers/vault");var Do=require("react/jsx-runtime"),Fe=Hn.default.createContext({vault:null,setVaultInstance:e=>{}});function ke({vault:e,vaultOptions:t,useGlobal:n,resources:o,children:r}){let[i,a]=(0,Hn.useState)(()=>e||(n?(0,Kt.globalVault)(t):t?new Kt.Vault(t):new Kt.Vault));return(0,Do.jsx)(Fe.Provider,{value:{vault:i,setVaultInstance:a},children:(0,Do.jsx)(ie,{value:o||{},children:r})})}var Li=require("react"),zi=J(require("react"),1);var Vi=require("react"),k=()=>{let{vault:e}=(0,Vi.useContext)(Fe);if(e===null)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return e};var Dn=require("react");function V(e,t=[]){let n=k(),[o,r]=(0,Dn.useState)(()=>e(n.getState(),n));return(0,Dn.useEffect)(()=>n.subscribe(i=>e(i,n),i=>{r(i)},!1),t),o}var nt=zi.default.createContext([]);function ot(){let e=(0,Li.useContext)(nt);return V(t=>e.map(n=>t.iiif.entities.Canvas[n]).filter(Boolean),[e])}var Oi=require("@iiif/helpers/vault"),Bi=require("react");function Ee(e){let t=(0,Bi.useContext)(Fe);return e||(t&&t.vault?t.vault:(0,Oi.globalVault)())}var qi=require("react");function $(e={},t=[]){let{id:n,selector:o}=e,r=ee(),i=k(),a=n||r.manifest,s=V(l=>a?l.iiif.entities.Manifest[a]:void 0,[a]);return(0,qi.useMemo)(()=>{if(s)return o?o(s):s},[s,o,...t])}var Ji=require("react"),_n=require("react");var $e=require("react");function jt(e,{noCache:t=!1}={}){let n=typeof e=="string"?e:e.id,o=Ee(),[r,i]=(0,$e.useState)(n),[a,s]=(0,$e.useState)(void 0),l=(0,$e.useMemo)(()=>o.get(n,{skipSelfReturn:!0})||void 0,[n,o]),[c,u]=(0,$e.useState)(l);return(0,$e.useEffect)(()=>{(async()=>{try{let m=l&&!t?l:await o.load(n),d=m?m.id||m["@id"]:null;m&&r!==d&&i(d),u(m)}catch(m){s(m)}})()},[n,t]),{isLoaded:!!c,id:r,requestId:n,error:a,resource:c,cached:!!(c&&c===l)}}function Fo(e,t){let{id:n,isLoaded:o,error:r,resource:i,requestId:a,cached:s}=jt(e,t);return{id:n,isLoaded:o,error:r,manifest:i,requestId:a,cached:s}}var Hi=require("react/jsx-runtime");function $o({manifest:e,children:t}){return(0,Hi.jsx)(ie,{value:{manifest:e},children:t})}var Di=require("react/jsx-runtime");function Wo({range:e,children:t}){return(0,Di.jsx)(ie,{value:{range:e},children:t})}function Fi(e,t){for(let n of t.items){if(n.type==="Canvas")return n;if(n.type==="SpecificResource")return n.source;if(n.type==="Range"){let o=Fi(e,e.get(n));if(o)return o}}return null}function Fn(e,t){let n=[];for(let o of t.items)if(o.type==="SpecificResource"&&o.source?.type==="Canvas"&&(o.source.id.indexOf("#")!==-1?n.push({id:o.source.id.split("#")[0],type:"Canvas"}):n.push(o.source)),o.type==="Range"&&n.push(...Fn(e,e.get(o))),o.type==="SpecificResource"){let r=typeof o.source=="string"?o.source:o.source.id;n.push({id:r,type:"Canvas"})}return n}function wl(e,t,n){for(let o of t.structures){let r=Uo(e,e.get(o),n);if(r)return r}return null}function Uo(e,t,n){for(let o of t.items){let r=o?.source?.id?.split("#")[0];if(o.type==="SpecificResource"&&o.source===n||o.type==="SpecificResource"&&o.source?.type==="Canvas"&&n===r)return t;if(o.type==="Range"){let i=Uo(e,e.get(o),n);if(i)return i}}return null}function Ml(e,t,n,o=!1){let r=t.behavior,i=n?e.get(n):null;if(!i)return[];let a=i.behavior,s=o?!1:r.includes("paged"),l=s?!1:r.includes("continuous"),c=s||l?!1:r.includes("individuals"),u=a.includes("facing-pages"),m=a.includes("non-paged");if(u||m||c||o)return[{id:i.id,type:"Canvas"}];let[d,p]=$n(e,t);if(l)return d;let f=d.findIndex(h=>h.id===n);if(f===-1)return[];for(let h of p)if(h.includes(f))return h.map(v=>d[v]);return[{id:i.id,type:"Canvas"}]}function $n(e,t,{disablePaging:n,skipNonPaged:o}={}){let r=t.behavior,i=r.includes("paged"),a=i?!1:r.includes("continuous"),s=i||a?!1:r.includes("individuals"),l=t.type==="Manifest"?t.items:Fn(e,t);if(a)return[l,[l.map((f,h)=>h)]];if(s||!i||n)return[l,l.map((f,h)=>[h])];let c=[],u=[],m=()=>{u.length&&(c.push([...u]),u=[])},d=0,p=!1;for(let f=0;f<l.length;f++){let h=e.get(l[f]);if(h.behavior.includes("non-paged")){f===d&&d++,o||(m(),c.push([f]),m());continue}if(f===d||h.behavior.includes("facing-pages")){u.length&&(p=!0),m(),c.push([f]),m();continue}if(u.push(f),p){m(),p=!1;continue}u.length>1&&m()}return u.length&&m(),[l,c]}var ye=require("react");var $i=require("react");function Qt(e={},t=[]){let{id:n,selector:o}=e,r=ee(),i=n||r.range,a=V(s=>i?s.iiif.entities.Range[i]:void 0,[i]);return(0,$i.useMemo)(()=>{if(a)return o?o(a):a},[a,o,...t])}function _o({startCanvas:e,disablePaging:t}){let n=k(),o=$(),r=Qt(),[i,a]=(0,ye.useState)(void 0),s=r||o;if(!s)throw new Error("Nothing selected");let[l,c]=(0,ye.useMemo)(()=>$n(n,s,{disablePaging:t}),[n,s,t]),u=(0,ye.useRef)(c);if(u.current!==c){let v=u.current[i][0],y=c.findIndex(R=>R.includes(v));u.current=c,a(y)}let m=(0,ye.useCallback)(h=>{let v=c.findIndex(y=>y.includes(h));a(v===-1?0:v)},[l,c]),d=(0,ye.useCallback)(h=>{let v=l.findIndex(y=>y.id===h);v!==-1?m(v):a(0)},[l,c]),p=(0,ye.useCallback)(()=>{a(h=>h>=c.length-1?h:h+1)},[c]),f=(0,ye.useCallback)(()=>{a(h=>h<=0?0:h-1)},[c]);return typeof i>"u"&&(e?d(e):a(0)),{visibleItems:c[i]?.map(h=>l[h].id)||[],cursor:i,items:l,sequence:c,hasPrevious:i>0,hasNext:i<c.length-1,setSequenceIndex:a,setCanvasIndex:m,setCanvasId:d,next:p,previous:f}}var Se=require("react"),Tt=require("zustand");var Go=require("zustand/vanilla");function kl(e){let t=e.service||e.services||[];for(let n of t)if(n.type==="AuthProbeService2")return!0;return!1}function ve(e,t,n){let o=t.findIndex(a=>a.service.id===e);if(o===-1)return t;let r=[...t],i=n(r[o]);return i===r[o]?t:(r[o]=i,r)}var Ko=()=>(0,Go.createStore)((e,t)=>({currentAuth:-1,authItems:[],login:()=>{let n=t().authItems[t().currentAuth];if(!n||n.isPending||n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot login to non-active service");let o=n.service.service.find(r=>r.type==="AuthAccessTokenService2");if(!o)throw new Error("Token service not found");e(()=>({authItems:ve(n.id,t().authItems,r=>({...r,isPending:!0}))})),Yo(n.service).then(()=>{Wn(o).then(r=>{let i=r.expiresIn,a=Date.now()+i*1e3;e(()=>({authItems:ve(n.id,t().authItems,s=>({...s,isLoggedIn:!0,isPending:!1,session:{token:r.accessToken,expires:a}}))}))}).catch(r=>{e(()=>({authItems:ve(n.id,t().authItems,i=>({...i,isLoggedIn:!1,isPending:!1,error:r.message}))}))})})},logout:()=>{let n=t().authItems[t().currentAuth];if(!n||n.isPending||!n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot logout of non-active service");let o=n.service.service.find(a=>a.type==="AuthLogoutService2");if(!o)return;let r=`${o.id}?origin=${Wi()}`,i=window.open(r);e(()=>({authItems:ve(n.id,t().authItems,a=>({...a,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let n=t().authItems.length,o=t().currentAuth+1;o>=n||e(()=>({currentAuth:o}))},previousAuth:()=>{let n=t().currentAuth-1;n<0||e(()=>({currentAuth:n}))},setAuth:n=>{n!==-1&&(n<0||n>=t().authItems.length)||e(()=>({currentAuth:n}))},addService:(n,o)=>{if(!n.service)return;let r=n.service.find(s=>s.type==="AuthAccessTokenService2"),i=n;if(t().authItems.find(s=>s.service.id===n.id)){e(()=>({authItems:ve(n.id,t().authItems,s=>({...s,instances:s.instances+1}))}));return}if(e(()=>({currentAuth:i.profile==="active"?0:t().currentAuth,authItems:[{id:n.id,type:n.profile,service:n,probeId:o,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...t().authItems]})),n.profile==="external"){if(!r)throw new Error("Token service not found");Wn(r).then(s=>{e(()=>({authItems:ve(n.id,t().authItems,l=>({...l,isLoggedIn:!0,isPending:!1,session:{token:s.accessToken,expires:s.expiresIn}}))}))}).catch(s=>{e(()=>({authItems:ve(n.id,t().authItems,l=>({...l,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:s.message}))}))})}if(n.profile==="kiosk"){if(!r)throw new Error("Token service not found");e(()=>({authItems:ve(n.id,t().authItems,s=>({...s,isPending:!0}))})),Yo(i).then(()=>{Wn(r).then(s=>{e(()=>({authItems:ve(n.id,t().authItems,l=>({...l,isLoggedIn:!0,isPending:!1,session:{token:s.accessToken,expires:s.expiresIn}}))}))}).catch(s=>{e(()=>({authItems:ve(n.id,t().authItems,l=>({...l,isLoggedIn:!1,isPending:!1,error:s.message}))}))})})}n.profile},removeService:(n,o)=>{let r=t().currentAuth===t().authItems.findIndex(a=>a.service.id===n.id),i=t().currentAuth;if(r){let a=t().authItems.find(l=>l.service.id===n.id);a&&a.instances>1||(i=t().authItems.findIndex(c=>c.service.id!==n.id&&c.instances>0))}e(()=>({authItems:ve(n.id,t().authItems,a=>({...a,instances:a.instances-1})),currentAuth:i}))}})),jo=(e,t)=>(0,Go.createStore)((n,o)=>({service:e,status:e?"unknown":"success",shouldRedirect:!1,redirectResource:null,shouldSubstitute:!1,substituteResource:null,error:null,errorHeading:null,errorNote:null,shouldDisplayResource:!1,token:t||null,async probe(){if(!o().service)return;let r=o().service?.id;if(!r){n({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}n({status:"probing"});let i=o().token;try{let a=await fetch(r,{headers:i?{Authorization:`Bearer ${o().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(s=>s.json());if(a.status===200)n({status:"success",shouldDisplayResource:!0,error:null,errorHeading:null,errorNote:null,shouldSubstitute:!1,shouldRedirect:!1});else if(a.status<400&&a.status>=300){if(!a.location)throw new Error("Redirect location not found");n({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:a.location||null})}else if(a.status===401)n({status:"error",shouldDisplayResource:!1,shouldRedirect:!1,shouldSubstitute:!!a.substitute,substituteResource:a.substitute||null,error:"Unauthorized",errorHeading:a.heading||{en:["Unauthorized"]},errorNote:a.note||null});else throw new Error("Unknown error")}catch(a){n({status:"error",error:a.message,errorHeading:{en:["Unknown error"]}})}},setToken(r){n({token:r})}}));function Qo(e){let t=e.service||e.services||[],n={hasAuth:!1,services:{}};for(let o of t)if(o.type==="AuthProbeService2"){n.services.probe=o,n.hasAuth=!0;let r=o.service.filter(i=>i.type==="AuthAccessService2");r[0]&&(n.services.access=r[0])}return n}async function Wn(e,{strict:t=!0}={}){return new Promise((n,o)=>{let r=Math.random().toString(36).substring(7),i=`${e.id}?messageId=${r}&origin=${window.location.origin}`,a=c=>{let u=c.data;if(u.messageId===r){if(t&&u.type!=="AuthAccessToken2"){s(),o("Invalid response, expected type=AuthAccessToken2");return}if(!u.accessToken){s(),o("Invalid response, expected accessToken");return}s(),n(u)}},s=()=>window.removeEventListener("message",a),l=document.createElement("iframe");l.src=i,l.style.display="none",document.body.appendChild(l),window.addEventListener("message",a)})}function Wi(e){let t=window.location;if(e){let n=document.createElement("a");return n.href=e,n.protocol+"//"+n.hostname+(n.port?":"+n.port:"")}return t.protocol+"//"+t.hostname+(t.port?":"+t.port:"")}async function Yo(e){let t=`${e.id}?origin=${Wi()}`,n=window.open(t);if(!n)throw new Error("Failed to open window");return new Promise((o,r)=>{let i=setInterval(()=>{n.closed&&(clearInterval(i),o())},500)})}var At=require("react");var Ui=require("zustand");function _i(e){let t=(0,At.useMemo)(()=>Qo(e),[e]),n=Xo(t.services.access?.id),o=(0,At.useMemo)(()=>jo(t.services.probe,n),[t.services.probe]),r=(0,Ui.useStore)(o);return(0,At.useEffect)(()=>{r.status==="unknown"&&!n&&r.probe()},[t.services.probe,r.status]),(0,At.useEffect)(()=>{n&&(r.setToken(n),r.probe())},[n]),[e,r,t.hasAuth]}var Xt=require("react/jsx-runtime"),rt=(0,Se.createContext)(null),Yi=(0,Se.createContext)(null);Yi.displayName="CurrentAuth";var Gi=(0,Se.createContext)(null);Gi.displayName="AuthActions";function Jo({children:e}){let t=(0,Se.useMemo)(()=>Ko(),[]);return(0,Xt.jsx)(rt.Provider,{value:t,children:e})}function er(){return!!(0,Se.useContext)(rt)}function It(){let e=(0,Se.useContext)(rt);if(!e)throw new Error("useAuthActions must be used within a AuthProvider");return e}function Ki(){let e=It();return(0,Tt.useStore)(e,n=>({login:n.login,logout:n.logout,nextAuth:n.nextAuth,previousAuth:n.previousAuth,setAuth:n.setAuth,addService:n.addService,removeService:n.removeService}))}function El(){let e=It();return(0,Tt.useStore)(e,t=>t)}function ji(e){let t=It();return(0,Tt.useStore)(t,o=>o.authItems.find(r=>r.service.id===e))}function Xo(e){let t=It();return(0,Tt.useStore)(t,o=>o.authItems.find(r=>r.id===e)?.session?.token)}function Nl(e){let t=It();return(0,Tt.useStore)(t,o=>{let r=o.authItems.find(i=>i.service.id===e);return!r||!r.isLoggedIn||!r.session?null:r.session?.token||null})}function Vl(e){let t=Ki(),n=ji(e.service.id);return(0,Se.useEffect)(()=>(t?.addService(e.service,e.probeId),()=>{t?.removeService(e.service,e.probeId)}),[e.service]),n?(n.error||!n.isLoggedIn,e.children):null}function Zo(){return null}function tr(e){let[t,n,o]=_i(e.resource),r=e.fallbackComponent||Zo,i=e.loadingComponent||Zo,a=e.errorComponent||Zo,s=n.service,l=null;if(!o||!s)return e.children(t);let c=s.service.filter(u=>u.type==="AuthAccessService2");n.status==="error"&&(l=(0,Xt.jsx)(a,{resource:e.resource,error:n.error||"",heading:n.errorHeading,note:n.errorNote,extra:e.extra})),(n.status==="unknown"||n.status==="probing")&&(l=(0,Xt.jsx)(i,{})),n.status==="success"&&(l=e.children(t));for(let u of c)l=(0,Xt.jsx)(Vl,{service:u,probeId:s.id,children:l},u.id);return l}var Zt=require("react");var Qi=require("zustand/vanilla"),Ll=e=>e.id||e["@id"];function zl(e){return(Array.isArray(e.service)?e.service:[e.service]).find(n=>n?.profile==="http://iiif.io/api/search/0/autocomplete"||n?.profile==="http://iiif.io/api/search/1/autocomplete"||n?.profile==="AutoCompleteService1")}var Xi=e=>{let t;typeof e=="string"?t={"@context":"http://iiif.io/api/search/1/context.json",profile:"http://iiif.io/api/search/1/search","@id":e,id:e,service:[]}:t=e;let n=t?Ll(t):void 0,o=null;return(0,Qi.createStore)((r,i)=>({service:t,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!t,hasAutocomplete:t?!!zl(t):!1,errorMessage:"",search(a,s={}){if(!n)throw new Error("No search service found.");o&&!o.signal.aborted&&o.abort(),o=new AbortController;let l=new URLSearchParams;a.q&&l.set("q",a.q),a.motivation&&l.set("motivation",a.motivation),a.date&&l.set("date",a.date),a.user&&l.set("user",a.user),r({loading:!0}),fetch(`${n}?${l.toString()}`,{signal:o.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...s.headers||{}}}).then(async c=>{if(!o?.signal.aborted)if(c.ok){let u=await c.json();r({resources:u.resources,error:!1,errorMessage:""})}else r({resources:[],error:!0,errorMessage:c.statusText})})},clearSearch(){r({resources:[],error:!1,errorMessage:""})},highlightResult(a){let s=i().resources.find(l=>l["@id"]===a);r({highlight:s})},nextResult(){let a=i().resources,s=i().highlight;if(!s){r({highlight:a[0]||null});return}let l=a.findIndex(c=>c["@id"]===s["@id"]);if(l===-1){r({highlight:a[0]||null});return}r({highlight:a[l+1]||a[0]||null})},previousResult(){let a=i().resources,s=i().highlight;if(!s){r({highlight:a[a.length-1]||null});return}let l=a.findIndex(c=>c["@id"]===s["@id"]);if(l===-1){r({highlight:a[a.length-1]||null});return}if(l===0){r({highlight:a[a.length-1]||null});return}r({highlight:a[l-1]||a[a.length-1]||null})}}))};var Ol=require("zustand");function nr(){let e=$();return e?e.service.find(t=>t.profile==="SearchService1"||t.profile==="http://iiif.io/api/search/1/search"):void 0}var Un=require("react/jsx-runtime"),wt=(0,Zt.createContext)(null);wt.displayName="Search";function Zi(e){let t=nr();return e.store?(0,Un.jsx)(wt.Provider,{value:e.store,children:e.children}):(0,Un.jsx)(Bl,{service:t,children:e.children})}function Bl({service:e,children:t}){let n=(0,Zt.useMemo)(()=>Xi(e),[e]);return(0,Un.jsx)(wt.Provider,{value:n,children:t})}var ce=require("react/jsx-runtime"),Jt=()=>{},Mt=(0,_n.createContext)({setCurrentCanvasId:Jt,setCurrentCanvasIndex:Jt,nextCanvas:Jt,previousCanvas:Jt,items:[],sequence:[],setSequenceIndex:Jt,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function ea(e){let t=$(),{cursor:n,visibleItems:o,next:r,sequence:i,items:a,setCanvasIndex:s,setCanvasId:l,previous:c,setSequenceIndex:u,hasNext:m,hasPrevious:d}=_o({startCanvas:e.startCanvas,disablePaging:e.pagingEnabled===!1}),p=(0,_n.useMemo)(()=>({sequence:i,items:a,setCurrentCanvasId:l,nextCanvas:r,previousCanvas:c,totalCanvases:a.length,setCurrentCanvasIndex:s,setSequenceIndex:u,currentSequenceIndex:n,hasNext:m,hasPrevious:d}),[i,a,l,r,c,a,s,u,n]);return t?o.length===0?null:(0,ce.jsx)(Mt.Provider,{value:p,children:(0,ce.jsx)(nt.Provider,{value:o,children:(0,ce.jsx)(pe,{canvas:o[0],children:e.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,ce.jsx)("div",{children:"Sorry, something went wrong."}))}function or(e){let t=Ee(e.vault),n=Fo(e.manifest);if(!n)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,ce.jsx)("div",{children:"Sorry, something went wrong."});if(n.error)return(0,ce.jsx)("div",{children:n.error.toString()});if(!n.isLoaded)return(0,ce.jsx)("div",{children:"Loading..."});let o=(0,ce.jsx)(ea,{...e,children:e.children});return(0,ce.jsx)(ke,{vault:t,children:(0,ce.jsx)($o,{manifest:n.id,children:(0,ce.jsx)(Jo,{children:(0,ce.jsx)(Zi,{children:e.rangeId?(0,ce.jsx)(Wo,{range:e.rangeId,children:o}):o})})})})}function it(){return(0,Ji.useContext)(Mt)}var aa=require("@atlas-viewer/atlas"),Ne=require("react"),sa=require("zustand");var ta=J(require("mitt"),1),at=require("react"),na=require("react/jsx-runtime"),ql=(0,ta.default)(),st=(0,at.createContext)(ql);function Hl({children:e,emitter:t}){return(0,na.jsx)(st.Provider,{value:t,children:e})}function rr(){return(0,at.useContext)(st)}function lt(e,t,n=[]){let o=(0,at.useContext)(st);(0,at.useEffect)(()=>{let r=i=>{t(i)};return o.on(e,r),()=>{o.off(e,r)}},[o,e,...n])}var ra=require("polygon-editor"),ia=require("zustand/vanilla");function kt(e){let t=Math.max(...e.map(i=>i[0])),n=Math.min(...e.map(i=>i[0])),o=Math.max(...e.map(i=>i[1])),r=Math.min(...e.map(i=>i[1]));for(let i of e)if(i[0]!==n&&i[0]!==t&&i[1]!==r&&i[1]!==o||i[0]<n||i[0]>t||i[1]<r||i[1]>o)return!1;return!0}function We(e){if(!e)return null;if(e.points.length>2){let t=Math.min(...e.points.map(i=>i[0])),n=Math.min(...e.points.map(i=>i[1])),o=Math.max(0,...e.points.map(i=>i[0])),r=Math.max(0,...e.points.map(i=>i[1]));return{x:t,y:n,width:o-t,height:r-n}}return null}function oa(e){return e.type==="SvgSelector"}function Dl(e){return e.type==="BoxSelector"}function Yn(e,t){if(oa(e)){let a=e.svgShape==="polyline";if(!e.points||e.points.length===0)return null;if(t){let{width:s,height:l}=t;return{type:"SvgSelector",value:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${s} ${l}" width="${s}" height="${l}"><${a?"polygon":"polyline"} points="${e.points.map(u=>u.join(",")).join(" ")}" /></svg>`}}return{type:"SvgSelector",value:`<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g><path d='M${e.points.map(s=>s.join(",")).join(" ")}${a?" Z":""}' /></g></svg>`}}if(!e.spatial)return null;let{x:n,y:o,width:r,height:i}=e.spatial||{};return!r||!i?null:{type:"FragmentSelector",value:`xywh=${~~n},${~~o},${~~r},${~~i}`}}function Et(e,t){if(!e||!e.points.length)return null;if(kt(e.points)){let n=e.points.map(l=>l[0]),o=e.points.map(l=>l[1]),r=Math.min(...n),i=Math.min(...o),a=Math.max(...n)-r,s=Math.max(...o)-i;return Yn({type:"BoxSelector",spatial:{x:r,y:i,width:a,height:s}},t)}return Yn({type:"SvgSelector",points:e.points,svgShape:e.open?"polygon":"polyline"},t)}function en(e){if(e.type==="polygon"&&!e.noBox&&e.points&&kt(e.points)){let n=We({open:!1,points:e.points||[]});return en({...e,type:"box",selector:n})}if(e.type==="polygon"||e.type==="draw")return{polygon:{points:e.points||[],open:e.open||!1},requestType:e.type,boundingBox:We({points:e.points||[],open:!1}),metadata:{},arguments:e.arguments||{},target:Et({points:e.points||[],open:!1},e.bounds)};let t=e.selector;if(t){let n=[[t.x,t.y],[t.x+t.width,t.y],[t.x+t.width,t.y+t.height],[t.x,t.y+t.height]];return{polygon:{points:n,open:!1},requestType:e.type,boundingBox:t,metadata:{},target:Et({points:n,open:!1},e.bounds),arguments:e.arguments||{}}}return{polygon:{points:[],open:!1},requestType:e.type,boundingBox:null,target:null,metadata:{},arguments:e.arguments||{}}}var Fl={shapeId:null,noShape:!0,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,lastCreationTool:null,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:0},bounds:null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,transitionModifiers:null,selectedStamp:null,bezierLines:[],boxMode:!1,fixedAspectRatio:!1,cursor:"",enabledTools:["pointer","pen","box","lineBox","stamp","hand","line","pencil"],canDelete:!0,canDeselect:!0,isToolSwitchingLocked:!1,currentTool:"box",snapEnabled:!1,snapToPoints:!1,snapToLines:!1,snapToIntersections:!1,snapToGrid:!1,snapToParallel:!1};function ir({events:e,enabledTools:t,keyboardShortcutMapping:n,keyboardShortcutsEnabled:o=!1,debug:r}){let i=(0,ia.createStore)((s,l)=>{let c=null,m=(0,ra.createHelper)({emitter:e,keyboardShortcutsEnabled:o,keyboardShortcutMapping:n,enabledTools:t,customSetState:d=>{r&&console.log("partial state",d),s(p=>({polygonState:{...p.polygonState,...d}}))}},d=>{s(p=>p.tool.requestId?{polygon:{...d,id:p.tool.requestId}}:{polygon:{id:void 0,points:[],open:!0}}),e.emit("atlas.polygon-update",d)});return{mode:"explore",tool:{enabled:!1,requestId:null,canvasId:null},runtime:null,requestType:null,requests:{},history:m.history,polygon:null,validRequestIds:[],metadata:{},stableViewport:null,canvasRelativePositions:{},canvasViewports:{},polygons:m,polygonState:Fl,setMetadata:(d,p)=>{let f=p||l().tool.requestId;f&&s(h=>({metadata:{...h.metadata,[f]:{...h.metadata[f]||{},...d}}}))},setToolCanvasId:d=>{s(p=>({tool:{...p.tool,canvasId:d}}))},switchTool:{pointer(){s({mode:"sketch"}),a.tools.setTool("pointer")},hand(){s({mode:"explore"}),a.tools.setTool("hand")},draw(){s({mode:"sketch"}),a.tools.setTool("pencil")},pen(){s({mode:"sketch"}),a.tools.setTool("pen")},line(){s({mode:"sketch"}),a.tools.setTool("line")},lineBox(){s({mode:"sketch"}),a.tools.setTool("lineBox")},box(){s({mode:"sketch"}),a.tools.setTool("box")},triangle(){s({mode:"sketch"}),a.tools.setTool("stamp"),a.stamps.triangle()},hexagon(){s({mode:"sketch"}),a.tools.setTool("stamp"),a.stamps.hexagon()},circle(){s({mode:"sketch"}),a.tools.setTool("stamp"),a.stamps.circle()},remove(){let d=l();d.tool.requestId&&(m.setShape({points:[],open:!0}),d.cancelRequest(d.tool.requestId))}},reset:()=>{let d=l();d.tool.requestId&&d.cancelRequest(d.tool.requestId)},setPolygonState:d=>s({polygonState:typeof d=="function"?d(l().polygonState):d}),getRequestId:()=>{let d=Math.random().toString(36).slice(2);return s(p=>({validRequestIds:[...p.validRequestIds,d]})),{requestId:d,clear:()=>{l().tool.requestId,s(p=>({tool:p.tool.requestId===d?{enabled:!1,requestId:null,canvasId:null}:p.tool,validRequestIds:p.validRequestIds.filter(f=>f!==d)}))}}},cancelRequest:d=>{let p=d||l().tool.requestId;p&&(s(f=>({mode:"explore",tool:f.tool.requestId===p?{enabled:!1,requestId:null,canvasId:null}:f.tool,validRequestIds:f.validRequestIds.filter(h=>h!==p)})),e.emit("atlas.request-cancelled",{id:p}))},requestAnnotation:async(d,p)=>{let h={...l().requests,[p.requestId]:d},v=en(d);r&&console.log("requestAnnotation",{response:v,request:d});try{let{points:y=[],open:R=!0}=v.polygon||{},{requestId:S,canvasId:g=null,toolId:C}=p,P=C,A=l(),T=A.validRequestIds.includes(S),z=v.requestType;return r&&console.log("setting points",{requestType:z,points:y,open:R}),!T||A.tool.enabled?null:(m.setShape({id:S,points:y,open:R}),z==="polygon"&&(P=P||"pen",m.tools.setTool("pen")),z==="draw"&&(P=P||"draw",m.tools.setTool("pencil")),z==="box"&&(P=P||"box",m.tools.setTool("box")),z==="target"?(P=P||"box",m.tools.setTool("box"),m.lockAspectRatio(),m.tools.lockToolSwitching(),m.tools.setCanDeselect(!1),m.tools.setCanDelete(!1)):(m.tools.unlockToolSwitching(),m.tools.setCanDeselect(!0),m.tools.setCanDelete(!0)),d.bounds&&m.setBounds(d.bounds),e.emit("atlas.annotation-request",{id:S}),s({polygon:{id:S,points:y,open:R},mode:"sketch",requestType:z,tool:{enabled:!0,requestId:S,canvasId:g},requests:h}),P?A.switchTool[P]?.():y.length===0&&A.switchTool.box(),(typeof d.selectByDefault>"u"&&y.length&&z==="box"||d.selectByDefault)&&A.switchTool.pointer(),new Promise(Y=>{let ue=M=>{M.id===S&&(s(I=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(I.requests).filter(([E])=>E!==S))})),e.off("atlas.request-cancelled",ue),e.off("atlas.annotation-completed",q),Y(null))},q=M=>{M.id===S&&(s(I=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(I.requests).filter(([E])=>E!==S))})),e.off("atlas.annotation-completed",q),e.off("atlas.request-cancelled",ue),Y(M))};e.on("atlas.request-cancelled",ue),e.on("atlas.annotation-completed",q)}))}catch(y){return console.error(y),null}},completeRequest:d=>{let p=l().tool.requestId;if(typeof d=="string"&&d&&d!==p)return;let f=p?l().requests[p]?.arguments||{}:{},h=p?l().metadata[p]||{}:{},v=l().polygonState.bounds,y=l().polygon;y&&(e.emit("atlas.annotation-completed",{id:y.id,polygon:y,requestType:l().requestType,target:Et(y,v),canvasId:l().tool.canvasId,boundingBox:We(y),metadata:h,arguments:{...f}}),m.setShape(null))},setAtlasRuntime:d=>{c=d,e.emit("atlas.ready",{runtime:d}),a.setScale(1/c._lastGoodScale),c.world.addLayoutSubscriber((p,f)=>{(p==="event-activation"||p==="zoom-to"||p==="go-home")&&c?._lastGoodScale&&!Number.isNaN(c._lastGoodScale)&&a.setScale(1/c._lastGoodScale)}),s({runtime:c})},clearAtlasRuntime:()=>{c=null,s({stableViewport:null,runtime:null})},setCanvasRelativePosition:(d,p)=>{s(f=>({canvasRelativePositions:{...f.canvasRelativePositions,[d]:p}}))},clearCanvasRelativePosition:d=>{s(p=>{let f={...p.canvasRelativePositions};return delete f[d],{canvasRelativePositions:f}})},changeMode:d=>{s({mode:d})},nudgeLeft:d=>{if(!c)return;let p=c.getViewport(),f=d??p.width*.1;c.world.gotoRegion({x:p.x-f,y:p.y,width:p.width,height:p.height,nudge:!0})},nudgeRight:d=>{if(!c)return;let p=c.getViewport(),f=d??p.width*.1;c.world.gotoRegion({x:p.x+f,y:p.y,width:p.width,height:p.height,nudge:!0})},nudgeUp:d=>{if(!c)return;let p=c.getViewport(),f=d??p.height*.1;c.world.gotoRegion({x:p.x,y:p.y-f,width:p.width,height:p.height,nudge:!0})},nudgeDown:d=>{if(!c)return;let p=c.getViewport(),f=d??p.height*.1;c.world.gotoRegion({x:p.x,y:p.y+f,width:p.width,height:p.height,nudge:!0})},zoomIn:()=>{c?.world?.zoomIn()},zoomOut:()=>{c?.world?.zoomOut()},goHome:()=>{c?.world?.goHome()},goToRegion:d=>{c?.world?.gotoRegion(d)},getRuntime:()=>c}}),a=i.getState().polygons;return e.on("atlas.annotation-request",()=>{a.clock.start((s,l,c)=>{e.emit("atlas.polygon-render",{state:s,slowState:l,dt:c})},s=>{typeof s=="object"?i.setState({polygonState:s}):i.setState(l=>({polygonState:s(l.polygonState)}))})}),e.on("atlas.annotation-completed",()=>{a.clock.stop()}),e.on("atlas.request-cancelled",()=>{a.clock.stop()}),i}var sr=require("react/jsx-runtime"),ut=(0,Ne.createContext)(null);function L(){return(0,Ne.useContext)(ut)}var ar={};function lr(e="atlas"){return ar[e]?.getState()}function Nt({children:e,name:t="atlas",existing:n,atlasStoreConfig:o}){let r=rr(),i=(0,Ne.useContext)(ut),a=(0,Ne.useMemo)(()=>n||i||ir({events:r,...o||{}}),[r,n,i]),s=(0,sa.useStore)(a,l=>l.mode);return(0,Ne.useEffect)(()=>{let l=t;return l&&(ar[l]=a),()=>{l&&delete ar[l]}},[a,t]),(0,sr.jsx)(ut.Provider,{value:a,children:(0,sr.jsx)(aa.ModeContext.Provider,{value:s||"explore",children:e})})}var rn=require("@atlas-viewer/atlas"),va=require("react");var Vt=require("react"),la=require("react/jsx-runtime");function ur(){return{default:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(252,0,98, .5)"},highlighted:{backgroundColor:"rgba(75, 103, 225, 0.4)",borderWidth:"1px",borderColor:"rgba(75,103,225,0.99)"},hidden:{borderWidth:"0px",borderColor:"rgba(0,0,0,0)",backgroundColor:"rgba(0,0,0,0)",hidden:!0}}}var cr=(0,Vt.createContext)(ur());cr.displayName="AnnotationStyle";function tn(){return(0,Vt.useContext)(cr)}function $l({theme:e,children:t}){let n=(0,Vt.useMemo)(()=>e||ur(),[e]);return(0,la.jsx)(cr.Provider,{value:n,children:t})}var ma=require("@iiif/helpers/annotation-targets"),da=require("react");var Lt=require("react"),ua=require("zustand"),ca=(0,ua.create)()((e,t)=>{let n=new Map,o=()=>Math.random().toString(36).substring(2,15),r=i=>{let a=n.get(i);if(a)return a;let s=o();return n.set(i,s),s};return{stylesheets:{},loading:[],errors:[],async parseStylesheet(i){let{loadStylesheet:a,setStylesheet:s}=t();if(!i)return null;if(typeof i=="string")return i.startsWith("http")?{id:i,type:"CssStylesheet",value:await a(i)}:{id:s(i),type:"CssStylesheet",value:i};if(i.type==="CssStylesheet"){let l=i.id;if("value"in i){let c=Array.isArray(i.value)?i.value.join(`
|
|
2
|
-
`):i.value;if(c)return{id:s(c,l),type:"CssStylesheet",value:c}}if("id"in i&&i.id){let c=await a(i.id);return{id:i.id,type:"CssStylesheet",value:c}}}return null},async loadStylesheet(i){if(t().loading.includes(i))return"";try{let s=await fetch(i);if(!s.ok)throw new Error(`Failed to load stylesheet from ${i}`);let l=await s.text();return e(c=>({stylesheets:{...c.stylesheets,[i]:l}})),l}catch(s){return e(l=>({errors:[...l.errors,{url:i,error:s}]})),""}},setStylesheet(i,a){let s=a||r(i);return e(l=>({stylesheets:{...l.stylesheets,[s]:i}})),s}}});function mr(e){let[t,n]=(0,Lt.useState)(""),{loading:o,errors:r,stylesheets:i,parseStylesheet:a}=ca();return(0,Lt.useEffect)(()=>{e&&a(e).then(l=>{l?.id&&n(l.id)})},[e,a]),[(0,Lt.useMemo)(()=>{let l={};return t&&i[t]&&(l[t]=i[t]),l},[t,i]),{id:t,stylesheets:i,loading:o,errors:r}]}function nn(e={},t=[]){let{id:n,selector:o}=e,r=ee(),i=k(),a=n||r.annotation,s=V(u=>a?u.iiif.entities.Annotation[a]:void 0,[a]),[l]=mr(s?.stylesheet),c=V(u=>s&&s.body?s.body.map(m=>m?m.type==="SpecificResource"?{...m,source:i.get(m)}:m?u.iiif.entities[m.type][m.id]:null:null).filter(Boolean):[],[s]);return(0,da.useMemo)(()=>{if(!s)return;let u={...s,body:c,target:(0,ma.expandTarget)(s.target,{typeMap:i.getState().iiif.mapping,loadedStylesheets:l})};return o?o(u):u},[s,o,c,l,...t])}var pa=require("react");function w(e={},t=[]){let{id:n,selector:o}=e,r=ee(),i=n||r.canvas,a=V(s=>i?s.iiif.entities.Canvas[i]:void 0,[i]);return(0,pa.useMemo)(()=>{if(a)return o?o(a):a},[a,o,...t])}var dr=require("react"),fa=require("@iiif/helpers/events");function on(e,t){let n=k(),o=(0,dr.useMemo)(()=>(0,fa.createEventsHelper)(n),[n]),r=V(()=>e&&e.id?n.getResourceMeta(e.id,"eventManager"):null,[e]);return(0,dr.useMemo)(()=>e?o.getListenersAsProps(e,t):{},[r,e,n,t])}var ga=require("react"),ha=require("@iiif/helpers/styles");function ct(e,t){let n=k(),o=(0,ga.useMemo)(()=>(0,ha.createStylesHelper)(n),[n]);return V(()=>{if(!e)return null;let r=o.getAppliedStyles(e.id);return r?t?r[t]:r:void 0},[e,t])}var ya=require("react");var Gn=require("@atlas-viewer/atlas"),Ie=require("react"),W=require("react/jsx-runtime");function pr({handleSize:e,resizable:t,onSave:n,children:o,maintainAspectRatio:r,disableCardinalControls:i,aspectRatio:a,...s}){let l=typeof e>"u"?r?12:8:e,{portalRef:c,mode:u,mouseEvent:m,isEditing:d}=(0,Gn.useResizeWorldItem)({x:s.x||0,y:s.y||0,width:s.width,height:s.height,aspectRatio:a,maintainAspectRatio:r},n),p=(0,Ie.useMemo)(()=>m("translate"),[m]),f=(0,Ie.useMemo)(()=>m("east"),[m]),h=(0,Ie.useMemo)(()=>m("west"),[m]),v=(0,Ie.useMemo)(()=>m("south"),[m]),y=(0,Ie.useMemo)(()=>m("north"),[m]),R=(0,Ie.useMemo)(()=>m("south-east"),[m]),S=(0,Ie.useMemo)(()=>m("south-west"),[m]),g=(0,Ie.useMemo)(()=>m("north-east"),[m]),C=(0,Ie.useMemo)(()=>m("north-west"),[m]),P=u==="sketch",A={zIndex:999,boxShadow:"0px 2px 3px 0 rgba(0,0,0,0.2)",outline:"2px solid rgba(155,155,155,.7)",borderRadius:r||i?"50%":2,position:"absolute",background:"#fff",pointerEvents:d?"none":P?"initial":"none"};return(0,W.jsx)(W.Fragment,{children:(0,W.jsxs)("world-object",{...s,children:[o,P&&t?(0,W.jsx)(Gn.HTMLPortal,{ref:c,target:{x:0,y:0,height:s.height,width:s.width},relative:!0,interactive:!1,children:P&&t?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{onMouseDown:p,onTouchStart:p,style:{display:"block",width:"100%",height:"100%",cursor:"move",border:"1px solid rgba(255,255,255, .7)",outline:"2px solid rgba(155,155,155, .7)",boxSizing:"border-box",pointerEvents:d?"none":P?"initial":"none"}}),r?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("div",{title:"east",onTouchStart:f,onMouseDown:f,style:{...A,cursor:"e-resize",height:l*2,width:l,right:0,top:"50%",opacity:i?0:1,transform:`translate(${l/2}px, -${l}px)`}}),(0,W.jsx)("div",{title:"west",onMouseDown:h,style:{...A,cursor:"w-resize",position:"absolute",height:l*2,width:l,left:0,top:"50%",opacity:i?0:1,transform:`translate(-${l/2}px, -${l}px)`}}),(0,W.jsx)("div",{title:"north",onMouseDown:y,style:{...A,cursor:"n-resize",position:"absolute",height:l,width:l*2,left:"50%",top:0,opacity:i?0:1,transform:`translate(-${l}px, -${l/2}px)`}}),(0,W.jsx)("div",{title:"south",onMouseDown:v,style:{...A,cursor:"s-resize",position:"absolute",height:l,width:l*2,left:"50%",bottom:0,opacity:i?0:1,transform:`translate(-${l}px, ${l/2}px)`}})]}),(0,W.jsx)("div",{title:"north-east",onMouseDown:g,style:{...A,cursor:"ne-resize",position:"absolute",height:l,width:l,right:0,top:0,transform:`translate(${l/2}px, -${l/2}px)`}}),(0,W.jsx)("div",{title:"south-east",onMouseDown:R,style:{...A,cursor:"se-resize",position:"absolute",height:l,width:l,bottom:0,right:0,transform:`translate(${l/2}px, ${l/2}px)`}}),(0,W.jsx)("div",{title:"south-west",onMouseDown:S,style:{...A,cursor:"sw-resize",position:"absolute",height:l,width:l,bottom:0,left:0,transform:`translate(-${l/2}px, ${l/2}px)`}}),(0,W.jsx)("div",{title:"north-west",onMouseDown:C,style:{...A,cursor:"nw-resize",position:"absolute",height:l,width:l,top:0,left:0,transform:`translate(-${l/2}px, -${l/2}px)`}})]}):null}):null]})})}var fr=require("react/jsx-runtime");function gr({id:e,interactive:t,region:n,onClick:o,onHover:r,onSave:i,aspectRatio:a,maintainAspectRatio:s,disableCardinalControls:l,isEditing:c,style:u={backgroundColor:"rgba(0,0,0,.5)"}}){let m=(0,ya.useCallback)(d=>{c&&i?.({id:n.id,x:n.x,y:n.y,height:n.height,width:n.width,...d})},[i,c,n.id,n.x,n.y,n.height,n.width]);return(0,fr.jsx)(pr,{id:e,x:n.x,y:n.y,width:n.width,aspectRatio:a,height:n.height,resizable:c,onSave:m,maintainAspectRatio:s,disableCardinalControls:l,children:(0,fr.jsx)("box",{interactive:t,onClick:d=>{d.preventDefault(),d.stopPropagation(),o?.(n)},relativeStyle:!0,onMouseEnter:()=>{r?.(n)},target:{x:0,y:0,width:n.width,height:n.height},style:u})})}var Sa=require("react/jsx-runtime"),mt=({id:e,style:t,className:n,interactive:o,targetId:r,ignoreTargetId:i})=>{let a=nn({id:e}),s=ct(a,"atlas"),l=ct(a,"html"),c=on(a,["atlas"]),u=w(),m=tn(),d=(0,va.useMemo)(()=>(0,rn.mergeStyles)((0,rn.mergeStyles)((0,rn.mergeStyles)((0,rn.mergeStyles)(t,s),a?.motivation?.includes("highlighting")?m.highlighted:m.default),a?.target?.selector?.boxStyle||{})),[t,s,m,a?.motivation,a?.target]),p=r||u?.id;return u&&a&&a.target&&a.target.selector&&(a.target.selector.type==="BoxSelector"||a.target.selector.type==="SvgSelector")&&a.target.source&&(i?!0:a.target.source.id===p||a.target.source===p)?(0,Sa.jsx)(gr,{id:a.id,isEditing:!0,region:a.target.selector.spatial,style:d,className:l?.className||n,interactive:!!(l?.href||o),href:l?.href||null,title:l?.title||null,hrefTarget:l?.target||null,onClick:()=>{},...c}):null};var ba=require("react");var xa=require("react");function hr(e={},t=[]){let{id:n,selector:o}=e,r=ee(),i=n||r.annotationPage,a=V(s=>i?s.iiif.entities.AnnotationPage[i]:void 0,[i]);return(0,xa.useMemo)(()=>{if(a)return o?o(a):a},[a,...t])}var yr=require("react/jsx-runtime"),Ue=({className:e,page:t,targetId:n,ignoreTargetId:o})=>{let r=hr({id:t.id})||t,i=ct(r,"atlas"),a=ct(r,"html");return V(s=>r.id?s.iiif.entities.AnnotationPage[r.id]:null,[]),(0,yr.jsx)(ba.Fragment,{children:r.items?.map(s=>(0,yr.jsx)(mt,{id:s.id,style:i,className:a?.className||e,targetId:n,ignoreTargetId:o},s.id))})};var _e=require("react"),Kn=require("react/jsx-runtime"),Ca=(0,_e.createContext)(null),Ra=(0,_e.createContext)(null),Pa=(0,_e.createContext)(null);function Wl(){let e=(0,_e.useContext)(Ca);if(!e)throw new Error("Ctx not found");return e}function Ul(){let e=(0,_e.useContext)(Ra);if(!e)throw new Error("Ctx not found");return e}function _l(){let e=(0,_e.useContext)(Pa);if(!e)throw new Error("Ctx not found");return e}function an({actions:e,state:t,children:n,currentTime:o,progress:r,element:i}){return(0,Kn.jsx)(Pa.Provider,{value:{currentTime:o,progress:r,element:i},children:(0,Kn.jsx)(Ra.Provider,{value:e,children:(0,Kn.jsx)(Ca.Provider,{value:t,children:n})})})}var Aa=require("react");var Ta=require("@iiif/helpers");function sn(){let e=$(),t=w();return(0,Aa.useMemo)(()=>{if(!e||!t||!e.start)return null;let n=(0,Ta.expandTarget)(e.start);return!n||n.source.id!==t.id||!n||!n.selector||n.selector.type!=="TemporalSelector"?null:n.selector.temporal},[e,t])}var F=require("react");function Ia(e){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e}}function Yl(e,t){switch(t.type){case"RESET":return t.state;case"FINISHED":return{...e,isFinished:!0,isPlaying:!1,playRequested:!1};case"PLAY_PAUSE":return{...e,isFinished:!1,isPlaying:!e.isPlaying};case"PLAY_REQUESTED":return{...e,isFinished:!1,playRequested:!0};case"PAUSE":return{...e,isPlaying:!1};case"PLAY":return{...e,isFinished:!1,playRequested:!1,isPlaying:!0};case"MUTE":return{...e,isMuted:!0};case"SET_VOLUME":return{...e,volume:t.volume,isMuted:t.volume===0};case"TOGGLE_MUTE":return{...e,isMuted:!e.isMuted};case"UNMUTE":return{...e,isMuted:!1}}return e}function jn(e){let t=Math.round(e);return`${Math.floor(t/60)}:${`${t%60}`.padStart(2,"0")}`}function dt(e){let[t,n]=(0,F.useReducer)(Yl,Ia(e.duration));(0,F.useEffect)(()=>{n({type:"RESET",state:Ia(e.duration)})},[e.duration]);let o=(0,F.useRef)(null),r=(0,F.useRef)(null),i=(0,F.useRef)(null),a=(0,F.useRef)(!1),s=(0,F.useCallback)(()=>{r.current&&o.current&&(r.current.innerHTML=jn(o.current.currentTime),i.current&&(i.current.style.width=`${o.current.currentTime/e.duration*100}%`),a.current!==o.current.muted&&(a.current=o.current.muted,n(o.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[e.duration]),l=(0,F.useCallback)(()=>{o.current&&(n({type:"PLAY_REQUESTED"}),o.current.play().then(()=>{n({type:"PLAY"})}),s())},[s]),c=(0,F.useCallback)(()=>{o.current&&(o.current.duration>0&&o.current.paused?l():u())},[s]),u=(0,F.useCallback)(()=>{o.current&&(o.current.pause(),n({type:"PAUSE"}),s())},[s]),m=(0,F.useCallback)(()=>{o.current&&(o.current.muted=!o.current.muted,n(o.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),d=(0,F.useCallback)(()=>{o.current&&(o.current.muted=!0,n({type:"MUTE"}))},[]),p=(0,F.useCallback)(()=>{o.current&&(o.current.muted=!1,n({type:"UNMUTE"}))},[]),f=(0,F.useCallback)(y=>{o.current&&(o.current.muted=!1,o.current.volume=y/100,n({type:"SET_VOLUME",volume:y}))},[]),h=(0,F.useCallback)(y=>{o.current&&(o.current.currentTime=Math.max(0,Math.min(y*e.duration,e.duration)),s())},[]),v=(0,F.useCallback)(y=>{if(o.current){let R=typeof y=="function"?y(o.current.currentTime):y;o.current.currentTime=Math.max(0,Math.min(R,e.duration)),s()}},[]);return(0,F.useEffect)(()=>{let y=setInterval(()=>{s()},350);return()=>clearInterval(y)},[s,e.duration]),(0,F.useEffect)(()=>{let y=()=>{n({type:"FINISHED"})},R=o.current;return R?.addEventListener("ended",y),()=>R?.removeEventListener("ended",y)},[]),[{element:o,currentTime:r,progress:i},t,{play:l,pause:u,playPause:c,mute:d,unmute:p,toggleMute:m,setVolume:f,setDurationPercent:h,setTime:v}]}var pt=require("react"),vr=(0,pt.createContext)(()=>{}),Sr=(0,pt.createContext)(()=>{});function X(e,t,n,o,r=[]){let i=(0,pt.useContext)(e==="portal"?Sr:vr);(0,pt.useEffect)(()=>(e!=="none"&&i(t,n,o),()=>{i(t,null)}),[t,e,i,...r])}var Xn=require("react/jsx-runtime");function xr({media:e,startTime:t,children:n}){let[{element:o,currentTime:r,progress:i},a,s]=dt({duration:e.duration}),l=t?`${e.url}#t=${t}`:e.url;return(0,Xn.jsxs)(an,{state:a,actions:s,currentTime:r,progress:i,element:o,children:[(0,Xn.jsx)("audio",{ref:o,src:l}),n]},e.url)}function Qn({media:e,mediaControlsDeps:t,audioCopmonent:n=xr,children:o}){let r=sn();return X("portal","audio",n,{media:e,startTime:r?r.startTime:null,children:o},[e,r,...t||[]]),null}var Zn=require("react"),Ye=(0,Zn.createContext)(null);Ye.displayName="Strategy";function H(){let e=(0,Zn.useContext)(Ye);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var Ge=require("react/jsx-runtime");function br({model:e}){return(0,Ge.jsxs)(Ge.Fragment,{children:[(0,Ge.jsx)("style",{children:`
|
|
3
|
-
.model-container {
|
|
4
|
-
position: absolute;
|
|
5
|
-
top: 0;
|
|
6
|
-
bottom: 0;
|
|
7
|
-
left: 0;
|
|
8
|
-
right: 0;
|
|
9
|
-
background: #000;
|
|
10
|
-
z-index: 13;
|
|
11
|
-
display: flex;
|
|
12
|
-
justify-content: center;
|
|
13
|
-
pointer-events: visible;
|
|
14
|
-
}
|
|
15
|
-
`}),(0,Ge.jsx)("div",{className:"model-container",children:(0,Ge.jsx)("model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:e.id})})]})}function Jn({model:e,name:t}){return X("overlay",`model-${t}`,br,{model:e},[e]),null}var wa=require("react/jsx-runtime");function Cr(){let{strategy:e}=H();return e.type!=="3d-model"?null:(0,wa.jsx)(Jn,{model:e.model})}var eo=require("react"),ln=(0,eo.createContext)(null);ln.displayName="Controls";function ae(){let e=(0,eo.useContext)(ln);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var Ve=require("react/jsx-runtime");function Rr(){let{strategy:e}=H(),{renderViewerControls:t,viewControlsDeps:n}=ae(),o=w(),r=o?.accompanyingCanvas,i=o?.placeholderCanvas;return(0,Ve.jsxs)(Ve.Fragment,{children:[e.type==="media"&&e.media.type==="Sound"&&r?(0,Ve.jsx)(pe,{canvas:r.id,children:(0,Ve.jsx)(ft,{renderViewerControls:t,viewControlsDeps:n})}):null,e.type==="media"&&e.media.type==="Sound"&&i&&!r?(0,Ve.jsx)(pe,{canvas:i.id,children:(0,Ve.jsx)(ft,{renderViewerControls:t,viewControlsDeps:n})}):null]})}var zt=require("react");var Le=require("react");var to=require("@iiif/helpers/vault/actions");var Ma=require("react");function Pr(){let t=k().getStore();return(0,Ma.useMemo)(()=>n=>t.dispatch(n),[t])}function ka(e){return typeof e!="string"&&e&&e.bindToVault}function Ar(){let e=k(),t=(0,Le.useRef)([]),n=Pr(),o=(0,Le.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,Le.useLayoutEffect)(()=>{let s={id:o,type:"AnnotationPage",behavior:[],label:null,thumbnail:[],summary:null,requiredStatement:null,metadata:[],rights:null,provider:[],items:[],seeAlso:[],homepage:[],rendering:[],service:[]};n(to.entityActions.importEntities({entities:{AnnotationPage:{[s.id]:s}}}))},[o]);let r=V(s=>o&&s.iiif.entities.AnnotationPage[o]||null,[o]),i=(0,Le.useCallback)((s,l)=>{if(o){if(ka(s)){let m=s;m.__vault||m.bindToVault(e),s=typeof m.source=="string"?m.source:m.source.id,t.current[s]=m}else typeof s!="string"&&(s=s.id);let c=e.get({id:o,type:"AnnotationPage"}),u=e.get({id:s,type:"Annotation"});c&&u&&(c.items.find(m=>m.id===u.id)||n(to.entityActions.addReference({id:o,type:"AnnotationPage",key:"items",reference:{id:s,type:"Annotation"},index:l})))}},[o]),a=(0,Le.useCallback)(s=>{o&&(ka(s)?s=typeof s.source=="string"?s.source:s.source.id:typeof s!="string"&&(s=s.id),t.current[s]&&t.current[s].beforeRemove(),e.get({id:o,type:"AnnotationPage"})&&n(to.entityActions.removeReference({id:o,type:"AnnotationPage",key:"items",reference:{id:s,type:"Annotation"}})))},[o]);return[r,{addAnnotation:i,removeAnnotation:a}]}var Na=require("react/jsx-runtime"),Ea=(0,zt.createContext)(null);function Tr(){let e=(0,zt.useContext)(Ea);return[e.fullPage,{addAnnotation:e.addAnnotation,removeAnnotation:e.removeAnnotation}]}function Ir({children:e}){let[t,{addAnnotation:n,removeAnnotation:o}]=Ar();return(0,Na.jsx)(Ea.Provider,{value:(0,zt.useMemo)(()=>({fullPage:t,addAnnotation:n,removeAnnotation:o}),[t]),children:e})}var gt=require("react/jsx-runtime");function wr({children:e}){let{strategy:t}=H(),[n]=Tr();return t.type!=="images"?null:(0,gt.jsxs)(gt.Fragment,{children:[n?(0,gt.jsx)(Ue,{page:n}):null,t.annotations&&t.annotations.pages?t.annotations.pages.map(o=>(0,gt.jsx)(Ue,{page:o},o.id)):null,e]})}var Ke=require("react");var Va=require("react"),Mr=(e,t=[])=>{let n=k();(0,Va.useEffect)(()=>{e(n)},[n,...t])};var no=J(require("react"),1),La=require("@iiif/helpers/image-service"),za=no.default.createContext(new La.ImageServiceLoader);function un(){return(0,no.useContext)(za)}var Oa=require("@iiif/helpers/thumbnail");var Ot=require("@iiif/parser/image-3");function Ba(e,t){try{let n=(0,Ot.getId)(e);if(!n)return;let o=(0,Ot.parseImageServiceRequest)(n),r=o.type==="image"?o.region.w:void 0,i=o.type==="image"?o.region.h:void 0,a=r||e.width,s=i||e.height,l=t.width||t.maxWidth,c=t.height||t.maxHeight;if(o.type!=="image"||o.region.full||o.region.square)return;(l||c)&&(o.size={max:!1,upscaled:!1,confined:!!(l&&c),width:l,height:c,version:3});let u=a&&s&&(l||c)?Math.min(l?l/a:1/0,c?c/s:1/0):void 0;return{id:(0,Ot.imageServiceRequestToString)(o),type:"fixed",width:a&&u?Math.round(a*u):l||a||e.width||0,height:s&&u?Math.round(s*u):c||s||e.height||0}}catch{return}}function ze(e,t,{canvasId:n,manifestId:o}={}){let r=k(),i=un(),a=(0,Ke.useMemo)(()=>(0,Oa.createThumbnailHelper)(r,{imageServiceLoader:i}),[r,i]),[s,l]=(0,Ke.useState)(),c=$(o?{id:o}:void 0),u=w(n?{id:n}:void 0),m=u||c,d=(0,Ke.useRef)(!1);if((0,Ke.useEffect)(()=>(d.current=!1,()=>{d.current=!0}),[]),!m)throw new Error("Must be called under a manifest or canvas context.");return Mr(p=>{if(m.type==="Canvas"&&m.thumbnail?.length){let f=Ba(p.get(m.thumbnail[0]),e);if(f&&!d.current){l(f);return}}a.getBestThumbnailAtSize(m,e,t).then(f=>{f.best&&!d.current&&l(f.best)})},[m,e.width,e.height,e.maxWidth,e.maxHeight,e.minWidth,e.minHeight,e.allowUnsafe,e.unsafeImageService,e.preferFixedSize,t]),s}var kr=require("react/jsx-runtime");function ht({x:e=0,y:t=0}){let n=w(),o=ze({maxWidth:256,maxHeight:256});return!n||!o||o.type!=="fixed"?null:(0,kr.jsx)("world-object",{height:n.height,width:n.width,x:e,y:t,children:(0,kr.jsx)("world-image",{uri:o.id,target:{x:0,y:0,width:n.width,height:n.height},display:o.width&&o.height?{width:o.width,height:o.height}:void 0,crop:void 0})})}var oo=require("react/jsx-runtime");function Er({as:e}){let{strategy:t}=H(),{renderMediaControls:n,mediaControlsDeps:o}=ae();return t.type!=="media"||t.media.type!=="Sound"?null:(0,oo.jsxs)(Qn,{media:t.media,mediaControlsDeps:o,audioCopmonent:e,children:[(0,oo.jsx)(ht,{}),n?n(t):null]},t.media.url)}var $r=require("@atlas-viewer/atlas"),co=require("react"),Wr=require("zustand");var ro=require("react"),qa=require("zustand"),Ha=require("react/jsx-runtime"),Nr=(0,ro.createContext)(null);Nr.displayName="ComplexTimeline";function Vr({children:e,store:t}){return(0,Ha.jsx)(Nr.Provider,{value:t,children:e})}function Gl(e){let t=(0,ro.useContext)(Nr);if(!t)throw new Error("useComplexTimeline must be used within a ComplexTimelineProvider");return(0,qa.useStore)(t,e)}var Fa=J(require("mitt"),1),$a=require("zustand/vanilla");function Da({currentKeyFrameIndex:e,keyframes:t,targetTime:n,currentTime:o}){if(o<=n){let r=t.findIndex(s=>s.time>n);if(r===-1)return[e,[]];let i={},a=t.slice(e,r);for(let s of a)s.type==="enter"&&(i[s.id]=s),s.type==="exit"&&(i[s.id]?delete i[s.id]:i[s.id]=s);return[r,Object.values(i)]}return[e,[]]}function Wa({complexTimeline:e,startTime:t=0}){let n=(0,Fa.default)(),o={},r={progress:null,currentTime:null},i=0,a=null,s=0,l=null;function c(){let R=v.getState().visibleElements,S=o,g=[],C=Object.keys(S);for(let P of C){let A=S[P],T=R[P];A&&T&&g.push(A)}return g}function u(){return Object.keys(o).map(R=>o[R])}function m(y){r.currentTime&&(r.currentTime.innerHTML=jn(y),r.progress&&(r.progress.style.width=`${y/e.duration*100}%`))}let d=()=>{let y=v.getState(),R=y.currentPrime;if(!R)return;let S=o,g=y.visibleElements,C=Object.keys(S);for(let P of C){let A=S[P],T=g[P];if(A&&P!==R.id&&T){let z=s-T.time*1e3;Math.abs(s-T.time*1e3-A.currentTime*1e3)>300&&(A.currentTime=z/1e3)}}},p=(y=0)=>{let R=y-i,S=v.getState();if(S.isPlaying){let g=S.currentPrime;if(g){let T=o[g.id];T&&(T.paused?s+=R:s=(g.time+T.currentTime)*1e3)}else s+=R;let C=s/1e3;if(C>S.duration){v.getState().setTime(0),v.setState({isPlaying:!1}),f(),m(0);return}m(C);let[P,A]=Da({currentTime:C,currentKeyFrameIndex:S.nextKeyframeIndex,keyframes:S.complexTimeline.keyframes,targetTime:C});A.length&&S.applyKeyframes(P,A)}i=y,a=requestAnimationFrame(p)},f=()=>{a&&cancelAnimationFrame(a)},h=(y,R)=>{},v=(0,$a.createStore)((y,R)=>({complexTimeline:e,elements:{},visibleElements:{},isBuffering:!1,bufferMap:{},isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,isReady:!1,volume:100,duration:e.duration,clockStartRequests:0,clockStartTime:0,primeTime:0,currentPrime:null,clockRunning:!1,nextKeyframeIndex:0,startClock:()=>{R().clockRunning||(p(),l=setInterval(d,500)),y({clockRunning:!0,clockStartRequests:R().clockStartRequests+1})},applyKeyframes(S,g){let C=R(),P={...C.visibleElements},A=C.currentPrime;for(let T of g)T.type==="enter"&&(P[T.id]=T,n.emit("complex-timeline.enter",{id:T.id})),T.type==="exit"&&(P[T.id]=null,n.emit("complex-timeline.exit",{id:T.id})),T.isPrime&&(A=T);y({nextKeyframeIndex:S,visibleElements:P,currentPrime:A})},stopClock:()=>{let S=R().clockStartRequests;if(S!==0){if(S===1){f(),l&&clearInterval(l),y({clockRunning:!1,clockStartRequests:0});return}y({clockStartRequests:S-1})}},setElement:(S,g)=>{o[S]=g;let C=Object.keys(o),P=R().complexTimeline;h(g,S),P.items.filter(T=>T.type!=="Image"&&T.type!=="Text").every(T=>C.includes(T.annotationId))&&!R().isReady&&(n.emit("complex-timeline.ready",{complexTimeline:P}),y({isReady:!0}))},removeElement:S=>{delete o[S]},mute(){for(let S of u())S.muted=!0;y({isMuted:!0})},unmute(){for(let S of u())S.muted=!1;y({isMuted:!1})},play(){if(!R().isPlaying){for(let g of c())g.play();y({isPlaying:!0})}},pause(){if(R().isPlaying){for(let g of c())g.pause();y({isPlaying:!1})}},playPause(){let S=R();S.isPlaying?S.pause():S.play()},setDurationPercent(S){let C=R().duration*S;R().setTime(C)},setTime(S){let g=R(),C=s/1e3,P=typeof S=="function"?S(C):S,A=g.nextKeyframeIndex;if(C>P){y({visibleElements:{},currentPrime:null});let I=Object.keys(g.visibleElements);for(let E of I)n.emit("complex-timeline.exit",{id:E});C=0,A=0}let[T,z]=Da({currentTime:C,currentKeyFrameIndex:A,keyframes:g.complexTimeline.keyframes,targetTime:P});g.applyKeyframes(T,z),s=P*1e3;let ue=v.getState().visibleElements,q=o,M=Object.keys(ue);for(let I of M){let E=ue[I];if(E){let D=q[I];D&&(D.currentTime=(s-E.time*1e3)/1e3)}}m(P)},setVolume(S){for(let g of u())g.volume=Math.min(1,Math.max(0,S/100));y({volume:S})},toggleMute(){let S=R();S.isMuted?(S.unmute(),y({isMuted:!1})):(S.mute(),y({isMuted:!0}))},clearProgressElement(){r.progress=null},setProgressElement(S){r.progress=S},setCurrentTimeElement(S){r.currentTime=S},clearCurrentTimeElement(){r.currentTime=null}}));return n.on("complex-timeline.enter",y=>{let R=v.getState(),S=y.id,g=o[S];g&&R.isPlaying&&g.play()}),n.on("complex-timeline.exit",y=>{let R=v.getState(),S=y.id,g=o[S];g&&(g.currentTime=0,g.pause())}),v.getState().setTime(t),{store:v,emitter:n}}var qt=require("react");var be=require("react");var cn=[.6,.02,0,.75],Lr=16,je={linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"ease-in-cubic":cn,"ease-out-cubic":[.215,.61,.355,1]};function zr(e,t,n){let o=Math.max(0,Math.min(1,n));return{x:e.x+(t.x-e.x)*o,y:e.y+(t.y-e.y)*o,width:e.width+(t.width-e.width)*o,height:e.height+(t.height-e.height)*o}}function Or(e,t){let n=[],o=e;for(let r of t)n.push({from:o,to:r}),o=r;return n}function xe([e,t,n,o]){let r=3*e,i=3*(n-e)-r,a=1-r-i,s=3*t,l=3*(o-t)-s,c=1-s-l;function u(f){return((a*f+i)*f+r)*f}function m(f){return((c*f+l)*f+s)*f}function d(f){return(3*a*f+2*i)*f+r}function p(f,h=1e-6){let v=f;for(let S=0;S<8;S++){let g=u(v)-f;if(Math.abs(g)<h)return v;let C=d(v);if(Math.abs(C)<1e-6)break;v=v-g/C}let y=0,R=1;for(v=f;y<R;){let S=u(v);if(Math.abs(S-f)<h)return v;f>S?y=v:R=v,v=(R-y)*.5+y}return v}return f=>{if(f<=0)return 0;if(f>=1)return 1;let h=p(f);return m(h)}}function Br(e,t){if(!t||t.length===0)return{index:-1,t:0};if(Number.isNaN(e)||!isFinite(e))return{index:-1,t:0};if(e<0)return{index:-1,t:0};if(e>=t.length)return{index:t.length,t:0};let n=Math.floor(e),o=e-n;return{index:n,t:o}}function Ua(e,{duration:t=300,easing:n}={}){let o=(0,be.useRef)(xe(je["ease-in-out"]));(0,be.useEffect)(()=>{if(!n)o.current=xe(je["ease-in-out"]);else if(typeof n=="function")o.current=n;else if(Array.isArray(n))o.current=xe(n);else{let u=je[n];o.current=xe(u??je["ease-in-out"])}},[n]);let[r,i]=(0,be.useState)(e),a=(0,be.useRef)(e??0),s=(0,be.useRef)(null),l=(0,be.useRef)(null),c=(0,be.useRef)(e);return(0,be.useEffect)(()=>{if(e===void 0){i(void 0);return}let u=c.current;if(c.current=e,u===void 0){a.current=e,i(e);return}if(u===e&&r===e)return;l.current!==null&&(cancelAnimationFrame(l.current),l.current=null),s.current=null;let m=a.current,d=(((e||0)-m)%360+540)%360-180,p=m+d;function f(h){s.current===null&&(s.current=h);let v=h-s.current,y=Math.min(v/t,1),R=o.current(y),S=m+(p-m)*R;a.current=S,i(S),y<1?l.current=requestAnimationFrame(f):(a.current=((e||0)%360+360)%360,i(a.current),l.current=null)}return l.current=requestAnimationFrame(f),()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)}},[e,t]),r}var rs=require("@atlas-viewer/atlas"),is=require("@iiif/parser/image-3");var io=J(require("react"),1),_a=require("@iiif/helpers/image-service"),mn=require("zustand"),Ya=io.default.createContext(_a.imageServices.store);Ya.displayName="ImageServicesHelper";function ao(){return(0,io.useContext)(Ya)}function Ga(e){let t=ao();return(0,mn.useStore)(t,({loaded:n})=>n[e])}function Bt(){let e=ao();return(0,mn.useStore)(e,({loadServiceSync:t})=>t)}function Ka(){let e=ao();return(0,mn.useStore)(e,({loaded:t})=>t)}function ja(){let e=ao();return(0,mn.useStore)(e,({loadService:t})=>t)}var Re=J(require("react"),1),Ce=require("react/jsx-runtime"),Xa=Re.default.createContext("en"),Za=Re.default.createContext({}),Ja=Re.default.createContext(null);function Kl(e){return(0,Ce.jsx)(Za.Provider,{value:e.translations,children:e.children})}function jl(e){return(0,Ce.jsx)(Xa.Provider,{value:e.language,children:e.children})}function Ql(e){return(0,Ce.jsx)(Ja.Provider,{value:e.convert,children:e.children})}function qr(){return Re.default.useContext(Ja)}function so(){return Re.default.useContext(Xa)}function Hr(){return Re.default.useContext(Za)}function Qa(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function es({as:e,language:t,children:n,viewingDirection:o,...r}){let i=so();return(0,Re.useMemo)(()=>Qa(i)===Qa(t),[i,t])?e?(0,Ce.jsx)(e,{...r,children:n}):(0,Ce.jsx)("span",{...r,children:n}):e?(0,Ce.jsx)(e,{...r,lang:t,dir:o,children:n}):(0,Ce.jsx)("span",{...r,lang:t,dir:o,children:n})}function ts(e,t,n){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let o=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(o&&t.indexOf(o)!==-1)return o;for(let r of n)if(t.indexOf(r)!==-1)return r;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var ns=(e,t=[])=>{let n=so();return(0,Re.useMemo)(()=>{let o=e();return ts(n,o,[])},[n,...t])};function yt(e,t,n,o){return t?n?n(e[t]||t,o||"none"):e[t]||t:""}function os(e,t,n=`
|
|
16
|
-
`,o={}){let r=qr(),i=ns(()=>Object.keys(e||{}),[e]);return[(0,Re.useMemo)(()=>{if(!e)return yt(o,t,r)||"";if(typeof e=="string")return yt(o,e,r);let a=i?e[i]:void 0;return a?typeof a=="string"?a:a.map(s=>yt(o,s,r,i)).join(n):""},[i,t,e]),i]}function Xl(){let e=so(),t=Hr(),n=qr();return function(r,i="",a=`
|
|
17
|
-
`,s=t){let l=Object.keys(r||{}),c=ts(e,l,[]);if(!r)return yt(s,i,n)||"";if(typeof r=="string")return yt(s,r,n);let u=c?r[c]:void 0;return u?typeof u=="string"?yt(s,u,n,c):u.map(m=>yt(s,m,n,c)).join(typeof a<"u"?a:`
|
|
18
|
-
`):""}}function de({as:e,defaultText:t,enableDangerouslySetInnerHTML:n,children:o,separator:r,...i}){let a=Hr(),[s,l]=os(o,t,r,a);return l?(0,Ce.jsx)(es,{...i,as:e,language:l,title:n?void 0:s,dangerouslySetInnerHTML:n?{__html:s}:void 0,children:n?void 0:s}):e?(0,Ce.jsx)(e,{...i,children:s}):(0,Ce.jsx)("span",{...i,title:n?void 0:s,dangerouslySetInnerHTML:n?{__html:s}:void 0,children:n?void 0:s})}var Dr=require("@iiif/parser/image-3"),lo=require("react"),vt=require("react/jsx-runtime"),Fr=e=>{let t=e.format||"jpg",n=e.width/(e.crop?.width||e.tiles.width),o=e.tiles.imageService.sizes||[],r=e.enableThumbnail,i=e.enableSizes,a=(0,lo.useMemo)(()=>{let c=e.tiles.imageService.id||e.tiles.imageService["@id"];return c?.endsWith("/info.json")?c.slice(0,-1*10):c},[e.tiles.imageService.id,e.tiles.imageService["@id"]]),s=(0,lo.useMemo)(()=>{let c=e.tiles.imageService.tiles||[];if(!c.length){let u=e.width,m=[1],d=1;for(;2**d<u;)d=d*2,m.push(d);return(e.tiles.imageService.maxArea||e.tiles.imageService.maxWidth||e.tiles.imageService.maxHeight)&&(0,Dr.isImageServiceLevel)(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:(0,Dr.isImageServiceLevel)(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:[]}return c},[e.tiles.imageService,e.width]),l=(0,lo.useMemo)(()=>{let c=e.tiles.imageService;return(c?c["@context"]?Array.isArray(c["@context"])?c["@context"]:[c["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[e.tiles.imageService.id,e.tiles.imageService]);return(0,vt.jsx)("world-object",{rotation:e.rotation,scale:n,height:e.crop?.height||e.tiles.height,width:e.crop?.width||e.tiles.width,x:e.x,y:e.y,onClick:e.onClick,children:(0,vt.jsxs)("composite-image",{id:e.tiles.imageService.id,width:e.crop?.width||e.tiles.width,height:e.crop?.height||e.tiles.height,crop:e.crop,renderOptions:e.renderOptions,children:[r&&e.tiles.thumbnail?(0,vt.jsx)("world-image",{priority:!0,uri:e.tiles.thumbnail.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:e.tiles.thumbnail.width,height:e.tiles.thumbnail.height},crop:e.crop}):null,i&&o.map((c,u)=>(0,vt.jsx)("world-image",{uri:`${a}/full/${c.width},${l?c.height:""}/0/default.${t}`,target:{width:e.tiles.width,height:e.tiles.height},display:{width:c.width,height:c.height},crop:e.crop},u)),s.map(c=>(c.scaleFactors||[]).map(u=>(0,vt.jsx)("tiled-image",{uri:e.tiles.imageService.id,display:{width:e.tiles.width,height:e.tiles.height},format:t,tile:c,scaleFactor:u,crop:e.crop,version3:l},`${e.tiles.imageService.id}-tile-${u}`)))]},e.tiles.imageService.id)},e.tiles.imageService.id)};var fe=require("react/jsx-runtime");function Zl({resource:e,heading:t,note:n,extra:o}){return o?(0,fe.jsx)(rs.HTMLPortal,{target:{x:0,y:0,width:o.target?.spatial.width,height:o.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,fe.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,fe.jsxs)("div",{children:[(0,fe.jsx)(de,{children:t||"Not authorised"}),n&&(0,fe.jsx)("p",{children:(0,fe.jsx)(de,{children:n})}),(0,fe.jsx)("p",{children:e.id||e["@id"]||"unknown"})]})})}):null}function as({image:e,thumbnail:t,crop:n,enableSizes:o,enableThumbnail:r,renderOptions:i,rotation:a,manualRotation:s}){let l=er(),c=(0,is.getId)(e.service),u=Ga(c),m=Bt(),d=u?.service;m(e.service,e);let p=d&&u?.status==="done",f=(d?.preferredFormats||[])[0],h=t&&t.type==="fixed"&&t.id&&!t.id.includes("/full/full/")&&!t.id.includes("/max/")?t:void 0;if(p===!1)return null;if(!l){let v=e.service,y=v.width||e.width||0,R=v.height||e.height||0,S=0,g=0,C=e.target?.spatial.width||y,P=e.target?.spatial.height||R,A=C,T=P;return(a===90||a===270)&&!s&&([C,P]=[P,C],S=(A-C)/2,g=(T-P)/2),s&&([C,P]=[P,C]),(0,fe.jsx)(Fr,{enableThumbnail:r,renderOptions:i,rotation:a,tiles:{id:v.id||v["@id"]||"unknown",height:R,width:y,imageService:v,thumbnail:h},enableSizes:o,x:S,y:g,format:f,width:C,height:P,crop:n})}return(0,fe.jsx)(tr,{resource:e.service,errorComponent:Zl,extra:e,children:v=>{let y=v.width||e.width||0,R=v.height||e.height||0,S=0,g=0,C=e.target?.spatial.width||y,P=e.target?.spatial.height||R,A=C,T=P;return(a===90||a===270)&&!s&&([C,P]=[P,C],S=(A-C)/2,g=(T-P)/2),(0,fe.jsx)(Fr,{enableThumbnail:r,renderOptions:i,tiles:{id:v.id||v["@id"]||"unknown",height:R,width:y,imageService:v,thumbnail:h},rotation:a,format:f,enableSizes:o,x:S,y:g,width:C,height:P,crop:n})}},e.id)}var Qe=require("react/jsx-runtime");function Xe({id:e,image:t,thumbnail:n,isStatic:o,x:r=0,y:i=0,children:a,selector:s,onClick:l,rotation:c,enableSizes:u,enableAnnotations:m}){let d=(0,qt.useMemo)(()=>{if(!(!s||s.spatial.x===0&&s.spatial.y===0))return s.spatial},[s]),p=(0,qt.useMemo)(()=>{if(typeof t.rotation<"u")return t.rotation;if(!t.annotation)return 0;let P=Array.isArray(t.annotation.body)?t.annotation.body?.[0]:t.annotation.body;if(P&&P.selector?.type==="ImageApiSelector")return Number(P.selector.rotation)},[t]),f=Ua(c),h=!!t.service,v=r+t.target.spatial.x,y=i+t.target.spatial.y,R=t.target.spatial.width,S=t.target.spatial.height,g=t.target.spatial.width,C=t.target.spatial.height;return(p===90||p===270)&&([g,C]=[C,g],h||([R,S]=[S,R],v+=(t.target.spatial.width-R)/2,y+=(t.target.spatial.height-S)/2)),(0,Qe.jsxs)("world-object",{x:v,y,width:R,height:S,onClick:l,rotation:t.service?void 0:typeof f<"u"?f:p,children:[t.service?(0,Qe.jsxs)(qt.Fragment,{children:[(0,Qe.jsx)(as,{image:t,thumbnail:n,crop:d,enableSizes:u,rotation:typeof f<"u"?f:p,manualRotation:typeof c<"u"}),a]},"service"):(0,Qe.jsxs)(qt.Fragment,{children:[(0,Qe.jsx)("world-image",{onClick:l,uri:t.id,target:{x:0,y:0,width:g,height:C},display:g&&C?{width:g,height:C}:void 0,crop:d}),a]},"no-service"),m&&t.annotationPages?t.annotationPages.map(P=>(0,Qe.jsx)(Ue,{page:P,className:"image-service-annotation",ignoreTargetId:!0},P.id)):null]},e+(h?"server":"no-service"))}var ss=require("@atlas-viewer/atlas");var Oe=require("react/jsx-runtime");function uo({strategy:e,onClickPaintingAnnotation:t}){return(0,Oe.jsx)(Oe.Fragment,{children:e.items.map((n,o)=>(0,Oe.jsx)(Oe.Fragment,{children:(0,Oe.jsx)(ss.HTMLPortal,{onClick:t?r=>{r.stopPropagation(),t(n.annotationId,n,r)}:void 0,target:n.target?.spatial||void 0,children:(0,Oe.jsx)("div",{"data-textual-content":!0,children:(0,Oe.jsx)(de,{enableDangerouslySetInnerHTML:!0,children:n.text})})},o)}))})}var ge=require("react/jsx-runtime");function ls({strategy:e,children:t}){let{store:n}=(0,co.useMemo)(()=>Wa({complexTimeline:e}),[e]),o=(0,Wr.useStore)(n,a=>a.isReady),r=(0,Wr.useStore)(n,a=>a.visibleElements);function i(a){return s=>{s&&n.getState().setElement(a,s)}}return(0,co.useLayoutEffect)(()=>{if(o){let{startClock:a,stopClock:s}=n.getState();return a(),()=>{s()}}},[e,o]),X("portal","custom-controls",Vr,{store:n,children:t},[o]),(0,ge.jsxs)(ge.Fragment,{children:[e.items.map(a=>a.type!=="Image"||!r[a.annotationId]?null:(0,ge.jsx)(Xe,{image:a,id:a.annotationId},a.id)),e.items.map((a,s)=>a.type!=="Text"||!r[a.annotationId]?null:(0,ge.jsx)(uo,{strategy:{type:"textual-content",items:[a]}},s)),e.items.map((a,s)=>a.type!=="Video"||!a.target.spatial?null:(0,ge.jsx)($r.HTMLPortal,{target:a.target.spatial,children:(0,ge.jsx)("video",{ref:i(a.annotationId),src:a.url,style:{height:"100%",width:"100%",opacity:r[a.annotationId]?1:0}})},s)),e.items.map((a,s)=>a.type!=="Sound"?null:(0,ge.jsx)($r.HTMLPortal,{children:(0,ge.jsx)("audio",{ref:i(a.annotationId),src:a.url})},s)),e.highlights.map(({annotation:a})=>r[a.id]?(0,ge.jsx)(mt,{id:a.id,ignoreTargetId:!0,style:{outline:"3px solid red"},className:"image-service-annotation"},a.id):null)]})}var us=require("react/jsx-runtime");function Ur(){let{strategy:e}=H(),{renderComplexTimelineControls:t}=ae();return e.type!=="complex-timeline"?null:(0,us.jsx)(ls,{strategy:e,children:t?t(e):null})}var cs=require("react/jsx-runtime");function mo({style:e}){let t=w();return!t||!t.height||!t.width?null:(0,cs.jsx)("box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:e})}var ms=require("react/jsx-runtime");function _r({backgroundStyle:e,alwaysShowBackground:t}){let{strategy:n}=H();return n.type!=="empty"&&!t?null:(0,ms.jsx)(mo,{style:e})}var po=require("react"),Pe=(0,po.createContext)(null);function dn(){return(0,po.useContext)(Pe)}var Ht=require("react/jsx-runtime");function Yr({isStatic:e=!1,enableSizes:t=!1,enableAnnotations:n=!0,onClickPaintingAnnotation:o,rotation:r,children:i}){let{strategy:a}=H(),{renderViewerControls:s,viewControlsDeps:l}=ae(),c=w(),u=dn(),m=ze({maxWidth:256,maxHeight:256});if(X(u&&a.type==="images"&&s?"overlay":"none",`canvas-portal-controls-${c?.id}`,Pe.Provider,s?{value:u||null,children:s(a)}:{},[c,u,a,...l||[]]),a.type!=="images")return null;let d=a.images.length===1?r:0;return(0,Ht.jsxs)(Ht.Fragment,{children:[a.images.map((p,f)=>(0,Ht.jsx)(Xe,{isStatic:e,image:p,id:p.id,thumbnail:f===0?m:void 0,selector:p.selector,enableSizes:t,enableAnnotations:n,rotation:d,onClick:o?h=>{o(p.annotationId,p,h)}:void 0},p.id+f)),i]})}var Dt=require("react/jsx-runtime");function Gr({onClickPaintingAnnotation:e,children:t}){let{strategy:n}=H(),{renderViewerControls:o,viewControlsDeps:r}=ae(),i=dn(),a=w();return X(i&&n.type==="textual-content"&&o?"overlay":"none",`canvas-portal-controls-${a?.id}`,Pe.Provider,o?{value:i||null,children:o(n)}:{},[a,i,n,...r||[]]),n.type!=="textual-content"?null:(0,Dt.jsxs)(Dt.Fragment,{children:[(0,Dt.jsx)(uo,{strategy:n,onClickPaintingAnnotation:e}),t]})}var pn=require("react/jsx-runtime");function Kr({element:e,media:t,startTime:n,playPause:o,poster:r}){let i="div",a=n?`${t.url}#t=${n}`:t.url;return(0,pn.jsxs)(i,{className:"video-container",part:"video-container",onClick:o,children:[(0,pn.jsx)("style",{children:`
|
|
19
|
-
.video-container {
|
|
20
|
-
position: absolute;
|
|
21
|
-
top: 0;
|
|
22
|
-
bottom: 0;
|
|
23
|
-
left: 0;
|
|
24
|
-
right: 0;
|
|
25
|
-
background: #000;
|
|
26
|
-
z-index: 13;
|
|
27
|
-
display: flex;
|
|
28
|
-
justify-content: center;
|
|
29
|
-
pointer-events: visible;
|
|
30
|
-
}
|
|
31
|
-
`}),(0,pn.jsx)("video",{poster:r,ref:e,src:a,style:{width:"100%",objectFit:"contain"}})]})}function fo({media:e,mediaControlsDeps:t,children:n,videoComponent:o=Kr,captions:r}){let i=w(),a=sn(),s=i&&i.placeholderCanvas&&i.placeholderCanvas.id||void 0,l=ze({},!1,{canvasId:s}),[{element:c,currentTime:u,progress:m},d,p]=dt({duration:e.duration});return X("overlay","video-element",o,{element:c,media:e,playPause:p.playPause,poster:l?.id,canvas:i,startTime:a?a.startTime:null,captions:r},[l]),X("portal","custom-controls",an,{state:d,actions:p,currentTime:u,progress:m,element:c,children:n},[u,d,e,...t||[]]),null}var go=require("react/jsx-runtime");function jr({as:e}){let{strategy:t}=H(),{renderMediaControls:n,mediaControlsDeps:o}=ae();return t.type!=="media"||t.media.type!=="Video"?null:(0,go.jsxs)(fo,{captions:t.captions,media:t.media,mediaControlsDeps:o,videoComponent:e,children:[(0,go.jsx)(ht,{}),n?n(t):null]},t.media.url)}var ds=require("react");var fn=require("react/jsx-runtime");function Jl({element:e,media:t,playPause:n}){let o=(0,ds.useRef)(null);return t.youTubeId?(0,fn.jsxs)("div",{className:"video-container",part:"video-container",onClick:n,children:[(0,fn.jsx)("style",{children:`
|
|
32
|
-
.video-container {
|
|
33
|
-
position: absolute;
|
|
34
|
-
top: 0;
|
|
35
|
-
bottom: 0;
|
|
36
|
-
left: 0;
|
|
37
|
-
right: 0;
|
|
38
|
-
background: #000;
|
|
39
|
-
z-index: 13;
|
|
40
|
-
display: flex;
|
|
41
|
-
justify-content: center;
|
|
42
|
-
pointer-events: visible;
|
|
43
|
-
}
|
|
44
|
-
.video-yt {
|
|
45
|
-
border: none;
|
|
46
|
-
width: 100%;
|
|
47
|
-
object-fit: contain;
|
|
48
|
-
}
|
|
49
|
-
`}),(0,fn.jsx)("iframe",{title:`YouTube video: ${t.youTubeId}`,className:"video-yt",ref:o,src:`https://www.youtube.com/embed/${t.youTubeId}?enablejsapi=1&origin=${eu()}&modestbranding=1&rel=0`,referrerPolicy:"no-referrer compute-pressure",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function eu(){return typeof window<"u"?window.location.host:""}function ps({media:e,mediaControlsDeps:t,children:n}){let[{element:o,currentTime:r,progress:i},a,s]=dt({duration:e.duration});return X("overlay","video-element",Jl,{element:o,media:e,playPause:s.playPause}),null}var ho=require("react/jsx-runtime");function Qr(){let{strategy:e}=H(),{renderMediaControls:t,mediaControlsDeps:n}=ae();return e.type!=="media"||e.media.type!=="VideoYouTube"?null:(0,ho.jsxs)(ps,{media:e.media,mediaControlsDeps:n,children:[(0,ho.jsx)(ht,{}),t?t(e):null]})}var Co=require("react"),Ae=require("zustand");var vo=require("@atlas-viewer/atlas"),we=require("react");var fs=require("polygon-editor"),K=require("react");var yo=require("zustand");function Xr(e){let t=L(),n=(0,yo.useStore)(t,i=>i.polygons),o=(0,yo.useStore)(t,i=>i.polygonState),r=(0,yo.useStore)(t,i=>i.polygon);return lt("atlas.polygon-render",({state:i,slowState:a,dt:s})=>{e(i,a,s)}),{currentShape:r,state:o,helper:n}}var N=require("react/jsx-runtime"),Be=(0,fs.createSvgHelpers)(),gs={shapeFill:"#ffffff33",shapeStroke:"#000",lineStroke:"#000",ghostLineStroke:"#0F0",activeLineStroke:"#4D7EEA",boundingBoxDottedStroke:"#0007",boundingBoxStroke:"#fffA",controlFill:"#fff"};function Zr(e){let{image:t}=e,n={...gs,...e.theme||{}},o=`svg-editor-${(0,K.useId)().replace(/:/g,"")}`,r={dot:`${o}-dot`,newdot:`${o}-newdot`,selected:`${o}-selected`,resizer:`${o}-resizer`},i=(0,K.useRef)(),a=(0,K.useRef)(),s=(0,K.useRef)(),l=(0,K.useRef)(),c=(0,K.useRef)(),u=(0,K.useRef)(),m=(0,K.useRef)(),d=(0,K.useRef)(),p=(0,K.useRef)(),f=(0,K.useRef)(),[h,v]=(0,K.useState)(null),[y,R]=(0,K.useState)(!1),{helper:S,state:g,currentShape:C}=Xr((M,I)=>{if(M.closestLineIndex,Be.updateTransitionBoundingBox(s.current,M,I),Be.updateBoundingBoxPolygon(i.current,M,I),Be.updateBoundingBoxPolygon(a.current,M,I),Be.updateTransitionShape(m.current,M,I),Be.updateClosestLinePointTransform(c.current,M,I),Be.updateSelectBox(l.current,M,I),Be.updatePointLine(d.current,M,I),Be.updateDrawPreview(u.current,M,I,3),Be.updateLineBox(p.current,M),v(M.transitionDirection),R(M.transitionRotate),M.closestLineIndex!==-1&&f.current){let E=M.polygon,D=E.points[M.closestLineIndex],Te=E.points[(M.closestLineIndex+1)%E.points.length];D&&Te&&f.current.setAttribute("points",`${D[0]},${D[1]} ${Te[0]},${Te[1]}`)}});(0,K.useEffect)(()=>{let M=()=>{S.modifiers.reset()};return document.addEventListener("mouseleave",M),()=>{document.removeEventListener("mouseleave",M)}},[]);let P=(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("marker",{id:r.dot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,N.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke,className:"marker"}),(0,N.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.controlFill})]}),(0,N.jsx)("marker",{id:r.newdot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:(0,N.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.activeLineStroke,className:"marker"})}),(0,N.jsxs)("marker",{id:r.selected,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,N.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke}),(0,N.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.activeLineStroke})]}),(0,N.jsxs)("marker",{id:r.resizer,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"6",markerHeight:"6",children:[(0,N.jsx)("rect",{width:"10",height:"10",fill:n.lineStroke}),(0,N.jsx)("rect",{x:"1",y:"1",width:"8",height:"8",fill:n.controlFill})]})]}),A=C?C.open?"polyline":"polygon":null,T=!g.showBoundingBox&&g.closestPoint!==null&&g.actionIntentType==="select-point",z=g.actionIntentType==="add-open-point",Y=g.transitionIntentType==="split-line",ue=g.transitioning&&g.selectedStamp&&g.transitionIntentType==="stamp-shape",q=C&&A?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(A,{fill:(!g.transitioning||g.transitionIntentType==="select-multiple-points")&&!C.open?n.shapeFill:"none",strokeWidth:ue||g.showBoundingBox&&g.boxMode||g.transitioning&&g.transitionIntentType==="split-line"||g.transitioning&&g.transitionIntentType==="move-point"?0:2,stroke:n.shapeStroke,points:C.points.map(M=>M.join(",")).join(" "),vectorEffect:"non-scaling-stroke",markerStart:g.showBoundingBox?void 0:`url(#${g.boxMode?r.resizer:r.dot})`,markerMid:g.showBoundingBox?void 0:`url(#${g.boxMode?r.resizer:r.dot})`,markerEnd:g.showBoundingBox?void 0:`url(#${g.boxMode?r.resizer:r.dot})`,style:{pointerEvents:"none"},opacity:g.transitioning&&g.transitionIntentType==="move-shape"?0:1}),g.currentTool==="lineBox"&&g.actionIntentType==="close-line-box"?(0,N.jsx)("polygon",{fill:n.shapeFill,ref:p,stroke:n.lineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,g.transitionIntentType==="draw-shape"&&g.transitioning?(0,N.jsx)("polyline",{ref:u,fill:"none",stroke:n.activeLineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,!(g.transitioning&&g.transitionIntentType==="move-point")&&!(g.transitioning&&g.transitionIntentType==="stamp-shape")&&!g.showBoundingBox&&g.selectedPoints&&g.selectedPoints.length?(0,N.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${r.selected})`,markerMid:`url(#${r.selected})`,markerEnd:`url(#${r.selected})`,fill:"transparent",points:C.points.filter((M,I)=>g.selectedPoints?.includes(I)).map(M=>M.join(",")).join(" "),opacity:g.transitioning&&g.transitionIntentType==="move-shape"?0:1}):null,T&&!g.transitioning&&g.closestPoint!==null&&C.points[g.closestPoint]?(0,N.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${r.selected})`,markerMid:`url(#${r.selected})`,markerEnd:`url(#${r.selected})`,fill:n.activeLineStroke,points:`${C.points[g.closestPoint][0]},${C.points[g.closestPoint][1]}`,opacity:g.transitioning&&g.transitionIntentType==="move-shape"?0:1}):null,!g.transitioning&&(g.actionIntentType==="add-open-point"||g.actionIntentType==="close-shape"||g.actionIntentType==="close-shape-line")?(0,N.jsx)("polyline",{stroke:n.activeLineStroke,ref:d,strokeWidth:g.actionIntentType==="add-open-point"?1:2,vectorEffect:"non-scaling-stroke"}):null,g.hasClosestLine&&!g.showBoundingBox&&!g.transitioning&&g.currentTool!=="box"&&g.transitionIntentType==="split-line"?(0,N.jsx)("g",{children:(0,N.jsx)("polyline",{ref:f,vectorEffect:"non-scaling-stroke",fill:"transparent",stroke:n.activeLineStroke,strokeWidth:3})}):null,g.hasClosestLine&&!g.showBoundingBox&&!g.transitioning&&g.currentTool!=="box"&&g.transitionIntentType==="split-line"?(0,N.jsx)("g",{ref:c,children:(0,N.jsx)("polyline",{markerStart:`url(#${r.newdot})`,points:"0,0 1,1",vectorEffect:"non-scaling-stroke",stroke:"transparent",fill:"transparent",strokeWidth:2})}):null,g.transitioning?(0,N.jsx)(A,{ref:m,fill:C.open?"none":n.shapeFill,stroke:g.transitionIntentType==="stamp-shape"?n.activeLineStroke:n.shapeStroke,vectorEffect:"non-scaling-stroke",strokeWidth:(C.open,2)}):null,g.transitioning&&g.transitionIntentType==="select-multiple-points"?(0,N.jsx)("rect",{ref:l,fill:"rgba(255, 255, 255, .3)",strokeWidth:1,stroke:"rgba(0,0,0,.2)",vectorEffect:"non-scaling-stroke"}):null,g.showBoundingBox&&!ue?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("polygon",{ref:i,strokeWidth:2,stroke:n.boundingBoxStroke,fill:"none",markerStart:`url(#${r.resizer})`,markerMid:`url(#${r.resizer})`,markerEnd:`url(#${r.resizer})`,vectorEffect:"non-scaling-stroke"}),(0,N.jsx)("polygon",{ref:a,strokeWidth:2,stroke:n.boundingBoxDottedStroke,fill:"none",strokeDasharray:"4 4",markerStart:`url(#${r.resizer})`,markerMid:`url(#${r.resizer})`,markerEnd:`url(#${r.resizer})`,vectorEffect:"non-scaling-stroke"})]}):null]}):null;return{currentTool:S.state.slowState.currentTool,setCurrentTool:S.tools.setTool,helper:S,currentShape:C,state:g,isAddingPoint:z,isSplitting:Y,isStamping:ue,isHoveringPoint:T,transitionDirection:h,transitionRotate:y,defs:P,editor:q}}var Ze=require("react/jsx-runtime");function hs(e){let t=(0,vo.useAtlas)(),n=(0,we.useRef)(null),{image:o}=e,{helper:r,defs:i,editor:a,state:s,transitionDirection:l,isSplitting:c,transitionRotate:u,isHoveringPoint:m,isAddingPoint:d}=Zr({image:e.image,theme:e.theme}),p=(0,we.useCallback)(v=>{v.button!==2&&r.pointer([[~~v.atlas.x,~~v.atlas.y]])},[r]),f=(0,we.useCallback)(v=>{v.button!==2&&(n.current?.focus(),r.pointerDown())},[r]),h=(0,we.useCallback)(v=>{v.button!==2&&r.pointerUp()},[r]);return(0,we.useEffect)(()=>{let v=y=>{n.current?.contains(document.activeElement)&&r.key.up(y.key)};return document.addEventListener("keyup",v),()=>{document.removeEventListener("keyup",v)}},[r]),(0,we.useEffect)(()=>{let v=y=>{n.current?.contains(document.activeElement)&&(y.target&&["INPUT","TEXTAREA"].includes(y.target.tagName)||y.target?.isContentEditable||document.activeElement&&(document.activeElement instanceof HTMLInputElement||document.activeElement instanceof HTMLTextAreaElement||document.activeElement.isContentEditable)||r.key.down(y.key))};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[r]),(0,we.useEffect)(()=>{let v=[];return l&&v.push(`atlas-cursor-${l}`),s.actionIntentType==="cut-line"&&s.modifiers?.Shift&&v.push("atlas-cursor-cut"),(m||s.transitionIntentType==="move-shape"||s.transitionIntentType==="move-point")&&v.push("atlas-cursor-move"),d&&v.push("atlas-cursor-crosshair"),c&&v.push("atlas-cursor-copy"),u&&v.push("atlas-cursor-rotate"),s.transitionIntentType==="draw-shape"&&v.push("atlas-cursor-draw"),t?.canvas&&t.canvas.classList.add(...v),()=>{t?.canvas&&t.canvas.classList.remove(...v)}},[t?.canvas,d,m,c,s.modifiers?.Shift,s.actionIntentType,s.transitionIntentType,l,u]),(0,Ze.jsx)("world-object",{height:o.height,width:o.width,onMouseMove:p,onMouseDown:f,onMouseUp:h,onMouseLeave:r.blur,children:(0,Ze.jsx)(vo.HTMLPortal,{relative:!0,interactive:!1,children:(0,Ze.jsx)("div",{className:"absolute top-0 right-0 left-0 bottom-0",children:(0,Ze.jsxs)("svg",{ref:n,width:"100%",height:"100%",viewBox:`0 0 ${o.width} ${o.height}`,tabIndex:-1,children:[(0,Ze.jsx)("title",{children:"Annotation Editor"}),(0,Ze.jsx)("defs",{children:i}),a]})})})})}var Ms=require("react"),ks=require("zustand");var Ts=require("@atlas-viewer/atlas"),te=require("@floating-ui/react"),Is=require("react-dom");var U=J(require("react"),1);var ys=J(require("react"),1),So=require("react"),vs=J(require("mitt"),1),xs=require("react/jsx-runtime"),Ss=(0,vs.default)(),St=(0,So.createContext)({emitter:Ss});St.displayName="Events";function gn(){return ys.default.useContext(St).emitter}function tu({emitter:e,children:t}){return(0,xs.jsx)(St.Provider,{value:(0,So.useMemo)(()=>({emitter:e}),[e]),children:t})}var Ft=require("react"),Cs=require("react/jsx-runtime"),hn=(0,Ft.createContext)("");function bs({children:e,identifier:t}){let n=(0,Ft.useMemo)(()=>t??Math.random().toString(36).substring(2,9),[t]);return(0,Cs.jsx)(hn.Provider,{value:n,children:e})}function xo(){return(0,Ft.useContext)(hn)}var se=require("react/jsx-runtime"),yn=U.default.createContext({});function vn(){let e=(0,U.useContext)(yn),t=Object.keys(e),n={};for(let o of t)e[o].Provider&&(n[o]={value:(0,U.useContext)(e[o]),Provider:e[o].Provider});return n}function Rs(e){let t=Object.keys(e),n=e.children;for(let o of t){if(o==="children")continue;let{value:r,Provider:i}=e[o];n=(0,se.jsx)(i,{value:r,children:n})}return n}function nu(e){let t=(0,U.useContext)(yn),n=(0,U.useMemo)(()=>({...t,...e.providers}),[e.providers]);return(0,se.jsx)(yn.Provider,{value:n,children:e.children})}function Sn(){return{VaultContext:(0,U.useContext)(Fe),ResourceContext:(0,U.useContext)(Gt),SimpleViewerReactContext:(0,U.useContext)(Mt),VisibleCanvasReactContext:(0,U.useContext)(nt),AuthRContext:(0,U.useContext)(rt),SearchReactContext:(0,U.useContext)(wt),ReactEventContext:(0,U.useContext)(St),ReactEmitterContext:(0,U.useContext)(st),ContextBridgeReactContext:(0,U.useContext)(yn),StrategyReactContext:(0,U.useContext)(Ye),AtlasStoreReactContext:(0,U.useContext)(ut),ViewerIdentifierContext:(0,U.useContext)(hn)}}function xn(e){return(0,se.jsx)(ke,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:(0,se.jsx)(nt.Provider,{value:e.bridge.VisibleCanvasReactContext,children:(0,se.jsx)(Mt.Provider,{value:e.bridge.SimpleViewerReactContext,children:(0,se.jsx)(St.Provider,{value:e.bridge.ReactEventContext,children:(0,se.jsx)(st.Provider,{value:e.bridge.ReactEmitterContext,children:(0,se.jsx)(ut.Provider,{value:e.bridge.AtlasStoreReactContext,children:(0,se.jsx)(rt.Provider,{value:e.bridge.AuthRContext,children:(0,se.jsx)(wt.Provider,{value:e.bridge.SearchReactContext,children:(0,se.jsx)(hn.Provider,{value:e.bridge.ViewerIdentifierContext,children:(0,se.jsx)(yn.Provider,{value:e.bridge.ContextBridgeReactContext,children:(0,se.jsx)(Ye.Provider,{value:e.bridge.StrategyReactContext,children:e.custom?(0,se.jsx)(Rs,{...e.custom,children:e.children}):e.children})})})})})})})})})})})}var $t=require("react/jsx-runtime"),ws=10,Ps=1;function ou(e){let[t,n]=e.split("-");return[t,n]}function As(e,t,n){return t>n?e:Math.min(Math.max(e,t),n)}function ru(e){return e.top>0||e.right>0||e.bottom>0||e.left>0}function iu(e){return{name:"insideHighlightFallback",options:e,async fn(t){if(e.width<=Ps||e.height<=Ps)return{};let n=await(0,te.detectOverflow)(t,{altBoundary:!0});if(!ru(n))return{};let{reference:o,floating:r}=t.rects,[i,a]=ou(t.initialPlacement),s=Math.min(ws,o.width/2,o.height/2),l=o.x+(o.width-r.width)/2,c=o.y+(o.height-r.height)/2,u=t.x,m=t.y;return i==="top"||i==="bottom"?(m=i==="top"?o.y+s:o.y+o.height-r.height-s,a==="start"?u=o.x+s:a==="end"?u=o.x+o.width-r.width-s:u=l,u=As(u,o.x+s,o.x+o.width-r.width-s)):(u=i==="left"?o.x+s:o.x+o.width-r.width-s,a==="start"?m=o.y+s:a==="end"?m=o.y+o.height-r.height-s:m=c,m=As(m,o.y+s,o.y+o.height-r.height-s)),{x:u,y:m}}}}function bo({annotation:e,target:t,children:n,dismissable:o,isOpen:r,onOpenChange:i,placement:a}){let s=xo(),l=Sn(),c=vn(),{refs:u,floatingStyles:m,context:d}=(0,te.useFloating)({open:r,onOpenChange:i,nodeId:e.id,placement:a||"bottom",middleware:[(0,te.offset)(ws),(0,te.flip)({mainAxis:!0,fallbackStrategy:"bestFit",altBoundary:!0}),(0,te.shift)({altBoundary:!0}),iu(t)],whileElementsMounted:te.autoUpdate}),p=(0,te.useDismiss)(d),{getReferenceProps:f,getFloatingProps:h}=(0,te.useInteractions)([o?p:null].filter(v=>v!==null));return(0,$t.jsxs)(Ts.HTMLPortal,{relative:!0,target:t,interactive:!1,children:[(0,$t.jsx)("div",{ref:u.setReference,...f(),style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"}}),(0,Is.createPortal)((0,$t.jsx)(xn,{bridge:l,custom:c,children:(0,$t.jsx)("div",{ref:u.setFloating,style:m,...h(),children:n})}),document.getElementById(`atlas-floating-ui-${s}`))]})}var bn=require("react/jsx-runtime"),Es=(0,ks.create)()(e=>({isMenuOpen:!1,menuPosition:{x:0,y:0},setMenuPosition(t){e({menuPosition:t})},toggle(t){e(n=>({isMenuOpen:!n.isMenuOpen,menuPosition:t}))},open(t){e({isMenuOpen:!0,menuPosition:t})},setIsMenuOpen(t){e(typeof t=="function"?n=>({isMenuOpen:t(n.isMenuOpen)}):{isMenuOpen:t})},close(){e({isMenuOpen:!1})}}));function Cn(e,t,n){let{isMenuOpen:o,setIsMenuOpen:r,close:i,open:a,menuPosition:s,setMenuPosition:l,toggle:c}=Es(),u=(0,Ms.useCallback)(p=>{n&&(p.preventDefault(),p.stopPropagation(),c(p.atlas))},[c,n]);return[(0,bn.jsx)(bn.Fragment,{children:n&&o&&(0,bn.jsx)(bo,{dismissable:!0,placement:"bottom-start",isOpen:o,onOpenChange:r,annotation:{id:e},target:{x:s.x,y:s.y,height:1,width:1},children:o&&n({canvasId:t,position:s,close:()=>r(!1)})})}),{onContextMenu:u},{open:a,close:i,toggle:c,isMenuOpen:o,setIsMenuOpen:r,menuPosition:s,setMenuPosition:l}]}var Ns=require("zustand");function Jr(){let e=L();return(0,Ns.useStore)(e,t=>t.tool.requestId&&t.requests[t.tool.requestId]||null)}var ne=require("react/jsx-runtime");function ei({theme:e,renderContextMenu:t,children:n}){let o=L(),r=w(),i=(0,Ae.useStore)(o,C=>C.polygon),a=(0,Ae.useStore)(o,C=>C.polygonState.currentTool),s=(0,Ae.useStore)(o,C=>C.mode),l=(0,Ae.useStore)(o,C=>C.changeMode),c=(0,Ae.useStore)(o,C=>C.polygonState.transitioning),{enabled:u,requestId:m}=(0,Ae.useStore)(o,C=>C.tool),d=(0,Co.useMemo)(()=>We(i),[i]),p=Jr(),[f,h]=Cn("editing-annotation",r?.id,t),v=p?.annotationPopup||n||(0,ne.jsx)(Vs,{}),y=p?.svgTheme||e,R=()=>{l("sketch")};if(!u||!r||!m||!i)return null;let S=d&&i.id&&!c&&(a==="pointer"||a==="hand"||!i.open)?(0,ne.jsx)(bo,{annotation:i,target:d,children:v}):null,g="shape";return s==="explore"?(0,ne.jsxs)(ne.Fragment,{children:[(0,ne.jsx)(g,{id:`shape-${i.id}`,points:i.points,open:i.open,onClick:R,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{":hover":{backgroundColor:"rgba(0,0,0,0.2)"},backgroundColor:"rgba(0,0,0,0)",borderWidth:"4px",borderColor:"rgba(255, 255, 255, .4)"},...h}),(0,ne.jsx)(g,{id:`shape-${i.id}`,points:i.points,open:i.open,onClick:R,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(0, 0, 0, .4)"}}),S]}):(0,ne.jsxs)(ne.Fragment,{children:[t?(0,ne.jsx)(g,{id:`shape-${i.id}`,points:i.points,open:i.open,target:{x:0,y:0,width:r.width,height:r.height},...h}):null,(0,ne.jsx)(hs,{image:r,theme:y}),S,f]})}function Vs(){let e=L(),t=(0,Ae.useStore)(e,a=>a.changeMode),n=(0,Ae.useStore)(e,a=>a.mode),o=(0,Ae.useStore)(e,a=>a.completeRequest),r=(0,Ae.useStore)(e,a=>a.tool),i=()=>{(0,Co.startTransition)(()=>{o()})};return r.enabled?(0,ne.jsxs)("div",{className:"svg-tools-container animate-fadeIn",children:[n!=="sketch"&&(0,ne.jsx)("button",{className:"svg-tools-button",onClick:()=>{t("sketch")},children:"Edit"}),(0,ne.jsx)("button",{className:"svg-tools-button",onClick:i,children:"Save"})]}):null}var Je=require("react");var Wt=require("react");var Ls=require("@iiif/helpers");function au(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function Rn(e,t){let{selector:n,source:o}=(0,Ls.expandTarget)(t);if(o.id!==e.id)return[null,o];let r={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[n?n.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:n.temporal,spatial:r.spatial}:n:null,o]}var ti={makeChoice:()=>{}},Pn={type:"unknown"},O=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),ni=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var An=require("react");function su(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function zs(e,t){return V(n=>{let o=[];if(!e)return o;let r=Object.keys(n.iiif.entities.AnnotationPage);for(let i of r)if(!t||t.indexOf(i)!==-1){let a=su(n,i);a&&a.views&&a.views[e]&&o.push(i)}return o},[e,t])}function oi({canvas:e,manifest:t,all:n,canvases:o}){let r=[];if(t)for(let i of t.annotations)r.indexOf(i.id)===-1&&r.push(i.id);if(n){if(o&&o.length)for(let i of o)for(let a of i.annotations)r.indexOf(a.id)===-1&&r.push(a.id)}else if(e)for(let i of e.annotations)r.indexOf(i.id)===-1&&r.push(i.id);return r}function lu(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function Tn(e,t={}){let n=k(),o=$(),r=w(),i=ot(),a=(0,An.useMemo)(()=>oi({all:t.all,manifest:o,canvas:r,canvases:i}),[t.all,r,i,o]),s=zs(e,t.all?void 0:a),l=(0,An.useCallback)(u=>{e&&n.setMetaValue([u,"annotationPageManager","views"],m=>m&&!m[e]?m:{...m||{},[e]:!1})},[e,n]),c=(0,An.useCallback)((u,m={})=>{if(!e)return;let d=n.getState(),p=[];if(m?.deselectOthers){let f=Object.keys(d.iiif.entities.AnnotationPage);for(let h of f){let v=lu(d,h);v&&v.views&&v.views[e]&&p.push(h)}}for(let f of p)l(f);n.setMetaValue([u,"annotationPageManager","views"],f=>f&&f[e]?f:{...f||{},[e]:!0})},[e,l,n]);return{availablePageIds:a,enabledPageIds:s,setPageEnabled:c,setPageDisabled:l}}function ri(e,t){return V((n,o)=>o.get(e.map(r=>({id:r,type:t}))),[e,t])}var Os=J(require("mitt"),1),Bs=require("react"),qs=require("zustand");var uu=(0,qs.createStore)((e,t)=>({loaded:{},setLoaded:(n,o="done")=>{e(r=>({loaded:{...r.loaded,[n]:o}}))}})),cu=(0,Os.default)();cu.on("loaded",e=>{uu.getState().setLoaded(e.imageServiceId)});function In(){let e=Bt(),t=Ka();return[(0,Bs.useCallback)((o,{height:r,width:i})=>o&&e(o,{height:r,width:i},!0),[e]),t]}var xt=require("react");function qe(e={}){let t=nn(),n=w(e.canvasId?{id:e.canvasId}:void 0);return V((o,r)=>{if(!n)return[];if(t&&e.enableSingleAnnotation)return[t];let i=r.get(n.items),a=[];for(let s of i)a.push(...r.get(s.items));return a},[n])}var Hs=require("@iiif/helpers/painting-annotations");function ii(e,t=[]){let n=k(),o=(0,xt.useMemo)(()=>(0,Hs.createPaintingAnnotationsHelper)(n),[]),r=qe({enableSingleAnnotation:e?.enableSingleAnnotation}),[i,a]=(0,xt.useState)(e?.defaultChoices||[]),s=(0,xt.useMemo)(()=>o.getPaintables(r,i),[n,r,i,...t]),c={makeChoice:(0,xt.useCallback)((u,{deselectOthers:m=!0,deselect:d=!1}={})=>{s.choice&&a(p=>{if(d){let h=p.filter(v=>v!==u);if(h.length===0){let v=s.items[0].resource.id;return v?[v]:[]}return h}if(m)return[u];let f=[...p];if(f.length===0&&s.items.length){let h=s.items[0].resource.id;h&&f.push(h)}return p.indexOf(u)!==-1?p:[...p,u]})},[s.choice])};return[s,c]}var mu=["model/gltf-binary"];function ai(e,t){let n=t.items[0],o=n.resource;return o.format?mu.indexOf(o.format)===-1?O(`3D format: ${o.format} is unsupported`):{type:"3d-model",model:o,annotationId:n.annotationId,annotation:n.annotation}:O("Unknown format")}function Ro(e,t){let n=t.items,o=n[0];if(n.length===0||!o)return O("No audio");if(!e.duration)return O("No duration on canvas");if(n.length>1)return O("Only one audio source supported");let r=o.resource;return r?("format"in r||(r.format="audio/mpeg"),{type:"media",media:{annotationId:o.annotationId,annotation:o.annotation,duration:e.duration,url:r.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:r.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}):O("Unknown audio")}var si=require("@iiif/helpers/annotation-targets"),Fs=require("@iiif/parser/image-3");function He(e){return e.replace(/^http:/,"https:")}function Ds(e){if(!(e?.type!=="ImageApiSelector"||typeof e.rotation>"u"))return li(e.rotation)}function li(e){if(e===null||typeof e>"u"||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function du(e){let t=e.selector||{};return{...e.rotationOrigin||t.rotationOrigin?{rotationOrigin:e.rotationOrigin||t.rotationOrigin}:{},...e.translate||t.translate?{translate:e.translate||t.translate}:{},...e.transform||t.transform?{transform:e.transform||t.transform}:{},...e.style||t.boxStyle?{style:e.style||t.boxStyle}:{},...e.styleClass?{styleClass:e.styleClass}:{}}}function wn(e,t,n){let o=[],r=[];for(let i of t.items){let a=i.resource&&i.resource.type==="SpecificResource"?i.resource.source:i.resource;if(!a.id)return O("No resource Identifier");let l=(i.resource.type==="SpecificResource"?Ds(i.resource.selector):void 0)??Ds(i.selector)??li(i.rotation)??li(i.selector?.rotation),c=typeof l<"u",u;if(a.service){let S=(0,Fs.getImageServices)(a);S[0]&&(u=n(S[0],c?{width:Number(a.width||e.width),height:Number(a.height||e.height)}:e))}let m={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[d,p]=Rn(e,i.target),f=e.id?.split("?")[0]||"";if(!(He(p.id||"")===He(e.id)||He(decodeURIComponent(p.id||""))===He(e.id||"")||He(p.id||"")===He(f)||He(decodeURIComponent(p.id||""))===He(f)))continue;let h=i.resource.width&&i.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:i.resource.width,height:i.resource.height}}:void 0,v=i.resource.type==="SpecificResource"?(0,si.expandTarget)(i.resource):null;if(i.selector){let S=(0,si.expandTarget)({type:"SpecificResource",source:i.resource,selector:i.selector});S&&(v=S)}let y=v&&v.selector&&(v.selector.type==="BoxSelector"||v.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:v.selector.spatial.x,y:v.selector.spatial.y,width:v.selector.spatial.width,height:v.selector.spatial.height},...typeof v.selector.rotation<"u"?{rotation:v.selector.rotation}:{},...v.selector.rotationOrigin?{rotationOrigin:v.selector.rotationOrigin}:{},...v.selector.translate?{translate:v.selector.translate}:{},...v.selector.transform?{transform:v.selector.transform}:{},...v.selector.boxStyle?{boxStyle:v.selector.boxStyle}:{}}:void 0;u&&!u.id&&(u.id=u["@id"]);let R={id:a.id,type:"Image",annotationId:i.annotationId,annotation:i.annotation,width:Number(c||d||y?a.width:e.width),height:Number(c||d||y?a.height:e.height),...typeof l<"u"?{rotation:l}:{},...du(i),service:u,sizes:u&&u.sizes?u.sizes:a.width&&a.height?[{width:a.width,height:a.height}]:[],target:d&&d.type!=="PointSelector"?d:m,selector:y||{type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},annotationPages:i.resource.annotations||[]};o.push(R)}return{type:"images",image:o[0],images:o,choice:t.choice}}function $s(e,t={},n){let o=e.language||n||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[o]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(r=>$s(r,t,o))}return t}function Mn(e,t){let n=[];return t.items.forEach(o=>{if(o.resource){let[r]=Rn(e,o.target);n.push({type:"Text",annotationId:o.annotationId,annotation:o.annotation,text:$s(o.resource),target:r})}}),{type:"textual-content",items:n}}var Po=require("@iiif/helpers");var pu=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function kn(e,t,n,o=!1){let r=t.items.filter(h=>h.type==="video"),i=r[0],a=!1,s=!1;if(e.duration||(s=!0),r.length>1||!i)return O("Only one video source supported");let l=r[0]?.resource,c=!!(l.service||[]).find(h=>(h.profile||"").includes("youtube.com"));if(!c&&s)return O("Video does not have duration");if(!l)return O("Unknown video");if((!l.format||l.format==="text/html")&&!c)return O("Video does not have format");let u=[],m=n.get(e.annotations||[]);for(let h of m){let v=n.get(h.items||[]);for(let y of v)if((y.motivation?Array.isArray(y.motivation||"")?y.motivation:[y.motivation]:[]).includes("supplementing")){let S=n.get(y.body||[]);for(let g of S){let C=g;if(C.type==="Choice")for(let P of C.items){let A=n.get(P);A.format==="text/vtt"&&u.push({id:A.id,type:"Text",format:"text/vtt",label:A.label,language:A.language})}else C.format==="text/vtt"&&u.push({id:C.id,type:"Text",format:"text/vtt",label:C.label,language:C.language})}}}let d={annotationId:i.annotationId,annotation:i.annotation,duration:e.duration,url:l.id,type:"Video",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:l.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},p=(0,Po.expandTarget)(i.target);p.selector&&p.selector.type==="TemporalBoxSelector"&&(d.target=p.selector);let{selector:f}=(0,Po.parseSelector)(i.selector);if(f===null){let h=d.target.temporal.startTime,y=(d.target.temporal.endTime||e.duration)-h;d.selector={type:"TemporalSelector",temporal:{startTime:0,endTime:y}}}else f.type==="TemporalSelector"&&(d.selector=f);if(o&&!d.target.spatial&&(a=!0,d.target={type:"TemporalBoxSelector",temporal:d.target.temporal,spatial:{x:e.width/2,y:e.height/2,width:e.width/2,height:e.height/2}}),c){d.type="VideoYouTube";let h=l.id.match(pu);if(!h[1])return O("Video is not known youtube video");d.youTubeId=h[1]}return{type:"media",media:d,annotations:{pages:[]},noSpatial:a,captions:u}}var Ws=require("@iiif/helpers");function ui(e,t,n,o){let r={type:"complex-timeline",items:[],keyframes:[],highlights:[],duration:e.duration||0},i={type:"complex-choice",items:[]},a=o.get(e.annotations);function s(u){u.choice&&(u.choice.type==="complex-choice"?i.items.push(...u.choice.items):i.items.push(u.choice))}for(let u of t.items){if(u.type==="image"){let m=wn(e,{choice:null,allChoices:null,types:["image"],items:[u]},n);if(m.type==="images"){if(!m.image)continue;s(m),r.items.push(m.image);let d={id:m.image.annotationId,type:"enter",resourceType:"image",time:m.image.target?.temporal?.startTime||0};r.keyframes.push(d);let p={id:m.image.annotationId,type:"exit",resourceType:"image",time:m.image.target?.temporal?.endTime||e.duration||0};r.keyframes.push(p)}}if(u.type==="textualbody"){let m=Mn(e,{choice:null,allChoices:null,types:["textualbody"],items:[u]});if(m.type==="textual-content"){s(m);let d=m.items[0];r.items.push(d);let p=d.target,f={id:d.annotationId,type:"enter",resourceType:"text",time:p.temporal?.startTime||0};r.keyframes.push(f);let h={id:d.annotationId,type:"exit",resourceType:"text",time:p.temporal?.endTime||e.duration||0};r.keyframes.push(h)}}if(u.type==="video"){let m=kn(e,{choice:null,allChoices:null,types:["video"],items:[u]},o,!0);if(m.type==="media"){s(m);let d=m.media;r.items.push(d);let p={id:d.annotationId,type:"enter",resourceType:"video",time:d.target?.temporal?.startTime||0};r.keyframes.push(p);let f={id:d.annotationId,type:"exit",resourceType:"video",time:d.target?.temporal?.endTime||e.duration||0};r.keyframes.push(f)}}if(u.type==="audio"||u.type==="sound"){let m=Ro(e,{choice:null,allChoices:null,types:["audio"],items:[u]});if(m.type==="media"){s(m);let d=m.media;r.items.push(d);let p={id:d.annotationId,type:"enter",resourceType:"audio",time:d.target?.temporal?.startTime||0};r.keyframes.push(p);let f={id:d.annotationId,type:"exit",resourceType:"audio",time:d.target?.temporal?.endTime||e.duration||0};r.keyframes.push(f)}}}for(let u of a)for(let m of u.items){let d=o.get(m),p=(0,Ws.expandTarget)(d.target,{typeMap:o.getState?.().iiif.mapping});if(p.selector?.temporal){let f={id:d.id,type:"enter",resourceType:"highlight",time:p.selector.temporal.startTime||0};r.keyframes.push(f);let h={id:d.id,type:"exit",resourceType:"highlight",time:p.selector.temporal.endTime||e.duration||0};r.keyframes.push(h)}r.highlights.push({annotation:d,target:p})}r.keyframes.sort((u,m)=>u.time-m.time);let l=[],c=[];for(let u of r.keyframes){if(u.resourceType==="image"||u.resourceType==="text"||u.resourceType==="highlight"){c.push(u);continue}if(u.type==="enter"){l.length===0&&(u.isPrime=!0),l.push(u),c.push(u);continue}if(u.type==="exit"&&(c.push(u),l=l.filter(m=>m.id!==u.id),l.length!==0)){let m=l[0],d={id:m.id,type:"change",isPrime:!0,resourceType:m.resourceType,time:u.time};c.push(d)}}return r.keyframes=c,i.items.length&&(r.choice=i),r}var Ao={},ci={get(e){return e},setMetaValue([e,t,n],o){let r=ci.getResourceMeta(e,t),i=r?r[n]:void 0,a=typeof o=="function"?o(i):o;Ao[e]={...Ao[e]||{},[t]:{...(Ao[e]||{})[t]||{},[n]:a}}},getResourceMeta:(e,t)=>{let n=Ao[e];if(n)return t?n[t]:n},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(n=>n.json())},requestStatus(e){}};function En({canvas:e,paintables:t,supports:n,loadImageService:o,vault:r=ci}){if(!e)return Pn;if(t.types.length===0)return n.indexOf("empty")!==-1?ni(e.width,e.height):Pn;if(t.types.length!==1)if(t.types.length===2&&t.types.indexOf("text")!==-1)t.types=t.types.filter(a=>a!=="text");else return n.indexOf("complex-timeline")===-1?O("Complex timeline not supported"):ui(e,t,o,r);let i=t.types[0];return i==="image"?n.indexOf("images")===-1?O("Image not supported"):wn(e,t,o):i==="Model"||i==="model"?n.indexOf("3d-model")===-1?O("3D not supported"):ai(e,t):i==="textualbody"?n.indexOf("textual-content")===-1?O("Textual content not supported"):Mn(e,t):i==="sound"||i==="audio"?n.indexOf("media")===-1?O("Media not supported"):Ro(e,t):i==="video"?n.indexOf("media")===-1?O("Media not supported"):kn(e,t,r):Pn}function mi(e){let t=$(),n=w(),o=k(),r=gn(),i=e?.emitter||r,[a,s]=In(),{enabledPageIds:l}=Tn(e?.annotationPageManagerId||t?.id||n?.id,{all:!1}),c=ri(l,"AnnotationPage"),u=e?.strategies||["empty","images","media","textual-content","complex-timeline"],[m,d]=ii(e,[s]);(0,Wt.useEffect)(()=>{let f=h=>{d.makeChoice(h.choiceId,{deselectOthers:h.deselectOthers,deselect:h.deselect})};return i.on("make-choice",f),()=>{i.off("make-choice",f)}},[]);let p=(0,Wt.useMemo)(()=>En({canvas:n,paintables:m,supports:u,loadImageService:a,vault:o}),[n,m,o,d.makeChoice]);return(0,Wt.useEffect)(()=>{let f=m.allChoices,h={canvasId:n?.id,manifestId:t?.id};f&&i.emit("choice-change",{choice:f,partOf:h})},[n?.id,m.allChoices]),(0,Wt.useMemo)(()=>p.type==="unknown"?[p,ti]:[{...p,annotations:{pages:c}},d],[p,c])}var Us=require("@iiif/helpers");var di=require("react/jsx-runtime");function pi({strategies:e,registerActions:t,defaultChoices:n,onChoiceChange:o,mediaControlsDeps:r,renderMediaControls:i,renderViewerControls:a,viewControlsDeps:s,renderComplexTimelineControls:l,complexTimelineControlsDeps:c,throwOnUnknown:u,children:m}){let d=w(),p=k(),f=(0,Je.useMemo)(()=>(0,Us.createStylesHelper)(p),[p]),[h,v]=mi({strategies:e||["images"],defaultChoices:n?.map(({id:g})=>g)}),y="choice"in h?h.choice:void 0;if((0,Je.useEffect)(()=>{t&&t(v)},[h.annotations]),(0,Je.useEffect)(()=>{o&&o(y)},[y]),(0,Je.useEffect)(()=>{if(n)for(let g of n)typeof g.opacity<"u"&&f.applyStyles({id:g.id},"atlas",{opacity:g.opacity})},[n]),h.type==="unknown"&&u)throw new Error(h.reason||"Unknown strategy");let R=(0,Je.useMemo)(()=>({renderMediaControls:i,mediaControlsDeps:r||[],renderViewerControls:a,viewControlsDeps:s||[],renderComplexTimelineControls:l,complexTimelineControlsDeps:c||[]}),[r,i,a,s,l,c]),S=(0,Je.useMemo)(()=>({strategy:h,actions:v,choices:"choice"in h?h.choice:[]}),[h,d]);return(0,di.jsx)(ln.Provider,{value:R,children:(0,di.jsx)(Ye.Provider,{value:S,children:m})})}var Nn=require("react"),gi=require("zustand");var Ut=require("react");var fi=(0,Ut.createContext)(()=>{});function _s(e){let t=w(),n=(0,Ut.useContext)(fi);(0,Ut.useEffect)(()=>t&&t.id?(n(t.id,e),()=>n(t.id,-1)):()=>{},[t,e])}var Ys=require("react/jsx-runtime");function hi({x:e=0,y:t=0,keepCanvasScale:n=!0,renderContextMenu:o,children:r}){let{strategy:i}=H(),a=w(),s=L(),l=on(a,["deep-zoom"]),c=(0,gi.useStore)(s,h=>h.setCanvasRelativePosition),u=(0,gi.useStore)(s,h=>h.clearCanvasRelativePosition),[m,d]=Cn(`context-menu/${a?.id}`,a?.id,o),p=(0,Nn.useMemo)(()=>n?1:Math.max(1,...i.type==="images"?i.images.map(h=>(h.width||0)/h.target?.spatial.width):[]),[n,i]);(0,Nn.useEffect)(()=>{if(a)return c(a.id,{x:e,y:t,width:a.width,height:a.height}),()=>{u(a.id)}},[e,t,a,u,c]),(0,Nn.useEffect)(()=>{a&&s.getState().reset()},[s,a]),_s(p);let f=i.type==="images"?i.images.length:0;return a?(0,Ys.jsxs)("world-object",{height:a.height,width:a.width,x:e,y:t,...d,...l,children:[m,r]},`${a.id}/${i.type}/${f}`):null}var le=require("react/jsx-runtime");function ft({x:e,y:t,onChoiceChange:n,registerActions:o,defaultChoices:r,isStatic:i,renderViewerControls:a,renderMediaControls:s,renderComplexTimelineControls:l,complexTimelineControlsDeps:c,viewControlsDeps:u,mediaControlsDeps:m,strategies:d,throwOnUnknown:p,rotation:f,backgroundStyle:h,alwaysShowBackground:v,keepCanvasScale:y=!1,enableSizes:R=!1,enableYouTube:S=!0,onClickPaintingAnnotation:g,components:C={},children:P,annotationPopup:A,svgTheme:T,renderContextMenu:z,renderAnnotationContextMenu:Y}){return(0,le.jsxs)(pi,{throwOnUnknown:p,onChoiceChange:n,registerActions:o,strategies:d,defaultChoices:r,mediaControlsDeps:m,renderMediaControls:s,renderViewerControls:a,renderComplexTimelineControls:l,complexTimelineControlsDeps:c,viewControlsDeps:u,children:[(0,le.jsxs)(hi,{keepCanvasScale:y,x:e,y:t,renderContextMenu:z,children:[(0,le.jsx)(_r,{alwaysShowBackground:v,backgroundStyle:h}),(0,le.jsx)(Ur,{}),(0,le.jsx)(Gr,{}),(0,le.jsx)(Yr,{isStatic:i,enableSizes:R,onClickPaintingAnnotation:g,rotation:f}),(0,le.jsx)(wr,{}),(0,le.jsx)(Cr,{}),(0,le.jsx)(Er,{as:C.Audio}),(0,le.jsx)(jr,{as:C.Video}),S?(0,le.jsx)(Qr,{}):null,(0,le.jsx)(ei,{theme:T,renderContextMenu:Y,children:A}),P]}),(0,le.jsx)(Rr,{})]})}var yi=require("react/jsx-runtime");function Gs(e){let t=w();return!t||!t.placeholderCanvas?null:(0,yi.jsx)(pe,{canvas:t.placeholderCanvas.id,children:(0,yi.jsx)(ft,{renderViewerControls:e.renderViewerControls})})}var js=require("@atlas-viewer/atlas"),oe=J(require("react"),1),Qs=require("react-error-boundary"),vi=require("zustand");var To=require("react");function Ks(e,t=2e3){let{currentSequenceIndex:n,sequence:o,items:r}=it(),i=w(),a=(0,To.useMemo)(()=>{let l=o[n]||[];return l.length===0&&i?[{id:i.id,type:"Canvas"}]:l.map(c=>r[c])},[o,n,i,r]),s=L();(0,To.useEffect)(()=>{let c=setInterval(()=>{if(e&&t!==-1){let u={x:e.x,y:e.y,width:e.width,height:e.height},m=s.getState().canvasRelativePositions,d={};for(let p of a){let f=m[p.id];if(f){let h=f.x,v=f.y,y=f.width,R=f.height,S={x:Math.max(h,u.x),y:Math.max(v,u.y),width:Math.min(h+y,u.x+u.width)-Math.max(h,u.x),height:Math.min(v+R,u.y+u.height)-Math.max(v,u.y)};S.width<=0||S.height<=0||(d[p.id]={x:S.x-f.x,y:S.y-f.y,width:S.width,height:S.height}),s.setState({canvasViewports:d})}}}},t);return()=>{clearTimeout(c)}},[a,e,s,t])}var _t=require("react/jsx-runtime");function Io({width:e,style:t,height:n,error:o,resetErrorBoundary:r}){return(0,_t.jsxs)("div",{style:{width:e,height:n,minHeight:500,...t||{},background:"#f9f9f9"},children:[(0,_t.jsx)("h3",{children:"Error occurred"}),(0,_t.jsx)("p",{children:o.message}),(0,_t.jsx)("button",{type:"button",onClick:r,children:"Reset"})]})}var B=require("react/jsx-runtime");function wo(e){let t=L(),n=(0,oe.useMemo)(()=>e.name||Math.random().toString(36).substring(2,9),[e.name]);return(0,B.jsx)(bs,{identifier:n,children:(0,B.jsx)(Nt,{name:e.name,existing:t,children:(0,B.jsx)(fu,{...e})})})}function fu({name:e,children:t,errorFallback:n,outerContainerProps:o={},worldScale:r,updateViewportTimeout:i,...a}){let s=L(),l=xo(),c=(0,vi.useStore)(s,I=>I.mode),u=(0,vi.useStore)(s,I=>I.setAtlasRuntime),[m,d]=(0,oe.useState)(),p=vn(),f=Sn(),h=n||Io,[v,y]=(0,oe.useState)({}),R=Object.entries(v),[S,g]=(0,oe.useState)({}),C=Object.entries(S),[P,A]=(0,oe.useState)({}),{worldScale:T,runtimeOptions:z}=(0,oe.useMemo)(()=>{if(Object.values(P).length===0)return{worldScale:1,runtimeOptions:a.runtimeOptions||{maxOverZoom:1}};let E=Math.max(...Object.values(P));return{worldScale:E,runtimeOptions:{maxOverZoom:E||1,...a.runtimeOptions||{}}}},[P,a.runtimeOptions]);Ks(m?.runtime,i);let Y=(0,oe.useCallback)((I,E)=>{A(D=>{if(E===-1){let{[I]:Te,...tt}=D;return tt}return{...D,[I]:E}})},[]),ue=(0,oe.useCallback)((I,E,D)=>{y(({[I]:Te,...tt})=>E?{...tt,[I]:{element:E,props:D}}:tt)},[]),q=(0,oe.useCallback)((I,E,D)=>{g(({[I]:Te,...tt})=>E?{...tt,[I]:{element:E,props:D}}:tt)},[]),M=(0,oe.useCallback)(I=>{d(I),u(I.runtime),a.onCreated&&a.onCreated(I)},[a.onCreated,u]);return(0,B.jsxs)(Qs.ErrorBoundary,{resetKeys:[],fallbackRender:I=>(0,B.jsx)(h,{...a,...I}),children:[(0,B.jsx)(js.AtlasAuto,{...a,mode:c,containerProps:{style:{position:"relative"},...a.containerProps||{}},htmlChildren:(0,B.jsx)(B.Fragment,{children:R.map(([I,{element:E,props:D}])=>(0,B.jsx)(oe.default.Fragment,{children:(0,B.jsx)(E,{...D||{}})},I))}),onCreated:M,runtimeOptions:z,children:(0,B.jsx)(Nt,{name:e,existing:s,children:(0,B.jsx)(Pe.Provider,{value:m,children:(0,B.jsx)(fi.Provider,{value:Y,children:(0,B.jsx)(vr.Provider,{value:ue,children:(0,B.jsx)(Sr.Provider,{value:q,children:(0,B.jsx)(xn,{bridge:f,custom:p,children:(0,B.jsx)(Ir,{children:t})})})})})})})}),(0,B.jsx)("div",{children:C.map(([I,{element:E,props:D}])=>(0,B.jsx)(oe.default.Fragment,{children:(0,B.jsx)(E,{...D||{}})},I))}),(0,B.jsx)("div",{id:`atlas-floating-ui-${l}`,className:"atlas-floating-ui",style:{position:"relative",zIndex:999999}})]})}var re=require("react/jsx-runtime"),gu=(0,bt.forwardRef)(function(t,n){let o=$(),r=ot(),i=it(),{ViewerControls:a,MediaControls:s,ComplexTimelineControls:l}=t.components||{};if((0,bt.useImperativeHandle)(n,()=>i,[i]),!o)return(0,re.jsx)("div",{});let c=0,u=o.viewingDirection==="top-to-bottom",m=o.viewingDirection==="bottom-to-top",d=o.viewingDirection==="left-to-right",p=o.viewingDirection==="right-to-left",h=o.behavior.includes("continuous")?0:t.spacing||0,v=m||p,y=(0,bt.useMemo)(()=>v?[...r].reverse():r,[r,v]);return(0,re.jsxs)(re.Fragment,{children:[t.header,(0,re.jsx)(G.Viewer,{height:t.height,mode:t.mode,renderPreset:t.renderPreset,runtimeOptions:t.runtimeOptions,updateViewportTimeout:t.updateViewportTimeout,homePaddingPx:t.padding,children:y.map((R,S)=>{let g=0,C=0;return!u&&!m?(g=c,c+=R.width+h):(C=c,c+=R.height+h),(0,re.jsx)(pe,{canvas:R.id,children:(0,re.jsx)(G.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content","complex-timeline"],renderViewerControls:S===0&&a?()=>(0,re.jsx)(a,{}):void 0,renderMediaControls:S===0&&s?()=>(0,re.jsx)(s,{}):void 0,annotationPopup:t.annotationPopup,renderContextMenu:t.renderContextMenu,keepCanvasScale:t.keepCanvasScale,renderComplexTimelineControls:S===0&&l?()=>(0,re.jsx)(l,{}):void 0,renderAnnotationContextMenu:t.renderAnnotationContextMenu,x:g,y:C,svgTheme:t.svgTheme,rotation:t.rotation,...t.canvasProps||{},children:t.annotations},R.id)},R.id)})},t.reuseAtlas?"":i.currentSequenceIndex),t.children]})}),G=(0,bt.forwardRef)(function({children:t,height:n,annotations:o,canvasProps:r,spacing:i,header:a,components:s,mode:l,reuseAtlas:c,renderPreset:u,runtimeOptions:m,annotationPopup:d,name:p,svgTheme:f,updateViewportTimeout:h,renderContextMenu:v,keepCanvasScale:y,renderAnnotationContextMenu:R,padding:S,rotation:g,...C},P){let A=Ee();return(0,re.jsx)(Nt,{name:p,children:(0,re.jsx)(ke,{vault:A,children:(0,re.jsx)(or,{...C,children:(0,re.jsx)(gu,{ref:P,height:n,components:s,spacing:i,canvasProps:r,annotations:o,header:a,mode:l,reuseAtlas:c,renderPreset:u,runtimeOptions:m,annotationPopup:d,svgTheme:f,updateViewportTimeout:h,renderContextMenu:v,keepCanvasScale:y,renderAnnotationContextMenu:R,padding:S,rotation:g,children:t})})})})});G.RenderImage=Xe;G.RenderCanvas=ft;G.RenderAnnotationPage=Ue;G.RenderAnnotation=mt;G.Viewer=wo;G.CanvasBackground=mo;G.Audio=Qn;G.Video=fo;G.Model=Jn;G.AudioHTML=xr;G.VideoHTML=Kr;G.ModelHTML=br;G.PlaceholderCanvas=Gs;G.getAtlasStoreByName=lr;var Xs=require("react");var he=require("react"),Ct=require("zustand");function Si(e){let[t,n]=(0,he.useState)(0),o=L(),r=(0,Ct.useStore)(o,C=>C.tool.enabled),i=(0,Ct.useStore)(o,C=>C.tool.requestId),a=(0,Ct.useStore)(o,C=>C.getRequestId),s=(0,Ct.useStore)(o,C=>C.requestAnnotation),l=(0,Ct.useStore)(o,C=>C.completeRequest),c=(0,Ct.useStore)(o,C=>C.cancelRequest),u=(0,he.useRef)(e?.onSuccess);u.current=e?.onSuccess;let[m,d]=(0,he.useState)(!1),[p,f]=(0,he.useState)(null),[h,v]=(0,he.useState)(null),y=r&&i!==h,R=r&&i===h,S=(0,he.useCallback)(async(C,P)=>{if(h){let A=u.current;d(!0);let T=await s(C,{...P,requestId:h});if(T)return A?.(T),n(Y=>Y+1),d(!1),f(T),T;let z={id:h,cancelled:!0,...en(C)};return A?.(z),f(z),n(Y=>Y+1),d(!1),z}return null},[s,h]),g=(0,he.useCallback)(()=>{f(null),d(!1)},[]);return(0,he.useEffect)(()=>{let C=a();return v(C.requestId),()=>{C.clear()}},[t]),{id:t,busy:y,isPending:m,isActive:R,requestId:h,requestAnnotation:S,cancelRequest:()=>h?c(h):void 0,completeRequest:()=>h?l(h):void 0,reset:g,data:p}}var hu=[{name:"Default",outer:{borderWidth:4,borderColor:"rgba(255, 255, 255, .4)"},inner:{borderWidth:2,borderColor:"#000"}},{name:"High contrast",outer:{borderWidth:3,borderColor:"#fff"},inner:{borderWidth:1,borderColor:"#000"}},{name:"Lightsaber",outer:{borderWidth:"4",borderColor:"rgba(56,68,255,0.64)"},inner:{borderWidth:"2",borderColor:"#fff"}},{name:"Bright",outer:{borderWidth:"6",borderColor:"#25d527"},inner:{borderWidth:"3",borderColor:"#a916ff"}},{name:"pink",outer:{borderWidth:"4",borderColor:"#ff00ff"},inner:{borderWidth:"2",borderColor:"#ffffff"}},{name:"fine (dark)",outer:{borderWidth:"1",borderColor:"#000000"},inner:{}},{name:"fine (light)",outer:{borderWidth:"1",borderColor:"#FFF"},inner:{}}];function xi(e){let{id:t,data:n,requestAnnotation:o,cancelRequest:r,isPending:i}=Si({onSuccess:a=>{e.updateShape(a.polygon)}});return(0,Xs.useEffect)(()=>(o({type:"polygon",open:e.shape?.open,points:e.shape?.points}),()=>{r()}),[]),null}var Z=require("react"),bi=J(require("mitt"),1),Zs=require("react/jsx-runtime"),Mo=(0,Z.createContext)((0,bi.default)());Mo.displayName="SelectorHelper";function yu({children:e}){return(0,Zs.jsx)(Mo.Provider,{value:(0,Z.useMemo)(()=>(0,bi.default)(),[]),children:e})}function vu(){return(0,Z.useContext)(Mo)}function Ci(e){let t=Ri(),[n,o]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>t.withSelector(e).on("highlight",()=>{o(!0)}),[t,e]),(0,Z.useEffect)(()=>t.withSelector(e).on("clear-highlight",()=>{o(!1)}),[t,e]);let r=(0,Z.useCallback)(a=>{t.emit("click",{selectorId:e,event:a})},[e,t]),i=(0,Z.useCallback)(a=>{t.emit("hover",{selectorId:e,event:a})},[e,t]);return{controller:t,onClick:r,onHover:i,isHighlighted:n}}function Ri(){let e=(0,Z.useContext)(Mo);return(0,Z.useMemo)(()=>({withSelector(t){return{on(n,o){let r=i=>{i&&i.selectorId===t&&o(i)};return e.on(n,r),()=>{e.off(n,r)}},emit(n,o){e.emit(n,{...o,selectorId:t})}}},on(t,n){return e.on(t,n),()=>{e.off(t,n)}},emit(t,n){e.emit(t,n)}}),[e])}function Su(){let e=Ri();return(0,Z.useMemo)(()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(n,o){return e.emit("event-listener",{selectorId:t,name:n,callback:o}),()=>{e.emit("remove-event-listener",{selectorId:t,name:n,callback:o})}},getImagePreview(){return new Promise((n,o)=>{e.emit("image-preview-request",{selectorId:t,resolve:n,reject:o})})},on(n,o){return e.withSelector(t).on(n,o)}}},highlight(t){e.emit("highlight",{selectorId:t})},clearHighlight(t){e.emit("clear-highlight",{selectorId:t})},zoomTo(t){e.emit("zoom-to",{selectorId:t})},addEventListener(t,n,o){return e.emit("event-listener",{selectorId:t,name:n,callback:o}),()=>{e.emit("remove-event-listener",{selectorId:t,name:n,callback:o})}},getImagePreview(t){return new Promise((n,o)=>{e.emit("image-preview-request",{selectorId:t,resolve:n,reject:o})})},on(t,n){return e.on(t,n)}}),[e])}var Pi=require("react/jsx-runtime");function xu(e){let t=w(),n=e.annotationBucket,o=e.readOnly,r=e.id,{onClick:i,isHighlighted:a}=Ci(e.id),s=tn(),l=a?s.highlighted:s[n||"hidden"]||s.hidden;if(!t)return null;if(o){let c="shape",u=e.polygon,m=u.open;return u?(0,Pi.jsx)(c,{id:`shape-${r}`,points:u.points,open:m,onClick:i,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:l}):null}return(0,Pi.jsx)(xi,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}var Js=require("@atlas-viewer/atlas");var ko=require("react"),Vn=require("react/jsx-runtime"),bu=(0,ko.forwardRef)(function({canvasId:t},n){let o=(0,Js.useCanvas)(),r=Tn(t||o?.id),i=k();return(0,ko.useImperativeHandle)(n,()=>r,[t,o]),!o||r.enabledPageIds.length===0?null:(0,Vn.jsx)(Vn.Fragment,{children:r.enabledPageIds.map(a=>(0,Vn.jsx)(G.RenderAnnotationPage,{page:i.get(a)},a))})});var tl=require("react");var el=require("react");var _=require("react/jsx-runtime");function Ln({metadata:e=[],config:t,labelWidth:n=16,showEmptyMessage:o=!0,allowHtml:r,emptyFallback:i,classes:a={},emptyMessage:s="No metadata available",emptyValueFallback:l="No value",emptyLabelFallback:c="",separator:u,tableFooter:m,tableHeader:d,customLabelRender:p,customValueRender:f}){let h=(0,el.useMemo)(()=>{let y=(t||[]).reduce((S,g)=>[...S,...g.keys],[]),R={};for(let S of e){let g=S?.label?Object.values(S.label):[];for(let C of g)if(C?.length&&(y.indexOf(`metadata.${C[0]}`)!==-1||y.length===0)&&S){let P=`metadata.${C[0]}`;R[P]=R[P]?R[P]:[],R[P].push(S);break}}return R},[t,e]);return Object.keys(h).length===0&&o?(0,_.jsx)(_.Fragment,{children:i})||(0,_.jsx)("div",{className:a.empty,children:s}):t?.length?(0,_.jsxs)("table",{className:a.container,children:[d,(0,_.jsx)("tbody",{children:t.map((y,R)=>{let S=[];for(let C of y.keys)for(let P of h[C]||[]){let A=(0,_.jsx)(de,{enableDangerouslySetInnerHTML:r,defaultText:l,separator:u,children:P.value},R+"__"+C);f?S.push(f(P,A)):S.push(A)}if(S.length===0)return null;let g=(0,_.jsx)(de,{enableDangerouslySetInnerHTML:r,separator:u,defaultText:c,children:y.label});return(0,_.jsxs)("tr",{className:a.row,children:[(0,_.jsx)("td",{className:a.label,style:n?{minWidth:n}:{},children:p?p(y.label,g):g}),(0,_.jsx)("td",{className:a.value,children:S})]},R)})}),m]}):(0,_.jsxs)("table",{className:a.container,children:[d,(0,_.jsx)("tbody",{children:e?.length?e.map((y,R)=>{if(!y)return null;let S=(0,_.jsx)(de,{enableDangerouslySetInnerHTML:r,defaultText:l,separator:u,children:y.label}),g=(0,_.jsx)(de,{enableDangerouslySetInnerHTML:r,defaultText:l,separator:u,children:y.value});return(0,_.jsxs)("tr",{className:a.row,children:[(0,_.jsx)("td",{className:a.label,style:n?{minWidth:n}:{},children:p?p(y.label,S):S}),(0,_.jsx)("td",{className:a.value,children:f?f(y,g):g})]},R)}):null}),m]})}var nl=require("react/jsx-runtime");function Cu(e){let t=$(),n=w(),o=Qt(),r=(0,tl.useMemo)(()=>{let i=t?.metadata||[],a=n?.metadata||[],s=o?.metadata||[];return[...i,...a,...s]},[t,n,o]);return(0,nl.jsx)(Ln,{metadata:r,...e})}var Vo=require("react");var Eo=require("@iiif/parser/image-3"),ol=require("react");function No(e,t={},n=[]){return(0,ol.useMemo)(()=>{if(!e)return null;let o=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(o="default"));let r=(0,Eo.createImageServiceRequest)(e);return(0,Eo.imageServiceRequestToString)({identifier:r.identifier,server:r.server,scheme:r.scheme,type:"image",size:{max:!t.size?.width&&!t.size?.height,confined:!1,upscaled:!1,...t.size||{}},format:t.format||"jpg",region:t.region||{full:!0},rotation:t?.rotation?Number.isInteger(t.rotation)?{angle:t.rotation}:t.rotation:{angle:0},quality:o||"default",prefix:r.prefix,originalPath:r.originalPath})},[...n])}var zn=require("react/jsx-runtime");function Ru(e){let t=typeof e.src=="string"?e.src:e.src.id,n=un(),[o,r]=(0,Vo.useState)(!1),i;if(t){let s=n.loadServiceSync({id:t});s&&(i=s)}!i&&!o&&n.loadService({id:t}).then(()=>{r(!0)});let a=No(i,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[o,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return(0,Vo.useEffect)(()=>()=>{r(!1)},[t]),a?(0,zn.jsx)("img",{src:a,alt:e.alt,className:e.className,style:e.style}):(0,zn.jsx)(rl,{...e,fetchImageService:!1})}function rl(e){if(e.fetchImageService)return(0,zn.jsx)(Ru,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,n=No(t,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return n?(0,zn.jsx)("img",{src:n,alt:e.alt,className:e.className,style:e.style}):null}var Lo=require("react"),il=require("react-error-boundary");var De=require("react/jsx-runtime");function Pu({src:e,errorFallback:t,interactive:n,skipSizes:o,children:r,renderViewerControls:i,viewControlsDeps:a,fluid:s,x:l,y:c,...u}){let m=Ee(),[d,p]=(0,Lo.useState)(),f=t||Io,[h,v]=In(),y=(0,Lo.useMemo)(()=>{let S=v[e]?.status,g=h({id:e},{});return g?.height&&g.width&&S!=="loading"?{id:e,width:g.width,height:g.height,service:g,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:g.width,height:g.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:g.width,height:g.height}}}:null},[h,e,v]);if(!y||!y.height||!y.width)return null;let R=s?void 0:u.homePosition?u.homePosition.width/u.homePosition.height:y.width/y.height;return(0,De.jsx)(il.ErrorBoundary,{resetKeys:[],fallbackRender:S=>(0,De.jsx)(f,{...u,...S}),children:(0,De.jsx)(ke,{vault:m,children:(0,De.jsx)(wo,{...u,aspectRatio:R,containerProps:{style:{position:"relative"},...u.containerProps||{}},onCreated:S=>{p(S),u.onCreated&&u.onCreated(S)},children:(0,De.jsxs)(Pe.Provider,{value:d,children:[(0,De.jsx)(Xe,{image:y,id:y.id,isStatic:!n,x:l,y:c},y.id),(0,De.jsx)(Au,{viewerPreset:d,renderViewerControls:i,image:y,src:e,viewControlsDeps:a}),r]})})})})}function Au({viewerPreset:e,renderViewerControls:t,image:n,src:o,viewControlsDeps:r}){return X(e&&t?"overlay":"none",`canvas-portal-controls-${o}`,Pe.Provider,t&&n?{value:e||null,children:t({image:n,images:[n],type:"images"})}:{},[o,e,...r||[]]),null}var al=require("react/jsx-runtime");function Tu(e){let t=$();return(0,al.jsx)(Ln,{metadata:t?.metadata||[],...e})}var zo=require("react");var Ai=J(require("react-lazy-load-image-component"),1);var sl=require("@iiif/helpers/i18n"),me=require("react/jsx-runtime"),{LazyLoadComponent:Iu}=Ai||Ai.default;function Ti(e){let{size:t,visible:n,classes:o,canvasId:r,figure:i}=e,a=t?.width||128,s=t?.height||t?.width||128,l=(0,me.jsx)(wu,{...e}),c=(0,me.jsx)(Iu,{threshold:300,style:{height:s,width:a},visibleByDefault:n,children:r?(0,me.jsx)(pe,{canvas:r,children:l}):l});return i?(0,me.jsx)("figure",{className:o?.figure,children:c}):c}function wu({fallback:e,size:t,classes:n,showLabel:o,alt:r,dereference:i=!1}){let a=w(),s=t?.width||128,l=t?.height||t?.width||128,c=r||(0,sl.getValue)(a?.label)||"",u=ze({width:s,height:l,allowUnsafe:!0},i);return!u||u.type!=="fixed"?(0,me.jsx)(me.Fragment,{children:e}):(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("div",{className:n?.imageWrapper,children:(0,me.jsx)("img",{className:n?.img,src:u.id,alt:c})}),o?(0,me.jsx)(de,{as:"figcaption",className:n?.label,children:a?.label}):null]})}var Yt=require("react/jsx-runtime");function Mu({scrollBehaviour:e,dereference:t,flat:n,size:o,classes:r={},showLabel:i,figure:a,fallback:s}){let l=(0,zo.useRef)(null),{items:c,sequence:u,currentSequenceIndex:m,setSequenceIndex:d}=it(),p={row:r.selected?.row||r.row,item:r.selected?.item||r.item,figure:r.selected?.figure||r.figure,img:r.selected?.img||r.img,label:r.selected?.label||r.label,imageWrapper:r.selected?.imageWrapper||r.imageWrapper};(0,zo.useLayoutEffect)(()=>{if(!l.current)return;let h=l.current.querySelector("[data-selected=true]");h&&h.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[m]);let f=[];for(let h of u){let v=[],y=u[m]===h;for(let R of h){let S=c[R];v.push((0,Yt.jsx)("div",{className:y?p.item:r.item,children:(0,Yt.jsx)(Ti,{classes:y?p:r,canvasId:S.id,size:o,dereference:t,showLabel:i,figure:a,placeholder:(0,Yt.jsx)("div",{style:{height:128,width:128}}),fallback:s})},R))}if(n){f.push(v);continue}f.push((0,Yt.jsx)("div",{onClick:R=>{d(u.indexOf(h))},"data-selected":y,className:y?p.row:r.row,children:v},h.join("-")))}return(0,Yt.jsx)("div",{ref:l,className:r.container,children:f})}var On=require("zustand");function Ii(){let e=L(),t=(0,On.useStore)(e,i=>i.completeRequest),n=(0,On.useStore)(e,i=>i.polygonState.currentTool),o=(0,On.useStore)(e,i=>i.polygonState.selectedStamp),r=(0,On.useStore)(e,i=>i.switchTool);return{completeRequest:t,currentTool:n,selectedStamp:o,switchTool:r}}var j=require("react/jsx-runtime"),ku={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function Eu({showShapes:e=!0,enabled:t=ku,classNames:n={},icons:o={}}){let{currentTool:r,switchTool:i,selectedStamp:a}=Ii();return(0,j.jsxs)(j.Fragment,{children:[r,(0,j.jsx)("button",{className:n.button,onClick:i.pointer,"data-active":r==="pointer",children:o.PointerIcon||"Pointer"}),(0,j.jsx)("button",{className:n.button,onClick:i.hand,"data-active":r==="hand",children:o.HandIcon||"Hand"}),e?(0,j.jsxs)(j.Fragment,{children:[t.box&&(0,j.jsx)("button",{className:n.button,onClick:i.box,"data-active":r==="box",children:o.BoxIcon||"Box"}),t.pen&&(0,j.jsx)("button",{className:n.button,onClick:i.pen,"data-active":r==="pen",children:o.PenIcon||"Pen"}),t.draw&&(0,j.jsx)("button",{className:n.button,onClick:i.draw,"data-active":r==="pencil",children:o.DrawIcon||"Draw"}),t.line&&(0,j.jsx)("button",{className:n.button,onClick:i.line,"data-active":r==="line",children:o.LineIcon||"Line"}),t.lineBox&&(0,j.jsx)("button",{className:n.button,onClick:i.lineBox,"data-active":r==="lineBox",children:o.LineBoxIcon||"LineBox"}),t.triangle&&(0,j.jsx)("button",{className:n.button,onClick:i.triangle,"data-active":r==="stamp"&&a?.id==="triangle",children:o.TriangleIcon||"Triangle"}),t.hexagon&&(0,j.jsx)("button",{className:n.button,onClick:i.hexagon,"data-active":r==="stamp"&&a?.id==="hexagon",children:o.HexagonIcon||"Hexagon"}),t.circle&&(0,j.jsx)("button",{className:n.button,"data-active":r==="stamp"&&a?.id==="circle",onClick:i.circle,children:o.CircleIcon||"Circle"})]}):null,t.delete&&(0,j.jsx)("button",{className:n.button,onClick:i.remove,children:o.DeleteForeverIcon||"Delete"})]})}var ll=require("react/jsx-runtime");function Nu({annotation:e,children:t}){return(0,ll.jsx)(ie,{value:{annotation:e},children:t})}var ul=require("react/jsx-runtime");function Vu({annotationPage:e,children:t}){return(0,ul.jsx)(ie,{value:{annotationPage:e},children:t})}var cl=require("react/jsx-runtime");function Lu({collection:e,children:t}){return(0,cl.jsx)(ie,{value:{collection:e},children:t})}function zu(e,t={}){return qe(t)}var ml=require("@atlas-viewer/atlas"),et=require("react");function Ou({canvasId:e}={}){let t=(0,ml.useCanvas)(),n=ot(),o=(0,et.useMemo)(()=>e?[e]:t?[t.id]:n.map(c=>c.id),[e,t,n]),[r,i]=(0,et.useState)({}),a=gn();(0,et.useEffect)(()=>{let c=u=>{let m=u.partOf.canvasId;m&&i(d=>({...d,[m]:u.choice}))};return a.on("choice-change",c),()=>{a.off("choice-change",c)}},[]);let s=(0,et.useMemo)(()=>{let c=[];for(let u of o){let m=r[u];m&&c.push({canvasId:u,choice:m})}return c},[o,r]),l=(0,et.useMemo)(()=>({makeChoice:(c,u)=>{a.emit("make-choice",{choiceId:c,...u})}}),[a]);return{choices:s,actions:l}}function Bu(e,t=!1){}function qu(e){let n=ee().manifest,o=e?e.map(r=>typeof r=="string"?r:r?.id):[];return V(r=>{let i=n?r.iiif.entities.Manifest[n]:void 0,a=i?.items||[];if(typeof e>"u")return a;let s=[];for(let l of i?.items||[])o.indexOf(l.id)!==-1&&s.push(l);return s},[o.join("/")])}var dl=require("react");function Hu(e,t=[]){let{id:n,selector:o}=e,r=ee(),i=n||r.collection,a=V(s=>i?s.iiif.entities.Collection[i]:void 0,[i]);return(0,dl.useMemo)(()=>{if(a)return o?o(a):a},[a,o,...t])}var Oo=require("react"),wi=require("zustand");function Du(){let e=L(),t=(0,wi.useStore)(e,o=>o.completeRequest),n=(0,wi.useStore)(e,o=>o.cancelRequest);return(0,Oo.useMemo)(()=>({saveAnnotation:()=>{(0,Oo.startTransition)(()=>{t()})},cancelRequest:n}),[t,n])}var pl=require("react"),Bo=require("zustand");function Fu({requestId:e}={}){let t=L(),n=(0,Bo.useStore)(t,s=>s.metadata),o=(0,Bo.useStore)(t,s=>s.tool.requestId),r=e||o,i=(0,Bo.useStore)(t,s=>s.setMetadata),a=(0,pl.useCallback)(s=>i(s,r||void 0),[i,r]);return[r?n[r]||{}:{},a]}var fl=require("zustand");function $u(e){let t=L(),n=(0,fl.useStore)(t,o=>o.tool.requestId);lt("polygons.start-transition",o=>{e.requestId&&n!==e.requestId||e?.onStart?.(o.transitionIntent)},[n,e.requestId]),lt("polygons.end-transition",o=>{e.requestId&&n!==e.requestId||e?.onEnd?.(o.transitionIntent,o.response)},[n,e.requestId]),lt("polygons.transition",o=>{e.requestId&&n!==e.requestId||e?.onTransition?.(o.transitionIntent)},[n,e.requestId])}var qo=require("react"),gl=require("@iiif/helpers/events");function Wu(e,t,n,o,r=[]){let i=k(),a=(0,qo.useMemo)(()=>(0,gl.createEventsHelper)(i),[i]);(0,qo.useEffect)(()=>{let s=e;return s?(a.addEventListener(s,t,n,o),()=>{a.removeEventListener(s,t,n)}):()=>{}},[a,e,t,...r])}function Uu(e,t){let{id:n,isLoaded:o,error:r,resource:i,requestId:a,cached:s}=jt(e,t);return{id:n,isLoaded:o,error:r,manifest:i,requestId:a,cached:s}}var Mi=require("@iiif/parser/image-3");var Me=require("react");function ki({cacheKey:e}={}){let t=w(),n=qe(),o=k(),r=Bt(),i=ja(),[a,s]=(0,Me.useState)(void 0),[l,c]=(0,Me.useState)(!1),[u,m]=(0,Me.useState)("idle"),[d,p]=(0,Me.useState)(void 0),f=t?t.id:"undefined",h=(0,Me.useMemo)(()=>{try{if(t&&n.length){let y=n[0],R=o.get(y.body[0]),g=(0,Mi.getImageServices)(R)[0];return g&&r(g,{width:g.width||t.width,height:g.height||t.height},!0)||void 0}}catch(y){console.error(y)}},[f,e,t]),v=u==="success"&&a?a:h;return(0,Me.useEffect)(()=>{(async()=>{try{if(t&&n.length){let y=n[0],R=o.get(y.body[0]),g=(0,Mi.getImageServices)(R)[0];if(!g)return;c(!0),m("loading");try{let C=await i(g,{width:g.width||t.width,height:g.height||t.height})||void 0;s(C),m("success"),c(!1)}catch(C){m("error"),p(C)}}}catch(y){m("error"),p(y)}})()},[f,e]),(0,Me.useMemo)(()=>({data:v,isFetching:l,status:u,error:d}),[v,l,u,d])}function _u(){let e=ki();return{isLoading:e.isFetching,tile:e.data?{id:e.data.id||e.data["@id"],width:e.data.width,height:e.data.height,imageService:e.data,thumbnail:void 0}:null}}var Ho=require("react");var hl=require("@iiif/helpers");function Yu({supports:e=["empty","images","media","3d-model","textual-content","complex-timeline"]}={}){let t=k(),n=w(),o=qe(),r=(0,Ho.useMemo)(()=>(0,hl.createPaintingAnnotationsHelper)(t),[t]),i=(0,Ho.useMemo)(()=>r.getPaintables(o),[r,o]);return(0,Ho.useMemo)(()=>En({canvas:n,loadImageService:a=>a,paintables:i,supports:e}),[n,i,e])}var yl=require("@iiif/helpers/styles"),vl=require("react");function Gu(){let e=k();return(0,vl.useMemo)(()=>(0,yl.createStylesHelper)(e),[e])}var Q=require("react");function Ku(e){let{initial:t,regions:n,progress:o,getProgress:r,enabled:i=!0,easing:a,reportEveryFrame:s=!1,pollInterval:l=Lr,loop:c=!1,onEnter:u,onExit:m,onProgress:d,jumpTo:p}=e,f=(0,Q.useMemo)(()=>Or(t,n),[t,n]),[h,v]=(0,Q.useState)(()=>-1),[y,R]=(0,Q.useState)(0),S=(0,Q.useRef)(-1),g=(0,Q.useRef)(0),C=(0,Q.useRef)(!0),P=(0,Q.useRef)(()=>{});(0,Q.useEffect)(()=>(C.current=!0,()=>{C.current=!1}),[]);let A=(0,Q.useMemo)(()=>{if(!a)return xe(cn);if(typeof a=="function")return a;if(Array.isArray(a)&&a.length===4)return xe(a);let q=je[a];return q?xe(q):xe(cn)},[a]),T=(0,Q.useCallback)(q=>{if(!(q<0||q>=f.length)&&(v(q),S.current=q,g.current=0,R(0),u))try{u(q)}catch{}},[f,u]);(0,Q.useEffect)(()=>{P.current=T,p&&p(T)},[T,p]);function z(q){let{index:M,t:I}=Br(q,f),E=M;if(c&&f.length>0){let Te=f.length;E=(M%Te+Te)%Te}let D=A(I);if(E!==S.current){if(S.current>=0&&m)try{m(S.current)}catch{}if(E>=0&&u)try{u(E)}catch{}S.current=E,C.current&&v(E)}if(g.current=D,C.current&&(s||E!==h)&&R(D),d&&E>=0)try{d(E,D)}catch{}}(0,Q.useEffect)(()=>{i&&typeof o=="number"&&z(o)},[o,i]),(0,Q.useEffect)(()=>{if(!i||typeof r!="function")return;let q=null,M=()=>{try{let I=r();z(I)}catch{}};return M(),q=setInterval(M,l),()=>clearInterval(q)},[r,i,l]);let Y=h>=0&&h<f.length?f[h]:void 0,ue=Y?zr(Y.from,Y.to,g.current):void 0;return{transitions:f,currentIndex:h,currentTransition:Y,t:g.current,rect:ue,jumpTo:T}}var Rt=require("react");function ju(e,t={}){let{axis:n="y",offset:o=0,steps:r=1,enabled:i=!0}=t,[a,s]=(0,Rt.useState)(0),l=(0,Rt.useRef)(-1),c=(0,Rt.useRef)(null);return(0,Rt.useEffect)(()=>{if(!i||!e||!e.current)return;let u=e.current,m=()=>{let p=n==="y"?u.scrollTop:u.scrollLeft,f=n==="y"?u.clientHeight:u.clientWidth,v=(n==="y"?u.scrollHeight:u.scrollWidth)-f,R=(v<=0?0:Math.max(0,Math.min(1,(p+o)/v)))*r;R!==l.current&&(l.current=R,s(R)),c.current=null},d=()=>{c.current===null&&(c.current=requestAnimationFrame(m))};return u.addEventListener("scroll",d,{passive:!0}),m(),()=>{u.removeEventListener("scroll",d),c.current!==null&&cancelAnimationFrame(c.current)}},[e,n,o,r,i]),a}function Qu(e,t){let{x:n,y:o,width:r,height:i}=e,{x:a,y:s}=t,{width:l,height:c}=t;return n+r>a&&n<a+l&&o+i>s&&o<s+c}var Sl=J(require("tiny-invariant"),1);function Xu(e,t){let n=e.boundingBox||We(e.polygon);if(e.polygon&&!kt(e.polygon.points)){let o=e.target||Et(e.polygon,t);return(0,Sl.default)(o?.type==="SvgSelector"),{type:"SvgSelector",points:e.polygon.points,spatial:{unit:"pixel",...n||{}},svgShape:e.polygon.open?"polyline":"polygon",svg:o.value}}return{type:"BoxSelector",spatial:n}}
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDZ7DMQ3Vcjs = require('./chunk-DZ7DMQ3V.cjs');var _chunkWBVFSMEDcjs = require('./chunk-WBVFSMED.cjs');var _chunkMIANDAMKcjs = require('./chunk-MIANDAMK.cjs');var _chunkR7HZTE2Tcjs = require('./chunk-R7HZTE2T.cjs');var _chunkLKWFF45Dcjs = require('./chunk-LKWFF45D.cjs');var _chunkXULFR6E3cjs = require('./chunk-XULFR6E3.cjs');var _chunkL576POBVcjs = require('./chunk-L576POBV.cjs');require('./chunk-ZBGD3VEW.cjs');var _chunkZEGT4BARcjs = require('./chunk-ZEGT4BAR.cjs');var _vault = require('@iiif/helpers/vault');exports.AnnotationContext = _chunkMIANDAMKcjs.g; exports.AnnotationPageContext = _chunkMIANDAMKcjs.h; exports.AnnotationStyleProvider = _chunkLKWFF45Dcjs.u; exports.AtlasStoreProvider = _chunkR7HZTE2Tcjs.m; exports.AtlasStoreReactContext = _chunkR7HZTE2Tcjs.j; exports.Auth = _chunkL576POBVcjs.F; exports.AuthProvider = _chunkL576POBVcjs.x; exports.AuthRContext = _chunkL576POBVcjs.u; exports.AuthReactContext = _chunkL576POBVcjs.v; exports.AuthReactContextActions = _chunkL576POBVcjs.w; exports.CanvasAnnotations = _chunkWBVFSMEDcjs.e; exports.CanvasContext = _chunkL576POBVcjs.d; exports.CanvasPanel = _chunkR7HZTE2Tcjs.ca; exports.CanvasStrategyProvider = _chunkXULFR6E3cjs.l; exports.CanvasWorldObject = _chunkR7HZTE2Tcjs._; exports.CollectionContext = _chunkMIANDAMKcjs.i; exports.CombinedMetadata = _chunkWBVFSMEDcjs.g; exports.ComplexTimelineProvider = _chunkL576POBVcjs.ba; exports.ContextBridge = _chunkR7HZTE2Tcjs.U; exports.ControlsReactContext = _chunkL576POBVcjs.R; exports.CreateCustomShape = _chunkWBVFSMEDcjs.c; exports.CustomContextBridge = _chunkR7HZTE2Tcjs.R; exports.CustomContextBridgeProvider = _chunkR7HZTE2Tcjs.S; exports.DEFAULT_BEZIER = _chunkL576POBVcjs.ga; exports.DEFAULT_POLL_INTERVAL = _chunkL576POBVcjs.ha; exports.DefaultEditingTools = _chunkR7HZTE2Tcjs.Z; exports.EASING_PRESETS = _chunkL576POBVcjs.ia; exports.EventEmitterProvider = _chunkLKWFF45Dcjs.p; exports.EventsProvider = _chunkL576POBVcjs.va; exports.Image = _chunkWBVFSMEDcjs.h; exports.ImageService = _chunkWBVFSMEDcjs.i; exports.ImageServiceLoaderContext = _chunkL576POBVcjs.Z; exports.InnerViewerProvider = _chunkLKWFF45Dcjs.l; exports.LanguageProvider = _chunkR7HZTE2Tcjs.y; exports.LanguageString = _chunkR7HZTE2Tcjs.D; exports.LocaleString = _chunkR7HZTE2Tcjs.H; exports.ManifestContext = _chunkLKWFF45Dcjs.d; exports.ManifestMetadata = _chunkWBVFSMEDcjs.j; exports.MediaPlayerProvider = _chunkLKWFF45Dcjs.z; exports.Metadata = _chunkWBVFSMEDcjs.f; exports.PolygonSelector = _chunkWBVFSMEDcjs.d; exports.RangeContext = _chunkLKWFF45Dcjs.e; exports.ReactEmitterContext = _chunkLKWFF45Dcjs.o; exports.ReactEventContext = _chunkL576POBVcjs.ta; exports.ReactVaultContext = _chunkL576POBVcjs.e; exports.RegionHighlight = _chunkR7HZTE2Tcjs.o; exports.Render3DModelStrategy = _chunkR7HZTE2Tcjs.s; exports.RenderAccompanyingCanvas = _chunkR7HZTE2Tcjs.t; exports.RenderAnnotation = _chunkR7HZTE2Tcjs.p; exports.RenderAnnotationEditing = _chunkR7HZTE2Tcjs.Y; exports.RenderAnnotationPage = _chunkR7HZTE2Tcjs.q; exports.RenderAnnotationStrategy = _chunkR7HZTE2Tcjs.u; exports.RenderAudioStrategy = _chunkR7HZTE2Tcjs.w; exports.RenderComplexTimelineStrategy = _chunkR7HZTE2Tcjs.I; exports.RenderEmptyStrategy = _chunkXULFR6E3cjs.j; exports.RenderImageStrategy = _chunkR7HZTE2Tcjs.J; exports.RenderSvgEditorControls = _chunkWBVFSMEDcjs.n; exports.RenderTextualContentStrategy = _chunkR7HZTE2Tcjs.K; exports.RenderVideoStrategy = _chunkR7HZTE2Tcjs.L; exports.RenderYouTubeStrategy = _chunkR7HZTE2Tcjs.M; exports.ResizeWorldItem = _chunkR7HZTE2Tcjs.n; exports.ResourceProvider = _chunkL576POBVcjs.c; exports.ResourceReactContext = _chunkL576POBVcjs.a; exports.SelectorControllerProvider = _chunkMIANDAMKcjs.a; exports.SequenceThumbnails = _chunkWBVFSMEDcjs.l; exports.SimpleViewerProvider = _chunkLKWFF45Dcjs.m; exports.SimpleViewerReactContext = _chunkLKWFF45Dcjs.k; exports.SingleCanvasThumbnail = _chunkWBVFSMEDcjs.k; exports.StrategyReactContext = _chunkL576POBVcjs.P; exports.ThumbnailFallbackImage = _chunkR7HZTE2Tcjs.v; exports.TranslationProvider = _chunkR7HZTE2Tcjs.x; exports.TransliterationProvider = _chunkR7HZTE2Tcjs.z; exports.Vault = _vault.Vault; exports.VaultProvider = _chunkL576POBVcjs.f; exports.ViewerPresetContext = _chunkL576POBVcjs.qa; exports.VirtualAnnotationProvider = _chunkL576POBVcjs.X; exports.VisibleCanvasReactContext = _chunkL576POBVcjs.k; exports.annotationResponseToSelector = _chunkWBVFSMEDcjs.t; exports.authDetailsForResource = _chunkL576POBVcjs.r; exports.buildTransitions = _chunkL576POBVcjs.ka; exports.cachedParseCssToBoxStyleMap = _chunkWBVFSMEDcjs.y; exports.convertBoxStyleToSelectorStyle = _chunkWBVFSMEDcjs.z; exports.convertSelectorStyleToBoxStyle = _chunkWBVFSMEDcjs.A; exports.createAtlasStore = _chunkR7HZTE2Tcjs.i; exports.createAuthStateStore = _chunkL576POBVcjs.p; exports.createProbe = _chunkL576POBVcjs.q; exports.createVaultHooks = _chunkMIANDAMKcjs.j; exports.cubicBezierEasing = _chunkL576POBVcjs.la; exports.defaultEmitter = _chunkL576POBVcjs.sa; exports.defaultSvgTheme = _chunkR7HZTE2Tcjs.O; exports.emptyActions = _chunkZEGT4BARcjs.h; exports.emptyStrategy = _chunkZEGT4BARcjs.k; exports.expandTarget = _chunkWBVFSMEDcjs.B; exports.expandTargets = _chunkWBVFSMEDcjs.C; exports.findAllCanvasesInRange = _chunkWBVFSMEDcjs.w; exports.findFirstCanvasFromRange = _chunkWBVFSMEDcjs.x; exports.findManifestSelectedRange = _chunkWBVFSMEDcjs.u; exports.findSelectedRange = _chunkWBVFSMEDcjs.v; exports.flattenAnnotationPageIds = _chunkL576POBVcjs.wa; exports.formatTime = _chunkL576POBVcjs.N; exports.get3dStrategy = _chunkZEGT4BARcjs.l; exports.getAtlasStoreByName = _chunkR7HZTE2Tcjs.l; exports.getComplexTimelineStrategy = _chunkZEGT4BARcjs.p; exports.getCroppedThumbnail = _chunkL576POBVcjs.$; exports.getDefaultAnnotationStyles = _chunkLKWFF45Dcjs.s; exports.getImageStrategy = _chunkZEGT4BARcjs.m; exports.getManifestSequence = _chunkMIANDAMKcjs.v; exports.getMediaTemporalSelectors = _chunkZEGT4BARcjs.f; exports.getParsedTargetSelector = _chunkZEGT4BARcjs.g; exports.getRenderingStrategy = _chunkZEGT4BARcjs.q; exports.getSelectorTransformAttributes = _chunkWBVFSMEDcjs.D; exports.getStepFromProgress = _chunkL576POBVcjs.ma; exports.getTextualContentStrategy = _chunkZEGT4BARcjs.n; exports.getVideoStrategy = _chunkZEGT4BARcjs.o; exports.getVisibleCanvasesFromCanvasId = _chunkMIANDAMKcjs.w; exports.hasAuth = _chunkL576POBVcjs.o; exports.interpolateRect = _chunkL576POBVcjs.ja; exports.isBoxSelector = _chunkR7HZTE2Tcjs.d; exports.isImageApiSelector = _chunkWBVFSMEDcjs.E; exports.isRectangle = _chunkR7HZTE2Tcjs.a; exports.isSvgSelector = _chunkR7HZTE2Tcjs.c; exports.isValidCanvasFragment = _chunkWBVFSMEDcjs.F; exports.makeAccessServiceRequest = _chunkL576POBVcjs.t; exports.makeAccessTokenRequest = _chunkL576POBVcjs.s; exports.parseCssToBoxStyleMap = _chunkWBVFSMEDcjs.G; exports.parseCssTransform = _chunkWBVFSMEDcjs.H; exports.parseCssTransformOrigin = _chunkWBVFSMEDcjs.I; exports.parseCssTransformStyle = _chunkWBVFSMEDcjs.J; exports.parseRotation = _chunkWBVFSMEDcjs.K; exports.parseSelector = _chunkWBVFSMEDcjs.L; exports.parseSpecificResource = _chunkZEGT4BARcjs.e; exports.parseWkt = _chunkWBVFSMEDcjs.M; exports.polygonToBoundingBox = _chunkWBVFSMEDcjs.N; exports.polygonToTarget = _chunkR7HZTE2Tcjs.g; exports.requestToAnnotationResponse = _chunkR7HZTE2Tcjs.h; exports.resolveSelectorStyle = _chunkWBVFSMEDcjs.O; exports.seraliseSupportedSelector = _chunkR7HZTE2Tcjs.f; exports.serialiseSupportedSelector = _chunkR7HZTE2Tcjs.e; exports.serializeSupportedSelector = _chunkWBVFSMEDcjs.P; exports.splitCanvasFragment = _chunkWBVFSMEDcjs.Q; exports.svgThemes = _chunkWBVFSMEDcjs.b; exports.targetIntersects = _chunkWBVFSMEDcjs.s; exports.unknownResponse = _chunkZEGT4BARcjs.i; exports.unsupportedStrategy = _chunkZEGT4BARcjs.j; exports.useActiveVault = _chunkL576POBVcjs.g; exports.useAnnotation = _chunkL576POBVcjs.I; exports.useAnnotationPage = _chunkLKWFF45Dcjs.v; exports.useAnnotationPageManager = _chunkL576POBVcjs.xa; exports.useAnnotationStyles = _chunkLKWFF45Dcjs.t; exports.useAnnotationsAtTime = _chunkMIANDAMKcjs.l; exports.useAtlasContextMenu = _chunkR7HZTE2Tcjs.W; exports.useAtlasStore = _chunkR7HZTE2Tcjs.k; exports.useAuthActions = _chunkL576POBVcjs.A; exports.useAuthService = _chunkL576POBVcjs.C; exports.useAuthStore = _chunkL576POBVcjs.z; exports.useAuthToken = _chunkL576POBVcjs.E; exports.useAuthTokens = _chunkL576POBVcjs.D; exports.useCanvas = _chunkL576POBVcjs.J; exports.useCanvasChoices = _chunkWBVFSMEDcjs.o; exports.useCanvasClock = _chunkMIANDAMKcjs.m; exports.useCanvasSequence = _chunkLKWFF45Dcjs.h; exports.useCanvasStartTime = _chunkLKWFF45Dcjs.A; exports.useCanvasSubset = _chunkMIANDAMKcjs.n; exports.useClosestLanguage = _chunkR7HZTE2Tcjs.E; exports.useCollection = _chunkDZ7DMQ3Vcjs.a; exports.useComplexTimeline = _chunkL576POBVcjs.da; exports.useComplexTimelineStore = _chunkL576POBVcjs.ca; exports.useContainerSequence = _chunkLKWFF45Dcjs.g; exports.useContextBridge = _chunkR7HZTE2Tcjs.T; exports.useContextMenuStore = _chunkR7HZTE2Tcjs.V; exports.useCreateLocaleString = _chunkR7HZTE2Tcjs.G; exports.useCurrentAnnotationActions = _chunkWBVFSMEDcjs.p; exports.useCurrentAnnotationMetadata = _chunkWBVFSMEDcjs.q; exports.useCurrentAnnotationRequest = _chunkR7HZTE2Tcjs.X; exports.useCurrentAnnotationTransition = _chunkWBVFSMEDcjs.r; exports.useCurrentAuth = _chunkL576POBVcjs.B; exports.useCustomContextBridge = _chunkR7HZTE2Tcjs.Q; exports.useDispatch = _chunkL576POBVcjs.T; exports.useEmitter = _chunkLKWFF45Dcjs.q; exports.useEvent = _chunkLKWFF45Dcjs.r; exports.useEventEmitter = _chunkL576POBVcjs.ua; exports.useEventListener = _chunkMIANDAMKcjs.o; exports.useExistingVault = _chunkLKWFF45Dcjs.a; exports.useExternalCollection = _chunkDZ7DMQ3Vcjs.b; exports.useExternalManifest = _chunkLKWFF45Dcjs.c; exports.useExternalResource = _chunkLKWFF45Dcjs.b; exports.useIIIFLanguage = _chunkR7HZTE2Tcjs.B; exports.useImage = _chunkMIANDAMKcjs.f; exports.useImageService = _chunkMIANDAMKcjs.p; exports.useImageServiceLoader = _chunkL576POBVcjs._; exports.useImageTile = _chunkMIANDAMKcjs.q; exports.useIsAuthEnabled = _chunkL576POBVcjs.y; exports.useLoadImageService = _chunkL576POBVcjs.za; exports.useLocaleString = _chunkR7HZTE2Tcjs.F; exports.useManifest = _chunkL576POBVcjs.n; exports.useMediaActions = _chunkLKWFF45Dcjs.x; exports.useMediaElements = _chunkLKWFF45Dcjs.y; exports.useMediaState = _chunkLKWFF45Dcjs.w; exports.usePaintables = _chunkL576POBVcjs.Ba; exports.usePaintingAnnotations = _chunkMIANDAMKcjs.k; exports.usePolygonHelper = _chunkR7HZTE2Tcjs.N; exports.useRange = _chunkLKWFF45Dcjs.f; exports.useRemoteStylesheet = _chunkL576POBVcjs.H; exports.useRenderControls = _chunkL576POBVcjs.S; exports.useRenderingStrategy = _chunkL576POBVcjs.Ca; exports.useRequestAnnotation = _chunkWBVFSMEDcjs.a; exports.useResourceContext = _chunkL576POBVcjs.b; exports.useResourceEvents = _chunkL576POBVcjs.K; exports.useResources = _chunkL576POBVcjs.ya; exports.useSearchService = _chunkLKWFF45Dcjs.i; exports.useSelectorController = _chunkMIANDAMKcjs.d; exports.useSelectorEmitter = _chunkMIANDAMKcjs.b; exports.useSelectorEvents = _chunkMIANDAMKcjs.c; exports.useSelectorForVault = _chunkL576POBVcjs.i; exports.useSelectorHelper = _chunkMIANDAMKcjs.e; exports.useSimpleMediaPlayer = _chunkL576POBVcjs.O; exports.useSimpleViewer = _chunkLKWFF45Dcjs.n; exports.useStaticRenderingStrategy = _chunkMIANDAMKcjs.r; exports.useStrategy = _chunkL576POBVcjs.Q; exports.useStyleHelper = _chunkMIANDAMKcjs.s; exports.useStyles = _chunkL576POBVcjs.L; exports.useStylesheetStore = _chunkL576POBVcjs.G; exports.useSvgEditor = _chunkR7HZTE2Tcjs.P; exports.useSvgEditorControls = _chunkWBVFSMEDcjs.m; exports.useThumbnail = _chunkL576POBVcjs.aa; exports.useTranslations = _chunkR7HZTE2Tcjs.C; exports.useTransliteration = _chunkR7HZTE2Tcjs.A; exports.useVault = _chunkL576POBVcjs.h; exports.useVaultEffect = _chunkL576POBVcjs.Y; exports.useVaultSelector = _chunkL576POBVcjs.j; exports.useViewerPreset = _chunkL576POBVcjs.ra; exports.useViewportScroll = _chunkMIANDAMKcjs.u; exports.useViewportTour = _chunkMIANDAMKcjs.t; exports.useVirtualAnnotationPage = _chunkL576POBVcjs.U; exports.useVirtualAnnotationPageContext = _chunkL576POBVcjs.W; exports.useVisibleCanvasContainers = _chunkL576POBVcjs.m; exports.useVisibleCanvases = _chunkL576POBVcjs.l;
|