react-iiif-vault 2.0.18 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +77 -1
  2. package/dist/Image-CXsx26cA.d.ts +45 -0
  3. package/dist/Image-g-DyBvi0.d.cts +45 -0
  4. package/dist/ImageStrategy-BHLIi5gd.d.ts +55 -0
  5. package/dist/ImageStrategy-Be9YES5a.d.cts +55 -0
  6. package/dist/SimpleViewerContext.hooks-CTgfe0Gg.d.cts +617 -0
  7. package/dist/SimpleViewerContext.hooks-DYJSrd-U.d.ts +617 -0
  8. package/dist/SimpleViewerContext.types-CWf5OFM7.d.ts +51 -0
  9. package/dist/SimpleViewerContext.types-Df-cpBss.d.cts +51 -0
  10. package/dist/ViewerPresetContext-D7N6KH9p.d.ts +144 -0
  11. package/dist/ViewerPresetContext-DwFTIkDx.d.cts +144 -0
  12. package/dist/bundle.d.ts +290 -196
  13. package/dist/bundle.global.js +45 -74
  14. package/dist/canvas-panel/scene.cjs +1 -0
  15. package/dist/canvas-panel/scene.d.cts +133 -0
  16. package/dist/canvas-panel/scene.d.ts +133 -0
  17. package/dist/canvas-panel/scene.js +1 -0
  18. package/dist/canvas-panel.cjs +1 -47
  19. package/dist/canvas-panel.d.cts +10 -5
  20. package/dist/canvas-panel.d.ts +10 -5
  21. package/dist/canvas-panel.js +1 -1
  22. package/dist/chunk-3XPYQXUE.js +48 -0
  23. package/dist/chunk-6WG6RPHU.js +1 -0
  24. package/dist/chunk-DXC5VCRN.js +1 -0
  25. package/dist/chunk-DZ7DMQ3V.cjs +1 -0
  26. package/dist/chunk-HFC72RK6.js +1 -0
  27. package/dist/chunk-L2GTJVPY.js +1 -0
  28. package/dist/chunk-L576POBV.cjs +2 -0
  29. package/dist/chunk-LKWFF45D.cjs +1 -0
  30. package/dist/chunk-MEQI335A.js +2 -0
  31. package/dist/chunk-MIANDAMK.cjs +1 -0
  32. package/dist/chunk-ND2R7OTX.js +1 -0
  33. package/dist/chunk-R7HZTE2T.cjs +48 -0
  34. package/dist/chunk-WBVFSMED.cjs +1 -0
  35. package/dist/chunk-XULFR6E3.cjs +1 -0
  36. package/dist/chunk-YEU5T67O.js +1 -0
  37. package/dist/chunk-ZBGD3VEW.cjs +1 -0
  38. package/dist/chunk-ZEGT4BAR.cjs +1 -0
  39. package/dist/core.cjs +1 -0
  40. package/dist/core.d.cts +133 -0
  41. package/dist/core.d.ts +133 -0
  42. package/dist/core.js +1 -0
  43. package/dist/{index-DijgVxjb.d.ts → index-ClFUurPI.d.ts} +15 -69
  44. package/dist/{index-DHghDluJ.d.cts → index-QFlDahI_.d.cts} +15 -69
  45. package/dist/index.cjs +1 -49
  46. package/dist/index.d.cts +33 -1496
  47. package/dist/index.d.ts +33 -1496
  48. package/dist/index.js +1 -1
  49. package/dist/presentation-4.cjs +1 -0
  50. package/dist/presentation-4.d.cts +304 -0
  51. package/dist/presentation-4.d.ts +304 -0
  52. package/dist/presentation-4.js +1 -0
  53. package/dist/ranges-Cc2ppjFD.d.ts +689 -0
  54. package/dist/ranges-D-UBNcsJ.d.cts +689 -0
  55. package/dist/{useRenderingStrategy-CoKE915F.d.cts → useRenderingStrategy-Vubk-vUU.d.cts} +47 -24
  56. package/dist/{useRenderingStrategy-CoKE915F.d.ts → useRenderingStrategy-Vubk-vUU.d.ts} +47 -24
  57. package/dist/utils-DHWZGbVU.d.ts +54 -0
  58. package/dist/utils-De5WTLDh.d.cts +54 -0
  59. package/dist/utils.cjs +1 -1
  60. package/dist/utils.d.cts +7 -5
  61. package/dist/utils.d.ts +7 -5
  62. package/dist/utils.js +1 -1
  63. package/package.json +54 -15
  64. package/dist/chunk-KUNXFW7A.js +0 -49
  65. package/dist/chunk-P7XHGETS.js +0 -1
  66. package/dist/utils-BKdiug6F.d.cts +0 -41
  67. package/dist/utils-CmwQWQLa.d.ts +0 -41
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkLKWFF45Dcjs = require('./chunk-LKWFF45D.cjs');var _chunkL576POBVcjs = require('./chunk-L576POBV.cjs');var _chunkZEGT4BARcjs = require('./chunk-ZEGT4BAR.cjs');var _react = require('react');var _mitt = require('mitt'); var _mitt2 = _interopRequireDefault(_mitt);var _jsxruntime = require('react/jsx-runtime');var L=_react.createContext.call(void 0, _mitt2.default.call(void 0, ));L.displayName="SelectorHelper";function Xe({children:e}){return _jsxruntime.jsx.call(void 0, L.Provider,{value:_react.useMemo.call(void 0, ()=>_mitt2.default.call(void 0, ),[]),children:e})}function Ye(){return _react.useContext.call(void 0, L)}function $e(e){let t=ae(),[r,n]=_react.useState.call(void 0, !1);_react.useEffect.call(void 0, ()=>t.withSelector(e).on("highlight",()=>{n(!0)}),[t,e]),_react.useEffect.call(void 0, ()=>t.withSelector(e).on("clear-highlight",()=>{n(!1)}),[t,e]);let o=_react.useCallback.call(void 0, i=>{t.emit("click",{selectorId:e,event:i})},[e,t]),s=_react.useCallback.call(void 0, i=>{t.emit("hover",{selectorId:e,event:i})},[e,t]);return{controller:t,onClick:o,onHover:s,isHighlighted:r}}function ae(){let e=_react.useContext.call(void 0, L);return _react.useMemo.call(void 0, ()=>({withSelector(t){return{on(r,n){let o=s=>{s&&s.selectorId===t&&n(s)};return e.on(r,o),()=>{e.off(r,o)}},emit(r,n){e.emit(r,{...n,selectorId:t})}}},on(t,r){return e.on(t,r),()=>{e.off(t,r)}},emit(t,r){e.emit(t,r)}}),[e])}function Je(){let e=ae();return _react.useMemo.call(void 0, ()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(r,n){return e.emit("event-listener",{selectorId:t,name:r,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:r,callback:n})}},getImagePreview(){return new Promise((r,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:r,reject:n})})},on(r,n){return e.withSelector(t).on(r,n)}}},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,r,n){return e.emit("event-listener",{selectorId:t,name:r,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:r,callback:n})}},getImagePreview(t){return new Promise((r,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:r,reject:n})})},on(t,r){return e.on(t,r)}}),[e])}var _image3 = require('@iiif/parser/image-3');function st(e,t={},r=[]){return _react.useMemo.call(void 0, ()=>{if(!e)return null;let n=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(n="default"));let o=_image3.createImageServiceRequest.call(void 0, e);return _image3.imageServiceRequestToString.call(void 0, {identifier:o.identifier,server:o.server,scheme:o.scheme,type:"image",size:{max:!_optionalChain([t, 'access', _2 => _2.size, 'optionalAccess', _3 => _3.width])&&!_optionalChain([t, 'access', _4 => _4.size, 'optionalAccess', _5 => _5.height]),confined:!1,upscaled:!1,...t.size||{}},format:t.format||"jpg",region:t.region||{full:!0},rotation:_optionalChain([t, 'optionalAccess', _6 => _6.rotation])?Number.isInteger(t.rotation)?{angle:t.rotation}:t.rotation:{angle:0},quality:n||"default",prefix:o.prefix,originalPath:o.originalPath})},[...r])}function lt({annotation:e,children:t}){return _jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.c,{value:{annotation:e},children:t})}function pt({annotationPage:e,children:t}){return _jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.c,{value:{annotationPage:e},children:t})}function ht({collection:e,children:t}){return _jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.c,{value:{collection:e},children:t})}var _vault4 = require('@iiif/helpers/vault-4');function He(e){if(_vault4.isVault4.call(void 0, e))throw new Error("Expected a Presentation 3 Vault, but found a Vault4.");return e}function Ae(e){if(!_vault4.isVault4.call(void 0, e))throw new Error("Expected a Vault4, but found a Presentation 3 Vault.");return e}function le(e){return{useVault(){return e(_chunkL576POBVcjs.g.call(void 0, ))},useExistingVault(t){return e(_chunkLKWFF45Dcjs.a.call(void 0, t))},useVaultEffect(t,r){let n=e(_chunkL576POBVcjs.g.call(void 0, ));_react.useEffect.call(void 0, ()=>{let o=t(n);return typeof o=="function"?()=>o():void 0},[n,...r||[]])},useVaultSelector(t,r){return _chunkL576POBVcjs.i.call(void 0, e(_chunkL576POBVcjs.g.call(void 0, )),t,r)}}}var Ce=le(He),we=le(Ae);function Tt(e=3){return e===4?we:Ce}function ce(e={}){let t=_chunkL576POBVcjs.I.call(void 0, ),r=_chunkL576POBVcjs.M.call(void 0, );return _chunkL576POBVcjs.j.call(void 0, (n,o)=>{let s=e.canvasId?n.iiif.mapping[e.canvasId]==="Timeline"?n.iiif.entities.Timeline[e.canvasId]:n.iiif.entities.Canvas[e.canvasId]:r;if(!s)return[];if(t&&e.enableSingleAnnotation)return[t];let i=o.get([...s.items]),l=[];for(let c of i)l.push(...o.get(c.items));return l},[r,e.canvasId,t,e.enableSingleAnnotation])}function zt(e,t={}){return ce(t)}function qt(e,t=!1){}function Mt(e){let r=_chunkL576POBVcjs.b.call(void 0, ).manifest,n=e?e.map(o=>typeof o=="string"?o:_optionalChain([o, 'optionalAccess', _7 => _7.id])):[];return _chunkL576POBVcjs.j.call(void 0, o=>{let s=r?o.iiif.entities.Manifest[r]:void 0,i=_optionalChain([s, 'optionalAccess', _8 => _8.items])||[];if(typeof e>"u")return i;let l=[];for(let c of _optionalChain([s, 'optionalAccess', _9 => _9.items])||[])n.indexOf(c.id)!==-1&&l.push(c);return l},[n.join("/")])}var _events = require('@iiif/helpers/events');function Bt(e,t,r,n,o=[]){let s=_chunkL576POBVcjs.h.call(void 0, ),i=_react.useMemo.call(void 0, ()=>_events.createEventsHelper.call(void 0, s),[s]);_react.useEffect.call(void 0, ()=>{let l=e;return l?(i.addEventListener(l,t,r,n),()=>{i.removeEventListener(l,t,r)}):()=>{}},[i,e,t,...o])}function me({cacheKey:e}={}){let t=_chunkL576POBVcjs.M.call(void 0, ),r=_chunkL576POBVcjs.Aa.call(void 0, ),n=_chunkL576POBVcjs.h.call(void 0, ),o=_chunkL576POBVcjs.oa.call(void 0, ),s=_chunkL576POBVcjs.pa.call(void 0, ),i=_react.useMemo.call(void 0, ()=>{let m=_optionalChain([r, 'access', _10 => _10[0], 'optionalAccess', _11 => _11.body]),a=Array.isArray(m)?m[0]:m,g=a?n.get(a):void 0,d=g&&"service"in g?_optionalChain([g, 'access', _12 => _12.service, 'optionalAccess', _13 => _13.find, 'call', _14 => _14(_image3.isImageService)]):void 0,R=t?_chunkZEGT4BARcjs.a.call(void 0, t):{width:1,height:1};return{service:d,size:R,initial:d&&o(d,R)||void 0}},[n,t,e,r,o]),[l,c]=_react.useState.call(void 0, );_react.useEffect.call(void 0, ()=>{let m=!0;return i.service&&!i.initial&&s(i.service,i.size).then(a=>{m&&c({request:i,data:a||void 0})},a=>{m&&c({request:i,error:a instanceof Error?a:new Error(String(a))})}),()=>{m=!1}},[i,s]);let p=_optionalChain([l, 'optionalAccess', _15 => _15.request])===i?l:void 0,u=_optionalChain([p, 'optionalAccess', _16 => _16.data])||i.initial,h=_optionalChain([p, 'optionalAccess', _17 => _17.error]),y=h?"error":u?"success":i.service&&!p?"loading":"idle";return{data:u,isFetching:y==="loading",status:y,error:h}}function er(){let e=me();return{isLoading:e.isFetching,tile:e.data?{id:e.data.id||e.data["@id"],width:e.data.width,height:e.data.height,imageService:e.data,thumbnail:void 0}:null}}var _helpers = require('@iiif/helpers');function ur({supports:e=["empty","images","media","3d-model","textual-content","complex-timeline"]}={}){let t=_chunkL576POBVcjs.h.call(void 0, ),r=_chunkL576POBVcjs.M.call(void 0, ),n=_chunkL576POBVcjs.Aa.call(void 0, ),o=_react.useMemo.call(void 0, ()=>_helpers.createPaintingAnnotationsHelper.call(void 0, t),[t]),s=_react.useMemo.call(void 0, ()=>o.getPaintables(n),[o,n]);return _react.useMemo.call(void 0, ()=>_chunkZEGT4BARcjs.q.call(void 0, {canvas:r,loadImageService:i=>i,paintables:s,supports:e}),[r,s,e])}var _styles = require('@iiif/helpers/styles');function pr(){let e=_chunkL576POBVcjs.h.call(void 0, );return _react.useMemo.call(void 0, ()=>_styles.createStylesHelper.call(void 0, e),[e])}function hr(e){let{initial:t,regions:r,progress:n,getProgress:o,enabled:s=!0,easing:i,reportEveryFrame:l=!1,pollInterval:c=_chunkL576POBVcjs.ha,loop:p=!1,onEnter:u,onExit:h,onProgress:y,jumpTo:m}=e,a=_react.useMemo.call(void 0, ()=>_chunkL576POBVcjs.ka.call(void 0, t,r),[t,r]),[g,d]=_react.useState.call(void 0, ()=>-1),[R,x]=_react.useState.call(void 0, 0),I=_react.useRef.call(void 0, -1),P=_react.useRef.call(void 0, 0),H=_react.useRef.call(void 0, !0),de=_react.useRef.call(void 0, ()=>{});_react.useEffect.call(void 0, ()=>(H.current=!0,()=>{H.current=!1}),[]);let ve=_react.useMemo.call(void 0, ()=>{if(!i)return _chunkL576POBVcjs.la.call(void 0, _chunkL576POBVcjs.ga);if(typeof i=="function")return i;if(Array.isArray(i)&&i.length===4)return _chunkL576POBVcjs.la.call(void 0, i);let f=_chunkL576POBVcjs.ia[i];return f?_chunkL576POBVcjs.la.call(void 0, f):_chunkL576POBVcjs.la.call(void 0, _chunkL576POBVcjs.ga)},[i]),A=_react.useCallback.call(void 0, f=>{if(!(f<0||f>=a.length)&&(d(f),I.current=f,P.current=0,x(0),u))try{u(f)}catch (e2){}},[a,u]);_react.useEffect.call(void 0, ()=>{de.current=A,m&&m(A)},[A,m]);function B(f){let{index:E,t:w}=_chunkL576POBVcjs.ma.call(void 0, f,a),v=E;if(p&&a.length>0){let O=a.length;v=(E%O+O)%O}let z=ve(w);if(v!==I.current){if(I.current>=0&&h)try{h(I.current)}catch (e3){}if(v>=0&&u)try{u(v)}catch (e4){}I.current=v,H.current&&d(v)}if(P.current=z,H.current&&(l||v!==g)&&x(z),y&&v>=0)try{y(v,z)}catch (e5){}}_react.useEffect.call(void 0, ()=>{s&&typeof n=="number"&&B(n)},[n,s]),_react.useEffect.call(void 0, ()=>{if(!s||typeof o!="function")return;let f=null,E=()=>{try{let w=o();B(w)}catch (e6){}};return E(),f=setInterval(E,c),()=>clearInterval(f)},[o,s,c]);let C=g>=0&&g<a.length?a[g]:void 0,he=C?_chunkL576POBVcjs.ja.call(void 0, C.from,C.to,P.current):void 0;return{transitions:a,currentIndex:g,currentTransition:C,t:P.current,rect:he,jumpTo:A}}function xr(e,t={}){let{axis:r="y",offset:n=0,steps:o=1,enabled:s=!0}=t,[i,l]=_react.useState.call(void 0, 0),c=_react.useRef.call(void 0, -1),p=_react.useRef.call(void 0, null);return _react.useEffect.call(void 0, ()=>{if(!s||!e||!e.current)return;let u=e.current,h=()=>{let m=r==="y"?u.scrollTop:u.scrollLeft,a=r==="y"?u.clientHeight:u.clientWidth,d=(r==="y"?u.scrollHeight:u.scrollWidth)-a,x=(d<=0?0:Math.max(0,Math.min(1,(m+n)/d)))*o;x!==c.current&&(c.current=x,l(x)),p.current=null},y=()=>{p.current===null&&(p.current=requestAnimationFrame(h))};return u.addEventListener("scroll",y,{passive:!0}),h(),()=>{u.removeEventListener("scroll",y),p.current!==null&&cancelAnimationFrame(p.current)}},[e,r,n,o,s]),i}var _sequences = require('@iiif/helpers/sequences');exports.a = Xe; exports.b = Ye; exports.c = $e; exports.d = ae; exports.e = Je; exports.f = st; exports.g = lt; exports.h = pt; exports.i = ht; exports.j = Tt; exports.k = ce; exports.l = zt; exports.m = qt; exports.n = Mt; exports.o = Bt; exports.p = me; exports.q = er; exports.r = ur; exports.s = pr; exports.t = hr; exports.u = xr; exports.v = _sequences.getManifestSequence; exports.w = _sequences.getVisibleCanvasesFromCanvasId;
@@ -0,0 +1 @@
1
+ import{a as Q}from"./chunk-6WG6RPHU.js";import{Aa as F,I as G,M as V,b as _,c as b,g as k,ga as U,h as S,ha as Z,i as W,ia as X,j as q,ja as Y,ka as $,la as T,ma as J,oa as ee,pa as te}from"./chunk-MEQI335A.js";import{a as K,q as re}from"./chunk-L2GTJVPY.js";import{createContext as ye,useCallback as ne,useContext as ie,useEffect as oe,useMemo as D,useState as Se}from"react";import se from"mitt";import{jsx as xe}from"react/jsx-runtime";var L=ye(se());L.displayName="SelectorHelper";function Xe({children:e}){return xe(L.Provider,{value:D(()=>se(),[]),children:e})}function Ye(){return ie(L)}function $e(e){let t=ae(),[r,n]=Se(!1);oe(()=>t.withSelector(e).on("highlight",()=>{n(!0)}),[t,e]),oe(()=>t.withSelector(e).on("clear-highlight",()=>{n(!1)}),[t,e]);let o=ne(i=>{t.emit("click",{selectorId:e,event:i})},[e,t]),s=ne(i=>{t.emit("hover",{selectorId:e,event:i})},[e,t]);return{controller:t,onClick:o,onHover:s,isHighlighted:r}}function ae(){let e=ie(L);return D(()=>({withSelector(t){return{on(r,n){let o=s=>{s&&s.selectorId===t&&n(s)};return e.on(r,o),()=>{e.off(r,o)}},emit(r,n){e.emit(r,{...n,selectorId:t})}}},on(t,r){return e.on(t,r),()=>{e.off(t,r)}},emit(t,r){e.emit(t,r)}}),[e])}function Je(){let e=ae();return D(()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(r,n){return e.emit("event-listener",{selectorId:t,name:r,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:r,callback:n})}},getImagePreview(){return new Promise((r,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:r,reject:n})})},on(r,n){return e.withSelector(t).on(r,n)}}},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,r,n){return e.emit("event-listener",{selectorId:t,name:r,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:r,callback:n})}},getImagePreview(t){return new Promise((r,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:r,reject:n})})},on(t,r){return e.on(t,r)}}),[e])}import{createImageServiceRequest as be,imageServiceRequestToString as Ve}from"@iiif/parser/image-3";import{useMemo as Ie}from"react";function st(e,t={},r=[]){return Ie(()=>{if(!e)return null;let n=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(n="default"));let o=be(e);return Ve({identifier:o.identifier,server:o.server,scheme:o.scheme,type:"image",size:{max:!t.size?.width&&!t.size?.height,confined:!1,upscaled:!1,...t.size||{}},format:t.format||"jpg",region:t.region||{full:!0},rotation:t?.rotation?Number.isInteger(t.rotation)?{angle:t.rotation}:t.rotation:{angle:0},quality:n||"default",prefix:o.prefix,originalPath:o.originalPath})},[...r])}import{jsx as Ee}from"react/jsx-runtime";function lt({annotation:e,children:t}){return Ee(b,{value:{annotation:e},children:t})}import{jsx as Te}from"react/jsx-runtime";function pt({annotationPage:e,children:t}){return Te(b,{value:{annotationPage:e},children:t})}import{jsx as Re}from"react/jsx-runtime";function ht({collection:e,children:t}){return Re(b,{value:{collection:e},children:t})}import{isVault4 as ue}from"@iiif/helpers/vault-4";import{useEffect as Pe}from"react";function He(e){if(ue(e))throw new Error("Expected a Presentation 3 Vault, but found a Vault4.");return e}function Ae(e){if(!ue(e))throw new Error("Expected a Vault4, but found a Presentation 3 Vault.");return e}function le(e){return{useVault(){return e(k())},useExistingVault(t){return e(Q(t))},useVaultEffect(t,r){let n=e(k());Pe(()=>{let o=t(n);return typeof o=="function"?()=>o():void 0},[n,...r||[]])},useVaultSelector(t,r){return W(e(k()),t,r)}}}var Ce=le(He),we=le(Ae);function Tt(e=3){return e===4?we:Ce}function ce(e={}){let t=G(),r=V();return q((n,o)=>{let s=e.canvasId?n.iiif.mapping[e.canvasId]==="Timeline"?n.iiif.entities.Timeline[e.canvasId]:n.iiif.entities.Canvas[e.canvasId]:r;if(!s)return[];if(t&&e.enableSingleAnnotation)return[t];let i=o.get([...s.items]),l=[];for(let c of i)l.push(...o.get(c.items));return l},[r,e.canvasId,t,e.enableSingleAnnotation])}function zt(e,t={}){return ce(t)}function qt(e,t=!1){}function Mt(e){let r=_().manifest,n=e?e.map(o=>typeof o=="string"?o:o?.id):[];return q(o=>{let s=r?o.iiif.entities.Manifest[r]:void 0,i=s?.items||[];if(typeof e>"u")return i;let l=[];for(let c of s?.items||[])n.indexOf(c.id)!==-1&&l.push(c);return l},[n.join("/")])}import{useEffect as ze,useMemo as ke}from"react";import{createEventsHelper as qe}from"@iiif/helpers/events";function Bt(e,t,r,n,o=[]){let s=S(),i=ke(()=>qe(s),[s]);ze(()=>{let l=e;return l?(i.addEventListener(l,t,r,n),()=>{i.removeEventListener(l,t,r)}):()=>{}},[i,e,t,...o])}import{isImageService as Fe}from"@iiif/parser/image-3";import{useEffect as Le,useMemo as Ne,useState as Me}from"react";function me({cacheKey:e}={}){let t=V(),r=F(),n=S(),o=ee(),s=te(),i=Ne(()=>{let m=r[0]?.body,a=Array.isArray(m)?m[0]:m,g=a?n.get(a):void 0,d=g&&"service"in g?g.service?.find(Fe):void 0,R=t?K(t):{width:1,height:1};return{service:d,size:R,initial:d&&o(d,R)||void 0}},[n,t,e,r,o]),[l,c]=Me();Le(()=>{let m=!0;return i.service&&!i.initial&&s(i.service,i.size).then(a=>{m&&c({request:i,data:a||void 0})},a=>{m&&c({request:i,error:a instanceof Error?a:new Error(String(a))})}),()=>{m=!1}},[i,s]);let p=l?.request===i?l:void 0,u=p?.data||i.initial,h=p?.error,y=h?"error":u?"success":i.service&&!p?"loading":"idle";return{data:u,isFetching:y==="loading",status:y,error:h}}function er(){let e=me();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 j}from"react";import{createPaintingAnnotationsHelper as Oe}from"@iiif/helpers";function ur({supports:e=["empty","images","media","3d-model","textual-content","complex-timeline"]}={}){let t=S(),r=V(),n=F(),o=j(()=>Oe(t),[t]),s=j(()=>o.getPaintables(n),[o,n]);return j(()=>re({canvas:r,loadImageService:i=>i,paintables:s,supports:e}),[r,s,e])}import{createStylesHelper as Ue}from"@iiif/helpers/styles";import{useMemo as De}from"react";function pr(){let e=S();return De(()=>Ue(e),[e])}import{useCallback as je,useEffect as N,useMemo as fe,useRef as M,useState as pe}from"react";function hr(e){let{initial:t,regions:r,progress:n,getProgress:o,enabled:s=!0,easing:i,reportEveryFrame:l=!1,pollInterval:c=Z,loop:p=!1,onEnter:u,onExit:h,onProgress:y,jumpTo:m}=e,a=fe(()=>$(t,r),[t,r]),[g,d]=pe(()=>-1),[R,x]=pe(0),I=M(-1),P=M(0),H=M(!0),de=M(()=>{});N(()=>(H.current=!0,()=>{H.current=!1}),[]);let ve=fe(()=>{if(!i)return T(U);if(typeof i=="function")return i;if(Array.isArray(i)&&i.length===4)return T(i);let f=X[i];return f?T(f):T(U)},[i]),A=je(f=>{if(!(f<0||f>=a.length)&&(d(f),I.current=f,P.current=0,x(0),u))try{u(f)}catch{}},[a,u]);N(()=>{de.current=A,m&&m(A)},[A,m]);function B(f){let{index:E,t:w}=J(f,a),v=E;if(p&&a.length>0){let O=a.length;v=(E%O+O)%O}let z=ve(w);if(v!==I.current){if(I.current>=0&&h)try{h(I.current)}catch{}if(v>=0&&u)try{u(v)}catch{}I.current=v,H.current&&d(v)}if(P.current=z,H.current&&(l||v!==g)&&x(z),y&&v>=0)try{y(v,z)}catch{}}N(()=>{s&&typeof n=="number"&&B(n)},[n,s]),N(()=>{if(!s||typeof o!="function")return;let f=null,E=()=>{try{let w=o();B(w)}catch{}};return E(),f=setInterval(E,c),()=>clearInterval(f)},[o,s,c]);let C=g>=0&&g<a.length?a[g]:void 0,he=C?Y(C.from,C.to,P.current):void 0;return{transitions:a,currentIndex:g,currentTransition:C,t:P.current,rect:he,jumpTo:A}}import{useEffect as Be,useRef as ge,useState as _e}from"react";function xr(e,t={}){let{axis:r="y",offset:n=0,steps:o=1,enabled:s=!0}=t,[i,l]=_e(0),c=ge(-1),p=ge(null);return Be(()=>{if(!s||!e||!e.current)return;let u=e.current,h=()=>{let m=r==="y"?u.scrollTop:u.scrollLeft,a=r==="y"?u.clientHeight:u.clientWidth,d=(r==="y"?u.scrollHeight:u.scrollWidth)-a,x=(d<=0?0:Math.max(0,Math.min(1,(m+n)/d)))*o;x!==c.current&&(c.current=x,l(x)),p.current=null},y=()=>{p.current===null&&(p.current=requestAnimationFrame(h))};return u.addEventListener("scroll",y,{passive:!0}),h(),()=>{u.removeEventListener("scroll",y),p.current!==null&&cancelAnimationFrame(p.current)}},[e,r,n,o,s]),i}import{getManifestSequence as Er,getVisibleCanvasesFromCanvasId as Tr}from"@iiif/helpers/sequences";export{Xe as a,Ye as b,$e as c,ae as d,Je as e,st as f,lt as g,pt as h,ht as i,Tt as j,ce as k,zt as l,qt as m,Mt as n,Bt as o,me as p,er as q,ur as r,pr as s,hr as t,xr as u,Er as v,Tr as w};
@@ -0,0 +1,48 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkLKWFF45Dcjs = require('./chunk-LKWFF45D.cjs');var _chunkXULFR6E3cjs = require('./chunk-XULFR6E3.cjs');var _chunkL576POBVcjs = require('./chunk-L576POBV.cjs');var _chunkZEGT4BARcjs = require('./chunk-ZEGT4BAR.cjs');var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _atlas = require('@atlas-viewer/atlas');var _zustand = require('zustand');var _polygoneditor = require('polygon-editor');var _vanilla = require('zustand/vanilla');function Je(e){let t=Math.max(...e.map(r=>r[0])),o=Math.min(...e.map(r=>r[0])),n=Math.max(...e.map(r=>r[1])),i=Math.min(...e.map(r=>r[1]));for(let r of e)if(r[0]!==o&&r[0]!==t&&r[1]!==i&&r[1]!==n||r[0]<o||r[0]>t||r[1]<i||r[1]>n)return!1;return!0}function pe(e){if(!e)return null;if(e.points.length>2){let t=Math.min(...e.points.map(r=>r[0])),o=Math.min(...e.points.map(r=>r[1])),n=Math.max(0,...e.points.map(r=>r[0])),i=Math.max(0,...e.points.map(r=>r[1]));return{x:t,y:o,width:n-t,height:i-o}}return null}function Qo(e){return e.type==="SvgSelector"}function ri(e){return e.type==="BoxSelector"}function en(e,t){if(Qo(e)){let s=e.svgShape==="polyline";if(!e.points||e.points.length===0)return null;if(t){let{width:a,height:l}=t;return{type:"SvgSelector",value:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${a} ${l}" width="${a}" height="${l}"><${s?"polygon":"polyline"} points="${e.points.map(f=>f.join(",")).join(" ")}" /></svg>`}}return{type:"SvgSelector",value:`<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g><path d='M${e.points.map(a=>a.join(",")).join(" ")}${s?" Z":""}' /></g></svg>`}}if(!e.spatial)return null;let{x:o,y:n,width:i,height:r}=e.spatial||{};return!i||!r?null:{type:"FragmentSelector",value:`xywh=${~~o},${~~n},${~~i},${~~r}`}}var Qe=en;function et(e,t){if(!e||!e.points.length)return null;if(Je(e.points)){let o=e.points.map(l=>l[0]),n=e.points.map(l=>l[1]),i=Math.min(...o),r=Math.min(...n),s=Math.max(...o)-i,a=Math.max(...n)-r;return Qe({type:"BoxSelector",spatial:{x:i,y:r,width:s,height:a}},t)}return Qe({type:"SvgSelector",points:e.points,svgShape:e.open?"polygon":"polyline"},t)}function Xt(e){if(e.type==="polygon"&&!e.noBox&&e.points&&Je(e.points)){let o=pe({open:!1,points:e.points||[]});return Xt({...e,type:"box",selector:o})}if(e.type==="polygon"||e.type==="draw")return{polygon:{points:e.points||[],open:e.open||!1},requestType:e.type,boundingBox:pe({points:e.points||[],open:!1}),metadata:{},arguments:e.arguments||{},target:et({points:e.points||[],open:!1},e.bounds)};let t=e.selector;if(t){let o=[[t.x,t.y],[t.x+t.width,t.y],[t.x+t.width,t.y+t.height],[t.x,t.y+t.height]];return{polygon:{points:o,open:!1},requestType:e.type,boundingBox:t,metadata:{},target:et({points:o,open:!1},e.bounds),arguments:e.arguments||{}}}return{polygon:{points:[],open:!1},requestType:e.type,boundingBox:null,target:null,metadata:{},arguments:e.arguments||{}}}var nn={shapeId:null,noShape:!0,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,lastCreationTool:null,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:0},bounds:null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,transitionModifiers:null,selectedStamp:null,bezierLines:[],boxMode:!1,fixedAspectRatio:!1,cursor:"",enabledTools:["pointer","pen","box","lineBox","stamp","hand","line","pencil"],canDelete:!0,canDeselect:!0,isToolSwitchingLocked:!1,currentTool:"box",snapEnabled:!1,snapToPoints:!1,snapToLines:!1,snapToIntersections:!1,snapToGrid:!1,snapToParallel:!1};function Zt({events:e,enabledTools:t,keyboardShortcutMapping:o,keyboardShortcutsEnabled:n=!1,debug:i}){let r=_vanilla.createStore.call(void 0, (a,l)=>{let m=null,c=_polygoneditor.createHelper.call(void 0, {emitter:e,keyboardShortcutsEnabled:n,keyboardShortcutMapping:o,enabledTools:t,customSetState:d=>{i&&console.log("partial state",d),a(u=>({polygonState:{...u.polygonState,...d}}))}},d=>{a(u=>u.tool.requestId?{polygon:{...d,id:u.tool.requestId}}:{polygon:{id:void 0,points:[],open:!0}}),e.emit("atlas.polygon-update",d)});return{mode:"explore",tool:{enabled:!1,requestId:null,canvasId:null},runtime:null,requestType:null,requests:{},history:c.history,polygon:null,validRequestIds:[],metadata:{},stableViewport:null,canvasRelativePositions:{},canvasViewports:{},polygons:c,polygonState:nn,setMetadata:(d,u)=>{let g=u||l().tool.requestId;g&&a(x=>({metadata:{...x.metadata,[g]:{...x.metadata[g]||{},...d}}}))},setToolCanvasId:d=>{a(u=>({tool:{...u.tool,canvasId:d}}))},switchTool:{pointer(){a({mode:"sketch"}),s.tools.setTool("pointer")},hand(){a({mode:"explore"}),s.tools.setTool("hand")},draw(){a({mode:"sketch"}),s.tools.setTool("pencil")},pen(){a({mode:"sketch"}),s.tools.setTool("pen")},line(){a({mode:"sketch"}),s.tools.setTool("line")},lineBox(){a({mode:"sketch"}),s.tools.setTool("lineBox")},box(){a({mode:"sketch"}),s.tools.setTool("box")},triangle(){a({mode:"sketch"}),s.tools.setTool("stamp"),s.stamps.triangle()},hexagon(){a({mode:"sketch"}),s.tools.setTool("stamp"),s.stamps.hexagon()},circle(){a({mode:"sketch"}),s.tools.setTool("stamp"),s.stamps.circle()},remove(){let d=l();d.tool.requestId&&(c.setShape({points:[],open:!0}),d.cancelRequest(d.tool.requestId))}},reset:()=>{let d=l();d.tool.requestId&&d.cancelRequest(d.tool.requestId)},setPolygonState:d=>a({polygonState:typeof d=="function"?d(l().polygonState):d}),getRequestId:()=>{let d=Math.random().toString(36).slice(2);return a(u=>({validRequestIds:[...u.validRequestIds,d]})),{requestId:d,clear:()=>{l().tool.requestId,a(u=>({tool:u.tool.requestId===d?{enabled:!1,requestId:null,canvasId:null}:u.tool,validRequestIds:u.validRequestIds.filter(g=>g!==d)}))}}},cancelRequest:d=>{let u=d||l().tool.requestId;u&&(a(g=>({mode:"explore",tool:g.tool.requestId===u?{enabled:!1,requestId:null,canvasId:null}:g.tool,validRequestIds:g.validRequestIds.filter(x=>x!==u)})),e.emit("atlas.request-cancelled",{id:u}))},requestAnnotation:async(d,u)=>{let x={...l().requests,[u.requestId]:d},h=Xt(d);i&&console.log("requestAnnotation",{response:h,request:d});try{let{points:C=[],open:P=!0}=h.polygon||{},{requestId:S,canvasId:T=null,toolId:p}=u,v=p,R=l(),K=R.validRequestIds.includes(S),E=h.requestType;return i&&console.log("setting points",{requestType:E,points:C,open:P}),!K||R.tool.enabled?null:(c.setShape({id:S,points:C,open:P}),E==="polygon"&&(v=v||"pen",c.tools.setTool("pen")),E==="draw"&&(v=v||"draw",c.tools.setTool("pencil")),E==="box"&&(v=v||"box",c.tools.setTool("box")),E==="target"?(v=v||"box",c.tools.setTool("box"),c.lockAspectRatio(),c.tools.lockToolSwitching(),c.tools.setCanDeselect(!1),c.tools.setCanDelete(!1)):(c.tools.unlockToolSwitching(),c.tools.setCanDeselect(!0),c.tools.setCanDelete(!0)),d.bounds&&c.setBounds(d.bounds),e.emit("atlas.annotation-request",{id:S}),a({polygon:{id:S,points:C,open:P},mode:"sketch",requestType:E,tool:{enabled:!0,requestId:S,canvasId:T},requests:x}),v?_optionalChain([R, 'access', _2 => _2.switchTool, 'access', _3 => _3[v], 'optionalCall', _4 => _4()]):C.length===0&&R.switchTool.box(),(typeof d.selectByDefault>"u"&&C.length&&E==="box"||d.selectByDefault)&&R.switchTool.pointer(),new Promise(J=>{let j=D=>{D.id===S&&(a(y=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(y.requests).filter(([b])=>b!==S))})),e.off("atlas.request-cancelled",j),e.off("atlas.annotation-completed",q),J(null))},q=D=>{D.id===S&&(a(y=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(y.requests).filter(([b])=>b!==S))})),e.off("atlas.annotation-completed",q),e.off("atlas.request-cancelled",j),J(D))};e.on("atlas.request-cancelled",j),e.on("atlas.annotation-completed",q)}))}catch(C){return console.error(C),null}},completeRequest:d=>{let u=l().tool.requestId;if(typeof d=="string"&&d&&d!==u)return;let g=u?_optionalChain([l, 'call', _5 => _5(), 'access', _6 => _6.requests, 'access', _7 => _7[u], 'optionalAccess', _8 => _8.arguments])||{}:{},x=u?l().metadata[u]||{}:{},h=l().polygonState.bounds,C=l().polygon;C&&(e.emit("atlas.annotation-completed",{id:C.id,polygon:C,requestType:l().requestType,target:et(C,h),canvasId:l().tool.canvasId,boundingBox:pe(C),metadata:x,arguments:{...g}}),c.setShape(null))},setAtlasRuntime:d=>{m=d,e.emit("atlas.ready",{runtime:d}),s.setScale(1/m._lastGoodScale),m.world.addLayoutSubscriber((u,g)=>{(u==="event-activation"||u==="zoom-to"||u==="go-home")&&_optionalChain([m, 'optionalAccess', _9 => _9._lastGoodScale])&&!Number.isNaN(m._lastGoodScale)&&s.setScale(1/m._lastGoodScale)}),a({runtime:m})},clearAtlasRuntime:()=>{m=null,a({stableViewport:null,runtime:null})},setCanvasRelativePosition:(d,u)=>{a(g=>({canvasRelativePositions:{...g.canvasRelativePositions,[d]:u}}))},clearCanvasRelativePosition:d=>{a(u=>{let g={...u.canvasRelativePositions};return delete g[d],{canvasRelativePositions:g}})},changeMode:d=>{a({mode:d})},nudgeLeft:d=>{if(!m)return;let u=m.getViewport(),g=_nullishCoalesce(d, () => (u.width*.1));m.world.gotoRegion({x:u.x-g,y:u.y,width:u.width,height:u.height,nudge:!0})},nudgeRight:d=>{if(!m)return;let u=m.getViewport(),g=_nullishCoalesce(d, () => (u.width*.1));m.world.gotoRegion({x:u.x+g,y:u.y,width:u.width,height:u.height,nudge:!0})},nudgeUp:d=>{if(!m)return;let u=m.getViewport(),g=_nullishCoalesce(d, () => (u.height*.1));m.world.gotoRegion({x:u.x,y:u.y-g,width:u.width,height:u.height,nudge:!0})},nudgeDown:d=>{if(!m)return;let u=m.getViewport(),g=_nullishCoalesce(d, () => (u.height*.1));m.world.gotoRegion({x:u.x,y:u.y+g,width:u.width,height:u.height,nudge:!0})},zoomIn:()=>{_optionalChain([m, 'optionalAccess', _10 => _10.world, 'optionalAccess', _11 => _11.zoomIn, 'call', _12 => _12()])},zoomOut:()=>{_optionalChain([m, 'optionalAccess', _13 => _13.world, 'optionalAccess', _14 => _14.zoomOut, 'call', _15 => _15()])},goHome:()=>{_optionalChain([m, 'optionalAccess', _16 => _16.world, 'optionalAccess', _17 => _17.goHome, 'call', _18 => _18()])},goToRegion:d=>{_optionalChain([m, 'optionalAccess', _19 => _19.world, 'optionalAccess', _20 => _20.gotoRegion, 'call', _21 => _21(d)])},getRuntime:()=>m}}),s=r.getState().polygons;return e.on("atlas.annotation-request",()=>{s.clock.start((a,l,m)=>{e.emit("atlas.polygon-render",{state:a,slowState:l,dt:m})},a=>{typeof a=="object"?r.setState({polygonState:a}):r.setState(l=>({polygonState:a(l.polygonState)}))})}),e.on("atlas.annotation-completed",()=>{s.clock.stop()}),e.on("atlas.request-cancelled",()=>{s.clock.stop()}),r}var _jsxruntime = require('react/jsx-runtime');var ce=_react.createContext.call(void 0, null);function N(){return _react.useContext.call(void 0, ce)}var tt={};function Qt(e="atlas"){return _optionalChain([tt, 'access', _22 => _22[e], 'optionalAccess', _23 => _23.getState, 'call', _24 => _24()])}function xe({children:e,name:t="atlas",existing:o,atlasStoreConfig:n}){let i=_chunkLKWFF45Dcjs.q.call(void 0, ),r=_react.useContext.call(void 0, ce),s=_react.useMemo.call(void 0, ()=>o||r||Zt({events:i,...n||{}}),[i,o,r]),a=_zustand.useStore.call(void 0, s,l=>l.mode);return _react.useEffect.call(void 0, ()=>{let l=t;return l&&(tt[l]=s),()=>{l&&delete tt[l]}},[s,t]),_jsxruntime.jsx.call(void 0, ce.Provider,{value:s,children:_jsxruntime.jsx.call(void 0, _atlas.ModeContext.Provider,{value:a||"explore",children:e})})}function eo({handleSize:e,resizable:t,onSave:o,children:n,maintainAspectRatio:i,disableCardinalControls:r,aspectRatio:s,...a}){let l=typeof e>"u"?i?12:8:e,{portalRef:m,mode:f,mouseEvent:c,isEditing:d}=_atlas.useResizeWorldItem.call(void 0, {x:a.x||0,y:a.y||0,width:a.width,height:a.height,aspectRatio:s,maintainAspectRatio:i},o),u=_react.useMemo.call(void 0, ()=>c("translate"),[c]),g=_react.useMemo.call(void 0, ()=>c("east"),[c]),x=_react.useMemo.call(void 0, ()=>c("west"),[c]),h=_react.useMemo.call(void 0, ()=>c("south"),[c]),C=_react.useMemo.call(void 0, ()=>c("north"),[c]),P=_react.useMemo.call(void 0, ()=>c("south-east"),[c]),S=_react.useMemo.call(void 0, ()=>c("south-west"),[c]),T=_react.useMemo.call(void 0, ()=>c("north-east"),[c]),p=_react.useMemo.call(void 0, ()=>c("north-west"),[c]),v=f==="sketch",R={zIndex:999,boxShadow:"0px 2px 3px 0 rgba(0,0,0,0.2)",outline:"2px solid rgba(155,155,155,.7)",borderRadius:i||r?"50%":2,position:"absolute",background:"#fff",pointerEvents:d?"none":v?"initial":"none"};return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:_jsxruntime.jsxs.call(void 0, "world-object",{...a,children:[n,v&&t?_jsxruntime.jsx.call(void 0, _atlas.HTMLPortal,{ref:m,target:{x:0,y:0,height:a.height,width:a.width},relative:!0,interactive:!1,children:v&&t?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "div",{onMouseDown:u,onTouchStart:u,style:{display:"block",width:"100%",height:"100%",cursor:"move",border:"1px solid rgba(255,255,255, .7)",outline:"2px solid rgba(155,155,155, .7)",boxSizing:"border-box",pointerEvents:d?"none":v?"initial":"none"}}),i?null:_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "div",{title:"east",onTouchStart:g,onMouseDown:g,style:{...R,cursor:"e-resize",height:l*2,width:l,right:0,top:"50%",opacity:r?0:1,transform:`translate(${l/2}px, -${l}px)`}}),_jsxruntime.jsx.call(void 0, "div",{title:"west",onMouseDown:x,style:{...R,cursor:"w-resize",position:"absolute",height:l*2,width:l,left:0,top:"50%",opacity:r?0:1,transform:`translate(-${l/2}px, -${l}px)`}}),_jsxruntime.jsx.call(void 0, "div",{title:"north",onMouseDown:C,style:{...R,cursor:"n-resize",position:"absolute",height:l,width:l*2,left:"50%",top:0,opacity:r?0:1,transform:`translate(-${l}px, -${l/2}px)`}}),_jsxruntime.jsx.call(void 0, "div",{title:"south",onMouseDown:h,style:{...R,cursor:"s-resize",position:"absolute",height:l,width:l*2,left:"50%",bottom:0,opacity:r?0:1,transform:`translate(-${l}px, ${l/2}px)`}})]}),_jsxruntime.jsx.call(void 0, "div",{title:"north-east",onMouseDown:T,style:{...R,cursor:"ne-resize",position:"absolute",height:l,width:l,right:0,top:0,transform:`translate(${l/2}px, -${l/2}px)`}}),_jsxruntime.jsx.call(void 0, "div",{title:"south-east",onMouseDown:P,style:{...R,cursor:"se-resize",position:"absolute",height:l,width:l,bottom:0,right:0,transform:`translate(${l/2}px, ${l/2}px)`}}),_jsxruntime.jsx.call(void 0, "div",{title:"south-west",onMouseDown:S,style:{...R,cursor:"sw-resize",position:"absolute",height:l,width:l,bottom:0,left:0,transform:`translate(-${l/2}px, ${l/2}px)`}}),_jsxruntime.jsx.call(void 0, "div",{title:"north-west",onMouseDown:p,style:{...R,cursor:"nw-resize",position:"absolute",height:l,width:l,top:0,left:0,transform:`translate(-${l/2}px, -${l/2}px)`}})]}):null}):null]})})}function oo({id:e,interactive:t,region:o,onClick:n,onHover:i,onSave:r,aspectRatio:s,maintainAspectRatio:a,disableCardinalControls:l,isEditing:m,style:f={backgroundColor:"rgba(0,0,0,.5)"}}){let c=_react.useCallback.call(void 0, d=>{m&&_optionalChain([r, 'optionalCall', _25 => _25({id:o.id,x:o.x,y:o.y,height:o.height,width:o.width,...d})])},[r,m,o.id,o.x,o.y,o.height,o.width]);return _jsxruntime.jsx.call(void 0, eo,{id:e,x:o.x,y:o.y,width:o.width,aspectRatio:s,height:o.height,resizable:m,onSave:c,maintainAspectRatio:a,disableCardinalControls:l,children:_jsxruntime.jsx.call(void 0, "box",{interactive:t,onClick:d=>{d.preventDefault(),d.stopPropagation(),_optionalChain([n, 'optionalCall', _26 => _26(o)])},relativeStyle:!0,onMouseEnter:()=>{_optionalChain([i, 'optionalCall', _27 => _27(o)])},target:{x:0,y:0,width:o.width,height:o.height},style:f})})}var me=({id:e,style:t,className:o,interactive:n,targetId:i,ignoreTargetId:r})=>{let s=_chunkL576POBVcjs.I.call(void 0, {id:e}),a=_chunkL576POBVcjs.L.call(void 0, s,"atlas"),l=_chunkL576POBVcjs.L.call(void 0, s,"html"),m=_chunkL576POBVcjs.K.call(void 0, s,["atlas"]),f=_chunkL576POBVcjs.J.call(void 0, ),c=_chunkLKWFF45Dcjs.t.call(void 0, ),d=_react.useMemo.call(void 0, ()=>_atlas.mergeStyles.call(void 0, _atlas.mergeStyles.call(void 0, _atlas.mergeStyles.call(void 0, _atlas.mergeStyles.call(void 0, t,a),_optionalChain([s, 'optionalAccess', _28 => _28.motivation, 'optionalAccess', _29 => _29.includes, 'call', _30 => _30("highlighting")])?c.highlighted:c.default),_optionalChain([s, 'optionalAccess', _31 => _31.target, 'optionalAccess', _32 => _32.selector, 'optionalAccess', _33 => _33.boxStyle])||{})),[t,a,c,_optionalChain([s, 'optionalAccess', _34 => _34.motivation]),_optionalChain([s, 'optionalAccess', _35 => _35.target])]),u=i||_optionalChain([f, 'optionalAccess', _36 => _36.id]);return f&&s&&s.target&&s.target.selector&&(s.target.selector.type==="BoxSelector"||s.target.selector.type==="SvgSelector")&&s.target.source&&(r?!0:s.target.source.id===u||s.target.source===u)?_jsxruntime.jsx.call(void 0, oo,{id:s.id,isEditing:!0,region:s.target.selector.spatial,style:d,className:_optionalChain([l, 'optionalAccess', _37 => _37.className])||o,interactive:!!(_optionalChain([l, 'optionalAccess', _38 => _38.href])||n),href:_optionalChain([l, 'optionalAccess', _39 => _39.href])||null,title:_optionalChain([l, 'optionalAccess', _40 => _40.title])||null,hrefTarget:_optionalChain([l, 'optionalAccess', _41 => _41.target])||null,onClick:()=>{},...m}):null};var X=({className:e,page:t,targetId:o,ignoreTargetId:n})=>{let i=_chunkLKWFF45Dcjs.v.call(void 0, {id:t.id})||t,r=_chunkL576POBVcjs.L.call(void 0, i,"atlas"),s=_chunkL576POBVcjs.L.call(void 0, i,"html");return _chunkL576POBVcjs.j.call(void 0, a=>i.id?a.iiif.entities.AnnotationPage[i.id]:null,[]),_jsxruntime.jsx.call(void 0, _react.Fragment,{children:_optionalChain([i, 'access', _42 => _42.items, 'optionalAccess', _43 => _43.map, 'call', _44 => _44(a=>_jsxruntime.jsx.call(void 0, me,{id:a.id,style:r,className:_optionalChain([s, 'optionalAccess', _45 => _45.className])||e,targetId:o,ignoreTargetId:n},a.id))])})};var rt=_react.createContext.call(void 0, ()=>{}),it=_react.createContext.call(void 0, ()=>{});function V(e,t,o,n,i=[]){let r=_react.useContext.call(void 0, e==="portal"?it:rt);_react.useEffect.call(void 0, ()=>(e!=="none"&&r(t,o,n),()=>{r(t,null)}),[t,e,r,...i])}function at({media:e,startTime:t,children:o}){let[{element:n,currentTime:i,progress:r},s,a]=_chunkL576POBVcjs.O.call(void 0, {duration:e.duration}),l=t?`${e.url}#t=${t}`:e.url;return _jsxruntime.jsxs.call(void 0, _chunkLKWFF45Dcjs.z,{state:s,actions:a,currentTime:i,progress:r,element:n,children:[_jsxruntime.jsx.call(void 0, "audio",{ref:n,src:l}),o]},e.url)}function Be({media:e,mediaControlsDeps:t,audioCopmonent:o=at,children:n}){let i=_chunkLKWFF45Dcjs.A.call(void 0, );return V("portal","audio",o,{media:e,startTime:i?i.startTime:null,children:n},[e,i,...t||[]]),null}function lt({model:e}){return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "style",{children:`
2
+ .model-container {
3
+ position: absolute;
4
+ top: 0;
5
+ bottom: 0;
6
+ left: 0;
7
+ right: 0;
8
+ background: #000;
9
+ z-index: 13;
10
+ display: flex;
11
+ justify-content: center;
12
+ pointer-events: visible;
13
+ }
14
+ `}),_jsxruntime.jsx.call(void 0, "div",{className:"model-container",children:_jsxruntime.jsx.call(void 0, "model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:e.id})})]})}function Ee({model:e,name:t}){return V("overlay",`model-${t}`,lt,{model:e},[e]),null}function io(){let{strategy:e}=_chunkL576POBVcjs.Q.call(void 0, );return e.type!=="3d-model"?null:_jsxruntime.jsx.call(void 0, Ee,{model:e.model})}function ao(){let{strategy:e}=_chunkL576POBVcjs.Q.call(void 0, ),{renderViewerControls:t,viewControlsDeps:o}=_chunkL576POBVcjs.S.call(void 0, ),n=_chunkL576POBVcjs.M.call(void 0, ),i=_chunkZEGT4BARcjs.d.call(void 0, n),r=_chunkZEGT4BARcjs.c.call(void 0, n),s=_optionalChain([i, 'optionalAccess', _46 => _46.type])==="Canvas",a=_optionalChain([r, 'optionalAccess', _47 => _47.type])==="Canvas";return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[e.type==="media"&&e.media.type==="Sound"&&s?_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.d,{canvas:i.id,children:_jsxruntime.jsx.call(void 0, ie,{renderViewerControls:t,viewControlsDeps:o})}):null,e.type==="media"&&e.media.type==="Sound"&&a&&!s?_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.d,{canvas:r.id,children:_jsxruntime.jsx.call(void 0, ie,{renderViewerControls:t,viewControlsDeps:o})}):null]})}function lo({children:e}){let{strategy:t}=_chunkL576POBVcjs.Q.call(void 0, ),[o]=_chunkL576POBVcjs.W.call(void 0, );return t.type!=="images"?null:_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[o?_jsxruntime.jsx.call(void 0, X,{page:o}):null,t.annotations&&t.annotations.pages?t.annotations.pages.map(n=>_jsxruntime.jsx.call(void 0, X,{page:n},n.id)):null,e]})}function ge({x:e=0,y:t=0}){let o=_chunkL576POBVcjs.J.call(void 0, ),n=_chunkL576POBVcjs.aa.call(void 0, {maxWidth:256,maxHeight:256});return!o||!n||n.type!=="fixed"?null:_jsxruntime.jsx.call(void 0, "world-object",{height:o.height,width:o.width,x:e,y:t,children:_jsxruntime.jsx.call(void 0, "world-image",{uri:n.id,target:{x:0,y:0,width:o.width,height:o.height},display:n.width&&n.height?{width:n.width,height:n.height}:void 0,crop:void 0})})}function po({as:e}){let{strategy:t}=_chunkL576POBVcjs.Q.call(void 0, ),{renderMediaControls:o,mediaControlsDeps:n}=_chunkL576POBVcjs.S.call(void 0, );return t.type!=="media"||t.media.type!=="Sound"?null:_jsxruntime.jsxs.call(void 0, Be,{media:t.media,mediaControlsDeps:n,audioCopmonent:e,children:[_jsxruntime.jsx.call(void 0, ge,{}),o?o(t):null]},t.media.url)}var mo=_react2.default.createContext("en"),go=_react2.default.createContext({}),fo=_react2.default.createContext(null);function Ba(e){return _jsxruntime.jsx.call(void 0, go.Provider,{value:e.translations,children:e.children})}function Ea(e){return _jsxruntime.jsx.call(void 0, mo.Provider,{value:e.language,children:e.children})}function Oa(e){return _jsxruntime.jsx.call(void 0, fo.Provider,{value:e.convert,children:e.children})}function yo(){return _react2.default.useContext(fo)}function ut(){return _react2.default.useContext(mo)}function ho(){return _react2.default.useContext(go)}function co(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function kn({as:e,language:t,children:o,viewingDirection:n,...i}){let r=ut(),s=t!=="none"&&t!=="@none";return _react.useMemo.call(void 0, ()=>co(r)===co(t),[r,t])||!s?e?_jsxruntime.jsx.call(void 0, e,{...i,children:o}):_jsxruntime.jsx.call(void 0, "span",{...i,children:o}):e?_jsxruntime.jsx.call(void 0, e,{...i,lang:t,dir:n,children:o}):_jsxruntime.jsx.call(void 0, "span",{...i,lang:t,dir:n,children:o})}function vo(e,t,o){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let n=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(n&&t.indexOf(n)!==-1)return n;for(let i of o)if(t.indexOf(i)!==-1)return i;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var Mn=(e,t=[])=>{let o=ut();return _react.useMemo.call(void 0, ()=>{let n=e();return vo(o,n,[])},[o,...t])};function ae(e,t,o,n){return t?o?o(e[t]||t,n||"none"):e[t]||t:""}function Vn(e,t,o=`
15
+ `,n={}){let i=yo(),r=Mn(()=>typeof e=="string"?[]:Object.keys(e||{}),[e]);return[_react.useMemo.call(void 0, ()=>{if(!e)return ae(n,t,i)||"";if(typeof e=="string")return ae(n,e,i);let s=r?e[r]:void 0;return s?typeof s=="string"?s:s.map(a=>ae(n,a,i,r)).join(o):""},[r,t,e]),r]}function Na(){let e=ut(),t=ho(),o=yo();return function(i,r="",s=`
16
+ `,a=t){let l=Object.keys(i||{}),m=vo(e,l,[]);if(!i)return ae(a,r,o)||"";if(typeof i=="string")return ae(a,i,o);let f=m?i[m]:void 0;return f?typeof f=="string"?ae(a,f,o,m):f.map(c=>ae(a,c,o,m)).join(typeof s<"u"?s:`
17
+ `):""}}function Ce({as:e,defaultText:t,enableDangerouslySetInnerHTML:o,children:n,separator:i,...r}){let s=ho(),[a,l]=Vn(n,t,i,s);return l?_jsxruntime.jsx.call(void 0, kn,{...r,as:e,language:l,title:o?void 0:a,dangerouslySetInnerHTML:o?{__html:a}:void 0,children:o?void 0:a}):e?_jsxruntime.jsx.call(void 0, e,{...r,children:a}):_jsxruntime.jsx.call(void 0, "span",{...r,title:o?void 0:a,dangerouslySetInnerHTML:o?{__html:a}:void 0,children:o?void 0:a})}function Ne({strategy:e,onClickPaintingAnnotation:t}){return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e.items.map((o,n)=>_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:_jsxruntime.jsx.call(void 0, _atlas.HTMLPortal,{onClick:t?i=>{i.stopPropagation(),t(o.annotationId,o,i)}:void 0,target:_optionalChain([o, 'access', _48 => _48.target, 'optionalAccess', _49 => _49.spatial])||void 0,children:_jsxruntime.jsx.call(void 0, "div",{"data-textual-content":!0,children:_jsxruntime.jsx.call(void 0, Ce,{enableDangerouslySetInnerHTML:!0,children:o.text})})},n)}))})}function he({resource:e,heading:t,note:o,extra:n}){return n?_jsxruntime.jsx.call(void 0, _atlas.HTMLPortal,{target:{x:0,y:0,width:_optionalChain([n, 'access', _50 => _50.target, 'optionalAccess', _51 => _51.spatial, 'access', _52 => _52.width]),height:_optionalChain([n, 'access', _53 => _53.target, 'optionalAccess', _54 => _54.spatial, 'access', _55 => _55.height])},backgroundColor:"#333",relative:!0,children:_jsxruntime.jsx.call(void 0, "div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:_jsxruntime.jsxs.call(void 0, "div",{children:[_jsxruntime.jsx.call(void 0, Ce,{children:t||"Not authorised"}),o&&_jsxruntime.jsx.call(void 0, "p",{children:_jsxruntime.jsx.call(void 0, Ce,{children:o})}),_jsxruntime.jsx.call(void 0, "p",{children:e.id||e["@id"]||"unknown"})]})})}):null}function qn({item:e,visible:t,controller:o}){let[n,i]=_react.useState.call(void 0, null);return _react.useEffect.call(void 0, ()=>n&&o?o.attachMediaElement(e.annotationId,n):void 0,[o,e.annotationId,e.url,n]),_jsxruntime.jsx.call(void 0, _atlas.HTMLPortal,{target:"spatial"in e.target?e.target.spatial:void 0,children:e.type==="Video"?_jsxruntime.jsx.call(void 0, "video",{ref:i,src:e.url,style:{height:"100%",width:"100%",opacity:t?1:0,pointerEvents:t?void 0:"none"}}):_jsxruntime.jsx.call(void 0, "audio",{ref:i,src:e.url})})}var Dn={Auth:he,Media:qn,Text:({item:e})=>_jsxruntime.jsx.call(void 0, Ne,{strategy:{type:"textual-content",items:[e]}}),Highlight:({id:e})=>_jsxruntime.jsx.call(void 0, me,{id:e,ignoreTargetId:!0,style:{outline:"3px solid red"},className:"image-service-annotation"})};function zn({children:e}){let t=_chunkL576POBVcjs.ca.call(void 0, ),o=_react.useId.call(void 0, );return V("portal",`timeline-controls-${o}`,_chunkL576POBVcjs.ba,{store:t,children:e},[t,e]),null}function Co({strategy:e,children:t,imageOptions:o}){return _jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.a,{presentation:Dn,children:_jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.h,{strategy:e,imageOptions:o,children:_jsxruntime.jsx.call(void 0, zn,{children:t})})})}function So({imageOptions:e}={}){let{strategy:t}=_chunkL576POBVcjs.Q.call(void 0, ),{renderComplexTimelineControls:o}=_chunkL576POBVcjs.S.call(void 0, );return t.type!=="complex-timeline"?null:_jsxruntime.jsx.call(void 0, Co,{strategy:t,imageOptions:e,children:o?o(t):null})}var Wn={Auth:he,AnnotationPage:({page:e})=>_jsxruntime.jsx.call(void 0, X,{page:e,className:"image-service-annotation",ignoreTargetId:!0})};function bo(e){let{strategy:t}=_chunkL576POBVcjs.Q.call(void 0, ),{renderViewerControls:o,viewControlsDeps:n}=_chunkL576POBVcjs.S.call(void 0, ),i=_chunkL576POBVcjs.J.call(void 0, ),r=_chunkL576POBVcjs.ra.call(void 0, );return V(r&&t.type==="images"&&o?"overlay":"none",`canvas-portal-controls-${_optionalChain([i, 'optionalAccess', _56 => _56.id])}`,_chunkL576POBVcjs.qa.Provider,o?{value:r||null,children:o(t)}:{},[i,r,t,...n||[]]),_jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.a,{presentation:Wn,children:_jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.k,{...e})})}function Ro({onClickPaintingAnnotation:e,children:t}){let{strategy:o}=_chunkL576POBVcjs.Q.call(void 0, ),{renderViewerControls:n,viewControlsDeps:i}=_chunkL576POBVcjs.S.call(void 0, ),r=_chunkL576POBVcjs.ra.call(void 0, ),s=_chunkL576POBVcjs.J.call(void 0, );return V(r&&o.type==="textual-content"&&n?"overlay":"none",`canvas-portal-controls-${_optionalChain([s, 'optionalAccess', _57 => _57.id])}`,_chunkL576POBVcjs.qa.Provider,n?{value:r||null,children:n(o)}:{},[s,r,o,...i||[]]),o.type!=="textual-content"?null:_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, Ne,{strategy:o,onClickPaintingAnnotation:e}),t]})}function ct({element:e,media:t,startTime:o,playPause:n,poster:i}){let r="div",s=o?`${t.url}#t=${o}`:t.url;return _jsxruntime.jsxs.call(void 0, r,{className:"video-container",part:"video-container",onClick:n,children:[_jsxruntime.jsx.call(void 0, "style",{children:`
18
+ .video-container {
19
+ position: absolute;
20
+ top: 0;
21
+ bottom: 0;
22
+ left: 0;
23
+ right: 0;
24
+ background: #000;
25
+ z-index: 13;
26
+ display: flex;
27
+ justify-content: center;
28
+ pointer-events: visible;
29
+ }
30
+ `}),_jsxruntime.jsx.call(void 0, "video",{poster:i,ref:e,src:s,style:{width:"100%",objectFit:"contain"}})]})}function Le({media:e,mediaControlsDeps:t,children:o,posterCanvasId:n,videoComponent:i=ct,captions:r}){let s=_chunkL576POBVcjs.M.call(void 0, ),a=_chunkLKWFF45Dcjs.A.call(void 0, ),l=_chunkZEGT4BARcjs.c.call(void 0, s),m=n||(_optionalChain([l, 'optionalAccess', _58 => _58.type])==="Canvas"?l.id:void 0),f=_chunkL576POBVcjs.aa.call(void 0, {},!1,{canvasId:m}),[{element:c,currentTime:d,progress:u},g,x]=_chunkL576POBVcjs.O.call(void 0, {duration:e.duration});return V("overlay","video-element",i,{element:c,media:e,playPause:x.playPause,poster:_optionalChain([f, 'optionalAccess', _59 => _59.id]),canvas:s,startTime:a?a.startTime:null,captions:r},[f,s,e,a,x.playPause,r]),V("portal","custom-controls",_chunkLKWFF45Dcjs.z,{state:g,actions:x,currentTime:d,progress:u,element:c,children:o},[d,g,e,...t||[]]),null}function wo({as:e}){let{strategy:t}=_chunkL576POBVcjs.Q.call(void 0, ),{renderMediaControls:o,mediaControlsDeps:n}=_chunkL576POBVcjs.S.call(void 0, );return t.type!=="media"||t.media.type!=="Video"?null:_jsxruntime.jsxs.call(void 0, Le,{captions:t.captions,media:t.media,mediaControlsDeps:n,videoComponent:e,children:[_jsxruntime.jsx.call(void 0, ge,{}),o?o(t):null]},t.media.url)}function Kn({element:e,media:t,playPause:o}){let n=_react.useRef.call(void 0, null);return t.youTubeId?_jsxruntime.jsxs.call(void 0, "div",{className:"video-container",part:"video-container",onClick:o,children:[_jsxruntime.jsx.call(void 0, "style",{children:`
31
+ .video-container {
32
+ position: absolute;
33
+ top: 0;
34
+ bottom: 0;
35
+ left: 0;
36
+ right: 0;
37
+ background: #000;
38
+ z-index: 13;
39
+ display: flex;
40
+ justify-content: center;
41
+ pointer-events: visible;
42
+ }
43
+ .video-yt {
44
+ border: none;
45
+ width: 100%;
46
+ object-fit: contain;
47
+ }
48
+ `}),_jsxruntime.jsx.call(void 0, "iframe",{title:`YouTube video: ${t.youTubeId}`,className:"video-yt",ref:n,src:`https://www.youtube.com/embed/${t.youTubeId}?enablejsapi=1&origin=${Jn()}&modestbranding=1&rel=0`,referrerPolicy:"no-referrer compute-pressure",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function Jn(){return typeof window<"u"?window.location.host:""}function Io({media:e,mediaControlsDeps:t,children:o}){let[{element:n,currentTime:i,progress:r},s,a]=_chunkL576POBVcjs.O.call(void 0, {duration:e.duration});return V("overlay","video-element",Kn,{element:n,media:e,playPause:a.playPause}),null}function Ao(){let{strategy:e}=_chunkL576POBVcjs.Q.call(void 0, ),{renderMediaControls:t,mediaControlsDeps:o}=_chunkL576POBVcjs.S.call(void 0, );return e.type!=="media"||e.media.type!=="VideoYouTube"?null:_jsxruntime.jsxs.call(void 0, Io,{media:e.media,mediaControlsDeps:o,children:[_jsxruntime.jsx.call(void 0, ge,{}),t?t(e):null]})}function ko(e){let t=N(),o=_zustand.useStore.call(void 0, t,r=>r.polygons),n=_zustand.useStore.call(void 0, t,r=>r.polygonState),i=_zustand.useStore.call(void 0, t,r=>r.polygon);return _chunkLKWFF45Dcjs.r.call(void 0, "atlas.polygon-render",({state:r,slowState:s,dt:a})=>{e(r,s,a)}),{currentShape:i,state:n,helper:o}}var Z=_polygoneditor.createSvgHelpers.call(void 0, ),ir= exports.O ={shapeFill:"#ffffff33",shapeStroke:"#000",lineStroke:"#000",ghostLineStroke:"#0F0",activeLineStroke:"#4D7EEA",boundingBoxDottedStroke:"#0007",boundingBoxStroke:"#fffA",controlFill:"#fff"};function Vo(e){let{image:t}=e,o={...ir,...e.theme||{}},n=typeof window>"u"?1:window.devicePixelRatio||1,i=`svg-editor-${_react.useId.call(void 0, ).replace(/:/g,"")}`,r={dot:`${i}-dot`,newdot:`${i}-newdot`,selected:`${i}-selected`,resizer:`${i}-resizer`},s=_react.useRef.call(void 0, ),a=_react.useRef.call(void 0, ),l=_react.useRef.call(void 0, ),m=_react.useRef.call(void 0, ),f=_react.useRef.call(void 0, ),c=_react.useRef.call(void 0, ),d=_react.useRef.call(void 0, ),u=_react.useRef.call(void 0, ),g=_react.useRef.call(void 0, ),x=_react.useRef.call(void 0, ),[h,C]=_react.useState.call(void 0, null),[P,S]=_react.useState.call(void 0, !1),{helper:T,state:p,currentShape:v}=ko((y,b)=>{if(y.closestLineIndex,Z.updateTransitionBoundingBox(l.current,y,b),Z.updateBoundingBoxPolygon(s.current,y,b),Z.updateBoundingBoxPolygon(a.current,y,b),Z.updateTransitionShape(d.current,y,b),Z.updateClosestLinePointTransform(f.current,y,b),Z.updateSelectBox(m.current,y,b),Z.updatePointLine(u.current,y,b),Z.updateDrawPreview(c.current,y,b,3),Z.updateLineBox(g.current,y),C(y.transitionDirection),S(y.transitionRotate),y.closestLineIndex!==-1&&x.current){let k=y.polygon,Q=k.points[y.closestLineIndex],H=k.points[(y.closestLineIndex+1)%k.points.length];Q&&H&&x.current.setAttribute("points",`${Q[0]},${Q[1]} ${H[0]},${H[1]}`)}});_react.useEffect.call(void 0, ()=>{let y=()=>{T.modifiers.reset()};return document.addEventListener("mouseleave",y),()=>{document.removeEventListener("mouseleave",y)}},[]);let R=_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, "marker",{id:r.dot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:5*n,markerHeight:5*n,children:[_jsxruntime.jsx.call(void 0, "circle",{cx:"5",cy:"5",r:"5",fill:o.lineStroke,className:"marker"}),_jsxruntime.jsx.call(void 0, "circle",{cx:"5",cy:"5",r:"3",fill:o.controlFill})]}),_jsxruntime.jsx.call(void 0, "marker",{id:r.newdot,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:5*n,markerHeight:5*n,children:_jsxruntime.jsx.call(void 0, "circle",{cx:"5",cy:"5",r:"5",fill:o.activeLineStroke,className:"marker"})}),_jsxruntime.jsxs.call(void 0, "marker",{id:r.selected,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:5*n,markerHeight:5*n,children:[_jsxruntime.jsx.call(void 0, "circle",{cx:"5",cy:"5",r:"5",fill:o.lineStroke}),_jsxruntime.jsx.call(void 0, "circle",{cx:"5",cy:"5",r:"3",fill:o.activeLineStroke})]}),_jsxruntime.jsxs.call(void 0, "marker",{id:r.resizer,viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:6*n,markerHeight:6*n,children:[_jsxruntime.jsx.call(void 0, "rect",{width:"10",height:"10",fill:o.lineStroke}),_jsxruntime.jsx.call(void 0, "rect",{x:"1",y:"1",width:"8",height:"8",fill:o.controlFill})]})]}),K=v?v.open?"polyline":"polygon":null,E=!p.showBoundingBox&&p.closestPoint!==null&&p.actionIntentType==="select-point",J=p.actionIntentType==="add-open-point",j=p.transitionIntentType==="split-line",q=p.transitioning&&p.selectedStamp&&p.transitionIntentType==="stamp-shape",D=v&&K?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, K,{fill:(!p.transitioning||p.transitionIntentType==="select-multiple-points")&&!v.open?o.shapeFill:"none",strokeWidth:q||p.showBoundingBox&&p.boxMode||p.transitioning&&p.transitionIntentType==="split-line"||p.transitioning&&p.transitionIntentType==="move-point"?0:2,stroke:o.shapeStroke,points:v.points.map(y=>y.join(",")).join(" "),vectorEffect:"non-scaling-stroke",markerStart:p.showBoundingBox?void 0:`url(#${p.boxMode?r.resizer:r.dot})`,markerMid:p.showBoundingBox?void 0:`url(#${p.boxMode?r.resizer:r.dot})`,markerEnd:p.showBoundingBox?void 0:`url(#${p.boxMode?r.resizer:r.dot})`,style:{pointerEvents:"none"},opacity:p.transitioning&&p.transitionIntentType==="move-shape"?0:1}),p.currentTool==="lineBox"&&p.actionIntentType==="close-line-box"?_jsxruntime.jsx.call(void 0, "polygon",{fill:o.shapeFill,ref:g,stroke:o.lineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,p.transitionIntentType==="draw-shape"&&p.transitioning?_jsxruntime.jsx.call(void 0, "polyline",{ref:c,fill:"none",stroke:o.activeLineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,!(p.transitioning&&p.transitionIntentType==="move-point")&&!(p.transitioning&&p.transitionIntentType==="stamp-shape")&&!p.showBoundingBox&&p.selectedPoints&&p.selectedPoints.length?_jsxruntime.jsx.call(void 0, "polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${r.selected})`,markerMid:`url(#${r.selected})`,markerEnd:`url(#${r.selected})`,fill:"transparent",points:v.points.filter((y,b)=>_optionalChain([p, 'access', _60 => _60.selectedPoints, 'optionalAccess', _61 => _61.includes, 'call', _62 => _62(b)])).map(y=>y.join(",")).join(" "),opacity:p.transitioning&&p.transitionIntentType==="move-shape"?0:1}):null,E&&!p.transitioning&&p.closestPoint!==null&&v.points[p.closestPoint]?_jsxruntime.jsx.call(void 0, "polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:`url(#${r.selected})`,markerMid:`url(#${r.selected})`,markerEnd:`url(#${r.selected})`,fill:o.activeLineStroke,points:`${v.points[p.closestPoint][0]},${v.points[p.closestPoint][1]}`,opacity:p.transitioning&&p.transitionIntentType==="move-shape"?0:1}):null,!p.transitioning&&(p.actionIntentType==="add-open-point"||p.actionIntentType==="close-shape"||p.actionIntentType==="close-shape-line")?_jsxruntime.jsx.call(void 0, "polyline",{stroke:o.activeLineStroke,ref:u,strokeWidth:p.actionIntentType==="add-open-point"?1:2,vectorEffect:"non-scaling-stroke"}):null,p.hasClosestLine&&!p.showBoundingBox&&!p.transitioning&&p.currentTool!=="box"&&p.transitionIntentType==="split-line"?_jsxruntime.jsx.call(void 0, "g",{children:_jsxruntime.jsx.call(void 0, "polyline",{ref:x,vectorEffect:"non-scaling-stroke",fill:"transparent",stroke:o.activeLineStroke,strokeWidth:3})}):null,p.hasClosestLine&&!p.showBoundingBox&&!p.transitioning&&p.currentTool!=="box"&&p.transitionIntentType==="split-line"?_jsxruntime.jsx.call(void 0, "g",{ref:f,children:_jsxruntime.jsx.call(void 0, "polyline",{markerStart:`url(#${r.newdot})`,points:"0,0 1,1",vectorEffect:"non-scaling-stroke",stroke:"transparent",fill:"transparent",strokeWidth:2})}):null,p.transitioning?_jsxruntime.jsx.call(void 0, K,{ref:d,fill:v.open?"none":o.shapeFill,stroke:p.transitionIntentType==="stamp-shape"?o.activeLineStroke:o.shapeStroke,vectorEffect:"non-scaling-stroke",strokeWidth:(v.open,2)}):null,p.transitioning&&p.transitionIntentType==="select-multiple-points"?_jsxruntime.jsx.call(void 0, "rect",{ref:m,fill:"rgba(255, 255, 255, .3)",strokeWidth:1,stroke:"rgba(0,0,0,.2)",vectorEffect:"non-scaling-stroke"}):null,p.showBoundingBox&&!q?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "polygon",{ref:s,strokeWidth:2,stroke:o.boundingBoxStroke,fill:"none",markerStart:`url(#${r.resizer})`,markerMid:`url(#${r.resizer})`,markerEnd:`url(#${r.resizer})`,vectorEffect:"non-scaling-stroke"}),_jsxruntime.jsx.call(void 0, "polygon",{ref:a,strokeWidth:2,stroke:o.boundingBoxDottedStroke,fill:"none",strokeDasharray:"4 4",markerStart:`url(#${r.resizer})`,markerMid:`url(#${r.resizer})`,markerEnd:`url(#${r.resizer})`,vectorEffect:"non-scaling-stroke"})]}):null]}):null;return{currentTool:T.state.slowState.currentTool,setCurrentTool:T.tools.setTool,helper:T,currentShape:v,state:p,isAddingPoint:J,isSplitting:j,isStamping:q,isHoveringPoint:E,transitionDirection:h,transitionRotate:P,defs:R,editor:D}}function Bo(e){let t=_atlas.useAtlas.call(void 0, ),o=_react.useRef.call(void 0, null),{image:n}=e,{helper:i,defs:r,editor:s,state:a,transitionDirection:l,isSplitting:m,transitionRotate:f,isHoveringPoint:c,isAddingPoint:d}=Vo({image:e.image,theme:e.theme}),u=_react.useCallback.call(void 0, h=>{h.button!==2&&i.pointer([[~~h.atlas.x,~~h.atlas.y]])},[i]),g=_react.useCallback.call(void 0, h=>{h.button!==2&&(_optionalChain([o, 'access', _63 => _63.current, 'optionalAccess', _64 => _64.focus, 'call', _65 => _65()]),i.pointerDown())},[i]),x=_react.useCallback.call(void 0, h=>{h.button!==2&&i.pointerUp()},[i]);return _react.useEffect.call(void 0, ()=>{let h=C=>{_optionalChain([o, 'access', _66 => _66.current, 'optionalAccess', _67 => _67.contains, 'call', _68 => _68(document.activeElement)])&&i.key.up(C.key)};return document.addEventListener("keyup",h),()=>{document.removeEventListener("keyup",h)}},[i]),_react.useEffect.call(void 0, ()=>{let h=C=>{_optionalChain([o, 'access', _69 => _69.current, 'optionalAccess', _70 => _70.contains, 'call', _71 => _71(document.activeElement)])&&(C.target&&["INPUT","TEXTAREA"].includes(C.target.tagName)||_optionalChain([C, 'access', _72 => _72.target, 'optionalAccess', _73 => _73.isContentEditable])||document.activeElement&&(document.activeElement instanceof HTMLInputElement||document.activeElement instanceof HTMLTextAreaElement||document.activeElement.isContentEditable)||i.key.down(C.key))};return document.addEventListener("keydown",h),()=>{document.removeEventListener("keydown",h)}},[i]),_react.useEffect.call(void 0, ()=>{let h=[];return l&&h.push(`atlas-cursor-${l}`),a.actionIntentType==="cut-line"&&_optionalChain([a, 'access', _74 => _74.modifiers, 'optionalAccess', _75 => _75.Shift])&&h.push("atlas-cursor-cut"),(c||a.transitionIntentType==="move-shape"||a.transitionIntentType==="move-point")&&h.push("atlas-cursor-move"),d&&h.push("atlas-cursor-crosshair"),m&&h.push("atlas-cursor-copy"),f&&h.push("atlas-cursor-rotate"),a.transitionIntentType==="draw-shape"&&h.push("atlas-cursor-draw"),_optionalChain([t, 'optionalAccess', _76 => _76.canvas])&&t.canvas.classList.add(...h),()=>{_optionalChain([t, 'optionalAccess', _77 => _77.canvas])&&t.canvas.classList.remove(...h)}},[_optionalChain([t, 'optionalAccess', _78 => _78.canvas]),d,c,m,_optionalChain([a, 'access', _79 => _79.modifiers, 'optionalAccess', _80 => _80.Shift]),a.actionIntentType,a.transitionIntentType,l,f]),_jsxruntime.jsx.call(void 0, "world-object",{height:n.height,width:n.width,onMouseMove:u,onMouseDown:g,onMouseUp:x,onMouseLeave:i.blur,children:_jsxruntime.jsx.call(void 0, _atlas.HTMLPortal,{relative:!0,interactive:!1,children:_jsxruntime.jsx.call(void 0, "div",{className:"absolute top-0 right-0 left-0 bottom-0",children:_jsxruntime.jsxs.call(void 0, "svg",{ref:o,width:"100%",height:"100%",viewBox:`0 0 ${n.width} ${n.height}`,tabIndex:-1,children:[_jsxruntime.jsx.call(void 0, "title",{children:"Annotation Editor"}),_jsxruntime.jsx.call(void 0, "defs",{children:r}),s]})})})})}var _react3 = require('@floating-ui/react');var _reactdom = require('react-dom');var Re=_react.createContext.call(void 0, "");function Eo({children:e,identifier:t}){let o=_react.useMemo.call(void 0, ()=>_nullishCoalesce(t, () => (Math.random().toString(36).substring(2,9))),[t]);return _jsxruntime.jsx.call(void 0, Re.Provider,{value:o,children:e})}function He(){return _react.useContext.call(void 0, Re)}var Pe=_react2.default.createContext({});function $e(){let e=_react.useContext.call(void 0, Pe),t=Object.keys(e),o={};for(let n of t)e[n].Provider&&(o[n]={value:_react.useContext.call(void 0, e[n]),Provider:e[n].Provider});return o}function yr(e){let t=Object.keys(e),o=e.children;for(let n of t){if(n==="children")continue;let{value:i,Provider:r}=e[n];o=_jsxruntime.jsx.call(void 0, r,{value:i,children:o})}return o}function Vl(e){let t=_react.useContext.call(void 0, Pe),o=_react.useMemo.call(void 0, ()=>({...t,...e.providers}),[e.providers]);return _jsxruntime.jsx.call(void 0, Pe.Provider,{value:o,children:e.children})}function qe(){return{VaultContext:_react.useContext.call(void 0, _chunkL576POBVcjs.e),ResourceContext:_react.useContext.call(void 0, _chunkL576POBVcjs.a),SimpleViewerReactContext:_react.useContext.call(void 0, _chunkLKWFF45Dcjs.k),VisibleCanvasReactContext:_react.useContext.call(void 0, _chunkL576POBVcjs.k),AuthRContext:_react.useContext.call(void 0, _chunkL576POBVcjs.u),SearchReactContext:_react.useContext.call(void 0, _chunkLKWFF45Dcjs.j),ReactEventContext:_react.useContext.call(void 0, _chunkL576POBVcjs.ta),ReactEmitterContext:_react.useContext.call(void 0, _chunkLKWFF45Dcjs.o),ContextBridgeReactContext:_react.useContext.call(void 0, Pe),StrategyReactContext:_react.useContext.call(void 0, _chunkL576POBVcjs.P),AtlasStoreReactContext:_react.useContext.call(void 0, ce),ViewerIdentifierContext:_react.useContext.call(void 0, Re)}}function De(e){return _jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.f,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.k.Provider,{value:e.bridge.VisibleCanvasReactContext,children:_jsxruntime.jsx.call(void 0, _chunkLKWFF45Dcjs.k.Provider,{value:e.bridge.SimpleViewerReactContext,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.ta.Provider,{value:e.bridge.ReactEventContext,children:_jsxruntime.jsx.call(void 0, _chunkLKWFF45Dcjs.o.Provider,{value:e.bridge.ReactEmitterContext,children:_jsxruntime.jsx.call(void 0, ce.Provider,{value:e.bridge.AtlasStoreReactContext,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.u.Provider,{value:e.bridge.AuthRContext,children:_jsxruntime.jsx.call(void 0, _chunkLKWFF45Dcjs.j.Provider,{value:e.bridge.SearchReactContext,children:_jsxruntime.jsx.call(void 0, Re.Provider,{value:e.bridge.ViewerIdentifierContext,children:_jsxruntime.jsx.call(void 0, Pe.Provider,{value:e.bridge.ContextBridgeReactContext,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.P.Provider,{value:e.bridge.StrategyReactContext,children:e.custom?_jsxruntime.jsx.call(void 0, yr,{...e.custom,children:e.children}):e.children})})})})})})})})})})})}var Lo=10,Oo=1;function Ir(e){let[t,o]=e.split("-");return[t,o]}function No(e,t,o){return t>o?e:Math.min(Math.max(e,t),o)}function Ar(e){return e.top>0||e.right>0||e.bottom>0||e.left>0}function kr(e){return{name:"insideHighlightFallback",options:e,async fn(t){if(e.width<=Oo||e.height<=Oo)return{};let o=await _react3.detectOverflow.call(void 0, t,{altBoundary:!0});if(!Ar(o))return{};let{reference:n,floating:i}=t.rects,[r,s]=Ir(t.initialPlacement),a=Math.min(Lo,n.width/2,n.height/2),l=n.x+(n.width-i.width)/2,m=n.y+(n.height-i.height)/2,f=t.x,c=t.y;return r==="top"||r==="bottom"?(c=r==="top"?n.y+a:n.y+n.height-i.height-a,s==="start"?f=n.x+a:s==="end"?f=n.x+n.width-i.width-a:f=l,f=No(f,n.x+a,n.x+n.width-i.width-a)):(f=r==="left"?n.x+a:n.x+n.width-i.width-a,s==="start"?c=n.y+a:s==="end"?c=n.y+n.height-i.height-a:c=m,c=No(c,n.y+a,n.y+n.height-i.height-a)),{x:f,y:c}}}}function ze({annotation:e,target:t,children:o,dismissable:n,isOpen:i,onOpenChange:r,placement:s}){let a=He(),l=qe(),m=$e(),{refs:f,floatingStyles:c,context:d}=_react3.useFloating.call(void 0, {open:i,onOpenChange:r,nodeId:e.id,placement:s||"bottom",middleware:[_react3.offset.call(void 0, Lo),_react3.flip.call(void 0, {mainAxis:!0,fallbackStrategy:"bestFit",altBoundary:!0}),_react3.shift.call(void 0, {altBoundary:!0}),kr(t)],whileElementsMounted:_react3.autoUpdate}),u=_react3.useDismiss.call(void 0, d),{getReferenceProps:g,getFloatingProps:x}=_react3.useInteractions.call(void 0, [n?u:null].filter(h=>h!==null));return _jsxruntime.jsxs.call(void 0, _atlas.HTMLPortal,{relative:!0,target:t,interactive:!1,children:[_jsxruntime.jsx.call(void 0, "div",{ref:f.setReference,...g(),style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"}}),_reactdom.createPortal.call(void 0, _jsxruntime.jsx.call(void 0, De,{bridge:l,custom:m,children:_jsxruntime.jsx.call(void 0, "div",{ref:f.setFloating,style:c,...x(),children:o})}),document.getElementById(`atlas-floating-ui-${a}`))]})}var Er=_zustand.create.call(void 0, )(e=>({isMenuOpen:!1,menuPosition:{x:0,y:0},setMenuPosition(t){e({menuPosition:t})},toggle(t){e(o=>({isMenuOpen:!o.isMenuOpen,menuPosition:t}))},open(t){e({isMenuOpen:!0,menuPosition:t})},setIsMenuOpen(t){e(typeof t=="function"?o=>({isMenuOpen:t(o.isMenuOpen)}):{isMenuOpen:t})},close(){e({isMenuOpen:!1})}}));function Fe(e,t,o){let{isMenuOpen:n,setIsMenuOpen:i,close:r,open:s,menuPosition:a,setMenuPosition:l,toggle:m}=Er(),f=_react.useCallback.call(void 0, u=>{o&&(u.preventDefault(),u.stopPropagation(),m(u.atlas))},[m,o]);return[_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:o&&n&&_jsxruntime.jsx.call(void 0, ze,{dismissable:!0,placement:"bottom-start",isOpen:n,onOpenChange:i,annotation:{id:e},target:{x:a.x,y:a.y,height:1,width:1},children:n&&o({canvasId:t,position:a,close:()=>i(!1)})})}),{onContextMenu:f},{open:s,close:r,toggle:m,isMenuOpen:n,setIsMenuOpen:i,menuPosition:a,setMenuPosition:l}]}function $o(){let e=N();return _zustand.useStore.call(void 0, e,t=>t.tool.requestId&&t.requests[t.tool.requestId]||null)}function Do({theme:e,renderContextMenu:t,children:o}){let n=N(),i=_chunkL576POBVcjs.J.call(void 0, ),r=_zustand.useStore.call(void 0, n,p=>p.polygon),s=_zustand.useStore.call(void 0, n,p=>p.polygonState.currentTool),a=_zustand.useStore.call(void 0, n,p=>p.mode),l=_zustand.useStore.call(void 0, n,p=>p.changeMode),m=_zustand.useStore.call(void 0, n,p=>p.polygonState.transitioning),{enabled:f,requestId:c}=_zustand.useStore.call(void 0, n,p=>p.tool),d=_react.useMemo.call(void 0, ()=>pe(r),[r]),u=$o(),[g,x]=Fe("editing-annotation",_optionalChain([i, 'optionalAccess', _81 => _81.id]),t),h=_optionalChain([u, 'optionalAccess', _82 => _82.annotationPopup])||o||_jsxruntime.jsx.call(void 0, $r,{}),C=_optionalChain([u, 'optionalAccess', _83 => _83.svgTheme])||e,P=()=>{l("sketch")};if(!f||!i||!c||!r)return null;let S=d&&r.id&&!m&&(s==="pointer"||s==="hand"||!r.open)?_jsxruntime.jsx.call(void 0, ze,{annotation:r,target:d,children:h}):null,T="shape";return a==="explore"?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, T,{id:`shape-${r.id}`,points:r.points,open:r.open,onClick:P,relativeStyle:!0,target:{x:0,y:0,width:i.width,height:i.height},style:{":hover":{backgroundColor:"rgba(0,0,0,0.2)"},backgroundColor:"rgba(0,0,0,0)",borderWidth:"4px",borderColor:"rgba(255, 255, 255, .4)"},...x}),_jsxruntime.jsx.call(void 0, T,{id:`shape-${r.id}`,points:r.points,open:r.open,onClick:P,relativeStyle:!0,target:{x:0,y:0,width:i.width,height:i.height},style:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(0, 0, 0, .4)"}}),S]}):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[t?_jsxruntime.jsx.call(void 0, T,{id:`shape-${r.id}`,points:r.points,open:r.open,target:{x:0,y:0,width:i.width,height:i.height},...x}):null,_jsxruntime.jsx.call(void 0, Bo,{image:i,theme:C}),S,g]})}function $r(){let e=N(),t=_zustand.useStore.call(void 0, e,s=>s.changeMode),o=_zustand.useStore.call(void 0, e,s=>s.mode),n=_zustand.useStore.call(void 0, e,s=>s.completeRequest),i=_zustand.useStore.call(void 0, e,s=>s.tool),r=()=>{_react.startTransition.call(void 0, ()=>{n()})};return i.enabled?_jsxruntime.jsxs.call(void 0, "div",{className:"svg-tools-container animate-fadeIn",children:[o!=="sketch"&&_jsxruntime.jsx.call(void 0, "button",{className:"svg-tools-button",onClick:()=>{t("sketch")},children:"Edit"}),_jsxruntime.jsx.call(void 0, "button",{className:"svg-tools-button",onClick:r,children:"Save"})]}):null}function zo({renderContextMenu:e,children:t,...o}){let n=_chunkL576POBVcjs.M.call(void 0, ),i=N(),[r,s]=Fe(`context-menu/${_optionalChain([n, 'optionalAccess', _84 => _84.id])}`,_optionalChain([n, 'optionalAccess', _85 => _85.id]),e),a=_react.useCallback.call(void 0, (l,m)=>{m?i.getState().setCanvasRelativePosition(l,m):i.getState().clearCanvasRelativePosition(l)},[i]);return _react.useEffect.call(void 0, ()=>{n&&i.getState().reset()},[i,n]),_jsxruntime.jsxs.call(void 0, _chunkXULFR6E3cjs.o,{...o,events:s,onPositionChange:a,children:[r,t]})}function ie({x:e,y:t,onChoiceChange:o,registerActions:n,emitter:i,annotationPageManagerId:r,defaultChoices:s,isStatic:a,renderViewerControls:l,renderMediaControls:m,renderComplexTimelineControls:f,complexTimelineControlsDeps:c,viewControlsDeps:d,mediaControlsDeps:u,strategies:g,throwOnUnknown:x,rotation:h,backgroundStyle:C,alwaysShowBackground:P,keepCanvasScale:S=!1,enableSizes:T=!1,enableThumbnail:p,imageCandidates:v,format:R,useFloorCalc:K,renderOptions:E,style:J,enableYouTube:j=!0,onClickPaintingAnnotation:q,components:D={},children:y,annotationPopup:b,svgTheme:k,renderContextMenu:Q,renderAnnotationContextMenu:H}){let St={isStatic:a,enableSizes:T,enableThumbnail:p,imageCandidates:v,format:R,useFloorCalc:K,renderOptions:E,style:J};return _jsxruntime.jsxs.call(void 0, _chunkXULFR6E3cjs.l,{throwOnUnknown:x,onChoiceChange:o,registerActions:n,emitter:i,annotationPageManagerId:r,strategies:g,defaultChoices:s,mediaControlsDeps:u,renderMediaControls:m,renderViewerControls:l,renderComplexTimelineControls:f,complexTimelineControlsDeps:c,viewControlsDeps:d,children:[_jsxruntime.jsxs.call(void 0, zo,{keepCanvasScale:S,x:e,y:t,renderContextMenu:Q,children:[_jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.j,{alwaysShowBackground:P,backgroundStyle:C}),_jsxruntime.jsx.call(void 0, So,{imageOptions:St}),_jsxruntime.jsx.call(void 0, Ro,{}),_jsxruntime.jsx.call(void 0, bo,{...St,onClickPaintingAnnotation:q,rotation:h}),_jsxruntime.jsx.call(void 0, lo,{}),_jsxruntime.jsx.call(void 0, io,{}),_jsxruntime.jsx.call(void 0, po,{as:D.Audio}),_jsxruntime.jsx.call(void 0, wo,{as:D.Video}),j?_jsxruntime.jsx.call(void 0, Ao,{}):null,_jsxruntime.jsx.call(void 0, Do,{theme:k,renderContextMenu:H,children:b}),y]}),_jsxruntime.jsx.call(void 0, ao,{})]})}var Fr={Auth:he,AnnotationPage:({page:e})=>_jsxruntime.jsx.call(void 0, X,{page:e,className:"image-service-annotation",ignoreTargetId:!0})};function Wo(e){return _jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.a,{presentation:Fr,children:_jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.f,{...e})})}function Yo(e){let t=_chunkL576POBVcjs.M.call(void 0, ),o=_chunkZEGT4BARcjs.c.call(void 0, t);return _optionalChain([o, 'optionalAccess', _86 => _86.type])!=="Canvas"?null:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.d,{canvas:o.id,children:_jsxruntime.jsx.call(void 0, ie,{renderViewerControls:e.renderViewerControls})})}var _reacterrorboundary = require('react-error-boundary');function _o(e,t=2e3){let{currentSequenceIndex:o,sequence:n,items:i}=_chunkLKWFF45Dcjs.n.call(void 0, ),r=_chunkL576POBVcjs.J.call(void 0, ),s=_react.useMemo.call(void 0, ()=>{let l=n[o]||[];return l.length===0&&r?[{id:r.id,type:"Canvas"}]:l.map(m=>i[m])},[n,o,r,i]),a=N();_react.useEffect.call(void 0, ()=>{let m=setInterval(()=>{if(e&&t!==-1){let f={x:e.x,y:e.y,width:e.width,height:e.height},c=a.getState().canvasRelativePositions,d={};for(let u of s){let g=c[u.id];if(g){let x=g.x,h=g.y,C=g.width,P=g.height,S={x:Math.max(x,f.x),y:Math.max(h,f.y),width:Math.min(x+C,f.x+f.width)-Math.max(x,f.x),height:Math.min(h+P,f.y+f.height)-Math.max(h,f.y)};S.width<=0||S.height<=0||(d[u.id]={x:S.x-g.x,y:S.y-g.y,width:S.width,height:S.height}),a.setState({canvasViewports:d})}}}},t);return()=>{clearTimeout(m)}},[s,e,a,t])}function jo({width:e,style:t,height:o,error:n,resetErrorBoundary:i}){return _jsxruntime.jsxs.call(void 0, "div",{style:{width:e,height:o,minHeight:500,...t||{},background:"#f9f9f9"},children:[_jsxruntime.jsx.call(void 0, "h3",{children:"Error occurred"}),_jsxruntime.jsx.call(void 0, "p",{children:n.message}),_jsxruntime.jsx.call(void 0, "button",{type:"button",onClick:i,children:"Reset"})]})}function Ko(e){let t=N(),o=_react.useMemo.call(void 0, ()=>e.name||Math.random().toString(36).substring(2,9),[e.name]);return _jsxruntime.jsx.call(void 0, Eo,{identifier:o,children:_jsxruntime.jsx.call(void 0, xe,{name:e.name,existing:t,children:_jsxruntime.jsx.call(void 0, Ur,{...e})})})}function Ur({name:e,children:t,errorFallback:o,outerContainerProps:n={},worldScale:i,updateViewportTimeout:r,...s}){let a=N(),l=He(),m=_zustand.useStore.call(void 0, a,y=>y.mode),f=_zustand.useStore.call(void 0, a,y=>y.setAtlasRuntime),[c,d]=_react.useState.call(void 0, ),u=$e(),g=qe(),x=o||jo,[h,C]=_react.useState.call(void 0, {}),P=Object.entries(h),[S,T]=_react.useState.call(void 0, {}),p=Object.entries(S),[v,R]=_react.useState.call(void 0, {}),{worldScale:K,runtimeOptions:E}=_react.useMemo.call(void 0, ()=>{if(Object.values(v).length===0)return{worldScale:1,runtimeOptions:s.runtimeOptions||{maxOverZoom:1}};let b=Math.max(...Object.values(v));return{worldScale:b,runtimeOptions:{maxOverZoom:b||1,...s.runtimeOptions||{}}}},[v,s.runtimeOptions]);_o(_optionalChain([c, 'optionalAccess', _87 => _87.runtime]),r);let J=_react.useCallback.call(void 0, (y,b)=>{R(k=>{if(b===-1){let{[y]:Q,...H}=k;return H}return{...k,[y]:b}})},[]),j=_react.useCallback.call(void 0, (y,b,k)=>{C(({[y]:Q,...H})=>b?{...H,[y]:{element:b,props:k}}:H)},[]),q=_react.useCallback.call(void 0, (y,b,k)=>{T(({[y]:Q,...H})=>b?{...H,[y]:{element:b,props:k}}:H)},[]),D=_react.useCallback.call(void 0, y=>{d(y),f(y.runtime),s.onCreated&&s.onCreated(y)},[s.onCreated,f]);return _jsxruntime.jsxs.call(void 0, _reacterrorboundary.ErrorBoundary,{resetKeys:[],fallbackRender:y=>_jsxruntime.jsx.call(void 0, x,{...s,...y}),children:[_jsxruntime.jsx.call(void 0, _atlas.AtlasAuto,{...s,mode:m,containerProps:{style:{position:"relative"},...s.containerProps||{}},htmlChildren:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:P.map(([y,{element:b,props:k}])=>_jsxruntime.jsx.call(void 0, _react2.default.Fragment,{children:_jsxruntime.jsx.call(void 0, b,{...k||{}})},y))}),onCreated:D,runtimeOptions:E,children:_jsxruntime.jsx.call(void 0, xe,{name:e,existing:a,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.qa.Provider,{value:c,children:_jsxruntime.jsx.call(void 0, _chunkXULFR6E3cjs.m.Provider,{value:J,children:_jsxruntime.jsx.call(void 0, rt.Provider,{value:j,children:_jsxruntime.jsx.call(void 0, it.Provider,{value:q,children:_jsxruntime.jsx.call(void 0, De,{bridge:g,custom:u,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.X,{children:t})})})})})})})}),_jsxruntime.jsx.call(void 0, "div",{children:p.map(([y,{element:b,props:k}])=>_jsxruntime.jsx.call(void 0, _react2.default.Fragment,{children:_jsxruntime.jsx.call(void 0, b,{...k||{}})},y))}),_jsxruntime.jsx.call(void 0, "div",{id:`atlas-floating-ui-${l}`,className:"atlas-floating-ui",style:{position:"relative",zIndex:999999}})]})}var Qr=_react.forwardRef.call(void 0, function(t,o){let n=_chunkL576POBVcjs.n.call(void 0, ),i=_chunkL576POBVcjs.m.call(void 0, ),r=_chunkLKWFF45Dcjs.n.call(void 0, ),{ViewerControls:s,MediaControls:a,ComplexTimelineControls:l}=t.components||{};if(_react.useImperativeHandle.call(void 0, o,()=>r,[r]),!n)return _jsxruntime.jsx.call(void 0, "div",{});let m=0,f=n.viewingDirection==="top-to-bottom",c=n.viewingDirection==="bottom-to-top",d=n.viewingDirection==="left-to-right",u=n.viewingDirection==="right-to-left",x=n.behavior.includes("continuous")?0:t.spacing||0,h=c||u,C=_react.useMemo.call(void 0, ()=>h?[...i].reverse():i,[i,h]);return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[t.header,_jsxruntime.jsx.call(void 0, M.Viewer,{height:t.height,mode:t.mode,renderPreset:t.renderPreset,runtimeOptions:t.runtimeOptions,updateViewportTimeout:t.updateViewportTimeout,homePaddingPx:t.padding,children:C.map((P,S)=>{let{width:T,height:p}=_chunkZEGT4BARcjs.a.call(void 0, P),v=0,R=0;return!f&&!c?(v=m,m+=T+x):(R=m,m+=p+x),_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.d,{canvas:P.id,children:_jsxruntime.jsx.call(void 0, M.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content","complex-timeline"],renderViewerControls:S===0&&s?()=>_jsxruntime.jsx.call(void 0, s,{}):void 0,renderMediaControls:S===0&&a?()=>_jsxruntime.jsx.call(void 0, a,{}):void 0,annotationPopup:t.annotationPopup,renderContextMenu:t.renderContextMenu,keepCanvasScale:t.keepCanvasScale,renderComplexTimelineControls:S===0&&l?()=>_jsxruntime.jsx.call(void 0, l,{}):void 0,renderAnnotationContextMenu:t.renderAnnotationContextMenu,x:v,y:R,svgTheme:t.svgTheme,rotation:t.rotation,...t.canvasProps||{},children:t.annotations},P.id)},P.id)})},t.reuseAtlas?"":r.currentSequenceIndex),t.children]})}),M= exports.ca =_react.forwardRef.call(void 0, function({children:t,height:o,annotations:n,canvasProps:i,spacing:r,header:s,components:a,mode:l,reuseAtlas:m,renderPreset:f,runtimeOptions:c,annotationPopup:d,name:u,svgTheme:g,updateViewportTimeout:x,renderContextMenu:h,keepCanvasScale:C,renderAnnotationContextMenu:P,padding:S,rotation:T,...p},v){let R=_chunkLKWFF45Dcjs.a.call(void 0, );return _jsxruntime.jsx.call(void 0, xe,{name:u,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.f,{vault:R,children:_jsxruntime.jsx.call(void 0, _chunkLKWFF45Dcjs.m,{...p,children:_jsxruntime.jsx.call(void 0, Qr,{ref:v,height:o,components:a,spacing:r,canvasProps:i,annotations:n,header:s,mode:l,reuseAtlas:m,renderPreset:f,runtimeOptions:c,annotationPopup:d,svgTheme:g,updateViewportTimeout:x,renderContextMenu:h,keepCanvasScale:C,renderAnnotationContextMenu:P,padding:S,rotation:T,children:t})})})})});M.RenderImage=Wo;M.RenderCanvas=ie;M.RenderAnnotationPage=X;M.RenderAnnotation=me;M.Viewer=Ko;M.CanvasBackground=_chunkXULFR6E3cjs.i;M.Audio=Be;M.Video=Le;M.Model=Ee;M.AudioHTML=at;M.VideoHTML=ct;M.ModelHTML=lt;M.PlaceholderCanvas=Yo;M.getAtlasStoreByName=Qt;exports.a = Je; exports.b = pe; exports.c = Qo; exports.d = ri; exports.e = en; exports.f = Qe; exports.g = et; exports.h = Xt; exports.i = Zt; exports.j = ce; exports.k = N; exports.l = Qt; exports.m = xe; exports.n = eo; exports.o = oo; exports.p = me; exports.q = X; exports.r = V; exports.s = io; exports.t = ao; exports.u = lo; exports.v = ge; exports.w = po; exports.x = Ba; exports.y = Ea; exports.z = Oa; exports.A = yo; exports.B = ut; exports.C = ho; exports.D = kn; exports.E = Mn; exports.F = Vn; exports.G = Na; exports.H = Ce; exports.I = So; exports.J = bo; exports.K = Ro; exports.L = wo; exports.M = Ao; exports.N = ko; exports.O = ir; exports.P = Vo; exports.Q = $e; exports.R = yr; exports.S = Vl; exports.T = qe; exports.U = De; exports.V = Er; exports.W = Fe; exports.X = $o; exports.Y = Do; exports.Z = $r; exports._ = zo; exports.$ = Wo; exports.aa = jo; exports.ba = Ko; exports.ca = M;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkMIANDAMKcjs = require('./chunk-MIANDAMK.cjs');var _chunkR7HZTE2Tcjs = require('./chunk-R7HZTE2T.cjs');var _chunkLKWFF45Dcjs = require('./chunk-LKWFF45D.cjs');var _chunkL576POBVcjs = require('./chunk-L576POBV.cjs');var _react = require('react');var _zustand = require('zustand');function xe(e){let[t,o]=_react.useState.call(void 0, 0),r=_chunkR7HZTE2Tcjs.k.call(void 0, ),n=_zustand.useStore.call(void 0, r,p=>p.tool.enabled),a=_zustand.useStore.call(void 0, r,p=>p.tool.requestId),i=_zustand.useStore.call(void 0, r,p=>p.getRequestId),l=_zustand.useStore.call(void 0, r,p=>p.requestAnnotation),d=_zustand.useStore.call(void 0, r,p=>p.completeRequest),c=_zustand.useStore.call(void 0, r,p=>p.cancelRequest),s=_react.useRef.call(void 0, _optionalChain([e, 'optionalAccess', _2 => _2.onSuccess]));s.current=_optionalChain([e, 'optionalAccess', _3 => _3.onSuccess]);let[y,x]=_react.useState.call(void 0, !1),[v,b]=_react.useState.call(void 0, null),[u,I]=_react.useState.call(void 0, null),m=n&&a!==u,h=n&&a===u,f=_react.useCallback.call(void 0, async(p,P)=>{if(u){let A=s.current;x(!0);let E=await l(p,{...P,requestId:u});if(E)return _optionalChain([A, 'optionalCall', _4 => _4(E)]),o(D=>D+1),x(!1),b(E),E;let F={id:u,cancelled:!0,..._chunkR7HZTE2Tcjs.h.call(void 0, p)};return _optionalChain([A, 'optionalCall', _5 => _5(F)]),b(F),o(D=>D+1),x(!1),F}return null},[l,u]),g=_react.useCallback.call(void 0, ()=>{b(null),x(!1)},[]);return _react.useEffect.call(void 0, ()=>{let p=i();return I(p.requestId),()=>{p.clear()}},[t]),{id:t,busy:m,isPending:y,isActive:h,requestId:u,requestAnnotation:f,cancelRequest:()=>u?c(u):void 0,completeRequest:()=>u?d(u):void 0,reset:g,data:v}}var bt=[{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 be(e){let{id:t,data:o,requestAnnotation:r,cancelRequest:n,isPending:a}=xe({onSuccess:i=>{e.updateShape(i.polygon)}});return _react.useEffect.call(void 0, ()=>(r({type:"polygon",open:_optionalChain([e, 'access', _6 => _6.shape, 'optionalAccess', _7 => _7.open]),points:_optionalChain([e, 'access', _8 => _8.shape, 'optionalAccess', _9 => _9.points])}),()=>{n()}),[]),null}var _jsxruntime = require('react/jsx-runtime');function qt(e){let t=_chunkL576POBVcjs.J.call(void 0, ),o=e.annotationBucket,r=e.readOnly,n=e.id,{onClick:a,isHighlighted:i}=_chunkMIANDAMKcjs.c.call(void 0, e.id),l=_chunkLKWFF45Dcjs.t.call(void 0, ),d=i?l.highlighted:l[o||"hidden"]||l.hidden;if(!t)return null;if(r){let c="shape",s=e.polygon,y=s.open;return s?_jsxruntime.jsx.call(void 0, c,{id:`shape-${n}`,points:s.points,open:y,onClick:a,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:d}):null}return _jsxruntime.jsx.call(void 0, be,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}var _atlas = require('@atlas-viewer/atlas');var Lt=_react.forwardRef.call(void 0, function({canvasId:t},o){let r=_atlas.useCanvas.call(void 0, ),n=_chunkL576POBVcjs.xa.call(void 0, t||_optionalChain([r, 'optionalAccess', _10 => _10.id])),a=_chunkL576POBVcjs.h.call(void 0, );return _react.useImperativeHandle.call(void 0, o,()=>n,[t,r]),!r||n.enabledPageIds.length===0?null:_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:n.enabledPageIds.map(i=>_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.ca.RenderAnnotationPage,{page:a.get(i)},i))})});function W({metadata:e=[],config:t,labelWidth:o=16,showEmptyMessage:r=!0,allowHtml:n,emptyFallback:a,classes:i={},emptyMessage:l="No metadata available",emptyValueFallback:d="No value",emptyLabelFallback:c="",separator:s,tableFooter:y,tableHeader:x,customLabelRender:v,customValueRender:b}){let u=_react.useMemo.call(void 0, ()=>{let m=(t||[]).reduce((f,g)=>[...f,...g.keys],[]),h={};for(let f of e){let g=_optionalChain([f, 'optionalAccess', _11 => _11.label])?Object.values(f.label):[];for(let p of g)if(_optionalChain([p, 'optionalAccess', _12 => _12.length])&&(m.indexOf(`metadata.${p[0]}`)!==-1||m.length===0)&&f){let P=`metadata.${p[0]}`;h[P]=h[P]?h[P]:[],h[P].push(f);break}}return h},[t,e]);return Object.keys(u).length===0&&r?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:a})||_jsxruntime.jsx.call(void 0, "div",{className:i.empty,children:l}):_optionalChain([t, 'optionalAccess', _13 => _13.length])?_jsxruntime.jsxs.call(void 0, "table",{className:i.container,children:[x,_jsxruntime.jsx.call(void 0, "tbody",{children:t.map((m,h)=>{let f=[];for(let p of m.keys)for(let P of u[p]||[]){let A=_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.H,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:s,children:P.value},h+"__"+p);b?f.push(b(P,A)):f.push(A)}if(f.length===0)return null;let g=_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.H,{enableDangerouslySetInnerHTML:n,separator:s,defaultText:c,children:m.label});return _jsxruntime.jsxs.call(void 0, "tr",{className:i.row,children:[_jsxruntime.jsx.call(void 0, "td",{className:i.label,style:o?{minWidth:o}:{},children:v?v(m.label,g):g}),_jsxruntime.jsx.call(void 0, "td",{className:i.value,children:f})]},h)})}),y]}):_jsxruntime.jsxs.call(void 0, "table",{className:i.container,children:[x,_jsxruntime.jsx.call(void 0, "tbody",{children:_optionalChain([e, 'optionalAccess', _14 => _14.length])?e.map((m,h)=>{if(!m)return null;let f=_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.H,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:s,children:m.label}),g=_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.H,{enableDangerouslySetInnerHTML:n,defaultText:d,separator:s,children:m.value});return _jsxruntime.jsxs.call(void 0, "tr",{className:i.row,children:[_jsxruntime.jsx.call(void 0, "td",{className:i.label,style:o?{minWidth:o}:{},children:v?v(m.label,f):f}),_jsxruntime.jsx.call(void 0, "td",{className:i.value,children:b?b(m,g):g})]},h)}):null}),y]})}function Yt(e){let t=_chunkL576POBVcjs.n.call(void 0, ),o=_chunkL576POBVcjs.J.call(void 0, ),r=_chunkLKWFF45Dcjs.f.call(void 0, ),n=_react.useMemo.call(void 0, ()=>{let a=_optionalChain([t, 'optionalAccess', _15 => _15.metadata])||[],i=_optionalChain([o, 'optionalAccess', _16 => _16.metadata])||[],l=_optionalChain([r, 'optionalAccess', _17 => _17.metadata])||[];return[...a,...i,...l]},[t,o,r]);return _jsxruntime.jsx.call(void 0, W,{metadata:n,...e})}function Fe(e){let t=typeof e.src=="string"?e.src:e.src.id,o=_chunkL576POBVcjs._.call(void 0, ),[r,n]=_react.useState.call(void 0, !1),a;if(t){let l=o.loadServiceSync({id:t});l&&(a=l)}!a&&!r&&o.loadService({id:t}).then(()=>{n(!0)});let i=_chunkMIANDAMKcjs.f.call(void 0, a,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[r,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return _react.useEffect.call(void 0, ()=>()=>{n(!1)},[t]),i?_jsxruntime.jsx.call(void 0, "img",{src:i,alt:e.alt,className:e.className,style:e.style}):_jsxruntime.jsx.call(void 0, De,{...e,fetchImageService:!1})}function De(e){if(e.fetchImageService)return _jsxruntime.jsx.call(void 0, Fe,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,o=_chunkMIANDAMKcjs.f.call(void 0, 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?_jsxruntime.jsx.call(void 0, "img",{src:o,alt:e.alt,className:e.className,style:e.style}):null}var _reacterrorboundary = require('react-error-boundary');function fo({src:e,errorFallback:t,interactive:o,skipSizes:r,children:n,renderViewerControls:a,viewControlsDeps:i,fluid:l,x:d,y:c,...s}){let y=_chunkLKWFF45Dcjs.a.call(void 0, ),[x,v]=_react.useState.call(void 0, ),b=t||_chunkR7HZTE2Tcjs.aa,[u,I]=_chunkL576POBVcjs.za.call(void 0, ),m=_react.useMemo.call(void 0, ()=>{let f=_optionalChain([I, 'access', _18 => _18[e], 'optionalAccess', _19 => _19.status]),g=u({id:e},{});return _optionalChain([g, 'optionalAccess', _20 => _20.height])&&g.width&&f!=="loading"?{id:e,width:g.width,height:g.height,service:g,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:g.width,height:g.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:g.width,height:g.height}}}:null},[u,e,I]);if(!m||!m.height||!m.width)return null;let h=l?void 0:s.homePosition?s.homePosition.width/s.homePosition.height:m.width/m.height;return _jsxruntime.jsx.call(void 0, _reacterrorboundary.ErrorBoundary,{resetKeys:[],fallbackRender:f=>_jsxruntime.jsx.call(void 0, b,{...s,...f}),children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.f,{vault:y,children:_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.ba,{...s,aspectRatio:h,containerProps:{style:{position:"relative"},...s.containerProps||{}},onCreated:f=>{v(f),s.onCreated&&s.onCreated(f)},children:_jsxruntime.jsxs.call(void 0, _chunkL576POBVcjs.qa.Provider,{value:x,children:[_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.$,{image:m,id:m.id,isStatic:!o,x:d,y:c},m.id),_jsxruntime.jsx.call(void 0, Ue,{viewerPreset:x,renderViewerControls:a,image:m,src:e,viewControlsDeps:i}),n]})})})})}function Ue({viewerPreset:e,renderViewerControls:t,image:o,src:r,viewControlsDeps:n}){return _chunkR7HZTE2Tcjs.r.call(void 0, e&&t?"overlay":"none",`canvas-portal-controls-${r}`,_chunkL576POBVcjs.qa.Provider,t&&o?{value:e||null,children:t({image:o,images:[o],type:"images"})}:{},[r,e,...n||[]]),null}function bo(e){let t=_chunkL576POBVcjs.n.call(void 0, );return _jsxruntime.jsx.call(void 0, W,{metadata:_optionalChain([t, 'optionalAccess', _21 => _21.metadata])||[],...e})}var _reactlazyloadimagecomponent = require('react-lazy-load-image-component'); var U = _interopRequireWildcard(_reactlazyloadimagecomponent);var _i18n = require('@iiif/helpers/i18n');var{LazyLoadComponent:Je}=U||U.default;function Re(e){let{size:t,visible:o,classes:r,canvasId:n,figure:a}=e,i=_optionalChain([t, 'optionalAccess', _22 => _22.width])||128,l=_optionalChain([t, 'optionalAccess', _23 => _23.height])||_optionalChain([t, 'optionalAccess', _24 => _24.width])||128,d=_jsxruntime.jsx.call(void 0, Qe,{...e}),c=_jsxruntime.jsx.call(void 0, Je,{threshold:300,style:{height:l,width:i},visibleByDefault:o,children:n?_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.d,{canvas:n,children:d}):d});return a?_jsxruntime.jsx.call(void 0, "figure",{className:_optionalChain([r, 'optionalAccess', _25 => _25.figure]),children:c}):c}function Qe({fallback:e,size:t,classes:o,showLabel:r,alt:n,dereference:a=!1}){let i=_chunkL576POBVcjs.J.call(void 0, ),l=_optionalChain([t, 'optionalAccess', _26 => _26.width])||128,d=_optionalChain([t, 'optionalAccess', _27 => _27.height])||_optionalChain([t, 'optionalAccess', _28 => _28.width])||128,c=n||_i18n.getValue.call(void 0, _optionalChain([i, 'optionalAccess', _29 => _29.label]))||"",s=_chunkL576POBVcjs.aa.call(void 0, {width:l,height:d,allowUnsafe:!0},a);return!s||s.type!=="fixed"?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "div",{className:_optionalChain([o, 'optionalAccess', _30 => _30.imageWrapper]),children:_jsxruntime.jsx.call(void 0, "img",{className:_optionalChain([o, 'optionalAccess', _31 => _31.img]),src:s.id,alt:c})}),r?_jsxruntime.jsx.call(void 0, _chunkR7HZTE2Tcjs.H,{as:"figcaption",className:_optionalChain([o, 'optionalAccess', _32 => _32.label]),children:_optionalChain([i, 'optionalAccess', _33 => _33.label])}):null]})}function No({scrollBehaviour:e,dereference:t,flat:o,size:r,classes:n={},showLabel:a,figure:i,fallback:l}){let d=_react.useRef.call(void 0, null),{items:c,sequence:s,currentSequenceIndex:y,setSequenceIndex:x}=_chunkLKWFF45Dcjs.n.call(void 0, ),v={row:_optionalChain([n, 'access', _34 => _34.selected, 'optionalAccess', _35 => _35.row])||n.row,item:_optionalChain([n, 'access', _36 => _36.selected, 'optionalAccess', _37 => _37.item])||n.item,figure:_optionalChain([n, 'access', _38 => _38.selected, 'optionalAccess', _39 => _39.figure])||n.figure,img:_optionalChain([n, 'access', _40 => _40.selected, 'optionalAccess', _41 => _41.img])||n.img,label:_optionalChain([n, 'access', _42 => _42.selected, 'optionalAccess', _43 => _43.label])||n.label,imageWrapper:_optionalChain([n, 'access', _44 => _44.selected, 'optionalAccess', _45 => _45.imageWrapper])||n.imageWrapper};_react.useLayoutEffect.call(void 0, ()=>{if(!d.current)return;let u=d.current.querySelector("[data-selected=true]");u&&u.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[y]);let b=[];for(let u of s){let I=[],m=s[y]===u;for(let h of u){let f=c[h];I.push(_jsxruntime.jsx.call(void 0, "div",{className:m?v.item:n.item,children:_jsxruntime.jsx.call(void 0, Re,{classes:m?v:n,canvasId:f.id,size:r,dereference:t,showLabel:a,figure:i,placeholder:_jsxruntime.jsx.call(void 0, "div",{style:{height:128,width:128}}),fallback:l})},h))}if(o){b.push(I);continue}b.push(_jsxruntime.jsx.call(void 0, "div",{onClick:h=>{x(s.indexOf(u))},"data-selected":m,className:m?v.row:n.row,children:I},u.join("-")))}return _jsxruntime.jsx.call(void 0, "div",{ref:d,className:n.container,children:b})}function Ie(){let e=_chunkR7HZTE2Tcjs.k.call(void 0, ),t=_zustand.useStore.call(void 0, e,a=>a.completeRequest),o=_zustand.useStore.call(void 0, e,a=>a.polygonState.currentTool),r=_zustand.useStore.call(void 0, e,a=>a.polygonState.selectedStamp),n=_zustand.useStore.call(void 0, e,a=>a.switchTool);return{completeRequest:t,currentTool:o,selectedStamp:r,switchTool:n}}var tt={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function Ho({showShapes:e=!0,enabled:t=tt,classNames:o={},icons:r={}}){let{currentTool:n,switchTool:a,selectedStamp:i}=Ie();return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[n,_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.pointer,"data-active":n==="pointer",children:r.PointerIcon||"Pointer"}),_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.hand,"data-active":n==="hand",children:r.HandIcon||"Hand"}),e?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[t.box&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.box,"data-active":n==="box",children:r.BoxIcon||"Box"}),t.pen&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.pen,"data-active":n==="pen",children:r.PenIcon||"Pen"}),t.draw&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.draw,"data-active":n==="pencil",children:r.DrawIcon||"Draw"}),t.line&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.line,"data-active":n==="line",children:r.LineIcon||"Line"}),t.lineBox&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.lineBox,"data-active":n==="lineBox",children:r.LineBoxIcon||"LineBox"}),t.triangle&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.triangle,"data-active":n==="stamp"&&_optionalChain([i, 'optionalAccess', _46 => _46.id])==="triangle",children:r.TriangleIcon||"Triangle"}),t.hexagon&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.hexagon,"data-active":n==="stamp"&&_optionalChain([i, 'optionalAccess', _47 => _47.id])==="hexagon",children:r.HexagonIcon||"Hexagon"}),t.circle&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,"data-active":n==="stamp"&&_optionalChain([i, 'optionalAccess', _48 => _48.id])==="circle",onClick:a.circle,children:r.CircleIcon||"Circle"})]}):null,t.delete&&_jsxruntime.jsx.call(void 0, "button",{className:o.button,onClick:a.remove,children:r.DeleteForeverIcon||"Delete"})]})}function Uo({canvasId:e}={}){let t=_atlas.useCanvas.call(void 0, ),o=_chunkL576POBVcjs.l.call(void 0, ),r=_react.useMemo.call(void 0, ()=>e?[e]:t?[t.id]:o.map(c=>c.id),[e,t,o]),[n,a]=_react.useState.call(void 0, {}),i=_chunkL576POBVcjs.ua.call(void 0, );_react.useEffect.call(void 0, ()=>{let c=s=>{let y=s.partOf.canvasId;y&&a(x=>({...x,[y]:s.choice}))};return i.on("choice-change",c),()=>{i.off("choice-change",c)}},[]);let l=_react.useMemo.call(void 0, ()=>{let c=[];for(let s of r){let y=n[s];y&&c.push({canvasId:s,choice:y})}return c},[r,n]),d=_react.useMemo.call(void 0, ()=>({makeChoice:(c,s)=>{i.emit("make-choice",{choiceId:c,...s})}}),[i]);return{choices:l,actions:d}}function Qo(){let e=_chunkR7HZTE2Tcjs.k.call(void 0, ),t=_zustand.useStore.call(void 0, e,r=>r.completeRequest),o=_zustand.useStore.call(void 0, e,r=>r.cancelRequest);return _react.useMemo.call(void 0, ()=>({saveAnnotation:()=>{_react.startTransition.call(void 0, ()=>{t()})},cancelRequest:o}),[t,o])}function or({requestId:e}={}){let t=_chunkR7HZTE2Tcjs.k.call(void 0, ),o=_zustand.useStore.call(void 0, t,l=>l.metadata),r=_zustand.useStore.call(void 0, t,l=>l.tool.requestId),n=e||r,a=_zustand.useStore.call(void 0, t,l=>l.setMetadata),i=_react.useCallback.call(void 0, l=>a(l,n||void 0),[a,n]);return[n?o[n]||{}:{},i]}function sr(e){let t=_chunkR7HZTE2Tcjs.k.call(void 0, ),o=_zustand.useStore.call(void 0, t,r=>r.tool.requestId);_chunkLKWFF45Dcjs.r.call(void 0, "polygons.start-transition",r=>{e.requestId&&o!==e.requestId||_optionalChain([e, 'optionalAccess', _49 => _49.onStart, 'optionalCall', _50 => _50(r.transitionIntent)])},[o,e.requestId]),_chunkLKWFF45Dcjs.r.call(void 0, "polygons.end-transition",r=>{e.requestId&&o!==e.requestId||_optionalChain([e, 'optionalAccess', _51 => _51.onEnd, 'optionalCall', _52 => _52(r.transitionIntent,r.response)])},[o,e.requestId]),_chunkLKWFF45Dcjs.r.call(void 0, "polygons.transition",r=>{e.requestId&&o!==e.requestId||_optionalChain([e, 'optionalAccess', _53 => _53.onTransition, 'optionalCall', _54 => _54(r.transitionIntent)])},[o,e.requestId])}function mr(e,t){let{x:o,y:r,width:n,height:a}=e,{x:i,y:l}=t,{width:d,height:c}=t;return o+n>i&&o<i+d&&r+a>l&&r<l+c}var _tinyinvariant = require('tiny-invariant'); var _tinyinvariant2 = _interopRequireDefault(_tinyinvariant);function gr(e,t){let o=e.boundingBox||_chunkR7HZTE2Tcjs.b.call(void 0, e.polygon);if(e.polygon&&!_chunkR7HZTE2Tcjs.a.call(void 0, e.polygon.points)){let r=e.target||_chunkR7HZTE2Tcjs.g.call(void 0, e.polygon,t);return _tinyinvariant2.default.call(void 0, _optionalChain([r, 'optionalAccess', _55 => _55.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}}var _ranges = require('@iiif/helpers/ranges');function xr(e,t,o){return _ranges.findManifestSelectedRange.call(void 0, e,t,o)}function br(e,t,o){return _ranges.findSelectedRange.call(void 0, e,t,o)}var _annotationtargets = require('@iiif/helpers/annotation-targets');exports.a = xe; exports.b = bt; exports.c = be; exports.d = qt; exports.e = Lt; exports.f = W; exports.g = Yt; exports.h = De; exports.i = fo; exports.j = bo; exports.k = Re; exports.l = No; exports.m = Ie; exports.n = Ho; exports.o = Uo; exports.p = Qo; exports.q = or; exports.r = sr; exports.s = mr; exports.t = gr; exports.u = xr; exports.v = br; exports.w = _ranges.findAllCanvasesInRange; exports.x = _ranges.findFirstCanvasFromRange; exports.y = _annotationtargets.cachedParseCssToBoxStyleMap; exports.z = _annotationtargets.convertBoxStyleToSelectorStyle; exports.A = _annotationtargets.convertSelectorStyleToBoxStyle; exports.B = _annotationtargets.expandTarget; exports.C = _annotationtargets.expandTargets; exports.D = _annotationtargets.getSelectorTransformAttributes; exports.E = _annotationtargets.isImageApiSelector; exports.F = _annotationtargets.isValidCanvasFragment; exports.G = _annotationtargets.parseCssToBoxStyleMap; exports.H = _annotationtargets.parseCssTransform; exports.I = _annotationtargets.parseCssTransformOrigin; exports.J = _annotationtargets.parseCssTransformStyle; exports.K = _annotationtargets.parseRotation; exports.L = _annotationtargets.parseSelector; exports.M = _annotationtargets.parseWkt; exports.N = _annotationtargets.polygonToBoundingBox; exports.O = _annotationtargets.resolveSelectorStyle; exports.P = _annotationtargets.serializeSupportedSelector; exports.Q = _annotationtargets.splitCanvasFragment;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkL576POBVcjs = require('./chunk-L576POBV.cjs');var _chunkZEGT4BARcjs = require('./chunk-ZEGT4BAR.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var se=_react.createContext.call(void 0, {});function Qe({presentation:e,children:t}){return _jsxruntime.jsx.call(void 0, se.Provider,{value:e,children:t})}var O=()=>_react.useContext.call(void 0, se);function k(e){let{Unsupported:t}=O();return _react.useEffect.call(void 0, ()=>{t||console.warn(`[react-iiif-vault/scene] ${e.reason}`,e.strategy)},[t,e.reason,e.strategy]),t?_jsxruntime.jsx.call(void 0, t,{...e}):null}var _image3 = require('@iiif/parser/image-3');var G=e=>{let t=e.format||"jpg",i=e.width/(_optionalChain([e, 'access', _2 => _2.crop, 'optionalAccess', _3 => _3.width])||e.tiles.width),s=e.tiles.imageService.sizes||[],o=e.enableThumbnail,c=e.enableSizes,n=_react.useMemo.call(void 0, ()=>{let r=e.tiles.imageService.id||e.tiles.imageService["@id"];return _optionalChain([r, 'optionalAccess', _4 => _4.endsWith, 'call', _5 => _5("/info.json")])?r.slice(0,-1*10):r},[e.tiles.imageService.id,e.tiles.imageService["@id"]]),a=_react.useMemo.call(void 0, ()=>{let r=e.tiles.imageService.tiles||[];if(!r.length){let m=e.width,g=[1],h=1;for(;2**h<m;)h=h*2,g.push(h);return(e.tiles.imageService.maxArea||e.tiles.imageService.maxWidth||e.tiles.imageService.maxHeight)&&_image3.isImageServiceLevel.call(void 0, 2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:g}]:_image3.isImageServiceLevel.call(void 0, 2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:g}]:[]}return r},[e.tiles.imageService,e.width]),u=_react.useMemo.call(void 0, ()=>{let r=e.tiles.imageService;return(r?r["@context"]?Array.isArray(r["@context"])?r["@context"]:[r["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[e.tiles.imageService.id,e.tiles.imageService]);return _jsxruntime.jsx.call(void 0, "world-object",{rotation:e.rotation,scale:i,height:_optionalChain([e, 'access', _6 => _6.crop, 'optionalAccess', _7 => _7.height])||e.tiles.height,width:_optionalChain([e, 'access', _8 => _8.crop, 'optionalAccess', _9 => _9.width])||e.tiles.width,x:e.x,y:e.y,onClick:e.onClick,children:_jsxruntime.jsxs.call(void 0, "composite-image",{id:e.tiles.imageService.id,width:_optionalChain([e, 'access', _10 => _10.crop, 'optionalAccess', _11 => _11.width])||e.tiles.width,height:_optionalChain([e, 'access', _12 => _12.crop, 'optionalAccess', _13 => _13.height])||e.tiles.height,crop:e.crop,renderOptions:e.renderOptions||(_optionalChain([e, 'access', _14 => _14.style, 'optionalAccess', _15 => _15.opacity])!==void 0&&e.style.opacity!==1?{renderLayers:1,renderSmallestFallback:!1}:e.isStatic?{renderLayers:1,renderSmallestFallback:!0}:void 0),children:[o&&e.tiles.thumbnail?_jsxruntime.jsx.call(void 0, "world-image",{priority:!0,style:e.style,uri:e.tiles.thumbnail.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:e.tiles.thumbnail.width,height:e.tiles.thumbnail.height},crop:e.crop}):null,c&&s.map((r,m)=>_jsxruntime.jsx.call(void 0, "world-image",{style:e.style,uri:`${n}/full/${r.width},${u?r.height:""}/0/default.${t}`,target:{width:e.tiles.width,height:e.tiles.height},display:{width:r.width,height:r.height},crop:e.crop},m)),_optionalChain([e, 'access', _16 => _16.imageCandidates, 'optionalAccess', _17 => _17.map, 'call', _18 => _18(r=>_jsxruntime.jsx.call(void 0, "world-image",{priority:!0,style:e.style,uri:r.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:r.width,height:r.height},crop:e.crop},r.id))]),e.children,a.map(r=>(r.scaleFactors||[]).map(m=>_jsxruntime.jsx.call(void 0, "tiled-image",{uri:n,display:{width:e.tiles.width,height:e.tiles.height},style:e.style,useFloorCalc:e.useFloorCalc,format:t,tile:r,scaleFactor:m,crop:e.crop,version3:u},`${e.tiles.imageService.id}-tile-${m}`)))]},e.tiles.imageService.id)},e.tiles.imageService.id)};function me({image:e,thumbnail:t,crop:i,enableSizes:s,enableThumbnail:o,renderOptions:c,rotation:n,manualRotation:a,...u}){let m=O().Auth||Ae,g=_chunkL576POBVcjs.y.call(void 0, ),h=_image3.getId.call(void 0, e.service),p=_chunkL576POBVcjs.na.call(void 0, h),v=_optionalChain([p, 'optionalAccess', _19 => _19.service]),R=v&&_optionalChain([p, 'optionalAccess', _20 => _20.status])==="done",w=u.format||(_optionalChain([v, 'optionalAccess', _21 => _21.preferredFormats])||[])[0],S=t&&t.type==="fixed"&&t.id&&!t.id.includes("/full/full/")&&!t.id.includes("/max/")?t:void 0;if(R===!1)return null;if(!g){let d=e.service,f=d.width||e.width||0,x=d.height||e.height||0,I=0,b=0,l=_optionalChain([e, 'access', _22 => _22.target, 'optionalAccess', _23 => _23.spatial, 'access', _24 => _24.width])||f,y=_optionalChain([e, 'access', _25 => _25.target, 'optionalAccess', _26 => _26.spatial, 'access', _27 => _27.height])||x,P=l,C=y;return(n===90||n===270)&&([l,y]=[y,l],a||(I=(P-l)/2,b=(C-y)/2)),_jsxruntime.jsx.call(void 0, G,{...u,enableThumbnail:o,renderOptions:c,rotation:n,tiles:{id:d.id||d["@id"]||"unknown",height:x,width:f,imageService:d,thumbnail:S},enableSizes:s,x:I,y:b,format:w,width:l,height:y,crop:i})}return _jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.F,{resource:e.service,errorComponent:m,extra:e,children:d=>{let f=d.width||e.width||0,x=d.height||e.height||0,I=0,b=0,l=_optionalChain([e, 'access', _28 => _28.target, 'optionalAccess', _29 => _29.spatial, 'access', _30 => _30.width])||f,y=_optionalChain([e, 'access', _31 => _31.target, 'optionalAccess', _32 => _32.spatial, 'access', _33 => _33.height])||x,P=l,C=y;return(n===90||n===270)&&([l,y]=[y,l],a||(I=(P-l)/2,b=(C-y)/2)),_jsxruntime.jsx.call(void 0, G,{...u,enableThumbnail:o,renderOptions:c,tiles:{id:d.id||d["@id"]||"unknown",height:x,width:f,imageService:d,thumbnail:S},rotation:n,format:w,enableSizes:s,x:I,y:b,width:l,height:y,crop:i})}},e.id)}function Ae(){return _jsxruntime.jsx.call(void 0, k,{reason:"Authentication requires an Auth presentation"})}function ue(e,{duration:t=300,easing:i}={}){let s=_react.useRef.call(void 0, _chunkL576POBVcjs.la.call(void 0, _chunkL576POBVcjs.ia["ease-in-out"]));_react.useEffect.call(void 0, ()=>{if(!i)s.current=_chunkL576POBVcjs.la.call(void 0, _chunkL576POBVcjs.ia["ease-in-out"]);else if(typeof i=="function")s.current=i;else if(Array.isArray(i))s.current=_chunkL576POBVcjs.la.call(void 0, i);else{let m=_chunkL576POBVcjs.ia[i];s.current=_chunkL576POBVcjs.la.call(void 0, _nullishCoalesce(m, () => (_chunkL576POBVcjs.ia["ease-in-out"])))}},[i]);let[o,c]=_react.useState.call(void 0, e),n=_react.useRef.call(void 0, _nullishCoalesce(e, () => (0))),a=_react.useRef.call(void 0, null),u=_react.useRef.call(void 0, null),r=_react.useRef.call(void 0, e);return _react.useEffect.call(void 0, ()=>{if(e===void 0){c(void 0);return}let m=r.current;if(r.current=e,m===void 0){n.current=e,c(e);return}if(m===e&&o===e)return;u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),a.current=null;let g=n.current,h=(((e||0)-g)%360+540)%360-180,p=g+h;function v(R){a.current===null&&(a.current=R);let w=R-a.current,S=Math.min(w/t,1),d=s.current(S),f=g+(p-g)*d;n.current=f,c(f),S<1?u.current=requestAnimationFrame(v):(n.current=((e||0)%360+360)%360,c(n.current),u.current=null)}return u.current=requestAnimationFrame(v),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t]),o}function fe({id:e,image:t,thumbnail:i,isStatic:s,x:o=0,y:c=0,children:n,selector:a,onClick:u,rotation:r,enableSizes:m,enableAnnotations:g,events:h,...p}){let v=O(),R={...t.style,...p.style},w=_react.useMemo.call(void 0, ()=>{if(a)return a.spatial},[a]),S=_react.useMemo.call(void 0, ()=>{if(typeof t.rotation<"u")return t.rotation;if(!t.annotation)return 0;let C=Array.isArray(t.annotation.body)?_optionalChain([t, 'access', _34 => _34.annotation, 'access', _35 => _35.body, 'optionalAccess', _36 => _36[0]]):t.annotation.body;if(C&&_optionalChain([C, 'access', _37 => _37.selector, 'optionalAccess', _38 => _38.type])==="ImageApiSelector")return Number(C.selector.rotation)},[t]),d=ue(r),f=!!t.service,x=o+t.target.spatial.x,I=c+t.target.spatial.y,b=t.target.spatial.width,l=t.target.spatial.height,y=t.target.spatial.width,P=t.target.spatial.height;return(S===90||S===270)&&([y,P]=[P,y],f||([b,l]=[l,b],x+=(t.target.spatial.width-b)/2,I+=(t.target.spatial.height-l)/2)),_jsxruntime.jsxs.call(void 0, "world-object",{x,y:I,width:b,height:l,onClick:u,...h,rotation:t.service?void 0:typeof d<"u"?d:S,children:[t.service?_jsxruntime.jsxs.call(void 0, _react.Fragment,{children:[_jsxruntime.jsx.call(void 0, me,{...p,isStatic:s,style:R,image:t,thumbnail:i,crop:w,enableSizes:m,rotation:typeof d<"u"?d:S,manualRotation:typeof r<"u"}),n]},"service"):_jsxruntime.jsxs.call(void 0, _react.Fragment,{children:[_jsxruntime.jsx.call(void 0, "world-image",{style:R,onClick:u,uri:t.id,target:{x:0,y:0,width:y,height:P},display:y&&P?{width:y,height:P}:void 0,crop:w}),n]},"no-service"),g&&t.annotationPages?t.annotationPages.map(C=>v.AnnotationPage?_jsxruntime.jsx.call(void 0, v.AnnotationPage,{page:C},C.id):_jsxruntime.jsx.call(void 0, k,{reason:"Image annotations require an AnnotationPage presentation"},C.id)):null]},e+(f?"server":"no-service"))}function V(e){let{vault:t}=_react.useContext.call(void 0, _chunkL576POBVcjs.e);return t?_jsxruntime.jsx.call(void 0, Ee,{...e}):_jsxruntime.jsx.call(void 0, fe,{...e})}function Ee(e){let{image:t}=e,i=_react.useContext.call(void 0, _chunkL576POBVcjs.P),s=_chunkL576POBVcjs.L.call(void 0, t.annotation,"atlas"),o=_chunkL576POBVcjs.L.call(void 0, {id:t.id,type:"ContentResource"},"atlas"),c=_chunkL576POBVcjs.K.call(void 0, t.annotation,["atlas"]),n=_chunkL576POBVcjs.K.call(void 0, {id:t.id,type:"ContentResource"},["atlas"]);return _jsxruntime.jsx.call(void 0, fe,{...e,style:{...s,...o,..._optionalChain([i, 'optionalAccess', _39 => _39.imageStyles, 'optionalAccess', _40 => _40[t.annotationId]]),..._optionalChain([i, 'optionalAccess', _41 => _41.imageStyles, 'optionalAccess', _42 => _42[t.id]]),...e.style},events:{...c,...n,...e.events}})}function pe({id:e}){let t=_chunkL576POBVcjs.I.call(void 0, {id:e}),i=_chunkL576POBVcjs.L.call(void 0, t,"atlas"),s=_chunkL576POBVcjs.K.call(void 0, t,["atlas"]),o=_optionalChain([t, 'optionalAccess', _43 => _43.target, 'optionalAccess', _44 => _44.selector]);return _optionalChain([o, 'optionalAccess', _45 => _45.spatial])?_jsxruntime.jsx.call(void 0, "box",{target:o.spatial,style:{outline:"3px solid red",...i},...s}):null}var _zustand = require('zustand');function Ut({strategy:e,children:t,imageOptions:i}){let s=_chunkL576POBVcjs.M.call(void 0, ),[o,c]=_react.useState.call(void 0, null);return _react.useEffect.call(void 0, ()=>{let n=_chunkL576POBVcjs.fa.call(void 0, {complexTimeline:e});return c(n),n.store.getState().startClock(),n.dispose},[_optionalChain([s, 'optionalAccess', _46 => _46.id])]),_react.useEffect.call(void 0, ()=>{_optionalChain([o, 'optionalAccess', _47 => _47.store, 'access', _48 => _48.getState, 'call', _49 => _49(), 'access', _50 => _50.updateTimeline, 'call', _51 => _51(e)])},[o,e]),o?_jsxruntime.jsxs.call(void 0, _chunkL576POBVcjs.ba,{store:o.store,children:[_jsxruntime.jsx.call(void 0, Me,{controller:o,imageOptions:i}),t]}):null}function Me({controller:e,imageOptions:t}){let i=_zustand.useStore.call(void 0, e.store,n=>n.complexTimeline),s=_zustand.useStore.call(void 0, e.store,n=>n.visibleElements),o=O(),c=o.Highlight||pe;return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[i.items.map(n=>{let a=!!s[n.annotationId];switch(n.type){case"Image":return a?_react.createElement.call(void 0, V,{...t,key:n.annotationId,image:n,id:n.annotationId,selector:n.selector}):null;case"Text":return a?o.Text?_jsxruntime.jsx.call(void 0, o.Text,{item:n},n.annotationId):_jsxruntime.jsx.call(void 0, k,{strategy:i,reason:"Timeline text requires a Text presentation"},n.annotationId):null;case"Video":case"Sound":return o.Media?_jsxruntime.jsx.call(void 0, o.Media,{item:n,visible:a,controller:e},n.annotationId):_jsxruntime.jsx.call(void 0, k,{strategy:i,reason:"Timeline media requires a Media presentation"},n.annotationId);default:return _jsxruntime.jsx.call(void 0, k,{strategy:i,reason:`Unsupported timeline item: ${n.type}`},n.annotationId)}}),i.highlights.map(({annotation:n})=>s[n.id]?_jsxruntime.jsx.call(void 0, c,{id:n.id},n.id):null)]})}function xe({style:e}){let t=_chunkL576POBVcjs.J.call(void 0, );if(!t||!t.height||!t.width)return null;let i=_chunkZEGT4BARcjs.b.call(void 0, t);return _jsxruntime.jsx.call(void 0, "box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:{...i?{backgroundColor:i}:{},...e}})}function Qt({backgroundStyle:e,alwaysShowBackground:t}){let{strategy:i}=_chunkL576POBVcjs.Q.call(void 0, ),s=_chunkZEGT4BARcjs.b.call(void 0, _chunkL576POBVcjs.J.call(void 0, ));return i.type!=="empty"&&!t&&!s?null:_jsxruntime.jsx.call(void 0, xe,{style:e})}function rn({isStatic:e=!1,enableSizes:t=!1,enableAnnotations:i=!0,onClickPaintingAnnotation:s,rotation:o,children:c,...n}){let{strategy:a}=_chunkL576POBVcjs.Q.call(void 0, ),u=_chunkL576POBVcjs.aa.call(void 0, {maxWidth:256,maxHeight:256});if(a.type!=="images")return null;let r=a.images.length===1?o:0;return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[a.images.map((m,g)=>_react.createElement.call(void 0, V,{...n,isStatic:e,key:m.id+g,image:m,id:m.id,thumbnail:g===0?u:void 0,selector:m.selector,enableSizes:t,enableAnnotations:i,rotation:r,onClick:s?h=>{s(m.annotationId,m,h)}:void 0})),c]})}var _helpers = require('@iiif/helpers');function bn({strategies:e,scopedStyles:t,emitter:i,annotationPageManagerId:s,registerActions:o,defaultChoices:c,onChoiceChange:n,mediaControlsDeps:a,renderMediaControls:u,renderViewerControls:r,viewControlsDeps:m,renderComplexTimelineControls:g,complexTimelineControlsDeps:h,throwOnUnknown:p,children:v}){let R=_chunkL576POBVcjs.M.call(void 0, ),w=_chunkL576POBVcjs.h.call(void 0, ),S=_react.useMemo.call(void 0, ()=>_helpers.createStylesHelper.call(void 0, w),[w]),[d,f]=_chunkL576POBVcjs.Ca.call(void 0, {strategies:e||["images"],emitter:i,annotationPageManagerId:s,defaultChoices:_optionalChain([c, 'optionalAccess', _52 => _52.map, 'call', _53 => _53(({id:l})=>l)])}),x="choice"in d?d.choice:void 0;if(_react.useEffect.call(void 0, ()=>{if(o){let l=o(f);return typeof l=="function"?()=>{l()}:void 0}},[o,f]),_react.useEffect.call(void 0, ()=>{n&&n(x)},[x,n]),_react.useEffect.call(void 0, ()=>{if(c&&!t)for(let l of c)typeof l.opacity<"u"&&S.applyStyles({id:l.id},"atlas",{opacity:l.opacity})},[c,S,t]),d.type==="unknown"&&p)throw new Error(d.reason||"Unknown strategy");let I=_react.useMemo.call(void 0, ()=>({renderMediaControls:u,mediaControlsDeps:a||[],renderViewerControls:r,viewControlsDeps:m||[],renderComplexTimelineControls:g,complexTimelineControlsDeps:h||[]}),[a,u,r,m,g,h]),b=_react.useMemo.call(void 0, ()=>({strategy:d,actions:f,imageStyles:t?Object.fromEntries((c||[]).filter(l=>l.opacity!==void 0).map(l=>[l.id,{opacity:l.opacity}])):void 0,choices:"choice"in d?d.choice:[]}),[d,R,f,c,t]);return _jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.R.Provider,{value:I,children:_jsxruntime.jsx.call(void 0, _chunkL576POBVcjs.P.Provider,{value:b,children:v})})}var Ge=_react.createContext.call(void 0, ()=>{});function we(e){let t=_chunkL576POBVcjs.M.call(void 0, ),i=_react.useContext.call(void 0, Ge);_react.useEffect.call(void 0, ()=>t&&t.id?(i(t.id,e),()=>i(t.id,-1)):()=>{},[t,e])}function Wn({x:e=0,y:t=0,keepCanvasScale:i=!0,events:s,onPositionChange:o,children:c}){let{strategy:n}=_chunkL576POBVcjs.Q.call(void 0, ),a=_chunkL576POBVcjs.M.call(void 0, ),u=_chunkL576POBVcjs.K.call(void 0, a,["deep-zoom"]),r=_react.useMemo.call(void 0, ()=>i?1:Math.max(1,...n.type==="images"?n.images.map(p=>(p.width||0)/_optionalChain([p, 'access', _54 => _54.target, 'optionalAccess', _55 => _55.spatial, 'access', _56 => _56.width])):[]),[i,n]);_react.useEffect.call(void 0, ()=>{if(a){let{width:p,height:v}=_chunkZEGT4BARcjs.a.call(void 0, a);return _optionalChain([o, 'optionalCall', _57 => _57(a.id,{x:e,y:t,width:p,height:v})]),()=>_optionalChain([o, 'optionalCall', _58 => _58(a.id,null)])}},[e,t,a,o]),we(r);let m=n.type==="images"?n.images.length:0;if(!a)return null;let{width:g,height:h}=_chunkZEGT4BARcjs.a.call(void 0, a);return _jsxruntime.jsx.call(void 0, "world-object",{height:h,width:g,x:e,y:t,...s,...u,children:c},`${a.id}/${n.type}/${m}`)}exports.a = Qe; exports.b = O; exports.c = k; exports.d = G; exports.e = me; exports.f = V; exports.g = pe; exports.h = Ut; exports.i = xe; exports.j = Qt; exports.k = rn; exports.l = bn; exports.m = Ge; exports.n = we; exports.o = Wn;
@@ -0,0 +1 @@
1
+ import{Ca as ae,F as _,I as ee,J as U,K as A,L as M,M as T,P as $,Q as N,R as te,aa as ne,ba as ie,e as J,fa as re,h as Q,ia as F,la as B,na as oe,y as Z}from"./chunk-MEQI335A.js";import{a as L,b as D}from"./chunk-L2GTJVPY.js";import{createContext as Ie,useContext as Re,useEffect as Pe}from"react";import{jsx as le}from"react/jsx-runtime";var se=Ie({});function Qe({presentation:e,children:t}){return le(se.Provider,{value:e,children:t})}var O=()=>Re(se);function k(e){let{Unsupported:t}=O();return Pe(()=>{t||console.warn(`[react-iiif-vault/scene] ${e.reason}`,e.strategy)},[t,e.reason,e.strategy]),t?le(t,{...e}):null}import{isImageServiceLevel as ce}from"@iiif/parser/image-3";import{useMemo as j}from"react";import{jsx as z,jsxs as Te}from"react/jsx-runtime";var G=e=>{let t=e.format||"jpg",i=e.width/(e.crop?.width||e.tiles.width),s=e.tiles.imageService.sizes||[],o=e.enableThumbnail,c=e.enableSizes,n=j(()=>{let r=e.tiles.imageService.id||e.tiles.imageService["@id"];return r?.endsWith("/info.json")?r.slice(0,-1*10):r},[e.tiles.imageService.id,e.tiles.imageService["@id"]]),a=j(()=>{let r=e.tiles.imageService.tiles||[];if(!r.length){let m=e.width,g=[1],h=1;for(;2**h<m;)h=h*2,g.push(h);return(e.tiles.imageService.maxArea||e.tiles.imageService.maxWidth||e.tiles.imageService.maxHeight)&&ce(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:g}]:ce(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:g}]:[]}return r},[e.tiles.imageService,e.width]),u=j(()=>{let r=e.tiles.imageService;return(r?r["@context"]?Array.isArray(r["@context"])?r["@context"]:[r["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[e.tiles.imageService.id,e.tiles.imageService]);return z("world-object",{rotation:e.rotation,scale:i,height:e.crop?.height||e.tiles.height,width:e.crop?.width||e.tiles.width,x:e.x,y:e.y,onClick:e.onClick,children:Te("composite-image",{id:e.tiles.imageService.id,width:e.crop?.width||e.tiles.width,height:e.crop?.height||e.tiles.height,crop:e.crop,renderOptions:e.renderOptions||(e.style?.opacity!==void 0&&e.style.opacity!==1?{renderLayers:1,renderSmallestFallback:!1}:e.isStatic?{renderLayers:1,renderSmallestFallback:!0}:void 0),children:[o&&e.tiles.thumbnail?z("world-image",{priority:!0,style:e.style,uri:e.tiles.thumbnail.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:e.tiles.thumbnail.width,height:e.tiles.thumbnail.height},crop:e.crop}):null,c&&s.map((r,m)=>z("world-image",{style:e.style,uri:`${n}/full/${r.width},${u?r.height:""}/0/default.${t}`,target:{width:e.tiles.width,height:e.tiles.height},display:{width:r.width,height:r.height},crop:e.crop},m)),e.imageCandidates?.map(r=>z("world-image",{priority:!0,style:e.style,uri:r.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:r.width,height:r.height},crop:e.crop},r.id)),e.children,a.map(r=>(r.scaleFactors||[]).map(m=>z("tiled-image",{uri:n,display:{width:e.tiles.width,height:e.tiles.height},style:e.style,useFloorCalc:e.useFloorCalc,format:t,tile:r,scaleFactor:m,crop:e.crop,version3:u},`${e.tiles.imageService.id}-tile-${m}`)))]},e.tiles.imageService.id)},e.tiles.imageService.id)};import{getId as ke}from"@iiif/parser/image-3";import{jsx as q}from"react/jsx-runtime";function me({image:e,thumbnail:t,crop:i,enableSizes:s,enableThumbnail:o,renderOptions:c,rotation:n,manualRotation:a,...u}){let m=O().Auth||Ae,g=Z(),h=ke(e.service),p=oe(h),v=p?.service,R=v&&p?.status==="done",w=u.format||(v?.preferredFormats||[])[0],S=t&&t.type==="fixed"&&t.id&&!t.id.includes("/full/full/")&&!t.id.includes("/max/")?t:void 0;if(R===!1)return null;if(!g){let d=e.service,f=d.width||e.width||0,x=d.height||e.height||0,I=0,b=0,l=e.target?.spatial.width||f,y=e.target?.spatial.height||x,P=l,C=y;return(n===90||n===270)&&([l,y]=[y,l],a||(I=(P-l)/2,b=(C-y)/2)),q(G,{...u,enableThumbnail:o,renderOptions:c,rotation:n,tiles:{id:d.id||d["@id"]||"unknown",height:x,width:f,imageService:d,thumbnail:S},enableSizes:s,x:I,y:b,format:w,width:l,height:y,crop:i})}return q(_,{resource:e.service,errorComponent:m,extra:e,children:d=>{let f=d.width||e.width||0,x=d.height||e.height||0,I=0,b=0,l=e.target?.spatial.width||f,y=e.target?.spatial.height||x,P=l,C=y;return(n===90||n===270)&&([l,y]=[y,l],a||(I=(P-l)/2,b=(C-y)/2)),q(G,{...u,enableThumbnail:o,renderOptions:c,tiles:{id:d.id||d["@id"]||"unknown",height:x,width:f,imageService:d,thumbnail:S},rotation:n,format:w,enableSizes:s,x:I,y:b,width:l,height:y,crop:i})}},e.id)}function Ae(){return q(k,{reason:"Authentication requires an Auth presentation"})}import{Fragment as ge,useMemo as he,useContext as ye}from"react";import{useEffect as de,useRef as H,useState as Oe}from"react";function ue(e,{duration:t=300,easing:i}={}){let s=H(B(F["ease-in-out"]));de(()=>{if(!i)s.current=B(F["ease-in-out"]);else if(typeof i=="function")s.current=i;else if(Array.isArray(i))s.current=B(i);else{let m=F[i];s.current=B(m??F["ease-in-out"])}},[i]);let[o,c]=Oe(e),n=H(e??0),a=H(null),u=H(null),r=H(e);return de(()=>{if(e===void 0){c(void 0);return}let m=r.current;if(r.current=e,m===void 0){n.current=e,c(e);return}if(m===e&&o===e)return;u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),a.current=null;let g=n.current,h=(((e||0)-g)%360+540)%360-180,p=g+h;function v(R){a.current===null&&(a.current=R);let w=R-a.current,S=Math.min(w/t,1),d=s.current(S),f=g+(p-g)*d;n.current=f,c(f),S<1?u.current=requestAnimationFrame(v):(n.current=((e||0)%360+360)%360,c(n.current),u.current=null)}return u.current=requestAnimationFrame(v),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t]),o}import{jsx as E,jsxs as K}from"react/jsx-runtime";function fe({id:e,image:t,thumbnail:i,isStatic:s,x:o=0,y:c=0,children:n,selector:a,onClick:u,rotation:r,enableSizes:m,enableAnnotations:g,events:h,...p}){let v=O(),R={...t.style,...p.style},w=he(()=>{if(a)return a.spatial},[a]),S=he(()=>{if(typeof t.rotation<"u")return t.rotation;if(!t.annotation)return 0;let C=Array.isArray(t.annotation.body)?t.annotation.body?.[0]:t.annotation.body;if(C&&C.selector?.type==="ImageApiSelector")return Number(C.selector.rotation)},[t]),d=ue(r),f=!!t.service,x=o+t.target.spatial.x,I=c+t.target.spatial.y,b=t.target.spatial.width,l=t.target.spatial.height,y=t.target.spatial.width,P=t.target.spatial.height;return(S===90||S===270)&&([y,P]=[P,y],f||([b,l]=[l,b],x+=(t.target.spatial.width-b)/2,I+=(t.target.spatial.height-l)/2)),K("world-object",{x,y:I,width:b,height:l,onClick:u,...h,rotation:t.service?void 0:typeof d<"u"?d:S,children:[t.service?K(ge,{children:[E(me,{...p,isStatic:s,style:R,image:t,thumbnail:i,crop:w,enableSizes:m,rotation:typeof d<"u"?d:S,manualRotation:typeof r<"u"}),n]},"service"):K(ge,{children:[E("world-image",{style:R,onClick:u,uri:t.id,target:{x:0,y:0,width:y,height:P},display:y&&P?{width:y,height:P}:void 0,crop:w}),n]},"no-service"),g&&t.annotationPages?t.annotationPages.map(C=>v.AnnotationPage?E(v.AnnotationPage,{page:C},C.id):E(k,{reason:"Image annotations require an AnnotationPage presentation"},C.id)):null]},e+(f?"server":"no-service"))}function V(e){let{vault:t}=ye(J);return t?E(Ee,{...e}):E(fe,{...e})}function Ee(e){let{image:t}=e,i=ye($),s=M(t.annotation,"atlas"),o=M({id:t.id,type:"ContentResource"},"atlas"),c=A(t.annotation,["atlas"]),n=A({id:t.id,type:"ContentResource"},["atlas"]);return E(fe,{...e,style:{...s,...o,...i?.imageStyles?.[t.annotationId],...i?.imageStyles?.[t.id],...e.style},events:{...c,...n,...e.events}})}import{jsx as We}from"react/jsx-runtime";function pe({id:e}){let t=ee({id:e}),i=M(t,"atlas"),s=A(t,["atlas"]),o=t?.target?.selector;return o?.spatial?We("box",{target:o.spatial,style:{outline:"3px solid red",...i},...s}):null}import{useEffect as Se,useState as Ne}from"react";import{useStore as ve}from"zustand";import{Fragment as Be,jsx as W,jsxs as be}from"react/jsx-runtime";import{createElement as Fe}from"react";function Ut({strategy:e,children:t,imageOptions:i}){let s=T(),[o,c]=Ne(null);return Se(()=>{let n=re({complexTimeline:e});return c(n),n.store.getState().startClock(),n.dispose},[s?.id]),Se(()=>{o?.store.getState().updateTimeline(e)},[o,e]),o?be(ie,{store:o.store,children:[W(Me,{controller:o,imageOptions:i}),t]}):null}function Me({controller:e,imageOptions:t}){let i=ve(e.store,n=>n.complexTimeline),s=ve(e.store,n=>n.visibleElements),o=O(),c=o.Highlight||pe;return be(Be,{children:[i.items.map(n=>{let a=!!s[n.annotationId];switch(n.type){case"Image":return a?Fe(V,{...t,key:n.annotationId,image:n,id:n.annotationId,selector:n.selector}):null;case"Text":return a?o.Text?W(o.Text,{item:n},n.annotationId):W(k,{strategy:i,reason:"Timeline text requires a Text presentation"},n.annotationId):null;case"Video":case"Sound":return o.Media?W(o.Media,{item:n,visible:a,controller:e},n.annotationId):W(k,{strategy:i,reason:"Timeline media requires a Media presentation"},n.annotationId);default:return W(k,{strategy:i,reason:`Unsupported timeline item: ${n.type}`},n.annotationId)}}),i.highlights.map(({annotation:n})=>s[n.id]?W(c,{id:n.id},n.id):null)]})}import{jsx as ze}from"react/jsx-runtime";function xe({style:e}){let t=U();if(!t||!t.height||!t.width)return null;let i=D(t);return ze("box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:{...i?{backgroundColor:i}:{},...e}})}import{jsx as He}from"react/jsx-runtime";function Qt({backgroundStyle:e,alwaysShowBackground:t}){let{strategy:i}=N(),s=D(U());return i.type!=="empty"&&!t&&!s?null:He(xe,{style:e})}import{Fragment as $e,jsxs as De}from"react/jsx-runtime";import{createElement as Ue}from"react";function rn({isStatic:e=!1,enableSizes:t=!1,enableAnnotations:i=!0,onClickPaintingAnnotation:s,rotation:o,children:c,...n}){let{strategy:a}=N(),u=ne({maxWidth:256,maxHeight:256});if(a.type!=="images")return null;let r=a.images.length===1?o:0;return De($e,{children:[a.images.map((m,g)=>Ue(V,{...n,isStatic:e,key:m.id+g,image:m,id:m.id,thumbnail:g===0?u:void 0,selector:m.selector,enableSizes:t,enableAnnotations:i,rotation:r,onClick:s?h=>{s(m.annotationId,m,h)}:void 0})),c]})}import{useEffect as X,useMemo as Y}from"react";import{createStylesHelper as qe}from"@iiif/helpers";import{jsx as Ce}from"react/jsx-runtime";function bn({strategies:e,scopedStyles:t,emitter:i,annotationPageManagerId:s,registerActions:o,defaultChoices:c,onChoiceChange:n,mediaControlsDeps:a,renderMediaControls:u,renderViewerControls:r,viewControlsDeps:m,renderComplexTimelineControls:g,complexTimelineControlsDeps:h,throwOnUnknown:p,children:v}){let R=T(),w=Q(),S=Y(()=>qe(w),[w]),[d,f]=ae({strategies:e||["images"],emitter:i,annotationPageManagerId:s,defaultChoices:c?.map(({id:l})=>l)}),x="choice"in d?d.choice:void 0;if(X(()=>{if(o){let l=o(f);return typeof l=="function"?()=>{l()}:void 0}},[o,f]),X(()=>{n&&n(x)},[x,n]),X(()=>{if(c&&!t)for(let l of c)typeof l.opacity<"u"&&S.applyStyles({id:l.id},"atlas",{opacity:l.opacity})},[c,S,t]),d.type==="unknown"&&p)throw new Error(d.reason||"Unknown strategy");let I=Y(()=>({renderMediaControls:u,mediaControlsDeps:a||[],renderViewerControls:r,viewControlsDeps:m||[],renderComplexTimelineControls:g,complexTimelineControlsDeps:h||[]}),[a,u,r,m,g,h]),b=Y(()=>({strategy:d,actions:f,imageStyles:t?Object.fromEntries((c||[]).filter(l=>l.opacity!==void 0).map(l=>[l.id,{opacity:l.opacity}])):void 0,choices:"choice"in d?d.choice:[]}),[d,R,f,c,t]);return Ce(te.Provider,{value:I,children:Ce($.Provider,{value:b,children:v})})}import{createContext as Ve,useContext as Le,useEffect as je}from"react";var Ge=Ve(()=>{});function we(e){let t=T(),i=Le(Ge);je(()=>t&&t.id?(i(t.id,e),()=>i(t.id,-1)):()=>{},[t,e])}import{useEffect as Ke,useMemo as Xe}from"react";import{jsx as Ye}from"react/jsx-runtime";function Wn({x:e=0,y:t=0,keepCanvasScale:i=!0,events:s,onPositionChange:o,children:c}){let{strategy:n}=N(),a=T(),u=A(a,["deep-zoom"]),r=Xe(()=>i?1:Math.max(1,...n.type==="images"?n.images.map(p=>(p.width||0)/p.target?.spatial.width):[]),[i,n]);Ke(()=>{if(a){let{width:p,height:v}=L(a);return o?.(a.id,{x:e,y:t,width:p,height:v}),()=>o?.(a.id,null)}},[e,t,a,o]),we(r);let m=n.type==="images"?n.images.length:0;if(!a)return null;let{width:g,height:h}=L(a);return Ye("world-object",{height:h,width:g,x:e,y:t,...s,...u,children:c},`${a.id}/${n.type}/${m}`)}export{Qe as a,O as b,k as c,G as d,me as e,V as f,pe as g,Ut as h,xe as i,Qt as j,rn as k,bn as l,Ge as m,we as n,Wn as o};
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }function R(e){return{width:typeof e.width=="number"&&e.width>0?e.width:0,height:typeof e.height=="number"&&e.height>0?e.height:0}}function W(e){return!e||typeof e!="object"||!("id"in e)||!("type"in e)?!1:typeof e.id=="string"&&(e.type==="Canvas"||e.type==="Timeline"||e.type==="Scene")}function oe(e){if(!(!e||!("backgroundColor"in e)))return typeof e.backgroundColor=="string"?e.backgroundColor:void 0}function ne(e){if(!e)return null;let t="placeholderContainer"in e?e.placeholderContainer:"placeholderCanvas"in e?e.placeholderCanvas:null;return W(t)?t:null}function ie(e){if(!e)return null;let t="accompanyingContainer"in e?e.accompanyingContainer:"accompanyingCanvas"in e?e.accompanyingCanvas:null;return W(t)?t:null}var _helpers = require('@iiif/helpers');function ce(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function P(e,t){let i=_optionalChain([_helpers.expandTarget.call(void 0, t.target), 'access', _2 => _2.selector, 'optionalAccess', _3 => _3.temporal]),r=_optionalChain([_helpers.parseSelector.call(void 0, t.selector), 'access', _4 => _4.selector, 'optionalAccess', _5 => _5.temporal]),n=e.duration||0,p=_nullishCoalesce(_optionalChain([i, 'optionalAccess', _6 => _6.startTime]), () => (0)),c=_nullishCoalesce(_optionalChain([r, 'optionalAccess', _7 => _7.startTime]), () => (0)),h="duration"in t.resource&&typeof t.resource.duration=="number"?t.resource.duration:void 0,d=_nullishCoalesce(_optionalChain([r, 'optionalAccess', _8 => _8.endTime]), () => (h)),u=_nullishCoalesce(_optionalChain([i, 'optionalAccess', _9 => _9.endTime]), () => ((i&&d!==void 0&&Number.isFinite(d)?Math.min(n,p+Math.max(0,d-c)):n)));return{target:{startTime:p,endTime:u},source:r||{startTime:0,endTime:u-p}}}function k(e,t){let{selector:i,source:r}=_helpers.expandTarget.call(void 0, t);if(r.id!==e.id)return[null,r];let n={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[i?i.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:i.temporal,spatial:n.spatial}:i:null,r]}var le={makeChoice:()=>{}},w= exports.i ={type:"unknown"},l= exports.j =e=>({type:"unknown",reason:e,annotations:{pages:[]}}),U= exports.k =(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var Q=["model/gltf-binary"];function E(e,t){let i=t.items[0],r=i.resource;return r.format?Q.indexOf(r.format)===-1?l(`3D format: ${r.format} is unsupported`):{type:"3d-model",model:r,annotationId:i.annotationId,annotation:i.annotation}:l("Unknown format")}var _annotationtargets = require('@iiif/helpers/annotation-targets');var _image3 = require('@iiif/parser/image-3');function S(e){return e.replace(/^http:/,"https:")}function Y(e){if(!(_optionalChain([e, 'optionalAccess', _10 => _10.type])!=="ImageApiSelector"||typeof e.rotation>"u"))return z(e.rotation)}function z(e){if(e===null||typeof e>"u"||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function J(e){let t=e.selector||{};return{...e.rotationOrigin||t.rotationOrigin?{rotationOrigin:e.rotationOrigin||t.rotationOrigin}:{},...e.translate||t.translate?{translate:e.translate||t.translate}:{},...e.transform||t.transform?{transform:e.transform||t.transform}:{},...e.style||t.boxStyle?{style:e.style||t.boxStyle}:{},...e.styleClass?{styleClass:e.styleClass}:{}}}function V(e,t,i){let r=R(e),n=[];for(let p of t.items){let c=p.resource&&p.resource.type==="SpecificResource"?p.resource.source:p.resource;if(!c.id)return l("No resource Identifier");let h=typeof c.width=="number"?c.width:void 0,d=typeof c.height=="number"?c.height:void 0,o=_nullishCoalesce(_nullishCoalesce(_nullishCoalesce((p.resource.type==="SpecificResource"?Y(p.resource.selector):void 0), () => (Y(p.selector))), () => (z(p.rotation))), () => (z(_optionalChain([p, 'access', _11 => _11.selector, 'optionalAccess', _12 => _12.rotation])))),a=typeof o<"u",s;if(c.service){let T=_image3.getImageServices.call(void 0, c);T[0]&&(s=i(T[0],a?{width:Number(h||e.width),height:Number(d||e.height)}:r))}let y={type:"BoxSelector",spatial:{x:0,y:0,width:r.width,height:r.height}},[f,g]=k(e,p.target),C=_optionalChain([e, 'access', _13 => _13.id, 'optionalAccess', _14 => _14.split, 'call', _15 => _15("?"), 'access', _16 => _16[0]])||"";if(!(S(g.id||"")===S(e.id)||S(decodeURIComponent(g.id||""))===S(e.id||"")||S(g.id||"")===S(C)||S(decodeURIComponent(g.id||""))===S(C)))continue;let m=p.resource.type==="SpecificResource"?_annotationtargets.expandTarget.call(void 0, p.resource):null;if(p.selector){let T=_annotationtargets.expandTarget.call(void 0, {type:"SpecificResource",source:p.resource,selector:p.selector});T&&(m=T)}let v=m&&m.selector&&(m.selector.type==="BoxSelector"||m.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:m.selector.spatial.x,y:m.selector.spatial.y,width:m.selector.spatial.width,height:m.selector.spatial.height},...typeof m.selector.rotation<"u"?{rotation:m.selector.rotation}:{},...m.selector.rotationOrigin?{rotationOrigin:m.selector.rotationOrigin}:{},...m.selector.translate?{translate:m.selector.translate}:{},...m.selector.transform?{transform:m.selector.transform}:{},...m.selector.boxStyle?{boxStyle:m.selector.boxStyle}:{}}:void 0;s&&!s.id&&(s.id=s["@id"]);let x={id:c.id,type:"Image",annotationId:p.annotationId,annotation:p.annotation,width:Number(a||f||v?h:e.width),height:Number(a||f||v?d:e.height),...typeof o<"u"?{rotation:o}:{},...J(p),service:s,sizes:s&&s.sizes?s.sizes:h&&d?[{width:h,height:d}]:[],target:f&&f.type!=="PointSelector"?f:y,selector:v,annotationPages:p.resource.annotations||[]};n.push(x)}return{type:"images",image:n[0],images:n,choice:t.choice}}function q(e,t={},i){let r=e.language||i||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[r]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(n=>q(n,t,r))}return t}function A(e,t){let i=[];return t.items.forEach(r=>{if(r.resource){let[n]=k(e,r.target);i.push({type:"Text",annotationId:r.annotationId,annotation:r.annotation,text:q(r.resource),target:n})}}),{type:"textual-content",items:i}}var X=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function O(e,t,i,r=!1){let n=R(e),p=t.items.filter(m=>m.type==="video"),c=p[0],h=!1,d=!1,u=e.duration||0;if(u||(d=!0),p.length>1||!c)return l("Only one video source supported");let o=_optionalChain([p, 'access', _17 => _17[0], 'optionalAccess', _18 => _18.resource]),a=!!(o.service||[]).find(m=>(m.profile||"").includes("youtube.com"));if(!a&&d)return l("Video does not have duration");if(!o)return l("Unknown video");if((!o.format||o.format==="text/html")&&!a)return l("Video does not have format");let s=[],y=i.get([...e.annotations]);for(let m of y){let v=i.get(m.items||[]);for(let x of v)if((x.motivation?Array.isArray(x.motivation||"")?x.motivation:[x.motivation]:[]).includes("supplementing")){let H=i.get(x.body||[]);for(let j of H){let b=j;if(b.type==="Choice")for(let G of b.items){let I=i.get(G);I.format==="text/vtt"&&s.push({id:I.id,type:"Text",format:"text/vtt",label:I.label,language:I.language})}else b.format==="text/vtt"&&s.push({id:b.id,type:"Text",format:"text/vtt",label:b.label,language:b.language})}}}let f=P(e,c),g={annotationId:c.annotationId,annotation:c.annotation,duration:u,url:o.id,type:"Video",target:{type:"TemporalSelector",temporal:f.target},format:o.format,selector:{type:"TemporalSelector",temporal:f.source}},C=_helpers.expandTarget.call(void 0, c.target);if(C.selector&&(C.selector.type==="TemporalBoxSelector"||C.selector.type==="TemporalSelector")&&(g.target={...C.selector,temporal:f.target}),r&&!g.target.spatial&&(h=!0,g.target={type:"TemporalBoxSelector",temporal:g.target.temporal,spatial:{x:0,y:0,width:n.width,height:n.height}}),a){g.type="VideoYouTube";let m=o.id.match(X);if(!m[1])return l("Video is not known youtube video");g.youTubeId=m[1]}return{type:"media",media:g,annotations:{pages:[]},noSpatial:h,captions:s}}function M(e,t){let i=t.items,r=i[0];if(i.length===0||!r)return l("No audio");if(!e.duration)return l("No duration on canvas");if(i.length>1)return l("Only one audio source supported");let n=r.resource;if(!n)return l("Unknown audio");let{target:p,source:c}=P(e,r);return{type:"media",media:{annotationId:r.annotationId,annotation:r.annotation,duration:e.duration,url:n.id,type:"Sound",target:{type:"TemporalSelector",temporal:p},format:("format"in n&&typeof n.format=="string"?n.format:void 0)||"audio/mpeg",selector:{type:"TemporalSelector",temporal:c}},annotations:{pages:[]}}}function D(e,t,i,r){let n={type:"complex-timeline",items:[],keyframes:[],highlights:[],duration:e.duration||0},p={type:"complex-choice",items:[]},c=r.get([...e.annotations]);function h(o){o.choice&&(o.choice.type==="complex-choice"?p.items.push(...o.choice.items):p.items.push(o.choice))}for(let o of t.items){if(o.type==="image"){let a=V(e,{choice:null,allChoices:null,types:["image"],items:[o]},i);if(a.type==="images"){if(!a.image)continue;h(a),n.items.push(a.image);let s={id:a.image.annotationId,type:"enter",resourceType:"image",time:_optionalChain([a, 'access', _19 => _19.image, 'access', _20 => _20.target, 'optionalAccess', _21 => _21.temporal, 'optionalAccess', _22 => _22.startTime])||0};n.keyframes.push(s);let y={id:a.image.annotationId,type:"exit",resourceType:"image",time:_nullishCoalesce(_nullishCoalesce(_optionalChain([a, 'access', _23 => _23.image, 'access', _24 => _24.target, 'optionalAccess', _25 => _25.temporal, 'optionalAccess', _26 => _26.endTime]), () => (e.duration)), () => (0))};n.keyframes.push(y)}}if(o.type==="textualbody"){let a=A(e,{choice:null,allChoices:null,types:["textualbody"],items:[o]});if(a.type==="textual-content"){h(a);let s=a.items[0];n.items.push(s);let y=s.target,f={id:s.annotationId,type:"enter",resourceType:"text",time:_nullishCoalesce(_optionalChain([y, 'optionalAccess', _27 => _27.temporal, 'optionalAccess', _28 => _28.startTime]), () => (0))};n.keyframes.push(f);let g={id:s.annotationId,type:"exit",resourceType:"text",time:_nullishCoalesce(_nullishCoalesce(_optionalChain([y, 'optionalAccess', _29 => _29.temporal, 'optionalAccess', _30 => _30.endTime]), () => (e.duration)), () => (0))};n.keyframes.push(g)}}if(o.type==="video"){let a=O(e,{choice:null,allChoices:null,types:["video"],items:[o]},r,!0);if(a.type==="media"){h(a);let s=a.media;n.items.push(s);let y={id:s.annotationId,type:"enter",resourceType:"video",time:_optionalChain([s, 'access', _31 => _31.target, 'optionalAccess', _32 => _32.temporal, 'optionalAccess', _33 => _33.startTime])||0};n.keyframes.push(y);let f={id:s.annotationId,type:"exit",resourceType:"video",time:_nullishCoalesce(_nullishCoalesce(_optionalChain([s, 'access', _34 => _34.target, 'optionalAccess', _35 => _35.temporal, 'optionalAccess', _36 => _36.endTime]), () => (e.duration)), () => (0))};n.keyframes.push(f)}}if(o.type==="audio"||o.type==="sound"){let a=M(e,{choice:null,allChoices:null,types:["audio"],items:[o]});if(a.type==="media"){h(a);let s=a.media;n.items.push(s);let y={id:s.annotationId,type:"enter",resourceType:"audio",time:_optionalChain([s, 'access', _37 => _37.target, 'optionalAccess', _38 => _38.temporal, 'optionalAccess', _39 => _39.startTime])||0};n.keyframes.push(y);let f={id:s.annotationId,type:"exit",resourceType:"audio",time:_nullishCoalesce(_nullishCoalesce(_optionalChain([s, 'access', _40 => _40.target, 'optionalAccess', _41 => _41.temporal, 'optionalAccess', _42 => _42.endTime]), () => (e.duration)), () => (0))};n.keyframes.push(f)}}}for(let o of c)for(let a of o.items){let s=r.get(a),y=_helpers.expandTarget.call(void 0, s.target,{typeMap:_optionalChain([r, 'access', _43 => _43.getState, 'optionalCall', _44 => _44(), 'access', _45 => _45.iiif, 'access', _46 => _46.mapping])});if(_optionalChain([y, 'access', _47 => _47.selector, 'optionalAccess', _48 => _48.temporal])){let f={id:s.id,type:"enter",resourceType:"highlight",time:y.selector.temporal.startTime||0};n.keyframes.push(f);let g={id:s.id,type:"exit",resourceType:"highlight",time:y.selector.temporal.endTime||e.duration||0};n.keyframes.push(g)}n.highlights.push({annotation:s,target:y})}n.keyframes.sort((o,a)=>o.time-a.time);let d=[],u=[];for(let o of n.keyframes){if(o.resourceType==="image"||o.resourceType==="text"||o.resourceType==="highlight"){u.push(o);continue}if(o.type==="enter"){d.length===0&&(o.isPrime=!0),d.push(o),u.push(o);continue}if(o.type==="exit"&&(u.push(o),d=d.filter(a=>a.id!==o.id),d.length!==0)){let a=d[0],s={id:a.id,type:"change",isPrime:!0,resourceType:a.resourceType,time:o.time};u.push(s)}}return n.keyframes=u,p.items.length&&(n.choice=p),n}var N={},B={get(e){return e},setMetaValue([e,t,i],r){let n=B.getResourceMeta(e,t),p=n?n[i]:void 0,c=typeof r=="function"?r(p):r;N[e]={...N[e]||{},[t]:{...(N[e]||{})[t]||{},[i]:c}}},getResourceMeta:(e,t)=>{let i=N[e];if(i)return t?i[t]:i},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(i=>i.json())},requestStatus(e){}};function Qe({canvas:e,paintables:t,supports:i,loadImageService:r,vault:n=B}){if(_optionalChain([e, 'optionalAccess', _49 => _49.type])==="Scene")return l("Scene rendering is not supported");if(!e)return w;if(t.types.length===0){if(i.indexOf("empty")!==-1){let{width:o,height:a}=R(e);return U(o,a)}return w}let p=["image","textualbody","video","audio","sound"],c=t.items.filter(o=>p.includes(o.type));if(Number.isFinite(e.duration)&&(e.duration||0)>0&&(c.length>1||c.some(o=>o.type==="image"||o.type==="textualbody"?!0:!!_optionalChain([_helpers.expandTarget.call(void 0, o.target), 'access', _50 => _50.selector, 'optionalAccess', _51 => _51.temporal])||!!_optionalChain([_helpers.parseSelector.call(void 0, o.selector), 'access', _52 => _52.selector, 'optionalAccess', _53 => _53.temporal]))))return i.includes("complex-timeline")?D(e,t,r,n):l("Complex timeline not supported");if(t.types.length!==1)if(t.types.length===2&&t.types.indexOf("text")!==-1)t={...t,types:t.types.filter(o=>o!=="text")};else return i.indexOf("complex-timeline")===-1?l("Complex timeline not supported"):D(e,t,r,n);let u=t.types[0];return u==="image"?i.indexOf("images")===-1?l("Image not supported"):V(e,t,r):u==="Model"||u==="model"?i.indexOf("3d-model")===-1?l("3D not supported"):E(e,t):u==="textualbody"?i.indexOf("textual-content")===-1?l("Textual content not supported"):A(e,t):u==="sound"||u==="audio"?i.indexOf("media")===-1?l("Media not supported"):M(e,t):u==="video"?i.indexOf("media")===-1?l("Media not supported"):O(e,t,n):w}exports.a = R; exports.b = oe; exports.c = ne; exports.d = ie; exports.e = ce; exports.f = P; exports.g = k; exports.h = le; exports.i = w; exports.j = l; exports.k = U; exports.l = E; exports.m = V; exports.n = A; exports.o = O; exports.p = D; exports.q = Qe;
package/dist/core.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDZ7DMQ3Vcjs = require('./chunk-DZ7DMQ3V.cjs');var _chunkMIANDAMKcjs = require('./chunk-MIANDAMK.cjs');var _chunkLKWFF45Dcjs = require('./chunk-LKWFF45D.cjs');var _chunkL576POBVcjs = require('./chunk-L576POBV.cjs');require('./chunk-ZBGD3VEW.cjs');var _chunkZEGT4BARcjs = require('./chunk-ZEGT4BAR.cjs');var _annotationtargets = require('@iiif/helpers/annotation-targets');var _vault = require('@iiif/helpers/vault');exports.AnnotationContext = _chunkMIANDAMKcjs.g; exports.AnnotationPageContext = _chunkMIANDAMKcjs.h; exports.AnnotationStyleProvider = _chunkLKWFF45Dcjs.u; exports.Auth = _chunkL576POBVcjs.F; exports.AuthProvider = _chunkL576POBVcjs.x; exports.AuthRContext = _chunkL576POBVcjs.u; exports.AuthReactContext = _chunkL576POBVcjs.v; exports.AuthReactContextActions = _chunkL576POBVcjs.w; exports.CanvasContext = _chunkL576POBVcjs.d; exports.CollectionContext = _chunkMIANDAMKcjs.i; exports.ComplexTimelineProvider = _chunkL576POBVcjs.ba; exports.ControlsReactContext = _chunkL576POBVcjs.R; exports.EventEmitterProvider = _chunkLKWFF45Dcjs.p; exports.EventsProvider = _chunkL576POBVcjs.va; exports.ImageServiceLoaderContext = _chunkL576POBVcjs.Z; exports.InnerViewerProvider = _chunkLKWFF45Dcjs.l; exports.ManifestContext = _chunkLKWFF45Dcjs.d; exports.MediaPlayerProvider = _chunkLKWFF45Dcjs.z; exports.RangeContext = _chunkLKWFF45Dcjs.e; exports.ReactEmitterContext = _chunkLKWFF45Dcjs.o; exports.ReactEventContext = _chunkL576POBVcjs.ta; exports.ReactVaultContext = _chunkL576POBVcjs.e; exports.ResourceProvider = _chunkL576POBVcjs.c; exports.ResourceReactContext = _chunkL576POBVcjs.a; exports.SelectorControllerProvider = _chunkMIANDAMKcjs.a; exports.SimpleViewerProvider = _chunkLKWFF45Dcjs.m; exports.SimpleViewerReactContext = _chunkLKWFF45Dcjs.k; exports.StrategyReactContext = _chunkL576POBVcjs.P; exports.Vault = _vault.Vault; exports.VaultProvider = _chunkL576POBVcjs.f; exports.ViewerPresetContext = _chunkL576POBVcjs.qa; exports.VirtualAnnotationProvider = _chunkL576POBVcjs.X; exports.VisibleCanvasReactContext = _chunkL576POBVcjs.k; exports.createComplexTimelineStore = _chunkL576POBVcjs.fa; exports.createVaultHooks = _chunkMIANDAMKcjs.j; exports.defaultEmitter = _chunkL576POBVcjs.sa; exports.emptyActions = _chunkZEGT4BARcjs.h; exports.emptyStrategy = _chunkZEGT4BARcjs.k; exports.expandTarget = _annotationtargets.expandTarget; exports.expandTargets = _annotationtargets.expandTargets; exports.formatTime = _chunkL576POBVcjs.N; exports.get3dStrategy = _chunkZEGT4BARcjs.l; exports.getComplexTimelineStrategy = _chunkZEGT4BARcjs.p; exports.getCroppedThumbnail = _chunkL576POBVcjs.$; exports.getDefaultAnnotationStyles = _chunkLKWFF45Dcjs.s; exports.getImageStrategy = _chunkZEGT4BARcjs.m; exports.getManifestSequence = _chunkMIANDAMKcjs.v; exports.getMediaTemporalSelectors = _chunkZEGT4BARcjs.f; exports.getParsedTargetSelector = _chunkZEGT4BARcjs.g; exports.getRenderingStrategy = _chunkZEGT4BARcjs.q; exports.getTextualContentStrategy = _chunkZEGT4BARcjs.n; exports.getVideoStrategy = _chunkZEGT4BARcjs.o; exports.getVisibleCanvasesFromCanvasId = _chunkMIANDAMKcjs.w; exports.parseSelector = _annotationtargets.parseSelector; exports.parseSpecificResource = _chunkZEGT4BARcjs.e; exports.resolveKeyframeChanges = _chunkL576POBVcjs.ea; exports.unknownResponse = _chunkZEGT4BARcjs.i; exports.unsupportedStrategy = _chunkZEGT4BARcjs.j; exports.useActiveVault = _chunkL576POBVcjs.g; exports.useAnnotation = _chunkL576POBVcjs.I; exports.useAnnotationPage = _chunkLKWFF45Dcjs.v; exports.useAnnotationPageManager = _chunkL576POBVcjs.xa; exports.useAnnotationStyles = _chunkLKWFF45Dcjs.t; exports.useAnnotationsAtTime = _chunkMIANDAMKcjs.l; exports.useAuthActions = _chunkL576POBVcjs.A; exports.useAuthService = _chunkL576POBVcjs.C; exports.useAuthStore = _chunkL576POBVcjs.z; exports.useAuthToken = _chunkL576POBVcjs.E; exports.useAuthTokens = _chunkL576POBVcjs.D; exports.useCanvas = _chunkL576POBVcjs.J; exports.useCanvasClock = _chunkMIANDAMKcjs.m; exports.useCanvasSequence = _chunkLKWFF45Dcjs.h; exports.useCanvasStartTime = _chunkLKWFF45Dcjs.A; exports.useCanvasSubset = _chunkMIANDAMKcjs.n; exports.useCollection = _chunkDZ7DMQ3Vcjs.a; exports.useComplexTimeline = _chunkL576POBVcjs.da; exports.useComplexTimelineStore = _chunkL576POBVcjs.ca; exports.useContainerSequence = _chunkLKWFF45Dcjs.g; exports.useCurrentAuth = _chunkL576POBVcjs.B; exports.useDispatch = _chunkL576POBVcjs.T; exports.useEmitter = _chunkLKWFF45Dcjs.q; exports.useEvent = _chunkLKWFF45Dcjs.r; exports.useEventEmitter = _chunkL576POBVcjs.ua; exports.useEventListener = _chunkMIANDAMKcjs.o; exports.useExistingVault = _chunkLKWFF45Dcjs.a; exports.useExternalCollection = _chunkDZ7DMQ3Vcjs.b; exports.useExternalManifest = _chunkLKWFF45Dcjs.c; exports.useExternalResource = _chunkLKWFF45Dcjs.b; exports.useImage = _chunkMIANDAMKcjs.f; exports.useImageService = _chunkMIANDAMKcjs.p; exports.useImageServiceLoader = _chunkL576POBVcjs._; exports.useImageTile = _chunkMIANDAMKcjs.q; exports.useIsAuthEnabled = _chunkL576POBVcjs.y; exports.useLoadImageService = _chunkL576POBVcjs.za; exports.useManifest = _chunkL576POBVcjs.n; exports.useMediaActions = _chunkLKWFF45Dcjs.x; exports.useMediaElements = _chunkLKWFF45Dcjs.y; exports.useMediaState = _chunkLKWFF45Dcjs.w; exports.usePaintables = _chunkL576POBVcjs.Ba; exports.usePaintingAnnotations = _chunkMIANDAMKcjs.k; exports.useRange = _chunkLKWFF45Dcjs.f; exports.useRemoteStylesheet = _chunkL576POBVcjs.H; exports.useRenderControls = _chunkL576POBVcjs.S; exports.useRenderingStrategy = _chunkL576POBVcjs.Ca; exports.useResourceContext = _chunkL576POBVcjs.b; exports.useResourceEvents = _chunkL576POBVcjs.K; exports.useResources = _chunkL576POBVcjs.ya; exports.useSearchService = _chunkLKWFF45Dcjs.i; exports.useSelectorController = _chunkMIANDAMKcjs.d; exports.useSelectorEmitter = _chunkMIANDAMKcjs.b; exports.useSelectorEvents = _chunkMIANDAMKcjs.c; exports.useSelectorForVault = _chunkL576POBVcjs.i; exports.useSelectorHelper = _chunkMIANDAMKcjs.e; exports.useSimpleMediaPlayer = _chunkL576POBVcjs.O; exports.useSimpleViewer = _chunkLKWFF45Dcjs.n; exports.useStaticRenderingStrategy = _chunkMIANDAMKcjs.r; exports.useStrategy = _chunkL576POBVcjs.Q; exports.useStyleHelper = _chunkMIANDAMKcjs.s; exports.useStyles = _chunkL576POBVcjs.L; exports.useStylesheetStore = _chunkL576POBVcjs.G; exports.useThumbnail = _chunkL576POBVcjs.aa; exports.useVault = _chunkL576POBVcjs.h; exports.useVaultEffect = _chunkL576POBVcjs.Y; exports.useVaultSelector = _chunkL576POBVcjs.j; exports.useViewerPreset = _chunkL576POBVcjs.ra; exports.useViewportScroll = _chunkMIANDAMKcjs.u; exports.useViewportTour = _chunkMIANDAMKcjs.t; exports.useVirtualAnnotationPage = _chunkL576POBVcjs.U; exports.useVirtualAnnotationPageContext = _chunkL576POBVcjs.W; exports.useVisibleCanvasContainers = _chunkL576POBVcjs.m; exports.useVisibleCanvases = _chunkL576POBVcjs.l;
@@ -0,0 +1,133 @@
1
+ export * from '@iiif/helpers/annotation-targets';
2
+ export { PointSelector, SvgSelector, expandTarget, expandTargets, parseSelector } from '@iiif/helpers/annotation-targets';
3
+ import { Reference } from '@iiif/parser/presentation-3/types';
4
+ export * from '@iiif/parser/presentation-3/types';
5
+ export { ImageService as IIIFImageService, ResourceProvider as IIIFResourceProvider } from '@iiif/parser/presentation-3/types';
6
+ import { AnnotationNormalized, AnnotationPageNormalized, CanvasNormalized, CollectionNormalized, ManifestNormalized, RangeNormalized } from '@iiif/parser/presentation-3-normalized/types';
7
+ export * from '@iiif/parser/presentation-3-normalized/types';
8
+ import { Vault, IIIFStore } from '@iiif/helpers/vault';
9
+ export { Vault } from '@iiif/helpers/vault';
10
+ import { ac as ResourceRequestOptions, b0 as ActiveVault } from './SimpleViewerContext.hooks-CTgfe0Gg.cjs';
11
+ export { A as AnnotationContext, e as AnnotationPageContext, j as AnnotationStyleProvider, f as AnnotationStyles, g as AnnotationThemeDefinition, x as Auth, o as AuthProvider, l as AuthRContext, m as AuthReactContext, n as AuthReactContextActions, k as AuthState, C as CanvasContext, y as CollectionContext, z as ControlsContext, B as ControlsReactContext, at as EasingInput, a9 as EventEmitterProvider, H as EventsProvider, I as ImageServiceLoaderContext, af as ImageServiceRequestOptions, aJ as InnerViewerProvider, M as ManifestContext, O as MediaPlayerProvider, P as RangeContext, a8 as ReactEmitterContext, F as ReactEventContext, a as ReactVaultContext, Q as ResourceContextType, R as ResourceProvider, S as ResourceReactContext, W as SelectorControllerProvider, U as SelectorHelperEventTypes, aK as SimpleViewerProvider, aI as SimpleViewerReactContext, aw as UseViewportScrollOptions, au as UseViewportTourOptions, V as VaultActivatedAnnotation, a1 as VaultHooks, aZ as VaultProvider, d as VirtualAnnotationProvider, b as VisibleCanvasReactContext, a2 as createVaultHooks, E as defaultEmitter, $ as getComplexTimelineStrategy, ar as getCroppedThumbnail, h as getDefaultAnnotationStyles, a0 as getVideoStrategy, b1 as useActiveVault, a3 as useAnnotationPageManager, i as useAnnotationStyles, r as useAuthActions, t as useAuthService, q as useAuthStore, w as useAuthToken, v as useAuthTokens, a4 as useCanvasClock, aN as useCanvasSequence, a5 as useCanvasStartTime, aM as useContainerSequence, s as useCurrentAuth, a6 as useDispatch, aa as useEmitter, ab as useEvent, G as useEventEmitter, a7 as useEventListener, ad as useExternalResource, ae as useImage, ag as useImageService, J as useImageServiceLoader, ah as useImageTile, p as useIsAuthEnabled, L as useMediaActions, N as useMediaElements, K as useMediaState, ai as usePaintables, al as useRemoteStylesheet, D as useRenderControls, T as useResourceContext, am as useResourceEvents, an as useResources, ao as useSearchService, Z as useSelectorController, X as useSelectorEmitter, Y as useSelectorEvents, _ as useSelectorHelper, aL as useSimpleViewer, aj as useStaticRenderingStrategy, ap as useStyleHelper, aq as useStyles, ak as useStylesheetStore, as as useThumbnail, b2 as useVault, ax as useViewportScroll, av as useViewportTour, u as useVirtualAnnotationPage, c as useVirtualAnnotationPageContext, a$ as useVisibleCanvasContainers, a_ as useVisibleCanvases } from './SimpleViewerContext.hooks-CTgfe0Gg.cjs';
12
+ import { DependencyList } from 'react';
13
+ import { Vault4 } from '@iiif/helpers/vault-4';
14
+ export { h as ComplexTimelineController, k as ComplexTimelineEvents, C as ComplexTimelineProvider, j as ComplexTimelineStore, e as MediaPlayerActions, M as MediaPlayerState, S as StrategyContext, b as StrategyReactContext, V as ViewerPresetContext, i as createComplexTimelineStore, f as formatTime, r as resolveKeyframeChanges, a as useComplexTimeline, u as useComplexTimelineStore, g as useSimpleMediaPlayer, c as useStrategy, d as useViewerPreset } from './ViewerPresetContext-DwFTIkDx.cjs';
15
+ export { f as AnnotationPageDescription, A as AudioSequence, n as ChoiceEvents, C as ComplexTimelineStrategy, E as EmptyStrategy, k as ImageServiceLoaderType, I as ImageWithOptionalService, M as MediaStrategy, R as RenderingStrategy, S as Single3DModelStrategy, c as SingleAudio, a as SingleImageStrategy, e as SingleVideo, d as SingleYouTubeVideo, l as StrategyActions, i as TextContent, h as TextualContentStrategy, T as TimelineKeyframe, U as UnknownStrategy, m as UseRenderingStrategy, o as UseRenderingStrategyOptions, V as VideoSequence, g as get3dStrategy, b as getImageStrategy, j as getTextualContentStrategy, u as useLoadImageService, p as useRenderingStrategy } from './useRenderingStrategy-Vubk-vUU.cjs';
16
+ export { e as emptyActions, d as emptyStrategy, a as getMediaTemporalSelectors, b as getParsedTargetSelector, g as getRenderingStrategy, p as parseSpecificResource, u as unknownResponse, c as unsupportedStrategy } from './utils-De5WTLDh.cjs';
17
+ export { c as SimpleViewerActions, d as SimpleViewerActionsType, S as SimpleViewerContext, a as SimpleViewerProps, b as SimpleViewerReducerState } from './SimpleViewerContext.types-Df-cpBss.cjs';
18
+ export { getManifestSequence, getVisibleCanvasesFromCanvasId } from '@iiif/helpers/sequences';
19
+ import 'react/jsx-runtime';
20
+ import '@atlas-viewer/atlas';
21
+ import 'zustand/vanilla';
22
+ import 'mitt';
23
+ import '@iiif/helpers/image-service';
24
+ import '@iiif/helpers';
25
+ import '@iiif/helpers/vault/store';
26
+ import '@iiif/parser/image-3';
27
+ import '@iiif/helpers/painting-annotations';
28
+ import 'zustand';
29
+ import '@iiif/helpers/styles';
30
+ import '@iiif/parser/presentation-4-normalized/types';
31
+ import '@iiif/parser/presentation-4/types';
32
+
33
+ declare function useAnnotationsAtTime(time: number, options?: {
34
+ canvasId?: string;
35
+ }): AnnotationNormalized[];
36
+
37
+ declare function useCanvasSubset(idsOrRefs?: Array<string | Reference>): Reference<'Canvas'>[];
38
+
39
+ declare function usePaintingAnnotations(options?: {
40
+ canvasId?: string;
41
+ enableSingleAnnotation?: boolean;
42
+ }): AnnotationNormalized[];
43
+
44
+ declare function useAnnotation(options?: {
45
+ id?: string;
46
+ selector?: undefined;
47
+ }): AnnotationNormalized | undefined;
48
+ declare function useAnnotation<T>(options?: {
49
+ id: string;
50
+ selector: (annotation: AnnotationNormalized) => T;
51
+ }, deps?: DependencyList): T | undefined;
52
+
53
+ declare function useAnnotationPage(options?: {
54
+ id?: string;
55
+ selector?: undefined;
56
+ }): AnnotationPageNormalized | undefined;
57
+ declare function useAnnotationPage<T>(options?: {
58
+ id: string;
59
+ selector: (annotation: AnnotationPageNormalized) => T;
60
+ }, deps?: DependencyList): T | undefined;
61
+
62
+ declare function useCanvas(options?: {
63
+ id?: string;
64
+ selector?: undefined;
65
+ }): CanvasNormalized | undefined;
66
+ declare function useCanvas<T>(options?: {
67
+ id: string;
68
+ selector: (canvas: CanvasNormalized) => T;
69
+ }, deps?: DependencyList): T | undefined;
70
+
71
+ declare function useCollection(options: {
72
+ id: string;
73
+ selector?: undefined;
74
+ }): CollectionNormalized | undefined;
75
+ declare function useCollection<T>(options: {
76
+ id: string;
77
+ selector: (collection: CollectionNormalized) => T;
78
+ }, deps?: DependencyList): T | undefined;
79
+
80
+ declare function useExistingVault(vault?: Vault): Vault;
81
+ declare function useExistingVault<TVault extends Vault | Vault4>(vault: TVault): TVault;
82
+ declare function useExistingVault(vault: Vault | Vault4 | undefined): Vault | Vault4;
83
+
84
+ declare function useExternalCollection(idOrRef: string | {
85
+ id: string;
86
+ type: string;
87
+ }, options?: ResourceRequestOptions): {
88
+ id: string;
89
+ requestId: string;
90
+ isLoaded: boolean;
91
+ cached?: boolean;
92
+ error: any;
93
+ /** @deprecated Use collection. Retained for existing consumers. */
94
+ manifest?: CollectionNormalized;
95
+ collection?: CollectionNormalized;
96
+ };
97
+
98
+ declare function useExternalManifest(idOrRef: string | {
99
+ id: string;
100
+ type: string;
101
+ }, options?: ResourceRequestOptions): {
102
+ id: string;
103
+ requestId: string;
104
+ isLoaded: boolean;
105
+ cached?: boolean;
106
+ error: any;
107
+ manifest?: ManifestNormalized;
108
+ };
109
+
110
+ declare function useManifest(options?: {
111
+ id?: string;
112
+ selector?: undefined;
113
+ }): ManifestNormalized | undefined;
114
+ declare function useManifest<T>(options?: {
115
+ id: string;
116
+ selector: (manifest: ManifestNormalized) => T;
117
+ }, deps?: DependencyList): T | undefined;
118
+
119
+ declare function useRange(options?: {
120
+ id?: string;
121
+ selector?: undefined;
122
+ }): RangeNormalized | undefined;
123
+ declare function useRange<T>(options?: {
124
+ id: string;
125
+ selector: (range: RangeNormalized) => T;
126
+ }, deps?: DependencyList): T | undefined;
127
+
128
+ declare function useVaultEffect(callback: (vault: Vault) => void, deps?: DependencyList): void;
129
+
130
+ declare function useSelectorForVault<T, TVault extends ActiveVault>(vault: TVault, selector: (state: IIIFStore, vault: TVault) => T, deps?: DependencyList): T;
131
+ declare function useVaultSelector<T>(selector: (state: IIIFStore, vault: Vault) => T, deps?: DependencyList): T;
132
+
133
+ export { ActiveVault, ResourceRequestOptions, useAnnotation, useAnnotationPage, useAnnotationsAtTime, useCanvas, useCanvasSubset, useCollection, useExistingVault, useExternalCollection, useExternalManifest, useManifest, usePaintingAnnotations, useRange, useSelectorForVault, useVaultEffect, useVaultSelector };