react-iiif-vault 2.0.6 → 2.0.7

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/index.js CHANGED
@@ -1 +1 @@
1
- import{$ as ko,$a as Ir,A as lo,Aa as er,Ab as _r,B as co,Ba as tr,Bb as Qr,C as mo,Ca as or,Cb as Ur,D as uo,Da as rr,Db as Xr,E as fo,Ea as de,Eb as Yr,F as po,Fa as nr,Fb as Gr,G as go,Ga as ir,Gb as Jr,H as ho,Ha as ar,Hb as Zr,I as yo,Ia as sr,Ib as jr,J as vo,Ja as lr,Jb as sn,K as xo,Ka as cr,Kb as Se,L as So,La as mr,Lb as ln,M as bo,Ma as ur,Mb as be,N as Io,Na as fr,Nb as A,O as Co,Oa as dr,Ob as cn,P as Ro,Pa as pr,Pb as gn,Q as Po,Qa as gr,Qb as hn,R as wo,Ra as hr,Rb as yn,S as qo,Sa as pe,Sb as Ce,T as To,Ta as ge,Tb as Re,U as se,Ua as yr,Ub as Pe,V as No,Va as vr,W as Eo,Wa as xr,X as Ao,Xa as Sr,Y as W,Ya as he,Z as le,Za as ye,_ as ce,_a as br,a as _t,aa as Mo,ab as Cr,b as B,ba as Ho,bb as Rr,c as E,ca as me,cb as Pr,d as re,da as ue,db as wr,e as Qt,ea as zo,eb as qr,f as Ut,fa as Lo,fb as Tr,g as R,ga as P,gb as Nr,h as O,ha as Bo,hb as Er,i as Xt,ia as Oo,ib as N,j as ne,ja as Fo,jb as ve,k as Yt,ka as fe,kb as Ar,l as F,la as Wo,lb as kr,m as ie,ma as Do,mb as G,n as Gt,na as Vo,nb as Mr,o as Jt,oa as $o,ob as Hr,p as Zt,pa as w,pb as zr,q as jt,qa as Ko,qb as Lr,r as eo,ra as _o,rb as Br,s as to,sa as Qo,sb as Or,t as oo,ta as Uo,tb as Fr,u as ro,ua as Xo,ub as Wr,v as no,va as Yo,vb as Dr,w as ae,wa as Go,wb as Vr,x as io,xa as Jo,xb as xe,y as ao,ya as Zo,yb as $r,z as so,za as jo,zb as Kr}from"./chunk-MUASBCAU.js";import"./chunk-UNH7HXGJ.js";import{a as en,b as tn,c as on,d as rn,e as nn,f as an,g as mn,h as un,i as fn,j as dn,k as pn,l as Ie}from"./chunk-FBET7GLW.js";export*from"@iiif/helpers/annotation-targets";import{useEffect as Xe}from"react";import{useCallback as we,useEffect as Qe,useRef as Ue,useState as D}from"react";import{useStore as k}from"zustand";function qe(e){let[t,o]=D(0),r=P(),n=k(r,d=>d.tool.enabled),i=k(r,d=>d.tool.requestId),a=k(r,d=>d.getRequestId),s=k(r,d=>d.requestAnnotation),f=k(r,d=>d.completeRequest),m=k(r,d=>d.cancelRequest),l=Ue(e?.onSuccess);l.current=e?.onSuccess;let[h,S]=D(!1),[b,x]=D(null),[p,v]=D(null),u=n&&i!==p,g=n&&i===p,c=we(async(d,q)=>{if(p){let M=l.current;S(!0);let L=await s(d,{...q,requestId:p});if(L)return M?.(L),o(Y=>Y+1),S(!1),x(L),L;let X={id:p,cancelled:!0,...ue(d)};return M?.(X),x(X),o(Y=>Y+1),S(!1),X}return null},[s,p]),y=we(()=>{x(null),S(!1)},[]);return Qe(()=>{let d=a();return v(d.requestId),()=>{d.clear()}},[t]),{id:t,busy:u,isPending:h,isActive:g,requestId:p,requestAnnotation:c,cancelRequest:()=>p?m(p):void 0,completeRequest:()=>p?f(p):void 0,reset:y,data:b}}var Pn=[{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 Te(e){let{id:t,data:o,requestAnnotation:r,cancelRequest:n,isPending:i}=qe({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 Ne,useContext as Ae,useEffect as Ee,useMemo as J,useState as Ge}from"react";import ke from"mitt";import{jsx as Je}from"react/jsx-runtime";var V=Ye(ke());V.displayName="SelectorHelper";function kn({children:e}){return Je(V.Provider,{value:J(()=>ke(),[]),children:e})}function Mn(){return Ae(V)}function Me(e){let t=He(),[o,r]=Ge(!1);Ee(()=>t.withSelector(e).on("highlight",()=>{r(!0)}),[t,e]),Ee(()=>t.withSelector(e).on("clear-highlight",()=>{r(!1)}),[t,e]);let n=Ne(a=>{t.emit("click",{selectorId:e,event:a})},[e,t]),i=Ne(a=>{t.emit("hover",{selectorId:e,event:a})},[e,t]);return{controller:t,onClick:n,onHover:i,isHighlighted:o}}function He(){let e=Ae(V);return J(()=>({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 Hn(){let e=He();return J(()=>({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{jsx as ze}from"react/jsx-runtime";function $n(e){let t=w(),o=e.annotationBucket,r=e.readOnly,n=e.id,{onClick:i,isHighlighted:a}=Me(e.id),s=fe(),f=a?s.highlighted:s[o||"hidden"]||s.hidden;if(!t)return null;if(r){let m="shape",l=e.polygon,h=l.open;return l?ze(m,{id:`shape-${n}`,points:l.points,open:h,onClick:i,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:f}):null}return ze(Te,{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 Ze}from"@atlas-viewer/atlas";import{forwardRef as je,useImperativeHandle as et}from"react";import{Fragment as tt,jsx as Le}from"react/jsx-runtime";var Jn=je(function({canvasId:t},o){let r=Ze(),n=Se(t||r?.id),i=R();return et(o,()=>n,[t,r]),!r||n.enabledPageIds.length===0?null:Le(tt,{children:n.enabledPageIds.map(a=>Le(Pe.RenderAnnotationPage,{page:i.get(a)},a))})});import{useMemo as nt}from"react";import{useMemo as ot}from"react";import{Fragment as rt,jsx as I,jsxs as $}from"react/jsx-runtime";function K({metadata:e=[],config:t,labelWidth:o=16,showEmptyMessage:r=!0,allowHtml:n,emptyFallback:i,classes:a={},emptyMessage:s="No metadata available",emptyValueFallback:f="No value",emptyLabelFallback:m="",separator:l,tableFooter:h,tableHeader:S,customLabelRender:b,customValueRender:x}){let p=ot(()=>{let u=(t||[]).reduce((c,y)=>[...c,...y.keys],[]),g={};for(let c of e){let y=c?.label?Object.values(c.label):[];for(let d of y)if(d?.length&&(u.indexOf(`metadata.${d[0]}`)!==-1||u.length===0)&&c){let q=`metadata.${d[0]}`;g[q]=g[q]?g[q]:[],g[q].push(c);break}}return g},[t,e]);return Object.keys(p).length===0&&r?I(rt,{children:i})||I("div",{className:a.empty,children:s}):t?.length?$("table",{className:a.container,children:[S,I("tbody",{children:t.map((u,g)=>{let c=[];for(let d of u.keys)for(let q of p[d]||[]){let M=I(N,{enableDangerouslySetInnerHTML:n,defaultText:f,separator:l,children:q.value},g+"__"+d);x?c.push(x(q,M)):c.push(M)}if(c.length===0)return null;let y=I(N,{enableDangerouslySetInnerHTML:n,separator:l,defaultText:m,children:u.label});return $("tr",{className:a.row,children:[I("td",{className:a.label,style:o?{minWidth:o}:{},children:b?b(u.label,y):y}),I("td",{className:a.value,children:c})]},g)})}),h]}):$("table",{className:a.container,children:[S,I("tbody",{children:e?.length?e.map((u,g)=>{if(!u)return null;let c=I(N,{enableDangerouslySetInnerHTML:n,defaultText:f,separator:l,children:u.label}),y=I(N,{enableDangerouslySetInnerHTML:n,defaultText:f,separator:l,children:u.value});return $("tr",{className:a.row,children:[I("td",{className:a.label,style:o?{minWidth:o}:{},children:b?b(u.label,c):c}),I("td",{className:a.value,children:x?x(u,y):y})]},g)}):null}),h]})}import{jsx as it}from"react/jsx-runtime";function mi(e){let t=F(),o=w(),r=ae(),n=nt(()=>{let i=t?.metadata||[],a=o?.metadata||[],s=r?.metadata||[];return[...i,...a,...s]},[t,o,r]);return it(K,{metadata:n,...e})}import{useEffect as ct,useState as mt}from"react";import{createImageServiceRequest as at,imageServiceRequestToString as st}from"@iiif/parser/image-3";import{useMemo as lt}from"react";function Z(e,t={},o=[]){return lt(()=>{if(!e)return null;let r=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(r="default"));let n=at(e);return st({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 ut(e){let t=typeof e.src=="string"?e.src:e.src.id,o=pe(),[r,n]=mt(!1),i;if(t){let s=o.loadServiceSync({id:t});s&&(i=s)}!i&&!r&&o.loadService({id:t}).then(()=>{n(!0)});let a=Z(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 ct(()=>()=>{n(!1)},[t]),a?_("img",{src:a,alt:e.alt,className:e.className,style:e.style}):_(ft,{...e,fetchImageService:!1})}function ft(e){if(e.fetchImageService)return _(ut,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,o=Z(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 dt,useState as pt}from"react";import{ErrorBoundary as gt}from"react-error-boundary";import{jsx as H,jsxs as yt}from"react/jsx-runtime";function Ai({src:e,errorFallback:t,interactive:o,skipSizes:r,children:n,renderViewerControls:i,viewControlsDeps:a,fluid:s,x:f,y:m,...l}){let[h,S]=pt(),b=t||Ce,[x,p]=be(),v=dt(()=>{let g=p[e]?.status,c=x({id:e},{});return c?.height&&c.width&&g!=="loading"?{id:e,width:c.width,height:c.height,service:c,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:c.width,height:c.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:c.width,height:c.height}}}:null},[x,e,p]);if(!v||!v.height||!v.width)return null;let u=s?void 0:l.homePosition?l.homePosition.width/l.homePosition.height:v.width/v.height;return H(gt,{resetKeys:[],fallbackRender:g=>H(b,{...l,...g}),children:H(Re,{...l,aspectRatio:u,containerProps:{style:{position:"relative"},...l.containerProps||{}},onCreated:g=>{S(g),l.onCreated&&l.onCreated(g)},children:yt(G.Provider,{value:h,children:[H(ve,{image:v,id:v.id,isStatic:!o,x:f,y:m},v.id),H(ht,{viewerPreset:h,renderViewerControls:i,image:v,src:e,viewControlsDeps:a}),n]})})})}function ht({viewerPreset:e,renderViewerControls:t,image:o,src:r,viewControlsDeps:n}){return de(e&&t?"overlay":"none",`canvas-portal-controls-${r}`,G.Provider,t&&o?{value:e||null,children:t({image:o,images:[o],type:"images"})}:{},[r,e,...n||[]]),null}import{jsx as vt}from"react/jsx-runtime";function Bi(e){let t=F();return vt(K,{metadata:t?.metadata||[],...e})}import{useLayoutEffect as Ct,useRef as Rt}from"react";import*as j from"react-lazy-load-image-component";import{getValue as xt}from"@iiif/helpers/i18n";import{Fragment as Be,jsx as T,jsxs as It}from"react/jsx-runtime";var{LazyLoadComponent:St}=j||j.default;function Oe(e){let{size:t,visible:o,classes:r,canvasId:n,figure:i}=e,a=t?.width||128,s=t?.height||t?.width||128,f=T(bt,{...e}),m=T(St,{threshold:300,style:{height:s,width:a},visibleByDefault:o,children:n?T(re,{canvas:n,children:f}):f});return i?T("figure",{className:r?.figure,children:m}):m}function bt({fallback:e,size:t,classes:o,showLabel:r,alt:n,dereference:i=!1}){let a=w(),s=t?.width||128,f=t?.height||t?.width||128,m=n||xt(a?.label)||"",l=ge({width:s,height:f,allowUnsafe:!0},i);return!l||l.type!=="fixed"?T(Be,{children:e}):It(Be,{children:[T("div",{className:o?.imageWrapper,children:T("img",{className:o?.img,src:l.id,alt:m})}),r?T(N,{as:"figcaption",className:o?.label,children:a?.label}):null]})}import{jsx as z}from"react/jsx-runtime";function Gi({scrollBehaviour:e,dereference:t,flat:o,size:r,classes:n={},showLabel:i,figure:a,fallback:s}){let f=Rt(null),{items:m,sequence:l,currentSequenceIndex:h,setSequenceIndex:S}=se(),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};Ct(()=>{if(!f.current)return;let p=f.current.querySelector("[data-selected=true]");p&&p.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[h]);let x=[];for(let p of l){let v=[],u=l[h]===p;for(let g of p){let c=m[g];v.push(z("div",{className:u?b.item:n.item,children:z(Oe,{classes:u?b:n,canvasId:c.id,size:r,dereference:t,showLabel:i,figure:a,placeholder:z("div",{style:{height:128,width:128}}),fallback:s})},g))}if(o){x.push(v);continue}x.push(z("div",{onClick:g=>{S(l.indexOf(p))},"data-selected":u,className:u?b.row:n.row,children:v},p.join("-")))}return z("div",{ref:f,className:n.container,children:x})}import{useStore as Q}from"zustand";function Fe(){let e=P(),t=Q(e,i=>i.completeRequest),o=Q(e,i=>i.polygonState.currentTool),r=Q(e,i=>i.polygonState.selectedStamp),n=Q(e,i=>i.switchTool);return{completeRequest:t,currentTool:o,selectedStamp:r,switchTool:n}}import{Fragment as We,jsx as C,jsxs as De}from"react/jsx-runtime";var Pt={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function ra({showShapes:e=!0,enabled:t=Pt,classNames:o={},icons:r={}}){let{currentTool:n,switchTool:i,selectedStamp:a}=Fe();return De(We,{children:[n,C("button",{className:o.button,onClick:i.pointer,"data-active":n==="pointer",children:r.PointerIcon||"Pointer"}),C("button",{className:o.button,onClick:i.hand,"data-active":n==="hand",children:r.HandIcon||"Hand"}),e?De(We,{children:[t.box&&C("button",{className:o.button,onClick:i.box,"data-active":n==="box",children:r.BoxIcon||"Box"}),t.pen&&C("button",{className:o.button,onClick:i.pen,"data-active":n==="pen",children:r.PenIcon||"Pen"}),t.draw&&C("button",{className:o.button,onClick:i.draw,"data-active":n==="pencil",children:r.DrawIcon||"Draw"}),t.line&&C("button",{className:o.button,onClick:i.line,"data-active":n==="line",children:r.LineIcon||"Line"}),t.lineBox&&C("button",{className:o.button,onClick:i.lineBox,"data-active":n==="lineBox",children:r.LineBoxIcon||"LineBox"}),t.triangle&&C("button",{className:o.button,onClick:i.triangle,"data-active":n==="stamp"&&a?.id==="triangle",children:r.TriangleIcon||"Triangle"}),t.hexagon&&C("button",{className:o.button,onClick:i.hexagon,"data-active":n==="stamp"&&a?.id==="hexagon",children:r.HexagonIcon||"Hexagon"}),t.circle&&C("button",{className:o.button,"data-active":n==="stamp"&&a?.id==="circle",onClick:i.circle,children:r.CircleIcon||"Circle"})]}):null,t.delete&&C("button",{className:o.button,onClick:i.remove,children:r.DeleteForeverIcon||"Delete"})]})}import{jsx as wt}from"react/jsx-runtime";function sa({annotation:e,children:t}){return wt(E,{value:{annotation:e},children:t})}import{jsx as qt}from"react/jsx-runtime";function ua({annotationPage:e,children:t}){return qt(E,{value:{annotationPage:e},children:t})}import{jsx as Tt}from"react/jsx-runtime";function ga({collection:e,children:t}){return Tt(E,{value:{collection:e},children:t})}function xa(e,t={}){return A(t)}import{useCanvas as Nt}from"@atlas-viewer/atlas";import{useEffect as Et,useMemo as ee,useState as At}from"react";function Pa({canvasId:e}={}){let t=Nt(),o=ne(),r=ee(()=>e?[e]:t?[t.id]:o.map(m=>m.id),[e,t,o]),[n,i]=At({}),a=xe();Et(()=>{let m=l=>{let h=l.partOf.canvasId;h&&i(S=>({...S,[h]:l.choice}))};return a.on("choice-change",m),()=>{a.off("choice-change",m)}},[]);let s=ee(()=>{let m=[];for(let l of r){let h=n[l];h&&m.push({canvasId:l,choice:h})}return m},[r,n]),f=ee(()=>({makeChoice:(m,l)=>{a.emit("make-choice",{choiceId:m,...l})}}),[a]);return{choices:s,actions:f}}function qa(e,t=!1){}function Aa(e){let o=B().manifest,r=e?e.map(n=>typeof n=="string"?n:n?.id):[];return O(n=>{let i=o?n.iiif.entities.Manifest[o]:void 0,a=i?.items||[];if(typeof e>"u")return a;let s=[];for(let f of i?.items||[])r.indexOf(f.id)!==-1&&s.push(f);return s},[r.join("/")])}import{useMemo as kt}from"react";function La(e,t=[]){let{id:o,selector:r}=e,n=B(),i=o||n.collection,a=O(s=>i?s.iiif.entities.Collection[i]:void 0,[i]);return kt(()=>{if(a)return r?r(a):a},[a,r,...t])}import{startTransition as Mt,useMemo as Ht}from"react";import{useStore as Ve}from"zustand";function Da(){let e=P(),t=Ve(e,r=>r.completeRequest),o=Ve(e,r=>r.cancelRequest);return Ht(()=>({saveAnnotation:()=>{Mt(()=>{t()})},cancelRequest:o}),[t,o])}import{useCallback as zt}from"react";import{useStore as te}from"zustand";function Qa({requestId:e}={}){let t=P(),o=te(t,s=>s.metadata),r=te(t,s=>s.tool.requestId),n=e||r,i=te(t,s=>s.setMetadata),a=zt(s=>i(s,n||void 0),[i,n]);return[n?o[n]||{}:{},a]}import{useStore as Lt}from"zustand";function Ja(e){let t=P(),o=Lt(t,r=>r.tool.requestId);W("polygons.start-transition",r=>{e.requestId&&o!==e.requestId||e?.onStart?.(r.transitionIntent)},[o,e.requestId]),W("polygons.end-transition",r=>{e.requestId&&o!==e.requestId||e?.onEnd?.(r.transitionIntent,r.response)},[o,e.requestId]),W("polygons.transition",r=>{e.requestId&&o!==e.requestId||e?.onTransition?.(r.transitionIntent)},[o,e.requestId])}import{useEffect as Bt,useMemo as Ot}from"react";import{createEventsHelper as Ft}from"@iiif/helpers/events";function os(e,t,o,r,n=[]){let i=R(),a=Ot(()=>Ft(i),[i]);Bt(()=>{let s=e;return s?(a.addEventListener(s,t,o,r),()=>{a.removeEventListener(s,t,o)}):()=>{}},[a,e,t,...n])}function as(e,t){let{id:o,isLoaded:r,error:n,resource:i,requestId:a,cached:s}=ie(e,t);return{id:o,isLoaded:r,error:n,manifest:i,requestId:a,cached:s}}import{getImageServices as $e}from"@iiif/parser/image-3";import{useEffect as Wt,useMemo as Ke,useState as U}from"react";function _e({cacheKey:e}={}){let t=w(),o=A(),r=R(),n=he(),i=ye(),[a,s]=U(void 0),[f,m]=U(!1),[l,h]=U("idle"),[S,b]=U(void 0),x=t?t.id:"undefined",p=Ke(()=>{try{if(t&&o.length){let u=o[0],g=r.get(u.body[0]),y=$e(g)[0];return y&&n(y,{width:y.width||t.width,height:y.height||t.height},!0)||void 0}}catch(u){console.error(u)}},[x,e,t]),v=l==="success"&&a?a:p;return Wt(()=>{(async()=>{try{if(t&&o.length){let u=o[0],g=r.get(u.body[0]),y=$e(g)[0];if(!y)return;m(!0),h("loading");try{let d=await i(y,{width:y.width||t.width,height:y.height||t.height})||void 0;s(d),h("success"),m(!1)}catch(d){h("error"),b(d)}}}catch(u){h("error"),b(u)}})()},[x,e]),Ke(()=>({data:v,isFetching:f,status:l,error:S}),[v,f,l,S])}function hs(){let e=_e();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{useMemo as oe}from"react";import{createPaintingAnnotationsHelper as Dt}from"@iiif/helpers";function Rs({supports:e=["empty","images","media","3d-model","textual-content","complex-timeline"]}={}){let t=R(),o=w(),r=A(),n=oe(()=>Dt(t),[t]),i=oe(()=>n.getPaintables(r),[n,r]);return oe(()=>Ie({canvas:o,loadImageService:a=>a,paintables:i,supports:e}),[o,i,e])}import{createStylesHelper as Vt}from"@iiif/helpers/styles";import{useMemo as $t}from"react";function Ns(){let e=R();return $t(()=>Vt(e),[e])}function As(e,t){let{x:o,y:r,width:n,height:i}=e,{x:a,y:s}=t,{width:f,height:m}=t;return o+n>a&&o<a+f&&r+i>s&&r<s+m}import Kt from"tiny-invariant";function Bs(e,t){let o=e.boundingBox||ce(e.polygon);if(e.polygon&&!le(e.polygon.points)){let r=e.target||me(e.polygon,t);return Kt(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{sa as AnnotationContext,ua as AnnotationPageContext,Wo as AnnotationStyleProvider,Oo as AtlasStoreProvider,Lo as AtlasStoreReactContext,Ro as Auth,ho as AuthProvider,fo as AuthRContext,po as AuthReactContext,go as AuthReactContextActions,Jn as CanvasAnnotations,re as CanvasContext,Pe as CanvasPanel,hn as CanvasStrategyProvider,yn as CanvasWorldObject,ga as CollectionContext,mi as CombinedMetadata,xr as ComplexTimelineProvider,Xr as ContextBridge,sr as ControlsReactContext,Te as CreateCustomShape,_r as CustomContextBridge,Qr as CustomContextBridgeProvider,jr as DefaultEditingTools,Eo as EventEmitterProvider,$r as EventsProvider,ft as Image,Ai as ImageService,hr as ImageServiceLoaderContext,qo as InnerViewerProvider,Ir as LanguageProvider,qr as LanguageString,N as LocaleString,Jt as ManifestContext,Bi as ManifestMetadata,er as MediaPlayerProvider,K as Metadata,$n as PolygonSelector,Zt as RangeContext,No as ReactEmitterContext,Vr as ReactEventContext,Qt as ReactVaultContext,Uo as RegionHighlight,ar as Render3DModelStrategy,cr as RenderAccompanyingCanvas,Xo as RenderAnnotation,Zr as RenderAnnotationEditing,Go as RenderAnnotationPage,pr as RenderAnnotationStrategy,vr as RenderAudioStrategy,Ar as RenderComplexTimelineStrategy,kr as RenderEmptyStrategy,Hr as RenderImageStrategy,ra as RenderSvgEditorControls,zr as RenderTextualContentStrategy,Lr as RenderVideoStrategy,Br as RenderYouTubeStrategy,Qo as ResizeWorldItem,E as ResourceProvider,_t as ResourceReactContext,kn as SelectorControllerProvider,Gi as SequenceThumbnails,To as SimpleViewerProvider,wo as SimpleViewerReactContext,Oe as SingleCanvasThumbnail,nr as StrategyReactContext,yr as ThumbnailFallbackImage,br as TranslationProvider,Cr as TransliterationProvider,Ut as VaultProvider,G as ViewerPresetContext,dr as VirtualAnnotationProvider,Xt as VisibleCanvasReactContext,Bs as annotationResponseToSelector,co as authDetailsForResource,zo as createAtlasStore,so as createAuthStateStore,lo as createProbe,Dr as defaultEmitter,Fr as defaultSvgTheme,on as emptyActions,an as emptyStrategy,eo as findAllCanvasesInRange,jt as findFirstCanvasFromRange,to as findManifestSelectedRange,oo as findSelectedRange,sn as flattenAnnotationPageIds,or as formatTime,mn as get3dStrategy,Bo as getAtlasStoreByName,pn as getComplexTimelineStrategy,Fo as getDefaultAnnotationStyles,un as getImageStrategy,no as getManifestSequence,tn as getParsedTargetSelector,Ie as getRenderingStrategy,fn as getTextualContentStrategy,dn as getVideoStrategy,ro as getVisibleCanvasesFromCanvasId,ao as hasAuth,Mo as isBoxSelector,le as isRectangle,ko as isSvgSelector,uo as makeAccessServiceRequest,mo as makeAccessTokenRequest,en as parseSpecificResource,me as polygonToTarget,ue as requestToAnnotationResponse,Ho as seraliseSupportedSelector,Pn as svgThemes,As as targetIntersects,rn as unknownResponse,nn as unsupportedStrategy,$o as useAnnotation,Yo as useAnnotationPage,Se as useAnnotationPageManager,fe as useAnnotationStyles,xa as useAnnotationsAtTime,Gr as useAtlasContextMenu,P as useAtlasStore,xo as useAuthActions,bo as useAuthService,vo as useAuthStore,Co as useAuthToken,Io as useAuthTokens,w as useCanvas,Pa as useCanvasChoices,qa as useCanvasClock,io as useCanvasSequence,tr as useCanvasStartTime,Aa as useCanvasSubset,Tr as useClosestLanguage,La as useCollection,Sr as useComplexTimeline,Ur as useContextBridge,Yr as useContextMenuStore,Er as useCreateLocaleString,Da as useCurrentAnnotationActions,Qa as useCurrentAnnotationMetadata,Jr as useCurrentAnnotationRequest,Ja as useCurrentAnnotationTransition,So as useCurrentAuth,Kr as useCustomContextBridge,mr as useDispatch,Ao as useEmitter,W as useEvent,xe as useEventEmitter,os as useEventListener,Yt as useExistingVault,as as useExternalCollection,Gt as useExternalManifest,ie as useExternalResource,Pr as useIIIFLanguage,Z as useImage,_e as useImageService,pe as useImageServiceLoader,hs as useImageTile,yo as useIsAuthEnabled,be as useLoadImageService,Nr as useLocaleString,F as useManifest,Zo as useMediaActions,jo as useMediaElements,Jo as useMediaState,cn as usePaintables,A as usePaintingAnnotations,Or as usePolygonHelper,ae as useRange,Vo as useRemoteStylesheet,lr as useRenderControls,gn as useRenderingStrategy,qe as useRequestAnnotation,B as useResourceContext,Ko as useResourceEvents,ln as useResources,Po as useSearchService,He as useSelectorController,Mn as useSelectorEmitter,Me as useSelectorEvents,Hn as useSelectorHelper,rr as useSimpleMediaPlayer,se as useSimpleViewer,Rs as useStaticRenderingStrategy,ir as useStrategy,Ns as useStyleHelper,_o as useStyles,Do as useStylesheetStore,Wr as useSvgEditor,Fe as useSvgEditorControls,ge as useThumbnail,wr as useTranslations,Rr as useTransliteration,R as useVault,gr as useVaultEffect,O as useVaultSelector,Mr as useViewerPreset,ur as useVirtualAnnotationPage,fr as useVirtualAnnotationPageContext,ne as useVisibleCanvases};
1
+ import{$ as ko,$a as Ir,A as lo,Aa as er,Ab as _r,B as co,Ba as tr,Bb as Qr,C as mo,Ca as or,Cb as Ur,D as uo,Da as rr,Db as Xr,E as fo,Ea as ge,Eb as Yr,F as po,Fa as nr,Fb as Gr,G as go,Ga as ir,Gb as Jr,H as ho,Ha as ar,Hb as Zr,I as yo,Ia as sr,Ib as jr,J as vo,Ja as lr,Jb as sn,K as xo,Ka as cr,Kb as Ie,L as So,La as mr,Lb as ln,M as bo,Ma as ur,Mb as Ce,N as Io,Na as fr,Nb as A,O as Co,Oa as dr,Ob as cn,P as Ro,Pa as pr,Pb as gn,Q as Po,Qa as gr,Qb as hn,R as wo,Ra as hr,Rb as yn,S as qo,Sa as he,Sb as Pe,T as To,Ta as ye,Tb as we,U as ce,Ua as yr,Ub as qe,V as No,Va as vr,W as Eo,Wa as xr,X as Ao,Xa as Sr,Y as W,Ya as ve,Z as me,Za as xe,_ as ue,_a as br,a as Ut,aa as Mo,ab as Cr,b as B,ba as Ho,bb as Rr,c as E,ca as fe,cb as Pr,d as re,da as de,db as wr,e as Xt,ea as zo,eb as qr,f as ne,fa as Lo,fb as Tr,g as R,ga as P,gb as Nr,h as O,ha as Bo,hb as Er,i as Yt,ia as Oo,ib as N,j as ie,ja as Fo,jb as Se,k as ae,ka as pe,kb as Ar,l as F,la as Wo,lb as kr,m as se,ma as Do,mb as G,n as Gt,na as Vo,nb as Mr,o as Jt,oa as $o,ob as Hr,p as Zt,pa as w,pb as zr,q as jt,qa as Ko,qb as Lr,r as eo,ra as _o,rb as Br,s as to,sa as Qo,sb as Or,t as oo,ta as Uo,tb as Fr,u as ro,ua as Xo,ub as Wr,v as no,va as Yo,vb as Dr,w as le,wa as Go,wb as Vr,x as io,xa as Jo,xb as be,y as ao,ya as Zo,yb as $r,z as so,za as jo,zb as Kr}from"./chunk-I5SAOKMU.js";import"./chunk-UNH7HXGJ.js";import{a as en,b as tn,c as on,d as rn,e as nn,f as an,g as mn,h as un,i as fn,j as dn,k as pn,l as Re}from"./chunk-FBET7GLW.js";export*from"@iiif/helpers/annotation-targets";import{useEffect as Ge}from"react";import{useCallback as Te,useEffect as Xe,useRef as Ye,useState as D}from"react";import{useStore as k}from"zustand";function Ne(e){let[t,o]=D(0),r=P(),n=k(r,d=>d.tool.enabled),i=k(r,d=>d.tool.requestId),a=k(r,d=>d.getRequestId),s=k(r,d=>d.requestAnnotation),f=k(r,d=>d.completeRequest),u=k(r,d=>d.cancelRequest),l=Ye(e?.onSuccess);l.current=e?.onSuccess;let[h,v]=D(!1),[S,x]=D(null),[p,b]=D(null),c=n&&i!==p,y=n&&i===p,g=Te(async(d,q)=>{if(p){let H=l.current;v(!0);let L=await s(d,{...q,requestId:p});if(L)return H?.(L),o(Y=>Y+1),v(!1),x(L),L;let X={id:p,cancelled:!0,...de(d)};return H?.(X),x(X),o(Y=>Y+1),v(!1),X}return null},[s,p]),m=Te(()=>{x(null),v(!1)},[]);return Xe(()=>{let d=a();return b(d.requestId),()=>{d.clear()}},[t]),{id:t,busy:c,isPending:h,isActive:y,requestId:p,requestAnnotation:g,cancelRequest:()=>p?u(p):void 0,completeRequest:()=>p?f(p):void 0,reset:m,data:S}}var Pn=[{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 Ee(e){let{id:t,data:o,requestAnnotation:r,cancelRequest:n,isPending:i}=Ne({onSuccess:a=>{e.updateShape(a.polygon)}});return Ge(()=>(r({type:"polygon",open:e.shape?.open,points:e.shape?.points}),()=>{n()}),[]),null}import{createContext as Je,useCallback as Ae,useContext as Me,useEffect as ke,useMemo as J,useState as Ze}from"react";import He from"mitt";import{jsx as je}from"react/jsx-runtime";var V=Je(He());V.displayName="SelectorHelper";function kn({children:e}){return je(V.Provider,{value:J(()=>He(),[]),children:e})}function Mn(){return Me(V)}function ze(e){let t=Le(),[o,r]=Ze(!1);ke(()=>t.withSelector(e).on("highlight",()=>{r(!0)}),[t,e]),ke(()=>t.withSelector(e).on("clear-highlight",()=>{r(!1)}),[t,e]);let n=Ae(a=>{t.emit("click",{selectorId:e,event:a})},[e,t]),i=Ae(a=>{t.emit("hover",{selectorId:e,event:a})},[e,t]);return{controller:t,onClick:n,onHover:i,isHighlighted:o}}function Le(){let e=Me(V);return J(()=>({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 Hn(){let e=Le();return J(()=>({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{jsx as Be}from"react/jsx-runtime";function $n(e){let t=w(),o=e.annotationBucket,r=e.readOnly,n=e.id,{onClick:i,isHighlighted:a}=ze(e.id),s=pe(),f=a?s.highlighted:s[o||"hidden"]||s.hidden;if(!t)return null;if(r){let u="shape",l=e.polygon,h=l.open;return l?Be(u,{id:`shape-${n}`,points:l.points,open:h,onClick:i,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:f}):null}return Be(Ee,{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 et}from"@atlas-viewer/atlas";import{forwardRef as tt,useImperativeHandle as ot}from"react";import{Fragment as rt,jsx as Oe}from"react/jsx-runtime";var Jn=tt(function({canvasId:t},o){let r=et(),n=Ie(t||r?.id),i=R();return ot(o,()=>n,[t,r]),!r||n.enabledPageIds.length===0?null:Oe(rt,{children:n.enabledPageIds.map(a=>Oe(qe.RenderAnnotationPage,{page:i.get(a)},a))})});import{useMemo as at}from"react";import{useMemo as nt}from"react";import{Fragment as it,jsx as I,jsxs as $}from"react/jsx-runtime";function K({metadata:e=[],config:t,labelWidth:o=16,showEmptyMessage:r=!0,allowHtml:n,emptyFallback:i,classes:a={},emptyMessage:s="No metadata available",emptyValueFallback:f="No value",emptyLabelFallback:u="",separator:l,tableFooter:h,tableHeader:v,customLabelRender:S,customValueRender:x}){let p=nt(()=>{let c=(t||[]).reduce((g,m)=>[...g,...m.keys],[]),y={};for(let g of e){let m=g?.label?Object.values(g.label):[];for(let d of m)if(d?.length&&(c.indexOf(`metadata.${d[0]}`)!==-1||c.length===0)&&g){let q=`metadata.${d[0]}`;y[q]=y[q]?y[q]:[],y[q].push(g);break}}return y},[t,e]);return Object.keys(p).length===0&&r?I(it,{children:i})||I("div",{className:a.empty,children:s}):t?.length?$("table",{className:a.container,children:[v,I("tbody",{children:t.map((c,y)=>{let g=[];for(let d of c.keys)for(let q of p[d]||[]){let H=I(N,{enableDangerouslySetInnerHTML:n,defaultText:f,separator:l,children:q.value},y+"__"+d);x?g.push(x(q,H)):g.push(H)}if(g.length===0)return null;let m=I(N,{enableDangerouslySetInnerHTML:n,separator:l,defaultText:u,children:c.label});return $("tr",{className:a.row,children:[I("td",{className:a.label,style:o?{minWidth:o}:{},children:S?S(c.label,m):m}),I("td",{className:a.value,children:g})]},y)})}),h]}):$("table",{className:a.container,children:[v,I("tbody",{children:e?.length?e.map((c,y)=>{if(!c)return null;let g=I(N,{enableDangerouslySetInnerHTML:n,defaultText:f,separator:l,children:c.label}),m=I(N,{enableDangerouslySetInnerHTML:n,defaultText:f,separator:l,children:c.value});return $("tr",{className:a.row,children:[I("td",{className:a.label,style:o?{minWidth:o}:{},children:S?S(c.label,g):g}),I("td",{className:a.value,children:x?x(c,m):m})]},y)}):null}),h]})}import{jsx as st}from"react/jsx-runtime";function mi(e){let t=F(),o=w(),r=le(),n=at(()=>{let i=t?.metadata||[],a=o?.metadata||[],s=r?.metadata||[];return[...i,...a,...s]},[t,o,r]);return st(K,{metadata:n,...e})}import{useEffect as ut,useState as ft}from"react";import{createImageServiceRequest as lt,imageServiceRequestToString as ct}from"@iiif/parser/image-3";import{useMemo as mt}from"react";function Z(e,t={},o=[]){return mt(()=>{if(!e)return null;let r=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(r="default"));let n=lt(e);return ct({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 dt(e){let t=typeof e.src=="string"?e.src:e.src.id,o=he(),[r,n]=ft(!1),i;if(t){let s=o.loadServiceSync({id:t});s&&(i=s)}!i&&!r&&o.loadService({id:t}).then(()=>{n(!0)});let a=Z(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 ut(()=>()=>{n(!1)},[t]),a?_("img",{src:a,alt:e.alt,className:e.className,style:e.style}):_(pt,{...e,fetchImageService:!1})}function pt(e){if(e.fetchImageService)return _(dt,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,o=Z(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 gt,useState as ht}from"react";import{ErrorBoundary as yt}from"react-error-boundary";import{jsx as M,jsxs as xt}from"react/jsx-runtime";function Mi({src:e,errorFallback:t,interactive:o,skipSizes:r,children:n,renderViewerControls:i,viewControlsDeps:a,fluid:s,x:f,y:u,...l}){let h=ae(),[v,S]=ht(),x=t||Pe,[p,b]=Ce(),c=gt(()=>{let g=b[e]?.status,m=p({id:e},{});return m?.height&&m.width&&g!=="loading"?{id:e,width:m.width,height:m.height,service:m,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:m.width,height:m.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:m.width,height:m.height}}}:null},[p,e,b]);if(!c||!c.height||!c.width)return null;let y=s?void 0:l.homePosition?l.homePosition.width/l.homePosition.height:c.width/c.height;return M(yt,{resetKeys:[],fallbackRender:g=>M(x,{...l,...g}),children:M(ne,{vault:h,children:M(we,{...l,aspectRatio:y,containerProps:{style:{position:"relative"},...l.containerProps||{}},onCreated:g=>{S(g),l.onCreated&&l.onCreated(g)},children:xt(G.Provider,{value:v,children:[M(Se,{image:c,id:c.id,isStatic:!o,x:f,y:u},c.id),M(vt,{viewerPreset:v,renderViewerControls:i,image:c,src:e,viewControlsDeps:a}),n]})})})})}function vt({viewerPreset:e,renderViewerControls:t,image:o,src:r,viewControlsDeps:n}){return ge(e&&t?"overlay":"none",`canvas-portal-controls-${r}`,G.Provider,t&&o?{value:e||null,children:t({image:o,images:[o],type:"images"})}:{},[r,e,...n||[]]),null}import{jsx as St}from"react/jsx-runtime";function Fi(e){let t=F();return St(K,{metadata:t?.metadata||[],...e})}import{useLayoutEffect as Pt,useRef as wt}from"react";import*as j from"react-lazy-load-image-component";import{getValue as bt}from"@iiif/helpers/i18n";import{Fragment as Fe,jsx as T,jsxs as Rt}from"react/jsx-runtime";var{LazyLoadComponent:It}=j||j.default;function We(e){let{size:t,visible:o,classes:r,canvasId:n,figure:i}=e,a=t?.width||128,s=t?.height||t?.width||128,f=T(Ct,{...e}),u=T(It,{threshold:300,style:{height:s,width:a},visibleByDefault:o,children:n?T(re,{canvas:n,children:f}):f});return i?T("figure",{className:r?.figure,children:u}):u}function Ct({fallback:e,size:t,classes:o,showLabel:r,alt:n,dereference:i=!1}){let a=w(),s=t?.width||128,f=t?.height||t?.width||128,u=n||bt(a?.label)||"",l=ye({width:s,height:f,allowUnsafe:!0},i);return!l||l.type!=="fixed"?T(Fe,{children:e}):Rt(Fe,{children:[T("div",{className:o?.imageWrapper,children:T("img",{className:o?.img,src:l.id,alt:u})}),r?T(N,{as:"figcaption",className:o?.label,children:a?.label}):null]})}import{jsx as z}from"react/jsx-runtime";function Zi({scrollBehaviour:e,dereference:t,flat:o,size:r,classes:n={},showLabel:i,figure:a,fallback:s}){let f=wt(null),{items:u,sequence:l,currentSequenceIndex:h,setSequenceIndex:v}=ce(),S={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};Pt(()=>{if(!f.current)return;let p=f.current.querySelector("[data-selected=true]");p&&p.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[h]);let x=[];for(let p of l){let b=[],c=l[h]===p;for(let y of p){let g=u[y];b.push(z("div",{className:c?S.item:n.item,children:z(We,{classes:c?S:n,canvasId:g.id,size:r,dereference:t,showLabel:i,figure:a,placeholder:z("div",{style:{height:128,width:128}}),fallback:s})},y))}if(o){x.push(b);continue}x.push(z("div",{onClick:y=>{v(l.indexOf(p))},"data-selected":c,className:c?S.row:n.row,children:b},p.join("-")))}return z("div",{ref:f,className:n.container,children:x})}import{useStore as Q}from"zustand";function De(){let e=P(),t=Q(e,i=>i.completeRequest),o=Q(e,i=>i.polygonState.currentTool),r=Q(e,i=>i.polygonState.selectedStamp),n=Q(e,i=>i.switchTool);return{completeRequest:t,currentTool:o,selectedStamp:r,switchTool:n}}import{Fragment as Ve,jsx as C,jsxs as $e}from"react/jsx-runtime";var qt={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=qt,classNames:o={},icons:r={}}){let{currentTool:n,switchTool:i,selectedStamp:a}=De();return $e(Ve,{children:[n,C("button",{className:o.button,onClick:i.pointer,"data-active":n==="pointer",children:r.PointerIcon||"Pointer"}),C("button",{className:o.button,onClick:i.hand,"data-active":n==="hand",children:r.HandIcon||"Hand"}),e?$e(Ve,{children:[t.box&&C("button",{className:o.button,onClick:i.box,"data-active":n==="box",children:r.BoxIcon||"Box"}),t.pen&&C("button",{className:o.button,onClick:i.pen,"data-active":n==="pen",children:r.PenIcon||"Pen"}),t.draw&&C("button",{className:o.button,onClick:i.draw,"data-active":n==="pencil",children:r.DrawIcon||"Draw"}),t.line&&C("button",{className:o.button,onClick:i.line,"data-active":n==="line",children:r.LineIcon||"Line"}),t.lineBox&&C("button",{className:o.button,onClick:i.lineBox,"data-active":n==="lineBox",children:r.LineBoxIcon||"LineBox"}),t.triangle&&C("button",{className:o.button,onClick:i.triangle,"data-active":n==="stamp"&&a?.id==="triangle",children:r.TriangleIcon||"Triangle"}),t.hexagon&&C("button",{className:o.button,onClick:i.hexagon,"data-active":n==="stamp"&&a?.id==="hexagon",children:r.HexagonIcon||"Hexagon"}),t.circle&&C("button",{className:o.button,"data-active":n==="stamp"&&a?.id==="circle",onClick:i.circle,children:r.CircleIcon||"Circle"})]}):null,t.delete&&C("button",{className:o.button,onClick:i.remove,children:r.DeleteForeverIcon||"Delete"})]})}import{jsx as Tt}from"react/jsx-runtime";function ca({annotation:e,children:t}){return Tt(E,{value:{annotation:e},children:t})}import{jsx as Nt}from"react/jsx-runtime";function da({annotationPage:e,children:t}){return Nt(E,{value:{annotationPage:e},children:t})}import{jsx as Et}from"react/jsx-runtime";function ya({collection:e,children:t}){return Et(E,{value:{collection:e},children:t})}function ba(e,t={}){return A(t)}import{useCanvas as At}from"@atlas-viewer/atlas";import{useEffect as kt,useMemo as ee,useState as Mt}from"react";function qa({canvasId:e}={}){let t=At(),o=ie(),r=ee(()=>e?[e]:t?[t.id]:o.map(u=>u.id),[e,t,o]),[n,i]=Mt({}),a=be();kt(()=>{let u=l=>{let h=l.partOf.canvasId;h&&i(v=>({...v,[h]:l.choice}))};return a.on("choice-change",u),()=>{a.off("choice-change",u)}},[]);let s=ee(()=>{let u=[];for(let l of r){let h=n[l];h&&u.push({canvasId:l,choice:h})}return u},[r,n]),f=ee(()=>({makeChoice:(u,l)=>{a.emit("make-choice",{choiceId:u,...l})}}),[a]);return{choices:s,actions:f}}function Na(e,t=!1){}function Ma(e){let o=B().manifest,r=e?e.map(n=>typeof n=="string"?n:n?.id):[];return O(n=>{let i=o?n.iiif.entities.Manifest[o]:void 0,a=i?.items||[];if(typeof e>"u")return a;let s=[];for(let f of i?.items||[])r.indexOf(f.id)!==-1&&s.push(f);return s},[r.join("/")])}import{useMemo as Ht}from"react";function Oa(e,t=[]){let{id:o,selector:r}=e,n=B(),i=o||n.collection,a=O(s=>i?s.iiif.entities.Collection[i]:void 0,[i]);return Ht(()=>{if(a)return r?r(a):a},[a,r,...t])}import{startTransition as zt,useMemo as Lt}from"react";import{useStore as Ke}from"zustand";function $a(){let e=P(),t=Ke(e,r=>r.completeRequest),o=Ke(e,r=>r.cancelRequest);return Lt(()=>({saveAnnotation:()=>{zt(()=>{t()})},cancelRequest:o}),[t,o])}import{useCallback as Bt}from"react";import{useStore as te}from"zustand";function Xa({requestId:e}={}){let t=P(),o=te(t,s=>s.metadata),r=te(t,s=>s.tool.requestId),n=e||r,i=te(t,s=>s.setMetadata),a=Bt(s=>i(s,n||void 0),[i,n]);return[n?o[n]||{}:{},a]}import{useStore as Ot}from"zustand";function ja(e){let t=P(),o=Ot(t,r=>r.tool.requestId);W("polygons.start-transition",r=>{e.requestId&&o!==e.requestId||e?.onStart?.(r.transitionIntent)},[o,e.requestId]),W("polygons.end-transition",r=>{e.requestId&&o!==e.requestId||e?.onEnd?.(r.transitionIntent,r.response)},[o,e.requestId]),W("polygons.transition",r=>{e.requestId&&o!==e.requestId||e?.onTransition?.(r.transitionIntent)},[o,e.requestId])}import{useEffect as Ft,useMemo as Wt}from"react";import{createEventsHelper as Dt}from"@iiif/helpers/events";function ns(e,t,o,r,n=[]){let i=R(),a=Wt(()=>Dt(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}=se(e,t);return{id:o,isLoaded:r,error:n,manifest:i,requestId:a,cached:s}}import{getImageServices as _e}from"@iiif/parser/image-3";import{useEffect as Vt,useMemo as Qe,useState as U}from"react";function Ue({cacheKey:e}={}){let t=w(),o=A(),r=R(),n=ve(),i=xe(),[a,s]=U(void 0),[f,u]=U(!1),[l,h]=U("idle"),[v,S]=U(void 0),x=t?t.id:"undefined",p=Qe(()=>{try{if(t&&o.length){let c=o[0],y=r.get(c.body[0]),m=_e(y)[0];return m&&n(m,{width:m.width||t.width,height:m.height||t.height},!0)||void 0}}catch(c){console.error(c)}},[x,e,t]),b=l==="success"&&a?a:p;return Vt(()=>{(async()=>{try{if(t&&o.length){let c=o[0],y=r.get(c.body[0]),m=_e(y)[0];if(!m)return;u(!0),h("loading");try{let d=await i(m,{width:m.width||t.width,height:m.height||t.height})||void 0;s(d),h("success"),u(!1)}catch(d){h("error"),S(d)}}}catch(c){h("error"),S(c)}})()},[x,e]),Qe(()=>({data:b,isFetching:f,status:l,error:v}),[b,f,l,v])}function vs(){let e=Ue();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{useMemo as oe}from"react";import{createPaintingAnnotationsHelper as $t}from"@iiif/helpers";function ws({supports:e=["empty","images","media","3d-model","textual-content","complex-timeline"]}={}){let t=R(),o=w(),r=A(),n=oe(()=>$t(t),[t]),i=oe(()=>n.getPaintables(r),[n,r]);return oe(()=>Re({canvas:o,loadImageService:a=>a,paintables:i,supports:e}),[o,i,e])}import{createStylesHelper as Kt}from"@iiif/helpers/styles";import{useMemo as _t}from"react";function As(){let e=R();return _t(()=>Kt(e),[e])}function Ms(e,t){let{x:o,y:r,width:n,height:i}=e,{x:a,y:s}=t,{width:f,height:u}=t;return o+n>a&&o<a+f&&r+i>s&&r<s+u}import Qt from"tiny-invariant";function Fs(e,t){let o=e.boundingBox||ue(e.polygon);if(e.polygon&&!me(e.polygon.points)){let r=e.target||fe(e.polygon,t);return Qt(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,da as AnnotationPageContext,Wo as AnnotationStyleProvider,Oo as AtlasStoreProvider,Lo as AtlasStoreReactContext,Ro as Auth,ho as AuthProvider,fo as AuthRContext,po as AuthReactContext,go as AuthReactContextActions,Jn as CanvasAnnotations,re as CanvasContext,qe as CanvasPanel,hn as CanvasStrategyProvider,yn as CanvasWorldObject,ya as CollectionContext,mi as CombinedMetadata,xr as ComplexTimelineProvider,Xr as ContextBridge,sr as ControlsReactContext,Ee as CreateCustomShape,_r as CustomContextBridge,Qr as CustomContextBridgeProvider,jr as DefaultEditingTools,Eo as EventEmitterProvider,$r as EventsProvider,pt as Image,Mi as ImageService,hr as ImageServiceLoaderContext,qo as InnerViewerProvider,Ir as LanguageProvider,qr as LanguageString,N as LocaleString,Jt as ManifestContext,Fi as ManifestMetadata,er as MediaPlayerProvider,K as Metadata,$n as PolygonSelector,Zt as RangeContext,No as ReactEmitterContext,Vr as ReactEventContext,Xt as ReactVaultContext,Uo as RegionHighlight,ar as Render3DModelStrategy,cr as RenderAccompanyingCanvas,Xo as RenderAnnotation,Zr as RenderAnnotationEditing,Go as RenderAnnotationPage,pr as RenderAnnotationStrategy,vr as RenderAudioStrategy,Ar as RenderComplexTimelineStrategy,kr as RenderEmptyStrategy,Hr as RenderImageStrategy,ia as RenderSvgEditorControls,zr as RenderTextualContentStrategy,Lr as RenderVideoStrategy,Br as RenderYouTubeStrategy,Qo as ResizeWorldItem,E as ResourceProvider,Ut as ResourceReactContext,kn as SelectorControllerProvider,Zi as SequenceThumbnails,To as SimpleViewerProvider,wo as SimpleViewerReactContext,We as SingleCanvasThumbnail,nr as StrategyReactContext,yr as ThumbnailFallbackImage,br as TranslationProvider,Cr as TransliterationProvider,ne as VaultProvider,G as ViewerPresetContext,dr as VirtualAnnotationProvider,Yt as VisibleCanvasReactContext,Fs as annotationResponseToSelector,co as authDetailsForResource,zo as createAtlasStore,so as createAuthStateStore,lo as createProbe,Dr as defaultEmitter,Fr as defaultSvgTheme,on as emptyActions,an as emptyStrategy,eo as findAllCanvasesInRange,jt as findFirstCanvasFromRange,to as findManifestSelectedRange,oo as findSelectedRange,sn as flattenAnnotationPageIds,or as formatTime,mn as get3dStrategy,Bo as getAtlasStoreByName,pn as getComplexTimelineStrategy,Fo as getDefaultAnnotationStyles,un as getImageStrategy,no as getManifestSequence,tn as getParsedTargetSelector,Re as getRenderingStrategy,fn as getTextualContentStrategy,dn as getVideoStrategy,ro as getVisibleCanvasesFromCanvasId,ao as hasAuth,Mo as isBoxSelector,me as isRectangle,ko as isSvgSelector,uo as makeAccessServiceRequest,mo as makeAccessTokenRequest,en as parseSpecificResource,fe as polygonToTarget,de as requestToAnnotationResponse,Ho as seraliseSupportedSelector,Pn as svgThemes,Ms as targetIntersects,rn as unknownResponse,nn as unsupportedStrategy,$o as useAnnotation,Yo as useAnnotationPage,Ie as useAnnotationPageManager,pe as useAnnotationStyles,ba as useAnnotationsAtTime,Gr as useAtlasContextMenu,P as useAtlasStore,xo as useAuthActions,bo as useAuthService,vo as useAuthStore,Co as useAuthToken,Io as useAuthTokens,w as useCanvas,qa as useCanvasChoices,Na as useCanvasClock,io as useCanvasSequence,tr as useCanvasStartTime,Ma as useCanvasSubset,Tr as useClosestLanguage,Oa as useCollection,Sr as useComplexTimeline,Ur as useContextBridge,Yr as useContextMenuStore,Er as useCreateLocaleString,$a as useCurrentAnnotationActions,Xa as useCurrentAnnotationMetadata,Jr as useCurrentAnnotationRequest,ja as useCurrentAnnotationTransition,So as useCurrentAuth,Kr as useCustomContextBridge,mr as useDispatch,Ao as useEmitter,W as useEvent,be as useEventEmitter,ns as useEventListener,ae as useExistingVault,ls as useExternalCollection,Gt as useExternalManifest,se as useExternalResource,Pr as useIIIFLanguage,Z as useImage,Ue as useImageService,he as useImageServiceLoader,vs as useImageTile,yo as useIsAuthEnabled,Ce as useLoadImageService,Nr as useLocaleString,F as useManifest,Zo as useMediaActions,jo as useMediaElements,Jo as useMediaState,cn as usePaintables,A as usePaintingAnnotations,Or as usePolygonHelper,le as useRange,Vo as useRemoteStylesheet,lr as useRenderControls,gn as useRenderingStrategy,Ne as useRequestAnnotation,B as useResourceContext,Ko as useResourceEvents,ln as useResources,Po as useSearchService,Le as useSelectorController,Mn as useSelectorEmitter,ze as useSelectorEvents,Hn as useSelectorHelper,rr as useSimpleMediaPlayer,ce as useSimpleViewer,ws as useStaticRenderingStrategy,ir as useStrategy,As as useStyleHelper,_o as useStyles,Do as useStylesheetStore,Wr as useSvgEditor,De as useSvgEditorControls,ye as useThumbnail,wr as useTranslations,Rr as useTransliteration,R as useVault,gr as useVaultEffect,O as useVaultSelector,Mr as useViewerPreset,ur as useVirtualAnnotationPage,fr as useVirtualAnnotationPageContext,ie as useVisibleCanvases};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-iiif-vault",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",