react-iiif-vault 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +2 -1
- package/dist/bundle.global.js +17 -17
- package/dist/canvas-panel.cjs +5 -5
- package/dist/canvas-panel.js +1 -1
- package/dist/chunk-DXFXJCXN.js +1 -0
- package/dist/chunk-VPKD2BBH.js +47 -0
- package/dist/index.cjs +6 -6
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-HEVA2EDS.js +0 -47
- package/dist/chunk-YSH2CIKG.js +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var Co=Object.create;var gt=Object.defineProperty;var bo=Object.getOwnPropertyDescriptor;var Ro=Object.getOwnPropertyNames;var Po=Object.getPrototypeOf,Io=Object.prototype.hasOwnProperty;var wo=(e,t)=>{for(var n in t)gt(e,n,{get:t[n],enumerable:!0})},pt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ro(t))!Io.call(e,o)&&o!==n&>(e,o,{get:()=>t[o],enumerable:!(r=bo(t,o))||r.enumerable});return e},p=(e,t,n)=>(pt(e,t,"default"),n&&pt(n,t,"default")),de=(e,t,n)=>(n=e!=null?Co(Po(e)):{},pt(t||!e||!e.__esModule?gt(n,"default",{value:e,enumerable:!0}):n,e)),To=e=>pt(gt({},"__esModule",{value:!0}),e);var f={};wo(f,{AnnotationContext:()=>gi,AnnotationPageContext:()=>hi,Auth:()=>rn,AuthProvider:()=>nn,AuthProvider_Old:()=>Lo,AuthRContext:()=>Ne,AuthReactContext:()=>ve,AuthReactContextActions:()=>xt,CanvasAnnotations:()=>ui,CanvasContext:()=>X,CanvasPanel:()=>z,CollectionContext:()=>vi,CombinedMetadata:()=>ci,ContextBridge:()=>un,Image:()=>co,ImageServiceLoaderContext:()=>Br,InnerViewerProvider:()=>fr,LanguageProvider:()=>Qo,LanguageString:()=>Lr,LocaleString:()=>_,ManifestContext:()=>Yt,ManifestMetadata:()=>di,MediaPlayerProvider:()=>it,Metadata:()=>lt,RangeContext:()=>Qt,ReactVaultContext:()=>oe,ResourceProvider:()=>H,ResourceReactContext:()=>Be,SequenceThumbnails:()=>pi,SimpleViewerProvider:()=>an,SimpleViewerReactContext:()=>Ee,SingleCanvasThumbnail:()=>qn,VaultProvider:()=>me,ViewerPresetContext:()=>Fe,VirtualAnnotationProvider:()=>mn,VisibleCanvasReactContext:()=>pe,authDetailsForResource:()=>Xt,createAuthStateStore:()=>Zt,createProbe:()=>Jt,emptyActions:()=>xn,emptyStrategy:()=>An,findAllCanvasesInRange:()=>yt,findFirstCanvasFromRange:()=>nr,findManifestSelectedRange:()=>No,findSelectedRange:()=>jt,flattenAnnotationPageIds:()=>Cn,formatTime:()=>Gr,get3dStrategy:()=>In,getImageStrategy:()=>Tn,getManifestSequence:()=>St,getParsedTargetSelector:()=>et,getRenderingStrategy:()=>Vn,getTextualContentStrategy:()=>Mn,getVideoStrategy:()=>Nn,getVisibleCanvasesFromCanvasId:()=>Vo,hasAuth:()=>ko,makeAccessServiceRequest:()=>we,makeAccessTokenRequest:()=>ae,parseSpecificResource:()=>Ko,unknownResponse:()=>tt,unsupportedStrategy:()=>P,useAnnotation:()=>Ze,useAnnotationPage:()=>yn,useAnnotationPageManager:()=>rt,useAnnotationsAtTime:()=>yi,useAuthActions:()=>sr,useAuthActions_old:()=>Uo,useAuthService:()=>ur,useAuthService_old:()=>Ho,useAuthStore:()=>Ve,useAuthToken:()=>Oo,useAuthToken_old:()=>qo,useAuthTokens:()=>en,useAuthTokens_old:()=>Do,useCanvas:()=>w,useCanvasClock:()=>Si,useCanvasSequence:()=>Gt,useCanvasSubset:()=>xi,useClosestLanguage:()=>Or,useCollection:()=>Ai,useContextBridge:()=>sn,useCreateLocaleString:()=>jo,useCurrentAuth:()=>zo,useCurrentAuth_old:()=>Fo,useDispatch:()=>cn,useEventListener:()=>Ci,useExistingVault:()=>fe,useExternalCollection:()=>bi,useExternalManifest:()=>$t,useExternalResource:()=>We,useIIIFLanguage:()=>Tt,useImage:()=>qt,useImageService:()=>Bn,useImageServiceLoader:()=>ne,useImageTile:()=>Ri,useLoadImageService:()=>Rn,useLocaleString:()=>Fr,useManifest:()=>k,useMediaActions:()=>oi,useMediaElements:()=>ii,useMediaState:()=>ri,usePaintables:()=>Pn,usePaintingAnnotations:()=>be,useRange:()=>Ye,useRenderingStrategy:()=>En,useResourceContext:()=>O,useResourceEvents:()=>Ke,useResources:()=>bn,useSearchService:()=>on,useSimpleMediaPlayer:()=>Pe,useSimpleViewer:()=>Ge,useStyleHelper:()=>Pi,useStyles:()=>xe,useThumbnail:()=>ot,useVault:()=>A,useVaultEffect:()=>Ln,useVaultSelector:()=>b,useViewerPreset:()=>fn,useVirtualAnnotationPage:()=>ln,useVirtualAnnotationPageContext:()=>dn,useVisibleCanvases:()=>$e});module.exports=To(f);var ut=require("react");var D=de(require("react"),1),Pt=require("@atlas-viewer/atlas"),Ar=require("react-error-boundary");var ye=require("react");var Ie=de(require("react"),1),Yn=require("react/jsx-runtime"),Mo={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0},Be=Ie.default.createContext(Mo),O=()=>(0,Ie.useContext)(Be);function H({value:e,children:t}){let n=O(),r=(0,Ie.useMemo)(()=>({...n,...e}),[e,n]);return(0,Yn.jsx)(Be.Provider,{value:r,children:t})}var ht=de(require("react"),1),_e=require("@iiif/helpers/vault");var Wt=require("react/jsx-runtime"),oe=ht.default.createContext({vault:null,setVaultInstance:e=>{}});function me({vault:e,vaultOptions:t,useGlobal:n,resources:r,children:o}){let[a,i]=(0,ht.useState)(()=>e||(n?(0,_e.globalVault)(t):t?new _e.Vault(t):new _e.Vault));return(0,Wt.jsx)(oe.Provider,{value:{vault:a,setVaultInstance:i},children:(0,Wt.jsx)(H,{value:r||{},children:o})})}var mr=require("react"),Ct=require("react");var Qn=require("@iiif/helpers/vault"),jn=require("react");function fe(e){let t=(0,jn.useContext)(oe);return e||(t&&t.vault?t.vault:(0,Qn.globalVault)())}var ie=require("react");function We(e,{noCache:t=!1}={}){let n=typeof e=="string"?e:e.id,r=fe(),[o,a]=(0,ie.useState)(n),[i,s]=(0,ie.useState)(void 0),u=(0,ie.useMemo)(()=>r.get(n,{skipSelfReturn:!0})||void 0,[n,r]),[c,l]=(0,ie.useState)(u);return(0,ie.useEffect)(()=>{(async()=>{try{let d=u&&!t?u:await r.load(n),m=d?d.id||d["@id"]:null;d&&o!==m&&a(m),l(d)}catch(d){s(d)}})()},[n,t]),{isLoaded:!!c,id:o,requestId:n,error:i,resource:c,cached:!!(c&&c===u)}}function $t(e,t){let{id:n,isLoaded:r,error:o,resource:a,requestId:i,cached:s}=We(e,t);return{id:n,isLoaded:r,error:o,manifest:a,requestId:i,cached:s}}var Gn=require("react/jsx-runtime");function Yt({manifest:e,children:t}){return(0,Gn.jsx)(H,{value:{manifest:e},children:t})}var Kn=require("react/jsx-runtime");function X({canvas:e,children:t}){return(0,Kn.jsx)(H,{value:{canvas:e},children:t})}var Jn=require("react"),Xn=de(require("react"),1);var Zn=require("react"),A=()=>{let{vault:e}=(0,Zn.useContext)(oe);if(e===null)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return e};var vt=require("react");function b(e,t=[]){let n=A(),[r,o]=(0,vt.useState)(()=>e(n.getState(),n));return(0,vt.useEffect)(()=>n.subscribe(a=>e(a,n),a=>{o(a)},!1),t),r}var pe=Xn.default.createContext([]);function $e(){let e=(0,Jn.useContext)(pe);return b(t=>e.map(n=>t.iiif.entities.Canvas[n]).filter(Boolean),[e])}var er=require("react");function k(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=A(),i=n||o.manifest,s=b(u=>i?u.iiif.entities.Manifest[i]:void 0,[i]);return(0,er.useMemo)(()=>{if(s)return r?r(s):s},[s,r,...t])}var tr=require("react/jsx-runtime");function Qt({range:e,children:t}){return(0,tr.jsx)(H,{value:{range:e},children:t})}function nr(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 r=nr(e,e.get(n));if(r)return r}}return null}function yt(e,t){let n=[];for(let r of t.items)if(r.type==="SpecificResource"&&r.source?.type==="Canvas"&&(r.source.id.indexOf("#")!==-1?n.push({id:r.source.id.split("#")[0],type:"Canvas"}):n.push(r.source)),r.type==="Range"&&n.push(...yt(e,e.get(r))),r.type==="SpecificResource"){let o=typeof r.source=="string"?r.source:r.source.id;n.push({id:o,type:"Canvas"})}return n}function No(e,t,n){for(let r of t.structures){let o=jt(e,e.get(r),n);if(o)return o}return null}function jt(e,t,n){for(let r of t.items){let o=r?.source?.id?.split("#")[0];if(r.type==="SpecificResource"&&r.source===n||r.type==="SpecificResource"&&r.source?.type==="Canvas"&&n===o)return t;if(r.type==="Range"){let a=jt(e,e.get(r),n);if(a)return a}}return null}function Vo(e,t,n,r=!1){let o=t.behavior,a=n?e.get(n):null;if(!a)return[];let i=a.behavior,s=r?!1:o.includes("paged"),u=s?!1:o.includes("continuous"),c=s||u?!1:o.includes("individuals"),l=i.includes("facing-pages"),d=i.includes("non-paged");if(l||d||c||r)return[{id:a.id,type:"Canvas"}];let[m,y]=St(e,t);if(u)return m;let v=m.findIndex(g=>g.id===n);if(v===-1)return[];for(let g of y)if(g.includes(v))return g.map(h=>m[h]);return[{id:a.id,type:"Canvas"}]}function St(e,t,{disablePaging:n,skipNonPaged:r}={}){let o=t.behavior,a=o.includes("paged"),i=a?!1:o.includes("continuous"),s=a||i?!1:o.includes("individuals"),u=t.type==="Manifest"?t.items:yt(e,t);if(i)return[u,[u.map((v,g)=>g)]];if(s||!a||n)return[u,u.map((v,g)=>[g])];let c=[],l=[],d=()=>{l.length&&(c.push([...l]),l=[])},m=0,y=!1;for(let v=0;v<u.length;v++){let g=e.get(u[v]);if(g.behavior.includes("non-paged")){v===m&&m++,r||(d(),c.push([v]),d());continue}if(v===m||g.behavior.includes("facing-pages")){l.length&&(y=!0),d(),c.push([v]),d();continue}if(l.push(v),y){d(),y=!1;continue}l.length>1&&d()}return l.length&&d(),[u,c]}var Y=require("react");var rr=require("react");function Ye(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.range,i=b(s=>a?s.iiif.entities.Range[a]:void 0,[a]);return(0,rr.useMemo)(()=>{if(i)return r?r(i):i},[i,r,...t])}function Gt({startCanvas:e,disablePaging:t}){let n=A(),r=k(),o=Ye(),[a,i]=(0,Y.useState)(void 0),s=o||r;if(!s)throw new Error("Nothing selected");let[u,c]=(0,Y.useMemo)(()=>St(n,s,{disablePaging:t}),[n,s,t]),l=(0,Y.useRef)(c);if(l.current!==c){let h=l.current[a][0],S=c.findIndex(L=>L.includes(h));l.current=c,i(S)}let d=(0,Y.useCallback)(g=>{let h=c.findIndex(S=>S.includes(g));i(h===-1?0:h)},[u,c]),m=(0,Y.useCallback)(g=>{let h=u.findIndex(S=>S.id===g);h!==-1?d(h):i(0)},[u,c]),y=(0,Y.useCallback)(()=>{i(g=>g>=c.length-1?g:g+1)},[c]),v=(0,Y.useCallback)(()=>{i(g=>g<=0?0:g-1)},[c]);return typeof a>"u"&&(e?m(e):i(0)),{visibleItems:c[a]?.map(g=>u[g].id)||[],cursor:a,items:u,sequence:c,hasPrevious:a>0,hasNext:a<c.length-1,setSequenceIndex:i,setCanvasIndex:d,setCanvasId:m,next:y,previous:v}}var E=require("react");var Te=require("react");var Kt=require("zustand/vanilla");function ko(e){let t=e.service||e.services||[];for(let n of t)if(n.type==="AuthProbeService2")return!0;return!1}function Q(e,t,n){let r=t.findIndex(i=>i.service.id===e);if(r===-1)return t;let o=[...t],a=n(o[r]);return a===o[r]?t:(o[r]=a,o)}var Zt=()=>(0,Kt.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 r=n.service.service.find(o=>o.type==="AuthAccessTokenService2");if(!r)throw new Error("Token service not found");e(()=>({authItems:Q(n.id,t().authItems,o=>({...o,isPending:!0}))})),we(n.service).then(()=>{ae(r).then(o=>{let a=o.expiresIn,i=Date.now()+a*1e3;e(()=>({authItems:Q(n.id,t().authItems,s=>({...s,isLoggedIn:!0,isPending:!1,session:{token:o.accessToken,expires:i}}))}))}).catch(o=>{e(()=>({authItems:Q(n.id,t().authItems,a=>({...a,isLoggedIn:!1,isPending:!1,error:o.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 r=n.service.service.find(i=>i.type==="AuthLogoutService2");if(!r)return;let o=`${r.id}?origin=${or()}`,a=window.open(o);e(()=>({authItems:Q(n.id,t().authItems,i=>({...i,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let n=t().authItems.length,r=t().currentAuth+1;r>=n||e(()=>({currentAuth:r}))},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,r)=>{if(!n.service)return;let o=n.service.find(s=>s.type==="AuthAccessTokenService2"),a=n;if(t().authItems.find(s=>s.service.id===n.id)){e(()=>({authItems:Q(n.id,t().authItems,s=>({...s,instances:s.instances+1}))}));return}if(e(()=>({currentAuth:a.profile==="active"?0:t().currentAuth,authItems:[{id:n.id,type:n.profile,service:n,probeId:r,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...t().authItems]})),n.profile==="external"){if(!o)throw new Error("Token service not found");ae(o).then(s=>{e(()=>({authItems:Q(n.id,t().authItems,u=>({...u,isLoggedIn:!0,isPending:!1,session:{token:s.accessToken,expires:s.expiresIn}}))}))}).catch(s=>{e(()=>({authItems:Q(n.id,t().authItems,u=>({...u,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:s.message}))}))})}if(n.profile==="kiosk"){if(!o)throw new Error("Token service not found");e(()=>({authItems:Q(n.id,t().authItems,s=>({...s,isPending:!0}))})),we(a).then(()=>{ae(o).then(s=>{e(()=>({authItems:Q(n.id,t().authItems,u=>({...u,isLoggedIn:!0,isPending:!1,session:{token:s.accessToken,expires:s.expiresIn}}))}))}).catch(s=>{e(()=>({authItems:Q(n.id,t().authItems,u=>({...u,isLoggedIn:!1,isPending:!1,error:s.message}))}))})})}n.profile},removeService:(n,r)=>{let o=t().currentAuth===t().authItems.findIndex(i=>i.service.id===n.id),a=t().currentAuth;if(o){let i=t().authItems.find(u=>u.service.id===n.id);i&&i.instances>1||(a=t().authItems.findIndex(c=>c.service.id!==n.id&&c.instances>0))}e(()=>({authItems:Q(n.id,t().authItems,i=>({...i,instances:i.instances-1})),currentAuth:a}))}})),Jt=(e,t)=>(0,Kt.createStore)((n,r)=>({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(!r().service)return;let o=r().service?.id;if(!o){n({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}n({status:"probing"});let a=r().token;try{let i=await fetch(o,{headers:a?{Authorization:`Bearer ${r().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(s=>s.json());if(i.status===200)n({status:"success",shouldDisplayResource:!0,error:null,errorHeading:null,errorNote:null,shouldSubstitute:!1,shouldRedirect:!1});else if(i.status<400&&i.status>=300){if(!i.location)throw new Error("Redirect location not found");n({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:i.location||null})}else if(i.status===401)n({status:"error",shouldDisplayResource:!1,shouldRedirect:!1,shouldSubstitute:!!i.substitute,substituteResource:i.substitute||null,error:"Unauthorized",errorHeading:i.heading||{en:["Unauthorized"]},errorNote:i.note||null});else throw new Error("Unknown error")}catch(i){n({status:"error",error:i.message,errorHeading:{en:["Unknown error"]}})}},setToken(o){n({token:o})}}));function Xt(e){let t=e.service||e.services||[],n={hasAuth:!1,services:{}};for(let r of t)if(r.type==="AuthProbeService2"){n.services.probe=r,n.hasAuth=!0;let o=r.service.filter(a=>a.type==="AuthAccessService2");o[0]&&(n.services.access=o[0])}return n}async function ae(e,{strict:t=!0}={}){return new Promise((n,r)=>{let o=Math.random().toString(36).substring(7),a=`${e.id}?messageId=${o}&origin=${window.location.origin}`,i=c=>{let l=c.data;if(l.messageId===o){if(t&&l.type!=="AuthAccessToken2"){s(),r("Invalid response, expected type=AuthAccessToken2");return}if(!l.accessToken){s(),r("Invalid response, expected accessToken");return}s(),n(l)}},s=()=>window.removeEventListener("message",i),u=document.createElement("iframe");u.src=a,u.style.display="none",document.body.appendChild(u),window.addEventListener("message",i)})}function or(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 we(e){let t=`${e.id}?origin=${or()}`,n=window.open(t);if(!n)throw new Error("Failed to open window");return new Promise((r,o)=>{let a=setInterval(()=>{n.closed&&(clearInterval(a),r())},500)})}var ir=require("zustand");function ar(e){let t=(0,Te.useMemo)(()=>Xt(e),[e]),n=en(t.services.access?.id);console.log("probe auth service");let r=(0,Te.useMemo)(()=>Jt(t.services.probe,n),[t.services.probe]),o=(0,ir.useStore)(r);return(0,Te.useEffect)(()=>{o.status==="unknown"&&!n&&o.probe()},[t.services.probe,o.status]),(0,Te.useEffect)(()=>{n&&(o.setToken(n),o.probe())},[n]),[e,o,t.hasAuth]}var Me=require("zustand"),he=require("react/jsx-runtime"),Ne=(0,E.createContext)(null),ve=(0,E.createContext)(null);ve.displayName="CurrentAuth";var xt=(0,E.createContext)(null);xt.displayName="AuthActions";function ge(e,t,n){let r=t.authItems.findIndex(i=>i.service.id===e);if(r===-1)return t;let o=[...t.authItems],a=n(o[r]);return a===o[r]?t:(o[r]=a,{...t,authItems:o})}function Eo(e,t){switch(t.type){case"login.start":return ge(t.payload.id,e,n=>({...n,isPending:!0}));case"login.success":return ge(t.payload.id,e,n=>({...n,isLoggedIn:!0,isPending:!1,session:{token:t.payload.token,expires:t.payload.expires}}));case"login.error":return ge(t.payload.id,e,n=>({...n,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:t.payload.error}));case"session.expire":return ge(t.payload.id,e,n=>({...n,isPending:!1,isLoggedIn:!1,session:null}));case"logout":return ge(t.payload.id,e,n=>({...n,isLoggedIn:!1,session:null,isPending:!1}));case"service.add":return e.authItems.find(r=>r.service.id===t.payload.service.id)?ge(t.payload.service.id,e,r=>({...r,instances:r.instances+1})):{...e,currentAuth:t.payload.service.profile==="active"?0:e.currentAuth,authItems:[{id:t.payload.service.id,type:t.payload.service.profile,service:t.payload.service,probeId:t.payload.probeId,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...e.authItems]};case"service.remove":{let n=e.currentAuth===e.authItems.findIndex(o=>o.service.id===t.payload.id),r=e.currentAuth;if(n){let o=e.authItems.find(i=>i.service.id===t.payload.id);o&&o.instances>1||(r=e.authItems.findIndex(s=>s.service.id!==t.payload.id&&s.instances>0))}return{...ge(t.payload.id,e,o=>({...o,instances:o.instances-1})),currentAuth:r}}case"list.next":{let n=e.authItems.length,r=e.currentAuth+1;return r>=n?e:{...e,currentAuth:r}}case"list.previous":{let n=e.currentAuth-1;return n<0?e:{...e,currentAuth:n}}case"list.set":return t.payload!==-1&&(t.payload<0||t.payload>=e.authItems.length)?e:{...e,currentAuth:t.payload};default:return e}}function nn({children:e}){let t=(0,E.useMemo)(()=>Zt(),[]);return console.log("authStateStore",t),(0,he.jsx)(Ne.Provider,{value:t,children:e})}function Lo({children:e}){let[t,n]=(0,E.useReducer)(Eo,{currentAuth:-1,authItems:[]}),r=(m,y)=>{if(!m.service)return;let v=m.service.find(h=>h.type==="AuthAccessTokenService2"),g=m;if(n({type:"service.add",payload:{service:m,probeId:y}}),m.profile==="external"){if(!v)throw new Error("Token service not found");ae(v).then(h=>{n({type:"login.success",payload:{id:m.id,token:h.accessToken,expires:h.expiresIn}})}).catch(h=>{n({type:"login.error",payload:{id:m.id,error:h.message}})})}if(m.profile==="kiosk"){if(!v)throw new Error("Token service not found");n({type:"login.start",payload:{id:m.id}}),we(g).then(()=>{ae(v).then(h=>{n({type:"login.success",payload:{id:m.id,token:h.accessToken,expires:h.expiresIn}})}).catch(h=>{n({type:"login.error",payload:{id:m.id,error:h.message}})})}).catch(h=>{n({type:"login.error",payload:{id:m.id,error:h.message}})})}m.profile},o=m=>{n({type:"service.remove",payload:m})},a=()=>{let m=t.authItems[t.currentAuth];if(!m||m.isPending||m.isLoggedIn)return;if(m.type!=="active")throw new Error("Cannot login to non-active service");let y=m.service.service.find(v=>v.type==="AuthAccessTokenService2");if(!y)throw new Error("Token service not found");n({type:"login.start",payload:{id:m.id}}),we(m.service).then(()=>{ae(y).then(v=>{let g=v.expiresIn,h=Date.now()+g*1e3;n({type:"login.success",payload:{id:m.id,token:v.accessToken,expires:h}})}).catch(v=>{n({type:"login.error",payload:{id:m.id,error:v.message}})})})},i=()=>{let m=t.authItems[t.currentAuth];if(!m||m.isPending||!m.isLoggedIn)return;if(m.type!=="active")throw new Error("Cannot logout of non-active service");let y=m.service.service.find(h=>h.type==="AuthLogoutService2");if(!y)return;let v=`${y.id}?origin=${window.location.origin}`,g=window.open(v);n({type:"logout",payload:{id:m.id}})},s=()=>{},u=()=>{},c=m=>{},l=(0,E.useMemo)(()=>({addService:r,removeService:o}),[]),d=(0,E.useMemo)(()=>({...t,login:a,logout:i,nextAuth:s,previousAuth:u,setAuth:c}),[t]);return(0,he.jsx)(ve.Provider,{value:d,children:(0,he.jsx)(xt.Provider,{value:l,children:e})})}function Ve(){let e=(0,E.useContext)(Ne);if(!e)throw new Error("useAuthActions must be used within a AuthProvider");return e}function sr(){let e=Ve();return(0,Me.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 zo(){let e=Ve();return(0,Me.useStore)(e,t=>t)}function ur(e){let t=Ve();return(0,Me.useStore)(t,r=>r.authItems.find(o=>o.service.id===e))}function en(e){let t=Ve();return(0,Me.useStore)(t,r=>r.authItems.find(o=>o.id===e)?.session?.token)}function Oo(e){let t=Ve();return(0,Me.useStore)(t,r=>{let o=r.authItems.find(a=>a.service.id===e);return!o||!o.isLoggedIn||!o.session?null:o.session?.token||null})}function Fo(){let e=(0,E.useContext)(ve);if(!e)throw new Error("useCurrentAuth must be used within a AuthProvider");return e}function Ho(e){let t=(0,E.useContext)(ve);return t&&t.authItems.find(n=>n.service.id===e)||null}function Do(e){let t=(0,E.useContext)(ve);return!t||!e?null:t.authItems.find(n=>n.id===e)?.session?.token||null}function qo(e){let t=(0,E.useContext)(ve);if(!e||!t)return null;let n=t.authItems.find(r=>r.service.id===e);return!n||!n.isLoggedIn||!n.session?null:n.session?.token||null}function Uo(){return(0,E.useContext)(xt)}function Bo(e){let t=sr(),n=ur(e.service.id);return(0,E.useEffect)(()=>(console.log("add service",e.service,e.probeId),t?.addService(e.service,e.probeId),()=>{t?.removeService(e.service,e.probeId)}),[e.service]),n?(n.error||!n.isLoggedIn,e.children):null}function tn(){return null}function rn(e){let[t,n,r]=ar(e.resource),o=e.fallbackComponent||tn,a=e.loadingComponent||tn,i=e.errorComponent||tn,s=n.service,u=null;if(!r||!s)return e.children(t);let c=s.service.filter(l=>l.type==="AuthAccessService2");n.status==="error"&&(u=(0,he.jsx)(i,{resource:e.resource,error:n.error||"",heading:n.errorHeading,note:n.errorNote,extra:e.extra})),(n.status==="unknown"||n.status==="probing")&&(u=(0,he.jsx)(a,{})),n.status==="success"&&(u=e.children(t));for(let l of c)u=(0,he.jsx)(Bo,{service:l,probeId:s.id,children:u},l.id);return u}var Qe=require("react");var cr=require("zustand/vanilla"),_o=e=>e.id||e["@id"];function Wo(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 lr=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?_o(t):void 0,r=null;return(0,cr.createStore)((o,a)=>({service:t,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!t,hasAutocomplete:t?!!Wo(t):!1,errorMessage:"",search(i,s={}){if(!n)throw new Error("No search service found.");r&&!r.signal.aborted&&r.abort(),r=new AbortController;let u=new URLSearchParams;i.q&&u.set("q",i.q),i.motivation&&u.set("motivation",i.motivation),i.date&&u.set("date",i.date),i.user&&u.set("user",i.user),o({loading:!0}),fetch(`${n}?${u.toString()}`,{signal:r.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...s.headers||{}}}).then(async c=>{if(!r?.signal.aborted)if(c.ok){let l=await c.json();o({resources:l.resources,error:!1,errorMessage:""})}else o({resources:[],error:!0,errorMessage:c.statusText})})},clearSearch(){o({resources:[],error:!1,errorMessage:""})},highlightResult(i){let s=a().resources.find(u=>u["@id"]===i);o({highlight:s})},nextResult(){let i=a().resources,s=a().highlight;if(!s){o({highlight:i[0]||null});return}let u=i.findIndex(c=>c["@id"]===s["@id"]);if(u===-1){o({highlight:i[0]||null});return}o({highlight:i[u+1]||i[0]||null})},previousResult(){let i=a().resources,s=a().highlight;if(!s){o({highlight:i[i.length-1]||null});return}let u=i.findIndex(c=>c["@id"]===s["@id"]);if(u===-1){o({highlight:i[i.length-1]||null});return}if(u===0){o({highlight:i[i.length-1]||null});return}o({highlight:i[u-1]||i[i.length-1]||null})}}))};var $o=require("zustand");function on(){let e=k();return e?e.service.find(t=>t.profile==="SearchService1"||t.profile==="http://iiif.io/api/search/1/search"):void 0}var At=require("react/jsx-runtime"),ke=(0,Qe.createContext)(null);ke.displayName="Search";function dr(e){let t=on();return e.store?(0,At.jsx)(ke.Provider,{value:e.store,children:e.children}):(0,At.jsx)(Yo,{service:t,children:e.children})}function Yo({service:e,children:t}){let n=(0,Qe.useMemo)(()=>lr(e),[e]);return(0,At.jsx)(ke.Provider,{value:n,children:t})}var q=require("react/jsx-runtime"),je=()=>{},Ee=(0,Ct.createContext)({setCurrentCanvasId:je,setCurrentCanvasIndex:je,nextCanvas:je,previousCanvas:je,items:[],sequence:[],setSequenceIndex:je,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function fr(e){let t=k(),{cursor:n,visibleItems:r,next:o,sequence:a,items:i,setCanvasIndex:s,setCanvasId:u,previous:c,setSequenceIndex:l,hasNext:d,hasPrevious:m}=Gt({startCanvas:e.startCanvas,disablePaging:e.pagingEnabled===!1}),y=(0,Ct.useMemo)(()=>({sequence:a,items:i,setCurrentCanvasId:u,nextCanvas:o,previousCanvas:c,totalCanvases:i.length,setCurrentCanvasIndex:s,setSequenceIndex:l,currentSequenceIndex:n,hasNext:d,hasPrevious:m}),[a,i,u,o,c,i,s,l,n]);return t?r.length===0?null:(0,q.jsx)(Ee.Provider,{value:y,children:(0,q.jsx)(pe.Provider,{value:r,children:(0,q.jsx)(X,{canvas:r[0],children:e.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,q.jsx)("div",{children:"Sorry, something went wrong."}))}function an(e){let t=fe(e.vault),n=$t(e.manifest);if(!n)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,q.jsx)("div",{children:"Sorry, something went wrong."});if(n.error)return(0,q.jsx)("div",{children:n.error.toString()});if(!n.isLoaded)return(0,q.jsx)("div",{children:"Loading..."});let r=(0,q.jsx)(fr,{...e,children:e.children});return(0,q.jsx)(me,{vault:t,children:(0,q.jsx)(Yt,{manifest:n.id,children:(0,q.jsx)(nn,{children:(0,q.jsx)(dr,{children:e.rangeId?(0,q.jsx)(Qt,{range:e.rangeId,children:r}):r})})})})}function Ge(){return(0,mr.useContext)(Ee)}var Le=require("react/jsx-runtime");function sn(){return{VaultContext:(0,ye.useContext)(oe),ResourceContext:(0,ye.useContext)(Be),SimpleViewerReactContext:(0,ye.useContext)(Ee),VisibleCanvasReactContext:(0,ye.useContext)(pe),AuthRContext:(0,ye.useContext)(Ne),SearchReactContext:(0,ye.useContext)(ke)}}function un(e){return(0,Le.jsx)(me,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:(0,Le.jsx)(pe.Provider,{value:e.bridge.VisibleCanvasReactContext,children:(0,Le.jsx)(Ee.Provider,{value:e.bridge.SimpleViewerReactContext,children:(0,Le.jsx)(Ne.Provider,{value:e.bridge.AuthRContext,children:(0,Le.jsx)(ke.Provider,{value:e.bridge.SearchReactContext,children:e.children})})})})})}var ze=require("react");var ee=require("react");var bt=require("@iiif/helpers/vault/actions");var pr=require("react");function cn(){let t=A().getStore();return(0,pr.useMemo)(()=>n=>t.dispatch(n),[t])}function gr(e){return typeof e!="string"&&e&&e.bindToVault}function ln(){let e=A(),t=(0,ee.useRef)([]),n=cn(),r=(0,ee.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,ee.useLayoutEffect)(()=>{let s={id:r,type:"AnnotationPage",behavior:[],label:null,thumbnail:[],summary:null,requiredStatement:null,metadata:[],rights:null,provider:[],items:[],seeAlso:[],homepage:[],rendering:[],service:[]};n(bt.entityActions.importEntities({entities:{AnnotationPage:{[s.id]:s}}}))},[r]);let o=b(s=>r&&s.iiif.entities.AnnotationPage[r]||null,[r]),a=(0,ee.useCallback)((s,u)=>{if(r){if(gr(s)){let d=s;d.__vault||d.bindToVault(e),s=typeof d.source=="string"?d.source:d.source.id,t.current[s]=d}else typeof s!="string"&&(s=s.id);let c=e.get({id:r,type:"AnnotationPage"}),l=e.get({id:s,type:"Annotation"});c&&l&&(c.items.find(d=>d.id===l.id)||n(bt.entityActions.addReference({id:r,type:"AnnotationPage",key:"items",reference:{id:s,type:"Annotation"},index:u})))}},[r]),i=(0,ee.useCallback)(s=>{r&&(gr(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:r,type:"AnnotationPage"})&&n(bt.entityActions.removeReference({id:r,type:"AnnotationPage",key:"items",reference:{id:s,type:"Annotation"}})))},[r]);return[o,{addAnnotation:a,removeAnnotation:i}]}var vr=require("react/jsx-runtime"),hr=(0,ze.createContext)(null);function dn(){let e=(0,ze.useContext)(hr);return[e.fullPage,{addAnnotation:e.addAnnotation,removeAnnotation:e.removeAnnotation}]}function mn({children:e}){let[t,{addAnnotation:n,removeAnnotation:r}]=ln();return(0,vr.jsx)(hr.Provider,{value:(0,ze.useMemo)(()=>({fullPage:t,addAnnotation:n,removeAnnotation:r}),[t]),children:e})}var Oe=require("react/jsx-runtime");function yr({width:e,style:t,height:n,error:r,resetErrorBoundary:o}){return(0,Oe.jsxs)("div",{style:{width:e,height:n,minHeight:500,...t||{},background:"#f9f9f9"},children:[(0,Oe.jsx)("h3",{children:"Error occurred"}),(0,Oe.jsx)("p",{children:r.message}),(0,Oe.jsx)("button",{onClick:o,children:"Reset"})]})}var Rt=require("react"),Fe=(0,Rt.createContext)(null);function fn(){return(0,Rt.useContext)(Fe)}var Se=require("react"),pn=(0,Se.createContext)(()=>{}),gn=(0,Se.createContext)(()=>{});function j(e,t,n,r,o=[]){let a=(0,Se.useContext)(e==="portal"?gn:pn);(0,Se.useEffect)(()=>(e!=="none"&&a(t,n,r),()=>{a(t,null)}),[t,e,a,...o])}var He=require("react");var Sr=require("react");function w(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.canvas,i=b(s=>a?s.iiif.entities.Canvas[a]:void 0,[a]);return(0,Sr.useMemo)(()=>{if(i)return r?r(i):i},[i,r,...t])}var hn=(0,He.createContext)(()=>{});function xr(e){let t=w(),n=(0,He.useContext)(hn);(0,He.useEffect)(()=>t&&t.id?(n(t.id,e),()=>n(t.id,-1)):()=>{},[t,e])}var N=require("react/jsx-runtime");function Cr({children:e,errorFallback:t,outerContainerProps:n={},worldScale:r,...o}){let[a,i]=(0,D.useState)(),s=sn(),u=t||yr,[c,l]=(0,D.useState)({}),d=Object.entries(c),[m,y]=(0,D.useState)({}),v=Object.entries(m),[g,h]=(0,D.useState)({}),S=(0,D.useMemo)(()=>r||Math.max(...Object.values(g)),[g]),L=(0,D.useMemo)(()=>({maxOverZoom:S||1,...o.runtimeOptions||{}}),[S,o.runtimeOptions]),C=(0,D.useCallback)((T,F)=>{h($=>{if(F===-1){let{[T]:x,...J}=$;return J}return{...$,[T]:F}})},[]),W=(0,D.useCallback)((T,F,$)=>{l(({[T]:x,...J})=>F?{...J,[T]:{element:F,props:$}}:J)},[]),mt=(0,D.useCallback)((T,F,$)=>{y(({[T]:x,...J})=>F?{...J,[T]:{element:F,props:$}}:J)},[]);return(0,N.jsxs)(Ar.ErrorBoundary,{resetKeys:[],fallbackRender:T=>(0,N.jsx)(u,{...o,...T}),children:[(0,N.jsx)(Pt.AtlasAuto,{...o,containerProps:{style:{position:"relative"},...o.containerProps||{}},htmlChildren:(0,N.jsx)(N.Fragment,{children:d.map(([T,{element:F,props:$}])=>(0,N.jsx)(D.default.Fragment,{children:(0,N.jsx)(F,{...$||{}})},T))}),onCreated:T=>{i(T),o.onCreated&&o.onCreated(T)},runtimeOptions:L,children:(0,N.jsx)(Fe.Provider,{value:a,children:(0,N.jsx)(hn.Provider,{value:C,children:(0,N.jsx)(pn.Provider,{value:W,children:(0,N.jsx)(gn.Provider,{value:mt,children:(0,N.jsx)(un,{bridge:s,children:(0,N.jsx)(Pt.ModeContext.Provider,{value:o.mode||"explore",children:(0,N.jsx)(mn,{children:e})})})})})})})}),(0,N.jsx)("div",{children:v.map(([T,{element:F,props:$}])=>(0,N.jsx)(D.default.Fragment,{children:(0,N.jsx)(F,{...$||{}})},T))})]})}var It=require("@atlas-viewer/atlas");var vn=require("react"),br=require("@iiif/helpers/events");function Ke(e,t){let n=A(),r=(0,vn.useMemo)(()=>(0,br.createEventsHelper)(n),[n]),o=b(()=>e&&e.id?n.getResourceMeta(e.id,"eventManager"):null,[e]);return(0,vn.useMemo)(()=>e?r.getListenersAsProps(e,t):{},[o,e,n,t])}var Rr=require("react"),Pr=require("@iiif/helpers/styles");function xe(e,t){let n=A(),r=(0,Rr.useMemo)(()=>(0,Pr.createStylesHelper)(n),[n]);return b(()=>{if(!e)return null;let o=r.getAppliedStyles(e.id);return o?t?o[t]:o:void 0},[e,t])}var Tr=require("react");var Ir=require("react");var wr=require("@iiif/helpers/annotation-targets");function Ze(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=A(),i=n||o.annotation,s=b(c=>i?c.iiif.entities.Annotation[i]:void 0,[i]),u=b(c=>s&&s.body?s.body.map(l=>l?l.type==="SpecificResource"?{...l,source:a.get(l)}:l?c.iiif.entities[l.type][l.id]:null:null).filter(Boolean):[],[s]);return(0,Ir.useMemo)(()=>{if(!s)return;let c={...s,body:u,target:(0,wr.expandTarget)(s.target,{typeMap:a.getState().iiif.mapping})};return r?r(c):c},[s,r,u,...t])}var Mr=require("react/jsx-runtime"),wt=({id:e,style:t,className:n,interactive:r})=>{let o=Ze({id:e}),a=xe(o,"atlas"),i=xe(o,"html"),s=Ke(o,["atlas"]),u=w(),c=(0,Tr.useMemo)(()=>(0,It.mergeStyles)(t,a),[t,a]);return u&&o&&o.target&&o.target.selector&&o.target.selector.type==="BoxSelector"&&o.target.source&&(o.target.source.id===u.id||o.target.source===u.id)?(0,Mr.jsx)(It.RegionHighlight,{id:o.id,isEditing:!0,region:o.target.selector.spatial,style:c,className:i?.className||n,interactive:!!(i?.href||r),href:i?.href||null,title:i?.title||null,hrefTarget:i?.target||null,onClick:()=>{},...s}):null};var Vr=require("react");var Nr=require("react");function yn(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.annotationPage,i=b(s=>a?s.iiif.entities.AnnotationPage[a]:void 0,[a]);return(0,Nr.useMemo)(()=>{if(i)return r?r(i):i},[i,...t])}var Sn=require("react/jsx-runtime"),Je=({className:e,page:t})=>{let n=yn({id:t.id})||t,r=xe(n,"atlas"),o=xe(n,"html");return b(a=>n.id?a.iiif.entities.AnnotationPage[n.id]:null,[]),(0,Sn.jsx)(Vr.Fragment,{children:n.items?.map(a=>(0,Sn.jsx)(wt,{id:a.id,style:r,className:o?.className||e},a.id))})};var no=require("@iiif/helpers/styles");var Xe=require("react");var Mt=require("@atlas-viewer/atlas");var Ae=de(require("react"),1),te=require("react/jsx-runtime"),Er=Ae.default.createContext("en");function Qo(e){return(0,te.jsx)(Er.Provider,{value:e.language,children:e.children})}function Tt(){return Ae.default.useContext(Er)}function kr(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function Lr({as:e,language:t,children:n,viewingDirection:r,...o}){let a=Tt();return(0,Ae.useMemo)(()=>kr(a)===kr(t),[a,t])?e?(0,te.jsx)(e,{...o,children:n}):(0,te.jsx)("span",{...o,children:n}):e?(0,te.jsx)(e,{...o,lang:t,dir:r,children:n}):(0,te.jsx)("span",{...o,lang:t,dir:r,children:n})}function zr(e,t,n){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let r=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(r&&t.indexOf(r)!==-1)return r;for(let o of n)if(t.indexOf(o)!==-1)return o;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var Or=(e,t=[])=>{let n=Tt();return(0,Ae.useMemo)(()=>{let r=e();return zr(n,r,[])},[n,...t])};function Fr(e,t,n=`
|
|
2
|
-
`){let r=
|
|
3
|
-
`):""}}function _({as:e,defaultText:t,enableDangerouslySetInnerHTML:n,children:r,separator:o,...a}){let[i,s]=Fr(r,t,o);return s?(0,te.jsx)(Lr,{...a,as:e,language:s,title:n?void 0:i,dangerouslySetInnerHTML:n?{__html:i}:void 0,children:n?void 0:i}):e?(0,te.jsx)(e,{...a,children:i}):(0,te.jsx)("span",{...a,title:n?void 0:i,dangerouslySetInnerHTML:n?{__html:i}:void 0,children:n?void 0:i})}var G=require("react/jsx-runtime");function Go({resource:e,heading:t,note:n,extra:r}){return r?(0,G.jsx)(Mt.HTMLPortal,{target:{x:0,y:0,width:r.target?.spatial.width,height:r.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,G.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,G.jsxs)("div",{children:[(0,G.jsx)(_,{children:t||"Not authorised"}),n&&(0,G.jsx)("p",{children:(0,G.jsx)(_,{children:n})}),(0,G.jsx)("p",{children:e.id||e["@id"]||"unknown"})]})})}):null}function Hr({image:e,thumbnail:t,crop:n,enableSizes:r}){return(0,G.jsx)(rn,{resource:e.service,errorComponent:Go,extra:e,children:o=>{let a=o.width||e.width||0,i=o.height||e.height||0;return(0,G.jsx)(Mt.TileSet,{tiles:{id:o.id||o["@id"]||"unknown",height:i,width:a,imageService:o},enableSizes:r,x:0,y:0,width:e.target?.spatial.width,height:e.target?.spatial.height,crop:n})}},e.id)}var Ce=require("react/jsx-runtime");function Nt({id:e,image:t,thumbnail:n,isStatic:r,x:o=0,y:a=0,children:i,selector:s,onClick:u,enableSizes:c}){let l=(0,Xe.useMemo)(()=>{if(!(!s||s.spatial.x===0&&s.spatial.y===0))return s.spatial},[s]);return(0,Ce.jsx)("world-object",{x:o+t.target.spatial.x,y:a+t.target.spatial.y,width:t.target.spatial.width,height:t.target.spatial.height,onClick:u,children:t.service?(0,Ce.jsxs)(Xe.Fragment,{children:[(0,Ce.jsx)(Hr,{image:t,thumbnail:n,crop:l,enableSizes:c}),i]},"service"):(0,Ce.jsxs)(Xe.Fragment,{children:[(0,Ce.jsx)("world-image",{onClick:u,uri:t.id,target:{x:0,y:0,width:t.target.spatial.width,height:t.target.spatial.height},display:t.width&&t.height?{width:t.width,height:t.height}:void 0,crop:l}),i]},"no-service")},e+(t.service?"server":"no-service"))}var K=require("react"),ro=require("@atlas-viewer/atlas");var kn=require("react");var Dr=require("@iiif/helpers");function Ko(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function et(e,t){let{selector:n,source:r}=(0,Dr.expandTarget)(t);if(r.id!==e.id)return[null,r];let o={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:o.spatial}:n:null,r]}var xn={makeChoice:()=>{}},tt={type:"unknown"},P=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),An=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var nt=require("react");function Zo(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function qr(e,t){return b(n=>{let r=[];if(!e)return r;let o=Object.keys(n.iiif.entities.AnnotationPage);for(let a of o)if(!t||t.indexOf(a)!==-1){let i=Zo(n,a);i&&i.views&&i.views[e]&&r.push(a)}return r},[e,t])}function Cn({canvas:e,manifest:t,all:n,canvases:r}){let o=[];if(t)for(let a of t.annotations)o.indexOf(a.id)===-1&&o.push(a.id);if(n){if(r&&r.length)for(let a of r)for(let i of a.annotations)o.indexOf(i.id)===-1&&o.push(i.id)}else if(e)for(let a of e.annotations)o.indexOf(a.id)===-1&&o.push(a.id);return o}function Jo(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function rt(e,t={}){let n=A(),r=k(),o=w(),a=$e(),i=(0,nt.useMemo)(()=>Cn({all:t.all,manifest:r,canvas:o,canvases:a}),[t.all,o,a,r]),s=qr(e,t.all?void 0:i),u=(0,nt.useCallback)(l=>{e&&n.setMetaValue([l,"annotationPageManager","views"],d=>d&&!d[e]?d:{...d||{},[e]:!1})},[e,n]),c=(0,nt.useCallback)((l,d={})=>{if(!e)return;let m=n.getState(),y=[];if(d?.deselectOthers){let v=Object.keys(m.iiif.entities.AnnotationPage);for(let g of v){let h=Jo(m,g);h&&h.views&&h.views[e]&&y.push(g)}}for(let v of y)u(v);n.setMetaValue([l,"annotationPageManager","views"],v=>v&&v[e]?v:{...v||{},[e]:!0})},[e,u,n]);return{availablePageIds:i,enabledPageIds:s,setPageEnabled:c,setPageDisabled:u}}function bn(e,t){return b((n,r)=>r.get(e.map(o=>({id:o,type:t}))),[e,t])}var se=require("react");var Vt=de(require("react"),1),Ur=require("@atlas-viewer/iiif-image-api"),Br=Vt.default.createContext(new Ur.ImageServiceLoader);function ne(){return(0,Vt.useContext)(Br)}function Rn(){let e=ne(),[t,n]=(0,se.useState)({}),r=(0,se.useRef)(!1);return(0,se.useEffect)(()=>()=>{r.current=!0},[]),[(0,se.useCallback)((a,{height:i,width:s})=>{if(a){let u=a.id||a["@id"],c=e.loadServiceSync({id:u,width:a.width||s,height:a.height||i,source:a});c?a=c:t[u]||(r.current||n(l=>({...l,[u]:"loading"})),e.loadService({id:u,width:a.width||s,height:a.height||i}).then(()=>{r.current||n(l=>({...l,[u]:"done"}))}))}return a},[e,t]),t]}var Re=require("react");function be(e={}){let t=Ze(),n=w(e.canvasId?{id:e.canvasId}:void 0);return b((r,o)=>{if(!n)return[];if(t&&e.enableSingleAnnotation)return[t];let a=o.get(n.items),i=[];for(let s of a)i.push(...o.get(s.items));return i},[n])}var _r=require("@iiif/helpers/painting-annotations");function Pn(e,t=[]){let n=A(),r=(0,Re.useMemo)(()=>(0,_r.createPaintingAnnotationsHelper)(n),[]),o=be({enableSingleAnnotation:e?.enableSingleAnnotation}),[a,i]=(0,Re.useState)(e?.defaultChoices||[]),s=(0,Re.useMemo)(()=>r.getPaintables(o,a),[n,o,a,...t]),c={makeChoice:(0,Re.useCallback)((l,{deselectOthers:d=!0,deselect:m=!1}={})=>{if(s.choice){if(s.choice.type!=="single-choice")throw new Error("Complex choice not supported yet");i(y=>{if(m){let g=y.filter(h=>h!==l);if(g.length===0){let h=s.items[0].resource.id;return h?[h]:[]}return g}if(d)return[l];let v=[...y];if(v.length===0&&s.items.length){let g=s.items[0].resource.id;g&&v.push(g)}return y.indexOf(l)!==-1?y:[...y,l]})}},[s.choice])};return[s,c]}var Xo=["model/gltf-binary"];function In(e,t){let r=t.items[0].resource;return r.format?Xo.indexOf(r.format)===-1?P(`3D format: ${r.format} is unsupported`):{type:"3d-model",model:r}:P("Unknown format")}function Wr(e,t){if(!e.duration)return P("No duration on canvas");if(t.items.length>1)return P("Only one audio source supported");let n=t.items[0]?.resource;return n?n.format?{type:"media",media:{annotationId:t.items[0].annotationId,duration:e.duration,url:n.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:n.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}:P("Audio does not have format"):P("Unknown audio")}var $r=require("@atlas-viewer/iiif-image-api");var wn=require("@iiif/helpers/annotation-targets");function Tn(e,t,n){let r=[];for(let o of t.items){let a=o.resource&&o.resource.type==="SpecificResource"?o.resource.source:o.resource;if(!a.id)return P("No resource Identifier");let i;if(a.service){let v=(0,$r.getImageServices)(a);v[0]&&(i=n(v[0],e))}let s={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[u,c]=et(e,o.target);if(!(c.id===e.id||decodeURIComponent(c.id||"")===(e.id||"")))continue;let l=o.resource.width&&o.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:o.resource.width,height:o.resource.height}}:void 0,d=o.resource.type==="SpecificResource"?(0,wn.expandTarget)(o.resource):null;if(o.selector){let v=(0,wn.expandTarget)({type:"SpecificResource",source:o.resource,selector:o.selector});v&&(d=v)}let m=d&&d.selector&&(d.selector.type==="BoxSelector"||d.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:d.selector.spatial.x,y:d.selector.spatial.y,width:d.selector.spatial.width,height:d.selector.spatial.height}}:void 0;i&&!i.id&&(i.id=i["@id"]);let y={id:a.id,type:"Image",annotationId:o.annotationId,width:Number(u||m?a.width:e.width),height:Number(u||m?a.height:e.height),service:i,sizes:i&&i.sizes?i.sizes:a.width&&a.height?[{width:a.width,height:a.height}]:[],target:u&&u.type!=="PointSelector"?u:s,selector:m};r.push(y)}return{type:"images",image:r[0],images:r,choice:t.choice}}function Yr(e,t={},n){let r=e.language||n||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[r]=e.value);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(o=>Yr(o,t,r))}return t}function Mn(e,t){let n=[];return t.items.forEach(r=>{if(r.resource){let[o]=et(e,r.target);n.push({annotationId:r.annotationId,text:Yr(r.resource),target:o})}}),{type:"textual-content",items:n}}var ei=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function Nn(e,t){let n=t.items.filter(s=>s.type==="video"),r=!1;if(e.duration||(r=!0),n.length>1)return P("Only one video source supported");let o=n[0]?.resource,a=!!(o.service||[]).find(s=>(s.profile||"").includes("youtube.com"));if(!a&&r)return P("Video does not have duration");if(!o)return P("Unknown video");if((!o.format||o.format==="text/html")&&!a)return P("Video does not have format");let i={annotationId:t.items[0].annotationId,duration:e.duration,url:o.id,type:"Video",items:[],target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:o.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}};if(a){i.type="VideoYouTube";let s=o.id.match(ei);if(!s[1])return P("Video is not known youtube video");i.youTubeId=s[1]}return{type:"media",media:i,annotations:{pages:[]}}}function Vn({canvas:e,paintables:t,supports:n,loadImageService:r}){if(!e)return console.log("No canvas"),tt;if(t.types.length===0)return n.indexOf("empty")!==-1?An(e.width,e.height):(console.log("No paintables"),tt);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?P("Complex timeline not supported"):P("ComplexTimelineStrategy not yet supported");let o=t.types[0];return o==="image"?n.indexOf("images")===-1?P("Image not supported"):Tn(e,t,r):o==="Model"||o==="model"?n.indexOf("3d-model")===-1?P("3D not supported"):In(e,t):o==="textualbody"?n.indexOf("textual-content")===-1?P("Textual content not supported"):Mn(e,t):o==="sound"||o==="audio"?n.indexOf("media")===-1?P("Media not supported"):Wr(e,t):o==="video"?n.indexOf("media")===-1?P("Media not supported"):Nn(e,t):tt}function En(e){let t=k(),n=w(),r=A(),[o,a]=Rn(),{enabledPageIds:i}=rt(e?.annotationPageManagerId||t?.id||n?.id,{all:!1}),s=bn(i,"AnnotationPage"),u=e?.strategies||["empty","images","media","textual-content","complex-timeline"],[c,l]=Pn(e,[a]),d=(0,kn.useMemo)(()=>Vn({canvas:n,paintables:c,supports:u,loadImageService:o}),[n,c,r,l.makeChoice]);return(0,kn.useMemo)(()=>d.type==="unknown"?[d,xn]:[{...d,annotations:{pages:s}},l],[d,s])}var ue=require("react");var Qr=require("react"),Ln=(e,t=[])=>{let n=A();(0,Qr.useEffect)(()=>{e(n)},[n,...t])};var jr=require("@iiif/helpers/thumbnail");function ot(e,t,{canvasId:n,manifestId:r}={}){let o=A(),a=ne(),i=(0,ue.useMemo)(()=>(0,jr.createThumbnailHelper)(o,{imageServiceLoader:a}),[o,a]),[s,u]=(0,ue.useState)(),c=k(r?{id:r}:void 0),l=w(n?{id:n}:void 0),d=l||c,m=(0,ue.useRef)(!1);if((0,ue.useEffect)(()=>(m.current=!1,()=>{m.current=!0}),[]),!d)throw new Error("Must be called under a manifest or canvas context.");return Ln(y=>{i.getBestThumbnailAtSize(d,e,t).then(v=>{v.best&&!m.current&&u(v.best)})},[d]),s}var M=require("react");function ti(e){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e}}function ni(e,t){switch(t.type){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 Gr(e){let t=Math.round(e);return`${Math.floor(t/60)}:${`${t%60}`.padStart(2,"0")}`}function Pe(e){let[t,n]=(0,M.useReducer)(ni,ti(e.duration)),r=(0,M.useRef)(null),o=(0,M.useRef)(null),a=(0,M.useRef)(null),i=(0,M.useRef)(!1),s=(0,M.useCallback)(()=>{o.current&&r.current&&(o.current.innerHTML=Gr(r.current.currentTime),a.current&&(a.current.style.width=`${r.current.currentTime/e.duration*100}%`),i.current!==r.current.muted&&(i.current=r.current.muted,n(r.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[e.duration]),u=(0,M.useCallback)(()=>{r.current&&(n({type:"PLAY_REQUESTED"}),r.current.play().then(()=>{n({type:"PLAY"})}),s())},[s]),c=(0,M.useCallback)(()=>{r.current&&(r.current.duration>0&&r.current.paused?u():l())},[s]),l=(0,M.useCallback)(()=>{r.current&&(r.current.pause(),n({type:"PAUSE"}),s())},[s]),d=(0,M.useCallback)(()=>{r.current&&(r.current.muted=!r.current.muted,n(r.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),m=(0,M.useCallback)(()=>{r.current&&(r.current.muted=!0,n({type:"MUTE"}))},[]),y=(0,M.useCallback)(()=>{r.current&&(r.current.muted=!1,n({type:"UNMUTE"}))},[]),v=(0,M.useCallback)(S=>{r.current&&(r.current.muted=!1,r.current.volume=S/100,n({type:"SET_VOLUME",volume:S}))},[]),g=(0,M.useCallback)(S=>{r.current&&(r.current.currentTime=Math.max(0,Math.min(S*e.duration,e.duration)),s())},[]),h=(0,M.useCallback)(S=>{r.current&&(r.current.currentTime=Math.max(0,Math.min(S,e.duration)),s())},[]);return(0,M.useEffect)(()=>{let S=setInterval(()=>{s()},350);return()=>clearInterval(S)},[s,e.duration]),(0,M.useEffect)(()=>{let S=()=>{n({type:"FINISHED"})},L=r.current;return L?.addEventListener("ended",S),()=>L?.removeEventListener("ended",S)},[]),[{element:r,currentTime:o,progress:a},t,{play:u,pause:l,playPause:c,mute:m,unmute:y,toggleMute:d,setVolume:v,setDurationPercent:g,setTime:h}]}var ce=require("react"),kt=require("react/jsx-runtime"),Kr=(0,ce.createContext)(null),Zr=(0,ce.createContext)(null),Jr=(0,ce.createContext)(null);function ri(){let e=(0,ce.useContext)(Kr);if(!e)throw new Error("Ctx not found");return e}function oi(){let e=(0,ce.useContext)(Zr);if(!e)throw new Error("Ctx not found");return e}function ii(){let e=(0,ce.useContext)(Jr);if(!e)throw new Error("Ctx not found");return e}function it({actions:e,state:t,children:n,currentTime:r,progress:o,element:a}){return(0,kt.jsx)(Jr.Provider,{value:{currentTime:r,progress:o,element:a},children:(0,kt.jsx)(Zr.Provider,{value:e,children:(0,kt.jsx)(Kr.Provider,{value:t,children:n})})})}var Lt=require("react/jsx-runtime");function zn({media:e,children:t}){let[{element:n,currentTime:r,progress:o},a,i]=Pe({duration:e.duration});return(0,Lt.jsxs)(it,{state:a,actions:i,currentTime:r,progress:o,element:n,children:[(0,Lt.jsx)("audio",{ref:n,src:e.url}),t]})}function Et({media:e,mediaControlsDeps:t,children:n}){return j("portal","audio",zn,{media:e,children:n},[e,...t||[]]),null}var at=require("react/jsx-runtime");function On({element:e,media:t,playPause:n}){return(0,at.jsxs)("div",{className:"video-container",part:"video-container",onClick:n,children:[(0,at.jsx)("style",{children:`
|
|
1
|
+
"use strict";var bo=Object.create;var ht=Object.defineProperty;var Ro=Object.getOwnPropertyDescriptor;var Po=Object.getOwnPropertyNames;var Io=Object.getPrototypeOf,wo=Object.prototype.hasOwnProperty;var To=(e,t)=>{for(var n in t)ht(e,n,{get:t[n],enumerable:!0})},gt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Po(t))!wo.call(e,o)&&o!==n&&ht(e,o,{get:()=>t[o],enumerable:!(r=Ro(t,o))||r.enumerable});return e},p=(e,t,n)=>(gt(e,t,"default"),n&>(n,t,"default")),de=(e,t,n)=>(n=e!=null?bo(Io(e)):{},gt(t||!e||!e.__esModule?ht(n,"default",{value:e,enumerable:!0}):n,e)),Mo=e=>gt(ht({},"__esModule",{value:!0}),e);var f={};To(f,{AnnotationContext:()=>hi,AnnotationPageContext:()=>vi,Auth:()=>on,AuthProvider:()=>nn,AuthProvider_Old:()=>zo,AuthRContext:()=>ve,AuthReactContext:()=>ye,AuthReactContextActions:()=>At,CanvasAnnotations:()=>ci,CanvasContext:()=>X,CanvasPanel:()=>z,CollectionContext:()=>yi,CombinedMetadata:()=>li,ContextBridge:()=>cn,Image:()=>lo,ImageServiceLoaderContext:()=>_r,InnerViewerProvider:()=>pr,LanguageProvider:()=>jo,LanguageString:()=>zr,LocaleString:()=>_,ManifestContext:()=>Yt,ManifestMetadata:()=>mi,MediaPlayerProvider:()=>at,Metadata:()=>dt,RangeContext:()=>Qt,ReactVaultContext:()=>oe,ResourceProvider:()=>H,ResourceReactContext:()=>Be,SequenceThumbnails:()=>gi,SimpleViewerProvider:()=>sn,SimpleViewerReactContext:()=>Ee,SingleCanvasThumbnail:()=>Un,VaultProvider:()=>me,ViewerPresetContext:()=>Fe,VirtualAnnotationProvider:()=>fn,VisibleCanvasReactContext:()=>pe,authDetailsForResource:()=>Xt,createAuthStateStore:()=>Zt,createProbe:()=>Jt,emptyActions:()=>An,emptyStrategy:()=>Cn,findAllCanvasesInRange:()=>St,findFirstCanvasFromRange:()=>rr,findManifestSelectedRange:()=>Vo,findSelectedRange:()=>jt,flattenAnnotationPageIds:()=>bn,formatTime:()=>Kr,get3dStrategy:()=>wn,getImageStrategy:()=>Mn,getManifestSequence:()=>xt,getParsedTargetSelector:()=>tt,getRenderingStrategy:()=>kn,getTextualContentStrategy:()=>Nn,getVideoStrategy:()=>Vn,getVisibleCanvasesFromCanvasId:()=>ko,hasAuth:()=>Eo,makeAccessServiceRequest:()=>Te,makeAccessTokenRequest:()=>ae,parseSpecificResource:()=>Zo,unknownResponse:()=>nt,unsupportedStrategy:()=>P,useAnnotation:()=>Ze,useAnnotationPage:()=>Sn,useAnnotationPageManager:()=>ot,useAnnotationsAtTime:()=>Si,useAuthActions:()=>ur,useAuthActions_old:()=>Bo,useAuthService:()=>cr,useAuthService_old:()=>Do,useAuthStore:()=>Ve,useAuthToken:()=>Fo,useAuthToken_old:()=>Uo,useAuthTokens:()=>en,useAuthTokens_old:()=>qo,useCanvas:()=>w,useCanvasClock:()=>xi,useCanvasSequence:()=>Gt,useCanvasSubset:()=>Ai,useClosestLanguage:()=>Fr,useCollection:()=>Ci,useContextBridge:()=>un,useCreateLocaleString:()=>Go,useCurrentAuth:()=>Oo,useCurrentAuth_old:()=>Ho,useDispatch:()=>ln,useEventListener:()=>bi,useExistingVault:()=>fe,useExternalCollection:()=>Ri,useExternalManifest:()=>$t,useExternalResource:()=>We,useIIIFLanguage:()=>Mt,useImage:()=>qt,useImageService:()=>_n,useImageServiceLoader:()=>ne,useImageTile:()=>Pi,useIsAuthEnabled:()=>rn,useLoadImageService:()=>Pn,useLocaleString:()=>Hr,useManifest:()=>E,useMediaActions:()=>ii,useMediaElements:()=>ai,useMediaState:()=>oi,usePaintables:()=>In,usePaintingAnnotations:()=>Re,useRange:()=>Ye,useRenderingStrategy:()=>Ln,useResourceContext:()=>O,useResourceEvents:()=>Ke,useResources:()=>Rn,useSearchService:()=>an,useSimpleMediaPlayer:()=>Ie,useSimpleViewer:()=>Ge,useStyleHelper:()=>Ii,useStyles:()=>Ae,useThumbnail:()=>it,useVault:()=>A,useVaultEffect:()=>zn,useVaultSelector:()=>b,useViewerPreset:()=>pn,useVirtualAnnotationPage:()=>dn,useVirtualAnnotationPageContext:()=>mn,useVisibleCanvases:()=>$e});module.exports=Mo(f);var ct=require("react");var D=de(require("react"),1),It=require("@atlas-viewer/atlas"),Cr=require("react-error-boundary");var Se=require("react");var we=de(require("react"),1),Qn=require("react/jsx-runtime"),No={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0},Be=we.default.createContext(No),O=()=>(0,we.useContext)(Be);function H({value:e,children:t}){let n=O(),r=(0,we.useMemo)(()=>({...n,...e}),[e,n]);return(0,Qn.jsx)(Be.Provider,{value:r,children:t})}var vt=de(require("react"),1),_e=require("@iiif/helpers/vault");var Wt=require("react/jsx-runtime"),oe=vt.default.createContext({vault:null,setVaultInstance:e=>{}});function me({vault:e,vaultOptions:t,useGlobal:n,resources:r,children:o}){let[a,i]=(0,vt.useState)(()=>e||(n?(0,_e.globalVault)(t):t?new _e.Vault(t):new _e.Vault));return(0,Wt.jsx)(oe.Provider,{value:{vault:a,setVaultInstance:i},children:(0,Wt.jsx)(H,{value:r||{},children:o})})}var fr=require("react"),bt=require("react");var jn=require("@iiif/helpers/vault"),Gn=require("react");function fe(e){let t=(0,Gn.useContext)(oe);return e||(t&&t.vault?t.vault:(0,jn.globalVault)())}var ie=require("react");function We(e,{noCache:t=!1}={}){let n=typeof e=="string"?e:e.id,r=fe(),[o,a]=(0,ie.useState)(n),[i,s]=(0,ie.useState)(void 0),u=(0,ie.useMemo)(()=>r.get(n,{skipSelfReturn:!0})||void 0,[n,r]),[c,l]=(0,ie.useState)(u);return(0,ie.useEffect)(()=>{(async()=>{try{let d=u&&!t?u:await r.load(n),m=d?d.id||d["@id"]:null;d&&o!==m&&a(m),l(d)}catch(d){s(d)}})()},[n,t]),{isLoaded:!!c,id:o,requestId:n,error:i,resource:c,cached:!!(c&&c===u)}}function $t(e,t){let{id:n,isLoaded:r,error:o,resource:a,requestId:i,cached:s}=We(e,t);return{id:n,isLoaded:r,error:o,manifest:a,requestId:i,cached:s}}var Kn=require("react/jsx-runtime");function Yt({manifest:e,children:t}){return(0,Kn.jsx)(H,{value:{manifest:e},children:t})}var Zn=require("react/jsx-runtime");function X({canvas:e,children:t}){return(0,Zn.jsx)(H,{value:{canvas:e},children:t})}var Xn=require("react"),er=de(require("react"),1);var Jn=require("react"),A=()=>{let{vault:e}=(0,Jn.useContext)(oe);if(e===null)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return e};var yt=require("react");function b(e,t=[]){let n=A(),[r,o]=(0,yt.useState)(()=>e(n.getState(),n));return(0,yt.useEffect)(()=>n.subscribe(a=>e(a,n),a=>{o(a)},!1),t),r}var pe=er.default.createContext([]);function $e(){let e=(0,Xn.useContext)(pe);return b(t=>e.map(n=>t.iiif.entities.Canvas[n]).filter(Boolean),[e])}var tr=require("react");function E(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=A(),i=n||o.manifest,s=b(u=>i?u.iiif.entities.Manifest[i]:void 0,[i]);return(0,tr.useMemo)(()=>{if(s)return r?r(s):s},[s,r,...t])}var nr=require("react/jsx-runtime");function Qt({range:e,children:t}){return(0,nr.jsx)(H,{value:{range:e},children:t})}function rr(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 r=rr(e,e.get(n));if(r)return r}}return null}function St(e,t){let n=[];for(let r of t.items)if(r.type==="SpecificResource"&&r.source?.type==="Canvas"&&(r.source.id.indexOf("#")!==-1?n.push({id:r.source.id.split("#")[0],type:"Canvas"}):n.push(r.source)),r.type==="Range"&&n.push(...St(e,e.get(r))),r.type==="SpecificResource"){let o=typeof r.source=="string"?r.source:r.source.id;n.push({id:o,type:"Canvas"})}return n}function Vo(e,t,n){for(let r of t.structures){let o=jt(e,e.get(r),n);if(o)return o}return null}function jt(e,t,n){for(let r of t.items){let o=r?.source?.id?.split("#")[0];if(r.type==="SpecificResource"&&r.source===n||r.type==="SpecificResource"&&r.source?.type==="Canvas"&&n===o)return t;if(r.type==="Range"){let a=jt(e,e.get(r),n);if(a)return a}}return null}function ko(e,t,n,r=!1){let o=t.behavior,a=n?e.get(n):null;if(!a)return[];let i=a.behavior,s=r?!1:o.includes("paged"),u=s?!1:o.includes("continuous"),c=s||u?!1:o.includes("individuals"),l=i.includes("facing-pages"),d=i.includes("non-paged");if(l||d||c||r)return[{id:a.id,type:"Canvas"}];let[m,y]=xt(e,t);if(u)return m;let v=m.findIndex(g=>g.id===n);if(v===-1)return[];for(let g of y)if(g.includes(v))return g.map(h=>m[h]);return[{id:a.id,type:"Canvas"}]}function xt(e,t,{disablePaging:n,skipNonPaged:r}={}){let o=t.behavior,a=o.includes("paged"),i=a?!1:o.includes("continuous"),s=a||i?!1:o.includes("individuals"),u=t.type==="Manifest"?t.items:St(e,t);if(i)return[u,[u.map((v,g)=>g)]];if(s||!a||n)return[u,u.map((v,g)=>[g])];let c=[],l=[],d=()=>{l.length&&(c.push([...l]),l=[])},m=0,y=!1;for(let v=0;v<u.length;v++){let g=e.get(u[v]);if(g.behavior.includes("non-paged")){v===m&&m++,r||(d(),c.push([v]),d());continue}if(v===m||g.behavior.includes("facing-pages")){l.length&&(y=!0),d(),c.push([v]),d();continue}if(l.push(v),y){d(),y=!1;continue}l.length>1&&d()}return l.length&&d(),[u,c]}var Q=require("react");var or=require("react");function Ye(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.range,i=b(s=>a?s.iiif.entities.Range[a]:void 0,[a]);return(0,or.useMemo)(()=>{if(i)return r?r(i):i},[i,r,...t])}function Gt({startCanvas:e,disablePaging:t}){let n=A(),r=E(),o=Ye(),[a,i]=(0,Q.useState)(void 0),s=o||r;if(!s)throw new Error("Nothing selected");let[u,c]=(0,Q.useMemo)(()=>xt(n,s,{disablePaging:t}),[n,s,t]),l=(0,Q.useRef)(c);if(l.current!==c){let h=l.current[a][0],S=c.findIndex(L=>L.includes(h));l.current=c,i(S)}let d=(0,Q.useCallback)(g=>{let h=c.findIndex(S=>S.includes(g));i(h===-1?0:h)},[u,c]),m=(0,Q.useCallback)(g=>{let h=u.findIndex(S=>S.id===g);h!==-1?d(h):i(0)},[u,c]),y=(0,Q.useCallback)(()=>{i(g=>g>=c.length-1?g:g+1)},[c]),v=(0,Q.useCallback)(()=>{i(g=>g<=0?0:g-1)},[c]);return typeof a>"u"&&(e?m(e):i(0)),{visibleItems:c[a]?.map(g=>u[g].id)||[],cursor:a,items:u,sequence:c,hasPrevious:a>0,hasNext:a<c.length-1,setSequenceIndex:i,setCanvasIndex:d,setCanvasId:m,next:y,previous:v}}var N=require("react");var Me=require("react");var Kt=require("zustand/vanilla");function Eo(e){let t=e.service||e.services||[];for(let n of t)if(n.type==="AuthProbeService2")return!0;return!1}function j(e,t,n){let r=t.findIndex(i=>i.service.id===e);if(r===-1)return t;let o=[...t],a=n(o[r]);return a===o[r]?t:(o[r]=a,o)}var Zt=()=>(0,Kt.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 r=n.service.service.find(o=>o.type==="AuthAccessTokenService2");if(!r)throw new Error("Token service not found");e(()=>({authItems:j(n.id,t().authItems,o=>({...o,isPending:!0}))})),Te(n.service).then(()=>{ae(r).then(o=>{let a=o.expiresIn,i=Date.now()+a*1e3;e(()=>({authItems:j(n.id,t().authItems,s=>({...s,isLoggedIn:!0,isPending:!1,session:{token:o.accessToken,expires:i}}))}))}).catch(o=>{e(()=>({authItems:j(n.id,t().authItems,a=>({...a,isLoggedIn:!1,isPending:!1,error:o.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 r=n.service.service.find(i=>i.type==="AuthLogoutService2");if(!r)return;let o=`${r.id}?origin=${ir()}`,a=window.open(o);e(()=>({authItems:j(n.id,t().authItems,i=>({...i,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let n=t().authItems.length,r=t().currentAuth+1;r>=n||e(()=>({currentAuth:r}))},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,r)=>{if(!n.service)return;let o=n.service.find(s=>s.type==="AuthAccessTokenService2"),a=n;if(t().authItems.find(s=>s.service.id===n.id)){e(()=>({authItems:j(n.id,t().authItems,s=>({...s,instances:s.instances+1}))}));return}if(e(()=>({currentAuth:a.profile==="active"?0:t().currentAuth,authItems:[{id:n.id,type:n.profile,service:n,probeId:r,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...t().authItems]})),n.profile==="external"){if(!o)throw new Error("Token service not found");ae(o).then(s=>{e(()=>({authItems:j(n.id,t().authItems,u=>({...u,isLoggedIn:!0,isPending:!1,session:{token:s.accessToken,expires:s.expiresIn}}))}))}).catch(s=>{e(()=>({authItems:j(n.id,t().authItems,u=>({...u,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:s.message}))}))})}if(n.profile==="kiosk"){if(!o)throw new Error("Token service not found");e(()=>({authItems:j(n.id,t().authItems,s=>({...s,isPending:!0}))})),Te(a).then(()=>{ae(o).then(s=>{e(()=>({authItems:j(n.id,t().authItems,u=>({...u,isLoggedIn:!0,isPending:!1,session:{token:s.accessToken,expires:s.expiresIn}}))}))}).catch(s=>{e(()=>({authItems:j(n.id,t().authItems,u=>({...u,isLoggedIn:!1,isPending:!1,error:s.message}))}))})})}n.profile},removeService:(n,r)=>{let o=t().currentAuth===t().authItems.findIndex(i=>i.service.id===n.id),a=t().currentAuth;if(o){let i=t().authItems.find(u=>u.service.id===n.id);i&&i.instances>1||(a=t().authItems.findIndex(c=>c.service.id!==n.id&&c.instances>0))}e(()=>({authItems:j(n.id,t().authItems,i=>({...i,instances:i.instances-1})),currentAuth:a}))}})),Jt=(e,t)=>(0,Kt.createStore)((n,r)=>({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(!r().service)return;let o=r().service?.id;if(!o){n({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}n({status:"probing"});let a=r().token;try{let i=await fetch(o,{headers:a?{Authorization:`Bearer ${r().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(s=>s.json());if(i.status===200)n({status:"success",shouldDisplayResource:!0,error:null,errorHeading:null,errorNote:null,shouldSubstitute:!1,shouldRedirect:!1});else if(i.status<400&&i.status>=300){if(!i.location)throw new Error("Redirect location not found");n({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:i.location||null})}else if(i.status===401)n({status:"error",shouldDisplayResource:!1,shouldRedirect:!1,shouldSubstitute:!!i.substitute,substituteResource:i.substitute||null,error:"Unauthorized",errorHeading:i.heading||{en:["Unauthorized"]},errorNote:i.note||null});else throw new Error("Unknown error")}catch(i){n({status:"error",error:i.message,errorHeading:{en:["Unknown error"]}})}},setToken(o){n({token:o})}}));function Xt(e){let t=e.service||e.services||[],n={hasAuth:!1,services:{}};for(let r of t)if(r.type==="AuthProbeService2"){n.services.probe=r,n.hasAuth=!0;let o=r.service.filter(a=>a.type==="AuthAccessService2");o[0]&&(n.services.access=o[0])}return n}async function ae(e,{strict:t=!0}={}){return new Promise((n,r)=>{let o=Math.random().toString(36).substring(7),a=`${e.id}?messageId=${o}&origin=${window.location.origin}`,i=c=>{let l=c.data;if(l.messageId===o){if(t&&l.type!=="AuthAccessToken2"){s(),r("Invalid response, expected type=AuthAccessToken2");return}if(!l.accessToken){s(),r("Invalid response, expected accessToken");return}s(),n(l)}},s=()=>window.removeEventListener("message",i),u=document.createElement("iframe");u.src=a,u.style.display="none",document.body.appendChild(u),window.addEventListener("message",i)})}function ir(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 Te(e){let t=`${e.id}?origin=${ir()}`,n=window.open(t);if(!n)throw new Error("Failed to open window");return new Promise((r,o)=>{let a=setInterval(()=>{n.closed&&(clearInterval(a),r())},500)})}var ar=require("zustand");function sr(e){let t=(0,Me.useMemo)(()=>Xt(e),[e]),n=en(t.services.access?.id),r=(0,Me.useMemo)(()=>Jt(t.services.probe,n),[t.services.probe]),o=(0,ar.useStore)(r);return(0,Me.useEffect)(()=>{o.status==="unknown"&&!n&&o.probe()},[t.services.probe,o.status]),(0,Me.useEffect)(()=>{n&&(o.setToken(n),o.probe())},[n]),[e,o,t.hasAuth]}var Ne=require("zustand"),he=require("react/jsx-runtime"),ve=(0,N.createContext)(null),ye=(0,N.createContext)(null);ye.displayName="CurrentAuth";var At=(0,N.createContext)(null);At.displayName="AuthActions";function ge(e,t,n){let r=t.authItems.findIndex(i=>i.service.id===e);if(r===-1)return t;let o=[...t.authItems],a=n(o[r]);return a===o[r]?t:(o[r]=a,{...t,authItems:o})}function Lo(e,t){switch(t.type){case"login.start":return ge(t.payload.id,e,n=>({...n,isPending:!0}));case"login.success":return ge(t.payload.id,e,n=>({...n,isLoggedIn:!0,isPending:!1,session:{token:t.payload.token,expires:t.payload.expires}}));case"login.error":return ge(t.payload.id,e,n=>({...n,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:t.payload.error}));case"session.expire":return ge(t.payload.id,e,n=>({...n,isPending:!1,isLoggedIn:!1,session:null}));case"logout":return ge(t.payload.id,e,n=>({...n,isLoggedIn:!1,session:null,isPending:!1}));case"service.add":return e.authItems.find(r=>r.service.id===t.payload.service.id)?ge(t.payload.service.id,e,r=>({...r,instances:r.instances+1})):{...e,currentAuth:t.payload.service.profile==="active"?0:e.currentAuth,authItems:[{id:t.payload.service.id,type:t.payload.service.profile,service:t.payload.service,probeId:t.payload.probeId,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...e.authItems]};case"service.remove":{let n=e.currentAuth===e.authItems.findIndex(o=>o.service.id===t.payload.id),r=e.currentAuth;if(n){let o=e.authItems.find(i=>i.service.id===t.payload.id);o&&o.instances>1||(r=e.authItems.findIndex(s=>s.service.id!==t.payload.id&&s.instances>0))}return{...ge(t.payload.id,e,o=>({...o,instances:o.instances-1})),currentAuth:r}}case"list.next":{let n=e.authItems.length,r=e.currentAuth+1;return r>=n?e:{...e,currentAuth:r}}case"list.previous":{let n=e.currentAuth-1;return n<0?e:{...e,currentAuth:n}}case"list.set":return t.payload!==-1&&(t.payload<0||t.payload>=e.authItems.length)?e:{...e,currentAuth:t.payload};default:return e}}function nn({children:e}){let t=(0,N.useMemo)(()=>Zt(),[]);return(0,he.jsx)(ve.Provider,{value:t,children:e})}function zo({children:e}){let[t,n]=(0,N.useReducer)(Lo,{currentAuth:-1,authItems:[]}),r=(m,y)=>{if(!m.service)return;let v=m.service.find(h=>h.type==="AuthAccessTokenService2"),g=m;if(n({type:"service.add",payload:{service:m,probeId:y}}),m.profile==="external"){if(!v)throw new Error("Token service not found");ae(v).then(h=>{n({type:"login.success",payload:{id:m.id,token:h.accessToken,expires:h.expiresIn}})}).catch(h=>{n({type:"login.error",payload:{id:m.id,error:h.message}})})}if(m.profile==="kiosk"){if(!v)throw new Error("Token service not found");n({type:"login.start",payload:{id:m.id}}),Te(g).then(()=>{ae(v).then(h=>{n({type:"login.success",payload:{id:m.id,token:h.accessToken,expires:h.expiresIn}})}).catch(h=>{n({type:"login.error",payload:{id:m.id,error:h.message}})})}).catch(h=>{n({type:"login.error",payload:{id:m.id,error:h.message}})})}m.profile},o=m=>{n({type:"service.remove",payload:m})},a=()=>{let m=t.authItems[t.currentAuth];if(!m||m.isPending||m.isLoggedIn)return;if(m.type!=="active")throw new Error("Cannot login to non-active service");let y=m.service.service.find(v=>v.type==="AuthAccessTokenService2");if(!y)throw new Error("Token service not found");n({type:"login.start",payload:{id:m.id}}),Te(m.service).then(()=>{ae(y).then(v=>{let g=v.expiresIn,h=Date.now()+g*1e3;n({type:"login.success",payload:{id:m.id,token:v.accessToken,expires:h}})}).catch(v=>{n({type:"login.error",payload:{id:m.id,error:v.message}})})})},i=()=>{let m=t.authItems[t.currentAuth];if(!m||m.isPending||!m.isLoggedIn)return;if(m.type!=="active")throw new Error("Cannot logout of non-active service");let y=m.service.service.find(h=>h.type==="AuthLogoutService2");if(!y)return;let v=`${y.id}?origin=${window.location.origin}`,g=window.open(v);n({type:"logout",payload:{id:m.id}})},s=()=>{},u=()=>{},c=m=>{},l=(0,N.useMemo)(()=>({addService:r,removeService:o}),[]),d=(0,N.useMemo)(()=>({...t,login:a,logout:i,nextAuth:s,previousAuth:u,setAuth:c}),[t]);return(0,he.jsx)(ye.Provider,{value:d,children:(0,he.jsx)(At.Provider,{value:l,children:e})})}function rn(){return!!(0,N.useContext)(ve)}function Ve(){let e=(0,N.useContext)(ve);if(!e)throw new Error("useAuthActions must be used within a AuthProvider");return e}function ur(){let e=Ve();return(0,Ne.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 Oo(){let e=Ve();return(0,Ne.useStore)(e,t=>t)}function cr(e){let t=Ve();return(0,Ne.useStore)(t,r=>r.authItems.find(o=>o.service.id===e))}function en(e){let t=Ve();return(0,Ne.useStore)(t,r=>r.authItems.find(o=>o.id===e)?.session?.token)}function Fo(e){let t=Ve();return(0,Ne.useStore)(t,r=>{let o=r.authItems.find(a=>a.service.id===e);return!o||!o.isLoggedIn||!o.session?null:o.session?.token||null})}function Ho(){let e=(0,N.useContext)(ye);if(!e)throw new Error("useCurrentAuth must be used within a AuthProvider");return e}function Do(e){let t=(0,N.useContext)(ye);return t&&t.authItems.find(n=>n.service.id===e)||null}function qo(e){let t=(0,N.useContext)(ye);return!t||!e?null:t.authItems.find(n=>n.id===e)?.session?.token||null}function Uo(e){let t=(0,N.useContext)(ye);if(!e||!t)return null;let n=t.authItems.find(r=>r.service.id===e);return!n||!n.isLoggedIn||!n.session?null:n.session?.token||null}function Bo(){return(0,N.useContext)(At)}function _o(e){let t=ur(),n=cr(e.service.id);return(0,N.useEffect)(()=>(t?.addService(e.service,e.probeId),()=>{t?.removeService(e.service,e.probeId)}),[e.service]),n?(n.error||!n.isLoggedIn,e.children):null}function tn(){return null}function on(e){let[t,n,r]=sr(e.resource),o=e.fallbackComponent||tn,a=e.loadingComponent||tn,i=e.errorComponent||tn,s=n.service,u=null;if(!r||!s)return e.children(t);let c=s.service.filter(l=>l.type==="AuthAccessService2");n.status==="error"&&(u=(0,he.jsx)(i,{resource:e.resource,error:n.error||"",heading:n.errorHeading,note:n.errorNote,extra:e.extra})),(n.status==="unknown"||n.status==="probing")&&(u=(0,he.jsx)(a,{})),n.status==="success"&&(u=e.children(t));for(let l of c)u=(0,he.jsx)(_o,{service:l,probeId:s.id,children:u},l.id);return u}var Qe=require("react");var lr=require("zustand/vanilla"),Wo=e=>e.id||e["@id"];function $o(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 dr=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?Wo(t):void 0,r=null;return(0,lr.createStore)((o,a)=>({service:t,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!t,hasAutocomplete:t?!!$o(t):!1,errorMessage:"",search(i,s={}){if(!n)throw new Error("No search service found.");r&&!r.signal.aborted&&r.abort(),r=new AbortController;let u=new URLSearchParams;i.q&&u.set("q",i.q),i.motivation&&u.set("motivation",i.motivation),i.date&&u.set("date",i.date),i.user&&u.set("user",i.user),o({loading:!0}),fetch(`${n}?${u.toString()}`,{signal:r.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...s.headers||{}}}).then(async c=>{if(!r?.signal.aborted)if(c.ok){let l=await c.json();o({resources:l.resources,error:!1,errorMessage:""})}else o({resources:[],error:!0,errorMessage:c.statusText})})},clearSearch(){o({resources:[],error:!1,errorMessage:""})},highlightResult(i){let s=a().resources.find(u=>u["@id"]===i);o({highlight:s})},nextResult(){let i=a().resources,s=a().highlight;if(!s){o({highlight:i[0]||null});return}let u=i.findIndex(c=>c["@id"]===s["@id"]);if(u===-1){o({highlight:i[0]||null});return}o({highlight:i[u+1]||i[0]||null})},previousResult(){let i=a().resources,s=a().highlight;if(!s){o({highlight:i[i.length-1]||null});return}let u=i.findIndex(c=>c["@id"]===s["@id"]);if(u===-1){o({highlight:i[i.length-1]||null});return}if(u===0){o({highlight:i[i.length-1]||null});return}o({highlight:i[u-1]||i[i.length-1]||null})}}))};var Yo=require("zustand");function an(){let e=E();return e?e.service.find(t=>t.profile==="SearchService1"||t.profile==="http://iiif.io/api/search/1/search"):void 0}var Ct=require("react/jsx-runtime"),ke=(0,Qe.createContext)(null);ke.displayName="Search";function mr(e){let t=an();return e.store?(0,Ct.jsx)(ke.Provider,{value:e.store,children:e.children}):(0,Ct.jsx)(Qo,{service:t,children:e.children})}function Qo({service:e,children:t}){let n=(0,Qe.useMemo)(()=>dr(e),[e]);return(0,Ct.jsx)(ke.Provider,{value:n,children:t})}var q=require("react/jsx-runtime"),je=()=>{},Ee=(0,bt.createContext)({setCurrentCanvasId:je,setCurrentCanvasIndex:je,nextCanvas:je,previousCanvas:je,items:[],sequence:[],setSequenceIndex:je,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function pr(e){let t=E(),{cursor:n,visibleItems:r,next:o,sequence:a,items:i,setCanvasIndex:s,setCanvasId:u,previous:c,setSequenceIndex:l,hasNext:d,hasPrevious:m}=Gt({startCanvas:e.startCanvas,disablePaging:e.pagingEnabled===!1}),y=(0,bt.useMemo)(()=>({sequence:a,items:i,setCurrentCanvasId:u,nextCanvas:o,previousCanvas:c,totalCanvases:i.length,setCurrentCanvasIndex:s,setSequenceIndex:l,currentSequenceIndex:n,hasNext:d,hasPrevious:m}),[a,i,u,o,c,i,s,l,n]);return t?r.length===0?null:(0,q.jsx)(Ee.Provider,{value:y,children:(0,q.jsx)(pe.Provider,{value:r,children:(0,q.jsx)(X,{canvas:r[0],children:e.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,q.jsx)("div",{children:"Sorry, something went wrong."}))}function sn(e){let t=fe(e.vault),n=$t(e.manifest);if(!n)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,q.jsx)("div",{children:"Sorry, something went wrong."});if(n.error)return(0,q.jsx)("div",{children:n.error.toString()});if(!n.isLoaded)return(0,q.jsx)("div",{children:"Loading..."});let r=(0,q.jsx)(pr,{...e,children:e.children});return(0,q.jsx)(me,{vault:t,children:(0,q.jsx)(Yt,{manifest:n.id,children:(0,q.jsx)(nn,{children:(0,q.jsx)(mr,{children:e.rangeId?(0,q.jsx)(Qt,{range:e.rangeId,children:r}):r})})})})}function Ge(){return(0,fr.useContext)(Ee)}var Le=require("react/jsx-runtime");function un(){return{VaultContext:(0,Se.useContext)(oe),ResourceContext:(0,Se.useContext)(Be),SimpleViewerReactContext:(0,Se.useContext)(Ee),VisibleCanvasReactContext:(0,Se.useContext)(pe),AuthRContext:(0,Se.useContext)(ve),SearchReactContext:(0,Se.useContext)(ke)}}function cn(e){return(0,Le.jsx)(me,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:(0,Le.jsx)(pe.Provider,{value:e.bridge.VisibleCanvasReactContext,children:(0,Le.jsx)(Ee.Provider,{value:e.bridge.SimpleViewerReactContext,children:(0,Le.jsx)(ve.Provider,{value:e.bridge.AuthRContext,children:(0,Le.jsx)(ke.Provider,{value:e.bridge.SearchReactContext,children:e.children})})})})})}var ze=require("react");var ee=require("react");var Rt=require("@iiif/helpers/vault/actions");var gr=require("react");function ln(){let t=A().getStore();return(0,gr.useMemo)(()=>n=>t.dispatch(n),[t])}function hr(e){return typeof e!="string"&&e&&e.bindToVault}function dn(){let e=A(),t=(0,ee.useRef)([]),n=ln(),r=(0,ee.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,ee.useLayoutEffect)(()=>{let s={id:r,type:"AnnotationPage",behavior:[],label:null,thumbnail:[],summary:null,requiredStatement:null,metadata:[],rights:null,provider:[],items:[],seeAlso:[],homepage:[],rendering:[],service:[]};n(Rt.entityActions.importEntities({entities:{AnnotationPage:{[s.id]:s}}}))},[r]);let o=b(s=>r&&s.iiif.entities.AnnotationPage[r]||null,[r]),a=(0,ee.useCallback)((s,u)=>{if(r){if(hr(s)){let d=s;d.__vault||d.bindToVault(e),s=typeof d.source=="string"?d.source:d.source.id,t.current[s]=d}else typeof s!="string"&&(s=s.id);let c=e.get({id:r,type:"AnnotationPage"}),l=e.get({id:s,type:"Annotation"});c&&l&&(c.items.find(d=>d.id===l.id)||n(Rt.entityActions.addReference({id:r,type:"AnnotationPage",key:"items",reference:{id:s,type:"Annotation"},index:u})))}},[r]),i=(0,ee.useCallback)(s=>{r&&(hr(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:r,type:"AnnotationPage"})&&n(Rt.entityActions.removeReference({id:r,type:"AnnotationPage",key:"items",reference:{id:s,type:"Annotation"}})))},[r]);return[o,{addAnnotation:a,removeAnnotation:i}]}var yr=require("react/jsx-runtime"),vr=(0,ze.createContext)(null);function mn(){let e=(0,ze.useContext)(vr);return[e.fullPage,{addAnnotation:e.addAnnotation,removeAnnotation:e.removeAnnotation}]}function fn({children:e}){let[t,{addAnnotation:n,removeAnnotation:r}]=dn();return(0,yr.jsx)(vr.Provider,{value:(0,ze.useMemo)(()=>({fullPage:t,addAnnotation:n,removeAnnotation:r}),[t]),children:e})}var Oe=require("react/jsx-runtime");function Sr({width:e,style:t,height:n,error:r,resetErrorBoundary:o}){return(0,Oe.jsxs)("div",{style:{width:e,height:n,minHeight:500,...t||{},background:"#f9f9f9"},children:[(0,Oe.jsx)("h3",{children:"Error occurred"}),(0,Oe.jsx)("p",{children:r.message}),(0,Oe.jsx)("button",{onClick:o,children:"Reset"})]})}var Pt=require("react"),Fe=(0,Pt.createContext)(null);function pn(){return(0,Pt.useContext)(Fe)}var xe=require("react"),gn=(0,xe.createContext)(()=>{}),hn=(0,xe.createContext)(()=>{});function G(e,t,n,r,o=[]){let a=(0,xe.useContext)(e==="portal"?hn:gn);(0,xe.useEffect)(()=>(e!=="none"&&a(t,n,r),()=>{a(t,null)}),[t,e,a,...o])}var He=require("react");var xr=require("react");function w(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.canvas,i=b(s=>a?s.iiif.entities.Canvas[a]:void 0,[a]);return(0,xr.useMemo)(()=>{if(i)return r?r(i):i},[i,r,...t])}var vn=(0,He.createContext)(()=>{});function Ar(e){let t=w(),n=(0,He.useContext)(vn);(0,He.useEffect)(()=>t&&t.id?(n(t.id,e),()=>n(t.id,-1)):()=>{},[t,e])}var V=require("react/jsx-runtime");function br({children:e,errorFallback:t,outerContainerProps:n={},worldScale:r,...o}){let[a,i]=(0,D.useState)(),s=un(),u=t||Sr,[c,l]=(0,D.useState)({}),d=Object.entries(c),[m,y]=(0,D.useState)({}),v=Object.entries(m),[g,h]=(0,D.useState)({}),S=(0,D.useMemo)(()=>r||Math.max(...Object.values(g)),[g]),L=(0,D.useMemo)(()=>({maxOverZoom:S||1,...o.runtimeOptions||{}}),[S,o.runtimeOptions]),C=(0,D.useCallback)((T,F)=>{h($=>{if(F===-1){let{[T]:x,...J}=$;return J}return{...$,[T]:F}})},[]),W=(0,D.useCallback)((T,F,$)=>{l(({[T]:x,...J})=>F?{...J,[T]:{element:F,props:$}}:J)},[]),ft=(0,D.useCallback)((T,F,$)=>{y(({[T]:x,...J})=>F?{...J,[T]:{element:F,props:$}}:J)},[]);return(0,V.jsxs)(Cr.ErrorBoundary,{resetKeys:[],fallbackRender:T=>(0,V.jsx)(u,{...o,...T}),children:[(0,V.jsx)(It.AtlasAuto,{...o,containerProps:{style:{position:"relative"},...o.containerProps||{}},htmlChildren:(0,V.jsx)(V.Fragment,{children:d.map(([T,{element:F,props:$}])=>(0,V.jsx)(D.default.Fragment,{children:(0,V.jsx)(F,{...$||{}})},T))}),onCreated:T=>{i(T),o.onCreated&&o.onCreated(T)},runtimeOptions:L,children:(0,V.jsx)(Fe.Provider,{value:a,children:(0,V.jsx)(vn.Provider,{value:C,children:(0,V.jsx)(gn.Provider,{value:W,children:(0,V.jsx)(hn.Provider,{value:ft,children:(0,V.jsx)(cn,{bridge:s,children:(0,V.jsx)(It.ModeContext.Provider,{value:o.mode||"explore",children:(0,V.jsx)(fn,{children:e})})})})})})})}),(0,V.jsx)("div",{children:v.map(([T,{element:F,props:$}])=>(0,V.jsx)(D.default.Fragment,{children:(0,V.jsx)(F,{...$||{}})},T))})]})}var wt=require("@atlas-viewer/atlas");var yn=require("react"),Rr=require("@iiif/helpers/events");function Ke(e,t){let n=A(),r=(0,yn.useMemo)(()=>(0,Rr.createEventsHelper)(n),[n]),o=b(()=>e&&e.id?n.getResourceMeta(e.id,"eventManager"):null,[e]);return(0,yn.useMemo)(()=>e?r.getListenersAsProps(e,t):{},[o,e,n,t])}var Pr=require("react"),Ir=require("@iiif/helpers/styles");function Ae(e,t){let n=A(),r=(0,Pr.useMemo)(()=>(0,Ir.createStylesHelper)(n),[n]);return b(()=>{if(!e)return null;let o=r.getAppliedStyles(e.id);return o?t?o[t]:o:void 0},[e,t])}var Mr=require("react");var wr=require("react");var Tr=require("@iiif/helpers/annotation-targets");function Ze(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=A(),i=n||o.annotation,s=b(c=>i?c.iiif.entities.Annotation[i]:void 0,[i]),u=b(c=>s&&s.body?s.body.map(l=>l?l.type==="SpecificResource"?{...l,source:a.get(l)}:l?c.iiif.entities[l.type][l.id]:null:null).filter(Boolean):[],[s]);return(0,wr.useMemo)(()=>{if(!s)return;let c={...s,body:u,target:(0,Tr.expandTarget)(s.target,{typeMap:a.getState().iiif.mapping})};return r?r(c):c},[s,r,u,...t])}var Nr=require("react/jsx-runtime"),Tt=({id:e,style:t,className:n,interactive:r})=>{let o=Ze({id:e}),a=Ae(o,"atlas"),i=Ae(o,"html"),s=Ke(o,["atlas"]),u=w(),c=(0,Mr.useMemo)(()=>(0,wt.mergeStyles)(t,a),[t,a]);return u&&o&&o.target&&o.target.selector&&o.target.selector.type==="BoxSelector"&&o.target.source&&(o.target.source.id===u.id||o.target.source===u.id)?(0,Nr.jsx)(wt.RegionHighlight,{id:o.id,isEditing:!0,region:o.target.selector.spatial,style:c,className:i?.className||n,interactive:!!(i?.href||r),href:i?.href||null,title:i?.title||null,hrefTarget:i?.target||null,onClick:()=>{},...s}):null};var kr=require("react");var Vr=require("react");function Sn(e={},t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.annotationPage,i=b(s=>a?s.iiif.entities.AnnotationPage[a]:void 0,[a]);return(0,Vr.useMemo)(()=>{if(i)return r?r(i):i},[i,...t])}var xn=require("react/jsx-runtime"),Je=({className:e,page:t})=>{let n=Sn({id:t.id})||t,r=Ae(n,"atlas"),o=Ae(n,"html");return b(a=>n.id?a.iiif.entities.AnnotationPage[n.id]:null,[]),(0,xn.jsx)(kr.Fragment,{children:n.items?.map(a=>(0,xn.jsx)(Tt,{id:a.id,style:r,className:o?.className||e},a.id))})};var ro=require("@iiif/helpers/styles");var et=require("react");var Xe=require("@atlas-viewer/atlas");var Ce=de(require("react"),1),te=require("react/jsx-runtime"),Lr=Ce.default.createContext("en");function jo(e){return(0,te.jsx)(Lr.Provider,{value:e.language,children:e.children})}function Mt(){return Ce.default.useContext(Lr)}function Er(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function zr({as:e,language:t,children:n,viewingDirection:r,...o}){let a=Mt();return(0,Ce.useMemo)(()=>Er(a)===Er(t),[a,t])?e?(0,te.jsx)(e,{...o,children:n}):(0,te.jsx)("span",{...o,children:n}):e?(0,te.jsx)(e,{...o,lang:t,dir:r,children:n}):(0,te.jsx)("span",{...o,lang:t,dir:r,children:n})}function Or(e,t,n){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let r=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(r&&t.indexOf(r)!==-1)return r;for(let o of n)if(t.indexOf(o)!==-1)return o;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var Fr=(e,t=[])=>{let n=Mt();return(0,Ce.useMemo)(()=>{let r=e();return Or(n,r,[])},[n,...t])};function Hr(e,t,n=`
|
|
2
|
+
`){let r=Fr(()=>Object.keys(e||{}),[e]);return[(0,Ce.useMemo)(()=>{if(!e)return t||"";if(typeof e=="string")return e;let o=r?e[r]:void 0;return o?typeof o=="string"?o:o.join(n):""},[r,t,e]),r]}function Go(){let e=Mt();return function(n,r,o){let a=Object.keys(n||{}),i=Or(e,a,[]);if(!n)return r||"";if(typeof n=="string")return n;let s=i?n[i]:void 0;return s?typeof s=="string"?s:s.join(typeof o<"u"?o:`
|
|
3
|
+
`):""}}function _({as:e,defaultText:t,enableDangerouslySetInnerHTML:n,children:r,separator:o,...a}){let[i,s]=Hr(r,t,o);return s?(0,te.jsx)(zr,{...a,as:e,language:s,title:n?void 0:i,dangerouslySetInnerHTML:n?{__html:i}:void 0,children:n?void 0:i}):e?(0,te.jsx)(e,{...a,children:i}):(0,te.jsx)("span",{...a,title:n?void 0:i,dangerouslySetInnerHTML:n?{__html:i}:void 0,children:n?void 0:i})}var Y=require("react/jsx-runtime");function Ko({resource:e,heading:t,note:n,extra:r}){return r?(0,Y.jsx)(Xe.HTMLPortal,{target:{x:0,y:0,width:r.target?.spatial.width,height:r.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,Y.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,Y.jsxs)("div",{children:[(0,Y.jsx)(_,{children:t||"Not authorised"}),n&&(0,Y.jsx)("p",{children:(0,Y.jsx)(_,{children:n})}),(0,Y.jsx)("p",{children:e.id||e["@id"]||"unknown"})]})})}):null}function Dr({image:e,thumbnail:t,crop:n,enableSizes:r}){if(!rn()){let a=e.service,i=a.width||e.width||0,s=a.height||e.height||0;return(0,Y.jsx)(Xe.TileSet,{tiles:{id:a.id||a["@id"]||"unknown",height:s,width:i,imageService:a},enableSizes:r,x:0,y:0,width:e.target?.spatial.width,height:e.target?.spatial.height,crop:n})}return(0,Y.jsx)(on,{resource:e.service,errorComponent:Ko,extra:e,children:a=>{let i=a.width||e.width||0,s=a.height||e.height||0;return(0,Y.jsx)(Xe.TileSet,{tiles:{id:a.id||a["@id"]||"unknown",height:s,width:i,imageService:a},enableSizes:r,x:0,y:0,width:e.target?.spatial.width,height:e.target?.spatial.height,crop:n})}},e.id)}var be=require("react/jsx-runtime");function Nt({id:e,image:t,thumbnail:n,isStatic:r,x:o=0,y:a=0,children:i,selector:s,onClick:u,enableSizes:c}){let l=(0,et.useMemo)(()=>{if(!(!s||s.spatial.x===0&&s.spatial.y===0))return s.spatial},[s]);return(0,be.jsx)("world-object",{x:o+t.target.spatial.x,y:a+t.target.spatial.y,width:t.target.spatial.width,height:t.target.spatial.height,onClick:u,children:t.service?(0,be.jsxs)(et.Fragment,{children:[(0,be.jsx)(Dr,{image:t,thumbnail:n,crop:l,enableSizes:c}),i]},"service"):(0,be.jsxs)(et.Fragment,{children:[(0,be.jsx)("world-image",{onClick:u,uri:t.id,target:{x:0,y:0,width:t.target.spatial.width,height:t.target.spatial.height},display:t.width&&t.height?{width:t.width,height:t.height}:void 0,crop:l}),i]},"no-service")},e+(t.service?"server":"no-service"))}var K=require("react"),oo=require("@atlas-viewer/atlas");var En=require("react");var qr=require("@iiif/helpers");function Zo(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function tt(e,t){let{selector:n,source:r}=(0,qr.expandTarget)(t);if(r.id!==e.id)return[null,r];let o={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:o.spatial}:n:null,r]}var An={makeChoice:()=>{}},nt={type:"unknown"},P=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),Cn=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var rt=require("react");function Jo(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function Ur(e,t){return b(n=>{let r=[];if(!e)return r;let o=Object.keys(n.iiif.entities.AnnotationPage);for(let a of o)if(!t||t.indexOf(a)!==-1){let i=Jo(n,a);i&&i.views&&i.views[e]&&r.push(a)}return r},[e,t])}function bn({canvas:e,manifest:t,all:n,canvases:r}){let o=[];if(t)for(let a of t.annotations)o.indexOf(a.id)===-1&&o.push(a.id);if(n){if(r&&r.length)for(let a of r)for(let i of a.annotations)o.indexOf(i.id)===-1&&o.push(i.id)}else if(e)for(let a of e.annotations)o.indexOf(a.id)===-1&&o.push(a.id);return o}function Xo(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function ot(e,t={}){let n=A(),r=E(),o=w(),a=$e(),i=(0,rt.useMemo)(()=>bn({all:t.all,manifest:r,canvas:o,canvases:a}),[t.all,o,a,r]),s=Ur(e,t.all?void 0:i),u=(0,rt.useCallback)(l=>{e&&n.setMetaValue([l,"annotationPageManager","views"],d=>d&&!d[e]?d:{...d||{},[e]:!1})},[e,n]),c=(0,rt.useCallback)((l,d={})=>{if(!e)return;let m=n.getState(),y=[];if(d?.deselectOthers){let v=Object.keys(m.iiif.entities.AnnotationPage);for(let g of v){let h=Xo(m,g);h&&h.views&&h.views[e]&&y.push(g)}}for(let v of y)u(v);n.setMetaValue([l,"annotationPageManager","views"],v=>v&&v[e]?v:{...v||{},[e]:!0})},[e,u,n]);return{availablePageIds:i,enabledPageIds:s,setPageEnabled:c,setPageDisabled:u}}function Rn(e,t){return b((n,r)=>r.get(e.map(o=>({id:o,type:t}))),[e,t])}var se=require("react");var Vt=de(require("react"),1),Br=require("@atlas-viewer/iiif-image-api"),_r=Vt.default.createContext(new Br.ImageServiceLoader);function ne(){return(0,Vt.useContext)(_r)}function Pn(){let e=ne(),[t,n]=(0,se.useState)({}),r=(0,se.useRef)(!1);return(0,se.useEffect)(()=>()=>{r.current=!0},[]),[(0,se.useCallback)((a,{height:i,width:s})=>{if(a){let u=a.id||a["@id"],c=e.loadServiceSync({id:u,width:a.width||s,height:a.height||i,source:a});c?a=c:t[u]||(r.current||n(l=>({...l,[u]:"loading"})),e.loadService({id:u,width:a.width||s,height:a.height||i}).then(()=>{r.current||n(l=>({...l,[u]:"done"}))}))}return a},[e,t]),t]}var Pe=require("react");function Re(e={}){let t=Ze(),n=w(e.canvasId?{id:e.canvasId}:void 0);return b((r,o)=>{if(!n)return[];if(t&&e.enableSingleAnnotation)return[t];let a=o.get(n.items),i=[];for(let s of a)i.push(...o.get(s.items));return i},[n])}var Wr=require("@iiif/helpers/painting-annotations");function In(e,t=[]){let n=A(),r=(0,Pe.useMemo)(()=>(0,Wr.createPaintingAnnotationsHelper)(n),[]),o=Re({enableSingleAnnotation:e?.enableSingleAnnotation}),[a,i]=(0,Pe.useState)(e?.defaultChoices||[]),s=(0,Pe.useMemo)(()=>r.getPaintables(o,a),[n,o,a,...t]),c={makeChoice:(0,Pe.useCallback)((l,{deselectOthers:d=!0,deselect:m=!1}={})=>{if(s.choice){if(s.choice.type!=="single-choice")throw new Error("Complex choice not supported yet");i(y=>{if(m){let g=y.filter(h=>h!==l);if(g.length===0){let h=s.items[0].resource.id;return h?[h]:[]}return g}if(d)return[l];let v=[...y];if(v.length===0&&s.items.length){let g=s.items[0].resource.id;g&&v.push(g)}return y.indexOf(l)!==-1?y:[...y,l]})}},[s.choice])};return[s,c]}var ei=["model/gltf-binary"];function wn(e,t){let r=t.items[0].resource;return r.format?ei.indexOf(r.format)===-1?P(`3D format: ${r.format} is unsupported`):{type:"3d-model",model:r}:P("Unknown format")}function $r(e,t){if(!e.duration)return P("No duration on canvas");if(t.items.length>1)return P("Only one audio source supported");let n=t.items[0]?.resource;return n?n.format?{type:"media",media:{annotationId:t.items[0].annotationId,duration:e.duration,url:n.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:n.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}:P("Audio does not have format"):P("Unknown audio")}var Yr=require("@atlas-viewer/iiif-image-api");var Tn=require("@iiif/helpers/annotation-targets");function Mn(e,t,n){let r=[];for(let o of t.items){let a=o.resource&&o.resource.type==="SpecificResource"?o.resource.source:o.resource;if(!a.id)return P("No resource Identifier");let i;if(a.service){let v=(0,Yr.getImageServices)(a);v[0]&&(i=n(v[0],e))}let s={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[u,c]=tt(e,o.target);if(!(c.id===e.id||decodeURIComponent(c.id||"")===(e.id||"")))continue;let l=o.resource.width&&o.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:o.resource.width,height:o.resource.height}}:void 0,d=o.resource.type==="SpecificResource"?(0,Tn.expandTarget)(o.resource):null;if(o.selector){let v=(0,Tn.expandTarget)({type:"SpecificResource",source:o.resource,selector:o.selector});v&&(d=v)}let m=d&&d.selector&&(d.selector.type==="BoxSelector"||d.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:d.selector.spatial.x,y:d.selector.spatial.y,width:d.selector.spatial.width,height:d.selector.spatial.height}}:void 0;i&&!i.id&&(i.id=i["@id"]);let y={id:a.id,type:"Image",annotationId:o.annotationId,width:Number(u||m?a.width:e.width),height:Number(u||m?a.height:e.height),service:i,sizes:i&&i.sizes?i.sizes:a.width&&a.height?[{width:a.width,height:a.height}]:[],target:u&&u.type!=="PointSelector"?u:s,selector:m};r.push(y)}return{type:"images",image:r[0],images:r,choice:t.choice}}function Qr(e,t={},n){let r=e.language||n||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[r]=e.value);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(o=>Qr(o,t,r))}return t}function Nn(e,t){let n=[];return t.items.forEach(r=>{if(r.resource){let[o]=tt(e,r.target);n.push({annotationId:r.annotationId,text:Qr(r.resource),target:o})}}),{type:"textual-content",items:n}}var ti=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function Vn(e,t){let n=t.items.filter(s=>s.type==="video"),r=!1;if(e.duration||(r=!0),n.length>1)return P("Only one video source supported");let o=n[0]?.resource,a=!!(o.service||[]).find(s=>(s.profile||"").includes("youtube.com"));if(!a&&r)return P("Video does not have duration");if(!o)return P("Unknown video");if((!o.format||o.format==="text/html")&&!a)return P("Video does not have format");let i={annotationId:t.items[0].annotationId,duration:e.duration,url:o.id,type:"Video",items:[],target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:o.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}};if(a){i.type="VideoYouTube";let s=o.id.match(ti);if(!s[1])return P("Video is not known youtube video");i.youTubeId=s[1]}return{type:"media",media:i,annotations:{pages:[]}}}function kn({canvas:e,paintables:t,supports:n,loadImageService:r}){if(!e)return nt;if(t.types.length===0)return n.indexOf("empty")!==-1?Cn(e.width,e.height):nt;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?P("Complex timeline not supported"):P("ComplexTimelineStrategy not yet supported");let o=t.types[0];return o==="image"?n.indexOf("images")===-1?P("Image not supported"):Mn(e,t,r):o==="Model"||o==="model"?n.indexOf("3d-model")===-1?P("3D not supported"):wn(e,t):o==="textualbody"?n.indexOf("textual-content")===-1?P("Textual content not supported"):Nn(e,t):o==="sound"||o==="audio"?n.indexOf("media")===-1?P("Media not supported"):$r(e,t):o==="video"?n.indexOf("media")===-1?P("Media not supported"):Vn(e,t):nt}function Ln(e){let t=E(),n=w(),r=A(),[o,a]=Pn(),{enabledPageIds:i}=ot(e?.annotationPageManagerId||t?.id||n?.id,{all:!1}),s=Rn(i,"AnnotationPage"),u=e?.strategies||["empty","images","media","textual-content","complex-timeline"],[c,l]=In(e,[a]),d=(0,En.useMemo)(()=>kn({canvas:n,paintables:c,supports:u,loadImageService:o}),[n,c,r,l.makeChoice]);return(0,En.useMemo)(()=>d.type==="unknown"?[d,An]:[{...d,annotations:{pages:s}},l],[d,s])}var ue=require("react");var jr=require("react"),zn=(e,t=[])=>{let n=A();(0,jr.useEffect)(()=>{e(n)},[n,...t])};var Gr=require("@iiif/helpers/thumbnail");function it(e,t,{canvasId:n,manifestId:r}={}){let o=A(),a=ne(),i=(0,ue.useMemo)(()=>(0,Gr.createThumbnailHelper)(o,{imageServiceLoader:a}),[o,a]),[s,u]=(0,ue.useState)(),c=E(r?{id:r}:void 0),l=w(n?{id:n}:void 0),d=l||c,m=(0,ue.useRef)(!1);if((0,ue.useEffect)(()=>(m.current=!1,()=>{m.current=!0}),[]),!d)throw new Error("Must be called under a manifest or canvas context.");return zn(y=>{i.getBestThumbnailAtSize(d,e,t).then(v=>{v.best&&!m.current&&u(v.best)})},[d]),s}var M=require("react");function ni(e){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e}}function ri(e,t){switch(t.type){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 Kr(e){let t=Math.round(e);return`${Math.floor(t/60)}:${`${t%60}`.padStart(2,"0")}`}function Ie(e){let[t,n]=(0,M.useReducer)(ri,ni(e.duration)),r=(0,M.useRef)(null),o=(0,M.useRef)(null),a=(0,M.useRef)(null),i=(0,M.useRef)(!1),s=(0,M.useCallback)(()=>{o.current&&r.current&&(o.current.innerHTML=Kr(r.current.currentTime),a.current&&(a.current.style.width=`${r.current.currentTime/e.duration*100}%`),i.current!==r.current.muted&&(i.current=r.current.muted,n(r.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[e.duration]),u=(0,M.useCallback)(()=>{r.current&&(n({type:"PLAY_REQUESTED"}),r.current.play().then(()=>{n({type:"PLAY"})}),s())},[s]),c=(0,M.useCallback)(()=>{r.current&&(r.current.duration>0&&r.current.paused?u():l())},[s]),l=(0,M.useCallback)(()=>{r.current&&(r.current.pause(),n({type:"PAUSE"}),s())},[s]),d=(0,M.useCallback)(()=>{r.current&&(r.current.muted=!r.current.muted,n(r.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),m=(0,M.useCallback)(()=>{r.current&&(r.current.muted=!0,n({type:"MUTE"}))},[]),y=(0,M.useCallback)(()=>{r.current&&(r.current.muted=!1,n({type:"UNMUTE"}))},[]),v=(0,M.useCallback)(S=>{r.current&&(r.current.muted=!1,r.current.volume=S/100,n({type:"SET_VOLUME",volume:S}))},[]),g=(0,M.useCallback)(S=>{r.current&&(r.current.currentTime=Math.max(0,Math.min(S*e.duration,e.duration)),s())},[]),h=(0,M.useCallback)(S=>{r.current&&(r.current.currentTime=Math.max(0,Math.min(S,e.duration)),s())},[]);return(0,M.useEffect)(()=>{let S=setInterval(()=>{s()},350);return()=>clearInterval(S)},[s,e.duration]),(0,M.useEffect)(()=>{let S=()=>{n({type:"FINISHED"})},L=r.current;return L?.addEventListener("ended",S),()=>L?.removeEventListener("ended",S)},[]),[{element:r,currentTime:o,progress:a},t,{play:u,pause:l,playPause:c,mute:m,unmute:y,toggleMute:d,setVolume:v,setDurationPercent:g,setTime:h}]}var ce=require("react"),kt=require("react/jsx-runtime"),Zr=(0,ce.createContext)(null),Jr=(0,ce.createContext)(null),Xr=(0,ce.createContext)(null);function oi(){let e=(0,ce.useContext)(Zr);if(!e)throw new Error("Ctx not found");return e}function ii(){let e=(0,ce.useContext)(Jr);if(!e)throw new Error("Ctx not found");return e}function ai(){let e=(0,ce.useContext)(Xr);if(!e)throw new Error("Ctx not found");return e}function at({actions:e,state:t,children:n,currentTime:r,progress:o,element:a}){return(0,kt.jsx)(Xr.Provider,{value:{currentTime:r,progress:o,element:a},children:(0,kt.jsx)(Jr.Provider,{value:e,children:(0,kt.jsx)(Zr.Provider,{value:t,children:n})})})}var Lt=require("react/jsx-runtime");function On({media:e,children:t}){let[{element:n,currentTime:r,progress:o},a,i]=Ie({duration:e.duration});return(0,Lt.jsxs)(at,{state:a,actions:i,currentTime:r,progress:o,element:n,children:[(0,Lt.jsx)("audio",{ref:n,src:e.url}),t]})}function Et({media:e,mediaControlsDeps:t,children:n}){return G("portal","audio",On,{media:e,children:n},[e,...t||[]]),null}var st=require("react/jsx-runtime");function Fn({element:e,media:t,playPause:n}){return(0,st.jsxs)("div",{className:"video-container",part:"video-container",onClick:n,children:[(0,st.jsx)("style",{children:`
|
|
4
4
|
.video-container {
|
|
5
5
|
position: absolute;
|
|
6
6
|
top: 0;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
justify-content: center;
|
|
14
14
|
pointer-events: visible;
|
|
15
15
|
}
|
|
16
|
-
`}),(0,
|
|
16
|
+
`}),(0,st.jsx)("video",{ref:e,src:t.url,style:{width:"100%",objectFit:"contain"}})]})}function zt({media:e,mediaControlsDeps:t,children:n}){let[{element:r,currentTime:o,progress:a},i,s]=Ie({duration:e.duration});return G("overlay","video-element",Fn,{element:r,media:e,playPause:s.playPause}),G("portal","custom-controls",at,{state:i,actions:s,currentTime:o,progress:a,element:r,children:n},[o,i,e,...t||[]]),null}var le=require("react/jsx-runtime");function Hn({model:e}){return(0,le.jsxs)(le.Fragment,{children:[(0,le.jsx)("style",{children:`
|
|
17
17
|
.model-container {
|
|
18
18
|
position: absolute;
|
|
19
19
|
top: 0;
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
justify-content: center;
|
|
27
27
|
pointer-events: visible;
|
|
28
28
|
}
|
|
29
|
-
`}),(0,le.jsx)("div",{className:"model-container",children:(0,le.jsx)("model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:e.id})})]})}function Ot({model:e,name:t}){return
|
|
29
|
+
`}),(0,le.jsx)("div",{className:"model-container",children:(0,le.jsx)("model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:e.id})})]})}function Ot({model:e,name:t}){return G("overlay",`model-${t}`,Hn,{model:e},[e]),null}var eo=require("react/jsx-runtime");function Ft({style:e}){let t=w();return!t||!t.height||!t.width?null:(0,eo.jsx)("box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:e})}var to=require("react"),ut=require("react/jsx-runtime");function si({element:e,media:t,playPause:n}){let r=(0,to.useRef)(null);return t.youTubeId?(0,ut.jsxs)("div",{className:"video-container",part:"video-container",onClick:n,children:[(0,ut.jsx)("style",{children:`
|
|
30
30
|
.video-container {
|
|
31
31
|
position: absolute;
|
|
32
32
|
top: 0;
|
|
@@ -44,4 +44,4 @@
|
|
|
44
44
|
width: 100%;
|
|
45
45
|
object-fit: contain;
|
|
46
46
|
}
|
|
47
|
-
`}),(0,st.jsx)("iframe",{className:"video-yt",ref:r,src:`https://www.youtube.com/embed/${t.youTubeId}?enablejsapi=1&origin=${window.location.host}`,referrerPolicy:"no-referrer",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function to({media:e,mediaControlsDeps:t,children:n}){let[{element:r,currentTime:o,progress:a},i,s]=Pe({duration:e.duration});return j("overlay","video-element",ai,{element:r,media:e,playPause:s.playPause}),null}var R=require("react/jsx-runtime");function Hn({x:e,y:t,onChoiceChange:n,registerActions:r,defaultChoices:o,isStatic:a,renderViewerControls:i,renderMediaControls:s,viewControlsDeps:u,mediaControlsDeps:c,strategies:l,throwOnUnknown:d,backgroundStyle:m,alwaysShowBackground:y,keepCanvasScale:v=!1,enableSizes:g=!1,enableYouTube:h=!0,onClickPaintingAnnotation:S,children:L}){let C=w(),W=Ke(C,["deep-zoom"]),[mt]=dn(),T=fn(),F=A(),$=(0,K.useMemo)(()=>(0,no.createStylesHelper)(F),[F]),[x,J]=En({strategies:l||["images"],defaultChoices:o?.map(({id:I})=>I)}),_n=x.type==="images"?x.choice:void 0,xo=(0,K.useMemo)(()=>v?1:Math.max(1,...x.type==="images"?x.images.map(I=>(I.width||0)/I.target?.spatial.width):[]),[v,x]);xr(xo),(0,K.useEffect)(()=>{r&&r(J)},[x.annotations]),(0,K.useEffect)(()=>{if(o)for(let I of o)typeof I.opacity<"u"&&$.applyStyles({id:I.id},"atlas",{opacity:I.opacity})},[o]),(0,K.useLayoutEffect)(()=>{n&&n(_n)},[_n]),j(T&&(x.type==="images"||x.type==="empty"||x.type==="textual-content"&&i)?"overlay":"none",`canvas-portal-controls-${C?.id}`,Fe.Provider,i?{value:T||null,children:i(x)}:{},[C,T,x,...u||[]]);let re=ot({maxWidth:256,maxHeight:256});if(!C)return null;let Wn=C.accompanyingCanvas,qe=re&&re.type==="fixed"?(0,R.jsx)("world-object",{height:C.height,width:C.width,x:e,y:t,children:(0,R.jsx)("world-image",{uri:re.id,target:{x:0,y:0,width:C.width,height:C.height},display:re.width&&re.height?{width:re.width,height:re.height}:void 0,crop:void 0})}):null;if(x.type==="unknown"){if(qe)return qe;if(d)throw new Error(x.reason||"Unknown image strategy");return null}let $n=(0,R.jsxs)(K.Fragment,{children:[mt?(0,R.jsx)(Je,{page:mt}):null,x.annotations&&x.annotations.pages?x.annotations.pages.map(I=>(0,R.jsx)(Je,{page:I},I.id)):null,L]}),Ao=x.type==="images"?x.images.length:0;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("world-object",{height:C.height,width:C.width,x:e,y:t,...W,children:[x.type==="empty"||y?(0,R.jsx)(Ft,{style:m}):null,x.type==="textual-content"?x.items.map((I,ft)=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ro.HTMLPortal,{onClick:S?Ue=>{Ue.stopPropagation(),S(I.annotationId,I,Ue)}:void 0,target:I.target?.spatial||void 0,children:(0,R.jsx)("div",{"data-textual-content":!0,children:(0,R.jsx)(_,{enableDangerouslySetInnerHTML:!0,children:I.text})})},ft),$n]})):null,x.type==="images"?(0,R.jsxs)(R.Fragment,{children:[x.images.map((I,ft)=>(0,R.jsx)(Nt,{isStatic:a,image:I,id:I.id,thumbnail:ft===0?re:void 0,selector:I.selector,enableSizes:g,onClick:S?Ue=>{Ue.stopPropagation(),S(I.annotationId,I,Ue)}:void 0},I.id+ft)),$n]}):null,x.type==="3d-model"?(0,R.jsx)(Ot,{model:x.model}):null,x.type==="media"?(0,R.jsx)(R.Fragment,{children:x.media.type==="Sound"?(0,R.jsxs)(Et,{media:x.media,mediaControlsDeps:c,children:[qe,s?s(x):null]}):x.media.type==="Video"?(0,R.jsxs)(zt,{media:x.media,mediaControlsDeps:c,children:[qe,s?s(x):null]}):x.media.type==="VideoYouTube"&&h?(0,R.jsxs)(to,{media:x.media,mediaControlsDeps:c,children:[qe,s?s(x):null]}):null}):null]},`${C.id}/${x.type}/${Ao}`),x.type==="media"&&x.media.type==="Sound"&&Wn?(0,R.jsx)(X,{canvas:Wn.id,children:(0,R.jsx)(Hn,{renderViewerControls:i})}):null]})}var U=require("react/jsx-runtime"),si=(0,ut.forwardRef)(function(t,n){let r=k(),o=$e(),a=Ge(),{ViewerControls:i,MediaControls:s}=t.components||{};if((0,ut.useImperativeHandle)(n,()=>a,[a]),!r)return(0,U.jsx)("div",{});let u=0;return(0,U.jsxs)(U.Fragment,{children:[t.header,(0,U.jsx)(z.Viewer,{height:t.height,mode:t.mode,children:o.map((c,l)=>{let d=u;return u+=c.width+(t.spacing||0),(0,U.jsx)(X,{canvas:c.id,children:(0,U.jsx)(z.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content"],renderViewerControls:l===0&&i?()=>(0,U.jsx)(i,{}):void 0,renderMediaControls:l===0&&s?()=>(0,U.jsx)(s,{}):void 0,x:d,...t.canvasProps||{},children:t.annotations},c.id)},c.id)})},t.reuseAtlas?"":a.currentSequenceIndex),t.children]})}),z=(0,ut.forwardRef)(function({children:t,height:n,annotations:r,canvasProps:o,spacing:a,header:i,components:s,mode:u,reuseAtlas:c,...l},d){let m=fe();return(0,U.jsx)(me,{vault:m,children:(0,U.jsx)(an,{...l,children:(0,U.jsx)(si,{ref:d,height:n,components:s,spacing:a,canvasProps:o,annotations:r,header:i,mode:u,reuseAtlas:c,children:t})})})});z.RenderImage=Nt;z.RenderCanvas=Hn;z.RenderAnnotationPage=Je;z.RenderAnnotation=wt;z.Viewer=Cr;z.CanvasBackground=Ft;z.Audio=Et;z.Video=zt;z.Model=Ot;z.AudioHTML=zn;z.VideoHTML=On;z.ModelHTML=Fn;var oo=require("@atlas-viewer/atlas");var Ht=require("react"),ct=require("react/jsx-runtime"),ui=(0,Ht.forwardRef)(function({canvasId:t},n){let r=(0,oo.useCanvas)(),o=rt(t||r?.id),a=A();return(0,Ht.useImperativeHandle)(n,()=>o,[t,r]),!r||o.enabledPageIds.length===0?null:(0,ct.jsx)(ct.Fragment,{children:o.enabledPageIds.map(i=>(0,ct.jsx)(z.RenderAnnotationPage,{page:a.get(i)},i))})});var ao=require("react");var io=require("react");var V=require("react/jsx-runtime");function lt({metadata:e=[],config:t,labelWidth:n=16,showEmptyMessage:r=!0,allowHtml:o,emptyFallback:a,classes:i={},emptyMessage:s="No metadata available",emptyValueFallback:u="No value",emptyLabelFallback:c="",separator:l,tableFooter:d,tableHeader:m}){let y=(0,io.useMemo)(()=>{let g=(t||[]).reduce((S,L)=>[...S,...L.keys],[]),h={};for(let S of e){let L=S&&S.label?Object.values(S.label):[];for(let C of L)if(C&&C.length&&(g.indexOf(`metadata.${C[0]}`)!==-1||g.length===0)&&S){let W=`metadata.${C[0]}`;h[W]=h[W]?h[W]:[],h[W].push(S);break}}return h},[t,e]);return Object.keys(y).length===0&&r?(0,V.jsx)(V.Fragment,{children:a})||(0,V.jsx)("div",{className:i.empty,children:s}):t&&t.length?(0,V.jsxs)("table",{className:i.container,children:[m,(0,V.jsx)("tbody",{children:t.map((g,h)=>{let S=[];for(let L of g.keys)for(let C of y[L]||[])S.push((0,V.jsx)(_,{enableDangerouslySetInnerHTML:o,defaultText:u,separator:l,children:C.value},h+"__"+L));return S.length===0?null:(0,V.jsxs)("tr",{className:i.row,children:[(0,V.jsx)("td",{className:i.label,style:n?{minWidth:n}:{},children:(0,V.jsx)(_,{enableDangerouslySetInnerHTML:o,separator:l,defaultText:c,children:g.label})}),(0,V.jsx)("td",{className:i.value,children:S})]},h)})}),d]}):(0,V.jsxs)("table",{className:i.container,children:[m,(0,V.jsx)("tbody",{children:e&&e.length?e.map((g,h)=>g?(0,V.jsxs)("tr",{className:i.row,children:[(0,V.jsx)("td",{className:i.label,style:n?{minWidth:n}:{},children:(0,V.jsx)(_,{enableDangerouslySetInnerHTML:o,defaultText:u,separator:l,children:g.label})}),(0,V.jsx)("td",{className:i.value,children:(0,V.jsx)(_,{enableDangerouslySetInnerHTML:o,defaultText:u,separator:l,children:g.value})})]},h):null):null}),d]})}var so=require("react/jsx-runtime");function ci(e){let t=k(),n=w(),r=Ye(),o=(0,ao.useMemo)(()=>{let a=t?.metadata||[],i=n?.metadata||[],s=r?.metadata||[];return[...a,...i,...s]},[t,n,r]);return(0,so.jsx)(lt,{metadata:o,...e})}var Ut=require("react");var Dt=require("@atlas-viewer/iiif-image-api"),uo=require("react");function qt(e,t={},n=[]){return(0,uo.useMemo)(()=>{if(!e)return null;let r=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(console.log("Invalid quality",t.quality,e.extraQualities),r="default"));let o=(0,Dt.createImageServiceRequest)(e);return(0,Dt.imageServiceRequestToString)({identifier:o.identifier,server:o.server,scheme:o.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:r||"default",prefix:o.prefix,originalPath:o.originalPath})},[...n])}var dt=require("react/jsx-runtime");function li(e){let t=typeof e.src=="string"?e.src:e.src.id,n=ne(),[r,o]=(0,Ut.useState)(!1),a;if(t){let s=n.loadServiceSync({id:t});s&&(a=s)}!a&&!r&&n.loadService({id:t}).then(()=>{o(!0)});let i=qt(a,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[r,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return(0,Ut.useEffect)(()=>()=>{o(!1)},[t]),i?(0,dt.jsx)("img",{src:i,alt:e.alt,className:e.className,style:e.style}):(0,dt.jsx)(co,{...e,fetchImageService:!1})}function co(e){if(e.fetchImageService)return(0,dt.jsx)(li,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,n=qt(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,dt.jsx)("img",{src:n,alt:e.alt,className:e.className,style:e.style}):null}var lo=require("react/jsx-runtime");function di(e){let t=k();return(0,lo.jsx)(lt,{metadata:t?.metadata||[],...e})}var Bt=require("react");var Dn=de(require("react-lazy-load-image-component"),1);var mo=require("@iiif/helpers/i18n"),B=require("react/jsx-runtime"),{LazyLoadComponent:mi}=Dn||Dn.default;function qn(e){let{size:t,visible:n,classes:r,canvasId:o,figure:a}=e,i=t?.width||128,s=t?.height||t?.width||128,u=(0,B.jsx)(fi,{...e}),c=(0,B.jsx)(mi,{threshold:300,style:{height:s,width:i},visibleByDefault:n,children:o?(0,B.jsx)(X,{canvas:o,children:u}):u});return a?(0,B.jsx)("figure",{className:r?.figure,children:c}):c}function fi({fallback:e,size:t,classes:n,showLabel:r,alt:o,dereference:a=!1}){let i=w(),s=t?.width||128,u=t?.height||t?.width||128,c=o||(0,mo.getValue)(i?.label)||"",l=ot({width:s,height:u},a);return!l||l.type!=="fixed"?(0,B.jsx)(B.Fragment,{children:e}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)("div",{className:n?.imageWrapper,children:(0,B.jsx)("img",{className:n?.img,src:l.id,alt:c})}),r?(0,B.jsx)(_,{as:"figcaption",className:n?.label,children:i?.label}):null]})}var De=require("react/jsx-runtime");function pi({flat:e,size:t,classes:n={},showLabel:r,figure:o,fallback:a}){let i=(0,Bt.useRef)(null),{items:s,sequence:u,currentSequenceIndex:c,setSequenceIndex:l}=Ge(),d={row:n.selected?.row||n.row,item:n.selected?.item||n.item,figure:n.selected?.figure||n.figure,img:n.selected?.img||n.img,label:n.selected?.label||n.label,imageWrapper:n.selected?.imageWrapper||n.imageWrapper};(0,Bt.useLayoutEffect)(()=>{if(!i.current)return;let y=i.current.querySelector("[data-selected=true]");y&&y.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},[c]);let m=[];for(let y of u){let v=[],g=u[c]===y;for(let h of y){let S=s[h];v.push((0,De.jsx)("div",{className:g?d.item:n.item,children:(0,De.jsx)(qn,{classes:g?d:n,canvasId:S.id,size:t,showLabel:r,figure:o,placeholder:(0,De.jsx)("div",{style:{height:128,width:128}}),fallback:a})},h))}if(e){m.push(v);continue}m.push((0,De.jsx)("div",{onClick:h=>{l(u.indexOf(y))},"data-selected":g,className:g?d.row:n.row,children:v}))}return(0,De.jsx)("div",{ref:i,className:n.container,children:m})}var fo=require("react/jsx-runtime");function gi({annotation:e,children:t}){return(0,fo.jsx)(H,{value:{annotation:e},children:t})}var po=require("react/jsx-runtime");function hi({annotationPage:e,children:t}){return(0,po.jsx)(H,{value:{annotationPage:e},children:t})}var go=require("react/jsx-runtime");function vi({collection:e,children:t}){return(0,go.jsx)(H,{value:{collection:e},children:t})}function yi(e,t={}){return be(t)}function Si(e,t=!1){}function xi(e){let n=O().manifest,r=e?e.map(o=>typeof o=="string"?o:o?.id):[];return b(o=>{let a=n?o.iiif.entities.Manifest[n]:void 0,i=a?.items||[];if(typeof e>"u")return i;let s=[];for(let u of a?.items||[])r.indexOf(u.id)!==-1&&s.push(u);return s},[r.join("/")])}var ho=require("react");function Ai(e,t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.collection,i=b(s=>a?s.iiif.entities.Collection[a]:void 0,[a]);return(0,ho.useMemo)(()=>{if(i)return r?r(i):i},[i,r,...t])}var _t=require("react"),vo=require("@iiif/helpers/events");function Ci(e,t,n,r,o=[]){let a=A(),i=(0,_t.useMemo)(()=>(0,vo.createEventsHelper)(a),[a]);(0,_t.useEffect)(()=>{let s=e;return s?(i.addEventListener(s,t,n,r),()=>{i.removeEventListener(s,t,n)}):()=>{}},[i,e,t,...o])}function bi(e,t){let{id:n,isLoaded:r,error:o,resource:a,requestId:i,cached:s}=We(e,t);return{id:n,isLoaded:r,error:o,manifest:a,requestId:i,cached:s}}var Un=require("@atlas-viewer/iiif-image-api");var Z=require("react");function Bn({cacheKey:e}={}){let t=w(),n=be(),r=A(),o=ne(),[a,i]=(0,Z.useState)(void 0),[s,u]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)("idle"),[d,m]=(0,Z.useState)(void 0),y=t?t.id:"undefined",v=(0,Z.useMemo)(()=>{try{if(t&&n.length){let h=n[0],S=r.get(h.body[0]),C=(0,Un.getImageServices)(S)[0];return C&&o.loadServiceSync({id:C.id||C["@id"],width:C.width||t.width,height:C.height||t.height})||void 0}}catch(h){console.error(h)}},[y,e,t]),g=c==="success"&&a?a:v;return(0,Z.useEffect)(()=>{(async()=>{try{if(t&&n.length){let h=n[0],S=r.get(h.body[0]),C=(0,Un.getImageServices)(S)[0];if(!C)return;u(!0),l("loading");try{let W=await o.loadService({id:C.id||C["@id"],width:C.width||t.width,height:C.height||t.height})||void 0;i(W),l("success"),u(!1)}catch(W){l("error"),m(W)}}}catch(h){l("error"),m(h)}})()},[y,e]),(0,Z.useMemo)(()=>({data:g,isFetching:s,status:c,error:d}),[g,s,c,d])}function Ri(){let e=Bn();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 yo=require("@iiif/helpers/styles"),So=require("react");function Pi(){let e=A();return(0,So.useMemo)(()=>(0,yo.createStylesHelper)(e),[e])}p(f,require("@iiif/helpers/annotation-targets"),module.exports);
|
|
47
|
+
`}),(0,ut.jsx)("iframe",{className:"video-yt",ref:r,src:`https://www.youtube.com/embed/${t.youTubeId}?enablejsapi=1&origin=${window.location.host}`,referrerPolicy:"no-referrer",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function no({media:e,mediaControlsDeps:t,children:n}){let[{element:r,currentTime:o,progress:a},i,s]=Ie({duration:e.duration});return G("overlay","video-element",si,{element:r,media:e,playPause:s.playPause}),null}var R=require("react/jsx-runtime");function Dn({x:e,y:t,onChoiceChange:n,registerActions:r,defaultChoices:o,isStatic:a,renderViewerControls:i,renderMediaControls:s,viewControlsDeps:u,mediaControlsDeps:c,strategies:l,throwOnUnknown:d,backgroundStyle:m,alwaysShowBackground:y,keepCanvasScale:v=!1,enableSizes:g=!1,enableYouTube:h=!0,onClickPaintingAnnotation:S,children:L}){let C=w(),W=Ke(C,["deep-zoom"]),[ft]=mn(),T=pn(),F=A(),$=(0,K.useMemo)(()=>(0,ro.createStylesHelper)(F),[F]),[x,J]=Ln({strategies:l||["images"],defaultChoices:o?.map(({id:I})=>I)}),Wn=x.type==="images"?x.choice:void 0,Ao=(0,K.useMemo)(()=>v?1:Math.max(1,...x.type==="images"?x.images.map(I=>(I.width||0)/I.target?.spatial.width):[]),[v,x]);Ar(Ao),(0,K.useEffect)(()=>{r&&r(J)},[x.annotations]),(0,K.useEffect)(()=>{if(o)for(let I of o)typeof I.opacity<"u"&&$.applyStyles({id:I.id},"atlas",{opacity:I.opacity})},[o]),(0,K.useLayoutEffect)(()=>{n&&n(Wn)},[Wn]),G(T&&(x.type==="images"||x.type==="empty"||x.type==="textual-content"&&i)?"overlay":"none",`canvas-portal-controls-${C?.id}`,Fe.Provider,i?{value:T||null,children:i(x)}:{},[C,T,x,...u||[]]);let re=it({maxWidth:256,maxHeight:256});if(!C)return null;let $n=C.accompanyingCanvas,qe=re&&re.type==="fixed"?(0,R.jsx)("world-object",{height:C.height,width:C.width,x:e,y:t,children:(0,R.jsx)("world-image",{uri:re.id,target:{x:0,y:0,width:C.width,height:C.height},display:re.width&&re.height?{width:re.width,height:re.height}:void 0,crop:void 0})}):null;if(x.type==="unknown"){if(qe)return qe;if(d)throw new Error(x.reason||"Unknown image strategy");return null}let Yn=(0,R.jsxs)(K.Fragment,{children:[ft?(0,R.jsx)(Je,{page:ft}):null,x.annotations&&x.annotations.pages?x.annotations.pages.map(I=>(0,R.jsx)(Je,{page:I},I.id)):null,L]}),Co=x.type==="images"?x.images.length:0;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("world-object",{height:C.height,width:C.width,x:e,y:t,...W,children:[x.type==="empty"||y?(0,R.jsx)(Ft,{style:m}):null,x.type==="textual-content"?x.items.map((I,pt)=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(oo.HTMLPortal,{onClick:S?Ue=>{Ue.stopPropagation(),S(I.annotationId,I,Ue)}:void 0,target:I.target?.spatial||void 0,children:(0,R.jsx)("div",{"data-textual-content":!0,children:(0,R.jsx)(_,{enableDangerouslySetInnerHTML:!0,children:I.text})})},pt),Yn]})):null,x.type==="images"?(0,R.jsxs)(R.Fragment,{children:[x.images.map((I,pt)=>(0,R.jsx)(Nt,{isStatic:a,image:I,id:I.id,thumbnail:pt===0?re:void 0,selector:I.selector,enableSizes:g,onClick:S?Ue=>{Ue.stopPropagation(),S(I.annotationId,I,Ue)}:void 0},I.id+pt)),Yn]}):null,x.type==="3d-model"?(0,R.jsx)(Ot,{model:x.model}):null,x.type==="media"?(0,R.jsx)(R.Fragment,{children:x.media.type==="Sound"?(0,R.jsxs)(Et,{media:x.media,mediaControlsDeps:c,children:[qe,s?s(x):null]}):x.media.type==="Video"?(0,R.jsxs)(zt,{media:x.media,mediaControlsDeps:c,children:[qe,s?s(x):null]}):x.media.type==="VideoYouTube"&&h?(0,R.jsxs)(no,{media:x.media,mediaControlsDeps:c,children:[qe,s?s(x):null]}):null}):null]},`${C.id}/${x.type}/${Co}`),x.type==="media"&&x.media.type==="Sound"&&$n?(0,R.jsx)(X,{canvas:$n.id,children:(0,R.jsx)(Dn,{renderViewerControls:i})}):null]})}var U=require("react/jsx-runtime"),ui=(0,ct.forwardRef)(function(t,n){let r=E(),o=$e(),a=Ge(),{ViewerControls:i,MediaControls:s}=t.components||{};if((0,ct.useImperativeHandle)(n,()=>a,[a]),!r)return(0,U.jsx)("div",{});let u=0;return(0,U.jsxs)(U.Fragment,{children:[t.header,(0,U.jsx)(z.Viewer,{height:t.height,mode:t.mode,children:o.map((c,l)=>{let d=u;return u+=c.width+(t.spacing||0),(0,U.jsx)(X,{canvas:c.id,children:(0,U.jsx)(z.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content"],renderViewerControls:l===0&&i?()=>(0,U.jsx)(i,{}):void 0,renderMediaControls:l===0&&s?()=>(0,U.jsx)(s,{}):void 0,x:d,...t.canvasProps||{},children:t.annotations},c.id)},c.id)})},t.reuseAtlas?"":a.currentSequenceIndex),t.children]})}),z=(0,ct.forwardRef)(function({children:t,height:n,annotations:r,canvasProps:o,spacing:a,header:i,components:s,mode:u,reuseAtlas:c,...l},d){let m=fe();return(0,U.jsx)(me,{vault:m,children:(0,U.jsx)(sn,{...l,children:(0,U.jsx)(ui,{ref:d,height:n,components:s,spacing:a,canvasProps:o,annotations:r,header:i,mode:u,reuseAtlas:c,children:t})})})});z.RenderImage=Nt;z.RenderCanvas=Dn;z.RenderAnnotationPage=Je;z.RenderAnnotation=Tt;z.Viewer=br;z.CanvasBackground=Ft;z.Audio=Et;z.Video=zt;z.Model=Ot;z.AudioHTML=On;z.VideoHTML=Fn;z.ModelHTML=Hn;var io=require("@atlas-viewer/atlas");var Ht=require("react"),lt=require("react/jsx-runtime"),ci=(0,Ht.forwardRef)(function({canvasId:t},n){let r=(0,io.useCanvas)(),o=ot(t||r?.id),a=A();return(0,Ht.useImperativeHandle)(n,()=>o,[t,r]),!r||o.enabledPageIds.length===0?null:(0,lt.jsx)(lt.Fragment,{children:o.enabledPageIds.map(i=>(0,lt.jsx)(z.RenderAnnotationPage,{page:a.get(i)},i))})});var so=require("react");var ao=require("react");var k=require("react/jsx-runtime");function dt({metadata:e=[],config:t,labelWidth:n=16,showEmptyMessage:r=!0,allowHtml:o,emptyFallback:a,classes:i={},emptyMessage:s="No metadata available",emptyValueFallback:u="No value",emptyLabelFallback:c="",separator:l,tableFooter:d,tableHeader:m}){let y=(0,ao.useMemo)(()=>{let g=(t||[]).reduce((S,L)=>[...S,...L.keys],[]),h={};for(let S of e){let L=S&&S.label?Object.values(S.label):[];for(let C of L)if(C&&C.length&&(g.indexOf(`metadata.${C[0]}`)!==-1||g.length===0)&&S){let W=`metadata.${C[0]}`;h[W]=h[W]?h[W]:[],h[W].push(S);break}}return h},[t,e]);return Object.keys(y).length===0&&r?(0,k.jsx)(k.Fragment,{children:a})||(0,k.jsx)("div",{className:i.empty,children:s}):t&&t.length?(0,k.jsxs)("table",{className:i.container,children:[m,(0,k.jsx)("tbody",{children:t.map((g,h)=>{let S=[];for(let L of g.keys)for(let C of y[L]||[])S.push((0,k.jsx)(_,{enableDangerouslySetInnerHTML:o,defaultText:u,separator:l,children:C.value},h+"__"+L));return S.length===0?null:(0,k.jsxs)("tr",{className:i.row,children:[(0,k.jsx)("td",{className:i.label,style:n?{minWidth:n}:{},children:(0,k.jsx)(_,{enableDangerouslySetInnerHTML:o,separator:l,defaultText:c,children:g.label})}),(0,k.jsx)("td",{className:i.value,children:S})]},h)})}),d]}):(0,k.jsxs)("table",{className:i.container,children:[m,(0,k.jsx)("tbody",{children:e&&e.length?e.map((g,h)=>g?(0,k.jsxs)("tr",{className:i.row,children:[(0,k.jsx)("td",{className:i.label,style:n?{minWidth:n}:{},children:(0,k.jsx)(_,{enableDangerouslySetInnerHTML:o,defaultText:u,separator:l,children:g.label})}),(0,k.jsx)("td",{className:i.value,children:(0,k.jsx)(_,{enableDangerouslySetInnerHTML:o,defaultText:u,separator:l,children:g.value})})]},h):null):null}),d]})}var uo=require("react/jsx-runtime");function li(e){let t=E(),n=w(),r=Ye(),o=(0,so.useMemo)(()=>{let a=t?.metadata||[],i=n?.metadata||[],s=r?.metadata||[];return[...a,...i,...s]},[t,n,r]);return(0,uo.jsx)(dt,{metadata:o,...e})}var Ut=require("react");var Dt=require("@atlas-viewer/iiif-image-api"),co=require("react");function qt(e,t={},n=[]){return(0,co.useMemo)(()=>{if(!e)return null;let r=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(r="default"));let o=(0,Dt.createImageServiceRequest)(e);return(0,Dt.imageServiceRequestToString)({identifier:o.identifier,server:o.server,scheme:o.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:r||"default",prefix:o.prefix,originalPath:o.originalPath})},[...n])}var mt=require("react/jsx-runtime");function di(e){let t=typeof e.src=="string"?e.src:e.src.id,n=ne(),[r,o]=(0,Ut.useState)(!1),a;if(t){let s=n.loadServiceSync({id:t});s&&(a=s)}!a&&!r&&n.loadService({id:t}).then(()=>{o(!0)});let i=qt(a,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[r,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return(0,Ut.useEffect)(()=>()=>{o(!1)},[t]),i?(0,mt.jsx)("img",{src:i,alt:e.alt,className:e.className,style:e.style}):(0,mt.jsx)(lo,{...e,fetchImageService:!1})}function lo(e){if(e.fetchImageService)return(0,mt.jsx)(di,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,n=qt(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,mt.jsx)("img",{src:n,alt:e.alt,className:e.className,style:e.style}):null}var mo=require("react/jsx-runtime");function mi(e){let t=E();return(0,mo.jsx)(dt,{metadata:t?.metadata||[],...e})}var Bt=require("react");var qn=de(require("react-lazy-load-image-component"),1);var fo=require("@iiif/helpers/i18n"),B=require("react/jsx-runtime"),{LazyLoadComponent:fi}=qn||qn.default;function Un(e){let{size:t,visible:n,classes:r,canvasId:o,figure:a}=e,i=t?.width||128,s=t?.height||t?.width||128,u=(0,B.jsx)(pi,{...e}),c=(0,B.jsx)(fi,{threshold:300,style:{height:s,width:i},visibleByDefault:n,children:o?(0,B.jsx)(X,{canvas:o,children:u}):u});return a?(0,B.jsx)("figure",{className:r?.figure,children:c}):c}function pi({fallback:e,size:t,classes:n,showLabel:r,alt:o,dereference:a=!1}){let i=w(),s=t?.width||128,u=t?.height||t?.width||128,c=o||(0,fo.getValue)(i?.label)||"",l=it({width:s,height:u},a);return!l||l.type!=="fixed"?(0,B.jsx)(B.Fragment,{children:e}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)("div",{className:n?.imageWrapper,children:(0,B.jsx)("img",{className:n?.img,src:l.id,alt:c})}),r?(0,B.jsx)(_,{as:"figcaption",className:n?.label,children:i?.label}):null]})}var De=require("react/jsx-runtime");function gi({flat:e,size:t,classes:n={},showLabel:r,figure:o,fallback:a}){let i=(0,Bt.useRef)(null),{items:s,sequence:u,currentSequenceIndex:c,setSequenceIndex:l}=Ge(),d={row:n.selected?.row||n.row,item:n.selected?.item||n.item,figure:n.selected?.figure||n.figure,img:n.selected?.img||n.img,label:n.selected?.label||n.label,imageWrapper:n.selected?.imageWrapper||n.imageWrapper};(0,Bt.useLayoutEffect)(()=>{if(!i.current)return;let y=i.current.querySelector("[data-selected=true]");y&&y.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},[c]);let m=[];for(let y of u){let v=[],g=u[c]===y;for(let h of y){let S=s[h];v.push((0,De.jsx)("div",{className:g?d.item:n.item,children:(0,De.jsx)(Un,{classes:g?d:n,canvasId:S.id,size:t,showLabel:r,figure:o,placeholder:(0,De.jsx)("div",{style:{height:128,width:128}}),fallback:a})},h))}if(e){m.push(v);continue}m.push((0,De.jsx)("div",{onClick:h=>{l(u.indexOf(y))},"data-selected":g,className:g?d.row:n.row,children:v}))}return(0,De.jsx)("div",{ref:i,className:n.container,children:m})}var po=require("react/jsx-runtime");function hi({annotation:e,children:t}){return(0,po.jsx)(H,{value:{annotation:e},children:t})}var go=require("react/jsx-runtime");function vi({annotationPage:e,children:t}){return(0,go.jsx)(H,{value:{annotationPage:e},children:t})}var ho=require("react/jsx-runtime");function yi({collection:e,children:t}){return(0,ho.jsx)(H,{value:{collection:e},children:t})}function Si(e,t={}){return Re(t)}function xi(e,t=!1){}function Ai(e){let n=O().manifest,r=e?e.map(o=>typeof o=="string"?o:o?.id):[];return b(o=>{let a=n?o.iiif.entities.Manifest[n]:void 0,i=a?.items||[];if(typeof e>"u")return i;let s=[];for(let u of a?.items||[])r.indexOf(u.id)!==-1&&s.push(u);return s},[r.join("/")])}var vo=require("react");function Ci(e,t=[]){let{id:n,selector:r}=e,o=O(),a=n||o.collection,i=b(s=>a?s.iiif.entities.Collection[a]:void 0,[a]);return(0,vo.useMemo)(()=>{if(i)return r?r(i):i},[i,r,...t])}var _t=require("react"),yo=require("@iiif/helpers/events");function bi(e,t,n,r,o=[]){let a=A(),i=(0,_t.useMemo)(()=>(0,yo.createEventsHelper)(a),[a]);(0,_t.useEffect)(()=>{let s=e;return s?(i.addEventListener(s,t,n,r),()=>{i.removeEventListener(s,t,n)}):()=>{}},[i,e,t,...o])}function Ri(e,t){let{id:n,isLoaded:r,error:o,resource:a,requestId:i,cached:s}=We(e,t);return{id:n,isLoaded:r,error:o,manifest:a,requestId:i,cached:s}}var Bn=require("@atlas-viewer/iiif-image-api");var Z=require("react");function _n({cacheKey:e}={}){let t=w(),n=Re(),r=A(),o=ne(),[a,i]=(0,Z.useState)(void 0),[s,u]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)("idle"),[d,m]=(0,Z.useState)(void 0),y=t?t.id:"undefined",v=(0,Z.useMemo)(()=>{try{if(t&&n.length){let h=n[0],S=r.get(h.body[0]),C=(0,Bn.getImageServices)(S)[0];return C&&o.loadServiceSync({id:C.id||C["@id"],width:C.width||t.width,height:C.height||t.height})||void 0}}catch(h){console.error(h)}},[y,e,t]),g=c==="success"&&a?a:v;return(0,Z.useEffect)(()=>{(async()=>{try{if(t&&n.length){let h=n[0],S=r.get(h.body[0]),C=(0,Bn.getImageServices)(S)[0];if(!C)return;u(!0),l("loading");try{let W=await o.loadService({id:C.id||C["@id"],width:C.width||t.width,height:C.height||t.height})||void 0;i(W),l("success"),u(!1)}catch(W){l("error"),m(W)}}}catch(h){l("error"),m(h)}})()},[y,e]),(0,Z.useMemo)(()=>({data:g,isFetching:s,status:c,error:d}),[g,s,c,d])}function Pi(){let e=_n();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 So=require("@iiif/helpers/styles"),xo=require("react");function Ii(){let e=A();return(0,xo.useMemo)(()=>(0,So.createStylesHelper)(e),[e])}p(f,require("@iiif/helpers/annotation-targets"),module.exports);
|
package/dist/index.d.cts
CHANGED
|
@@ -232,6 +232,7 @@ declare function AuthProvider({ children }: {
|
|
|
232
232
|
declare function AuthProvider_Old({ children }: {
|
|
233
233
|
children: ReactNode;
|
|
234
234
|
}): react_jsx_runtime.JSX.Element;
|
|
235
|
+
declare function useIsAuthEnabled(): boolean;
|
|
235
236
|
declare function useAuthStore(): StoreApi<AuthContextState & AuthContextCurrentActions & AuthContextActions>;
|
|
236
237
|
declare function useAuthActions(): {
|
|
237
238
|
login: () => void;
|
|
@@ -718,4 +719,4 @@ declare function findAllCanvasesInRange(vault: Vault, range: RangeNormalized): A
|
|
|
718
719
|
declare function findManifestSelectedRange(vault: Vault, manifest: ManifestNormalized, canvasId: string): null | RangeNormalized;
|
|
719
720
|
declare function findSelectedRange(vault: Vault, range: RangeNormalized, canvasId: string): null | RangeNormalized;
|
|
720
721
|
|
|
721
|
-
export { AnnotationContext, AnnotationPageContext, Auth, type AuthAccessState, type AuthContextActions, type AuthContextCurrentActions, type AuthContextState, AuthProvider, AuthProvider_Old, AuthRContext, AuthReactContext, AuthReactContextActions, type AuthState, CanvasAnnotations, CanvasContext, CollectionContext, CombinedMetadata, ContextBridge, Image, type ImageProps, ImageServiceLoaderContext, type ImageServiceRequestOptions, InnerViewerProvider, LanguageProvider, LanguageString, LocaleString, ManifestContext, ManifestMetadata, type MediaPlayerActions, MediaPlayerProvider, type MediaPlayerState, Metadata, type MetadataProps, type ProbeStore, RangeContext, ReactVaultContext, RenderingStrategy, type ResourceContextType, ResourceProvider, ResourceReactContext, type ResourceRequestOptions, SequenceThumbnails, SimpleViewerContext, SimpleViewerProps, SimpleViewerProvider, SimpleViewerReactContext, SingleCanvasThumbnail, type VaultActivatedAnnotation, VaultProvider, ViewerPresetContext, VirtualAnnotationProvider, VisibleCanvasReactContext, authDetailsForResource, createAuthStateStore, createProbe, findAllCanvasesInRange, findFirstCanvasFromRange, findManifestSelectedRange, findSelectedRange, flattenAnnotationPageIds, formatTime, getManifestSequence, getVideoStrategy, getVisibleCanvasesFromCanvasId, hasAuth, makeAccessServiceRequest, makeAccessTokenRequest, useAnnotation, useAnnotationPage, useAnnotationPageManager, useAnnotationsAtTime, useAuthActions, useAuthActions_old, useAuthService, useAuthService_old, useAuthStore, useAuthToken, useAuthToken_old, useAuthTokens, useAuthTokens_old, useCanvas, useCanvasClock, useCanvasSequence, useCanvasSubset, useClosestLanguage, useCollection, useContextBridge, useCreateLocaleString, useCurrentAuth, useCurrentAuth_old, useDispatch, useEventListener, useExistingVault, useExternalCollection, useExternalManifest, useExternalResource, useIIIFLanguage, useImage, useImageService, useImageServiceLoader, useImageTile, useLocaleString, useManifest, useMediaActions, useMediaElements, useMediaState, usePaintables, usePaintingAnnotations, useRange, useResourceContext, useResourceEvents, useResources, useSearchService, useSimpleMediaPlayer, useSimpleViewer, useStyleHelper, useStyles, useThumbnail, useVault, useVaultEffect, useVaultSelector, useViewerPreset, useVirtualAnnotationPage, useVirtualAnnotationPageContext, useVisibleCanvases };
|
|
722
|
+
export { AnnotationContext, AnnotationPageContext, Auth, type AuthAccessState, type AuthContextActions, type AuthContextCurrentActions, type AuthContextState, AuthProvider, AuthProvider_Old, AuthRContext, AuthReactContext, AuthReactContextActions, type AuthState, CanvasAnnotations, CanvasContext, CollectionContext, CombinedMetadata, ContextBridge, Image, type ImageProps, ImageServiceLoaderContext, type ImageServiceRequestOptions, InnerViewerProvider, LanguageProvider, LanguageString, LocaleString, ManifestContext, ManifestMetadata, type MediaPlayerActions, MediaPlayerProvider, type MediaPlayerState, Metadata, type MetadataProps, type ProbeStore, RangeContext, ReactVaultContext, RenderingStrategy, type ResourceContextType, ResourceProvider, ResourceReactContext, type ResourceRequestOptions, SequenceThumbnails, SimpleViewerContext, SimpleViewerProps, SimpleViewerProvider, SimpleViewerReactContext, SingleCanvasThumbnail, type VaultActivatedAnnotation, VaultProvider, ViewerPresetContext, VirtualAnnotationProvider, VisibleCanvasReactContext, authDetailsForResource, createAuthStateStore, createProbe, findAllCanvasesInRange, findFirstCanvasFromRange, findManifestSelectedRange, findSelectedRange, flattenAnnotationPageIds, formatTime, getManifestSequence, getVideoStrategy, getVisibleCanvasesFromCanvasId, hasAuth, makeAccessServiceRequest, makeAccessTokenRequest, useAnnotation, useAnnotationPage, useAnnotationPageManager, useAnnotationsAtTime, useAuthActions, useAuthActions_old, useAuthService, useAuthService_old, useAuthStore, useAuthToken, useAuthToken_old, useAuthTokens, useAuthTokens_old, useCanvas, useCanvasClock, useCanvasSequence, useCanvasSubset, useClosestLanguage, useCollection, useContextBridge, useCreateLocaleString, useCurrentAuth, useCurrentAuth_old, useDispatch, useEventListener, useExistingVault, useExternalCollection, useExternalManifest, useExternalResource, useIIIFLanguage, useImage, useImageService, useImageServiceLoader, useImageTile, useIsAuthEnabled, useLocaleString, useManifest, useMediaActions, useMediaElements, useMediaState, usePaintables, usePaintingAnnotations, useRange, useResourceContext, useResourceEvents, useResources, useSearchService, useSimpleMediaPlayer, useSimpleViewer, useStyleHelper, useStyles, useThumbnail, useVault, useVaultEffect, useVaultSelector, useViewerPreset, useVirtualAnnotationPage, useVirtualAnnotationPageContext, useVisibleCanvases };
|
package/dist/index.d.ts
CHANGED
|
@@ -232,6 +232,7 @@ declare function AuthProvider({ children }: {
|
|
|
232
232
|
declare function AuthProvider_Old({ children }: {
|
|
233
233
|
children: ReactNode;
|
|
234
234
|
}): react_jsx_runtime.JSX.Element;
|
|
235
|
+
declare function useIsAuthEnabled(): boolean;
|
|
235
236
|
declare function useAuthStore(): StoreApi<AuthContextState & AuthContextCurrentActions & AuthContextActions>;
|
|
236
237
|
declare function useAuthActions(): {
|
|
237
238
|
login: () => void;
|
|
@@ -718,4 +719,4 @@ declare function findAllCanvasesInRange(vault: Vault, range: RangeNormalized): A
|
|
|
718
719
|
declare function findManifestSelectedRange(vault: Vault, manifest: ManifestNormalized, canvasId: string): null | RangeNormalized;
|
|
719
720
|
declare function findSelectedRange(vault: Vault, range: RangeNormalized, canvasId: string): null | RangeNormalized;
|
|
720
721
|
|
|
721
|
-
export { AnnotationContext, AnnotationPageContext, Auth, type AuthAccessState, type AuthContextActions, type AuthContextCurrentActions, type AuthContextState, AuthProvider, AuthProvider_Old, AuthRContext, AuthReactContext, AuthReactContextActions, type AuthState, CanvasAnnotations, CanvasContext, CollectionContext, CombinedMetadata, ContextBridge, Image, type ImageProps, ImageServiceLoaderContext, type ImageServiceRequestOptions, InnerViewerProvider, LanguageProvider, LanguageString, LocaleString, ManifestContext, ManifestMetadata, type MediaPlayerActions, MediaPlayerProvider, type MediaPlayerState, Metadata, type MetadataProps, type ProbeStore, RangeContext, ReactVaultContext, RenderingStrategy, type ResourceContextType, ResourceProvider, ResourceReactContext, type ResourceRequestOptions, SequenceThumbnails, SimpleViewerContext, SimpleViewerProps, SimpleViewerProvider, SimpleViewerReactContext, SingleCanvasThumbnail, type VaultActivatedAnnotation, VaultProvider, ViewerPresetContext, VirtualAnnotationProvider, VisibleCanvasReactContext, authDetailsForResource, createAuthStateStore, createProbe, findAllCanvasesInRange, findFirstCanvasFromRange, findManifestSelectedRange, findSelectedRange, flattenAnnotationPageIds, formatTime, getManifestSequence, getVideoStrategy, getVisibleCanvasesFromCanvasId, hasAuth, makeAccessServiceRequest, makeAccessTokenRequest, useAnnotation, useAnnotationPage, useAnnotationPageManager, useAnnotationsAtTime, useAuthActions, useAuthActions_old, useAuthService, useAuthService_old, useAuthStore, useAuthToken, useAuthToken_old, useAuthTokens, useAuthTokens_old, useCanvas, useCanvasClock, useCanvasSequence, useCanvasSubset, useClosestLanguage, useCollection, useContextBridge, useCreateLocaleString, useCurrentAuth, useCurrentAuth_old, useDispatch, useEventListener, useExistingVault, useExternalCollection, useExternalManifest, useExternalResource, useIIIFLanguage, useImage, useImageService, useImageServiceLoader, useImageTile, useLocaleString, useManifest, useMediaActions, useMediaElements, useMediaState, usePaintables, usePaintingAnnotations, useRange, useResourceContext, useResourceEvents, useResources, useSearchService, useSimpleMediaPlayer, useSimpleViewer, useStyleHelper, useStyles, useThumbnail, useVault, useVaultEffect, useVaultSelector, useViewerPreset, useVirtualAnnotationPage, useVirtualAnnotationPageContext, useVisibleCanvases };
|
|
722
|
+
export { AnnotationContext, AnnotationPageContext, Auth, type AuthAccessState, type AuthContextActions, type AuthContextCurrentActions, type AuthContextState, AuthProvider, AuthProvider_Old, AuthRContext, AuthReactContext, AuthReactContextActions, type AuthState, CanvasAnnotations, CanvasContext, CollectionContext, CombinedMetadata, ContextBridge, Image, type ImageProps, ImageServiceLoaderContext, type ImageServiceRequestOptions, InnerViewerProvider, LanguageProvider, LanguageString, LocaleString, ManifestContext, ManifestMetadata, type MediaPlayerActions, MediaPlayerProvider, type MediaPlayerState, Metadata, type MetadataProps, type ProbeStore, RangeContext, ReactVaultContext, RenderingStrategy, type ResourceContextType, ResourceProvider, ResourceReactContext, type ResourceRequestOptions, SequenceThumbnails, SimpleViewerContext, SimpleViewerProps, SimpleViewerProvider, SimpleViewerReactContext, SingleCanvasThumbnail, type VaultActivatedAnnotation, VaultProvider, ViewerPresetContext, VirtualAnnotationProvider, VisibleCanvasReactContext, authDetailsForResource, createAuthStateStore, createProbe, findAllCanvasesInRange, findFirstCanvasFromRange, findManifestSelectedRange, findSelectedRange, flattenAnnotationPageIds, formatTime, getManifestSequence, getVideoStrategy, getVisibleCanvasesFromCanvasId, hasAuth, makeAccessServiceRequest, makeAccessTokenRequest, useAnnotation, useAnnotationPage, useAnnotationPageManager, useAnnotationsAtTime, useAuthActions, useAuthActions_old, useAuthService, useAuthService_old, useAuthStore, useAuthToken, useAuthToken_old, useAuthTokens, useAuthTokens_old, useCanvas, useCanvasClock, useCanvasSequence, useCanvasSubset, useClosestLanguage, useCollection, useContextBridge, useCreateLocaleString, useCurrentAuth, useCurrentAuth_old, useDispatch, useEventListener, useExistingVault, useExternalCollection, useExternalManifest, useExternalResource, useIIIFLanguage, useImage, useImageService, useImageServiceLoader, useImageTile, useIsAuthEnabled, useLocaleString, useManifest, useMediaActions, useMediaElements, useMediaState, usePaintables, usePaintingAnnotations, useRange, useResourceContext, useResourceEvents, useResources, useSearchService, useSimpleMediaPlayer, useSimpleViewer, useStyleHelper, useStyles, useThumbnail, useVault, useVaultEffect, useVaultSelector, useViewerPreset, useVirtualAnnotationPage, useVirtualAnnotationPageContext, useVisibleCanvases };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as St,A as Je,Aa as jt,B as Ue,Ba as er,C as Xe,Ca as K,D as Ye,Da as tr,E as Ze,Ea as rr,F as je,Fa as or,G as et,Ga as nr,H as tt,Ha as ir,I as rt,Ia as ar,J as ot,Ja as $,K as nt,L as it,M as at,N as st,O as mt,P as lt,Q as ct,R as ft,S as ut,T as dt,U as gt,V as pt,W as vt,X as xt,Y as yt,Z as Q,_ as ht,a as qe,aa as bt,b as w,ba as It,c as P,ca as Rt,d as Le,da as Ct,e as Te,ea as Pt,f as ke,fa as Nt,g as D,ga as N,h as Ee,ha as Mt,i as Ae,ia as wt,j as W,ja as zt,k as b,ka as qt,l as z,la as Lt,m as Fe,ma as Tt,n as Ve,na as kt,o as q,oa as Et,p as Oe,pa as At,q as De,qa as Ft,r as We,ra as R,s as He,sa as _t,t as Qe,ta as _,u as _e,ua as Kt,v as Ke,va as $t,w as H,wa as L,x as $e,xa as Bt,y as Be,ya as T,z as Ge,za as Gt}from"./chunk-HEVA2EDS.js";import{a as Vt,b as Ot,c as Dt,d as Wt,e as Ht,f as Qt,g as Jt,h as Ut,i as Xt,j as Yt,k as Zt}from"./chunk-YSH2CIKG.js";import{useCanvas as Z}from"@atlas-viewer/atlas";import{forwardRef as j,useImperativeHandle as ee}from"react";import{Fragment as te,jsx as B}from"react/jsx-runtime";var ur=j(function({canvasId:t},r){let i=Z(),o=_(t||i?.id),a=b();return ee(r,()=>o,[t,i]),!i||o.enabledPageIds.length===0?null:B(te,{children:o.enabledPageIds.map(n=>B($.RenderAnnotationPage,{page:a.get(n)},n))})});import{useMemo as ne}from"react";import{useMemo as re}from"react";import{Fragment as oe,jsx as v,jsxs as k}from"react/jsx-runtime";function E({metadata:e=[],config:t,labelWidth:r=16,showEmptyMessage:i=!0,allowHtml:o,emptyFallback:a,classes:n={},emptyMessage:s="No metadata available",emptyValueFallback:l="No value",emptyLabelFallback:g="",separator:d,tableFooter:x,tableHeader:y}){let p=re(()=>{let f=(t||[]).reduce((u,h)=>[...u,...h.keys],[]),m={};for(let u of e){let h=u&&u.label?Object.values(u.label):[];for(let c of h)if(c&&c.length&&(f.indexOf(`metadata.${c[0]}`)!==-1||f.length===0)&&u){let S=`metadata.${c[0]}`;m[S]=m[S]?m[S]:[],m[S].push(u);break}}return m},[t,e]);return Object.keys(p).length===0&&i?v(oe,{children:a})||v("div",{className:n.empty,children:s}):t&&t.length?k("table",{className:n.container,children:[y,v("tbody",{children:t.map((f,m)=>{let u=[];for(let h of f.keys)for(let c of p[h]||[])u.push(v(R,{enableDangerouslySetInnerHTML:o,defaultText:l,separator:d,children:c.value},m+"__"+h));return u.length===0?null:k("tr",{className:n.row,children:[v("td",{className:n.label,style:r?{minWidth:r}:{},children:v(R,{enableDangerouslySetInnerHTML:o,separator:d,defaultText:g,children:f.label})}),v("td",{className:n.value,children:u})]},m)})}),x]}):k("table",{className:n.container,children:[y,v("tbody",{children:e&&e.length?e.map((f,m)=>f?k("tr",{className:n.row,children:[v("td",{className:n.label,style:r?{minWidth:r}:{},children:v(R,{enableDangerouslySetInnerHTML:o,defaultText:l,separator:d,children:f.label})}),v("td",{className:n.value,children:v(R,{enableDangerouslySetInnerHTML:o,defaultText:l,separator:d,children:f.value})})]},m):null):null}),x]})}import{jsx as ie}from"react/jsx-runtime";function Pr(e){let t=q(),r=N(),i=H(),o=ne(()=>{let a=t?.metadata||[],n=r?.metadata||[],s=i?.metadata||[];return[...a,...n,...s]},[t,r,i]);return ie(E,{metadata:o,...e})}import{useEffect as le,useState as ce}from"react";import{createImageServiceRequest as ae,imageServiceRequestToString as se}from"@atlas-viewer/iiif-image-api";import{useMemo as me}from"react";function V(e,t={},r=[]){return me(()=>{if(!e)return null;let i=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(console.log("Invalid quality",t.quality,e.extraQualities),i="default"));let o=ae(e);return se({identifier:o.identifier,server:o.server,scheme:o.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:i||"default",prefix:o.prefix,originalPath:o.originalPath})},[...r])}import{jsx as A}from"react/jsx-runtime";function fe(e){let t=typeof e.src=="string"?e.src:e.src.id,r=L(),[i,o]=ce(!1),a;if(t){let s=r.loadServiceSync({id:t});s&&(a=s)}!a&&!i&&r.loadService({id:t}).then(()=>{o(!0)});let n=V(a,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[i,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return le(()=>()=>{o(!1)},[t]),n?A("img",{src:n,alt:e.alt,className:e.className,style:e.style}):A(ue,{...e,fetchImageService:!1})}function ue(e){if(e.fetchImageService)return A(fe,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,r=V(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 r?A("img",{src:r,alt:e.alt,className:e.className,style:e.style}):null}import{jsx as de}from"react/jsx-runtime";function Hr(e){let t=q();return de(E,{metadata:t?.metadata||[],...e})}import{useLayoutEffect as ye,useRef as he}from"react";import*as O from"react-lazy-load-image-component";import{getValue as ge}from"@iiif/helpers/i18n";import{Fragment as G,jsx as I,jsxs as xe}from"react/jsx-runtime";var{LazyLoadComponent:pe}=O||O.default;function J(e){let{size:t,visible:r,classes:i,canvasId:o,figure:a}=e,n=t?.width||128,s=t?.height||t?.width||128,l=I(ve,{...e}),g=I(pe,{threshold:300,style:{height:s,width:n},visibleByDefault:r,children:o?I(W,{canvas:o,children:l}):l});return a?I("figure",{className:i?.figure,children:g}):g}function ve({fallback:e,size:t,classes:r,showLabel:i,alt:o,dereference:a=!1}){let n=N(),s=t?.width||128,l=t?.height||t?.width||128,g=o||ge(n?.label)||"",d=K({width:s,height:l},a);return!d||d.type!=="fixed"?I(G,{children:e}):xe(G,{children:[I("div",{className:r?.imageWrapper,children:I("img",{className:r?.img,src:d.id,alt:g})}),i?I(R,{as:"figcaption",className:r?.label,children:n?.label}):null]})}import{jsx as M}from"react/jsx-runtime";function eo({flat:e,size:t,classes:r={},showLabel:i,figure:o,fallback:a}){let n=he(null),{items:s,sequence:l,currentSequenceIndex:g,setSequenceIndex:d}=Q(),x={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};ye(()=>{if(!n.current)return;let p=n.current.querySelector("[data-selected=true]");p&&p.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},[g]);let y=[];for(let p of l){let C=[],f=l[g]===p;for(let m of p){let u=s[m];C.push(M("div",{className:f?x.item:r.item,children:M(J,{classes:f?x:r,canvasId:u.id,size:t,showLabel:i,figure:o,placeholder:M("div",{style:{height:128,width:128}}),fallback:a})},m))}if(e){y.push(C);continue}y.push(M("div",{onClick:m=>{d(l.indexOf(p))},"data-selected":f,className:f?x.row:r.row,children:C}))}return M("div",{ref:n,className:r.container,children:y})}import{jsx as Se}from"react/jsx-runtime";function no({annotation:e,children:t}){return Se(P,{value:{annotation:e},children:t})}import{jsx as be}from"react/jsx-runtime";function mo({annotationPage:e,children:t}){return be(P,{value:{annotationPage:e},children:t})}import{jsx as Ie}from"react/jsx-runtime";function uo({collection:e,children:t}){return Ie(P,{value:{collection:e},children:t})}function xo(e,t={}){return T(t)}function ho(e,t=!1){}function Ro(e){let r=w().manifest,i=e?e.map(o=>typeof o=="string"?o:o?.id):[];return z(o=>{let a=r?o.iiif.entities.Manifest[r]:void 0,n=a?.items||[];if(typeof e>"u")return n;let s=[];for(let l of a?.items||[])i.indexOf(l.id)!==-1&&s.push(l);return s},[i.join("/")])}import{useMemo as Re}from"react";function wo(e,t=[]){let{id:r,selector:i}=e,o=w(),a=r||o.collection,n=z(s=>a?s.iiif.entities.Collection[a]:void 0,[a]);return Re(()=>{if(n)return i?i(n):n},[n,i,...t])}import{useEffect as Ce,useMemo as Pe}from"react";import{createEventsHelper as Ne}from"@iiif/helpers/events";function ko(e,t,r,i,o=[]){let a=b(),n=Pe(()=>Ne(a),[a]);Ce(()=>{let s=e;return s?(n.addEventListener(s,t,r,i),()=>{n.removeEventListener(s,t,r)}):()=>{}},[n,e,t,...o])}function Vo(e,t){let{id:r,isLoaded:i,error:o,resource:a,requestId:n,cached:s}=D(e,t);return{id:r,isLoaded:i,error:o,manifest:a,requestId:n,cached:s}}import{getImageServices as U}from"@atlas-viewer/iiif-image-api";import{useEffect as Me,useMemo as X,useState as F}from"react";function Y({cacheKey:e}={}){let t=N(),r=T(),i=b(),o=L(),[a,n]=F(void 0),[s,l]=F(!1),[g,d]=F("idle"),[x,y]=F(void 0),p=t?t.id:"undefined",C=X(()=>{try{if(t&&r.length){let m=r[0],u=i.get(m.body[0]),c=U(u)[0];return c&&o.loadServiceSync({id:c.id||c["@id"],width:c.width||t.width,height:c.height||t.height})||void 0}}catch(m){console.error(m)}},[p,e,t]),f=g==="success"&&a?a:C;return Me(()=>{(async()=>{try{if(t&&r.length){let m=r[0],u=i.get(m.body[0]),c=U(u)[0];if(!c)return;l(!0),d("loading");try{let S=await o.loadService({id:c.id||c["@id"],width:c.width||t.width,height:c.height||t.height})||void 0;n(S),d("success"),l(!1)}catch(S){d("error"),y(S)}}}catch(m){d("error"),y(m)}})()},[p,e]),X(()=>({data:f,isFetching:s,status:g,error:x}),[f,s,g,x])}function Go(){let e=Y();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}}import{createStylesHelper as we}from"@iiif/helpers/styles";import{useMemo as ze}from"react";function Zo(){let e=b();return ze(()=>we(e),[e])}export*from"@iiif/helpers/annotation-targets";export{no as AnnotationContext,mo as AnnotationPageContext,gt as Auth,tt as AuthProvider,rt as AuthProvider_Old,Ze as AuthRContext,je as AuthReactContext,et as AuthReactContextActions,ur as CanvasAnnotations,W as CanvasContext,$ as CanvasPanel,uo as CollectionContext,Pr as CombinedMetadata,St as ContextBridge,ue as Image,$t as ImageServiceLoaderContext,xt as InnerViewerProvider,Lt as LanguageProvider,kt as LanguageString,R as LocaleString,Ae as ManifestContext,Hr as ManifestMetadata,ar as MediaPlayerProvider,E as Metadata,Oe as RangeContext,Le as ReactVaultContext,P as ResourceProvider,qe as ResourceReactContext,eo as SequenceThumbnails,yt as SimpleViewerProvider,vt as SimpleViewerReactContext,J as SingleCanvasThumbnail,Te as VaultProvider,Pt as ViewerPresetContext,Ct as VirtualAnnotationProvider,Fe as VisibleCanvasReactContext,Ue as authDetailsForResource,Ge as createAuthStateStore,Je as createProbe,Dt as emptyActions,Qt as emptyStrategy,We as findAllCanvasesInRange,De as findFirstCanvasFromRange,He as findManifestSelectedRange,Qe as findSelectedRange,_t as flattenAnnotationPageIds,tr as formatTime,Jt as get3dStrategy,Ut as getImageStrategy,Ke as getManifestSequence,Ot as getParsedTargetSelector,Zt as getRenderingStrategy,Xt as getTextualContentStrategy,Yt as getVideoStrategy,_e as getVisibleCanvasesFromCanvasId,Be as hasAuth,Ye as makeAccessServiceRequest,Xe as makeAccessTokenRequest,Vt as parseSpecificResource,Wt as unknownResponse,Ht as unsupportedStrategy,zt as useAnnotation,qt as useAnnotationPage,_ as useAnnotationPageManager,xo as useAnnotationsAtTime,nt as useAuthActions,dt as useAuthActions_old,at as useAuthService,ct as useAuthService_old,ot as useAuthStore,mt as useAuthToken,ut as useAuthToken_old,st as useAuthTokens,ft as useAuthTokens_old,N as useCanvas,ho as useCanvasClock,$e as useCanvasSequence,Ro as useCanvasSubset,Et as useClosestLanguage,wo as useCollection,ht as useContextBridge,Ft as useCreateLocaleString,it as useCurrentAuth,lt as useCurrentAuth_old,bt as useDispatch,ko as useEventListener,ke as useExistingVault,Vo as useExternalCollection,Ee as useExternalManifest,D as useExternalResource,Tt as useIIIFLanguage,V as useImage,Y as useImageService,L as useImageServiceLoader,Go as useImageTile,Bt as useLoadImageService,At as useLocaleString,q as useManifest,nr as useMediaActions,ir as useMediaElements,or as useMediaState,Gt as usePaintables,T as usePaintingAnnotations,H as useRange,jt as useRenderingStrategy,w as useResourceContext,Mt as useResourceEvents,Kt as useResources,pt as useSearchService,rr as useSimpleMediaPlayer,Q as useSimpleViewer,Zo as useStyleHelper,wt as useStyles,K as useThumbnail,b as useVault,er as useVaultEffect,z as useVaultSelector,Nt as useViewerPreset,It as useVirtualAnnotationPage,Rt as useVirtualAnnotationPageContext,Ve as useVisibleCanvases};
|
|
1
|
+
import{$ as St,A as Je,Aa as Jt,B as Ue,Ba as er,C as Xe,Ca as tr,D as Ye,Da as Q,E as Ze,Ea as rr,F as je,Fa as or,G as et,Ga as nr,H as tt,Ha as ir,I as rt,Ia as ar,J as ot,Ja as sr,K as nt,Ka as $,L as it,M as at,N as st,O as mt,P as ct,Q as lt,R as ft,S as ut,T as dt,U as gt,V as pt,W as vt,X as xt,Y as yt,Z as ht,_,a as Le,aa as bt,b as w,ba as It,c as P,ca as Rt,d as qe,da as Ct,e as Te,ea as Pt,f as ke,fa as Nt,g as D,ga as Mt,h as Ee,ha as N,i as Ae,ia as wt,j as W,ja as zt,k as b,ka as Lt,l as z,la as qt,m as Fe,ma as Tt,n as Ve,na as kt,o as L,oa as Et,p as Oe,pa as At,q as De,qa as Ft,r as We,ra as Vt,s as He,sa as R,t as _e,ta as Qt,u as Ke,ua as K,v as Qe,va as $t,w as H,wa as Bt,x as $e,xa as q,y as Be,ya as Gt,z as Ge,za as T}from"./chunk-VPKD2BBH.js";import{a as Ot,b as Dt,c as Wt,d as Ht,e as _t,f as Kt,g as Ut,h as Xt,i as Yt,j as Zt,k as jt}from"./chunk-DXFXJCXN.js";import{useCanvas as Z}from"@atlas-viewer/atlas";import{forwardRef as j,useImperativeHandle as ee}from"react";import{Fragment as te,jsx as B}from"react/jsx-runtime";var dr=j(function({canvasId:t},r){let i=Z(),o=K(t||i?.id),a=b();return ee(r,()=>o,[t,i]),!i||o.enabledPageIds.length===0?null:B(te,{children:o.enabledPageIds.map(n=>B($.RenderAnnotationPage,{page:a.get(n)},n))})});import{useMemo as ne}from"react";import{useMemo as re}from"react";import{Fragment as oe,jsx as v,jsxs as k}from"react/jsx-runtime";function E({metadata:e=[],config:t,labelWidth:r=16,showEmptyMessage:i=!0,allowHtml:o,emptyFallback:a,classes:n={},emptyMessage:s="No metadata available",emptyValueFallback:c="No value",emptyLabelFallback:g="",separator:d,tableFooter:x,tableHeader:y}){let p=re(()=>{let f=(t||[]).reduce((u,h)=>[...u,...h.keys],[]),m={};for(let u of e){let h=u&&u.label?Object.values(u.label):[];for(let l of h)if(l&&l.length&&(f.indexOf(`metadata.${l[0]}`)!==-1||f.length===0)&&u){let S=`metadata.${l[0]}`;m[S]=m[S]?m[S]:[],m[S].push(u);break}}return m},[t,e]);return Object.keys(p).length===0&&i?v(oe,{children:a})||v("div",{className:n.empty,children:s}):t&&t.length?k("table",{className:n.container,children:[y,v("tbody",{children:t.map((f,m)=>{let u=[];for(let h of f.keys)for(let l of p[h]||[])u.push(v(R,{enableDangerouslySetInnerHTML:o,defaultText:c,separator:d,children:l.value},m+"__"+h));return u.length===0?null:k("tr",{className:n.row,children:[v("td",{className:n.label,style:r?{minWidth:r}:{},children:v(R,{enableDangerouslySetInnerHTML:o,separator:d,defaultText:g,children:f.label})}),v("td",{className:n.value,children:u})]},m)})}),x]}):k("table",{className:n.container,children:[y,v("tbody",{children:e&&e.length?e.map((f,m)=>f?k("tr",{className:n.row,children:[v("td",{className:n.label,style:r?{minWidth:r}:{},children:v(R,{enableDangerouslySetInnerHTML:o,defaultText:c,separator:d,children:f.label})}),v("td",{className:n.value,children:v(R,{enableDangerouslySetInnerHTML:o,defaultText:c,separator:d,children:f.value})})]},m):null):null}),x]})}import{jsx as ie}from"react/jsx-runtime";function Nr(e){let t=L(),r=N(),i=H(),o=ne(()=>{let a=t?.metadata||[],n=r?.metadata||[],s=i?.metadata||[];return[...a,...n,...s]},[t,r,i]);return ie(E,{metadata:o,...e})}import{useEffect as ce,useState as le}from"react";import{createImageServiceRequest as ae,imageServiceRequestToString as se}from"@atlas-viewer/iiif-image-api";import{useMemo as me}from"react";function V(e,t={},r=[]){return me(()=>{if(!e)return null;let i=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(i="default"));let o=ae(e);return se({identifier:o.identifier,server:o.server,scheme:o.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:i||"default",prefix:o.prefix,originalPath:o.originalPath})},[...r])}import{jsx as A}from"react/jsx-runtime";function fe(e){let t=typeof e.src=="string"?e.src:e.src.id,r=q(),[i,o]=le(!1),a;if(t){let s=r.loadServiceSync({id:t});s&&(a=s)}!a&&!i&&r.loadService({id:t}).then(()=>{o(!0)});let n=V(a,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[i,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return ce(()=>()=>{o(!1)},[t]),n?A("img",{src:n,alt:e.alt,className:e.className,style:e.style}):A(ue,{...e,fetchImageService:!1})}function ue(e){if(e.fetchImageService)return A(fe,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,r=V(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 r?A("img",{src:r,alt:e.alt,className:e.className,style:e.style}):null}import{jsx as de}from"react/jsx-runtime";function _r(e){let t=L();return de(E,{metadata:t?.metadata||[],...e})}import{useLayoutEffect as ye,useRef as he}from"react";import*as O from"react-lazy-load-image-component";import{getValue as ge}from"@iiif/helpers/i18n";import{Fragment as G,jsx as I,jsxs as xe}from"react/jsx-runtime";var{LazyLoadComponent:pe}=O||O.default;function J(e){let{size:t,visible:r,classes:i,canvasId:o,figure:a}=e,n=t?.width||128,s=t?.height||t?.width||128,c=I(ve,{...e}),g=I(pe,{threshold:300,style:{height:s,width:n},visibleByDefault:r,children:o?I(W,{canvas:o,children:c}):c});return a?I("figure",{className:i?.figure,children:g}):g}function ve({fallback:e,size:t,classes:r,showLabel:i,alt:o,dereference:a=!1}){let n=N(),s=t?.width||128,c=t?.height||t?.width||128,g=o||ge(n?.label)||"",d=Q({width:s,height:c},a);return!d||d.type!=="fixed"?I(G,{children:e}):xe(G,{children:[I("div",{className:r?.imageWrapper,children:I("img",{className:r?.img,src:d.id,alt:g})}),i?I(R,{as:"figcaption",className:r?.label,children:n?.label}):null]})}import{jsx as M}from"react/jsx-runtime";function to({flat:e,size:t,classes:r={},showLabel:i,figure:o,fallback:a}){let n=he(null),{items:s,sequence:c,currentSequenceIndex:g,setSequenceIndex:d}=_(),x={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};ye(()=>{if(!n.current)return;let p=n.current.querySelector("[data-selected=true]");p&&p.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},[g]);let y=[];for(let p of c){let C=[],f=c[g]===p;for(let m of p){let u=s[m];C.push(M("div",{className:f?x.item:r.item,children:M(J,{classes:f?x:r,canvasId:u.id,size:t,showLabel:i,figure:o,placeholder:M("div",{style:{height:128,width:128}}),fallback:a})},m))}if(e){y.push(C);continue}y.push(M("div",{onClick:m=>{d(c.indexOf(p))},"data-selected":f,className:f?x.row:r.row,children:C}))}return M("div",{ref:n,className:r.container,children:y})}import{jsx as Se}from"react/jsx-runtime";function io({annotation:e,children:t}){return Se(P,{value:{annotation:e},children:t})}import{jsx as be}from"react/jsx-runtime";function co({annotationPage:e,children:t}){return be(P,{value:{annotationPage:e},children:t})}import{jsx as Ie}from"react/jsx-runtime";function go({collection:e,children:t}){return Ie(P,{value:{collection:e},children:t})}function yo(e,t={}){return T(t)}function So(e,t=!1){}function Co(e){let r=w().manifest,i=e?e.map(o=>typeof o=="string"?o:o?.id):[];return z(o=>{let a=r?o.iiif.entities.Manifest[r]:void 0,n=a?.items||[];if(typeof e>"u")return n;let s=[];for(let c of a?.items||[])i.indexOf(c.id)!==-1&&s.push(c);return s},[i.join("/")])}import{useMemo as Re}from"react";function zo(e,t=[]){let{id:r,selector:i}=e,o=w(),a=r||o.collection,n=z(s=>a?s.iiif.entities.Collection[a]:void 0,[a]);return Re(()=>{if(n)return i?i(n):n},[n,i,...t])}import{useEffect as Ce,useMemo as Pe}from"react";import{createEventsHelper as Ne}from"@iiif/helpers/events";function Eo(e,t,r,i,o=[]){let a=b(),n=Pe(()=>Ne(a),[a]);Ce(()=>{let s=e;return s?(n.addEventListener(s,t,r,i),()=>{n.removeEventListener(s,t,r)}):()=>{}},[n,e,t,...o])}function Oo(e,t){let{id:r,isLoaded:i,error:o,resource:a,requestId:n,cached:s}=D(e,t);return{id:r,isLoaded:i,error:o,manifest:a,requestId:n,cached:s}}import{getImageServices as U}from"@atlas-viewer/iiif-image-api";import{useEffect as Me,useMemo as X,useState as F}from"react";function Y({cacheKey:e}={}){let t=N(),r=T(),i=b(),o=q(),[a,n]=F(void 0),[s,c]=F(!1),[g,d]=F("idle"),[x,y]=F(void 0),p=t?t.id:"undefined",C=X(()=>{try{if(t&&r.length){let m=r[0],u=i.get(m.body[0]),l=U(u)[0];return l&&o.loadServiceSync({id:l.id||l["@id"],width:l.width||t.width,height:l.height||t.height})||void 0}}catch(m){console.error(m)}},[p,e,t]),f=g==="success"&&a?a:C;return Me(()=>{(async()=>{try{if(t&&r.length){let m=r[0],u=i.get(m.body[0]),l=U(u)[0];if(!l)return;c(!0),d("loading");try{let S=await o.loadService({id:l.id||l["@id"],width:l.width||t.width,height:l.height||t.height})||void 0;n(S),d("success"),c(!1)}catch(S){d("error"),y(S)}}}catch(m){d("error"),y(m)}})()},[p,e]),X(()=>({data:f,isFetching:s,status:g,error:x}),[f,s,g,x])}function Jo(){let e=Y();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}}import{createStylesHelper as we}from"@iiif/helpers/styles";import{useMemo as ze}from"react";function jo(){let e=b();return ze(()=>we(e),[e])}export*from"@iiif/helpers/annotation-targets";export{io as AnnotationContext,co as AnnotationPageContext,pt as Auth,tt as AuthProvider,rt as AuthProvider_Old,Ze as AuthRContext,je as AuthReactContext,et as AuthReactContextActions,dr as CanvasAnnotations,W as CanvasContext,$ as CanvasPanel,go as CollectionContext,Nr as CombinedMetadata,bt as ContextBridge,ue as Image,Bt as ImageServiceLoaderContext,yt as InnerViewerProvider,Tt as LanguageProvider,Et as LanguageString,R as LocaleString,Ae as ManifestContext,_r as ManifestMetadata,sr as MediaPlayerProvider,E as Metadata,Oe as RangeContext,qe as ReactVaultContext,P as ResourceProvider,Le as ResourceReactContext,to as SequenceThumbnails,ht as SimpleViewerProvider,xt as SimpleViewerReactContext,J as SingleCanvasThumbnail,Te as VaultProvider,Nt as ViewerPresetContext,Pt as VirtualAnnotationProvider,Fe as VisibleCanvasReactContext,Ue as authDetailsForResource,Ge as createAuthStateStore,Je as createProbe,Wt as emptyActions,Kt as emptyStrategy,We as findAllCanvasesInRange,De as findFirstCanvasFromRange,He as findManifestSelectedRange,_e as findSelectedRange,Qt as flattenAnnotationPageIds,rr as formatTime,Ut as get3dStrategy,Xt as getImageStrategy,Qe as getManifestSequence,Dt as getParsedTargetSelector,jt as getRenderingStrategy,Yt as getTextualContentStrategy,Zt as getVideoStrategy,Ke as getVisibleCanvasesFromCanvasId,Be as hasAuth,Ye as makeAccessServiceRequest,Xe as makeAccessTokenRequest,Ot as parseSpecificResource,Ht as unknownResponse,_t as unsupportedStrategy,Lt as useAnnotation,qt as useAnnotationPage,K as useAnnotationPageManager,yo as useAnnotationsAtTime,it as useAuthActions,gt as useAuthActions_old,st as useAuthService,ft as useAuthService_old,nt as useAuthStore,ct as useAuthToken,dt as useAuthToken_old,mt as useAuthTokens,ut as useAuthTokens_old,N as useCanvas,So as useCanvasClock,$e as useCanvasSequence,Co as useCanvasSubset,At as useClosestLanguage,zo as useCollection,St as useContextBridge,Vt as useCreateLocaleString,at as useCurrentAuth,lt as useCurrentAuth_old,It as useDispatch,Eo as useEventListener,ke as useExistingVault,Oo as useExternalCollection,Ee as useExternalManifest,D as useExternalResource,kt as useIIIFLanguage,V as useImage,Y as useImageService,q as useImageServiceLoader,Jo as useImageTile,ot as useIsAuthEnabled,Gt as useLoadImageService,Ft as useLocaleString,L as useManifest,ir as useMediaActions,ar as useMediaElements,nr as useMediaState,Jt as usePaintables,T as usePaintingAnnotations,H as useRange,er as useRenderingStrategy,w as useResourceContext,wt as useResourceEvents,$t as useResources,vt as useSearchService,or as useSimpleMediaPlayer,_ as useSimpleViewer,jo as useStyleHelper,zt as useStyles,Q as useThumbnail,b as useVault,tr as useVaultEffect,z as useVaultSelector,Mt as useViewerPreset,Rt as useVirtualAnnotationPage,Ct as useVirtualAnnotationPageContext,Ve as useVisibleCanvases};
|
package/dist/utils.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var f=Object.defineProperty;var
|
|
1
|
+
"use strict";var f=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var B=(e,t)=>{for(var o in t)f(e,o,{get:t[o],enumerable:!0})},D=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of z(t))!O.call(e,r)&&r!==o&&f(e,r,{get:()=>t[r],enumerable:!(i=N(t,r))||i.enumerable});return e};var A=e=>D(f({},"__esModule",{value:!0}),e);var V={};B(V,{emptyActions:()=>k,emptyStrategy:()=>y,getParsedTargetSelector:()=>c,getRenderingStrategy:()=>M,parseSpecificResource:()=>W,unknownResponse:()=>l,unsupportedStrategy:()=>n});module.exports=A(V);var x=require("@iiif/helpers");function W(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function c(e,t){let{selector:o,source:i}=(0,x.expandTarget)(t);if(i.id!==e.id)return[null,i];let r={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[o?o.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:o.temporal,spatial:r.spatial}:o:null,i]}var k={makeChoice:()=>{}},l={type:"unknown"},n=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),y=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var U=["model/gltf-binary"];function T(e,t){let i=t.items[0].resource;return i.format?U.indexOf(i.format)===-1?n(`3D format: ${i.format} is unsupported`):{type:"3d-model",model:i}:n("Unknown format")}function I(e,t){if(!e.duration)return n("No duration on canvas");if(t.items.length>1)return n("Only one audio source supported");let o=t.items[0]?.resource;return o?o.format?{type:"media",media:{annotationId:t.items[0].annotationId,duration:e.duration,url:o.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:o.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}:n("Audio does not have format"):n("Unknown audio")}var C=require("@atlas-viewer/iiif-image-api");var S=require("@iiif/helpers/annotation-targets");function R(e,t,o){let i=[];for(let r of t.items){let a=r.resource&&r.resource.type==="SpecificResource"?r.resource.source:r.resource;if(!a.id)return n("No resource Identifier");let s;if(a.service){let u=(0,C.getImageServices)(a);u[0]&&(s=o(u[0],e))}let p={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[d,h]=c(e,r.target);if(!(h.id===e.id||decodeURIComponent(h.id||"")===(e.id||"")))continue;let L=r.resource.width&&r.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:r.resource.width,height:r.resource.height}}:void 0,m=r.resource.type==="SpecificResource"?(0,S.expandTarget)(r.resource):null;if(r.selector){let u=(0,S.expandTarget)({type:"SpecificResource",source:r.resource,selector:r.selector});u&&(m=u)}let g=m&&m.selector&&(m.selector.type==="BoxSelector"||m.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:m.selector.spatial.x,y:m.selector.spatial.y,width:m.selector.spatial.width,height:m.selector.spatial.height}}:void 0;s&&!s.id&&(s.id=s["@id"]);let b={id:a.id,type:"Image",annotationId:r.annotationId,width:Number(d||g?a.width:e.width),height:Number(d||g?a.height:e.height),service:s,sizes:s&&s.sizes?s.sizes:a.width&&a.height?[{width:a.width,height:a.height}]:[],target:d&&d.type!=="PointSelector"?d:p,selector:g};i.push(b)}return{type:"images",image:i[0],images:i,choice:t.choice}}function v(e,t={},o){let i=e.language||o||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[i]=e.value);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(r=>v(r,t,i))}return t}function w(e,t){let o=[];return t.items.forEach(i=>{if(i.resource){let[r]=c(e,i.target);o.push({annotationId:i.annotationId,text:v(i.resource),target:r})}}),{type:"textual-content",items:o}}var E=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function P(e,t){let o=t.items.filter(p=>p.type==="video"),i=!1;if(e.duration||(i=!0),o.length>1)return n("Only one video source supported");let r=o[0]?.resource,a=!!(r.service||[]).find(p=>(p.profile||"").includes("youtube.com"));if(!a&&i)return n("Video does not have duration");if(!r)return n("Unknown video");if((!r.format||r.format==="text/html")&&!a)return n("Video does not have format");let s={annotationId:t.items[0].annotationId,duration:e.duration,url:r.id,type:"Video",items:[],target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:r.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}};if(a){s.type="VideoYouTube";let p=r.id.match(E);if(!p[1])return n("Video is not known youtube video");s.youTubeId=p[1]}return{type:"media",media:s,annotations:{pages:[]}}}function M({canvas:e,paintables:t,supports:o,loadImageService:i}){if(!e)return l;if(t.types.length===0)return o.indexOf("empty")!==-1?y(e.width,e.height):l;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 o.indexOf("complex-timeline")===-1?n("Complex timeline not supported"):n("ComplexTimelineStrategy not yet supported");let r=t.types[0];return r==="image"?o.indexOf("images")===-1?n("Image not supported"):R(e,t,i):r==="Model"||r==="model"?o.indexOf("3d-model")===-1?n("3D not supported"):T(e,t):r==="textualbody"?o.indexOf("textual-content")===-1?n("Textual content not supported"):w(e,t):r==="sound"||r==="audio"?o.indexOf("media")===-1?n("Media not supported"):I(e,t):r==="video"?o.indexOf("media")===-1?n("Media not supported"):P(e,t):l}
|
package/dist/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o,b as r,c as e,d as f,e as m,f as p,k as t}from"./chunk-
|
|
1
|
+
import{a as o,b as r,c as e,d as f,e as m,f as p,k as t}from"./chunk-DXFXJCXN.js";export{e as emptyActions,p as emptyStrategy,r as getParsedTargetSelector,t as getRenderingStrategy,o as parseSpecificResource,f as unknownResponse,m as unsupportedStrategy};
|