react-iiif-vault 2.0.16 → 2.0.17

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