react-iiif-vault 2.0.0 → 2.0.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 +1 -1
- package/dist/bundle.global.js +22 -22
- package/dist/canvas-panel.cjs +5 -5
- package/dist/canvas-panel.js +1 -1
- package/dist/{chunk-JX3DXSPO.js → chunk-5VWTU5L4.js} +7 -7
- package/dist/{chunk-XNDN34SQ.js → chunk-OTG27VBE.js} +1 -1
- package/dist/index.cjs +7 -7
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -80,7 +80,7 @@ declare function RenderAnnotationStrategy({ children }: AnnotationStrategyProps)
|
|
|
80
80
|
interface RenderAudioStrategyProps {
|
|
81
81
|
as?: React.ComponentType<AudioComponentProps>;
|
|
82
82
|
}
|
|
83
|
-
declare function RenderAudioStrategy({ as: CustomAudio
|
|
83
|
+
declare function RenderAudioStrategy({ as: CustomAudio }: RenderAudioStrategyProps): react_jsx_runtime.JSX.Element | null;
|
|
84
84
|
|
|
85
85
|
declare function RenderComplexTimelineStrategy(): react_jsx_runtime.JSX.Element | null;
|
|
86
86
|
|
package/dist/index.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ declare function RenderAnnotationStrategy({ children }: AnnotationStrategyProps)
|
|
|
80
80
|
interface RenderAudioStrategyProps {
|
|
81
81
|
as?: React.ComponentType<AudioComponentProps>;
|
|
82
82
|
}
|
|
83
|
-
declare function RenderAudioStrategy({ as: CustomAudio
|
|
83
|
+
declare function RenderAudioStrategy({ as: CustomAudio }: RenderAudioStrategyProps): react_jsx_runtime.JSX.Element | null;
|
|
84
84
|
|
|
85
85
|
declare function RenderComplexTimelineStrategy(): react_jsx_runtime.JSX.Element | null;
|
|
86
86
|
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as zo,$a as q,A as uo,Aa as rr,Ab as Yr,B as fo,Ba as nr,Bb as Gr,C as po,Ca as ir,Cb as rn,D as go,Da as ar,Db as ve,E as ho,Ea as sr,Eb as nn,F as yo,Fa as lr,Fb as xe,G as vo,Ga as cr,Gb as D,H as xo,Ha as mr,Hb as an,I as So,Ia as ur,Ib as fn,J as bo,Ja as dr,Jb as pn,K as Co,Ka as fr,Kb as gn,L as Io,La as de,Lb as Se,M as Ro,Ma as fe,Mb as be,N as Po,Na as pr,Nb as Ce,O as wo,Oa as gr,P as To,Pa as pe,Q as qo,Qa as ge,R as Ao,Ra as hr,S as No,Sa as yr,T as Eo,Ta as vr,U as ae,Ua as xr,V as ko,Va as Sr,W as Mo,Wa as br,X as Ho,Xa as Cr,Y as B,Ya as Ir,Z as se,Za as Rr,_ as le,_a as Pr,a as Xt,aa as Lo,ab as he,b as H,ba as Bo,bb as wr,c as A,ca as ce,cb as Tr,d as oe,da as me,db as qr,e as Yt,ea as Do,eb as Ar,f as Gt,fa as Wo,fb as X,g as P,ga as R,gb as Nr,h as z,ha as Oo,hb as Er,i as Jt,ia as Fo,ib as kr,j as re,ja as Vo,jb as Mr,k as Zt,ka as $o,kb as Hr,l as L,la as Ko,lb as zr,m as ne,ma as w,mb as Lr,n as jt,na as _o,nb as Br,o as eo,oa as Qo,ob as Dr,p as to,pa as Uo,pb as Wr,q as oo,qa as Xo,qb as ye,r as ro,ra as Yo,rb as Or,s as no,sa as Go,sb as Fr,t as io,ta as Jo,tb as Vr,u as ao,ua as Zo,ub as $r,v as so,va as jo,vb as Kr,w as ie,wa as er,wb as _r,x as lo,xa as ue,xb as Qr,y as co,ya as tr,yb as Ur,z as mo,za as or,zb as Xr}from"./chunk-JX3DXSPO.js";import{a as Jr,b as Zr,c as jr,d as en,e as tn,f as on,g as sn,h as ln,i as cn,j as mn,k as un,l as dn}from"./chunk-XNDN34SQ.js";export*from"@iiif/helpers/annotation-targets";import{useEffect as Xe}from"react";import{useCallback as Ie,useEffect as Qe,useRef as Ue,useState as W}from"react";import{useStore as N}from"zustand";function Re(e){let[t,o]=W(0),r=R(),n=N(r,y=>y.tool.enabled),i=N(r,y=>y.tool.requestId),a=N(r,y=>y.getRequestId),s=N(r,y=>y.requestAnnotation),d=N(r,y=>y.completeRequest),m=N(r,y=>y.cancelRequest),l=Ue(e?.onSuccess);l.current=e?.onSuccess;let[p,v]=W(!1),[b,S]=W(null),[c,u]=W(null),f=n&&i!==c,g=n&&i===c,h=Ie(async(y,_e)=>{if(c){let te=l.current;v(!0);let M=await s(y,{..._e,requestId:c});if(M)return te?.(M),o(U=>U+1),v(!1),S(M),M;let Q={id:c,cancelled:!0,...me(y)};return te?.(Q),S(Q),o(U=>U+1),v(!1),Q}return null},[s,c]),x=Ie(()=>{S(null),v(!1)},[]);return Qe(()=>{let y=a();return u(y.requestId),()=>{y.clear()}},[t]),{id:t,busy:f,isPending:p,isActive:g,requestId:c,requestAnnotation:h,cancelRequest:()=>c?m(c):void 0,completeRequest:()=>c?d(c):void 0,reset:x,data:b}}var In=[{name:"Default",outer:{borderWidth:4,borderColor:"rgba(255, 255, 255, .4)"},inner:{borderWidth:2,borderColor:"#000"}},{name:"High contrast",outer:{borderWidth:3,borderColor:"#fff"},inner:{borderWidth:1,borderColor:"#000"}},{name:"Lightsaber",outer:{borderWidth:"4",borderColor:"rgba(56,68,255,0.64)"},inner:{borderWidth:"2",borderColor:"#fff"}},{name:"Bright",outer:{borderWidth:"6",borderColor:"#25d527"},inner:{borderWidth:"3",borderColor:"#a916ff"}},{name:"pink",outer:{borderWidth:"4",borderColor:"#ff00ff"},inner:{borderWidth:"2",borderColor:"#ffffff"}},{name:"fine (dark)",outer:{borderWidth:"1",borderColor:"#000000"},inner:{}},{name:"fine (light)",outer:{borderWidth:"1",borderColor:"#FFF"},inner:{}}];function Pe(e){let{id:t,data:o,requestAnnotation:r,cancelRequest:n,isPending:i}=Re({onSuccess:a=>{e.updateShape(a.polygon)}});return Xe(()=>(r({type:"polygon",open:e.shape?.open,points:e.shape?.points}),()=>{n()}),[]),null}import{createContext as Ye,useCallback as we,useContext as qe,useEffect as Te,useMemo as Y,useState as Ge}from"react";import Ae from"mitt";import{jsx as Je}from"react/jsx-runtime";var O=Ye(Ae());O.displayName="SelectorHelper";function Nn({children:e}){return Je(O.Provider,{value:Y(()=>Ae(),[]),children:e})}function En(){return qe(O)}function Ne(e){let t=Ee(),[o,r]=Ge(!1);Te(()=>t.withSelector(e).on("highlight",()=>{r(!0)}),[t,e]),Te(()=>t.withSelector(e).on("clear-highlight",()=>{r(!1)}),[t,e]);let n=we(a=>{t.emit("click",{selectorId:e,event:a})},[e,t]),i=we(a=>{t.emit("hover",{selectorId:e,event:a})},[e,t]);return{controller:t,onClick:n,onHover:i,isHighlighted:o}}function Ee(){let e=qe(O);return Y(()=>({withSelector(t){return{on(o,r){let n=i=>{i&&i.selectorId===t&&r(i)};return e.on(o,n),()=>{e.off(o,n)}},emit(o,r){e.emit(o,{...r,selectorId:t})}}},on(t,o){return e.on(t,o),()=>{e.off(t,o)}},emit(t,o){e.emit(t,o)}}),[e])}function kn(){let e=Ee();return Y(()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(o,r){return e.emit("event-listener",{selectorId:t,name:o,callback:r}),()=>{e.emit("remove-event-listener",{selectorId:t,name:o,callback:r})}},getImagePreview(){return new Promise((o,r)=>{e.emit("image-preview-request",{selectorId:t,resolve:o,reject:r})})},on(o,r){return e.withSelector(t).on(o,r)}}},highlight(t){e.emit("highlight",{selectorId:t})},clearHighlight(t){e.emit("clear-highlight",{selectorId:t})},zoomTo(t){e.emit("zoom-to",{selectorId:t})},addEventListener(t,o,r){return e.emit("event-listener",{selectorId:t,name:o,callback:r}),()=>{e.emit("remove-event-listener",{selectorId:t,name:o,callback:r})}},getImagePreview(t){return new Promise((o,r)=>{e.emit("image-preview-request",{selectorId:t,resolve:o,reject:r})})},on(t,o){return e.on(t,o)}}),[e])}import{createContext as Ze,useContext as je,useMemo as et}from"react";import{jsx as tt}from"react/jsx-runtime";function ke(){return{default:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(252,0,98, .5)"},highlighted:{backgroundColor:"rgba(75, 103, 225, 0.4)",borderWidth:"1px",borderColor:"rgba(75,103,225,0.99)"},hidden:{borderWidth:"0px",borderColor:"rgba(0,0,0,0)",backgroundColor:"rgba(0,0,0,0)",hidden:!0}}}var G=Ze(ke());G.displayName="AnnotationStyle";function Me(){return je(G)}function Ln({theme:e,children:t}){let o=et(()=>e||ke(),[e]);return tt(G.Provider,{value:o,children:t})}import{jsx as He}from"react/jsx-runtime";function _n(e){let t=w(),o=e.annotationBucket,r=e.readOnly,n=e.id,{onClick:i,isHighlighted:a}=Ne(e.id),s=Me(),d=a?s.highlighted:s[o||"hidden"]||s.hidden;if(!t)return null;if(r){let m="shape",l=e.polygon,p=l.open;return l?He(m,{id:`shape-${n}`,points:l.points,open:p,onClick:i,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:d}):null}return He(Pe,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}import{useCanvas as ot}from"@atlas-viewer/atlas";import{forwardRef as rt,useImperativeHandle as nt}from"react";import{Fragment as it,jsx as ze}from"react/jsx-runtime";var jn=rt(function({canvasId:t},o){let r=ot(),n=ve(t||r?.id),i=P();return nt(o,()=>n,[t,r]),!r||n.enabledPageIds.length===0?null:ze(it,{children:n.enabledPageIds.map(a=>ze(Ce.RenderAnnotationPage,{page:i.get(a)},a))})});import{useMemo as lt}from"react";import{useMemo as at}from"react";import{Fragment as st,jsx as C,jsxs as F}from"react/jsx-runtime";function V({metadata:e=[],config:t,labelWidth:o=16,showEmptyMessage:r=!0,allowHtml:n,emptyFallback:i,classes:a={},emptyMessage:s="No metadata available",emptyValueFallback:d="No value",emptyLabelFallback:m="",separator:l,tableFooter:p,tableHeader:v}){let b=at(()=>{let c=(t||[]).reduce((f,g)=>[...f,...g.keys],[]),u={};for(let f of e){let g=f&&f.label?Object.values(f.label):[];for(let h of g)if(h&&h.length&&(c.indexOf(`metadata.${h[0]}`)!==-1||c.length===0)&&f){let x=`metadata.${h[0]}`;u[x]=u[x]?u[x]:[],u[x].push(f);break}}return u},[t,e]);return Object.keys(b).length===0&&r?C(st,{children:i})||C("div",{className:a.empty,children:s}):t&&t.length?F("table",{className:a.container,children:[v,C("tbody",{children:t.map((c,u)=>{let f=[];for(let g of c.keys)for(let h of b[g]||[])f.push(C(q,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:l,children:h.value},u+"__"+g));return f.length===0?null:F("tr",{className:a.row,children:[C("td",{className:a.label,style:o?{minWidth:o}:{},children:C(q,{enableDangerouslySetInnerHTML:n,separator:l,defaultText:m,children:c.label})}),C("td",{className:a.value,children:f})]},u)})}),p]}):F("table",{className:a.container,children:[v,C("tbody",{children:e&&e.length?e.map((c,u)=>c?F("tr",{className:a.row,children:[C("td",{className:a.label,style:o?{minWidth:o}:{},children:C(q,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:l,children:c.label})}),C("td",{className:a.value,children:C(q,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:l,children:c.value})})]},u):null):null}),p]})}import{jsx as ct}from"react/jsx-runtime";function di(e){let t=L(),o=w(),r=ie(),n=lt(()=>{let i=t?.metadata||[],a=o?.metadata||[],s=r?.metadata||[];return[...i,...a,...s]},[t,o,r]);return ct(V,{metadata:n,...e})}import{useEffect as ft,useState as pt}from"react";import{createImageServiceRequest as mt,imageServiceRequestToString as ut}from"@iiif/parser/image-3";import{useMemo as dt}from"react";function J(e,t={},o=[]){return dt(()=>{if(!e)return null;let r=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(r="default"));let n=mt(e);return ut({identifier:n.identifier,server:n.server,scheme:n.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:n.prefix,originalPath:n.originalPath})},[...o])}import{jsx as $}from"react/jsx-runtime";function gt(e){let t=typeof e.src=="string"?e.src:e.src.id,o=de(),[r,n]=pt(!1),i;if(t){let s=o.loadServiceSync({id:t});s&&(i=s)}!i&&!r&&o.loadService({id:t}).then(()=>{n(!0)});let a=J(i,{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 ft(()=>()=>{n(!1)},[t]),a?$("img",{src:a,alt:e.alt,className:e.className,style:e.style}):$(ht,{...e,fetchImageService:!1})}function ht(e){if(e.fetchImageService)return $(gt,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,o=J(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 o?$("img",{src:o,alt:e.alt,className:e.className,style:e.style}):null}import{useMemo as yt,useState as vt}from"react";import{ErrorBoundary as xt}from"react-error-boundary";import{jsx as E,jsxs as bt}from"react/jsx-runtime";function Mi({src:e,errorFallback:t,interactive:o,skipSizes:r,children:n,renderViewerControls:i,viewControlsDeps:a,fluid:s,x:d,y:m,...l}){let[p,v]=vt(),b=t||Se,[S,c]=xe(),u=yt(()=>{let g=c[e]?.status,h=S({id:e},{});return h?.height&&h.width&&g!=="loading"?{id:e,width:h.width,height:h.height,service:h,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:h.width,height:h.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:h.width,height:h.height}}}:null},[S,e,c]);if(!u||!u.height||!u.width)return null;let f=s?void 0:l.homePosition?l.homePosition.width/l.homePosition.height:u.width/u.height;return E(xt,{resetKeys:[],fallbackRender:g=>E(b,{...l,...g}),children:E(be,{...l,aspectRatio:f,containerProps:{style:{position:"relative"},...l.containerProps||{}},onCreated:g=>{v(g),l.onCreated&&l.onCreated(g)},children:bt(X.Provider,{value:p,children:[E(he,{image:u,id:u.id,isStatic:!o,x:d,y:m},u.id),E(St,{viewerPreset:p,renderViewerControls:i,image:u,src:e,viewControlsDeps:a}),n]})})})}function St({viewerPreset:e,renderViewerControls:t,image:o,src:r,viewControlsDeps:n}){return ue(e&&t?"overlay":"none",`canvas-portal-controls-${r}`,X.Provider,t&&o?{value:e||null,children:t({image:o,images:[o],type:"images"})}:{},[r,e,...n||[]]),null}import{jsx as Ct}from"react/jsx-runtime";function Wi(e){let t=L();return Ct(V,{metadata:t?.metadata||[],...e})}import{useLayoutEffect as Tt,useRef as qt}from"react";import*as Z from"react-lazy-load-image-component";import{getValue as It}from"@iiif/helpers/i18n";import{Fragment as Le,jsx as T,jsxs as wt}from"react/jsx-runtime";var{LazyLoadComponent:Rt}=Z||Z.default;function Be(e){let{size:t,visible:o,classes:r,canvasId:n,figure:i}=e,a=t?.width||128,s=t?.height||t?.width||128,d=T(Pt,{...e}),m=T(Rt,{threshold:300,style:{height:s,width:a},visibleByDefault:o,children:n?T(oe,{canvas:n,children:d}):d});return i?T("figure",{className:r?.figure,children:m}):m}function Pt({fallback:e,size:t,classes:o,showLabel:r,alt:n,dereference:i=!1}){let a=w(),s=t?.width||128,d=t?.height||t?.width||128,m=n||It(a?.label)||"",l=fe({width:s,height:d,allowUnsafe:!0},i);return!l||l.type!=="fixed"?T(Le,{children:e}):wt(Le,{children:[T("div",{className:o?.imageWrapper,children:T("img",{className:o?.img,src:l.id,alt:m})}),r?T(q,{as:"figcaption",className:o?.label,children:a?.label}):null]})}import{jsx as k}from"react/jsx-runtime";function Zi({scrollBehaviour:e,dereference:t,flat:o,size:r,classes:n={},showLabel:i,figure:a,fallback:s}){let d=qt(null),{items:m,sequence:l,currentSequenceIndex:p,setSequenceIndex:v}=ae(),b={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};Tt(()=>{if(!d.current)return;let c=d.current.querySelector("[data-selected=true]");c&&c.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[p]);let S=[];for(let c of l){let u=[],f=l[p]===c;for(let g of c){let h=m[g];u.push(k("div",{className:f?b.item:n.item,children:k(Be,{classes:f?b:n,canvasId:h.id,size:r,dereference:t,showLabel:i,figure:a,placeholder:k("div",{style:{height:128,width:128}}),fallback:s})},g))}if(o){S.push(u);continue}S.push(k("div",{onClick:g=>{v(l.indexOf(c))},"data-selected":f,className:f?b.row:n.row,children:u},c.join("-")))}return k("div",{ref:d,className:n.container,children:S})}import{useStore as K}from"zustand";function De(){let e=R(),t=K(e,i=>i.completeRequest),o=K(e,i=>i.polygonState.currentTool),r=K(e,i=>i.polygonState.selectedStamp),n=K(e,i=>i.switchTool);return{completeRequest:t,currentTool:o,selectedStamp:r,switchTool:n}}import{Fragment as We,jsx as I,jsxs as Oe}from"react/jsx-runtime";var At={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function ia({showShapes:e=!0,enabled:t=At,classNames:o={},icons:r={}}){let{currentTool:n,switchTool:i,selectedStamp:a}=De();return Oe(We,{children:[n,I("button",{className:o.button,onClick:i.pointer,"data-active":n==="pointer",children:r.PointerIcon||"Pointer"}),I("button",{className:o.button,onClick:i.hand,"data-active":n==="hand",children:r.HandIcon||"Hand"}),e?Oe(We,{children:[t.box&&I("button",{className:o.button,onClick:i.box,"data-active":n==="box",children:r.BoxIcon||"Box"}),t.pen&&I("button",{className:o.button,onClick:i.pen,"data-active":n==="pen",children:r.PenIcon||"Pen"}),t.draw&&I("button",{className:o.button,onClick:i.draw,"data-active":n==="pencil",children:r.DrawIcon||"Draw"}),t.line&&I("button",{className:o.button,onClick:i.line,"data-active":n==="line",children:r.LineIcon||"Line"}),t.lineBox&&I("button",{className:o.button,onClick:i.lineBox,"data-active":n==="lineBox",children:r.LineBoxIcon||"LineBox"}),t.triangle&&I("button",{className:o.button,onClick:i.triangle,"data-active":n==="stamp"&&a?.id==="triangle",children:r.TriangleIcon||"Triangle"}),t.hexagon&&I("button",{className:o.button,onClick:i.hexagon,"data-active":n==="stamp"&&a?.id==="hexagon",children:r.HexagonIcon||"Hexagon"}),t.circle&&I("button",{className:o.button,"data-active":n==="stamp"&&a?.id==="circle",onClick:i.circle,children:r.CircleIcon||"Circle"})]}):null,t.delete&&I("button",{className:o.button,onClick:i.remove,children:r.DeleteForeverIcon||"Delete"})]})}import{jsx as Nt}from"react/jsx-runtime";function ca({annotation:e,children:t}){return Nt(A,{value:{annotation:e},children:t})}import{jsx as Et}from"react/jsx-runtime";function fa({annotationPage:e,children:t}){return Et(A,{value:{annotationPage:e},children:t})}import{jsx as kt}from"react/jsx-runtime";function ya({collection:e,children:t}){return kt(A,{value:{collection:e},children:t})}function ba(e,t={}){return D(t)}import{useCanvas as Mt}from"@atlas-viewer/atlas";import{useEffect as Ht,useMemo as j,useState as zt}from"react";function Ta({canvasId:e}={}){let t=Mt(),o=re(),r=j(()=>e?[e]:t?[t.id]:o.map(m=>m.id),[e,t,o]),[n,i]=zt({}),a=ye();Ht(()=>{let m=l=>{let p=l.partOf.canvasId;p&&i(v=>({...v,[p]:l.choice}))};return a.on("choice-change",m),()=>{a.off("choice-change",m)}},[]);let s=j(()=>{let m=[];for(let l of r){let p=n[l];p&&m.push({canvasId:l,choice:p})}return m},[r,n]),d=j(()=>({makeChoice:(m,l)=>{a.emit("make-choice",{choiceId:m,...l})}}),[a]);return{choices:s,actions:d}}function Aa(e,t=!1){}function Ma(e){let o=H().manifest,r=e?e.map(n=>typeof n=="string"?n:n?.id):[];return z(n=>{let i=o?n.iiif.entities.Manifest[o]:void 0,a=i?.items||[];if(typeof e>"u")return a;let s=[];for(let d of i?.items||[])r.indexOf(d.id)!==-1&&s.push(d);return s},[r.join("/")])}import{useMemo as Lt}from"react";function Da(e,t=[]){let{id:o,selector:r}=e,n=H(),i=o||n.collection,a=z(s=>i?s.iiif.entities.Collection[i]:void 0,[i]);return Lt(()=>{if(a)return r?r(a):a},[a,r,...t])}import{startTransition as Bt,useMemo as Dt}from"react";import{useStore as Fe}from"zustand";function $a(){let e=R(),t=Fe(e,r=>r.completeRequest),o=Fe(e,r=>r.cancelRequest);return Dt(()=>({saveAnnotation:()=>{Bt(()=>{t()})},cancelRequest:o}),[t,o])}import{useCallback as Wt}from"react";import{useStore as ee}from"zustand";function Xa({requestId:e}={}){let t=R(),o=ee(t,s=>s.metadata),r=ee(t,s=>s.tool.requestId),n=e||r,i=ee(t,s=>s.setMetadata),a=Wt(s=>i(s,n||void 0),[i,n]);return[n?o[n]||{}:{},a]}import{useStore as Ot}from"zustand";function ja(e){let t=R(),o=Ot(t,r=>r.tool.requestId);B("polygons.start-transition",r=>{e.requestId&&o!==e.requestId||e?.onStart?.(r.transitionIntent)},[o,e.requestId]),B("polygons.end-transition",r=>{e.requestId&&o!==e.requestId||e?.onEnd?.(r.transitionIntent,r.response)},[o,e.requestId]),B("polygons.transition",r=>{e.requestId&&o!==e.requestId||e?.onTransition?.(r.transitionIntent)},[o,e.requestId])}import{useEffect as Ft,useMemo as Vt}from"react";import{createEventsHelper as $t}from"@iiif/helpers/events";function ns(e,t,o,r,n=[]){let i=P(),a=Vt(()=>$t(i),[i]);Ft(()=>{let s=e;return s?(a.addEventListener(s,t,o,r),()=>{a.removeEventListener(s,t,o)}):()=>{}},[a,e,t,...n])}function ls(e,t){let{id:o,isLoaded:r,error:n,resource:i,requestId:a,cached:s}=ne(e,t);return{id:o,isLoaded:r,error:n,manifest:i,requestId:a,cached:s}}import{getImageServices as Ve}from"@iiif/parser/image-3";import{useEffect as Kt,useMemo as $e,useState as _}from"react";function Ke({cacheKey:e}={}){let t=w(),o=D(),r=P(),n=pe(),i=ge(),[a,s]=_(void 0),[d,m]=_(!1),[l,p]=_("idle"),[v,b]=_(void 0),S=t?t.id:"undefined",c=$e(()=>{try{if(t&&o.length){let f=o[0],g=r.get(f.body[0]),x=Ve(g)[0];return x&&n(x,{width:x.width||t.width,height:x.height||t.height},!0)||void 0}}catch(f){console.error(f)}},[S,e,t]),u=l==="success"&&a?a:c;return Kt(()=>{(async()=>{try{if(t&&o.length){let f=o[0],g=r.get(f.body[0]),x=Ve(g)[0];if(!x)return;m(!0),p("loading");try{let y=await i(x,{width:x.width||t.width,height:x.height||t.height})||void 0;s(y),p("success"),m(!1)}catch(y){p("error"),b(y)}}}catch(f){p("error"),b(f)}})()},[S,e]),$e(()=>({data:u,isFetching:d,status:l,error:v}),[u,d,l,v])}function vs(){let e=Ke();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 _t}from"@iiif/helpers/styles";import{useMemo as Qt}from"react";function Is(){let e=P();return Qt(()=>_t(e),[e])}function Ps(e,t){let{x:o,y:r,width:n,height:i}=e,{x:a,y:s}=t,{width:d,height:m}=t;return o+n>a&&o<a+d&&r+i>s&&r<s+m}import Ut from"tiny-invariant";function Es(e,t){let o=e.boundingBox||le(e.polygon);if(e.polygon&&!se(e.polygon.points)){let r=e.target||ce(e.polygon,t);return Ut(r?.type==="SvgSelector"),{type:"SvgSelector",points:e.polygon.points,spatial:{unit:"pixel",...o||{}},svgShape:e.polygon.open?"polyline":"polygon",svg:r.value}}return{type:"BoxSelector",spatial:o}}export{ca as AnnotationContext,fa as AnnotationPageContext,Ln as AnnotationStyleProvider,Fo as AtlasStoreProvider,Wo as AtlasStoreReactContext,To as Auth,xo as AuthProvider,ho as AuthRContext,yo as AuthReactContext,vo as AuthReactContextActions,jn as CanvasAnnotations,oe as CanvasContext,Ce as CanvasPanel,pn as CanvasStrategyProvider,gn as CanvasWorldObject,ya as CollectionContext,di as CombinedMetadata,wr as ComplexTimelineProvider,_r as ContextBridge,nr as ControlsReactContext,Pe as CreateCustomShape,Vr as CustomContextBridge,$r as CustomContextBridgeProvider,Gr as DefaultEditingTools,Mo as EventEmitterProvider,Or as EventsProvider,ht as Image,Mi as ImageService,fr as ImageServiceLoaderContext,No as InnerViewerProvider,yr as LanguageProvider,Cr as LanguageString,q as LocaleString,eo as ManifestContext,Wi as ManifestMetadata,Jo as MediaPlayerProvider,V as Metadata,_n as PolygonSelector,to as RangeContext,ko as ReactEmitterContext,Wr as ReactEventContext,Yt as ReactVaultContext,rr as Render3DModelStrategy,ar as RenderAccompanyingCanvas,_o as RenderAnnotation,Yr as RenderAnnotationEditing,Uo as RenderAnnotationPage,ur as RenderAnnotationStrategy,gr as RenderAudioStrategy,qr as RenderComplexTimelineStrategy,Ar as RenderEmptyStrategy,Er as RenderImageStrategy,ia as RenderSvgEditorControls,kr as RenderTextualContentStrategy,Mr as RenderVideoStrategy,Hr as RenderYouTubeStrategy,A as ResourceProvider,Xt as ResourceReactContext,Nn as SelectorControllerProvider,Zi as SequenceThumbnails,Eo as SimpleViewerProvider,Ao as SimpleViewerReactContext,Be as SingleCanvasThumbnail,tr as StrategyReactContext,pr as ThumbnailFallbackImage,hr as TranslationProvider,vr as TransliterationProvider,Gt as VaultProvider,X as ViewerPresetContext,mr as VirtualAnnotationProvider,Jt as VisibleCanvasReactContext,Es as annotationResponseToSelector,fo as authDetailsForResource,Do as createAtlasStore,mo as createAuthStateStore,uo as createProbe,Dr as defaultEmitter,Lr as defaultSvgTheme,jr as emptyActions,on as emptyStrategy,ro as findAllCanvasesInRange,oo as findFirstCanvasFromRange,no as findManifestSelectedRange,io as findSelectedRange,rn as flattenAnnotationPageIds,jo as formatTime,sn as get3dStrategy,Oo as getAtlasStoreByName,un as getComplexTimelineStrategy,ke as getDefaultAnnotationStyles,ln as getImageStrategy,so as getManifestSequence,Zr as getParsedTargetSelector,dn as getRenderingStrategy,cn as getTextualContentStrategy,mn as getVideoStrategy,ao as getVisibleCanvasesFromCanvasId,co as hasAuth,Lo as isBoxSelector,se as isRectangle,zo as isSvgSelector,go as makeAccessServiceRequest,po as makeAccessTokenRequest,Jr as parseSpecificResource,ce as polygonToTarget,me as requestToAnnotationResponse,Bo as seraliseSupportedSelector,In as svgThemes,Ps as targetIntersects,en as unknownResponse,tn as unsupportedStrategy,Ko as useAnnotation,Qo as useAnnotationPage,ve as useAnnotationPageManager,Me as useAnnotationStyles,ba as useAnnotationsAtTime,Ur as useAtlasContextMenu,R as useAtlasStore,Co as useAuthActions,Ro as useAuthService,bo as useAuthStore,wo as useAuthToken,Po as useAuthTokens,w as useCanvas,Ta as useCanvasChoices,Aa as useCanvasClock,lo as useCanvasSequence,Zo as useCanvasStartTime,Ma as useCanvasSubset,Ir as useClosestLanguage,Da as useCollection,Tr as useComplexTimeline,Kr as useContextBridge,Qr as useContextMenuStore,Pr as useCreateLocaleString,$a as useCurrentAnnotationActions,Xa as useCurrentAnnotationMetadata,Xr as useCurrentAnnotationRequest,ja as useCurrentAnnotationTransition,Io as useCurrentAuth,Fr as useCustomContextBridge,sr as useDispatch,Ho as useEmitter,B as useEvent,ye as useEventEmitter,ns as useEventListener,Zt as useExistingVault,ls as useExternalCollection,jt as useExternalManifest,ne as useExternalResource,Sr as useIIIFLanguage,J as useImage,Ke as useImageService,de as useImageServiceLoader,vs as useImageTile,So as useIsAuthEnabled,xe as useLoadImageService,Rr as useLocaleString,L as useManifest,Yo as useMediaActions,Go as useMediaElements,Xo as useMediaState,an as usePaintables,D as usePaintingAnnotations,zr as usePolygonHelper,ie as useRange,ir as useRenderControls,fn as useRenderingStrategy,Re as useRequestAnnotation,H as useResourceContext,Vo as useResourceEvents,nn as useResources,qo as useSearchService,Ee as useSelectorController,En as useSelectorEmitter,Ne as useSelectorEvents,kn as useSelectorHelper,er as useSimpleMediaPlayer,ae as useSimpleViewer,or as useStrategy,Is as useStyleHelper,$o as useStyles,Br as useSvgEditor,De as useSvgEditorControls,fe as useThumbnail,br as useTranslations,xr as useTransliteration,P as useVault,dr as useVaultEffect,z as useVaultSelector,Nr as useViewerPreset,lr as useVirtualAnnotationPage,cr as useVirtualAnnotationPageContext,re as useVisibleCanvases};
|
|
1
|
+
import{$ as zo,$a as q,A as uo,Aa as rr,Ab as Yr,B as fo,Ba as nr,Bb as Gr,C as po,Ca as ir,Cb as rn,D as go,Da as ar,Db as ve,E as ho,Ea as sr,Eb as nn,F as yo,Fa as lr,Fb as xe,G as vo,Ga as cr,Gb as D,H as xo,Ha as mr,Hb as an,I as So,Ia as ur,Ib as fn,J as bo,Ja as dr,Jb as pn,K as Co,Ka as fr,Kb as gn,L as Io,La as de,Lb as Se,M as Ro,Ma as fe,Mb as be,N as Po,Na as pr,Nb as Ce,O as wo,Oa as gr,P as To,Pa as pe,Q as qo,Qa as ge,R as Ao,Ra as hr,S as No,Sa as yr,T as Eo,Ta as vr,U as ae,Ua as xr,V as ko,Va as Sr,W as Mo,Wa as br,X as Ho,Xa as Cr,Y as B,Ya as Ir,Z as se,Za as Rr,_ as le,_a as Pr,a as Xt,aa as Lo,ab as he,b as H,ba as Bo,bb as wr,c as A,ca as ce,cb as Tr,d as oe,da as me,db as qr,e as Yt,ea as Do,eb as Ar,f as Gt,fa as Wo,fb as X,g as P,ga as R,gb as Nr,h as z,ha as Oo,hb as Er,i as Jt,ia as Fo,ib as kr,j as re,ja as Vo,jb as Mr,k as Zt,ka as $o,kb as Hr,l as L,la as Ko,lb as zr,m as ne,ma as w,mb as Lr,n as jt,na as _o,nb as Br,o as eo,oa as Qo,ob as Dr,p as to,pa as Uo,pb as Wr,q as oo,qa as Xo,qb as ye,r as ro,ra as Yo,rb as Or,s as no,sa as Go,sb as Fr,t as io,ta as Jo,tb as Vr,u as ao,ua as Zo,ub as $r,v as so,va as jo,vb as Kr,w as ie,wa as er,wb as _r,x as lo,xa as ue,xb as Qr,y as co,ya as tr,yb as Ur,z as mo,za as or,zb as Xr}from"./chunk-5VWTU5L4.js";import{a as Jr,b as Zr,c as jr,d as en,e as tn,f as on,g as sn,h as ln,i as cn,j as mn,k as un,l as dn}from"./chunk-OTG27VBE.js";export*from"@iiif/helpers/annotation-targets";import{useEffect as Xe}from"react";import{useCallback as Ie,useEffect as Qe,useRef as Ue,useState as W}from"react";import{useStore as N}from"zustand";function Re(e){let[t,o]=W(0),r=R(),n=N(r,y=>y.tool.enabled),i=N(r,y=>y.tool.requestId),a=N(r,y=>y.getRequestId),s=N(r,y=>y.requestAnnotation),d=N(r,y=>y.completeRequest),m=N(r,y=>y.cancelRequest),l=Ue(e?.onSuccess);l.current=e?.onSuccess;let[p,v]=W(!1),[b,S]=W(null),[c,u]=W(null),f=n&&i!==c,g=n&&i===c,h=Ie(async(y,_e)=>{if(c){let te=l.current;v(!0);let M=await s(y,{..._e,requestId:c});if(M)return te?.(M),o(U=>U+1),v(!1),S(M),M;let Q={id:c,cancelled:!0,...me(y)};return te?.(Q),S(Q),o(U=>U+1),v(!1),Q}return null},[s,c]),x=Ie(()=>{S(null),v(!1)},[]);return Qe(()=>{let y=a();return u(y.requestId),()=>{y.clear()}},[t]),{id:t,busy:f,isPending:p,isActive:g,requestId:c,requestAnnotation:h,cancelRequest:()=>c?m(c):void 0,completeRequest:()=>c?d(c):void 0,reset:x,data:b}}var In=[{name:"Default",outer:{borderWidth:4,borderColor:"rgba(255, 255, 255, .4)"},inner:{borderWidth:2,borderColor:"#000"}},{name:"High contrast",outer:{borderWidth:3,borderColor:"#fff"},inner:{borderWidth:1,borderColor:"#000"}},{name:"Lightsaber",outer:{borderWidth:"4",borderColor:"rgba(56,68,255,0.64)"},inner:{borderWidth:"2",borderColor:"#fff"}},{name:"Bright",outer:{borderWidth:"6",borderColor:"#25d527"},inner:{borderWidth:"3",borderColor:"#a916ff"}},{name:"pink",outer:{borderWidth:"4",borderColor:"#ff00ff"},inner:{borderWidth:"2",borderColor:"#ffffff"}},{name:"fine (dark)",outer:{borderWidth:"1",borderColor:"#000000"},inner:{}},{name:"fine (light)",outer:{borderWidth:"1",borderColor:"#FFF"},inner:{}}];function Pe(e){let{id:t,data:o,requestAnnotation:r,cancelRequest:n,isPending:i}=Re({onSuccess:a=>{e.updateShape(a.polygon)}});return Xe(()=>(r({type:"polygon",open:e.shape?.open,points:e.shape?.points}),()=>{n()}),[]),null}import{createContext as Ye,useCallback as we,useContext as qe,useEffect as Te,useMemo as Y,useState as Ge}from"react";import Ae from"mitt";import{jsx as Je}from"react/jsx-runtime";var O=Ye(Ae());O.displayName="SelectorHelper";function Nn({children:e}){return Je(O.Provider,{value:Y(()=>Ae(),[]),children:e})}function En(){return qe(O)}function Ne(e){let t=Ee(),[o,r]=Ge(!1);Te(()=>t.withSelector(e).on("highlight",()=>{r(!0)}),[t,e]),Te(()=>t.withSelector(e).on("clear-highlight",()=>{r(!1)}),[t,e]);let n=we(a=>{t.emit("click",{selectorId:e,event:a})},[e,t]),i=we(a=>{t.emit("hover",{selectorId:e,event:a})},[e,t]);return{controller:t,onClick:n,onHover:i,isHighlighted:o}}function Ee(){let e=qe(O);return Y(()=>({withSelector(t){return{on(o,r){let n=i=>{i&&i.selectorId===t&&r(i)};return e.on(o,n),()=>{e.off(o,n)}},emit(o,r){e.emit(o,{...r,selectorId:t})}}},on(t,o){return e.on(t,o),()=>{e.off(t,o)}},emit(t,o){e.emit(t,o)}}),[e])}function kn(){let e=Ee();return Y(()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(o,r){return e.emit("event-listener",{selectorId:t,name:o,callback:r}),()=>{e.emit("remove-event-listener",{selectorId:t,name:o,callback:r})}},getImagePreview(){return new Promise((o,r)=>{e.emit("image-preview-request",{selectorId:t,resolve:o,reject:r})})},on(o,r){return e.withSelector(t).on(o,r)}}},highlight(t){e.emit("highlight",{selectorId:t})},clearHighlight(t){e.emit("clear-highlight",{selectorId:t})},zoomTo(t){e.emit("zoom-to",{selectorId:t})},addEventListener(t,o,r){return e.emit("event-listener",{selectorId:t,name:o,callback:r}),()=>{e.emit("remove-event-listener",{selectorId:t,name:o,callback:r})}},getImagePreview(t){return new Promise((o,r)=>{e.emit("image-preview-request",{selectorId:t,resolve:o,reject:r})})},on(t,o){return e.on(t,o)}}),[e])}import{createContext as Ze,useContext as je,useMemo as et}from"react";import{jsx as tt}from"react/jsx-runtime";function ke(){return{default:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(252,0,98, .5)"},highlighted:{backgroundColor:"rgba(75, 103, 225, 0.4)",borderWidth:"1px",borderColor:"rgba(75,103,225,0.99)"},hidden:{borderWidth:"0px",borderColor:"rgba(0,0,0,0)",backgroundColor:"rgba(0,0,0,0)",hidden:!0}}}var G=Ze(ke());G.displayName="AnnotationStyle";function Me(){return je(G)}function Ln({theme:e,children:t}){let o=et(()=>e||ke(),[e]);return tt(G.Provider,{value:o,children:t})}import{jsx as He}from"react/jsx-runtime";function _n(e){let t=w(),o=e.annotationBucket,r=e.readOnly,n=e.id,{onClick:i,isHighlighted:a}=Ne(e.id),s=Me(),d=a?s.highlighted:s[o||"hidden"]||s.hidden;if(!t)return null;if(r){let m="shape",l=e.polygon,p=l.open;return l?He(m,{id:`shape-${n}`,points:l.points,open:p,onClick:i,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:d}):null}return He(Pe,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}import{useCanvas as ot}from"@atlas-viewer/atlas";import{forwardRef as rt,useImperativeHandle as nt}from"react";import{Fragment as it,jsx as ze}from"react/jsx-runtime";var jn=rt(function({canvasId:t},o){let r=ot(),n=ve(t||r?.id),i=P();return nt(o,()=>n,[t,r]),!r||n.enabledPageIds.length===0?null:ze(it,{children:n.enabledPageIds.map(a=>ze(Ce.RenderAnnotationPage,{page:i.get(a)},a))})});import{useMemo as lt}from"react";import{useMemo as at}from"react";import{Fragment as st,jsx as C,jsxs as F}from"react/jsx-runtime";function V({metadata:e=[],config:t,labelWidth:o=16,showEmptyMessage:r=!0,allowHtml:n,emptyFallback:i,classes:a={},emptyMessage:s="No metadata available",emptyValueFallback:d="No value",emptyLabelFallback:m="",separator:l,tableFooter:p,tableHeader:v}){let b=at(()=>{let c=(t||[]).reduce((f,g)=>[...f,...g.keys],[]),u={};for(let f of e){let g=f&&f.label?Object.values(f.label):[];for(let h of g)if(h&&h.length&&(c.indexOf(`metadata.${h[0]}`)!==-1||c.length===0)&&f){let x=`metadata.${h[0]}`;u[x]=u[x]?u[x]:[],u[x].push(f);break}}return u},[t,e]);return Object.keys(b).length===0&&r?C(st,{children:i})||C("div",{className:a.empty,children:s}):t&&t.length?F("table",{className:a.container,children:[v,C("tbody",{children:t.map((c,u)=>{let f=[];for(let g of c.keys)for(let h of b[g]||[])f.push(C(q,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:l,children:h.value},u+"__"+g));return f.length===0?null:F("tr",{className:a.row,children:[C("td",{className:a.label,style:o?{minWidth:o}:{},children:C(q,{enableDangerouslySetInnerHTML:n,separator:l,defaultText:m,children:c.label})}),C("td",{className:a.value,children:f})]},u)})}),p]}):F("table",{className:a.container,children:[v,C("tbody",{children:e&&e.length?e.map((c,u)=>c?F("tr",{className:a.row,children:[C("td",{className:a.label,style:o?{minWidth:o}:{},children:C(q,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:l,children:c.label})}),C("td",{className:a.value,children:C(q,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:l,children:c.value})})]},u):null):null}),p]})}import{jsx as ct}from"react/jsx-runtime";function di(e){let t=L(),o=w(),r=ie(),n=lt(()=>{let i=t?.metadata||[],a=o?.metadata||[],s=r?.metadata||[];return[...i,...a,...s]},[t,o,r]);return ct(V,{metadata:n,...e})}import{useEffect as ft,useState as pt}from"react";import{createImageServiceRequest as mt,imageServiceRequestToString as ut}from"@iiif/parser/image-3";import{useMemo as dt}from"react";function J(e,t={},o=[]){return dt(()=>{if(!e)return null;let r=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(r="default"));let n=mt(e);return ut({identifier:n.identifier,server:n.server,scheme:n.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:n.prefix,originalPath:n.originalPath})},[...o])}import{jsx as $}from"react/jsx-runtime";function gt(e){let t=typeof e.src=="string"?e.src:e.src.id,o=de(),[r,n]=pt(!1),i;if(t){let s=o.loadServiceSync({id:t});s&&(i=s)}!i&&!r&&o.loadService({id:t}).then(()=>{n(!0)});let a=J(i,{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 ft(()=>()=>{n(!1)},[t]),a?$("img",{src:a,alt:e.alt,className:e.className,style:e.style}):$(ht,{...e,fetchImageService:!1})}function ht(e){if(e.fetchImageService)return $(gt,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,o=J(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 o?$("img",{src:o,alt:e.alt,className:e.className,style:e.style}):null}import{useMemo as yt,useState as vt}from"react";import{ErrorBoundary as xt}from"react-error-boundary";import{jsx as E,jsxs as bt}from"react/jsx-runtime";function Mi({src:e,errorFallback:t,interactive:o,skipSizes:r,children:n,renderViewerControls:i,viewControlsDeps:a,fluid:s,x:d,y:m,...l}){let[p,v]=vt(),b=t||Se,[S,c]=xe(),u=yt(()=>{let g=c[e]?.status,h=S({id:e},{});return h?.height&&h.width&&g!=="loading"?{id:e,width:h.width,height:h.height,service:h,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:h.width,height:h.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:h.width,height:h.height}}}:null},[S,e,c]);if(!u||!u.height||!u.width)return null;let f=s?void 0:l.homePosition?l.homePosition.width/l.homePosition.height:u.width/u.height;return E(xt,{resetKeys:[],fallbackRender:g=>E(b,{...l,...g}),children:E(be,{...l,aspectRatio:f,containerProps:{style:{position:"relative"},...l.containerProps||{}},onCreated:g=>{v(g),l.onCreated&&l.onCreated(g)},children:bt(X.Provider,{value:p,children:[E(he,{image:u,id:u.id,isStatic:!o,x:d,y:m},u.id),E(St,{viewerPreset:p,renderViewerControls:i,image:u,src:e,viewControlsDeps:a}),n]})})})}function St({viewerPreset:e,renderViewerControls:t,image:o,src:r,viewControlsDeps:n}){return ue(e&&t?"overlay":"none",`canvas-portal-controls-${r}`,X.Provider,t&&o?{value:e||null,children:t({image:o,images:[o],type:"images"})}:{},[r,e,...n||[]]),null}import{jsx as Ct}from"react/jsx-runtime";function Wi(e){let t=L();return Ct(V,{metadata:t?.metadata||[],...e})}import{useLayoutEffect as Tt,useRef as qt}from"react";import*as Z from"react-lazy-load-image-component";import{getValue as It}from"@iiif/helpers/i18n";import{Fragment as Le,jsx as T,jsxs as wt}from"react/jsx-runtime";var{LazyLoadComponent:Rt}=Z||Z.default;function Be(e){let{size:t,visible:o,classes:r,canvasId:n,figure:i}=e,a=t?.width||128,s=t?.height||t?.width||128,d=T(Pt,{...e}),m=T(Rt,{threshold:300,style:{height:s,width:a},visibleByDefault:o,children:n?T(oe,{canvas:n,children:d}):d});return i?T("figure",{className:r?.figure,children:m}):m}function Pt({fallback:e,size:t,classes:o,showLabel:r,alt:n,dereference:i=!1}){let a=w(),s=t?.width||128,d=t?.height||t?.width||128,m=n||It(a?.label)||"",l=fe({width:s,height:d,allowUnsafe:!0},i);return!l||l.type!=="fixed"?T(Le,{children:e}):wt(Le,{children:[T("div",{className:o?.imageWrapper,children:T("img",{className:o?.img,src:l.id,alt:m})}),r?T(q,{as:"figcaption",className:o?.label,children:a?.label}):null]})}import{jsx as k}from"react/jsx-runtime";function Zi({scrollBehaviour:e,dereference:t,flat:o,size:r,classes:n={},showLabel:i,figure:a,fallback:s}){let d=qt(null),{items:m,sequence:l,currentSequenceIndex:p,setSequenceIndex:v}=ae(),b={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};Tt(()=>{if(!d.current)return;let c=d.current.querySelector("[data-selected=true]");c&&c.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[p]);let S=[];for(let c of l){let u=[],f=l[p]===c;for(let g of c){let h=m[g];u.push(k("div",{className:f?b.item:n.item,children:k(Be,{classes:f?b:n,canvasId:h.id,size:r,dereference:t,showLabel:i,figure:a,placeholder:k("div",{style:{height:128,width:128}}),fallback:s})},g))}if(o){S.push(u);continue}S.push(k("div",{onClick:g=>{v(l.indexOf(c))},"data-selected":f,className:f?b.row:n.row,children:u},c.join("-")))}return k("div",{ref:d,className:n.container,children:S})}import{useStore as K}from"zustand";function De(){let e=R(),t=K(e,i=>i.completeRequest),o=K(e,i=>i.polygonState.currentTool),r=K(e,i=>i.polygonState.selectedStamp),n=K(e,i=>i.switchTool);return{completeRequest:t,currentTool:o,selectedStamp:r,switchTool:n}}import{Fragment as We,jsx as I,jsxs as Oe}from"react/jsx-runtime";var At={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function ia({showShapes:e=!0,enabled:t=At,classNames:o={},icons:r={}}){let{currentTool:n,switchTool:i,selectedStamp:a}=De();return Oe(We,{children:[n,I("button",{className:o.button,onClick:i.pointer,"data-active":n==="pointer",children:r.PointerIcon||"Pointer"}),I("button",{className:o.button,onClick:i.hand,"data-active":n==="hand",children:r.HandIcon||"Hand"}),e?Oe(We,{children:[t.box&&I("button",{className:o.button,onClick:i.box,"data-active":n==="box",children:r.BoxIcon||"Box"}),t.pen&&I("button",{className:o.button,onClick:i.pen,"data-active":n==="pen",children:r.PenIcon||"Pen"}),t.draw&&I("button",{className:o.button,onClick:i.draw,"data-active":n==="pencil",children:r.DrawIcon||"Draw"}),t.line&&I("button",{className:o.button,onClick:i.line,"data-active":n==="line",children:r.LineIcon||"Line"}),t.lineBox&&I("button",{className:o.button,onClick:i.lineBox,"data-active":n==="lineBox",children:r.LineBoxIcon||"LineBox"}),t.triangle&&I("button",{className:o.button,onClick:i.triangle,"data-active":n==="stamp"&&a?.id==="triangle",children:r.TriangleIcon||"Triangle"}),t.hexagon&&I("button",{className:o.button,onClick:i.hexagon,"data-active":n==="stamp"&&a?.id==="hexagon",children:r.HexagonIcon||"Hexagon"}),t.circle&&I("button",{className:o.button,"data-active":n==="stamp"&&a?.id==="circle",onClick:i.circle,children:r.CircleIcon||"Circle"})]}):null,t.delete&&I("button",{className:o.button,onClick:i.remove,children:r.DeleteForeverIcon||"Delete"})]})}import{jsx as Nt}from"react/jsx-runtime";function ca({annotation:e,children:t}){return Nt(A,{value:{annotation:e},children:t})}import{jsx as Et}from"react/jsx-runtime";function fa({annotationPage:e,children:t}){return Et(A,{value:{annotationPage:e},children:t})}import{jsx as kt}from"react/jsx-runtime";function ya({collection:e,children:t}){return kt(A,{value:{collection:e},children:t})}function ba(e,t={}){return D(t)}import{useCanvas as Mt}from"@atlas-viewer/atlas";import{useEffect as Ht,useMemo as j,useState as zt}from"react";function Ta({canvasId:e}={}){let t=Mt(),o=re(),r=j(()=>e?[e]:t?[t.id]:o.map(m=>m.id),[e,t,o]),[n,i]=zt({}),a=ye();Ht(()=>{let m=l=>{let p=l.partOf.canvasId;p&&i(v=>({...v,[p]:l.choice}))};return a.on("choice-change",m),()=>{a.off("choice-change",m)}},[]);let s=j(()=>{let m=[];for(let l of r){let p=n[l];p&&m.push({canvasId:l,choice:p})}return m},[r,n]),d=j(()=>({makeChoice:(m,l)=>{a.emit("make-choice",{choiceId:m,...l})}}),[a]);return{choices:s,actions:d}}function Aa(e,t=!1){}function Ma(e){let o=H().manifest,r=e?e.map(n=>typeof n=="string"?n:n?.id):[];return z(n=>{let i=o?n.iiif.entities.Manifest[o]:void 0,a=i?.items||[];if(typeof e>"u")return a;let s=[];for(let d of i?.items||[])r.indexOf(d.id)!==-1&&s.push(d);return s},[r.join("/")])}import{useMemo as Lt}from"react";function Da(e,t=[]){let{id:o,selector:r}=e,n=H(),i=o||n.collection,a=z(s=>i?s.iiif.entities.Collection[i]:void 0,[i]);return Lt(()=>{if(a)return r?r(a):a},[a,r,...t])}import{startTransition as Bt,useMemo as Dt}from"react";import{useStore as Fe}from"zustand";function $a(){let e=R(),t=Fe(e,r=>r.completeRequest),o=Fe(e,r=>r.cancelRequest);return Dt(()=>({saveAnnotation:()=>{Bt(()=>{t()})},cancelRequest:o}),[t,o])}import{useCallback as Wt}from"react";import{useStore as ee}from"zustand";function Xa({requestId:e}={}){let t=R(),o=ee(t,s=>s.metadata),r=ee(t,s=>s.tool.requestId),n=e||r,i=ee(t,s=>s.setMetadata),a=Wt(s=>i(s,n||void 0),[i,n]);return[n?o[n]||{}:{},a]}import{useStore as Ot}from"zustand";function ja(e){let t=R(),o=Ot(t,r=>r.tool.requestId);B("polygons.start-transition",r=>{e.requestId&&o!==e.requestId||e?.onStart?.(r.transitionIntent)},[o,e.requestId]),B("polygons.end-transition",r=>{e.requestId&&o!==e.requestId||e?.onEnd?.(r.transitionIntent,r.response)},[o,e.requestId]),B("polygons.transition",r=>{e.requestId&&o!==e.requestId||e?.onTransition?.(r.transitionIntent)},[o,e.requestId])}import{useEffect as Ft,useMemo as Vt}from"react";import{createEventsHelper as $t}from"@iiif/helpers/events";function ns(e,t,o,r,n=[]){let i=P(),a=Vt(()=>$t(i),[i]);Ft(()=>{let s=e;return s?(a.addEventListener(s,t,o,r),()=>{a.removeEventListener(s,t,o)}):()=>{}},[a,e,t,...n])}function ls(e,t){let{id:o,isLoaded:r,error:n,resource:i,requestId:a,cached:s}=ne(e,t);return{id:o,isLoaded:r,error:n,manifest:i,requestId:a,cached:s}}import{getImageServices as Ve}from"@iiif/parser/image-3";import{useEffect as Kt,useMemo as $e,useState as _}from"react";function Ke({cacheKey:e}={}){let t=w(),o=D(),r=P(),n=pe(),i=ge(),[a,s]=_(void 0),[d,m]=_(!1),[l,p]=_("idle"),[v,b]=_(void 0),S=t?t.id:"undefined",c=$e(()=>{try{if(t&&o.length){let f=o[0],g=r.get(f.body[0]),x=Ve(g)[0];return x&&n(x,{width:x.width||t.width,height:x.height||t.height},!0)||void 0}}catch(f){console.error(f)}},[S,e,t]),u=l==="success"&&a?a:c;return Kt(()=>{(async()=>{try{if(t&&o.length){let f=o[0],g=r.get(f.body[0]),x=Ve(g)[0];if(!x)return;m(!0),p("loading");try{let y=await i(x,{width:x.width||t.width,height:x.height||t.height})||void 0;s(y),p("success"),m(!1)}catch(y){p("error"),b(y)}}}catch(f){p("error"),b(f)}})()},[S,e]),$e(()=>({data:u,isFetching:d,status:l,error:v}),[u,d,l,v])}function vs(){let e=Ke();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 _t}from"@iiif/helpers/styles";import{useMemo as Qt}from"react";function Is(){let e=P();return Qt(()=>_t(e),[e])}function Ps(e,t){let{x:o,y:r,width:n,height:i}=e,{x:a,y:s}=t,{width:d,height:m}=t;return o+n>a&&o<a+d&&r+i>s&&r<s+m}import Ut from"tiny-invariant";function Es(e,t){let o=e.boundingBox||le(e.polygon);if(e.polygon&&!se(e.polygon.points)){let r=e.target||ce(e.polygon,t);return Ut(r?.type==="SvgSelector"),{type:"SvgSelector",points:e.polygon.points,spatial:{unit:"pixel",...o||{}},svgShape:e.polygon.open?"polyline":"polygon",svg:r.value}}return{type:"BoxSelector",spatial:o}}export{ca as AnnotationContext,fa as AnnotationPageContext,Ln as AnnotationStyleProvider,Fo as AtlasStoreProvider,Wo as AtlasStoreReactContext,To as Auth,xo as AuthProvider,ho as AuthRContext,yo as AuthReactContext,vo as AuthReactContextActions,jn as CanvasAnnotations,oe as CanvasContext,Ce as CanvasPanel,pn as CanvasStrategyProvider,gn as CanvasWorldObject,ya as CollectionContext,di as CombinedMetadata,wr as ComplexTimelineProvider,_r as ContextBridge,nr as ControlsReactContext,Pe as CreateCustomShape,Vr as CustomContextBridge,$r as CustomContextBridgeProvider,Gr as DefaultEditingTools,Mo as EventEmitterProvider,Or as EventsProvider,ht as Image,Mi as ImageService,fr as ImageServiceLoaderContext,No as InnerViewerProvider,yr as LanguageProvider,Cr as LanguageString,q as LocaleString,eo as ManifestContext,Wi as ManifestMetadata,Jo as MediaPlayerProvider,V as Metadata,_n as PolygonSelector,to as RangeContext,ko as ReactEmitterContext,Wr as ReactEventContext,Yt as ReactVaultContext,rr as Render3DModelStrategy,ar as RenderAccompanyingCanvas,_o as RenderAnnotation,Yr as RenderAnnotationEditing,Uo as RenderAnnotationPage,ur as RenderAnnotationStrategy,gr as RenderAudioStrategy,qr as RenderComplexTimelineStrategy,Ar as RenderEmptyStrategy,Er as RenderImageStrategy,ia as RenderSvgEditorControls,kr as RenderTextualContentStrategy,Mr as RenderVideoStrategy,Hr as RenderYouTubeStrategy,A as ResourceProvider,Xt as ResourceReactContext,Nn as SelectorControllerProvider,Zi as SequenceThumbnails,Eo as SimpleViewerProvider,Ao as SimpleViewerReactContext,Be as SingleCanvasThumbnail,tr as StrategyReactContext,pr as ThumbnailFallbackImage,hr as TranslationProvider,vr as TransliterationProvider,Gt as VaultProvider,X as ViewerPresetContext,mr as VirtualAnnotationProvider,Jt as VisibleCanvasReactContext,Es as annotationResponseToSelector,fo as authDetailsForResource,Do as createAtlasStore,mo as createAuthStateStore,uo as createProbe,Dr as defaultEmitter,Lr as defaultSvgTheme,jr as emptyActions,on as emptyStrategy,ro as findAllCanvasesInRange,oo as findFirstCanvasFromRange,no as findManifestSelectedRange,io as findSelectedRange,rn as flattenAnnotationPageIds,jo as formatTime,sn as get3dStrategy,Oo as getAtlasStoreByName,un as getComplexTimelineStrategy,ke as getDefaultAnnotationStyles,ln as getImageStrategy,so as getManifestSequence,Zr as getParsedTargetSelector,dn as getRenderingStrategy,cn as getTextualContentStrategy,mn as getVideoStrategy,ao as getVisibleCanvasesFromCanvasId,co as hasAuth,Lo as isBoxSelector,se as isRectangle,zo as isSvgSelector,go as makeAccessServiceRequest,po as makeAccessTokenRequest,Jr as parseSpecificResource,ce as polygonToTarget,me as requestToAnnotationResponse,Bo as seraliseSupportedSelector,In as svgThemes,Ps as targetIntersects,en as unknownResponse,tn as unsupportedStrategy,Ko as useAnnotation,Qo as useAnnotationPage,ve as useAnnotationPageManager,Me as useAnnotationStyles,ba as useAnnotationsAtTime,Ur as useAtlasContextMenu,R as useAtlasStore,Co as useAuthActions,Ro as useAuthService,bo as useAuthStore,wo as useAuthToken,Po as useAuthTokens,w as useCanvas,Ta as useCanvasChoices,Aa as useCanvasClock,lo as useCanvasSequence,Zo as useCanvasStartTime,Ma as useCanvasSubset,Ir as useClosestLanguage,Da as useCollection,Tr as useComplexTimeline,Kr as useContextBridge,Qr as useContextMenuStore,Pr as useCreateLocaleString,$a as useCurrentAnnotationActions,Xa as useCurrentAnnotationMetadata,Xr as useCurrentAnnotationRequest,ja as useCurrentAnnotationTransition,Io as useCurrentAuth,Fr as useCustomContextBridge,sr as useDispatch,Ho as useEmitter,B as useEvent,ye as useEventEmitter,ns as useEventListener,Zt as useExistingVault,ls as useExternalCollection,jt as useExternalManifest,ne as useExternalResource,Sr as useIIIFLanguage,J as useImage,Ke as useImageService,de as useImageServiceLoader,vs as useImageTile,So as useIsAuthEnabled,xe as useLoadImageService,Rr as useLocaleString,L as useManifest,Yo as useMediaActions,Go as useMediaElements,Xo as useMediaState,an as usePaintables,D as usePaintingAnnotations,zr as usePolygonHelper,ie as useRange,ir as useRenderControls,fn as useRenderingStrategy,Re as useRequestAnnotation,H as useResourceContext,Vo as useResourceEvents,nn as useResources,qo as useSearchService,Ee as useSelectorController,En as useSelectorEmitter,Ne as useSelectorEvents,kn as useSelectorHelper,er as useSimpleMediaPlayer,ae as useSimpleViewer,or as useStrategy,Is as useStyleHelper,$o as useStyles,Br as useSvgEditor,De as useSvgEditorControls,fe as useThumbnail,br as useTranslations,xr as useTransliteration,P as useVault,dr as useVaultEffect,z as useVaultSelector,Nr as useViewerPreset,lr as useVirtualAnnotationPage,cr as useVirtualAnnotationPageContext,re as useVisibleCanvases};
|
package/dist/utils.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var v=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var F=(e,o)=>{for(var r in o)v(e,r,{get:o[r],enumerable:!0})},q=(e,o,r,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of E(o))!Y.call(e,t)&&t!==r&&v(e,t,{get:()=>o[t],enumerable:!(i=L(o,t))||i.enumerable});return e};var G=e=>q(v({},"__esModule",{value:!0}),e);var J={};F(J,{emptyActions:()=>j,emptyStrategy:()=>R,getParsedTargetSelector:()=>S,getRenderingStrategy:()=>H,parseSpecificResource:()=>_,unknownResponse:()=>x,unsupportedStrategy:()=>p});module.exports=G(J);var k=require("@iiif/helpers");function _(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function S(e,o){let{selector:r,source:i}=(0,k.expandTarget)(o);if(i.id!==e.id)return[null,i];let t={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[r?r.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:r.temporal,spatial:t.spatial}:r:null,i]}var j={makeChoice:()=>{}},x={type:"unknown"},p=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),R=(e,o)=>({type:"empty",width:e,height:o,annotations:{pages:[]},image:null,images:[]});var Q=["model/gltf-binary"];function z(e,o){let r=o.items[0],i=r.resource;return i.format?Q.indexOf(i.format)===-1?p(`3D format: ${i.format} is unsupported`):{type:"3d-model",model:i,annotationId:r.annotationId,annotation:r.annotation}:p("Unknown format")}function A(e,o){let r=o.items,i=r[0];if(r.length===0||!i)return p("No audio");if(!e.duration)return p("No duration on canvas");if(r.length>1)return p("Only one audio source supported");let t=i.resource;return t?"format"in t
|
|
1
|
+
"use strict";var v=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var F=(e,o)=>{for(var r in o)v(e,r,{get:o[r],enumerable:!0})},q=(e,o,r,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of E(o))!Y.call(e,t)&&t!==r&&v(e,t,{get:()=>o[t],enumerable:!(i=L(o,t))||i.enumerable});return e};var G=e=>q(v({},"__esModule",{value:!0}),e);var J={};F(J,{emptyActions:()=>j,emptyStrategy:()=>R,getParsedTargetSelector:()=>S,getRenderingStrategy:()=>H,parseSpecificResource:()=>_,unknownResponse:()=>x,unsupportedStrategy:()=>p});module.exports=G(J);var k=require("@iiif/helpers");function _(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function S(e,o){let{selector:r,source:i}=(0,k.expandTarget)(o);if(i.id!==e.id)return[null,i];let t={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[r?r.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:r.temporal,spatial:t.spatial}:r:null,i]}var j={makeChoice:()=>{}},x={type:"unknown"},p=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),R=(e,o)=>({type:"empty",width:e,height:o,annotations:{pages:[]},image:null,images:[]});var Q=["model/gltf-binary"];function z(e,o){let r=o.items[0],i=r.resource;return i.format?Q.indexOf(i.format)===-1?p(`3D format: ${i.format} is unsupported`):{type:"3d-model",model:i,annotationId:r.annotationId,annotation:r.annotation}:p("Unknown format")}function A(e,o){let r=o.items,i=r[0];if(r.length===0||!i)return p("No audio");if(!e.duration)return p("No duration on canvas");if(r.length>1)return p("Only one audio source supported");let t=i.resource;return t?("format"in t||(t.format="audio/mpeg"),{type:"media",media:{annotationId:i.annotationId,annotation:i.annotation,duration:e.duration,url:t.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:t.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}):p("Unknown audio")}var B=require("@iiif/parser/image-3");var N=require("@iiif/helpers/annotation-targets");function C(e,o,r){let i=[];for(let t of o.items){let s=t.resource&&t.resource.type==="SpecificResource"?t.resource.source:t.resource;if(!s.id)return p("No resource Identifier");let m;if(s.service){let g=(0,B.getImageServices)(s);g[0]&&(m=r(g[0],e))}let y={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[d,a]=S(e,t.target),n=e.id?.split("?")[0]||"";if(!(a.id===e.id||decodeURIComponent(a.id||"")===(e.id||"")||a.id===n||decodeURIComponent(a.id||"")===n))continue;let l=t.resource.width&&t.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:t.resource.width,height:t.resource.height}}:void 0,c=t.resource.type==="SpecificResource"?(0,N.expandTarget)(t.resource):null;if(t.selector){let g=(0,N.expandTarget)({type:"SpecificResource",source:t.resource,selector:t.selector});g&&(c=g)}let u=c&&c.selector&&(c.selector.type==="BoxSelector"||c.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:c.selector.spatial.x,y:c.selector.spatial.y,width:c.selector.spatial.width,height:c.selector.spatial.height}}:void 0;m&&!m.id&&(m.id=m["@id"]);let f={id:s.id,type:"Image",annotationId:t.annotationId,annotation:t.annotation,width:Number(d||u?s.width:e.width),height:Number(d||u?s.height:e.height),service:m,sizes:m&&m.sizes?m.sizes:s.width&&s.height?[{width:s.width,height:s.height}]:[],target:d&&d.type!=="PointSelector"?d:y,selector:u||{type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}}};i.push(f)}return{type:"images",image:i[0],images:i,choice:o.choice}}function D(e,o={},r){let i=e.language||r||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(o[i]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(t=>D(t,o,i))}return o}function I(e,o){let r=[];return o.items.forEach(i=>{if(i.resource){let[t]=S(e,i.target);r.push({type:"Text",annotationId:i.annotationId,annotation:i.annotation,text:D(i.resource),target:t})}}),{type:"textual-content",items:r}}var b=require("@iiif/helpers"),$=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function V(e,o,r){let i=o.items.filter(u=>u.type==="video"),t=i[0],s=!1;if(e.duration||(s=!0),i.length>1||!t)return p("Only one video source supported");let m=i[0]?.resource,y=!!(m.service||[]).find(u=>(u.profile||"").includes("youtube.com"));if(!y&&s)return p("Video does not have duration");if(!m)return p("Unknown video");if((!m.format||m.format==="text/html")&&!y)return p("Video does not have format");let d=[],a=r.get(e.annotations||[]);for(let u of a){let f=r.get(u.items||[]);for(let g of f)if((g.motivation?Array.isArray(g.motivation||"")?g.motivation:[g.motivation]:[]).includes("supplementing")){let O=r.get(g.body||[]);for(let U of O){let h=U;if(h.type==="Choice")for(let W of h.items){let T=r.get(W);T.format==="text/vtt"&&d.push({id:T.id,type:"Text",format:"text/vtt",label:T.label,language:T.language})}else h.format==="text/vtt"&&d.push({id:h.id,type:"Text",format:"text/vtt",label:h.label,language:h.language})}}}let n={annotationId:t.annotationId,annotation:t.annotation,duration:e.duration,url:m.id,type:"Video",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:m.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},l=(0,b.expandTarget)(t.target);l.selector&&l.selector.type==="TemporalBoxSelector"&&(n.target=l.selector);let{selector:c}=(0,b.parseSelector)(t.selector);if(c===null){let u=n.target.temporal.startTime,g=(n.target.temporal.endTime||e.duration)-u;n.selector={type:"TemporalSelector",temporal:{startTime:0,endTime:g}}}else c.type==="TemporalSelector"&&(n.selector=c);if(y){n.type="VideoYouTube";let u=m.id.match($);if(!u[1])return p("Video is not known youtube video");n.youTubeId=u[1]}return{type:"media",media:n,annotations:{pages:[]},captions:d}}function M(e,o,r,i){let t={type:"complex-timeline",items:[],keyframes:[],duration:e.duration||0},s={type:"complex-choice",items:[]};function m(a){a.choice&&(a.choice.type==="complex-choice"?s.items.push(...a.choice.items):s.items.push(a.choice))}for(let a of o.items){if(a.type==="image"){let n=C(e,{choice:null,allChoices:null,types:["image"],items:[a]},r);if(n.type==="images"){m(n),t.items.push(n.image);let l={id:n.image.annotationId,type:"enter",resourceType:"image",time:n.image.target?.temporal?.startTime||0};t.keyframes.push(l);let c={id:n.image.annotationId,type:"exit",resourceType:"image",time:n.image.target?.temporal?.endTime||e.duration||0};t.keyframes.push(c)}}if(a.type==="textualbody"){let n=I(e,{choice:null,allChoices:null,types:["textualbody"],items:[a]});if(n.type==="textual-content"){m(n);let l=n.items[0];t.items.push(l);let c=l.target,u={id:l.annotationId,type:"enter",resourceType:"text",time:c.temporal?.startTime||0};t.keyframes.push(u);let f={id:l.annotationId,type:"exit",resourceType:"text",time:c.temporal?.endTime||e.duration||0};t.keyframes.push(f)}}if(a.type==="video"){let n=V(e,{choice:null,allChoices:null,types:["video"],items:[a]},i);if(n.type==="media"){m(n);let l=n.media;t.items.push(l);let c={id:l.annotationId,type:"enter",resourceType:"video",time:l.target?.temporal?.startTime||0};t.keyframes.push(c);let u={id:l.annotationId,type:"exit",resourceType:"video",time:l.target?.temporal?.endTime||e.duration||0};t.keyframes.push(u)}}}t.keyframes.sort((a,n)=>a.time-n.time);let y=[],d=[];for(let a of t.keyframes){if(a.resourceType==="image"||a.resourceType==="text"){d.push(a);continue}if(a.type==="enter"){y.length===0&&(a.isPrime=!0),y.push(a),d.push(a);continue}if(a.type==="exit"&&(d.push(a),y=y.filter(n=>n.id!==a.id),y.length!==0)){let n=y[0],l={id:n.id,type:"change",isPrime:!0,resourceType:n.resourceType,time:a.time};d.push(l)}}return t.keyframes=d,s.items.length&&(t.choice=s),t}var w={},P={get(e){return e},setMetaValue([e,o,r],i){let t=P.getResourceMeta(e,o),s=t?t[r]:void 0,m=typeof i=="function"?i(s):i;w[e]={...w[e]||{},[o]:{...(w[e]||{})[o]||{},[r]:m}}},getResourceMeta:(e,o)=>{let r=w[e];if(r)return o?r[o]:r},async load(e){let o=typeof e=="string"?e:e.id;return fetch(o).then(r=>r.json())},requestStatus(e){}};function H({canvas:e,paintables:o,supports:r,loadImageService:i,vault:t=P}){if(!e)return x;if(o.types.length===0)return r.indexOf("empty")!==-1?R(e.width,e.height):x;if(o.types.length!==1)if(o.types.length===2&&o.types.indexOf("text")!==-1)o.types=o.types.filter(m=>m!=="text");else return r.indexOf("complex-timeline")===-1?p("Complex timeline not supported"):M(e,o,i,t);let s=o.types[0];return s==="image"?r.indexOf("images")===-1?p("Image not supported"):C(e,o,i):s==="Model"||s==="model"?r.indexOf("3d-model")===-1?p("3D not supported"):z(e,o):s==="textualbody"?r.indexOf("textual-content")===-1?p("Textual content not supported"):I(e,o):s==="sound"||s==="audio"?r.indexOf("media")===-1?p("Media not supported"):A(e,o):s==="video"?r.indexOf("media")===-1?p("Media not supported"):V(e,o,t):x}
|
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,l as t}from"./chunk-
|
|
1
|
+
import{a as o,b as r,c as e,d as f,e as m,f as p,l as t}from"./chunk-OTG27VBE.js";export{e as emptyActions,p as emptyStrategy,r as getParsedTargetSelector,t as getRenderingStrategy,o as parseSpecificResource,f as unknownResponse,m as unsupportedStrategy};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-iiif-vault",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"@atlas-viewer/atlas": "^2.3.7",
|
|
62
62
|
"@floating-ui/react": "^0.27.13",
|
|
63
63
|
"@iiif/helpers": "^1.5.0",
|
|
64
|
-
"@iiif/parser": "^2.2.
|
|
64
|
+
"@iiif/parser": "^2.2.2",
|
|
65
65
|
"@iiif/presentation-2": "^1.0.4",
|
|
66
66
|
"@iiif/presentation-3": "^2.2.3",
|
|
67
67
|
"@iiif/presentation-3-normalized": "^0.9.7",
|