@manifest-editor/shell 2.0.2-next.0.fed8073 → 2.0.3-next.0.2c09e87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +41 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +31 -31
- package/dist/index.d.cts +74 -66
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +73 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -39
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@manifest-editor/components`),l=require(`react`);l=s(l);let u=require(`react/jsx-runtime`),d=require(`styled-components`);d=s(d);let f=require(`react-accessible-dropdown-menu-hook`);f=s(f);let p=require(`react-iiif-vault`),m=require(`immer`),h=require(`@iiif/helpers`),g=require(`@iiif/helpers/vault`);g=s(g);let _=require(`@iiif/parser`),v=require(`@manifest-editor/creator-api`),y=require(`zustand`),
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@manifest-editor/components`),l=require(`react`);l=s(l);let u=require(`react/jsx-runtime`),d=require(`styled-components`);d=s(d);let f=require(`react-accessible-dropdown-menu-hook`);f=s(f);let p=require(`react-iiif-vault`),m=require(`immer`),h=require(`@iiif/helpers`),g=require(`@iiif/helpers/vault`);g=s(g);let _=require(`@iiif/parser`),v=require(`@manifest-editor/creator-api`),y=require(`zustand`),b=require(`react-error-boundary`),x=require(`@iiif/helpers/vault/actions`),S=require(`@iiif/helpers/vault/utility`),C=require(`@manifest-editor/editor-api`),w=require(`mitt`);w=s(w);let ee=require(`tiny-use-debounce`),te=require(`react-transition-group`),T=require(`shallowequal`);T=s(T);let ne=require(`@atlas-viewer/iiif-image-api`);var E=process.env.NODE_ENV===`production`,D=`Invariant failed`;function O(e,t){if(!e){if(E)throw Error(D);var n=typeof t==`function`?t():t,r=n?`${D}: ${n}`:D;throw Error(r)}}const k={previews:[],behaviorPresets:[`auto-advance`,`no-auto-advance`,`repeat`,`no-repeat`,`unordered`,`individuals`,`continuous`,`paged`,`non-paged`,`facing-pages`,`multi-part`,`together`,`sequence`,`thumbnail-nav`,`no-nav`,`hidden`],defaultPreview:null,editorConfig:{},newTemplates:null,i18n:{advancedLanguageMode:!1,availableLanguages:[`en`,`cy`,`nl`,`fr`],defaultLanguage:`en`},editorFeatureFlags:{enableMultiImageCanvases:!0,enableMultiMediaCanvases:!0,annotationPopups:!1,rememberCanvasId:!0,manifestGridOptions:!1,rememberLeftPanelId:!1},uploadBackends:[],export:{baseIdentifier:null,version:3}},A=(0,l.createContext)(k),j=(0,l.createContext)(()=>{});function M(){return(0,l.useContext)(A)}function re(){return(0,l.useContext)(j)}function N({children:e,config:t,saveConfig:n}){let[r,i]=(0,l.useState)(null),a=(0,l.useMemo)(()=>({...k,...t||{},...r||{},editorFeatureFlags:{...k.editorFeatureFlags,...t?.editorFeatureFlags||{},...r?.editorFeatureFlags}}),[t,r]),o=(0,l.useCallback)(e=>{i(e),n&&n(e)},[t]);return(0,u.jsx)(j.Provider,{value:o,children:(0,u.jsx)(A.Provider,{value:a,children:e})})}const ie=(0,l.createContext)(null),ae=(0,l.createContext)(null),oe=(0,l.createContext)({state:null,setState:()=>{}});function se(){let e=(0,l.useContext)(ae);return O(e,`Hook useAppInstance must be used inside <AppProvider />`),e}function P(){let e=(0,l.useContext)(ie);return O(e,`Hook useApp must be used inside <AppProvider />`),e}function ce(){return(0,l.useContext)(oe)}function le(e){let[t,n,r]=(0,c.useLocalStorage)(`app-state/${e.appId}/${e.instanceId}`,e.initialState||{}),i=(0,l.useCallback)(e=>{let t=r.current?JSON.parse(r.current||`{}`):{},i=(typeof e==`function`?e(t):e)||{};n({...t,...i})},[]);(0,l.useEffect)(()=>{e.args&&i(e.args)},[e.appId]);let a=(0,l.useMemo)(()=>({state:t||{},setState:i}),[i,t]);return(0,u.jsx)(oe.Provider,{value:a,children:e.children})}function ue({instanceId:e,appId:t,args:n,definition:r,children:i,initialState:a}){let o=(0,l.useMemo)(()=>({instanceId:e,appId:t,args:n}),[e,t,n]),s=(0,l.useMemo)(()=>a||{},[e]);return(0,u.jsx)(N,{config:r.config||{},children:(0,u.jsx)(ie.Provider,{value:r,children:(0,u.jsx)(ae.Provider,{value:o,children:(0,u.jsx)(le,{instanceId:o.instanceId,appId:o.appId,args:o.args,initialState:s,children:i})})})})}const de=(0,l.createContext)(null);function fe(){let e=(0,l.useContext)(de);return O(e,`Hook useApps must be used inside <MultiAppProvider />`),e}function pe(e,t=!1){let[n,r]=(0,c.useOptionalLocalStorage)(`SelectedApplication`,e||{id:`splash`},!t);return[n,r]}function me({apps:e,initialApp:t,saveCurrentApp:n=!0,instanceId:r,children:i,config:a={}}){let{defaultApp:o=`splash`,collectionApp:s=`collection-editor`,manifestApp:c=`manifest-editor`}=a,[d,f]=pe(t,n),p=e=>{e===`Manifest`&&f({id:c}),e===`Collection`&&f({id:s})},m=(0,l.useMemo)(()=>({currentApp:d||{id:o},initialApp:t||{id:o},apps:e,changeApp:f,changeProjectType:p}),[t,e,d]),h=e[m.currentApp.id];return!d||!h?null:(0,u.jsx)(ue,{appId:d.id,definition:h,instanceId:d.id+r,args:d.args,children:(0,u.jsx)(de.Provider,{value:m,children:i})})}const he=d.default.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
height: 3em;
|
|
@@ -423,13 +423,13 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
423
423
|
> * {
|
|
424
424
|
min-width: 0;
|
|
425
425
|
}
|
|
426
|
-
`;function $t({panel:e,state:t,actions:n,isLeft:r,pinActions:i=n,transition:a,close:o,available:s=[],style:c,noHeader:d}){let m=(0,l.useContext)(p.ReactVaultContext)||null,[h,g]=(0,l.useState)(!1),_=ce(),v=Pt(),{tabs:y,pinnable:b,hideHeader:x}=e?.options||{},S=[_.state.canvasId,e?.id],C=(0,l.useMemo)(()=>(s||[]).filter(e=>!e.requiresState),[s]),{itemProps:w,isOpen:te,setIsOpen:T}=(0,f.default)(C.length),[ne,E]=(0,l.useState)(``),D=(0,l.useRef)();(0,l.useEffect)(()=>g(!1),S),(0,l.useEffect)(()=>E(``),[e]),(0,l.useEffect)(()=>(D.current=E,()=>{D.current=void 0}),[]);let O=(0,l.useCallback)(e=>{D.current&&D.current(e)},[]),k=(0,l.useCallback)(r=>{let i=e?t.stack.length?n.popStack:e.backAction?()=>e&&e.backAction&&e.backAction(t,{...v,current:n},_):null:null;r&&(!i||r.metaKey)&&C.length?(r.preventDefault(),T(!0)):i&&i()},[n,_,v,e,T,t,C.length]),A=r=>{n.change({id:r.id,state:r.defaultState,stacked:!!(t.stack.length||e?.backAction)})};if(!e||!t.current)return null;let j=e.backAction||t.stack.length?(0,u.jsx)(U,{onClick:k,children:(0,u.jsx)(kt,{})}):null,M=(0,u.jsx)(U,{onClick:o||n.close,children:(0,u.jsx)(F,{})});return(0,u.jsx)(Kt.Provider,{value:O,children:(0,u.jsxs)(Jt,{"data-state":a,"data-flipped":r,style:c,"data-header":!d,children:[d?null:(0,u.jsxs)(Yt,{"data-tabs":!!y,"data-error":h,children:[(0,u.jsxs)(zt,{style:{display:`flex`,height:`100%`},children:[e.renderBackAction?e.renderBackAction({backAction:k,fallback:j}):j,C.length?(0,u.jsxs)(Ht,{$open:te,style:{left:`0.5em`},children:[(0,u.jsx)(Ut,{children:`All panels`}),(0,u.jsx)(Wt,{}),C.map((t,n)=>(0,u.jsx)(Vt,{...w[n],onClick:()=>A(t),$active:e.id===t.id,children:t.label},n))]}):null]}),ne?(0,u.jsx)(Zt,{children:ne}):x?(0,u.jsx)(Xt,{}):(0,u.jsx)(Zt,{children:e.label}),b?t.pinned?(0,u.jsx)(U,{onClick:i.unpin,children:(0,u.jsx)(Ot,{fill:`orange`})}):(0,u.jsx)(U,{onClick:()=>i.pin({id:e.id,state:t.state}),children:(0,u.jsx)(Ot,{fill:`#ddd`})}):null,e.renderCloseAction?e.renderCloseAction({closeAction:o||n.close,fallback:M}):M]}),(0,u.jsx)(Qt,{className:`OverrideScrollbar`,children:(0,u.jsx)(ee.ErrorBoundary,{onError:()=>g(!0),FallbackComponent:Ft,resetKeys:S,onReset:()=>g(!1),children:Rt(e.render(t.state||e.defaultState||{},{...v,current:n,vault:m,transition:a},_))})})]})})}function en(e=`vault://homepage-collection.json`){let t=new g.Vault,n=window.localStorage.getItem(`preview-vault-collection`),r=!1;if(n)try{let i=JSON.parse(n);if(i.id&&i.id===e){t.dispatch((0,b.requestResource)({id:i.id}));let e=(0,x.actionListFromResource)(i.id,i);t.dispatch((0,b.batchActions)({actions:e})),r=!0}}catch{}if(!r){let n=(0,x.actionListFromResource)(e,{"@context":`http://iiif.io/api/presentation/3/context.json`,id:e,type:`Collection`,label:{en:[`Recent items`]},items:[]});t.dispatch((0,b.requestResource)({id:e})),t.dispatch((0,b.batchActions)({actions:n}))}return t.on(`after:@iiif/REMOVE_REFERENCE`,n=>{n.action.payload.id===e&&window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}),{vault:t,unsubscribe:()=>{},addHistory:(n,r)=>{let i=t.getState();if(n&&r&&(r===`Collection`||r===`Manifest`)){let a=i.iiif.entities.Collection[e];if(a){let i=a.items.findIndex(e=>e.id===n);i===-1?t.dispatch((0,b.addReference)({id:e,type:`Collection`,reference:{id:n,type:r},key:`items`,index:0})):t.dispatch((0,b.reorderEntityField)({id:e,type:`Collection`,key:`items`,startIndex:i,endIndex:0})),window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}}},clearHistory:()=>{t.dispatch((0,b.modifyEntityField)({id:e,type:`Collection`,key:`items`,value:[]})),window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}}}function tn(){return(0,l.useContext)(nn)}const nn=(0,l.createContext)(new g.Vault),rn=(0,l.createContext)({addHistory:(e,t)=>{},clearHistory:()=>{}}),an=`manifest-editor://homepage-collection.json`;function on(){return(0,l.useContext)(rn)}function sn(e){let{vault:t,unsubscribe:n,addHistory:r,clearHistory:i}=(0,l.useMemo)(()=>en(an),[]);return(0,l.useEffect)(()=>n,[]),(0,u.jsx)(rn.Provider,{value:{addHistory:r,clearHistory:i},children:(0,u.jsx)(nn.Provider,{value:t,children:e.children})})}function cn({children:e}){return(0,u.jsx)(p.VaultProvider,{vault:tn(),children:e})}function ln(e,t,n,r,i){let a=(0,p.useVault)(),o=P(),{create:s,edit:c}=H(),u=(0,l.useMemo)(()=>(0,v.matchBasedOnResource)({type:n,parent:e,index:0,property:t},o.layout.creators||[],{vault:a}),[e,t,o.layout.creators,n,a]),d=e&&u.length!==0,f=(0,l.useCallback)((a,o)=>{if(e)return s({type:n,parent:(0,_.toRef)(e),property:t,index:a,target:r,initialData:o,...i||{}})},[s,e,t,n,i,r]),m=(0,l.useCallback)((a,o,c)=>{if(e)return s({type:n,filter:a,parent:(0,_.toRef)(e),property:t,index:o,target:r,initialData:c,...i||{}})},[s,e,t,n,i,r]);return[d,{create:f,edit:(0,l.useCallback)((n,r)=>{c(n,e?{parent:(0,_.toRef)(e),property:t,index:r}:void 0)},[c,e,t]),createFiltered:m,creator:(0,l.useCallback)((a,o)=>{if(e)return s({type:n,initialCreator:a,parent:(0,_.toRef)(e),property:t,target:r,initialData:o,...i||{}})},[n,t,e,r,s,i]),buttonProps:(0,l.useMemo)(()=>({"data-action-id":xt(n,t,e)}),[n,t,e])}]}function un(){let e=(0,p.useVault)(),t=tn(),n=P();return(0,l.useMemo)(()=>new v.Creator(e,n.layout.creators||[],t),[n.layout.creators,e])}const dn=(0,l.memo)(function(e){let t=(0,p.useVault)(),{edit:n,modal:r}=H(),[i,a]=(0,l.useState)(!1),[o,s]=(0,l.useState)(null),d=un(),f=(0,l.useRef)(!1),m=e.resource.initialData?.selector;Et(m);let h={targetType:e.resource.type,parent:e.resource.parent?{property:e.resource.property,atIndex:e.resource.index,resource:e.resource.parent}:void 0,target:e.resource.target,initialData:e.resource.initialData},g=t=>{try{if(i||f.current)return;a(!0),f.current=!0,d.create(e.creator.id,t,h).catch(e=>(s(e?.message||`Unknown error`),null)).then(async t=>{if(e.onCreate?.(),e.skipEditingOnCreate||!t)return;let i=Array.isArray(t)?t[0]:t;a(!1),r.popStack(),r.close(),i&&n(i,{parent:(0,_.toRef)(e.resource.parent),property:e.resource.property,index:e.resource.index})})}catch(e){s(e?.message||`Unknown error`)}},v=async()=>!0;if((0,l.useEffect)(()=>{e.resource.initialData?.showEmptyForm||!e.creator.render&&!i&&g({})},[e.creator]),o)return(0,u.jsx)(`div`,{className:`flex flex-col items-center p-4`,children:(0,u.jsx)(c.ErrorMessage,{children:o})});let y=(0,u.jsx)(`div`,{className:`flex flex-col items-center py-8`,children:(0,u.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[(0,u.jsx)(c.Spinner,{}),` `,(0,u.jsx)(`span`,{children:`Loading`})]})});return i?y:e.creator.render?(0,u.jsx)(u.Fragment,{children:(0,u.jsx)(l.Suspense,{fallback:y,children:e.creator.render({vault:t,runCreate:g,validate:v,options:h})})}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.EmptyState,{children:`No options available`}),(0,u.jsx)(c.ActionButton,{primary:!0,onPress:()=>g({}),children:e.creator.actionButton||`Create`})]})});function fn(e){let t=P(),n=(0,p.useVault)(),[r,i]=(0,l.useState)(e.resource.initialCreator||``),a=qt(),o=(0,l.useMemo)(()=>(0,v.matchBasedOnResource)(e.resource,t.layout.creators||[],{vault:n}),[e.resource,t.layout.creators,n]);o.length===1&&!r&&i(o[0].id);let s=o.find(e=>e.id===r);if((0,l.useEffect)(()=>{s&&a?.(s.label)}),o.length===0)return(0,u.jsx)(c.EmptyState,{children:`Not currently supported`});let d=(0,u.jsx)(c.ModalBackSlot,{children:(0,u.jsx)(c.IconButton,{root:document.getElementById(`headlessui-portal-root`)||void 0,label:`Back to Add content options`,className:`group`,placement:`right`,onPress:()=>i(``),children:(0,u.jsx)(c.GridIcon,{className:`text-2xl opacity-50 group-hover:opacity-70`})})});return s?s.hiddenModal?(0,u.jsxs)(u.Fragment,{children:[d,(0,u.jsx)(dn,{creator:s,resource:e.resource})]}):(0,u.jsxs)(`div`,{children:[d,(0,u.jsx)(`div`,{className:`p-2 py-6`,children:(0,u.jsx)(dn,{creator:s,resource:e.resource})})]}):(0,u.jsx)(c.CreatorGrid,{label:`Select a type`,items:o.map(e=>({id:e.id,title:e.label,description:e.summary||``,icon:e.icon,onClick:()=>i(e.id)}))})}const pn={id:`@manifest-editor/creator`,label:`Add content`,options:{hideHeader:!0,tabs:!1},render(e){return(0,u.jsx)(fn,{resource:e})}};function mn(e,t){switch(t.type){case`setStack`:return{...e,stack:t.payload.resources,current:t.payload.resources[0]||null};case`edit`:{let n=t.payload.reset;return(t.payload.resource?.resource.source?.type===`Manifest`||t.payload.resource?.resource.source?.type===`Canvas`)&&(n=!0),e.current?.resource.source.id===t.payload.resource?.resource.source.id?{...e,current:t.payload.resource}:{...e,current:t.payload.resource,stack:n?[]:e.current?[e.current,...e.stack]:e.stack}}case`syncRemoval`:{let n=(0,_.toRef)(t.payload.resource.resource);if(!n||!e.stack.find(e=>(0,_.toRef)(e.resource)?.id===n.id))return e;let r=e.current?.resource.id===n.id?null:e.current,i=hn(e.stack.filter(e=>(0,_.toRef)(e.resource)?.id!==n.id),r);return{...e,stack:i,current:r}}case`updateCurrent`:return{...e,current:t.payload.resource};case`back`:{let t=e.stack[0];return{...e,stack:e.stack.slice(1),current:t||null}}case`close`:return{...e,stack:[],current:null};case`create`:return t.payload.resource===null?{...e,create:null}:{...e,create:t.payload}}return e}function hn(e,t){let n=[],r=null;for(let t of e)r?.resource.id!==t.resource.id&&(n.push(t),r=t);return r&&r.resource.id===t?.resource.id?n.slice(0,n.length-1):n}const gn={stack:[],current:null,create:null},W=(0,l.createContext)(gn),_n=(0,l.createContext)({edit(){},close(){},back(){},setStack(){},updateCurrent(){},create(){return()=>{}}});function vn(){return(0,l.useContext)(_n)}function yn(){return(0,l.useContext)(W).current}function bn(){return(0,l.useContext)(W).stack}function xn(){return(0,l.useContext)(W).create}function Sn(){let{manifest:e}=(0,p.useResourceContext)(),t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(e=>e+1,0);O(e,`Manifest not found`);let i=(0,l.useMemo)(()=>new S.EditorInstance({reference:{id:e,type:`Manifest`},vault:t}),[e,t]);return(0,l.useEffect)(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function Cn(){let{collection:e}=(0,p.useResourceContext)(),t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(e=>e+1,0);O(e,`Collection not found`);let i=(0,l.useMemo)(()=>new S.EditorInstance({reference:{id:e,type:`Collection`},vault:t}),[e,t]);return(0,l.useEffect)(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function wn(e,t={}){let n=(0,p.useVault)(),[r,i]=(0,l.useReducer)(e=>e+1,0);!t.allowNull&&O(e,`Resource not found`);let a=(0,l.useMemo)(()=>t.allowNull&&!e?null:new S.EditorInstance({reference:(0,_.toRef)(e),vault:n,context:{resource:e,parent:t.parent,index:t.index,parentProperty:t.parentProperty}}),[e,n]);return(0,l.useEffect)(()=>a?.observe.start(i),[a]),a&&(a.observe.key=`${r}`,a.observe.reset()),a}function Tn(){let{annotationPage:e}=(0,p.useResourceContext)();return O(e,`Annotation page not found`),wn({id:e,type:`AnnotationPage`})}function En(){let e=yn(),t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(e=>e+1,0);O(e,`No resource selected`);let i=(0,l.useMemo)(()=>new S.EditorInstance({reference:e.resource.source||e.resource,vault:t}),[e,t]);return(0,l.useEffect)(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function Dn(e){let t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(mn,e),i=(0,l.useCallback)(e=>{r(e)},[]);(0,l.useEffect)(()=>t.on(`@iiif/REMOVE_REFERENCE`,e=>{let t=e.action,n={id:t.payload.id,type:t.payload.type},i=t.payload.reference;r({type:`syncRemoval`,payload:{resource:{parent:n,resource:i}}})}),[t]);let a=(0,l.useCallback)((e,t=!1)=>i({type:`edit`,payload:{resource:e,reset:t}}),[]),o=(0,l.useCallback)(e=>i({type:`setStack`,payload:{resources:e}}),[]),s=(0,l.useCallback)(e=>i({type:`updateCurrent`,payload:{resource:e}}),[]),c=(0,l.useCallback)(()=>i({type:`close`}),[]),u=(0,l.useCallback)(()=>i({type:`back`}),[]),d=(0,l.useCallback)((e,t)=>(i({type:`create`,payload:{resource:e,options:t}}),()=>{i({type:`create`,payload:{resource:null}})}),[]);return[n,(0,l.useMemo)(()=>({edit:a,updateCurrent:s,close:c,back:u,create:d,setStack:o}),[])]}function On(e){let{instanceId:t}=se(),[n,r]=Dn(e.initialState||gn);return(0,u.jsx)(_n.Provider,{value:r,children:(0,u.jsx)(W.Provider,{value:n,children:e.children})},t)}function kn({resource:e,children:t}){let{instanceId:n}=se(),[r,i]=Dn((0,l.useMemo)(()=>({create:null,stack:[],current:{resource:{type:`SpecificResource`,source:{id:e.id,type:e.type}}}}),[]));return(0,u.jsx)(_n.Provider,{value:i,children:(0,u.jsx)(W.Provider,{value:r,children:t})},n)}function An({fallback:e,backAction:t}){let n=bn(),{back:r}=vn();return n.length?(0,u.jsx)(U,{onClick:r,children:(0,u.jsx)(kt,{})}):e}function jn({closeAction:e,fallback:t}){let n=bn();return yn()||n.length?(0,u.jsx)(U,{onClick:()=>{e()},children:(0,u.jsx)(F,{})}):t}function Mn(e,t,n,r){let i=t.filter(t=>t.resourceType===e.resource.source.type);if(i.length===0)return null;for(let t of i){let i=[],a={},o=(t.editors||[]).filter(t=>{if(r.hideTabs&&r.hideTabs.includes(t.id)||r.onlyTabs&&!r.onlyTabs.includes(t.id))return!1;if(t.supports.sortKey){if(i.includes(t.supports.sortKey))return!1;t.supports.sortFallback&&(a[t.supports.sortKey]=t)}return n.edit&&!t.supports.edit||t.supports.custom&&t.supports.custom(e,n.vault)===!1?!1:(t.supports.sortKey&&i.push(t.supports.sortKey),!0)}),s=Object.keys(a);for(let e of s)!i.includes(e)&&a[e]&&!o.includes(a[e])&&o.push(a[e]);if(o.length)return{...t,editors:o}}return null}function Nn({currentTab:e=void 0}){let t=yn(),n=(0,l.useContext)(p.ResourceReactContext),r=P(),i=I(),a=(0,p.useVault)(),{change:o}=H(),s=qt(),{editorConfig:d}=M(),f=t?.resource.source?.id,m=t?.resource.source?.type,h=f!==i.id;f&&h&&i.type===`Collection`&&m===`Collection`&&(m=`EmbeddedCollection`);let g=(m?d[m]:d.All)||{},_=(0,l.useMemo)(()=>{let e={...n},r=t?.resource.source.id,i=t?.resource.source.type,a={Collection:`collection`,Manifest:`manifest`,Range:`range`,Canvas:`canvas`,Annotation:`annotation`,AnnotationPage:`annotationPage`};return i&&a[i]&&(e[a[i]]=r),e},[t,n]);function v(e){return t?(0,u.jsx)(p.ResourceReactContext.Provider,{value:_,children:e}):e}let y=(0,l.useMemo)(()=>{if(!t)return null;let e=r.layout.editors||[];return Mn(t,(r.layout.resources||[]).map(t=>typeof t==`string`?{id:`@default/`+t,label:t,resourceType:t,auto:!0,editors:e.filter(e=>e.supports.resourceTypes.includes(t))}:t),{edit:!0,vault:a},g)},[t,r]);if((0,l.useEffect)(()=>{s(y?.label||``)},[y]),(0,l.useEffect)(()=>{let t=y?.editors.map(e=>e.id)||[];t.find(t=>t===e)||o(`@manifest-editor/editor`,{currentTab:t[0]})},[y?.editors,e,o]),!t||!y)return null;if(g.singleTab){let e=(y?.editors||[]).find(e=>e.id===g.singleTab);if(e)return v((0,u.jsx)(`div`,{className:`w-full`,children:e.component(g)},t.resource.source?.id))}return v((0,u.jsx)(c.SidebarTabs,{isNested:h,rootResource:i,menuId:t.resource.source.id,menu:(y?.editors||[]).map((e,t)=>({id:e.id,label:e.label,renderComponent:()=>e.component(g)})),selectedKey:e,onSelectionChange:e=>{o(`@manifest-editor/editor`,{currentTab:e})}},t.resource.source?.id))}const Pn={id:`@manifest-editor/editor`,label:`Editor`,options:{hideHeader:!0,tabs:!0,minWidth:400},renderBackAction:({backAction:e,fallback:t})=>(0,u.jsx)(An,{backAction:e,fallback:t}),renderCloseAction:({closeAction:e,fallback:t})=>(0,u.jsx)(jn,{closeAction:e,fallback:t}),render({currentTab:e}){return(0,u.jsx)(Nn,{currentTab:e})}},Fn={color:{main:`#B84C74`,mainHover:`#4a89ff`,logoPink:`#E94581`,white:`white`,grey:`grey`,black:`black`,lightgrey:`#F8F9FA`,mediumgrey:`#dddddd`,danger:`#a90e21`,warning:`#e38627`,lightdanger:`#ffeaea`,lightsuccess:`#c5e8c5`,success:`#6ccd55`,greyOverlay:`rgba(0, 0, 0, 0.2)`,highlight:`#faeed7`},iiifColor:{manifest:`rgba(0, 0, 0, 0.2)`,canvas:`rgba(255, 222, 219, 0.8)`,service:`rgba(13, 110, 253, 0.8)`,annotation:`rgba(247, 226, 173, 0.8)`,contentResource:`rgba(207, 247, 255, 0.8)`,ranges:`rgba(144, 213, 157, 0.8)`},padding:{xs:`0.25rem`,small:`0.5rem`,medium:`1rem`,large:`2rem`},device:{mobile:`375px`,tablet:`768px`,laptop:`992px`,desktop:`1200px`},shadows:{standard:`rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.05) 0px 5px 15px 0px`,bottom:`rgba(0, 0, 0, 0.1) 0px 4px 2px -2px`}};function In(e){let{}=e,t=(0,p.useVault)(),n=P(),r=(0,l.useMemo)(()=>(0,v.matchBasedOnResource)(e.resource,n.layout.creators||[],{vault:t}),[e.resource,n.layout.creators,t]);return r.length===0?(0,u.jsx)(`div`,{children:`No supported creators found`}):(0,u.jsx)(`div`,{children:(0,u.jsxs)(c.Tabs,{className:`w-full flex-1 overflow-hidden flex flex-col`,children:[(0,u.jsx)(c.TabList,{className:`flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap`,items:r,children:e=>(0,u.jsx)(c.Tab,{id:e.id,children:e.label})}),r.map(t=>(0,u.jsx)(c.TabPanel,{id:t.id,className:`p-2`,children:(0,u.jsx)(d.ThemeProvider,{theme:Fn,children:(0,u.jsx)(dn,{creator:t,resource:e.resource,onCreate:e.onCreate,skipEditingOnCreate:!0})})},t.id))]})})}function Ln(e){let[t,n]=(0,l.useState)(!1),r=(0,l.useRef)(),i=(0,l.useRef)(0);function a(t){i.current--,!(t&&i.current!==0)&&(r.current&&(clearTimeout(r.current),r.current=0),r.current=setTimeout(()=>{n(!1)},e))}function o(){i.current++,r.current&&clearTimeout(r.current),n(!0)}return(0,l.useMemo)(()=>[t,{set:o,clear:a}],[t])}function Rn(){let e=Be(),t=I(),n=M(),r=re(),[i,a]=Ln(2e3);function o(e){e.preventDefault();let t=new FormData(e.target);r({defaultPreview:t.get(`defaultPreview`),i18n:{...n.i18n||{},advancedLanguageMode:t.get(`advancedLanguageMode`)===`on`,availableLanguages:(t.get(`availableLanguages`)||``).split(`,`).map(e=>e.trim()),defaultLanguage:t.get(`defaultLanguage`)},export:{...n.export||{},version:t.get(`isVersion2`)===`on`?2:3,baseIdentifier:t.get(`base`)||null},editorFeatureFlags:{...n.editorFeatureFlags||{},rememberCanvasId:t.get(`rememberCanvasId`)===`on`,rememberLeftPanelId:t.get(`rememberLeftPanelId`)===`on`,annotationPopups:t.get(`annotationPopups`)===`on`,manifestGridOptions:t.get(`manifestGridOptions`)===`on`,enableMultiImageCanvases:t.get(`enableMultiImageCanvases`)===`on`,enableMultiMediaCanvases:t.get(`enableMultiMediaCanvases`)===`on`}}),a.set(),a.clear()}return(0,u.jsxs)(c.Sidebar,{children:[(0,u.jsx)(c.SidebarHeader,{title:`Workspace configuration`}),i?(0,u.jsx)(`div`,{className:`bg-me-primary-500 text-white p-3 text-sm`,children:`Changes saved`}):null,(0,u.jsx)(c.SidebarContent,{className:`p-4`,children:(0,u.jsxs)(c.Form.Form,{onSubmit:o,className:`flex flex-col gap-3`,children:[(0,u.jsxs)(c.Form.InputContainer,{children:[(0,u.jsx)(c.Form.Label,{htmlFor:`defaultLanguage`,children:`Default Language`}),(0,u.jsx)(c.Form.Input,{type:`text`,name:`defaultLanguage`,id:`defaultLanguage`,defaultValue:n.i18n?.defaultLanguage||``})]}),(0,u.jsxs)(c.Form.InputContainer,{children:[(0,u.jsx)(c.Form.Label,{htmlFor:`availableLanguages`,children:`Available Languages`}),(0,u.jsx)(c.Form.Input,{type:`text`,name:`availableLanguages`,id:`availableLanguages`,defaultValue:(n.i18n?.availableLanguages||[]).join(`, `)})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`advancedLanguageMode`,id:`advancedLanguageMode`,defaultChecked:n.i18n?.advancedLanguageMode||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`advancedLanguageMode`,children:`Advanced Language Mode`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`textGranularityEnabled`,id:`textGranularityEnabled`,defaultChecked:n.i18n?.textGranularityEnabled||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`textGranularityEnabled`,children:`Enable text granularity`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`rememberCanvasId`,id:`rememberCanvasId`,defaultChecked:n.editorFeatureFlags?.rememberCanvasId||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`rememberCanvasId`,children:`Remember Canvas ID`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`rememberLeftPanelId`,id:`rememberLeftPanelId`,defaultChecked:n.editorFeatureFlags?.rememberLeftPanelId||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`rememberLeftPanelId`,children:`Remember Left panel`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`manifestGridOptions`,id:`manifestGridOptions`,defaultChecked:n.editorFeatureFlags?.manifestGridOptions||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`manifestGridOptions`,children:`Manifest Grid Options`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`isVersion2`,id:`isVersion2`,defaultChecked:n.export?.version===2}),(0,u.jsxs)(c.Form.Label,{htmlFor:`isVersion2`,children:[`Export Presentation 2 `,t.type,`s`]})]}),(0,u.jsxs)(c.Form.InputContainer,{children:[(0,u.jsx)(c.Form.Label,{htmlFor:`defaultPreview`,children:`Default preview`}),(0,u.jsx)(`div`,{children:e.configs.map((e,t)=>e.type===`iiif-preview-service`?null:(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,children:[(0,u.jsx)(c.Form.Input,{type:`radio`,id:e.id,name:`defaultPreview`,value:e.id,defaultChecked:n.defaultPreview?n.defaultPreview===e.id:t===0}),(0,u.jsx)(`label`,{htmlFor:e.id,children:e.label})]},e.id))})]}),t.type===`Manifest`?(0,u.jsx)(`a`,{className:`text-sm text-me-primary-500 hover:underline hover:text-me-primary-600`,href:window.location.pathname.includes(`/exhibition`)?window.location.pathname.replace(`/exhibition`,``)||`/`:`${window.location.pathname}/exhibition`,children:window.location.pathname.includes(`/exhibition`)?`Return to Manifest Editor`:`Go to Exhibition Editor`}):null,(0,u.jsx)(`div`,{className:`mt-5`,children:(0,u.jsx)(c.ActionButton,{type:`submit`,children:`Save changes`})})]})})]})}function zn(){return(0,y.createStore)((e,t)=>({specificMenus:{},resourceMenus:{},hookMenuItem(t){let n=Ct(),r=t.resource?.id||``,i=t.resource?.type;return i?r?(e(e=>({specificMenus:{...e.specificMenus,[r]:{...e.specificMenus[r]||{},menus:{...e.specificMenus[r]?.menus||{},[n]:{sectionTitle:t.sectionTitle,items:t.items}}}}})),()=>{e(e=>({specificMenus:{...e.specificMenus,[r]:{...e.specificMenus[r]||{},menus:{...e.specificMenus[r]?.menus||{},[n]:void 0}}}}))}):(e(e=>({resourceMenus:{...e.resourceMenus,[i]:{...e.resourceMenus[i]||{},menus:{...e.resourceMenus[i]?.menus||{},[n]:{sectionTitle:t.sectionTitle,items:t.items}}}}})),()=>{e(e=>({resourceMenus:{...e.resourceMenus,[i]:{...e.resourceMenus[i]||{},menus:{...e.resourceMenus[i]?.menus||{},[n]:void 0}}}}))}):()=>{}}}))}const Bn=(0,l.createContext)(null);function Vn({children:e}){let t=(0,l.useMemo)(()=>zn(),[]);return(0,u.jsx)(Bn.Provider,{value:t,children:e})}function Hn(){let e=(0,l.useContext)(Bn);if(!e)throw Error(`useContextMenuStore must be used within a ContextMenuProvider`);return e}function Un(e){let t=Hn(),n=(0,y.useStore)(t,e=>e.resourceMenus),r=(0,y.useStore)(t,e=>e.specificMenus);return(0,l.useMemo)(()=>{let t=r[e.id||``]?.menus||{},i=n[e.type]?.menus||{},a=Object.values(t).flat(),o=[...Object.values(i).flat(),...a].filter(e=>e!==void 0),s=[],c=[];for(let e of o){let t=[];for(let n of e.items||[])n.id&&s.includes(n.id)||(s.push(n.id),t.push(n));t.length&&c.push({...e,items:t})}return Wn(c)},[r,n,e.id,e.type])}function Wn(e){let t={},n=[];e.forEach(e=>{if(!e)return;let r=e.sectionTitle;if(!r){n.push(...e.items||[]);return}t[r]||(t[r]=[]),t[r].push(...e.items)});let r=Object.entries(t).map(([e,t])=>({sectionTitle:e,items:t}));return n.length&&r.push({items:n}),r}function Gn(e,t=[]){let n=(0,y.useStore)(Hn(),e=>e.hookMenuItem);(0,l.useEffect)(()=>n(e),[n,e.resource?.id,e.resource?.type,...t])}var Kn={};function qn(e){return(0,u.jsxs)(`div`,{className:Kn.CenterPanelContainer,children:[e.title||e.close?(0,u.jsxs)(`div`,{className:Kn.CenterPanelHeader,children:[e.title?(0,u.jsx)(`h2`,{className:Kn.CenterPanelTitle,children:e.title}):null,e.close?(0,u.jsx)(z,{className:Kn.CenterPanelClose,onClick:e.close,children:(0,u.jsx)(F,{})}):null]}):null,e.children]})}const Jn=d.default.div`
|
|
426
|
+
`;function $t({panel:e,state:t,actions:n,isLeft:r,pinActions:i=n,transition:a,close:o,available:s=[],style:c,noHeader:d}){let m=(0,l.useContext)(p.ReactVaultContext)||null,[h,g]=(0,l.useState)(!1),_=ce(),v=Pt(),{tabs:y,pinnable:x,hideHeader:S}=e?.options||{},C=[_.state.canvasId,e?.id],w=(0,l.useMemo)(()=>(s||[]).filter(e=>!e.requiresState),[s]),{itemProps:ee,isOpen:te,setIsOpen:T}=(0,f.default)(w.length),[ne,E]=(0,l.useState)(``),D=(0,l.useRef)();(0,l.useEffect)(()=>g(!1),C),(0,l.useEffect)(()=>E(``),[e]),(0,l.useEffect)(()=>(D.current=E,()=>{D.current=void 0}),[]);let O=(0,l.useCallback)(e=>{D.current&&D.current(e)},[]),k=(0,l.useCallback)(r=>{let i=e?t.stack.length?n.popStack:e.backAction?()=>e&&e.backAction&&e.backAction(t,{...v,current:n},_):null:null;r&&(!i||r.metaKey)&&w.length?(r.preventDefault(),T(!0)):i&&i()},[n,_,v,e,T,t,w.length]),A=r=>{n.change({id:r.id,state:r.defaultState,stacked:!!(t.stack.length||e?.backAction)})};if(!e||!t.current)return null;let j=e.backAction||t.stack.length?(0,u.jsx)(U,{onClick:k,children:(0,u.jsx)(kt,{})}):null,M=(0,u.jsx)(U,{onClick:o||n.close,children:(0,u.jsx)(F,{})});return(0,u.jsx)(Kt.Provider,{value:O,children:(0,u.jsxs)(Jt,{"data-state":a,"data-flipped":r,style:c,"data-header":!d,children:[d?null:(0,u.jsxs)(Yt,{"data-tabs":!!y,"data-error":h,children:[(0,u.jsxs)(zt,{style:{display:`flex`,height:`100%`},children:[e.renderBackAction?e.renderBackAction({backAction:k,fallback:j}):j,w.length?(0,u.jsxs)(Ht,{$open:te,style:{left:`0.5em`},children:[(0,u.jsx)(Ut,{children:`All panels`}),(0,u.jsx)(Wt,{}),w.map((t,n)=>(0,u.jsx)(Vt,{...ee[n],onClick:()=>A(t),$active:e.id===t.id,children:t.label},n))]}):null]}),ne?(0,u.jsx)(Zt,{children:ne}):S?(0,u.jsx)(Xt,{}):(0,u.jsx)(Zt,{children:e.label}),x?t.pinned?(0,u.jsx)(U,{onClick:i.unpin,children:(0,u.jsx)(Ot,{fill:`orange`})}):(0,u.jsx)(U,{onClick:()=>i.pin({id:e.id,state:t.state}),children:(0,u.jsx)(Ot,{fill:`#ddd`})}):null,e.renderCloseAction?e.renderCloseAction({closeAction:o||n.close,fallback:M}):M]}),(0,u.jsx)(Qt,{className:`OverrideScrollbar`,children:(0,u.jsx)(b.ErrorBoundary,{onError:()=>g(!0),FallbackComponent:Ft,resetKeys:C,onReset:()=>g(!1),children:Rt(e.render(t.state||e.defaultState||{},{...v,current:n,vault:m,transition:a},_))})})]})})}function en(e=`vault://homepage-collection.json`){let t=new g.Vault,n=window.localStorage.getItem(`preview-vault-collection`),r=!1;if(n)try{let i=JSON.parse(n);if(i.id&&i.id===e){t.dispatch((0,x.requestResource)({id:i.id}));let e=(0,S.actionListFromResource)(i.id,i);t.dispatch((0,x.batchActions)({actions:e})),r=!0}}catch{}if(!r){let n=(0,S.actionListFromResource)(e,{"@context":`http://iiif.io/api/presentation/3/context.json`,id:e,type:`Collection`,label:{en:[`Recent items`]},items:[]});t.dispatch((0,x.requestResource)({id:e})),t.dispatch((0,x.batchActions)({actions:n}))}return t.on(`after:@iiif/REMOVE_REFERENCE`,n=>{n.action.payload.id===e&&window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}),{vault:t,unsubscribe:()=>{},addHistory:(n,r)=>{let i=t.getState();if(n&&r&&(r===`Collection`||r===`Manifest`)){let a=i.iiif.entities.Collection[e];if(a){let i=a.items.findIndex(e=>e.id===n);i===-1?t.dispatch((0,x.addReference)({id:e,type:`Collection`,reference:{id:n,type:r},key:`items`,index:0})):t.dispatch((0,x.reorderEntityField)({id:e,type:`Collection`,key:`items`,startIndex:i,endIndex:0})),window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}}},clearHistory:()=>{t.dispatch((0,x.modifyEntityField)({id:e,type:`Collection`,key:`items`,value:[]})),window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}}}function tn(){return(0,l.useContext)(nn)}const nn=(0,l.createContext)(new g.Vault),rn=(0,l.createContext)({addHistory:(e,t)=>{},clearHistory:()=>{}}),an=`manifest-editor://homepage-collection.json`;function on(){return(0,l.useContext)(rn)}function sn(e){let{vault:t,unsubscribe:n,addHistory:r,clearHistory:i}=(0,l.useMemo)(()=>en(an),[]);return(0,l.useEffect)(()=>n,[]),(0,u.jsx)(rn.Provider,{value:{addHistory:r,clearHistory:i},children:(0,u.jsx)(nn.Provider,{value:t,children:e.children})})}function cn({children:e}){return(0,u.jsx)(p.VaultProvider,{vault:tn(),children:e})}function ln(e,t,n,r,i){let a=(0,p.useVault)(),o=P(),{create:s,edit:c}=H(),u=(0,l.useMemo)(()=>(0,v.matchBasedOnResource)({type:n,parent:e,index:0,property:t},o.layout.creators||[],{vault:a}),[e,t,o.layout.creators,n,a]),d=e&&u.length!==0,f=(0,l.useCallback)((a,o)=>{if(e)return s({type:n,parent:(0,_.toRef)(e),property:t,index:a,target:r,initialData:o,...i||{}})},[s,e,t,n,i,r]),m=(0,l.useCallback)((a,o,c)=>{if(e)return s({type:n,filter:a,parent:(0,_.toRef)(e),property:t,index:o,target:r,initialData:c,...i||{}})},[s,e,t,n,i,r]);return[d,{create:f,edit:(0,l.useCallback)((n,r)=>{c(n,e?{parent:(0,_.toRef)(e),property:t,index:r}:void 0)},[c,e,t]),createFiltered:m,creator:(0,l.useCallback)((a,o)=>{if(e)return s({type:n,initialCreator:a,parent:(0,_.toRef)(e),property:t,target:r,initialData:o,...i||{}})},[n,t,e,r,s,i]),buttonProps:(0,l.useMemo)(()=>({"data-action-id":xt(n,t,e)}),[n,t,e])}]}function un(){let e=(0,p.useVault)(),t=tn(),n=P();return(0,l.useMemo)(()=>new v.Creator(e,n.layout.creators||[],t),[n.layout.creators,e])}const dn=(0,l.createContext)({});function fn(e){return(0,l.useContext)(dn)[e]||{}}function pn(e){let t=(0,l.useContext)(dn),n=(0,l.useMemo)(()=>({...t,[e.id]:e.data}),[t,e.id,e.data]);return(0,u.jsx)(dn.Provider,{value:n,children:e.children})}const mn=(0,l.memo)(function(e){let t=(0,p.useVault)(),{edit:n,modal:r}=H(),[i,a]=(0,l.useState)(!1),[o,s]=(0,l.useState)(null),d=un(),f=(0,l.useRef)(!1),m=e.resource.initialData?.selector;Et(m);let h=fn(e.creator.id),g={targetType:e.resource.type,parent:e.resource.parent?{property:e.resource.property,atIndex:e.resource.index,resource:e.resource.parent}:void 0,target:e.resource.target,initialData:{...h,...e.resource.initialData||{}}},v=t=>{try{if(i||f.current)return;a(!0),f.current=!0,d.create(e.creator.id,t,g).catch(e=>(s(e?.message||`Unknown error`),null)).then(async t=>{if(e.onCreate?.(),e.skipEditingOnCreate||!t)return;let i=Array.isArray(t)?t[0]:t;a(!1),r.popStack(),r.close(),i&&n(i,{parent:(0,_.toRef)(e.resource.parent),property:e.resource.property,index:e.resource.index})})}catch(e){s(e?.message||`Unknown error`)}},y=async()=>!0;if((0,l.useEffect)(()=>{e.resource.initialData?.showEmptyForm||!e.creator.render&&!i&&v({})},[e.creator]),o)return(0,u.jsx)(`div`,{className:`flex flex-col items-center p-4`,children:(0,u.jsx)(c.ErrorMessage,{children:o})});let b=(0,u.jsx)(`div`,{className:`flex flex-col items-center py-8`,children:(0,u.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[(0,u.jsx)(c.Spinner,{}),` `,(0,u.jsx)(`span`,{children:`Loading`})]})});return i?b:e.creator.render?(0,u.jsx)(u.Fragment,{children:(0,u.jsx)(l.Suspense,{fallback:b,children:e.creator.render({vault:t,runCreate:v,validate:y,options:g})})}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.EmptyState,{children:`No options available`}),(0,u.jsx)(c.ActionButton,{primary:!0,onPress:()=>v({}),children:e.creator.actionButton||`Create`})]})});function hn(e){let t=P(),n=(0,p.useVault)(),[r,i]=(0,l.useState)(e.resource.initialCreator||``),a=qt(),o=(0,l.useMemo)(()=>(0,v.matchBasedOnResource)(e.resource,t.layout.creators||[],{vault:n}),[e.resource,t.layout.creators,n]);o.length===1&&!r&&i(o[0].id);let s=o.find(e=>e.id===r);if((0,l.useEffect)(()=>{s&&a?.(s.label)}),o.length===0)return(0,u.jsx)(c.EmptyState,{children:`Not currently supported`});let d=(0,u.jsx)(c.ModalBackSlot,{children:(0,u.jsx)(c.IconButton,{root:document.getElementById(`headlessui-portal-root`)||void 0,label:`Back to Add content options`,className:`group`,placement:`right`,onPress:()=>i(``),children:(0,u.jsx)(c.GridIcon,{className:`text-2xl opacity-50 group-hover:opacity-70`})})});return s?s.hiddenModal?(0,u.jsxs)(u.Fragment,{children:[d,(0,u.jsx)(mn,{creator:s,resource:e.resource})]}):(0,u.jsxs)(`div`,{children:[d,(0,u.jsx)(`div`,{className:`p-2 py-6`,children:(0,u.jsx)(mn,{creator:s,resource:e.resource})})]}):(0,u.jsx)(c.CreatorGrid,{label:`Select a type`,items:o.map(e=>({id:e.id,title:e.label,description:e.summary||``,icon:e.icon,onClick:()=>i(e.id)}))})}const gn={id:`@manifest-editor/creator`,label:`Add content`,options:{hideHeader:!0,tabs:!1},render(e){return(0,u.jsx)(hn,{resource:e})}},_n={color:{main:`#B84C74`,mainHover:`#4a89ff`,logoPink:`#E94581`,white:`white`,grey:`grey`,black:`black`,lightgrey:`#F8F9FA`,mediumgrey:`#dddddd`,danger:`#a90e21`,warning:`#e38627`,lightdanger:`#ffeaea`,lightsuccess:`#c5e8c5`,success:`#6ccd55`,greyOverlay:`rgba(0, 0, 0, 0.2)`,highlight:`#faeed7`},iiifColor:{manifest:`rgba(0, 0, 0, 0.2)`,canvas:`rgba(255, 222, 219, 0.8)`,service:`rgba(13, 110, 253, 0.8)`,annotation:`rgba(247, 226, 173, 0.8)`,contentResource:`rgba(207, 247, 255, 0.8)`,ranges:`rgba(144, 213, 157, 0.8)`},padding:{xs:`0.25rem`,small:`0.5rem`,medium:`1rem`,large:`2rem`},device:{mobile:`375px`,tablet:`768px`,laptop:`992px`,desktop:`1200px`},shadows:{standard:`rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.05) 0px 5px 15px 0px`,bottom:`rgba(0, 0, 0, 0.1) 0px 4px 2px -2px`}};function vn(e){let{}=e,t=(0,p.useVault)(),n=P(),r=(0,l.useMemo)(()=>(0,v.matchBasedOnResource)(e.resource,n.layout.creators||[],{vault:t}),[e.resource,n.layout.creators,t]);return r.length===0?(0,u.jsx)(`div`,{children:`No supported creators found`}):(0,u.jsx)(`div`,{children:(0,u.jsxs)(c.Tabs,{className:`w-full flex-1 overflow-hidden flex flex-col`,children:[(0,u.jsx)(c.TabList,{className:`flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap`,items:r,children:e=>(0,u.jsx)(c.Tab,{id:e.id,children:e.label})}),r.map(t=>(0,u.jsx)(c.TabPanel,{id:t.id,className:`p-2`,children:(0,u.jsx)(d.ThemeProvider,{theme:_n,children:(0,u.jsx)(mn,{creator:t,resource:e.resource,onCreate:e.onCreate,skipEditingOnCreate:!0})})},t.id))]})})}function yn(e,t){switch(t.type){case`setStack`:return{...e,stack:t.payload.resources,current:t.payload.resources[0]||null};case`edit`:{let n=t.payload.reset;return(t.payload.resource?.resource.source?.type===`Manifest`||t.payload.resource?.resource.source?.type===`Canvas`)&&(n=!0),e.current?.resource.source.id===t.payload.resource?.resource.source.id?{...e,current:t.payload.resource}:{...e,current:t.payload.resource,stack:n?[]:e.current?[e.current,...e.stack]:e.stack}}case`syncRemoval`:{let n=(0,_.toRef)(t.payload.resource.resource);if(!n||!e.stack.find(e=>(0,_.toRef)(e.resource)?.id===n.id))return e;let r=e.current?.resource.id===n.id?null:e.current,i=bn(e.stack.filter(e=>(0,_.toRef)(e.resource)?.id!==n.id),r);return{...e,stack:i,current:r}}case`updateCurrent`:return{...e,current:t.payload.resource};case`back`:{let t=e.stack[0];return{...e,stack:e.stack.slice(1),current:t||null}}case`close`:return{...e,stack:[],current:null};case`create`:return t.payload.resource===null?{...e,create:null}:{...e,create:t.payload}}return e}function bn(e,t){let n=[],r=null;for(let t of e)r?.resource.id!==t.resource.id&&(n.push(t),r=t);return r&&r.resource.id===t?.resource.id?n.slice(0,n.length-1):n}const xn={stack:[],current:null,create:null},W=(0,l.createContext)(xn),Sn=(0,l.createContext)({edit(){},close(){},back(){},setStack(){},updateCurrent(){},create(){return()=>{}}});function Cn(){return(0,l.useContext)(Sn)}function wn(){return(0,l.useContext)(W).current}function Tn(){return(0,l.useContext)(W).stack}function En(){return(0,l.useContext)(W).create}function Dn(){let{manifest:e}=(0,p.useResourceContext)(),t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(e=>e+1,0);O(e,`Manifest not found`);let i=(0,l.useMemo)(()=>new C.EditorInstance({reference:{id:e,type:`Manifest`},vault:t}),[e,t]);return(0,l.useEffect)(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function On(){let{collection:e}=(0,p.useResourceContext)(),t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(e=>e+1,0);O(e,`Collection not found`);let i=(0,l.useMemo)(()=>new C.EditorInstance({reference:{id:e,type:`Collection`},vault:t}),[e,t]);return(0,l.useEffect)(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function kn(e,t={}){let n=(0,p.useVault)(),[r,i]=(0,l.useReducer)(e=>e+1,0);!t.allowNull&&O(e,`Resource not found`);let a=(0,l.useMemo)(()=>t.allowNull&&!e?null:new C.EditorInstance({reference:(0,_.toRef)(e),vault:n,context:{resource:e,parent:t.parent,index:t.index,parentProperty:t.parentProperty}}),[e,n]);return(0,l.useEffect)(()=>a?.observe.start(i),[a]),a&&(a.observe.key=`${r}`,a.observe.reset()),a}function An(){let{annotationPage:e}=(0,p.useResourceContext)();return O(e,`Annotation page not found`),kn({id:e,type:`AnnotationPage`})}function jn(){let e=wn(),t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(e=>e+1,0);O(e,`No resource selected`);let i=(0,l.useMemo)(()=>new C.EditorInstance({reference:e.resource.source||e.resource,vault:t}),[e,t]);return(0,l.useEffect)(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function Mn(e){let t=(0,p.useVault)(),[n,r]=(0,l.useReducer)(yn,e),i=(0,l.useCallback)(e=>{r(e)},[]);(0,l.useEffect)(()=>t.on(`@iiif/REMOVE_REFERENCE`,e=>{let t=e.action,n={id:t.payload.id,type:t.payload.type},i=t.payload.reference;r({type:`syncRemoval`,payload:{resource:{parent:n,resource:i}}})}),[t]);let a=(0,l.useCallback)((e,t=!1)=>i({type:`edit`,payload:{resource:e,reset:t}}),[]),o=(0,l.useCallback)(e=>i({type:`setStack`,payload:{resources:e}}),[]),s=(0,l.useCallback)(e=>i({type:`updateCurrent`,payload:{resource:e}}),[]),c=(0,l.useCallback)(()=>i({type:`close`}),[]),u=(0,l.useCallback)(()=>i({type:`back`}),[]),d=(0,l.useCallback)((e,t)=>(i({type:`create`,payload:{resource:e,options:t}}),()=>{i({type:`create`,payload:{resource:null}})}),[]);return[n,(0,l.useMemo)(()=>({edit:a,updateCurrent:s,close:c,back:u,create:d,setStack:o}),[])]}function Nn(e){let{instanceId:t}=se(),[n,r]=Mn(e.initialState||xn);return(0,u.jsx)(Sn.Provider,{value:r,children:(0,u.jsx)(W.Provider,{value:n,children:e.children})},t)}function Pn({resource:e,children:t}){let{instanceId:n}=se(),[r,i]=Mn((0,l.useMemo)(()=>({create:null,stack:[],current:{resource:{type:`SpecificResource`,source:{id:e.id,type:e.type}}}}),[]));return(0,u.jsx)(Sn.Provider,{value:i,children:(0,u.jsx)(W.Provider,{value:r,children:t})},n)}function Fn({fallback:e,backAction:t}){let n=Tn(),{back:r}=Cn();return n.length?(0,u.jsx)(U,{onClick:r,children:(0,u.jsx)(kt,{})}):e}function In({closeAction:e,fallback:t}){let n=Tn();return wn()||n.length?(0,u.jsx)(U,{onClick:()=>{e()},children:(0,u.jsx)(F,{})}):t}function Ln(e,t,n,r){let i=t.filter(t=>t.resourceType===e.resource.source.type);if(i.length===0)return null;for(let t of i){let i=[],a={},o=(t.editors||[]).filter(t=>{if(r.hideTabs&&r.hideTabs.includes(t.id)||r.onlyTabs&&!r.onlyTabs.includes(t.id))return!1;if(t.supports.sortKey){if(i.includes(t.supports.sortKey))return!1;t.supports.sortFallback&&(a[t.supports.sortKey]=t)}return n.edit&&!t.supports.edit||t.supports.custom&&t.supports.custom(e,n.vault)===!1?!1:(t.supports.sortKey&&i.push(t.supports.sortKey),!0)}),s=Object.keys(a);for(let e of s)!i.includes(e)&&a[e]&&!o.includes(a[e])&&o.push(a[e]);if(o.length)return{...t,editors:o}}return null}function Rn({currentTab:e=void 0}){let t=wn(),n=(0,l.useContext)(p.ResourceReactContext),r=P(),i=I(),a=(0,p.useVault)(),{change:o}=H(),s=qt(),{editorConfig:d}=M(),f=t?.resource.source?.id,m=t?.resource.source?.type,h=f!==i.id;f&&h&&i.type===`Collection`&&m===`Collection`&&(m=`EmbeddedCollection`);let g=(m?d[m]:d.All)||{},_=(0,l.useMemo)(()=>{let e={...n},r=t?.resource.source.id,i=t?.resource.source.type,a={Collection:`collection`,Manifest:`manifest`,Range:`range`,Canvas:`canvas`,Annotation:`annotation`,AnnotationPage:`annotationPage`};return i&&a[i]&&(e[a[i]]=r),e},[t,n]);function v(e){return t?(0,u.jsx)(p.ResourceReactContext.Provider,{value:_,children:e}):e}let y=(0,l.useMemo)(()=>{if(!t)return null;let e=r.layout.editors||[];return Ln(t,(r.layout.resources||[]).map(t=>typeof t==`string`?{id:`@default/`+t,label:t,resourceType:t,auto:!0,editors:e.filter(e=>e.supports.resourceTypes.includes(t))}:t),{edit:!0,vault:a},g)},[t,r]);if((0,l.useEffect)(()=>{s(y?.label||``)},[y]),(0,l.useEffect)(()=>{let t=y?.editors.map(e=>e.id)||[];t.find(t=>t===e)||o(`@manifest-editor/editor`,{currentTab:t[0]})},[y?.editors,e,o]),!t||!y)return null;if(g.singleTab){let e=(y?.editors||[]).find(e=>e.id===g.singleTab);if(e)return v((0,u.jsx)(`div`,{className:`w-full`,children:e.component(g)},t.resource.source?.id))}return v((0,u.jsx)(c.SidebarTabs,{isNested:h,rootResource:i,menuId:t.resource.source.id,menu:(y?.editors||[]).map((e,t)=>({id:e.id,label:e.label,renderComponent:()=>e.component(g)})),selectedKey:e,onSelectionChange:e=>{o(`@manifest-editor/editor`,{currentTab:e})}},t.resource.source?.id))}const zn={id:`@manifest-editor/editor`,label:`Editor`,options:{hideHeader:!0,tabs:!0,minWidth:400},renderBackAction:({backAction:e,fallback:t})=>(0,u.jsx)(Fn,{backAction:e,fallback:t}),renderCloseAction:({closeAction:e,fallback:t})=>(0,u.jsx)(In,{closeAction:e,fallback:t}),render({currentTab:e}){return(0,u.jsx)(Rn,{currentTab:e})}};function Bn(e){let[t,n]=(0,l.useState)(!1),r=(0,l.useRef)(),i=(0,l.useRef)(0);function a(t){i.current--,!(t&&i.current!==0)&&(r.current&&(clearTimeout(r.current),r.current=0),r.current=setTimeout(()=>{n(!1)},e))}function o(){i.current++,r.current&&clearTimeout(r.current),n(!0)}return(0,l.useMemo)(()=>[t,{set:o,clear:a}],[t])}function Vn(){let e=Be(),t=I(),n=M(),r=re(),[i,a]=Bn(2e3);function o(e){e.preventDefault();let t=new FormData(e.target);r({defaultPreview:t.get(`defaultPreview`),i18n:{...n.i18n||{},advancedLanguageMode:t.get(`advancedLanguageMode`)===`on`,availableLanguages:(t.get(`availableLanguages`)||``).split(`,`).map(e=>e.trim()),defaultLanguage:t.get(`defaultLanguage`)},export:{...n.export||{},version:t.get(`isVersion2`)===`on`?2:3,baseIdentifier:t.get(`base`)||null},editorFeatureFlags:{...n.editorFeatureFlags||{},rememberCanvasId:t.get(`rememberCanvasId`)===`on`,rememberLeftPanelId:t.get(`rememberLeftPanelId`)===`on`,annotationPopups:t.get(`annotationPopups`)===`on`,manifestGridOptions:t.get(`manifestGridOptions`)===`on`,enableMultiImageCanvases:t.get(`enableMultiImageCanvases`)===`on`,enableMultiMediaCanvases:t.get(`enableMultiMediaCanvases`)===`on`}}),a.set(),a.clear()}return(0,u.jsxs)(c.Sidebar,{children:[(0,u.jsx)(c.SidebarHeader,{title:`Workspace configuration`}),i?(0,u.jsx)(`div`,{className:`bg-me-primary-500 text-white p-3 text-sm`,children:`Changes saved`}):null,(0,u.jsx)(c.SidebarContent,{className:`p-4`,children:(0,u.jsxs)(c.Form.Form,{onSubmit:o,className:`flex flex-col gap-3`,children:[(0,u.jsxs)(c.Form.InputContainer,{children:[(0,u.jsx)(c.Form.Label,{htmlFor:`defaultLanguage`,children:`Default Language`}),(0,u.jsx)(c.Form.Input,{type:`text`,name:`defaultLanguage`,id:`defaultLanguage`,defaultValue:n.i18n?.defaultLanguage||``})]}),(0,u.jsxs)(c.Form.InputContainer,{children:[(0,u.jsx)(c.Form.Label,{htmlFor:`availableLanguages`,children:`Available Languages`}),(0,u.jsx)(c.Form.Input,{type:`text`,name:`availableLanguages`,id:`availableLanguages`,defaultValue:(n.i18n?.availableLanguages||[]).join(`, `)})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`advancedLanguageMode`,id:`advancedLanguageMode`,defaultChecked:n.i18n?.advancedLanguageMode||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`advancedLanguageMode`,children:`Advanced Language Mode`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`textGranularityEnabled`,id:`textGranularityEnabled`,defaultChecked:n.i18n?.textGranularityEnabled||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`textGranularityEnabled`,children:`Enable text granularity`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`rememberCanvasId`,id:`rememberCanvasId`,defaultChecked:n.editorFeatureFlags?.rememberCanvasId||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`rememberCanvasId`,children:`Remember Canvas ID`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`rememberLeftPanelId`,id:`rememberLeftPanelId`,defaultChecked:n.editorFeatureFlags?.rememberLeftPanelId||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`rememberLeftPanelId`,children:`Remember Left panel`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`manifestGridOptions`,id:`manifestGridOptions`,defaultChecked:n.editorFeatureFlags?.manifestGridOptions||!1}),(0,u.jsx)(c.Form.Label,{htmlFor:`manifestGridOptions`,children:`Manifest Grid Options`})]}),(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,className:`my-3`,children:[(0,u.jsx)(c.Form.Input,{type:`checkbox`,name:`isVersion2`,id:`isVersion2`,defaultChecked:n.export?.version===2}),(0,u.jsxs)(c.Form.Label,{htmlFor:`isVersion2`,children:[`Export Presentation 2 `,t.type,`s`]})]}),(0,u.jsxs)(c.Form.InputContainer,{children:[(0,u.jsx)(c.Form.Label,{htmlFor:`defaultPreview`,children:`Default preview`}),(0,u.jsx)(`div`,{children:e.configs.map((e,t)=>e.type===`iiif-preview-service`?null:(0,u.jsxs)(c.Form.InputContainer,{horizontal:!0,children:[(0,u.jsx)(c.Form.Input,{type:`radio`,id:e.id,name:`defaultPreview`,value:e.id,defaultChecked:n.defaultPreview?n.defaultPreview===e.id:t===0}),(0,u.jsx)(`label`,{htmlFor:e.id,children:e.label})]},e.id))})]}),t.type===`Manifest`?(0,u.jsx)(`a`,{className:`text-sm text-me-primary-500 hover:underline hover:text-me-primary-600`,href:window.location.pathname.includes(`/exhibition`)?window.location.pathname.replace(`/exhibition`,``)||`/`:`${window.location.pathname}/exhibition`,children:window.location.pathname.includes(`/exhibition`)?`Return to Manifest Editor`:`Go to Exhibition Editor`}):null,(0,u.jsx)(`div`,{className:`mt-5`,children:(0,u.jsx)(c.ActionButton,{type:`submit`,children:`Save changes`})})]})})]})}function Hn(){return(0,y.createStore)((e,t)=>({specificMenus:{},resourceMenus:{},hookMenuItem(t){let n=Ct(),r=t.resource?.id||``,i=t.resource?.type;return i?r?(e(e=>({specificMenus:{...e.specificMenus,[r]:{...e.specificMenus[r]||{},menus:{...e.specificMenus[r]?.menus||{},[n]:{sectionTitle:t.sectionTitle,items:t.items}}}}})),()=>{e(e=>({specificMenus:{...e.specificMenus,[r]:{...e.specificMenus[r]||{},menus:{...e.specificMenus[r]?.menus||{},[n]:void 0}}}}))}):(e(e=>({resourceMenus:{...e.resourceMenus,[i]:{...e.resourceMenus[i]||{},menus:{...e.resourceMenus[i]?.menus||{},[n]:{sectionTitle:t.sectionTitle,items:t.items}}}}})),()=>{e(e=>({resourceMenus:{...e.resourceMenus,[i]:{...e.resourceMenus[i]||{},menus:{...e.resourceMenus[i]?.menus||{},[n]:void 0}}}}))}):()=>{}}}))}const Un=(0,l.createContext)(null);function Wn({children:e}){let t=(0,l.useMemo)(()=>Hn(),[]);return(0,u.jsx)(Un.Provider,{value:t,children:e})}function Gn(){let e=(0,l.useContext)(Un);if(!e)throw Error(`useContextMenuStore must be used within a ContextMenuProvider`);return e}function Kn(e){let t=Gn(),n=(0,y.useStore)(t,e=>e.resourceMenus),r=(0,y.useStore)(t,e=>e.specificMenus);return(0,l.useMemo)(()=>{let t=r[e.id||``]?.menus||{},i=n[e.type]?.menus||{},a=Object.values(t).flat(),o=[...Object.values(i).flat(),...a].filter(e=>e!==void 0),s=[],c=[];for(let e of o){let t=[];for(let n of e.items||[])n.id&&s.includes(n.id)||(s.push(n.id),t.push(n));t.length&&c.push({...e,items:t})}return qn(c)},[r,n,e.id,e.type])}function qn(e){let t={},n=[];e.forEach(e=>{if(!e)return;let r=e.sectionTitle;if(!r){n.push(...e.items||[]);return}t[r]||(t[r]=[]),t[r].push(...e.items)});let r=Object.entries(t).map(([e,t])=>({sectionTitle:e,items:t}));return n.length&&r.push({items:n}),r}function Jn(e,t=[]){let n=(0,y.useStore)(Gn(),e=>e.hookMenuItem);(0,l.useEffect)(()=>n(e),[n,e.resource?.id,e.resource?.type,...t])}var Yn={};function Xn(e){return(0,u.jsxs)(`div`,{className:Yn.CenterPanelContainer,children:[e.title||e.close?(0,u.jsxs)(`div`,{className:Yn.CenterPanelHeader,children:[e.title?(0,u.jsx)(`h2`,{className:Yn.CenterPanelTitle,children:e.title}):null,e.close?(0,u.jsx)(z,{className:Yn.CenterPanelClose,onClick:e.close,children:(0,u.jsx)(F,{})}):null]}):null,e.children]})}const Zn=d.default.div`
|
|
427
427
|
flex: 1;
|
|
428
428
|
display: flex;
|
|
429
429
|
width: 100%;
|
|
430
430
|
flex-direction: column;
|
|
431
431
|
position: relative;
|
|
432
|
-
`,
|
|
432
|
+
`,Qn=d.default.div`
|
|
433
433
|
background: #fff;
|
|
434
434
|
position: relative;
|
|
435
435
|
border-bottom: 1px solid #d0d0d0;
|
|
@@ -447,11 +447,11 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
447
447
|
//flex-direction: column;
|
|
448
448
|
//justify-content: center;
|
|
449
449
|
}
|
|
450
|
-
|
|
450
|
+
`,$n=d.default.p`
|
|
451
451
|
font-size: 0.9em;
|
|
452
452
|
color: #777;
|
|
453
453
|
font-weight: 400;
|
|
454
|
-
`,
|
|
454
|
+
`,er=d.default.button`
|
|
455
455
|
color: inherit;
|
|
456
456
|
text-rendering: geometricPrecision;
|
|
457
457
|
border: none;
|
|
@@ -493,7 +493,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
493
493
|
margin-top: 0.5em;
|
|
494
494
|
}
|
|
495
495
|
}
|
|
496
|
-
`,
|
|
496
|
+
`,tr=d.default.div`
|
|
497
497
|
font-size: 1.4em;
|
|
498
498
|
padding-right: 0.3em;
|
|
499
499
|
display: flex;
|
|
@@ -502,7 +502,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
502
502
|
[data-large="true"] & {
|
|
503
503
|
font-size: 2em;
|
|
504
504
|
}
|
|
505
|
-
|
|
505
|
+
`,nr=d.default.div`
|
|
506
506
|
width: 2em;
|
|
507
507
|
align-items: center;
|
|
508
508
|
//padding-top: 0.5em;
|
|
@@ -515,11 +515,11 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
515
515
|
fill: #999;
|
|
516
516
|
color: #999;
|
|
517
517
|
}
|
|
518
|
-
`,
|
|
518
|
+
`,rr=d.default.div`
|
|
519
519
|
min-height: 0;
|
|
520
520
|
overflow: visible;
|
|
521
521
|
display: flex;
|
|
522
|
-
`,
|
|
522
|
+
`,ir=d.default.div`
|
|
523
523
|
min-height: 0;
|
|
524
524
|
overflow: visible;
|
|
525
525
|
flex: 1;
|
|
@@ -532,7 +532,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
532
532
|
&[data-max-height="true"] {
|
|
533
533
|
overflow-y: auto;
|
|
534
534
|
}
|
|
535
|
-
`,
|
|
535
|
+
`,ar=d.default.section`
|
|
536
536
|
display: grid;
|
|
537
537
|
grid-template-rows: 0fr;
|
|
538
538
|
overflow: hidden;
|
|
@@ -560,7 +560,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
560
560
|
&[data-scrolled="true"] {
|
|
561
561
|
box-shadow: inset 0px 2px 0px 0 rgba(0, 0, 0, 0.1);
|
|
562
562
|
}
|
|
563
|
-
`,
|
|
563
|
+
`,or=d.default.div`
|
|
564
564
|
position: sticky;
|
|
565
565
|
display: flex;
|
|
566
566
|
top: 0;
|
|
@@ -596,7 +596,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
596
596
|
right: 0.5em;
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
|
-
`,
|
|
599
|
+
`,sr=(()=>void 0);let cr=0;function lr(){return(0,l.useMemo)(()=>cr++,[])}function ur(e,t=!1){let[n,r]=(0,l.useState)([]),i=(0,l.useRef)(-1),a=t=>{let r=document.activeElement,i=n.findIndex(e=>e.current?.button?.current===r);if(i!==-1)switch(t.code){case`Home`:n[0]&&n[0].current?.focus();break;case`End`:{let t=e-1;n[t]&&n[t].current?.focus();break}case`ArrowDown`:if(i!==e-1){let e=i+1;n[e]&&n[e].current?.focus()}break;case`ArrowUp`:if(i!==0){let e=i-1;n[e]&&n[e].current?.focus()}break;case`ArrowLeft`:{let e=n[i];e&&e.current&&e.current.close();break}case`ArrowRight`:{let e=n[i];e&&e.current&&e.current.open();break}}},o=(e,r)=>{if(t&&r&&e!==i.current){i.current=e;for(let t=0;t<n.length;t++){let r=n[t];t!==e&&r.current?.close()}}};return(0,l.useEffect)(()=>{r(t=>Array(e).fill(0).map((e,n)=>t[n]||(0,l.createRef)()))},[e]),{open:e=>{let t=n[e];t&&t.current&&t.current.open()},close:e=>{let t=n[e];t&&t.current&&t.current.close()},toggle:e=>{let t=n[e];t&&t.current&&t.current.toggle()},focus:e=>{let t=n[e];t&&t.current&&t.current.focus()},openAll:()=>{for(let e=0;e<n.length;e++)n[e].current?.open()},closeAll:()=>{for(let e=0;e<n.length;e++)n[e].current?.close()},onKeyDown:a,getItemProps:e=>({ref:n[e],onChange:t=>o(e,t)})}}const dr=(0,l.forwardRef)(function(e,t){let n=(0,l.useRef)(null),r=(0,l.useRef)(null),i=lr(),[a,o]=(0,l.useState)(e.initialOpen||!1),s=e.onChange||sr,c=()=>{s(!a),o(e=>!e)},d=e.maxHeight,[f,p]=(0,l.useState)(!1);(0,l.useImperativeHandle)(t,()=>({open(){s(!0),o(!0)},close(){s(!1),o(!1)},toggle(){c()},focus(){r.current&&r.current.focus()},button:r}));let m=e=>{e.target.scrollTop>0?p(!0):p(!1)};return(0,u.jsxs)(Qn,{"data-large":e.large,"data-open":a,children:[(0,u.jsxs)(or,{"data-open":a,children:[e.icon?(0,u.jsx)(nr,{onClick:c,children:e.icon}):null,(0,u.jsxs)(er,{ref:r,onClick:c,"aria-expanded":a,"aria-controls":`accordion-${i}`,children:[e.label,e.description?(0,u.jsx)($n,{children:e.description}):null]}),(0,u.jsx)(tr,{onClick:c,children:(0,u.jsx)(Se,{width:`1em`,height:`1em`,rotate:a?0:180})})]}),(0,u.jsx)(ar,{"aria-labelledby":`accordion-${i}`,"aria-hidden":!a,"data-overflow":!!e.overflow,"data-has-icon":!!e.icon,onScroll:m,ref:n,$initial:!a,"data-scrolled":f,hidden:!a,children:(0,u.jsx)(rr,{children:(0,u.jsx)(ir,{"data-max-height":!!d,"data-full":e.fullWidth,style:{maxHeight:d||void 0},children:e.children})})})]})});function fr(e){let{getItemProps:t,onKeyDown:n}=ur(e.items.length,e.singleMode);return(0,u.jsx)(Zn,{onKeyDown:n,children:e.items.map((n,r)=>(0,u.jsx)(dr,{overflow:e.overflow,maxHeight:e.maxHeight,...n,...t(r),children:n.children},r))})}function pr(){return(0,u.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`48`,viewBox:`0 -960 960 960`,width:`48`,children:(0,u.jsx)(`path`,{d:`M220-160q-24 0-42-18t-18-42v-143h60v143h520v-143h60v143q0 24-18 42t-42 18H220Zm260-153L287-506l43-43 120 120v-371h60v371l120-120 43 43-193 193Z`})})}const mr=d.default.div`
|
|
600
600
|
padding: 0.3em;
|
|
601
601
|
|
|
602
602
|
display: flex;
|
|
@@ -618,12 +618,12 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
618
618
|
position: sticky;
|
|
619
619
|
bottom: 0;
|
|
620
620
|
}
|
|
621
|
-
`;function
|
|
621
|
+
`;function hr(e){let t=(0,p.useManifest)(),n=(0,p.useVault)(),r=H(),i=(0,l.useMemo)(()=>JSON.stringify(n.toPresentation3(t),null,2),[t,n]),a=(0,l.useMemo)(()=>JSON.stringify(n.toPresentation2(t),null,2),[t,n]);return(0,u.jsx)(Xn,{title:`Export manifest`,close:r.centerPanel.popStack,children:(0,u.jsx)(`div`,{style:{flex:1,overflowY:`auto`},children:(0,u.jsx)(fr,{items:[{label:`Presentation 3`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,initialOpen:!0,overflow:!0,icon:(0,u.jsx)(z,{onClick:()=>B(i,`manifest.json`),children:(0,u.jsx)(pr,{})}),children:(0,u.jsxs)(`div`,{style:{maxWidth:`100%`},children:[(0,u.jsx)(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation3(t),null,2)}),(0,u.jsxs)(mr,{"data-sticky":`true`,children:[(0,u.jsx)(z,{onClick:()=>St(i),children:`Copy to clipboard`}),(0,u.jsx)(z,{onClick:()=>B(i,`manifest.json`),children:`Download`})]})]})},{label:`Presentation 2`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,icon:(0,u.jsx)(z,{onClick:()=>B(a,`manifest.json`),children:(0,u.jsx)(pr,{})}),children:(0,u.jsxs)(`div`,{style:{maxWidth:`100%`},children:[(0,u.jsx)(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation2(t),null,2)}),(0,u.jsxs)(mr,{"data-sticky":`true`,children:[(0,u.jsx)(z,{onClick:()=>St(a),children:`Copy to clipboard`}),(0,u.jsx)(z,{onClick:()=>B(a,`manifest.json`),children:`Download`})]})]})}]})})})}function gr({key:e,initialValue:t,requestId:n,getInitialValue:r}){let[i,a]=(0,p.useCurrentAnnotationMetadata)({requestId:n}),[o,s]=(0,l.useState)(r&&r(i)||i[e]||t);return[o,(0,l.useCallback)(t=>{a({[e]:t}),s(t)},[])]}const _r=(0,w.default)(),vr=(0,l.createContext)(_r);function yr({children:e,emitter:t}){return(0,u.jsx)(vr.Provider,{value:t,children:e})}function br(){return(0,l.useContext)(vr)}function xr(e,t,n=[]){let r=(0,l.useContext)(vr);(0,l.useEffect)(()=>{let n=e=>{t(e)};return r.on(e,n),()=>{r.off(e,n)}},[r,e,...n])}function Sr(e,t=[]){let n=t.length?t:Array(e.length).fill(!1);if(typeof window>`u`)return n;let r=e.map(e=>window.matchMedia(e)),i=()=>r.map(e=>e.matches),[a,o]=(0,l.useState)(i);return(0,l.useLayoutEffect)(()=>{let e=()=>o(i);return r.forEach(t=>t.addListener(e)),()=>r.forEach(t=>t.removeListener(e))},[]),a}function Cr(e,t,n,r=!0){let i=(0,ee.useDebounce)(t,n);(0,l.useEffect)(()=>typeof window>`u`?()=>void 0:(window.addEventListener(`beforeunload`,t,!1),()=>{t(),window.removeEventListener(`beforeunload`,t)}),[t]),(0,l.useEffect)(()=>{if(e&&r)return e.subscribe(i,!0)},[i,e,r])}function wr(){let e=(0,p.useAtlasStore)(),t=(0,y.useStore)(e,e=>e.switchTool),n=(0,y.useStore)(e,e=>e.polygonState.currentTool),r=(0,y.useStore)(e,e=>e.polygonState.selectedStamp),i=(0,y.useStore)(e,e=>e.polygonState.showBoundingBox);return(0,l.useMemo)(()=>({currentTool:n,selectedStamp:r,draw:{active:n===`pencil`,enable:t.draw},polygon:{active:n===`pen`,enable:t.pen},line:{active:n===`line`,enable:t.line},lineBox:{active:n===`lineBox`,enable:t.lineBox},square:{active:n===`box`,enable:t.box},triangle:{active:r?.id===`triangle`,enable:t.triangle},hexagon:{active:r?.id===`hexagon`,enable:t.hexagon},circle:{active:r?.id===`circle`,enable:t.circle},remove:{active:i,enable:t.remove}}),[i,r,n,t])}const Tr=d.default.div`
|
|
622
622
|
position: relative;
|
|
623
623
|
width: 1px;
|
|
624
624
|
background: rgba(0, 0, 0, 0.2);
|
|
625
625
|
z-index: 50;
|
|
626
|
-
`,
|
|
626
|
+
`,Er=(0,d.default)(Ve)`
|
|
627
627
|
transition:
|
|
628
628
|
opacity 300ms,
|
|
629
629
|
transform 300ms;
|
|
@@ -635,7 +635,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
635
635
|
&:focus {
|
|
636
636
|
outline: 2px solid salmon;
|
|
637
637
|
}
|
|
638
|
-
`;(0,d.default)(
|
|
638
|
+
`;(0,d.default)(Er)`
|
|
639
639
|
background: #fff;
|
|
640
640
|
width: 30px;
|
|
641
641
|
height: 30px;
|
|
@@ -649,7 +649,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
649
649
|
svg {
|
|
650
650
|
fill: #9999;
|
|
651
651
|
}
|
|
652
|
-
`;const
|
|
652
|
+
`;const Dr=(0,d.default)(Er)`
|
|
653
653
|
position: relative;
|
|
654
654
|
display: flex;
|
|
655
655
|
opacity: 1;
|
|
@@ -676,7 +676,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
676
676
|
svg {
|
|
677
677
|
font-size: 1.5em;
|
|
678
678
|
}
|
|
679
|
-
`,
|
|
679
|
+
`,Or=d.default.div`
|
|
680
680
|
background: rgba(0, 0, 0, 0);
|
|
681
681
|
position: absolute;
|
|
682
682
|
width: 16px;
|
|
@@ -699,12 +699,12 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
699
699
|
&:hover {
|
|
700
700
|
transform: scaleX(100%);
|
|
701
701
|
background: rgba(0, 0, 0, 0.1);
|
|
702
|
-
${
|
|
702
|
+
${Er} {
|
|
703
703
|
transform: scaleX(100%);
|
|
704
704
|
opacity: 1;
|
|
705
705
|
}
|
|
706
706
|
}
|
|
707
|
-
`,
|
|
707
|
+
`,kr=d.default.div`
|
|
708
708
|
background: rgba(0, 0, 0, 0);
|
|
709
709
|
position: absolute;
|
|
710
710
|
pointer-events: none;
|
|
@@ -713,17 +713,17 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
713
713
|
top: 0;
|
|
714
714
|
bottom: 0;
|
|
715
715
|
z-index: 51; // This will always be quite high.
|
|
716
|
-
`,
|
|
716
|
+
`,Ar=(0,l.forwardRef)(function({dir:e,open:t,actions:n,reset:r},i){let[a,o]=(0,l.useState)(!0),s=`mt-[calc(50vh+8px)]`,d=e===`left`?`${s} ml-[13px]`:`${s} ml-[3px]`;return(0,u.jsxs)(Tr,{onClick:()=>n.open(),children:[(0,u.jsx)(kr,{$open:t,$dir:e,className:`group`,children:t?null:(0,u.jsxs)(c.Tooltip,{placement:e===`left`?`right`:`left`,children:[(0,u.jsx)(c.TooltipTrigger,{as:Dr,$dir:e,onClick:e=>n.open(),children:(0,u.jsx)(Se,{className:`text-2xl`,rotate:e===`right`?90:270})}),(0,u.jsx)(c.DefaultTooltipContent,{children:`Open`})]})}),(0,u.jsxs)(c.Tooltip,{placement:e===`left`?`right`:`left`,children:[(0,u.jsx)(c.TooltipTrigger,{"aria-label":`Resize panel`,asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsxs)(Or,{ref:i,$open:t,$dir:e,className:`group`,children:[t?(0,u.jsxs)(c.Tooltip,{placement:e===`left`?`right`:`left`,children:[(0,u.jsx)(c.TooltipTrigger,{as:c.IconHandle,onPress:()=>n.close(),children:(0,u.jsx)(`div`,{onMouseOut:()=>{o(!0)},onMouseOver:()=>{o(!1)},children:(0,u.jsx)(F,{})})}),(0,u.jsx)(c.DefaultTooltipContent,{children:`Close`})]}):null,r&&t?(0,u.jsxs)(c.Tooltip,{placement:e===`left`?`right`:`left`,children:[(0,u.jsx)(c.TooltipTrigger,{as:c.IconHandle,onPress:()=>r(),children:(0,u.jsx)(`div`,{onMouseOut:()=>{o(!0)},onMouseOver:()=>{o(!1)},children:(0,u.jsx)(c.ResetIcon,{})})}),(0,u.jsx)(c.DefaultTooltipContent,{children:`Reset`})]}):null,t?(0,u.jsxs)(c.Tooltip,{placement:e===`left`?`right`:`left`,children:[(0,u.jsx)(c.TooltipTrigger,{asChild:!0,"aria-label":`Resize panel`,children:(0,u.jsx)(`div`,{onMouseOut:()=>{o(!0)},onMouseOver:()=>{o(!1)},children:(0,u.jsx)(c.ResizeHandle,{"aria-label":`Resize panel`})})}),(0,u.jsx)(c.DefaultTooltipContent,{children:`Resize panel`})]}):null]})})}),a&&(0,u.jsx)(c.DefaultTooltipContent,{className:d,children:`Resize panel`})]})]})});function jr(e){return(0,u.jsx)(`svg`,{width:`1em`,height:`1em`,viewBox:`0 0 42 42`,xmlns:`http://www.w3.org/2000/svg`,stroke:`currentColor`,...e,children:(0,u.jsxs)(`g`,{transform:`translate(2 2)`,strokeWidth:5,fill:`none`,fillRule:`evenodd`,children:[(0,u.jsx)(`circle`,{strokeOpacity:.5,cx:18,cy:18,r:18}),(0,u.jsx)(`path`,{d:`M36 18c0-9.94-8.06-18-18-18`,children:(0,u.jsx)(`animateTransform`,{attributeName:`transform`,type:`rotate`,from:`0 18 18`,to:`360 18 18`,dur:`1s`,repeatCount:`indefinite`})})]})})}var G={};function Mr(){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{"data-header":`true`,className:G.ghostLoadingBlock}),(0,u.jsxs)(`div`,{className:G.ghostBlockList,children:[(0,u.jsx)(`div`,{className:G.ghostLoadingBlock}),(0,u.jsx)(`div`,{className:G.ghostLoadingBlock}),(0,u.jsx)(`div`,{className:G.ghostLoadingBlock}),(0,u.jsx)(`div`,{className:G.ghostLoadingBlock})]})]})}function Nr(e,t,n,r=[]){(0,l.useLayoutEffect)(()=>{let r=e.current;if(r)return r.addEventListener(t,n),()=>{r.removeEventListener(t,n)}},[t,...r])}function Pr(e,t,n,r){return Math.sqrt(Math.abs(n-e)**2+Math.abs(r-t)**2)}function Fr(e,t,n,r){return n||(r?r/e:t)}function Ir(e,t={}){let n=(0,l.useRef)(null),r=(0,l.useRef)(null),i=(0,l.useRef)(null),a=(0,l.useRef)(null),o=(0,l.useRef)(.5),[s,u]=(0,l.useState)(!1),d=(0,l.useRef)(!1),f=(0,l.useRef)(0),p=(0,l.useRef)({x:0,y:0}),[{widthA:m,widthB:h},g]=(0,c.useLocalStorage)(`resize-layout/${e}`,{widthA:`auto`,widthB:`${Lt({initial:t.widthA,fallback:320,options:{minWidth:t.minWidthPx,maxWidth:t.maxWidthPx}})}px`}),{loading:_=!1}=t;return Nr(a,`mousedown`,e=>{p.current.x=e.pageX,p.current.y=e.pageY,f.current&&(clearTimeout(f.current),f.current=0),f.current=setTimeout(()=>{u(!0),d.current=!0},350)},[_]),Nr({current:typeof window<`u`?window:void 0},`mouseup`,()=>{let e=n.current;if(e&&d.current){let{x:n,width:r}=e.getBoundingClientRect(),i=t.marginLeft||0,a=Fr(r,.8,t.maxWidthPct,t.maxWidthPx)*r,s=Fr(r,.2,t.minWidthPct,t.minWidthPx)*r;if(t.left){let e=o.current*r-i;g({widthA:`${(1-o.current)*r-i}`,widthB:`${e>a?a:e<s?s:e}px`})}else{let e=1-o.current*r-i;g({widthA:`${e>a?a:e<s?s:e}px`,widthB:`${o.current*r-i}px`})}u(!1),d.current=!1,t.onDragEnd&&t.onDragEnd()}clearTimeout(f.current),f.current=0},[_]),Nr(n,`mousemove`,e=>{if(!d.current&&f.current&&Pr(p.current.x,p.current.y,e.pageX,e.pageY)>20&&(u(!0),d.current=!0,clearTimeout(f.current),f.current=0),d.current&&r.current){let i=n.current;if(i){let{x:n,width:a}=i.getBoundingClientRect(),s=t.marginLeft||0,c=t.left||!1,l=Fr(a,.8,t.maxWidthPct,t.maxWidthPx),u=Fr(a,.2,t.minWidthPct,t.minWidthPx);o.current=(a+n-e.pageX-5)/a,c&&(o.current=1-o.current),o.current=o.current<u?u:o.current,o.current=o.current>l?l:o.current,r.current.style.width=`${o.current*a-s}px`}}},[s,_]),{refs:{container:n,resizer:a,resizableDiv:r,otherDiv:i},setWidths:g,isDragging:s,widthA:m,widthB:h}}const Lr=d.default.div`
|
|
717
717
|
position: relative;
|
|
718
718
|
display: flex;
|
|
719
719
|
flex: 1;
|
|
720
720
|
overflow: hidden;
|
|
721
721
|
flex-direction: column;
|
|
722
|
-
`,
|
|
722
|
+
`,Rr=d.default.div`
|
|
723
723
|
flex: 1;
|
|
724
724
|
position: relative;
|
|
725
725
|
z-index: 7;
|
|
726
|
-
`,
|
|
726
|
+
`,zr=d.default.div`
|
|
727
727
|
display: flex;
|
|
728
728
|
justify-content: space-around;
|
|
729
729
|
width: 100%;
|
|
@@ -731,7 +731,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
731
731
|
border-top: 1px solid #cbcbcb;
|
|
732
732
|
padding: 0.5em;
|
|
733
733
|
height: 3.4rem;
|
|
734
|
-
`,
|
|
734
|
+
`,Br=d.default.button`
|
|
735
735
|
//background: red;
|
|
736
736
|
padding: 0.5em 1em;
|
|
737
737
|
width: 32%;
|
|
@@ -739,7 +739,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
739
739
|
border-radius: 5px;
|
|
740
740
|
border: none;
|
|
741
741
|
background: #ffffff;
|
|
742
|
-
`,
|
|
742
|
+
`,Vr=d.default.button`
|
|
743
743
|
padding: 0.5em 1em;
|
|
744
744
|
width: 32%;
|
|
745
745
|
|
|
@@ -748,12 +748,12 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
748
748
|
background: #5e59c2;
|
|
749
749
|
border: 1px solid rgba(0, 0, 0, 0.21);
|
|
750
750
|
color: #ffffff;
|
|
751
|
-
`,
|
|
751
|
+
`,Hr=d.default.div`
|
|
752
752
|
position: relative;
|
|
753
753
|
width: 32%;
|
|
754
754
|
margin: 0 0.75em;
|
|
755
755
|
z-index: 9;
|
|
756
|
-
`,
|
|
756
|
+
`,Ur=d.default.button`
|
|
757
757
|
padding: 0.4em 1em 0.65em;
|
|
758
758
|
position: absolute;
|
|
759
759
|
width: 100%;
|
|
@@ -772,7 +772,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
772
772
|
margin: auto;
|
|
773
773
|
font-size: 1.8em;
|
|
774
774
|
}
|
|
775
|
-
`,
|
|
775
|
+
`,Wr=d.default.div`
|
|
776
776
|
background: #fff;
|
|
777
777
|
display: flex;
|
|
778
778
|
position: absolute;
|
|
@@ -802,7 +802,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
802
802
|
padding-right: 0.5em;
|
|
803
803
|
font-size: 1.1em;
|
|
804
804
|
}
|
|
805
|
-
`,
|
|
805
|
+
`,Gr=d.default.div`
|
|
806
806
|
position: absolute;
|
|
807
807
|
transform: translateX(-100%);
|
|
808
808
|
background: #fff;
|
|
@@ -815,7 +815,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
815
815
|
${e=>e.$open&&d.css`
|
|
816
816
|
transform: translateX(0);
|
|
817
817
|
`}
|
|
818
|
-
`,
|
|
818
|
+
`,Kr=d.default.div`
|
|
819
819
|
background: rgba(0, 0, 0, 0.4);
|
|
820
820
|
pointer-events: none;
|
|
821
821
|
position: absolute;
|
|
@@ -831,7 +831,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
831
831
|
pointer-events: visible;
|
|
832
832
|
opacity: 1;
|
|
833
833
|
`}
|
|
834
|
-
`,
|
|
834
|
+
`,qr=d.default.div`
|
|
835
835
|
display: flex;
|
|
836
836
|
flex-direction: column;
|
|
837
837
|
flex: 1;
|
|
@@ -840,16 +840,16 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
840
840
|
max-width: 100%;
|
|
841
841
|
min-width: 0;
|
|
842
842
|
overflow: hidden;
|
|
843
|
-
`,
|
|
843
|
+
`,Jr=d.default.header`
|
|
844
844
|
//box-shadow: 0 3px 2px 0 rgba(0, 0, 0, 0.04), 0 1px 0 0 rgba(0, 0, 0, 0.17);
|
|
845
845
|
z-index: 200;
|
|
846
|
-
`,
|
|
846
|
+
`,Yr=d.default.div`
|
|
847
847
|
background: #fff;
|
|
848
|
-
`,
|
|
848
|
+
`,Xr=d.default.div`
|
|
849
849
|
display: flex;
|
|
850
850
|
flex: 1 1 0;
|
|
851
851
|
min-height: 0;
|
|
852
|
-
`,
|
|
852
|
+
`,Zr=d.default.div`
|
|
853
853
|
background: #fff;
|
|
854
854
|
display: flex;
|
|
855
855
|
flex-direction: column;
|
|
@@ -868,7 +868,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
868
868
|
`;case`unmounted`:case`exited`:return d.css`
|
|
869
869
|
max-width: 0;
|
|
870
870
|
`}}}
|
|
871
|
-
`,
|
|
871
|
+
`,Qr=d.default.div`
|
|
872
872
|
flex: 1 1 0;
|
|
873
873
|
background: #e3e7f0;
|
|
874
874
|
// background: #efefef;
|
|
@@ -887,7 +887,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
887
887
|
> * {
|
|
888
888
|
min-width: 0;
|
|
889
889
|
}
|
|
890
|
-
|
|
890
|
+
`,$r=d.default.div`
|
|
891
891
|
background: #fff;
|
|
892
892
|
display: flex;
|
|
893
893
|
flex-direction: column;
|
|
@@ -903,7 +903,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
903
903
|
`;case`unmounted`:case`exited`:return d.css`
|
|
904
904
|
max-width: 0;
|
|
905
905
|
`}}}
|
|
906
|
-
`,
|
|
906
|
+
`,ei=d.default.div`
|
|
907
907
|
display: flex;
|
|
908
908
|
flex: 1;
|
|
909
909
|
height: 100%;
|
|
@@ -932,7 +932,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
932
932
|
flex-direction: row;
|
|
933
933
|
}
|
|
934
934
|
`}}}
|
|
935
|
-
`,
|
|
935
|
+
`,ti=d.default.div`
|
|
936
936
|
background: #fff;
|
|
937
937
|
border-top: 1px solid #e3e7f0;
|
|
938
938
|
border-right: 1px solid #e3e7f0;
|
|
@@ -942,7 +942,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
942
942
|
/* width: 3.35em;
|
|
943
943
|
padding: 0.3em;
|
|
944
944
|
gap: 0.3em; */
|
|
945
|
-
|
|
945
|
+
`,ni=d.default.button`
|
|
946
946
|
cursor: pointer;
|
|
947
947
|
aspect-ratio: 1;
|
|
948
948
|
width: 3em;
|
|
@@ -984,6 +984,6 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
984
984
|
flex: 1;
|
|
985
985
|
min-width: 0;
|
|
986
986
|
overflow: hidden;
|
|
987
|
-
`,ei=(0,l.memo)(function(e){let t=ce(),n=Pt(),{vault:r}=(0,l.useContext)(p.ReactVaultContext),i=r||void 0,a=(0,l.useRef)(null),o=(0,l.useRef)(null),{loading:s,state:d,leftPanels:f,centerPanels:m,rightPanels:h,modals:g=[],actions:_}=n,v=f.find(e=>e.id===d.leftPanel.current),y=h.find(e=>e.id===d.rightPanel.current),b=m.find(e=>e.id===d.centerPanel.current),x=g.find(e=>e.id===d.modal.current),S=d.pinnedRightPanel.pinned?h.find(e=>e.id===d.pinnedRightPanel.current):void 0,[C]=vr([`(max-width: 1020px)`]),w=e.isLoading||!1,ne=(0,l.useMemo)(()=>(n.background||[]).map((e,t)=>(0,u.jsx)(l.Fragment,{children:e.render()},t)),[n.background]),E=Nr(`left-panel/${v?.id}`,{left:!0,marginLeft:60,minWidthPx:v?.options?.minWidth||200,maxWidthPx:v?.options?.maxWidth||720,loading:s}),D=Nr(`right-panel/${y?.id}`,{left:!1,minWidthPx:y?.options?.minWidth||320,maxWidthPx:y?.options?.maxWidth||720,loading:s}),O=y&&(S?.id!==y.id||!(0,T.default)(d.pinnedRightPanel.state,d.rightPanel.state)),k=E.widthB===`auto`?void 0:()=>E.setWidths({widthA:`auto`,widthB:Lt({options:v?.options,fallback:320})}),A=D.widthB===`auto`?void 0:()=>D.setWidths({widthA:`auto`,widthB:Lt({options:y?.options,fallback:320})});if((0,l.useLayoutEffect)(()=>{C&&d.leftPanel.open&&d.rightPanel.open&&(_.leftPanel.close(),_.rightPanel.close())},[C]),(0,l.useLayoutEffect)(()=>{if(b&&b.onMount)return b.onMount(d.centerPanel.state||b.defaultState||{},{...n,current:_.centerPanel,vault:i},t)},[d.centerPanel.current]),(0,l.useLayoutEffect)(()=>{h.length&&_.rightPanel.change({id:h[0].id}),f.length&&_.leftPanel.change({id:f[0].id}),m.length&&_.centerPanel.change({id:m[0].id})},[]),s)return null;let j=t=>(0,u.jsx)(Zr,{$menu:e.leftPanelMenuPosition||`bottom`,ref:E.refs.resizableDiv,className:[`manifest-editor`,t?`transition transition-${t}`:``].join(` `),style:{width:d.leftPanel.open||t!==`exited`?E.widthB:void 0,minWidth:v?.options?.minWidth},children:w?(0,u.jsx)(q,{children:(0,u.jsx)(kr,{})}):(0,u.jsxs)(u.Fragment,{children:[e.leftPanelMenu?(0,u.jsx)(K,{$open:d.leftPanel.open&&t!==`exited`,$position:e.leftPanelMenuPosition||`bottom`,children:e.leftPanelMenu}):null,(0,u.jsx)(q,{children:d.leftPanel.open||t!==`exited`?(0,u.jsx)(u.Fragment,{children:v?(0,u.jsx)($t,{isLeft:!0,noHeader:!0,transition:t,panel:v,state:d.leftPanel,actions:_.leftPanel}):null}):null})]})}),M=()=>!x||d.modal.open===!1?null:(0,u.jsx)(c.Modal,{title:x.label,onClose:()=>_.modal.close(),children:Rt(x.render(d.modal.state||x.defaultState||{},{...n,current:_.modal,vault:i},t))}),re=()=>(0,u.jsxs)(Zr,{$menu:e.centerPanelMenuPosition||`top`,children:[e.centerPanelMenu?(0,u.jsx)(K,{$open:d.centerPanel.open,$position:e.centerPanelMenuPosition||`top`,children:e.centerPanelMenu}):null,(0,u.jsx)(q,{children:(0,u.jsx)(ee.ErrorBoundary,{resetKeys:[b?.id],FallbackComponent:Ft,children:w?(0,u.jsx)(`div`,{style:{display:`flex`,flex:1,justifyContent:`center`,alignItems:`center`},children:(0,u.jsx)(Or,{stroke:`rgba(0,0,0,.3)`,fontSize:`2em`})}):d.centerPanel.open&&b?Rt(b.render(d.centerPanel.state||b.defaultState||{},{...n,current:_.centerPanel,vault:i},t)):null})})]}),N=t=>(0,u.jsx)(Zr,{$menu:e.rightPanelMenuPosition||`bottom`,ref:D.refs.resizableDiv,className:t?`transition transition-${t}`:``,style:{width:d.rightPanel.open||t!==`exited`?D.widthB:void 0,minWidth:y?.options?.minWidth},children:w?(0,u.jsx)(q,{children:(0,u.jsx)(kr,{})}):(0,u.jsxs)(u.Fragment,{children:[e.rightPanelMenu?(0,u.jsx)(K,{$open:d.rightPanel.open,$position:e.rightPanelMenuPosition||`bottom`,children:e.rightPanelMenu}):null,(0,u.jsx)(q,{children:d.rightPanel.open||t!==`exited`?(0,u.jsxs)(u.Fragment,{children:[O?(0,u.jsx)($t,{panel:y,state:d.rightPanel,actions:_.rightPanel,pinActions:_.pinnedRightPanel,available:h}):null,S?(0,u.jsx)($t,{panel:S,state:d.pinnedRightPanel,actions:_.pinnedRightPanel,close:_.rightPanel.close}):null]}):null})]})});return C?(0,u.jsxs)(Wr,{children:[e.hideHeader?null:(0,u.jsxs)(Gr,{children:[e.header||null,e.menu?(0,u.jsx)(`menu`,{children:e.menu}):null]}),(0,u.jsx)(qr,{children:(0,u.jsxs)(Pr,{children:[(0,u.jsx)(Fr,{children:re()}),(0,u.jsxs)(Ir,{children:[f.length>0?(0,u.jsx)(Lr,{onClick:_.leftPanel.toggle,children:v?.label}):null,h.length>0?(0,u.jsx)(zr,{children:(0,u.jsxs)(Br,{onClick:_.rightPanel.toggle,children:[(0,u.jsx)(Se,{rotate:180}),y?.label]})}):null,(0,u.jsx)(Rr,{children:`Preview`})]}),h.length>0?(0,u.jsx)(Vr,{$open:d.rightPanel.open,children:N()}):null,f.length>0?(0,u.jsx)(Hr,{$open:d.leftPanel.open,children:j()}):null,f.length>0||h.length>0?(0,u.jsx)(Ur,{$open:d.leftPanel.open||d.rightPanel.open,onClick:()=>{_.leftPanel.close(),_.rightPanel.close()}}):null]})})]}):(0,u.jsxs)(Wr,{id:e.htmlId||`manifest-editor-container`,className:`manifest-editor ${e.className||``}`,children:[e.hideHeader?null:(0,u.jsxs)(Gr,{children:[e.header||null,e.menu?(0,u.jsx)(`menu`,{children:e.menu}):null]}),(0,u.jsxs)(qr,{ref:e=>{E.refs.container.current=e,D.refs.container.current=e},children:[f.length>0?(0,u.jsx)(c.PanelSideMenu,{current:d.leftPanel.current,items:f.map(e=>({id:e.id,label:e.label,icon:e.icon,divide:e.divide,onClick:()=>{d.leftPanel.current===e.id?_.leftPanel.toggle():_.leftPanel.change({id:e.id})}})),open:d.leftPanel.open}):null,f.length>0?(0,u.jsx)(te.Transition,{nodeRef:a,in:d.leftPanel.open,timeout:400,unmountOnExit:!1,children:e=>(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Jr,{ref:a,$width:E.widthB,$state:e,$motion:!0,children:j(e)}),(0,u.jsx)(Dr,{ref:E.refs.resizer,reset:k,dir:`left`,transition:e,open:d.leftPanel.open||e!==`exited`,actions:_.leftPanel})]})}):null,(0,u.jsx)(Yr,{children:re()}),h.length>0?(0,u.jsx)(te.Transition,{nodeRef:o,in:d.rightPanel.open,timeout:400,unmountOnExit:!1,children:e=>(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Dr,{ref:D.refs.resizer,dir:`right`,reset:A,open:d.rightPanel.open,actions:_.rightPanel}),(0,u.jsx)(Xr,{ref:o,$width:D.widthB,$state:e,$motion:!0,children:N(e)})]})}):null]}),(0,u.jsx)(Kr,{children:e.footer||null}),(0,u.jsx)(`div`,{className:`hidden`,children:ne}),(0,u.jsx)(u.Fragment,{children:M()})]})});function J(e,t){function n(){t({type:`popStack`,panel:e,payload:void 0})}function r(n){t({type:`change`,panel:e,payload:n})}function i(n){t({type:`open`,panel:e,payload:n})}function a(){t({type:`close`,panel:e,payload:void 0})}function o(){t({type:`toggle`,panel:e,payload:void 0})}function s(){t({type:`minimise`,panel:e,payload:void 0})}function c(n){t({type:`maximise`,panel:e,payload:n})}function u(n){t({type:`setCustomWidth`,panel:e,payload:n})}function d(){t({type:`resetSize`,panel:e,payload:void 0})}function f(n){t({type:`pin`,panel:e,payload:n})}function p(){t({type:`unpin`,panel:e,payload:void 0})}return(0,l.useMemo)(()=>({popStack:n,change:r,open:i,close:a,toggle:o,minimise:s,maximise:c,setCustomWidth:u,resetSize:d,pin:f,unpin:p}),[])}function ti(e,t){if(t.payload&&t.payload.stacked){if(e.current){let n=e.stack[e.stack.length-1];if(n&&n.id===e.current)return;t.payload.unique&&(e.stack=e.stack.filter(t=>t.id!==e.current)),e.stack.push({id:e.current,state:e.state?{...(0,m.original)(e.state)}:{}})}}else e.stack=[]}function Y(e,t){switch(t.type){case`popStack`:if(e.stack.length){let t=e.stack[e.stack.length-1];t&&(e.current=t.id,e.state=t.state),e.stack=e.stack.slice(0,-1)}break;case`change`:t.payload.id!==e.current&&ti(e,t),e.state=t.payload.state,e.current=t.payload.id;break;case`close`:e.open=!1;break;case`open`:e.open=!0,t.payload&&(t.payload.id!==e.current&&ti(e,t),e.state=t.payload.state,e.current=t.payload.id);break;case`toggle`:e.open=!e.open;break;case`maximise`:e.minimised=!1,t.payload&&(e.state=t.payload.state,e.current=t.payload.id);break;case`minimise`:e.minimised=!0;break;case`setCustomWidth`:e.customWidth=t.payload;break;case`resetSize`:e.customWidth=void 0}if(It(e))switch(t.type){case`pin`:e.pinned=!0,e.state=t.payload.state,e.current=t.payload.id;break;case`unpin`:e.pinned=!1,e.state=void 0;break}}const ni=(0,m.produce)((e,t)=>{switch(t.panel){case`centerPanel`:Y(e.centerPanel,t);break;case`leftPanel`:Y(e.leftPanel,t);break;case`rightPanel`:Y(e.rightPanel,t);break;case`modal`:Y(e.modal,t);break;case`pinnedRightPanel`:Y(e.pinnedRightPanel,t);break}});function X(){return{customWidth:void 0,minimised:!1,open:!0,current:null,state:null,stack:[]}}function ri(){return{leftPanel:X(),centerPanel:X(),rightPanel:X(),modal:X(),pinnedRightPanel:{...X(),pinnable:!0,pinned:!1}}}const ii=(0,l.createContext)({resource:null});function ai(){return(0,l.useContext)(ii)}function oi(){let e=(0,p.useVault)(),{resource:t}=ai();O(t,`Nothing selected`);let{id:n,type:r}=t;return(0,p.useVaultSelector)(()=>e.get({id:n,type:r}),[n,r])}function si(){let{resource:e}=ai();return e}function ci({resource:e,children:t}){let{id:n,type:r}=e||{};return(0,u.jsx)(ii.Provider,{value:(0,l.useMemo)(()=>({resource:n&&r?{id:n,type:r}:null}),[n,r]),children:t})}var li=class extends l.Component{constructor(...e){super(...e),R(this,`state`,{hasError:!1})}static getDerivedStateFromError(e){return console.error(e),{hasError:!0}}componentDidCatch(e,t){console.error(`Uncaught error:`,e,t)}render(){return this.state.hasError?(0,u.jsx)(`h1`,{children:`Sorry.. there was an error`}):this.props.children}};function Z(e,t){return typeof e==`string`?{id:e,state:t}:e}const ui=(0,l.memo)(function(e){let t=P(),n=gr(),r=t.layout,[i,a]=(0,l.useReducer)(ni,void 0,ri),o={centerPanel:J(`centerPanel`,a),leftPanel:J(`leftPanel`,a),rightPanel:J(`rightPanel`,a),pinnedRightPanel:J(`pinnedRightPanel`,a),modal:J(`modal`,a),editingStack:vn()};function s(e){let t=r.rightPanels.find(t=>t.id===e);if(t)return[t,o.rightPanel,o.pinnedRightPanel];let n=r.centerPanels.find(t=>t.id===e);if(n)return[n,o.centerPanel];let i=r.leftPanels.find(t=>t.id===e);if(i)return[i,o.leftPanel];O(!1,`Was not able to find panel with id "${e}"`)}function c(e,t){let{id:r,state:i,stacked:a}=Z(e,t),[o,c,l]=s(r);if(l&&o.options?.openPinned)l.pin({id:r,state:{...o.defaultState||{},...i||{}}});else{let e={id:r,state:{...o.defaultState||{},...i||{}},stacked:a};n.emit(`layout.open`,e),c.open(e)}}function d(e,t){let{id:r,state:i}=Z(e,t),[a,o]=s(r),c={id:r,state:{...a.defaultState||{},...i||{}},stacked:!0};n.emit(`layout.open`,c),o.open(c)}function f(e,t){let{id:r,state:i,stacked:a}=Z(e,t),[o,c]=s(r),l={id:r,state:{...o.defaultState||{},...i||{}},stacked:a};n.emit(`layout.change`,l),c.change(l)}function p(e,t){let{id:r}=Z(e,t),[,i]=s(r);n.emit(`layout.close`,{id:r}),i.close()}function m(e,t){let{id:r}=Z(e,t),[,i]=s(r);n.emit(`layout.toggle`,{id:r}),i.toggle()}function h(e,t={},{reset:i,property:a,stacked:s,forceOpen:c}={}){let l={resource:(0,_.isSpecificResource)(e)?e:{type:`SpecificResource`,source:e},...t};n.emit(`layout.edit`,l),o.editingStack.edit(l,i),r.rightPanels.find(e=>e.id===`@manifest-editor/editor`)&&(c?o.rightPanel.open({id:`@manifest-editor/editor`,stacked:s!==!1,state:{property:a},unique:!0}):o.rightPanel.change({id:`@manifest-editor/editor`,stacked:s!==!1,state:{property:a},unique:!0}))}function g(e){o.editingStack.create(e,{}),n.emit(`layout.create`,e),r.modals?.find(e=>e.id===`@manifest-editor/creator`)?o.modal.open({id:`@manifest-editor/creator`,stacked:!0,unique:!0,state:e}):r.rightPanels.find(e=>e.id===`@manifest-editor/creator`)&&o.rightPanel.open({id:`@manifest-editor/creator`,stacked:!0,unique:!0,state:e})}let v={open:c,change:f,close:p,toggle:m,stack:d,edit:h,create:g};return(0,u.jsx)(At.Provider,{value:(0,l.useMemo)(()=>({...o,...v}),[r]),children:(0,u.jsx)(jt.Provider,{value:i,children:e.children})})}),di=[{id:`universal-viewer`,config:{url:`https://universalviewer.dev/#?iiifManifestId={manifestId}`},type:`external-manifest-preview`,label:`Universal viewer`},{id:`mirador-3`,type:`external-manifest-preview`,label:`Mirador 3`,config:{url:`https://tomcrane.github.io/scratch/mirador3/?iiif-content={manifestId}`}},{id:`annona`,type:`external-manifest-preview`,label:`Annona`,config:{url:`https://ncsu-libraries.github.io/annona/tools/#/display?url={manifestId}&viewtype=iiif-storyboard&settings=%7B%22fullpage%22%3Atrue%7D`}},{id:`iiif-preview`,config:{url:`https://iiif-preview.digirati.services/store`},type:`iiif-preview-service`,label:`IIIF Preview`}],fi=new ne.ImageServiceLoader({approximateServices:!0,verificationsRequired:8,enableFetching:!0});function pi({config:e,saveConfig:t,children:n,theme:r,previews:i,resource:a,editing:o}){let s=M(),c=(0,l.useMemo)(()=>({...s,...e,previews:e?.previews||s.previews||di}),[s,e]);return(0,u.jsx)(li,{children:(0,u.jsx)(p.ImageServiceLoaderContext.Provider,{value:fi,children:(0,u.jsx)(De,{resource:a,children:(0,u.jsx)(sn,{children:(0,u.jsx)(d.ThemeProvider,{theme:r||Fn,children:(0,u.jsx)(N,{config:c,saveConfig:t,children:(0,u.jsx)(On,{children:(0,u.jsx)(ui,{children:(0,u.jsx)(Vn,{children:(0,u.jsx)(Re,{previews:i||[],configs:c.previews,children:(0,u.jsx)(p.AtlasStoreProvider,{children:n})})})})})})})})})})})}const Q={},mi=(0,l.createContext)(`global`);function hi(){return(0,l.useContext)(mi)}function gi(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function _i(e){let t=hi(),[,n]=(0,l.useReducer)(e=>e+1,0),r=(0,l.useMemo)(()=>(Q[t]||(Q[t]={}),Q[t][e]||(Q[t][e]={name:e,emitter:(0,C.default)(),status:`idle`,promise:Promise.resolve(),abort:new AbortController,reject:()=>void 0,resolve:()=>void 0}),Q[t][e]),[t,e]);return $(r,`abort`,n),$(r,`error`,n),$(r,`complete`,n),$(r,`running`,n),r}function $(e,t,n){let r=(0,l.useCallback)(()=>n(e),[n]);(0,l.useEffect)(()=>{let n=e.emitter;return n.on(t,r),()=>n.off(t,r)},[t,r,e.emitter])}const vi=()=>void 0;function yi(e,t){let n=_i(e);return $(n,`complete`,t||vi),[e=>{n.status===`running`&&(n.abort.abort(),n.emitter.emit(`abort`)),n.error&&(n.error=``);let t=gi();t.promise.then(()=>n.emitter.emit(`complete`)).catch(()=>n.emitter.emit(`error`)),n.status=`running`,n.request=e,n.promise=t.promise,n.resolve=t.resolve,n.reject=t.reject,n.emitter.emit(`running`)},n]}function bi(e,t){let n=_i(e);return $(n,`running`,t),[e=>{n.status===`running`&&(n.response=e,n.status=`complete`,n.resolve())},n,(e,t)=>{n.status===`running`&&(n.error=t||e,n.status=`error`,n.reject(e))}]}function xi({children:e}){return(0,u.jsx)(mi.Provider,{value:(0,l.useMemo)(()=>`id-${Date.now()}`,[]),children:e})}function Si(e){return!1}function Ci({as:e,reference:t,onReference:n,onLink:r,onAnalysis:i,onDropReference:a,onDropLink:o,onDropAnalysis:s,onPasteReference:c,onPasteLink:d,onPasteAnalysis:f,...p}){let m=e||`div`,h=a||n,g=c||n,_=d||r,v=f||i,y=(0,l.useMemo)(()=>t,[t?.id,t?.type]),ee=(0,l.useCallback)(function(e){e.defaultPrevented||(e.preventDefault(),e.clipboardData&&y&&y.id&&y.type&&e.clipboardData.setData(`application/json+vault`,JSON.stringify({id:y.id,type:y.type})))},[y]),b=(0,l.useCallback)(async function(e){if(!e.defaultPrevented&&(e.preventDefault(),e.clipboardData)){if(p.onLoading&&p.onLoading(),g){let t=e.clipboardData.getData(`application/json+vault`);if(t)try{let e=JSON.parse(t);e&&e.id&&e.type&&g(e)}catch{}}if(_||v){let t=e.clipboardData.getData(`text`);if(t.startsWith(`http`)){let e=t.split(`
|
|
988
|
-
`);for(let t of e){if(v)try{let e=await
|
|
987
|
+
`,ri=(0,l.memo)(function(e){let t=ce(),n=Pt(),{vault:r}=(0,l.useContext)(p.ReactVaultContext),i=r||void 0,a=(0,l.useRef)(null),o=(0,l.useRef)(null),{loading:s,state:d,leftPanels:f,centerPanels:m,rightPanels:h,modals:g=[],actions:_}=n,v=f.find(e=>e.id===d.leftPanel.current),y=h.find(e=>e.id===d.rightPanel.current),x=m.find(e=>e.id===d.centerPanel.current),S=g.find(e=>e.id===d.modal.current),C=d.pinnedRightPanel.pinned?h.find(e=>e.id===d.pinnedRightPanel.current):void 0,[w]=Sr([`(max-width: 1020px)`]),ee=e.isLoading||!1,ne=(0,l.useMemo)(()=>(n.background||[]).map((e,t)=>(0,u.jsx)(l.Fragment,{children:e.render()},t)),[n.background]),E=Ir(`left-panel/${v?.id}`,{left:!0,marginLeft:60,minWidthPx:v?.options?.minWidth||200,maxWidthPx:v?.options?.maxWidth||720,loading:s}),D=Ir(`right-panel/${y?.id}`,{left:!1,minWidthPx:y?.options?.minWidth||320,maxWidthPx:y?.options?.maxWidth||720,loading:s}),O=y&&(C?.id!==y.id||!(0,T.default)(d.pinnedRightPanel.state,d.rightPanel.state)),k=E.widthB===`auto`?void 0:()=>E.setWidths({widthA:`auto`,widthB:Lt({options:v?.options,fallback:320})}),A=D.widthB===`auto`?void 0:()=>D.setWidths({widthA:`auto`,widthB:Lt({options:y?.options,fallback:320})});if((0,l.useLayoutEffect)(()=>{w&&d.leftPanel.open&&d.rightPanel.open&&(_.leftPanel.close(),_.rightPanel.close())},[w]),(0,l.useLayoutEffect)(()=>{if(x&&x.onMount)return x.onMount(d.centerPanel.state||x.defaultState||{},{...n,current:_.centerPanel,vault:i},t)},[d.centerPanel.current]),(0,l.useLayoutEffect)(()=>{h.length&&_.rightPanel.change({id:h[0].id}),f.length&&_.leftPanel.change({id:f[0].id}),m.length&&_.centerPanel.change({id:m[0].id})},[]),s)return null;let j=t=>(0,u.jsx)(ei,{$menu:e.leftPanelMenuPosition||`bottom`,ref:E.refs.resizableDiv,className:[`manifest-editor`,t?`transition transition-${t}`:``].join(` `),style:{width:d.leftPanel.open||t!==`exited`?E.widthB:void 0,minWidth:v?.options?.minWidth},children:ee?(0,u.jsx)(q,{children:(0,u.jsx)(Mr,{})}):(0,u.jsxs)(u.Fragment,{children:[e.leftPanelMenu?(0,u.jsx)(K,{$open:d.leftPanel.open&&t!==`exited`,$position:e.leftPanelMenuPosition||`bottom`,children:e.leftPanelMenu}):null,(0,u.jsx)(q,{children:d.leftPanel.open||t!==`exited`?(0,u.jsx)(u.Fragment,{children:v?(0,u.jsx)($t,{isLeft:!0,noHeader:!0,transition:t,panel:v,state:d.leftPanel,actions:_.leftPanel}):null}):null})]})}),M=()=>!S||d.modal.open===!1?null:(0,u.jsx)(c.Modal,{title:S.label,onClose:()=>_.modal.close(),children:Rt(S.render(d.modal.state||S.defaultState||{},{...n,current:_.modal,vault:i},t))}),re=()=>(0,u.jsxs)(ei,{$menu:e.centerPanelMenuPosition||`top`,children:[e.centerPanelMenu?(0,u.jsx)(K,{$open:d.centerPanel.open,$position:e.centerPanelMenuPosition||`top`,children:e.centerPanelMenu}):null,(0,u.jsx)(q,{children:(0,u.jsx)(b.ErrorBoundary,{resetKeys:[x?.id],FallbackComponent:Ft,children:ee?(0,u.jsx)(`div`,{style:{display:`flex`,flex:1,justifyContent:`center`,alignItems:`center`},children:(0,u.jsx)(jr,{stroke:`rgba(0,0,0,.3)`,fontSize:`2em`})}):d.centerPanel.open&&x?Rt(x.render(d.centerPanel.state||x.defaultState||{},{...n,current:_.centerPanel,vault:i},t)):null})})]}),N=t=>(0,u.jsx)(ei,{$menu:e.rightPanelMenuPosition||`bottom`,ref:D.refs.resizableDiv,className:t?`transition transition-${t}`:``,style:{width:d.rightPanel.open||t!==`exited`?D.widthB:void 0,minWidth:y?.options?.minWidth},children:ee?(0,u.jsx)(q,{children:(0,u.jsx)(Mr,{})}):(0,u.jsxs)(u.Fragment,{children:[e.rightPanelMenu?(0,u.jsx)(K,{$open:d.rightPanel.open,$position:e.rightPanelMenuPosition||`bottom`,children:e.rightPanelMenu}):null,(0,u.jsx)(q,{children:d.rightPanel.open||t!==`exited`?(0,u.jsxs)(u.Fragment,{children:[O?(0,u.jsx)($t,{panel:y,state:d.rightPanel,actions:_.rightPanel,pinActions:_.pinnedRightPanel,available:h}):null,C?(0,u.jsx)($t,{panel:C,state:d.pinnedRightPanel,actions:_.pinnedRightPanel,close:_.rightPanel.close}):null]}):null})]})});return w?(0,u.jsxs)(qr,{children:[e.hideHeader?null:(0,u.jsxs)(Jr,{children:[e.header||null,e.menu?(0,u.jsx)(`menu`,{children:e.menu}):null]}),(0,u.jsx)(Xr,{children:(0,u.jsxs)(Lr,{children:[(0,u.jsx)(Rr,{children:re()}),(0,u.jsxs)(zr,{children:[f.length>0?(0,u.jsx)(Br,{onClick:_.leftPanel.toggle,children:v?.label}):null,h.length>0?(0,u.jsx)(Hr,{children:(0,u.jsxs)(Ur,{onClick:_.rightPanel.toggle,children:[(0,u.jsx)(Se,{rotate:180}),y?.label]})}):null,(0,u.jsx)(Vr,{children:`Preview`})]}),h.length>0?(0,u.jsx)(Wr,{$open:d.rightPanel.open,children:N()}):null,f.length>0?(0,u.jsx)(Gr,{$open:d.leftPanel.open,children:j()}):null,f.length>0||h.length>0?(0,u.jsx)(Kr,{$open:d.leftPanel.open||d.rightPanel.open,onClick:()=>{_.leftPanel.close(),_.rightPanel.close()}}):null]})})]}):(0,u.jsxs)(qr,{id:e.htmlId||`manifest-editor-container`,className:`manifest-editor ${e.className||``}`,children:[e.hideHeader?null:(0,u.jsxs)(Jr,{children:[e.header||null,e.menu?(0,u.jsx)(`menu`,{children:e.menu}):null]}),(0,u.jsxs)(Xr,{ref:e=>{E.refs.container.current=e,D.refs.container.current=e},children:[f.length>0?(0,u.jsx)(c.PanelSideMenu,{current:d.leftPanel.current,items:f.map(e=>({id:e.id,label:e.label,icon:e.icon,divide:e.divide,onClick:()=>{d.leftPanel.current===e.id?_.leftPanel.toggle():_.leftPanel.change({id:e.id})}})),open:d.leftPanel.open}):null,f.length>0?(0,u.jsx)(te.Transition,{nodeRef:a,in:d.leftPanel.open,timeout:400,unmountOnExit:!1,children:e=>(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Zr,{ref:a,$width:E.widthB,$state:e,$motion:!0,children:j(e)}),(0,u.jsx)(Ar,{ref:E.refs.resizer,reset:k,dir:`left`,transition:e,open:d.leftPanel.open||e!==`exited`,actions:_.leftPanel})]})}):null,(0,u.jsx)(Qr,{children:re()}),h.length>0?(0,u.jsx)(te.Transition,{nodeRef:o,in:d.rightPanel.open,timeout:400,unmountOnExit:!1,children:e=>(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Ar,{ref:D.refs.resizer,dir:`right`,reset:A,open:d.rightPanel.open,actions:_.rightPanel}),(0,u.jsx)($r,{ref:o,$width:D.widthB,$state:e,$motion:!0,children:N(e)})]})}):null]}),(0,u.jsx)(Yr,{children:e.footer||null}),(0,u.jsx)(`div`,{className:`hidden`,children:ne}),(0,u.jsx)(u.Fragment,{children:M()})]})});function J(e,t){function n(){t({type:`popStack`,panel:e,payload:void 0})}function r(n){t({type:`change`,panel:e,payload:n})}function i(n){t({type:`open`,panel:e,payload:n})}function a(){t({type:`close`,panel:e,payload:void 0})}function o(){t({type:`toggle`,panel:e,payload:void 0})}function s(){t({type:`minimise`,panel:e,payload:void 0})}function c(n){t({type:`maximise`,panel:e,payload:n})}function u(n){t({type:`setCustomWidth`,panel:e,payload:n})}function d(){t({type:`resetSize`,panel:e,payload:void 0})}function f(n){t({type:`pin`,panel:e,payload:n})}function p(){t({type:`unpin`,panel:e,payload:void 0})}return(0,l.useMemo)(()=>({popStack:n,change:r,open:i,close:a,toggle:o,minimise:s,maximise:c,setCustomWidth:u,resetSize:d,pin:f,unpin:p}),[])}function ii(e,t){if(t.payload&&t.payload.stacked){if(e.current){let n=e.stack[e.stack.length-1];if(n&&n.id===e.current)return;t.payload.unique&&(e.stack=e.stack.filter(t=>t.id!==e.current)),e.stack.push({id:e.current,state:e.state?{...(0,m.original)(e.state)}:{}})}}else e.stack=[]}function Y(e,t){switch(t.type){case`popStack`:if(e.stack.length){let t=e.stack[e.stack.length-1];t&&(e.current=t.id,e.state=t.state),e.stack=e.stack.slice(0,-1)}break;case`change`:t.payload.id!==e.current&&ii(e,t),e.state=t.payload.state,e.current=t.payload.id;break;case`close`:e.open=!1;break;case`open`:e.open=!0,t.payload&&(t.payload.id!==e.current&&ii(e,t),e.state=t.payload.state,e.current=t.payload.id);break;case`toggle`:e.open=!e.open;break;case`maximise`:e.minimised=!1,t.payload&&(e.state=t.payload.state,e.current=t.payload.id);break;case`minimise`:e.minimised=!0;break;case`setCustomWidth`:e.customWidth=t.payload;break;case`resetSize`:e.customWidth=void 0}if(It(e))switch(t.type){case`pin`:e.pinned=!0,e.state=t.payload.state,e.current=t.payload.id;break;case`unpin`:e.pinned=!1,e.state=void 0;break}}const ai=(0,m.produce)((e,t)=>{switch(t.panel){case`centerPanel`:Y(e.centerPanel,t);break;case`leftPanel`:Y(e.leftPanel,t);break;case`rightPanel`:Y(e.rightPanel,t);break;case`modal`:Y(e.modal,t);break;case`pinnedRightPanel`:Y(e.pinnedRightPanel,t);break}});function X(){return{customWidth:void 0,minimised:!1,open:!0,current:null,state:null,stack:[]}}function oi(){return{leftPanel:X(),centerPanel:X(),rightPanel:X(),modal:X(),pinnedRightPanel:{...X(),pinnable:!0,pinned:!1}}}const si=(0,l.createContext)({resource:null});function ci(){return(0,l.useContext)(si)}function li(){let e=(0,p.useVault)(),{resource:t}=ci();O(t,`Nothing selected`);let{id:n,type:r}=t;return(0,p.useVaultSelector)(()=>e.get({id:n,type:r}),[n,r])}function ui(){let{resource:e}=ci();return e}function di({resource:e,children:t}){let{id:n,type:r}=e||{};return(0,u.jsx)(si.Provider,{value:(0,l.useMemo)(()=>({resource:n&&r?{id:n,type:r}:null}),[n,r]),children:t})}var fi=class extends l.Component{constructor(...e){super(...e),R(this,`state`,{hasError:!1})}static getDerivedStateFromError(e){return console.error(e),{hasError:!0}}componentDidCatch(e,t){console.error(`Uncaught error:`,e,t)}render(){return this.state.hasError?(0,u.jsx)(`h1`,{children:`Sorry.. there was an error`}):this.props.children}};function Z(e,t){return typeof e==`string`?{id:e,state:t}:e}const pi=(0,l.memo)(function(e){let t=P(),n=br(),r=t.layout,[i,a]=(0,l.useReducer)(ai,void 0,oi),o={centerPanel:J(`centerPanel`,a),leftPanel:J(`leftPanel`,a),rightPanel:J(`rightPanel`,a),pinnedRightPanel:J(`pinnedRightPanel`,a),modal:J(`modal`,a),editingStack:Cn()};function s(e){let t=r.rightPanels.find(t=>t.id===e);if(t)return[t,o.rightPanel,o.pinnedRightPanel];let n=r.centerPanels.find(t=>t.id===e);if(n)return[n,o.centerPanel];let i=r.leftPanels.find(t=>t.id===e);if(i)return[i,o.leftPanel];O(!1,`Was not able to find panel with id "${e}"`)}function c(e,t){let{id:r,state:i,stacked:a}=Z(e,t),[o,c,l]=s(r);if(l&&o.options?.openPinned)l.pin({id:r,state:{...o.defaultState||{},...i||{}}});else{let e={id:r,state:{...o.defaultState||{},...i||{}},stacked:a};n.emit(`layout.open`,e),c.open(e)}}function d(e,t){let{id:r,state:i}=Z(e,t),[a,o]=s(r),c={id:r,state:{...a.defaultState||{},...i||{}},stacked:!0};n.emit(`layout.open`,c),o.open(c)}function f(e,t){let{id:r,state:i,stacked:a}=Z(e,t),[o,c]=s(r),l={id:r,state:{...o.defaultState||{},...i||{}},stacked:a};n.emit(`layout.change`,l),c.change(l)}function p(e,t){let{id:r}=Z(e,t),[,i]=s(r);n.emit(`layout.close`,{id:r}),i.close()}function m(e,t){let{id:r}=Z(e,t),[,i]=s(r);n.emit(`layout.toggle`,{id:r}),i.toggle()}function h(e,t={},{reset:i,property:a,stacked:s,forceOpen:c}={}){let l={resource:(0,_.isSpecificResource)(e)?e:{type:`SpecificResource`,source:e},...t};n.emit(`layout.edit`,l),o.editingStack.edit(l,i),r.rightPanels.find(e=>e.id===`@manifest-editor/editor`)&&(c?o.rightPanel.open({id:`@manifest-editor/editor`,stacked:s!==!1,state:{property:a},unique:!0}):o.rightPanel.change({id:`@manifest-editor/editor`,stacked:s!==!1,state:{property:a},unique:!0}))}function g(e){o.editingStack.create(e,{}),n.emit(`layout.create`,e),r.modals?.find(e=>e.id===`@manifest-editor/creator`)?o.modal.open({id:`@manifest-editor/creator`,stacked:!0,unique:!0,state:e}):r.rightPanels.find(e=>e.id===`@manifest-editor/creator`)&&o.rightPanel.open({id:`@manifest-editor/creator`,stacked:!0,unique:!0,state:e})}let v={open:c,change:f,close:p,toggle:m,stack:d,edit:h,create:g};return(0,u.jsx)(At.Provider,{value:(0,l.useMemo)(()=>({...o,...v}),[r]),children:(0,u.jsx)(jt.Provider,{value:i,children:e.children})})}),mi=[{id:`universal-viewer`,config:{url:`https://universalviewer.dev/#?iiifManifestId={manifestId}`},type:`external-manifest-preview`,label:`Universal viewer`},{id:`mirador-3`,type:`external-manifest-preview`,label:`Mirador 3`,config:{url:`https://tomcrane.github.io/scratch/mirador3/?iiif-content={manifestId}`}},{id:`annona`,type:`external-manifest-preview`,label:`Annona`,config:{url:`https://ncsu-libraries.github.io/annona/tools/#/display?url={manifestId}&viewtype=iiif-storyboard&settings=%7B%22fullpage%22%3Atrue%7D`}},{id:`iiif-preview`,config:{url:`https://iiif-preview.digirati.services/store`},type:`iiif-preview-service`,label:`IIIF Preview`}],hi=new ne.ImageServiceLoader({approximateServices:!0,verificationsRequired:8,enableFetching:!0});function gi({config:e,saveConfig:t,children:n,theme:r,previews:i,resource:a,editing:o}){let s=M(),c=(0,l.useMemo)(()=>({...s,...e,previews:e?.previews||s.previews||mi}),[s,e]);return(0,u.jsx)(fi,{children:(0,u.jsx)(p.ImageServiceLoaderContext.Provider,{value:hi,children:(0,u.jsx)(De,{resource:a,children:(0,u.jsx)(sn,{children:(0,u.jsx)(d.ThemeProvider,{theme:r||_n,children:(0,u.jsx)(N,{config:c,saveConfig:t,children:(0,u.jsx)(Nn,{children:(0,u.jsx)(pi,{children:(0,u.jsx)(Wn,{children:(0,u.jsx)(Re,{previews:i||[],configs:c.previews,children:(0,u.jsx)(p.AtlasStoreProvider,{children:n})})})})})})})})})})})}const Q={},_i=(0,l.createContext)(`global`);function vi(){return(0,l.useContext)(_i)}function yi(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function bi(e){let t=vi(),[,n]=(0,l.useReducer)(e=>e+1,0),r=(0,l.useMemo)(()=>(Q[t]||(Q[t]={}),Q[t][e]||(Q[t][e]={name:e,emitter:(0,w.default)(),status:`idle`,promise:Promise.resolve(),abort:new AbortController,reject:()=>void 0,resolve:()=>void 0}),Q[t][e]),[t,e]);return $(r,`abort`,n),$(r,`error`,n),$(r,`complete`,n),$(r,`running`,n),r}function $(e,t,n){let r=(0,l.useCallback)(()=>n(e),[n]);(0,l.useEffect)(()=>{let n=e.emitter;return n.on(t,r),()=>n.off(t,r)},[t,r,e.emitter])}const xi=()=>void 0;function Si(e,t){let n=bi(e);return $(n,`complete`,t||xi),[e=>{n.status===`running`&&(n.abort.abort(),n.emitter.emit(`abort`)),n.error&&(n.error=``);let t=yi();t.promise.then(()=>n.emitter.emit(`complete`)).catch(()=>n.emitter.emit(`error`)),n.status=`running`,n.request=e,n.promise=t.promise,n.resolve=t.resolve,n.reject=t.reject,n.emitter.emit(`running`)},n]}function Ci(e,t){let n=bi(e);return $(n,`running`,t),[e=>{n.status===`running`&&(n.response=e,n.status=`complete`,n.resolve())},n,(e,t)=>{n.status===`running`&&(n.error=t||e,n.status=`error`,n.reject(e))}]}function wi({children:e}){return(0,u.jsx)(_i.Provider,{value:(0,l.useMemo)(()=>`id-${Date.now()}`,[]),children:e})}function Ti(e){return!1}function Ei({as:e,reference:t,onReference:n,onLink:r,onAnalysis:i,onDropReference:a,onDropLink:o,onDropAnalysis:s,onPasteReference:c,onPasteLink:d,onPasteAnalysis:f,...p}){let m=e||`div`,h=a||n,g=c||n,_=d||r,v=f||i,y=(0,l.useMemo)(()=>t,[t?.id,t?.type]),b=(0,l.useCallback)(function(e){e.defaultPrevented||(e.preventDefault(),e.clipboardData&&y&&y.id&&y.type&&e.clipboardData.setData(`application/json+vault`,JSON.stringify({id:y.id,type:y.type})))},[y]),x=(0,l.useCallback)(async function(e){if(!e.defaultPrevented&&(e.preventDefault(),e.clipboardData)){if(p.onLoading&&p.onLoading(),g){let t=e.clipboardData.getData(`application/json+vault`);if(t)try{let e=JSON.parse(t);e&&e.id&&e.type&&g(e)}catch{}}if(_||v){let t=e.clipboardData.getData(`text`);if(t.startsWith(`http`)){let e=t.split(`
|
|
988
|
+
`);for(let t of e){if(v)try{let e=await Ti(t);if(e){v(e);continue}}catch{}_&&_(t)}}}p.onComplete&&p.onComplete()}},[]),S=(0,l.useCallback)(function(e){e.defaultPrevented||(e.preventDefault(),e.dataTransfer&&p.draggable&&(e.dataTransfer.effectAllowed=`all`,y&&y.id&&y.type&&e.dataTransfer.setData(`application/json+vault`,JSON.stringify({id:y.id,type:y.type}))))},[]);return(0,u.jsx)(m,{onCopy:b,onPaste:x,onDrop:(0,l.useCallback)(async function(e){if(e.preventDefault(),e.dataTransfer){if(h){let t=e.dataTransfer.getData(`application/json+vault`);if(t)try{let n=JSON.parse(t);n&&n.id&&n.type&&h(n,e)}catch{return}}let t=e.dataTransfer.getData(`application/json`);if(t){JSON.parse(t);return}if(e.dataTransfer.getData(`text/plain`))return}},[]),onDragOver:(0,l.useCallback)(e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},[]),onDragStart:S,tabIndex:-1,...p})}exports.AppHeader=rt,exports.AppMenuProvider=st,exports.AppProvider=ue,exports.AppReactContext=ae,exports.AppResourceInstanceProvider=Ee,exports.AppResourceProvider=De,exports.AppStateReactContext=oe,exports.AtlasStoreProvider=p.AtlasStoreProvider,exports.AtlasStoreReactContext=p.AtlasStoreReactContext,exports.BaseAnnotationCreator=vn,exports.BaseEditor=Rn,exports.BaseEditorBackButton=Fn,exports.BaseEditorCloseButton=In,exports.ConfigEditor=Vn,exports.ConfigProvider=N,exports.ConfigReactContext=A,exports.ContextMenuProvider=Wn,exports.ContextMenuReactContext=Un,exports.CreatorInitialData=pn,exports.EditingStack=Nn,exports.EditingStackContext=W,exports.EventEmitterProvider=yr,exports.ExportPanel=hr,exports.HOMEPAGE_COLLECTION=an,exports.HandleContainer=Tr,exports.HandleControls=Ar,exports.InlineEditingStack=Pn,exports.Layout=ri,exports.LayoutActionsReactContext=At,exports.LayoutStateReactContext=jt,exports.ModularPanel=$t,exports.ModularPanelHeader=Yt,exports.ModulePanelButton=U,exports.MultiAppProvider=me,exports.PanelError=Ft,exports.PreviewButton=nt,exports.PreviewProvider=Re,exports.PreviewVaultBoundary=cn,exports.PreviewVaultContext=sn,exports.PrimeAppReactContext=ie,exports.ReactEmitterContext=vr,exports.ResourceEditingProvider=di,exports.ResourceEditingReactContext=si,exports.SaveConfigReactContext=j,exports.ShellProvider=gi,exports.TaskBridge=wi,exports.UniversalCopyTarget=Ei,exports.analyse=pt,exports.analyseJson=ht,exports.baseCreator=gn,exports.baseEditor=zn,exports.copyToClipboard=St,exports.createActionIdentity=xt,exports.createDownload=B,exports.createPreviewVault=en,exports.detectMedia=ft,exports.editBasedOnResource=Ln,exports.extendApp=Tt,exports.getDefaultLayoutState=oi,exports.getDefaultPanelState=X,exports.getFormat=vt,exports.getImageDimensions=yt,exports.getManifestNomalized=bt,exports.isPinnableState=It,exports.layoutReducer=ai,exports.mapApp=wt,exports.panelSizing=Lt,exports.polygonToBoundingBox=lt,exports.randomId=Ct,exports.renderHelper=Rt,exports.useAnnotationCreatorState=gr,exports.useAnnotationPageEditor=An,exports.useApp=P,exports.useAppInstance=se,exports.useAppMenu=at,exports.useAppMenuItem=ot,exports.useAppResource=I,exports.useAppResourceInstance=Te,exports.useAppState=ce,exports.useApps=fe,exports.useAtlasStore=ct,exports.useAvailableLayouts=Nt,exports.useCollectionEditor=On,exports.useConfig=M,exports.useCreatingResource=En,exports.useCreator=ln,exports.useCustomContextMenu=Jn,exports.useDecayState=Bn,exports.useEditingContext=ci,exports.useEditingResource=wn,exports.useEditingResourceStack=Tn,exports.useEditingStack=Cn,exports.useEditor=jn,exports.useEmitter=br,exports.useEvent=xr,exports.useGenericEditor=kn,exports.useHighlightedImageResource=V,exports.useHoverHighlightImageResource=Dt,exports.useInitialData=fn,exports.useInlineCreator=un,exports.useLayoutActions=H,exports.useLayoutProvider=Pt,exports.useLayoutState=Mt,exports.useLocalStorage=c.useLocalStorage,exports.useManifestEditor=Dn,exports.useMatchMedia=Sr,exports.useOptionalLocalStorage=c.useOptionalLocalStorage,exports.useOptionalResource=ui,exports.usePanelActions=J,exports.usePreviewContext=Be,exports.usePreviewHistory=on,exports.usePreviewVault=tn,exports.usePreviews=ze,exports.useResource=li,exports.useResourceContextMenuItems=Kn,exports.useSaveConfig=re,exports.useSaveVault=Cr,exports.useSetCustomTitle=qt,exports.useSvgTools=wr,exports.useTask=bi,exports.useTaskDispatch=Si,exports.useTaskEvent=$,exports.useTaskRunner=Ci,exports.useTemporaryHighlight=Et;
|
|
989
989
|
//# sourceMappingURL=index.cjs.map
|