@manifest-editor/shell 2.0.2-next.0.fed8073 → 2.0.3-next.0.3c9cb7e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -423,13 +423,13 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
423
423
  > * {
424
424
  min-width: 0;
425
425
  }
426
- `;function er({panel:e,state:t,actions:n,isLeft:r,pinActions:i=n,transition:a,close:o,available:s=[],style:c,noHeader:l}){let u=k(xe)||null,[d,f]=P(!1),p=dt(),m=Ln(),{tabs:h,pinnable:g,hideHeader:_}=e?.options||{},v=[p.state.canvasId,e?.id],y=j(()=>(s||[]).filter(e=>!e.requiresState),[s]),{itemProps:b,isOpen:ee,setIsOpen:x}=me(y.length),[te,S]=P(``),C=N();A(()=>f(!1),v),A(()=>S(``),[e]),A(()=>(C.current=S,()=>{C.current=void 0}),[]);let w=O(e=>{C.current&&C.current(e)},[]),T=O(r=>{let i=e?t.stack.length?n.popStack:e.backAction?()=>e&&e.backAction&&e.backAction(t,{...m,current:n},p):null:null;r&&(!i||r.metaKey)&&y.length?(r.preventDefault(),x(!0)):i&&i()},[n,p,m,e,x,t,y.length]),E=r=>{n.change({id:r.id,state:r.defaultState,stacked:!!(t.stack.length||e?.backAction)})};if(!e||!t.current)return null;let ne=e.backAction||t.stack.length?I(q,{onClick:T,children:I(jn,{})}):null,re=I(q,{onClick:o||n.close,children:I(xt,{})});return I(qn.Provider,{value:w,children:L(Yn,{"data-state":a,"data-flipped":r,style:c,"data-header":!l,children:[l?null:L(Xn,{"data-tabs":!!h,"data-error":d,children:[L(Hn,{style:{display:`flex`,height:`100%`},children:[e.renderBackAction?e.renderBackAction({backAction:T,fallback:ne}):ne,y.length?L(Wn,{$open:ee,style:{left:`0.5em`},children:[I(Gn,{children:`All panels`}),I(Kn,{}),y.map((t,n)=>I(Un,{...b[n],onClick:()=>E(t),$active:e.id===t.id,children:t.label},n))]}):null]}),te?I(Qn,{children:te}):_?I(Zn,{}):I(Qn,{children:e.label}),g?t.pinned?I(q,{onClick:i.unpin,children:I(An,{fill:`orange`})}):I(q,{onClick:()=>i.pin({id:e.id,state:t.state}),children:I(An,{fill:`#ddd`})}):null,e.renderCloseAction?e.renderCloseAction({closeAction:o||n.close,fallback:re}):re]}),I($n,{className:`OverrideScrollbar`,children:I(Be,{onError:()=>f(!0),FallbackComponent:Rn,resetKeys:v,onReset:()=>f(!1),children:Vn(e.render(t.state||e.defaultState||{},{...m,current:n,vault:u,transition:a},p))})})]})})}function tr(e=`vault://homepage-collection.json`){let t=new Pe,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(Ge({id:i.id}));let e=Ke(i.id,i);t.dispatch(He({actions:e})),r=!0}}catch{}if(!r){let n=Ke(e,{"@context":`http://iiif.io/api/presentation/3/context.json`,id:e,type:`Collection`,label:{en:[`Recent items`]},items:[]});t.dispatch(Ge({id:e})),t.dispatch(He({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(Ve({id:e,type:`Collection`,reference:{id:n,type:r},key:`items`,index:0})):t.dispatch(We({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(Ue({id:e,type:`Collection`,key:`items`,value:[]})),window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}}}function nr(){return k(rr)}const rr=D(new Pe),ir=D({addHistory:(e,t)=>{},clearHistory:()=>{}}),ar=`manifest-editor://homepage-collection.json`;function or(){return k(ir)}function sr(e){let{vault:t,unsubscribe:n,addHistory:r,clearHistory:i}=j(()=>tr(ar),[]);return A(()=>n,[]),I(ir.Provider,{value:{addHistory:r,clearHistory:i},children:I(rr.Provider,{value:t,children:e.children})})}function cr({children:e}){return I(Ce,{vault:nr(),children:e})}function lr(e,t,n,r,i){let a=B(),o=W(),{create:s,edit:c}=Fn(),l=j(()=>Le({type:n,parent:e,index:0,property:t},o.layout.creators||[],{vault:a}),[e,t,o.layout.creators,n,a]),u=e&&l.length!==0,d=O((a,o)=>{if(e)return s({type:n,parent:V(e),property:t,index:a,target:r,initialData:o,...i||{}})},[s,e,t,n,i,r]),f=O((a,o,c)=>{if(e)return s({type:n,filter:a,parent:V(e),property:t,index:o,target:r,initialData:c,...i||{}})},[s,e,t,n,i,r]);return[u,{create:d,edit:O((n,r)=>{c(n,e?{parent:V(e),property:t,index:r}:void 0)},[c,e,t]),createFiltered:f,creator:O((a,o)=>{if(e)return s({type:n,initialCreator:a,parent:V(e),property:t,target:r,initialData:o,...i||{}})},[n,t,e,r,s,i]),buttonProps:j(()=>({"data-action-id":xn(n,t,e)}),[n,t,e])}]}function ur(){let e=B(),t=nr(),n=W();return j(()=>new Ie(e,n.layout.creators||[],t),[n.layout.creators,e])}const dr=ue(function(t){let n=B(),{edit:r,modal:o}=Fn(),[s,c]=P(!1),[l,u]=P(null),d=ur(),f=N(!1),p=t.resource.initialData?.selector;On(p);let m={targetType:t.resource.type,parent:t.resource.parent?{property:t.resource.property,atIndex:t.resource.index,resource:t.resource.parent}:void 0,target:t.resource.target,initialData:t.resource.initialData},h=e=>{try{if(s||f.current)return;c(!0),f.current=!0,d.create(t.creator.id,e,m).catch(e=>(u(e?.message||`Unknown error`),null)).then(async e=>{if(t.onCreate?.(),t.skipEditingOnCreate||!e)return;let n=Array.isArray(e)?e[0]:e;c(!1),o.popStack(),o.close(),n&&r(n,{parent:V(t.resource.parent),property:t.resource.property,index:t.resource.index})})}catch(e){u(e?.message||`Unknown error`)}},g=async()=>!0;if(A(()=>{t.resource.initialData?.showEmptyForm||!t.creator.render&&!s&&h({})},[t.creator]),l)return I(`div`,{className:`flex flex-col items-center p-4`,children:I(a,{children:l})});let _=I(`div`,{className:`flex flex-col items-center py-8`,children:L(`div`,{className:`flex gap-2 items-center`,children:[I(ee,{}),` `,I(`span`,{children:`Loading`})]})});return s?_:t.creator.render?I(F,{children:I(oe,{fallback:_,children:t.creator.render({vault:n,runCreate:h,validate:g,options:m})})}):L(F,{children:[I(i,{children:`No options available`}),I(e,{primary:!0,onPress:()=>h({}),children:t.creator.actionButton||`Create`})]})});function fr(e){let n=W(),r=B(),[a,o]=P(e.resource.initialCreator||``),l=Jn(),u=j(()=>Le(e.resource,n.layout.creators||[],{vault:r}),[e.resource,n.layout.creators,r]);u.length===1&&!a&&o(u[0].id);let d=u.find(e=>e.id===a);if(A(()=>{d&&l?.(d.label)}),u.length===0)return I(i,{children:`Not currently supported`});let p=I(f,{children:I(c,{root:document.getElementById(`headlessui-portal-root`)||void 0,label:`Back to Add content options`,className:`group`,placement:`right`,onPress:()=>o(``),children:I(s,{className:`text-2xl opacity-50 group-hover:opacity-70`})})});return d?d.hiddenModal?L(F,{children:[p,I(dr,{creator:d,resource:e.resource})]}):L(`div`,{children:[p,I(`div`,{className:`p-2 py-6`,children:I(dr,{creator:d,resource:e.resource})})]}):I(t,{label:`Select a type`,items:u.map(e=>({id:e.id,title:e.label,description:e.summary||``,icon:e.icon,onClick:()=>o(e.id)}))})}const pr={id:`@manifest-editor/creator`,label:`Add content`,options:{hideHeader:!0,tabs:!1},render(e){return I(fr,{resource:e})}};function mr(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=V(t.payload.resource.resource);if(!n||!e.stack.find(e=>V(e.resource)?.id===n.id))return e;let r=e.current?.resource.id===n.id?null:e.current,i=hr(e.stack.filter(e=>V(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 hr(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 gr={stack:[],current:null,create:null},J=D(gr),_r=D({edit(){},close(){},back(){},setStack(){},updateCurrent(){},create(){return()=>{}}});function vr(){return k(_r)}function yr(){return k(J).current}function br(){return k(J).stack}function xr(){return k(J).create}function Sr(){let{manifest:e}=Oe(),t=B(),[n,r]=M(e=>e+1,0);U(e,`Manifest not found`);let i=j(()=>new qe({reference:{id:e,type:`Manifest`},vault:t}),[e,t]);return A(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function Cr(){let{collection:e}=Oe(),t=B(),[n,r]=M(e=>e+1,0);U(e,`Collection not found`);let i=j(()=>new qe({reference:{id:e,type:`Collection`},vault:t}),[e,t]);return A(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function wr(e,t={}){let n=B(),[r,i]=M(e=>e+1,0);!t.allowNull&&U(e,`Resource not found`);let a=j(()=>t.allowNull&&!e?null:new qe({reference:V(e),vault:n,context:{resource:e,parent:t.parent,index:t.index,parentProperty:t.parentProperty}}),[e,n]);return A(()=>a?.observe.start(i),[a]),a&&(a.observe.key=`${r}`,a.observe.reset()),a}function Tr(){let{annotationPage:e}=Oe();return U(e,`Annotation page not found`),wr({id:e,type:`AnnotationPage`})}function Er(){let e=yr(),t=B(),[n,r]=M(e=>e+1,0);U(e,`No resource selected`);let i=j(()=>new qe({reference:e.resource.source||e.resource,vault:t}),[e,t]);return A(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function Dr(e){let t=B(),[n,r]=M(mr,e),i=O(e=>{r(e)},[]);A(()=>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=O((e,t=!1)=>i({type:`edit`,payload:{resource:e,reset:t}}),[]),o=O(e=>i({type:`setStack`,payload:{resources:e}}),[]),s=O(e=>i({type:`updateCurrent`,payload:{resource:e}}),[]),c=O(()=>i({type:`close`}),[]),l=O(()=>i({type:`back`}),[]),u=O((e,t)=>(i({type:`create`,payload:{resource:e,options:t}}),()=>{i({type:`create`,payload:{resource:null}})}),[]);return[n,j(()=>({edit:a,updateCurrent:s,close:c,back:l,create:u,setStack:o}),[])]}function Or(e){let{instanceId:t}=ut(),[n,r]=Dr(e.initialState||gr);return I(_r.Provider,{value:r,children:I(J.Provider,{value:n,children:e.children})},t)}function kr({resource:e,children:t}){let{instanceId:n}=ut(),[r,i]=Dr(j(()=>({create:null,stack:[],current:{resource:{type:`SpecificResource`,source:{id:e.id,type:e.type}}}}),[]));return I(_r.Provider,{value:i,children:I(J.Provider,{value:r,children:t})},n)}function Ar({fallback:e,backAction:t}){let n=br(),{back:r}=vr();return n.length?I(q,{onClick:r,children:I(jn,{})}):e}function jr({closeAction:e,fallback:t}){let n=br();return yr()||n.length?I(q,{onClick:()=>{e()},children:I(xt,{})}):t}function Mr(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 Nr({currentTab:e=void 0}){let t=yr(),n=k(Se),r=W(),i=Et(),a=B(),{change:o}=Fn(),s=Jn(),{editorConfig:c}=it(),l=t?.resource.source?.id,u=t?.resource.source?.type,d=l!==i.id;l&&d&&i.type===`Collection`&&u===`Collection`&&(u=`EmbeddedCollection`);let f=(u?c[u]:c.All)||{},p=j(()=>{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 m(e){return t?I(Se.Provider,{value:p,children:e}):e}let h=j(()=>{if(!t)return null;let e=r.layout.editors||[];return Mr(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},f)},[t,r]);if(A(()=>{s(h?.label||``)},[h]),A(()=>{let t=h?.editors.map(e=>e.id)||[];t.find(t=>t===e)||o(`@manifest-editor/editor`,{currentTab:t[0]})},[h?.editors,e,o]),!t||!h)return null;if(f.singleTab){let e=(h?.editors||[]).find(e=>e.id===f.singleTab);if(e)return m(I(`div`,{className:`w-full`,children:e.component(f)},t.resource.source?.id))}return m(I(b,{isNested:d,rootResource:i,menuId:t.resource.source.id,menu:(h?.editors||[]).map((e,t)=>({id:e.id,label:e.label,renderComponent:()=>e.component(f)})),selectedKey:e,onSelectionChange:e=>{o(`@manifest-editor/editor`,{currentTab:e})}},t.resource.source?.id))}const Pr={id:`@manifest-editor/editor`,label:`Editor`,options:{hideHeader:!0,tabs:!0,minWidth:400},renderBackAction:({backAction:e,fallback:t})=>I(Ar,{backAction:e,fallback:t}),renderCloseAction:({closeAction:e,fallback:t})=>I(jr,{closeAction:e,fallback:t}),render({currentTab:e}){return I(Nr,{currentTab:e})}},Fr={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 Ir(e){let{}=e,t=B(),n=W(),r=j(()=>Le(e.resource,n.layout.creators||[],{vault:t}),[e.resource,n.layout.creators,t]);return r.length===0?I(`div`,{children:`No supported creators found`}):I(`div`,{children:L(C,{className:`w-full flex-1 overflow-hidden flex flex-col`,children:[I(te,{className:`flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap`,items:r,children:e=>I(x,{id:e.id,children:e.label})}),r.map(t=>I(S,{id:t.id,className:`p-2`,children:I(pe,{theme:Fr,children:I(dr,{creator:t,resource:e.resource,onCreate:e.onCreate,skipEditingOnCreate:!0})})},t.id))]})})}function Lr(e){let[t,n]=P(!1),r=N(),i=N(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 j(()=>[t,{set:o,clear:a}],[t])}function Rr(){let t=Ht(),n=Et(),r=it(),i=at(),[a,s]=Lr(2e3);function c(e){e.preventDefault();let t=new FormData(e.target);i({defaultPreview:t.get(`defaultPreview`),i18n:{...r.i18n||{},advancedLanguageMode:t.get(`advancedLanguageMode`)===`on`,availableLanguages:(t.get(`availableLanguages`)||``).split(`,`).map(e=>e.trim()),defaultLanguage:t.get(`defaultLanguage`)},export:{...r.export||{},version:t.get(`isVersion2`)===`on`?2:3,baseIdentifier:t.get(`base`)||null},editorFeatureFlags:{...r.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`}}),s.set(),s.clear()}return L(_,{children:[I(y,{title:`Workspace configuration`}),a?I(`div`,{className:`bg-me-primary-500 text-white p-3 text-sm`,children:`Changes saved`}):null,I(v,{className:`p-4`,children:L(o.Form,{onSubmit:c,className:`flex flex-col gap-3`,children:[L(o.InputContainer,{children:[I(o.Label,{htmlFor:`defaultLanguage`,children:`Default Language`}),I(o.Input,{type:`text`,name:`defaultLanguage`,id:`defaultLanguage`,defaultValue:r.i18n?.defaultLanguage||``})]}),L(o.InputContainer,{children:[I(o.Label,{htmlFor:`availableLanguages`,children:`Available Languages`}),I(o.Input,{type:`text`,name:`availableLanguages`,id:`availableLanguages`,defaultValue:(r.i18n?.availableLanguages||[]).join(`, `)})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`advancedLanguageMode`,id:`advancedLanguageMode`,defaultChecked:r.i18n?.advancedLanguageMode||!1}),I(o.Label,{htmlFor:`advancedLanguageMode`,children:`Advanced Language Mode`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`textGranularityEnabled`,id:`textGranularityEnabled`,defaultChecked:r.i18n?.textGranularityEnabled||!1}),I(o.Label,{htmlFor:`textGranularityEnabled`,children:`Enable text granularity`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`rememberCanvasId`,id:`rememberCanvasId`,defaultChecked:r.editorFeatureFlags?.rememberCanvasId||!1}),I(o.Label,{htmlFor:`rememberCanvasId`,children:`Remember Canvas ID`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`rememberLeftPanelId`,id:`rememberLeftPanelId`,defaultChecked:r.editorFeatureFlags?.rememberLeftPanelId||!1}),I(o.Label,{htmlFor:`rememberLeftPanelId`,children:`Remember Left panel`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`manifestGridOptions`,id:`manifestGridOptions`,defaultChecked:r.editorFeatureFlags?.manifestGridOptions||!1}),I(o.Label,{htmlFor:`manifestGridOptions`,children:`Manifest Grid Options`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`isVersion2`,id:`isVersion2`,defaultChecked:r.export?.version===2}),L(o.Label,{htmlFor:`isVersion2`,children:[`Export Presentation 2 `,n.type,`s`]})]}),L(o.InputContainer,{children:[I(o.Label,{htmlFor:`defaultPreview`,children:`Default preview`}),I(`div`,{children:t.configs.map((e,t)=>e.type===`iiif-preview-service`?null:L(o.InputContainer,{horizontal:!0,children:[I(o.Input,{type:`radio`,id:e.id,name:`defaultPreview`,value:e.id,defaultChecked:r.defaultPreview?r.defaultPreview===e.id:t===0}),I(`label`,{htmlFor:e.id,children:e.label})]},e.id))})]}),n.type===`Manifest`?I(`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,I(`div`,{className:`mt-5`,children:I(e,{type:`submit`,children:`Save changes`})})]})})]})}function zr(){return ze((e,t)=>({specificMenus:{},resourceMenus:{},hookMenuItem(t){let n=wn(),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 Br=D(null);function Vr({children:e}){let t=j(()=>zr(),[]);return I(Br.Provider,{value:t,children:e})}function Hr(){let e=k(Br);if(!e)throw Error(`useContextMenuStore must be used within a ContextMenuProvider`);return e}function Ur(e){let t=Hr(),n=H(t,e=>e.resourceMenus),r=H(t,e=>e.specificMenus);return j(()=>{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 Wr(c)},[r,n,e.id,e.type])}function Wr(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 Gr(e,t=[]){let n=H(Hr(),e=>e.hookMenuItem);A(()=>n(e),[n,e.resource?.id,e.resource?.type,...t])}var Kr={};function qr(e){return L(`div`,{className:Kr.CenterPanelContainer,children:[e.title||e.close?L(`div`,{className:Kr.CenterPanelHeader,children:[e.title?I(`h2`,{className:Kr.CenterPanelTitle,children:e.title}):null,e.close?I(K,{className:Kr.CenterPanelClose,onClick:e.close,children:I(xt,{})}):null]}):null,e.children]})}const Jr=R.div`
426
+ `;function er({panel:e,state:t,actions:n,isLeft:r,pinActions:i=n,transition:a,close:o,available:s=[],style:c,noHeader:l}){let u=k(xe)||null,[d,f]=P(!1),p=dt(),m=Ln(),{tabs:h,pinnable:g,hideHeader:_}=e?.options||{},v=[p.state.canvasId,e?.id],y=j(()=>(s||[]).filter(e=>!e.requiresState),[s]),{itemProps:b,isOpen:ee,setIsOpen:x}=me(y.length),[te,S]=P(``),C=N();A(()=>f(!1),v),A(()=>S(``),[e]),A(()=>(C.current=S,()=>{C.current=void 0}),[]);let w=O(e=>{C.current&&C.current(e)},[]),T=O(r=>{let i=e?t.stack.length?n.popStack:e.backAction?()=>e&&e.backAction&&e.backAction(t,{...m,current:n},p):null:null;r&&(!i||r.metaKey)&&y.length?(r.preventDefault(),x(!0)):i&&i()},[n,p,m,e,x,t,y.length]),E=r=>{n.change({id:r.id,state:r.defaultState,stacked:!!(t.stack.length||e?.backAction)})};if(!e||!t.current)return null;let ne=e.backAction||t.stack.length?I(q,{onClick:T,children:I(jn,{})}):null,re=I(q,{onClick:o||n.close,children:I(xt,{})});return I(qn.Provider,{value:w,children:L(Yn,{"data-state":a,"data-flipped":r,style:c,"data-header":!l,children:[l?null:L(Xn,{"data-tabs":!!h,"data-error":d,children:[L(Hn,{style:{display:`flex`,height:`100%`},children:[e.renderBackAction?e.renderBackAction({backAction:T,fallback:ne}):ne,y.length?L(Wn,{$open:ee,style:{left:`0.5em`},children:[I(Gn,{children:`All panels`}),I(Kn,{}),y.map((t,n)=>I(Un,{...b[n],onClick:()=>E(t),$active:e.id===t.id,children:t.label},n))]}):null]}),te?I(Qn,{children:te}):_?I(Zn,{}):I(Qn,{children:e.label}),g?t.pinned?I(q,{onClick:i.unpin,children:I(An,{fill:`orange`})}):I(q,{onClick:()=>i.pin({id:e.id,state:t.state}),children:I(An,{fill:`#ddd`})}):null,e.renderCloseAction?e.renderCloseAction({closeAction:o||n.close,fallback:re}):re]}),I($n,{className:`OverrideScrollbar`,children:I(Be,{onError:()=>f(!0),FallbackComponent:Rn,resetKeys:v,onReset:()=>f(!1),children:Vn(e.render(t.state||e.defaultState||{},{...m,current:n,vault:u,transition:a},p))})})]})})}function tr(e=`vault://homepage-collection.json`){let t=new Pe,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(Ge({id:i.id}));let e=Ke(i.id,i);t.dispatch(He({actions:e})),r=!0}}catch{}if(!r){let n=Ke(e,{"@context":`http://iiif.io/api/presentation/3/context.json`,id:e,type:`Collection`,label:{en:[`Recent items`]},items:[]});t.dispatch(Ge({id:e})),t.dispatch(He({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(Ve({id:e,type:`Collection`,reference:{id:n,type:r},key:`items`,index:0})):t.dispatch(We({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(Ue({id:e,type:`Collection`,key:`items`,value:[]})),window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}}}function nr(){return k(rr)}const rr=D(new Pe),ir=D({addHistory:(e,t)=>{},clearHistory:()=>{}}),ar=`manifest-editor://homepage-collection.json`;function or(){return k(ir)}function sr(e){let{vault:t,unsubscribe:n,addHistory:r,clearHistory:i}=j(()=>tr(ar),[]);return A(()=>n,[]),I(ir.Provider,{value:{addHistory:r,clearHistory:i},children:I(rr.Provider,{value:t,children:e.children})})}function cr({children:e}){return I(Ce,{vault:nr(),children:e})}function lr(e,t,n,r,i){let a=B(),o=W(),{create:s,edit:c}=Fn(),l=j(()=>Le({type:n,parent:e,index:0,property:t},o.layout.creators||[],{vault:a}),[e,t,o.layout.creators,n,a]),u=e&&l.length!==0,d=O((a,o)=>{if(e)return s({type:n,parent:V(e),property:t,index:a,target:r,initialData:o,...i||{}})},[s,e,t,n,i,r]),f=O((a,o,c)=>{if(e)return s({type:n,filter:a,parent:V(e),property:t,index:o,target:r,initialData:c,...i||{}})},[s,e,t,n,i,r]);return[u,{create:d,edit:O((n,r)=>{c(n,e?{parent:V(e),property:t,index:r}:void 0)},[c,e,t]),createFiltered:f,creator:O((a,o)=>{if(e)return s({type:n,initialCreator:a,parent:V(e),property:t,target:r,initialData:o,...i||{}})},[n,t,e,r,s,i]),buttonProps:j(()=>({"data-action-id":xn(n,t,e)}),[n,t,e])}]}function ur(){let e=B(),t=nr(),n=W();return j(()=>new Ie(e,n.layout.creators||[],t),[n.layout.creators,e])}const dr=D({});function fr(e){return k(dr)[e]||{}}function pr(e){let t=k(dr),n=j(()=>({...t,[e.id]:e.data}),[t,e.id,e.data]);return I(dr.Provider,{value:n,children:e.children})}const mr=ue(function(t){let n=B(),{edit:r,modal:o}=Fn(),[s,c]=P(!1),[l,u]=P(null),d=ur(),f=N(!1),p=t.resource.initialData?.selector;On(p);let m=fr(t.creator.id),h={targetType:t.resource.type,parent:t.resource.parent?{property:t.resource.property,atIndex:t.resource.index,resource:t.resource.parent}:void 0,target:t.resource.target,initialData:{...m,...t.resource.initialData||{}}},g=e=>{try{if(s||f.current)return;c(!0),f.current=!0,d.create(t.creator.id,e,h).catch(e=>(u(e?.message||`Unknown error`),null)).then(async e=>{if(t.onCreate?.(),t.skipEditingOnCreate||!e)return;let n=Array.isArray(e)?e[0]:e;c(!1),o.popStack(),o.close(),n&&r(n,{parent:V(t.resource.parent),property:t.resource.property,index:t.resource.index})})}catch(e){u(e?.message||`Unknown error`)}},_=async()=>!0;if(A(()=>{t.resource.initialData?.showEmptyForm||!t.creator.render&&!s&&g({})},[t.creator]),l)return I(`div`,{className:`flex flex-col items-center p-4`,children:I(a,{children:l})});let v=I(`div`,{className:`flex flex-col items-center py-8`,children:L(`div`,{className:`flex gap-2 items-center`,children:[I(ee,{}),` `,I(`span`,{children:`Loading`})]})});return s?v:t.creator.render?I(F,{children:I(oe,{fallback:v,children:t.creator.render({vault:n,runCreate:g,validate:_,options:h})})}):L(F,{children:[I(i,{children:`No options available`}),I(e,{primary:!0,onPress:()=>g({}),children:t.creator.actionButton||`Create`})]})});function hr(e){let n=W(),r=B(),[a,o]=P(e.resource.initialCreator||``),l=Jn(),u=j(()=>Le(e.resource,n.layout.creators||[],{vault:r}),[e.resource,n.layout.creators,r]);u.length===1&&!a&&o(u[0].id);let d=u.find(e=>e.id===a);if(A(()=>{d&&l?.(d.label)}),u.length===0)return I(i,{children:`Not currently supported`});let p=I(f,{children:I(c,{root:document.getElementById(`headlessui-portal-root`)||void 0,label:`Back to Add content options`,className:`group`,placement:`right`,onPress:()=>o(``),children:I(s,{className:`text-2xl opacity-50 group-hover:opacity-70`})})});return d?d.hiddenModal?L(F,{children:[p,I(mr,{creator:d,resource:e.resource})]}):L(`div`,{children:[p,I(`div`,{className:`p-2 py-6`,children:I(mr,{creator:d,resource:e.resource})})]}):I(t,{label:`Select a type`,items:u.map(e=>({id:e.id,title:e.label,description:e.summary||``,icon:e.icon,onClick:()=>o(e.id)}))})}const gr={id:`@manifest-editor/creator`,label:`Add content`,options:{hideHeader:!0,tabs:!1},render(e){return I(hr,{resource:e})}},_r={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 vr(e){let{}=e,t=B(),n=W(),r=j(()=>Le(e.resource,n.layout.creators||[],{vault:t}),[e.resource,n.layout.creators,t]);return r.length===0?I(`div`,{children:`No supported creators found`}):I(`div`,{children:L(C,{className:`w-full flex-1 overflow-hidden flex flex-col`,children:[I(te,{className:`flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap`,items:r,children:e=>I(x,{id:e.id,children:e.label})}),r.map(t=>I(S,{id:t.id,className:`p-2`,children:I(pe,{theme:_r,children:I(mr,{creator:t,resource:e.resource,onCreate:e.onCreate,skipEditingOnCreate:!0})})},t.id))]})})}function yr(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=V(t.payload.resource.resource);if(!n||!e.stack.find(e=>V(e.resource)?.id===n.id))return e;let r=e.current?.resource.id===n.id?null:e.current,i=br(e.stack.filter(e=>V(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 br(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 xr={stack:[],current:null,create:null},J=D(xr),Sr=D({edit(){},close(){},back(){},setStack(){},updateCurrent(){},create(){return()=>{}}});function Cr(){return k(Sr)}function wr(){return k(J).current}function Tr(){return k(J).stack}function Er(){return k(J).create}function Dr(){let{manifest:e}=Oe(),t=B(),[n,r]=M(e=>e+1,0);U(e,`Manifest not found`);let i=j(()=>new qe({reference:{id:e,type:`Manifest`},vault:t}),[e,t]);return A(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function Or(){let{collection:e}=Oe(),t=B(),[n,r]=M(e=>e+1,0);U(e,`Collection not found`);let i=j(()=>new qe({reference:{id:e,type:`Collection`},vault:t}),[e,t]);return A(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function kr(e,t={}){let n=B(),[r,i]=M(e=>e+1,0);!t.allowNull&&U(e,`Resource not found`);let a=j(()=>t.allowNull&&!e?null:new qe({reference:V(e),vault:n,context:{resource:e,parent:t.parent,index:t.index,parentProperty:t.parentProperty}}),[e,n]);return A(()=>a?.observe.start(i),[a]),a&&(a.observe.key=`${r}`,a.observe.reset()),a}function Ar(){let{annotationPage:e}=Oe();return U(e,`Annotation page not found`),kr({id:e,type:`AnnotationPage`})}function jr(){let e=wr(),t=B(),[n,r]=M(e=>e+1,0);U(e,`No resource selected`);let i=j(()=>new qe({reference:e.resource.source||e.resource,vault:t}),[e,t]);return A(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function Mr(e){let t=B(),[n,r]=M(yr,e),i=O(e=>{r(e)},[]);A(()=>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=O((e,t=!1)=>i({type:`edit`,payload:{resource:e,reset:t}}),[]),o=O(e=>i({type:`setStack`,payload:{resources:e}}),[]),s=O(e=>i({type:`updateCurrent`,payload:{resource:e}}),[]),c=O(()=>i({type:`close`}),[]),l=O(()=>i({type:`back`}),[]),u=O((e,t)=>(i({type:`create`,payload:{resource:e,options:t}}),()=>{i({type:`create`,payload:{resource:null}})}),[]);return[n,j(()=>({edit:a,updateCurrent:s,close:c,back:l,create:u,setStack:o}),[])]}function Nr(e){let{instanceId:t}=ut(),[n,r]=Mr(e.initialState||xr);return I(Sr.Provider,{value:r,children:I(J.Provider,{value:n,children:e.children})},t)}function Pr({resource:e,children:t}){let{instanceId:n}=ut(),[r,i]=Mr(j(()=>({create:null,stack:[],current:{resource:{type:`SpecificResource`,source:{id:e.id,type:e.type}}}}),[]));return I(Sr.Provider,{value:i,children:I(J.Provider,{value:r,children:t})},n)}function Fr({fallback:e,backAction:t}){let n=Tr(),{back:r}=Cr();return n.length?I(q,{onClick:r,children:I(jn,{})}):e}function Ir({closeAction:e,fallback:t}){let n=Tr();return wr()||n.length?I(q,{onClick:()=>{e()},children:I(xt,{})}):t}function Lr(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 Rr({currentTab:e=void 0}){let t=wr(),n=k(Se),r=W(),i=Et(),a=B(),{change:o}=Fn(),s=Jn(),{editorConfig:c}=it(),l=t?.resource.source?.id,u=t?.resource.source?.type,d=l!==i.id;l&&d&&i.type===`Collection`&&u===`Collection`&&(u=`EmbeddedCollection`);let f=(u?c[u]:c.All)||{},p=j(()=>{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 m(e){return t?I(Se.Provider,{value:p,children:e}):e}let h=j(()=>{if(!t)return null;let e=r.layout.editors||[];return Lr(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},f)},[t,r]);if(A(()=>{s(h?.label||``)},[h]),A(()=>{let t=h?.editors.map(e=>e.id)||[];t.find(t=>t===e)||o(`@manifest-editor/editor`,{currentTab:t[0]})},[h?.editors,e,o]),!t||!h)return null;if(f.singleTab){let e=(h?.editors||[]).find(e=>e.id===f.singleTab);if(e)return m(I(`div`,{className:`w-full`,children:e.component(f)},t.resource.source?.id))}return m(I(b,{isNested:d,rootResource:i,menuId:t.resource.source.id,menu:(h?.editors||[]).map((e,t)=>({id:e.id,label:e.label,renderComponent:()=>e.component(f)})),selectedKey:e,onSelectionChange:e=>{o(`@manifest-editor/editor`,{currentTab:e})}},t.resource.source?.id))}const zr={id:`@manifest-editor/editor`,label:`Editor`,options:{hideHeader:!0,tabs:!0,minWidth:400},renderBackAction:({backAction:e,fallback:t})=>I(Fr,{backAction:e,fallback:t}),renderCloseAction:({closeAction:e,fallback:t})=>I(Ir,{closeAction:e,fallback:t}),render({currentTab:e}){return I(Rr,{currentTab:e})}};function Br(e){let[t,n]=P(!1),r=N(),i=N(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 j(()=>[t,{set:o,clear:a}],[t])}function Vr(){let t=Ht(),n=Et(),r=it(),i=at(),[a,s]=Br(2e3);function c(e){e.preventDefault();let t=new FormData(e.target);i({defaultPreview:t.get(`defaultPreview`),i18n:{...r.i18n||{},advancedLanguageMode:t.get(`advancedLanguageMode`)===`on`,availableLanguages:(t.get(`availableLanguages`)||``).split(`,`).map(e=>e.trim()),defaultLanguage:t.get(`defaultLanguage`)},export:{...r.export||{},version:t.get(`isVersion2`)===`on`?2:3,baseIdentifier:t.get(`base`)||null},editorFeatureFlags:{...r.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`}}),s.set(),s.clear()}return L(_,{children:[I(y,{title:`Workspace configuration`}),a?I(`div`,{className:`bg-me-primary-500 text-white p-3 text-sm`,children:`Changes saved`}):null,I(v,{className:`p-4`,children:L(o.Form,{onSubmit:c,className:`flex flex-col gap-3`,children:[L(o.InputContainer,{children:[I(o.Label,{htmlFor:`defaultLanguage`,children:`Default Language`}),I(o.Input,{type:`text`,name:`defaultLanguage`,id:`defaultLanguage`,defaultValue:r.i18n?.defaultLanguage||``})]}),L(o.InputContainer,{children:[I(o.Label,{htmlFor:`availableLanguages`,children:`Available Languages`}),I(o.Input,{type:`text`,name:`availableLanguages`,id:`availableLanguages`,defaultValue:(r.i18n?.availableLanguages||[]).join(`, `)})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`advancedLanguageMode`,id:`advancedLanguageMode`,defaultChecked:r.i18n?.advancedLanguageMode||!1}),I(o.Label,{htmlFor:`advancedLanguageMode`,children:`Advanced Language Mode`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`textGranularityEnabled`,id:`textGranularityEnabled`,defaultChecked:r.i18n?.textGranularityEnabled||!1}),I(o.Label,{htmlFor:`textGranularityEnabled`,children:`Enable text granularity`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`rememberCanvasId`,id:`rememberCanvasId`,defaultChecked:r.editorFeatureFlags?.rememberCanvasId||!1}),I(o.Label,{htmlFor:`rememberCanvasId`,children:`Remember Canvas ID`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`rememberLeftPanelId`,id:`rememberLeftPanelId`,defaultChecked:r.editorFeatureFlags?.rememberLeftPanelId||!1}),I(o.Label,{htmlFor:`rememberLeftPanelId`,children:`Remember Left panel`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`manifestGridOptions`,id:`manifestGridOptions`,defaultChecked:r.editorFeatureFlags?.manifestGridOptions||!1}),I(o.Label,{htmlFor:`manifestGridOptions`,children:`Manifest Grid Options`})]}),L(o.InputContainer,{horizontal:!0,className:`my-3`,children:[I(o.Input,{type:`checkbox`,name:`isVersion2`,id:`isVersion2`,defaultChecked:r.export?.version===2}),L(o.Label,{htmlFor:`isVersion2`,children:[`Export Presentation 2 `,n.type,`s`]})]}),L(o.InputContainer,{children:[I(o.Label,{htmlFor:`defaultPreview`,children:`Default preview`}),I(`div`,{children:t.configs.map((e,t)=>e.type===`iiif-preview-service`?null:L(o.InputContainer,{horizontal:!0,children:[I(o.Input,{type:`radio`,id:e.id,name:`defaultPreview`,value:e.id,defaultChecked:r.defaultPreview?r.defaultPreview===e.id:t===0}),I(`label`,{htmlFor:e.id,children:e.label})]},e.id))})]}),n.type===`Manifest`?I(`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,I(`div`,{className:`mt-5`,children:I(e,{type:`submit`,children:`Save changes`})})]})})]})}function Hr(){return ze((e,t)=>({specificMenus:{},resourceMenus:{},hookMenuItem(t){let n=wn(),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 Ur=D(null);function Wr({children:e}){let t=j(()=>Hr(),[]);return I(Ur.Provider,{value:t,children:e})}function Gr(){let e=k(Ur);if(!e)throw Error(`useContextMenuStore must be used within a ContextMenuProvider`);return e}function Kr(e){let t=Gr(),n=H(t,e=>e.resourceMenus),r=H(t,e=>e.specificMenus);return j(()=>{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 qr(c)},[r,n,e.id,e.type])}function qr(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 Jr(e,t=[]){let n=H(Gr(),e=>e.hookMenuItem);A(()=>n(e),[n,e.resource?.id,e.resource?.type,...t])}var Yr={};function Xr(e){return L(`div`,{className:Yr.CenterPanelContainer,children:[e.title||e.close?L(`div`,{className:Yr.CenterPanelHeader,children:[e.title?I(`h2`,{className:Yr.CenterPanelTitle,children:e.title}):null,e.close?I(K,{className:Yr.CenterPanelClose,onClick:e.close,children:I(xt,{})}):null]}):null,e.children]})}const Zr=R.div`
427
427
  flex: 1;
428
428
  display: flex;
429
429
  width: 100%;
430
430
  flex-direction: column;
431
431
  position: relative;
432
- `,Yr=R.div`
432
+ `,Qr=R.div`
433
433
  background: #fff;
434
434
  position: relative;
435
435
  border-bottom: 1px solid #d0d0d0;
@@ -447,11 +447,11 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
447
447
  //flex-direction: column;
448
448
  //justify-content: center;
449
449
  }
450
- `,Xr=R.p`
450
+ `,$r=R.p`
451
451
  font-size: 0.9em;
452
452
  color: #777;
453
453
  font-weight: 400;
454
- `,Zr=R.button`
454
+ `,ei=R.button`
455
455
  color: inherit;
456
456
  text-rendering: geometricPrecision;
457
457
  border: none;
@@ -493,7 +493,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
493
493
  margin-top: 0.5em;
494
494
  }
495
495
  }
496
- `,Qr=R.div`
496
+ `,ti=R.div`
497
497
  font-size: 1.4em;
498
498
  padding-right: 0.3em;
499
499
  display: flex;
@@ -502,7 +502,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
502
502
  [data-large="true"] & {
503
503
  font-size: 2em;
504
504
  }
505
- `,$r=R.div`
505
+ `,ni=R.div`
506
506
  width: 2em;
507
507
  align-items: center;
508
508
  //padding-top: 0.5em;
@@ -515,11 +515,11 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
515
515
  fill: #999;
516
516
  color: #999;
517
517
  }
518
- `,ei=R.div`
518
+ `,ri=R.div`
519
519
  min-height: 0;
520
520
  overflow: visible;
521
521
  display: flex;
522
- `,ti=R.div`
522
+ `,ii=R.div`
523
523
  min-height: 0;
524
524
  overflow: visible;
525
525
  flex: 1;
@@ -532,7 +532,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
532
532
  &[data-max-height="true"] {
533
533
  overflow-y: auto;
534
534
  }
535
- `,ni=R.section`
535
+ `,ai=R.section`
536
536
  display: grid;
537
537
  grid-template-rows: 0fr;
538
538
  overflow: hidden;
@@ -560,7 +560,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
560
560
  &[data-scrolled="true"] {
561
561
  box-shadow: inset 0px 2px 0px 0 rgba(0, 0, 0, 0.1);
562
562
  }
563
- `,ri=R.div`
563
+ `,oi=R.div`
564
564
  position: sticky;
565
565
  display: flex;
566
566
  top: 0;
@@ -596,7 +596,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
596
596
  right: 0.5em;
597
597
  }
598
598
  }
599
- `,ii=(()=>void 0);let ai=0;function oi(){return j(()=>ai++,[])}function si(e,t=!1){let[n,r]=P([]),i=N(-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 A(()=>{r(t=>Array(e).fill(0).map((e,n)=>t[n]||ce()))},[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 ci=le(function(e,t){let n=N(null),r=N(null),i=oi(),[a,o]=P(e.initialOpen||!1),s=e.onChange||ii,c=()=>{s(!a),o(e=>!e)},l=e.maxHeight,[u,d]=P(!1);de(t,()=>({open(){s(!0),o(!0)},close(){s(!1),o(!1)},toggle(){c()},focus(){r.current&&r.current.focus()},button:r}));let f=e=>{e.target.scrollTop>0?d(!0):d(!1)};return L(Yr,{"data-large":e.large,"data-open":a,children:[L(ri,{"data-open":a,children:[e.icon?I($r,{onClick:c,children:e.icon}):null,L(Zr,{ref:r,onClick:c,"aria-expanded":a,"aria-controls":`accordion-${i}`,children:[e.label,e.description?I(Xr,{children:e.description}):null]}),I(Qr,{onClick:c,children:I(St,{width:`1em`,height:`1em`,rotate:a?0:180})})]}),I(ni,{"aria-labelledby":`accordion-${i}`,"aria-hidden":!a,"data-overflow":!!e.overflow,"data-has-icon":!!e.icon,onScroll:f,ref:n,$initial:!a,"data-scrolled":u,hidden:!a,children:I(ei,{children:I(ti,{"data-max-height":!!l,"data-full":e.fullWidth,style:{maxHeight:l||void 0},children:e.children})})})]})});function li(e){let{getItemProps:t,onKeyDown:n}=si(e.items.length,e.singleMode);return I(Jr,{onKeyDown:n,children:e.items.map((n,r)=>I(ci,{overflow:e.overflow,maxHeight:e.maxHeight,...n,...t(r),children:n.children},r))})}function ui(){return I(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`48`,viewBox:`0 -960 960 960`,width:`48`,children:I(`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 di=R.div`
599
+ `,si=(()=>void 0);let ci=0;function li(){return j(()=>ci++,[])}function ui(e,t=!1){let[n,r]=P([]),i=N(-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 A(()=>{r(t=>Array(e).fill(0).map((e,n)=>t[n]||ce()))},[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 di=le(function(e,t){let n=N(null),r=N(null),i=li(),[a,o]=P(e.initialOpen||!1),s=e.onChange||si,c=()=>{s(!a),o(e=>!e)},l=e.maxHeight,[u,d]=P(!1);de(t,()=>({open(){s(!0),o(!0)},close(){s(!1),o(!1)},toggle(){c()},focus(){r.current&&r.current.focus()},button:r}));let f=e=>{e.target.scrollTop>0?d(!0):d(!1)};return L(Qr,{"data-large":e.large,"data-open":a,children:[L(oi,{"data-open":a,children:[e.icon?I(ni,{onClick:c,children:e.icon}):null,L(ei,{ref:r,onClick:c,"aria-expanded":a,"aria-controls":`accordion-${i}`,children:[e.label,e.description?I($r,{children:e.description}):null]}),I(ti,{onClick:c,children:I(St,{width:`1em`,height:`1em`,rotate:a?0:180})})]}),I(ai,{"aria-labelledby":`accordion-${i}`,"aria-hidden":!a,"data-overflow":!!e.overflow,"data-has-icon":!!e.icon,onScroll:f,ref:n,$initial:!a,"data-scrolled":u,hidden:!a,children:I(ri,{children:I(ii,{"data-max-height":!!l,"data-full":e.fullWidth,style:{maxHeight:l||void 0},children:e.children})})})]})});function fi(e){let{getItemProps:t,onKeyDown:n}=ui(e.items.length,e.singleMode);return I(Zr,{onKeyDown:n,children:e.items.map((n,r)=>I(di,{overflow:e.overflow,maxHeight:e.maxHeight,...n,...t(r),children:n.children},r))})}function pi(){return I(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`48`,viewBox:`0 -960 960 960`,width:`48`,children:I(`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 mi=R.div`
600
600
  padding: 0.3em;
601
601
 
602
602
  display: flex;
@@ -618,12 +618,12 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
618
618
  position: sticky;
619
619
  bottom: 0;
620
620
  }
621
- `;function fi(e){let t=De(),n=B(),r=Fn(),i=j(()=>JSON.stringify(n.toPresentation3(t),null,2),[t,n]),a=j(()=>JSON.stringify(n.toPresentation2(t),null,2),[t,n]);return I(qr,{title:`Export manifest`,close:r.centerPanel.popStack,children:I(`div`,{style:{flex:1,overflowY:`auto`},children:I(li,{items:[{label:`Presentation 3`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,initialOpen:!0,overflow:!0,icon:I(K,{onClick:()=>Sn(i,`manifest.json`),children:I(ui,{})}),children:L(`div`,{style:{maxWidth:`100%`},children:[I(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation3(t),null,2)}),L(di,{"data-sticky":`true`,children:[I(K,{onClick:()=>Cn(i),children:`Copy to clipboard`}),I(K,{onClick:()=>Sn(i,`manifest.json`),children:`Download`})]})]})},{label:`Presentation 2`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,icon:I(K,{onClick:()=>Sn(a,`manifest.json`),children:I(ui,{})}),children:L(`div`,{style:{maxWidth:`100%`},children:[I(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation2(t),null,2)}),L(di,{"data-sticky":`true`,children:[I(K,{onClick:()=>Cn(a),children:`Copy to clipboard`}),I(K,{onClick:()=>Sn(a,`manifest.json`),children:`Download`})]})]})}]})})})}const pi=D(Je());function mi({children:e,emitter:t}){return I(pi.Provider,{value:t,children:e})}function hi(){return k(pi)}function gi(e,t,n=[]){let r=k(pi);A(()=>{let n=e=>{t(e)};return r.on(e,n),()=>{r.off(e,n)}},[r,e,...n])}function _i(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]=P(i);return fe(()=>{let e=()=>o(i);return r.forEach(t=>t.addListener(e)),()=>r.forEach(t=>t.removeListener(e))},[]),a}function vi(e,t,n,r=!0){let i=Ye(t,n);A(()=>typeof window>`u`?()=>void 0:(window.addEventListener(`beforeunload`,t,!1),()=>{t(),window.removeEventListener(`beforeunload`,t)}),[t]),A(()=>{if(e&&r)return e.subscribe(i,!0)},[i,e,r])}function yi(){let e=we(),t=H(e,e=>e.switchTool),n=H(e,e=>e.polygonState.currentTool),r=H(e,e=>e.polygonState.selectedStamp),i=H(e,e=>e.polygonState.showBoundingBox);return j(()=>({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])}function bi({key:e,initialValue:t,requestId:n,getInitialValue:r}){let[i,a]=Te({requestId:n}),[o,s]=P(r&&r(i)||i[e]||t);return[o,O(t=>{a({[e]:t}),s(t)},[])]}const xi=R.div`
621
+ `;function hi(e){let t=De(),n=B(),r=Fn(),i=j(()=>JSON.stringify(n.toPresentation3(t),null,2),[t,n]),a=j(()=>JSON.stringify(n.toPresentation2(t),null,2),[t,n]);return I(Xr,{title:`Export manifest`,close:r.centerPanel.popStack,children:I(`div`,{style:{flex:1,overflowY:`auto`},children:I(fi,{items:[{label:`Presentation 3`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,initialOpen:!0,overflow:!0,icon:I(K,{onClick:()=>Sn(i,`manifest.json`),children:I(pi,{})}),children:L(`div`,{style:{maxWidth:`100%`},children:[I(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation3(t),null,2)}),L(mi,{"data-sticky":`true`,children:[I(K,{onClick:()=>Cn(i),children:`Copy to clipboard`}),I(K,{onClick:()=>Sn(i,`manifest.json`),children:`Download`})]})]})},{label:`Presentation 2`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,icon:I(K,{onClick:()=>Sn(a,`manifest.json`),children:I(pi,{})}),children:L(`div`,{style:{maxWidth:`100%`},children:[I(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation2(t),null,2)}),L(mi,{"data-sticky":`true`,children:[I(K,{onClick:()=>Cn(a),children:`Copy to clipboard`}),I(K,{onClick:()=>Sn(a,`manifest.json`),children:`Download`})]})]})}]})})})}function gi({key:e,initialValue:t,requestId:n,getInitialValue:r}){let[i,a]=Te({requestId:n}),[o,s]=P(r&&r(i)||i[e]||t);return[o,O(t=>{a({[e]:t}),s(t)},[])]}const _i=D(Je());function vi({children:e,emitter:t}){return I(_i.Provider,{value:t,children:e})}function yi(){return k(_i)}function bi(e,t,n=[]){let r=k(_i);A(()=>{let n=e=>{t(e)};return r.on(e,n),()=>{r.off(e,n)}},[r,e,...n])}function xi(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]=P(i);return fe(()=>{let e=()=>o(i);return r.forEach(t=>t.addListener(e)),()=>r.forEach(t=>t.removeListener(e))},[]),a}function Si(e,t,n,r=!0){let i=Ye(t,n);A(()=>typeof window>`u`?()=>void 0:(window.addEventListener(`beforeunload`,t,!1),()=>{t(),window.removeEventListener(`beforeunload`,t)}),[t]),A(()=>{if(e&&r)return e.subscribe(i,!0)},[i,e,r])}function Ci(){let e=we(),t=H(e,e=>e.switchTool),n=H(e,e=>e.polygonState.currentTool),r=H(e,e=>e.polygonState.selectedStamp),i=H(e,e=>e.polygonState.showBoundingBox);return j(()=>({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 wi=R.div`
622
622
  position: relative;
623
623
  width: 1px;
624
624
  background: rgba(0, 0, 0, 0.2);
625
625
  z-index: 50;
626
- `,Si=R(Ut)`
626
+ `,Ti=R(Ut)`
627
627
  transition:
628
628
  opacity 300ms,
629
629
  transform 300ms;
@@ -635,7 +635,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
635
635
  &:focus {
636
636
  outline: 2px solid salmon;
637
637
  }
638
- `;R(Si)`
638
+ `;R(Ti)`
639
639
  background: #fff;
640
640
  width: 30px;
641
641
  height: 30px;
@@ -649,7 +649,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
649
649
  svg {
650
650
  fill: #9999;
651
651
  }
652
- `;const Ci=R(Si)`
652
+ `;const Ei=R(Ti)`
653
653
  position: relative;
654
654
  display: flex;
655
655
  opacity: 1;
@@ -676,7 +676,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
676
676
  svg {
677
677
  font-size: 1.5em;
678
678
  }
679
- `,wi=R.div`
679
+ `,Di=R.div`
680
680
  background: rgba(0, 0, 0, 0);
681
681
  position: absolute;
682
682
  width: 16px;
@@ -699,12 +699,12 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
699
699
  &:hover {
700
700
  transform: scaleX(100%);
701
701
  background: rgba(0, 0, 0, 0.1);
702
- ${Si} {
702
+ ${Ti} {
703
703
  transform: scaleX(100%);
704
704
  opacity: 1;
705
705
  }
706
706
  }
707
- `,Ti=R.div`
707
+ `,Oi=R.div`
708
708
  background: rgba(0, 0, 0, 0);
709
709
  position: absolute;
710
710
  pointer-events: none;
@@ -713,17 +713,17 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
713
713
  top: 0;
714
714
  bottom: 0;
715
715
  z-index: 51; // This will always be quite high.
716
- `,Ei=le(function({dir:e,open:t,actions:r,reset:i},a){let[o,s]=P(!0),c=`mt-[calc(50vh+8px)]`,u=e===`left`?`${c} ml-[13px]`:`${c} ml-[3px]`;return L(xi,{onClick:()=>r.open(),children:[I(Ti,{$open:t,$dir:e,className:`group`,children:t?null:L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{as:Ci,$dir:e,onClick:e=>r.open(),children:I(St,{className:`text-2xl`,rotate:e===`right`?90:270})}),I(n,{children:`Open`})]})}),L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{"aria-label":`Resize panel`,asChild:!0,children:I(`div`,{children:L(wi,{ref:a,$open:t,$dir:e,className:`group`,children:[t?L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{as:l,onPress:()=>r.close(),children:I(`div`,{onMouseOut:()=>{s(!0)},onMouseOver:()=>{s(!1)},children:I(xt,{})})}),I(n,{children:`Close`})]}):null,i&&t?L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{as:l,onPress:()=>i(),children:I(`div`,{onMouseOut:()=>{s(!0)},onMouseOver:()=>{s(!1)},children:I(h,{})})}),I(n,{children:`Reset`})]}):null,t?L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{asChild:!0,"aria-label":`Resize panel`,children:I(`div`,{onMouseOut:()=>{s(!0)},onMouseOver:()=>{s(!1)},children:I(g,{"aria-label":`Resize panel`})})}),I(n,{children:`Resize panel`})]}):null]})})}),o&&I(n,{className:u,children:`Resize panel`})]})]})});function Di(e){return I(`svg`,{width:`1em`,height:`1em`,viewBox:`0 0 42 42`,xmlns:`http://www.w3.org/2000/svg`,stroke:`currentColor`,...e,children:L(`g`,{transform:`translate(2 2)`,strokeWidth:5,fill:`none`,fillRule:`evenodd`,children:[I(`circle`,{strokeOpacity:.5,cx:18,cy:18,r:18}),I(`path`,{d:`M36 18c0-9.94-8.06-18-18-18`,children:I(`animateTransform`,{attributeName:`transform`,type:`rotate`,from:`0 18 18`,to:`360 18 18`,dur:`1s`,repeatCount:`indefinite`})})]})})}var Y={};function Oi(){return L(F,{children:[I(`div`,{"data-header":`true`,className:Y.ghostLoadingBlock}),L(`div`,{className:Y.ghostBlockList,children:[I(`div`,{className:Y.ghostLoadingBlock}),I(`div`,{className:Y.ghostLoadingBlock}),I(`div`,{className:Y.ghostLoadingBlock}),I(`div`,{className:Y.ghostLoadingBlock})]})]})}function ki(e,t,n,r=[]){fe(()=>{let r=e.current;if(r)return r.addEventListener(t,n),()=>{r.removeEventListener(t,n)}},[t,...r])}function Ai(e,t,n,r){return Math.sqrt(Math.abs(n-e)**2+Math.abs(r-t)**2)}function ji(e,t,n,r){return n||(r?r/e:t)}function Mi(e,t={}){let n=N(null),r=N(null),i=N(null),a=N(null),o=N(.5),[s,c]=P(!1),l=N(!1),u=N(0),d=N({x:0,y:0}),[{widthA:f,widthB:p},m]=E(`resize-layout/${e}`,{widthA:`auto`,widthB:`${Bn({initial:t.widthA,fallback:320,options:{minWidth:t.minWidthPx,maxWidth:t.maxWidthPx}})}px`}),{loading:h=!1}=t;return ki(a,`mousedown`,e=>{d.current.x=e.pageX,d.current.y=e.pageY,u.current&&(clearTimeout(u.current),u.current=0),u.current=setTimeout(()=>{c(!0),l.current=!0},350)},[h]),ki({current:typeof window<`u`?window:void 0},`mouseup`,()=>{let e=n.current;if(e&&l.current){let{x:n,width:r}=e.getBoundingClientRect(),i=t.marginLeft||0,a=ji(r,.8,t.maxWidthPct,t.maxWidthPx)*r,s=ji(r,.2,t.minWidthPct,t.minWidthPx)*r;if(t.left){let e=o.current*r-i;m({widthA:`${(1-o.current)*r-i}`,widthB:`${e>a?a:e<s?s:e}px`})}else{let e=1-o.current*r-i;m({widthA:`${e>a?a:e<s?s:e}px`,widthB:`${o.current*r-i}px`})}c(!1),l.current=!1,t.onDragEnd&&t.onDragEnd()}clearTimeout(u.current),u.current=0},[h]),ki(n,`mousemove`,e=>{if(!l.current&&u.current&&Ai(d.current.x,d.current.y,e.pageX,e.pageY)>20&&(c(!0),l.current=!0,clearTimeout(u.current),u.current=0),l.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=ji(a,.8,t.maxWidthPct,t.maxWidthPx),u=ji(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,h]),{refs:{container:n,resizer:a,resizableDiv:r,otherDiv:i},setWidths:m,isDragging:s,widthA:f,widthB:p}}const Ni=R.div`
716
+ `,ki=le(function({dir:e,open:t,actions:r,reset:i},a){let[o,s]=P(!0),c=`mt-[calc(50vh+8px)]`,u=e===`left`?`${c} ml-[13px]`:`${c} ml-[3px]`;return L(wi,{onClick:()=>r.open(),children:[I(Oi,{$open:t,$dir:e,className:`group`,children:t?null:L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{as:Ei,$dir:e,onClick:e=>r.open(),children:I(St,{className:`text-2xl`,rotate:e===`right`?90:270})}),I(n,{children:`Open`})]})}),L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{"aria-label":`Resize panel`,asChild:!0,children:I(`div`,{children:L(Di,{ref:a,$open:t,$dir:e,className:`group`,children:[t?L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{as:l,onPress:()=>r.close(),children:I(`div`,{onMouseOut:()=>{s(!0)},onMouseOver:()=>{s(!1)},children:I(xt,{})})}),I(n,{children:`Close`})]}):null,i&&t?L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{as:l,onPress:()=>i(),children:I(`div`,{onMouseOut:()=>{s(!0)},onMouseOver:()=>{s(!1)},children:I(h,{})})}),I(n,{children:`Reset`})]}):null,t?L(w,{placement:e===`left`?`right`:`left`,children:[I(T,{asChild:!0,"aria-label":`Resize panel`,children:I(`div`,{onMouseOut:()=>{s(!0)},onMouseOver:()=>{s(!1)},children:I(g,{"aria-label":`Resize panel`})})}),I(n,{children:`Resize panel`})]}):null]})})}),o&&I(n,{className:u,children:`Resize panel`})]})]})});function Ai(e){return I(`svg`,{width:`1em`,height:`1em`,viewBox:`0 0 42 42`,xmlns:`http://www.w3.org/2000/svg`,stroke:`currentColor`,...e,children:L(`g`,{transform:`translate(2 2)`,strokeWidth:5,fill:`none`,fillRule:`evenodd`,children:[I(`circle`,{strokeOpacity:.5,cx:18,cy:18,r:18}),I(`path`,{d:`M36 18c0-9.94-8.06-18-18-18`,children:I(`animateTransform`,{attributeName:`transform`,type:`rotate`,from:`0 18 18`,to:`360 18 18`,dur:`1s`,repeatCount:`indefinite`})})]})})}var Y={};function ji(){return L(F,{children:[I(`div`,{"data-header":`true`,className:Y.ghostLoadingBlock}),L(`div`,{className:Y.ghostBlockList,children:[I(`div`,{className:Y.ghostLoadingBlock}),I(`div`,{className:Y.ghostLoadingBlock}),I(`div`,{className:Y.ghostLoadingBlock}),I(`div`,{className:Y.ghostLoadingBlock})]})]})}function Mi(e,t,n,r=[]){fe(()=>{let r=e.current;if(r)return r.addEventListener(t,n),()=>{r.removeEventListener(t,n)}},[t,...r])}function Ni(e,t,n,r){return Math.sqrt(Math.abs(n-e)**2+Math.abs(r-t)**2)}function Pi(e,t,n,r){return n||(r?r/e:t)}function Fi(e,t={}){let n=N(null),r=N(null),i=N(null),a=N(null),o=N(.5),[s,c]=P(!1),l=N(!1),u=N(0),d=N({x:0,y:0}),[{widthA:f,widthB:p},m]=E(`resize-layout/${e}`,{widthA:`auto`,widthB:`${Bn({initial:t.widthA,fallback:320,options:{minWidth:t.minWidthPx,maxWidth:t.maxWidthPx}})}px`}),{loading:h=!1}=t;return Mi(a,`mousedown`,e=>{d.current.x=e.pageX,d.current.y=e.pageY,u.current&&(clearTimeout(u.current),u.current=0),u.current=setTimeout(()=>{c(!0),l.current=!0},350)},[h]),Mi({current:typeof window<`u`?window:void 0},`mouseup`,()=>{let e=n.current;if(e&&l.current){let{x:n,width:r}=e.getBoundingClientRect(),i=t.marginLeft||0,a=Pi(r,.8,t.maxWidthPct,t.maxWidthPx)*r,s=Pi(r,.2,t.minWidthPct,t.minWidthPx)*r;if(t.left){let e=o.current*r-i;m({widthA:`${(1-o.current)*r-i}`,widthB:`${e>a?a:e<s?s:e}px`})}else{let e=1-o.current*r-i;m({widthA:`${e>a?a:e<s?s:e}px`,widthB:`${o.current*r-i}px`})}c(!1),l.current=!1,t.onDragEnd&&t.onDragEnd()}clearTimeout(u.current),u.current=0},[h]),Mi(n,`mousemove`,e=>{if(!l.current&&u.current&&Ni(d.current.x,d.current.y,e.pageX,e.pageY)>20&&(c(!0),l.current=!0,clearTimeout(u.current),u.current=0),l.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=Pi(a,.8,t.maxWidthPct,t.maxWidthPx),u=Pi(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,h]),{refs:{container:n,resizer:a,resizableDiv:r,otherDiv:i},setWidths:m,isDragging:s,widthA:f,widthB:p}}const Ii=R.div`
717
717
  position: relative;
718
718
  display: flex;
719
719
  flex: 1;
720
720
  overflow: hidden;
721
721
  flex-direction: column;
722
- `,Pi=R.div`
722
+ `,Li=R.div`
723
723
  flex: 1;
724
724
  position: relative;
725
725
  z-index: 7;
726
- `,Fi=R.div`
726
+ `,Ri=R.div`
727
727
  display: flex;
728
728
  justify-content: space-around;
729
729
  width: 100%;
@@ -731,7 +731,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
731
731
  border-top: 1px solid #cbcbcb;
732
732
  padding: 0.5em;
733
733
  height: 3.4rem;
734
- `,Ii=R.button`
734
+ `,zi=R.button`
735
735
  //background: red;
736
736
  padding: 0.5em 1em;
737
737
  width: 32%;
@@ -739,7 +739,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
739
739
  border-radius: 5px;
740
740
  border: none;
741
741
  background: #ffffff;
742
- `,Li=R.button`
742
+ `,Bi=R.button`
743
743
  padding: 0.5em 1em;
744
744
  width: 32%;
745
745
 
@@ -748,12 +748,12 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
748
748
  background: #5e59c2;
749
749
  border: 1px solid rgba(0, 0, 0, 0.21);
750
750
  color: #ffffff;
751
- `,Ri=R.div`
751
+ `,Vi=R.div`
752
752
  position: relative;
753
753
  width: 32%;
754
754
  margin: 0 0.75em;
755
755
  z-index: 9;
756
- `,zi=R.button`
756
+ `,Hi=R.button`
757
757
  padding: 0.4em 1em 0.65em;
758
758
  position: absolute;
759
759
  width: 100%;
@@ -772,7 +772,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
772
772
  margin: auto;
773
773
  font-size: 1.8em;
774
774
  }
775
- `,Bi=R.div`
775
+ `,Ui=R.div`
776
776
  background: #fff;
777
777
  display: flex;
778
778
  position: absolute;
@@ -802,7 +802,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
802
802
  padding-right: 0.5em;
803
803
  font-size: 1.1em;
804
804
  }
805
- `,Vi=R.div`
805
+ `,Wi=R.div`
806
806
  position: absolute;
807
807
  transform: translateX(-100%);
808
808
  background: #fff;
@@ -815,7 +815,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
815
815
  ${e=>e.$open&&z`
816
816
  transform: translateX(0);
817
817
  `}
818
- `,Hi=R.div`
818
+ `,Gi=R.div`
819
819
  background: rgba(0, 0, 0, 0.4);
820
820
  pointer-events: none;
821
821
  position: absolute;
@@ -831,7 +831,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
831
831
  pointer-events: visible;
832
832
  opacity: 1;
833
833
  `}
834
- `,Ui=R.div`
834
+ `,Ki=R.div`
835
835
  display: flex;
836
836
  flex-direction: column;
837
837
  flex: 1;
@@ -840,16 +840,16 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
840
840
  max-width: 100%;
841
841
  min-width: 0;
842
842
  overflow: hidden;
843
- `,Wi=R.header`
843
+ `,qi=R.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
- `,Gi=R.div`
846
+ `,Ji=R.div`
847
847
  background: #fff;
848
- `,Ki=R.div`
848
+ `,Yi=R.div`
849
849
  display: flex;
850
850
  flex: 1 1 0;
851
851
  min-height: 0;
852
- `,qi=R.div`
852
+ `,Xi=R.div`
853
853
  background: #fff;
854
854
  display: flex;
855
855
  flex-direction: column;
@@ -868,7 +868,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
868
868
  `;case`unmounted`:case`exited`:return z`
869
869
  max-width: 0;
870
870
  `}}}
871
- `,Ji=R.div`
871
+ `,Zi=R.div`
872
872
  flex: 1 1 0;
873
873
  background: #e3e7f0;
874
874
  // background: #efefef;
@@ -887,7 +887,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
887
887
  > * {
888
888
  min-width: 0;
889
889
  }
890
- `,Yi=R.div`
890
+ `,Qi=R.div`
891
891
  background: #fff;
892
892
  display: flex;
893
893
  flex-direction: column;
@@ -903,7 +903,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
903
903
  `;case`unmounted`:case`exited`:return z`
904
904
  max-width: 0;
905
905
  `}}}
906
- `,Xi=R.div`
906
+ `,$i=R.div`
907
907
  display: flex;
908
908
  flex: 1;
909
909
  height: 100%;
@@ -978,12 +978,12 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
978
978
  ${e=>!e.$open&&(e.$position===`top`||e.$position===`bottom`)?z`
979
979
  display: none;
980
980
  `:``}
981
- `,Zi=R.div`
981
+ `,ea=R.div`
982
982
  display: flex;
983
983
  flex-direction: column;
984
984
  flex: 1;
985
985
  min-width: 0;
986
986
  overflow: hidden;
987
- `,Qi=ue(function(e){let t=dt(),n=Ln(),{vault:r}=k(xe),i=r||void 0,a=N(null),o=N(null),{loading:s,state:c,leftPanels:l,centerPanels:u,rightPanels:f,modals:p=[],actions:h}=n,g=l.find(e=>e.id===c.leftPanel.current),_=f.find(e=>e.id===c.rightPanel.current),v=u.find(e=>e.id===c.centerPanel.current),y=p.find(e=>e.id===c.modal.current),b=c.pinnedRightPanel.pinned?f.find(e=>e.id===c.pinnedRightPanel.current):void 0,[ee]=_i([`(max-width: 1020px)`]),x=e.isLoading||!1,te=j(()=>(n.background||[]).map((e,t)=>I(ae,{children:e.render()},t)),[n.background]),S=Mi(`left-panel/${g?.id}`,{left:!0,marginLeft:60,minWidthPx:g?.options?.minWidth||200,maxWidthPx:g?.options?.maxWidth||720,loading:s}),C=Mi(`right-panel/${_?.id}`,{left:!1,minWidthPx:_?.options?.minWidth||320,maxWidthPx:_?.options?.maxWidth||720,loading:s}),w=_&&(b?.id!==_.id||!Ze(c.pinnedRightPanel.state,c.rightPanel.state)),T=S.widthB===`auto`?void 0:()=>S.setWidths({widthA:`auto`,widthB:Bn({options:g?.options,fallback:320})}),E=C.widthB===`auto`?void 0:()=>C.setWidths({widthA:`auto`,widthB:Bn({options:_?.options,fallback:320})});if(fe(()=>{ee&&c.leftPanel.open&&c.rightPanel.open&&(h.leftPanel.close(),h.rightPanel.close())},[ee]),fe(()=>{if(v&&v.onMount)return v.onMount(c.centerPanel.state||v.defaultState||{},{...n,current:h.centerPanel,vault:i},t)},[c.centerPanel.current]),fe(()=>{f.length&&h.rightPanel.change({id:f[0].id}),l.length&&h.leftPanel.change({id:l[0].id}),u.length&&h.centerPanel.change({id:u[0].id})},[]),s)return null;let ne=t=>I(Xi,{$menu:e.leftPanelMenuPosition||`bottom`,ref:S.refs.resizableDiv,className:[`manifest-editor`,t?`transition transition-${t}`:``].join(` `),style:{width:c.leftPanel.open||t!==`exited`?S.widthB:void 0,minWidth:g?.options?.minWidth},children:x?I(Zi,{children:I(Oi,{})}):L(F,{children:[e.leftPanelMenu?I(X,{$open:c.leftPanel.open&&t!==`exited`,$position:e.leftPanelMenuPosition||`bottom`,children:e.leftPanelMenu}):null,I(Zi,{children:c.leftPanel.open||t!==`exited`?I(F,{children:g?I(er,{isLeft:!0,noHeader:!0,transition:t,panel:g,state:c.leftPanel,actions:h.leftPanel}):null}):null})]})}),re=()=>!y||c.modal.open===!1?null:I(d,{title:y.label,onClose:()=>h.modal.close(),children:Vn(y.render(c.modal.state||y.defaultState||{},{...n,current:h.modal,vault:i},t))}),ie=()=>L(Xi,{$menu:e.centerPanelMenuPosition||`top`,children:[e.centerPanelMenu?I(X,{$open:c.centerPanel.open,$position:e.centerPanelMenuPosition||`top`,children:e.centerPanelMenu}):null,I(Zi,{children:I(Be,{resetKeys:[v?.id],FallbackComponent:Rn,children:x?I(`div`,{style:{display:`flex`,flex:1,justifyContent:`center`,alignItems:`center`},children:I(Di,{stroke:`rgba(0,0,0,.3)`,fontSize:`2em`})}):c.centerPanel.open&&v?Vn(v.render(c.centerPanel.state||v.defaultState||{},{...n,current:h.centerPanel,vault:i},t)):null})})]}),oe=t=>I(Xi,{$menu:e.rightPanelMenuPosition||`bottom`,ref:C.refs.resizableDiv,className:t?`transition transition-${t}`:``,style:{width:c.rightPanel.open||t!==`exited`?C.widthB:void 0,minWidth:_?.options?.minWidth},children:x?I(Zi,{children:I(Oi,{})}):L(F,{children:[e.rightPanelMenu?I(X,{$open:c.rightPanel.open,$position:e.rightPanelMenuPosition||`bottom`,children:e.rightPanelMenu}):null,I(Zi,{children:c.rightPanel.open||t!==`exited`?L(F,{children:[w?I(er,{panel:_,state:c.rightPanel,actions:h.rightPanel,pinActions:h.pinnedRightPanel,available:f}):null,b?I(er,{panel:b,state:c.pinnedRightPanel,actions:h.pinnedRightPanel,close:h.rightPanel.close}):null]}):null})]})});return ee?L(Ui,{children:[e.hideHeader?null:L(Wi,{children:[e.header||null,e.menu?I(`menu`,{children:e.menu}):null]}),I(Ki,{children:L(Ni,{children:[I(Pi,{children:ie()}),L(Fi,{children:[l.length>0?I(Ii,{onClick:h.leftPanel.toggle,children:g?.label}):null,f.length>0?I(Ri,{children:L(zi,{onClick:h.rightPanel.toggle,children:[I(St,{rotate:180}),_?.label]})}):null,I(Li,{children:`Preview`})]}),f.length>0?I(Bi,{$open:c.rightPanel.open,children:oe()}):null,l.length>0?I(Vi,{$open:c.leftPanel.open,children:ne()}):null,l.length>0||f.length>0?I(Hi,{$open:c.leftPanel.open||c.rightPanel.open,onClick:()=>{h.leftPanel.close(),h.rightPanel.close()}}):null]})})]}):L(Ui,{id:e.htmlId||`manifest-editor-container`,className:`manifest-editor ${e.className||``}`,children:[e.hideHeader?null:L(Wi,{children:[e.header||null,e.menu?I(`menu`,{children:e.menu}):null]}),L(Ki,{ref:e=>{S.refs.container.current=e,C.refs.container.current=e},children:[l.length>0?I(m,{current:c.leftPanel.current,items:l.map(e=>({id:e.id,label:e.label,icon:e.icon,divide:e.divide,onClick:()=>{c.leftPanel.current===e.id?h.leftPanel.toggle():h.leftPanel.change({id:e.id})}})),open:c.leftPanel.open}):null,l.length>0?I(Xe,{nodeRef:a,in:c.leftPanel.open,timeout:400,unmountOnExit:!1,children:e=>L(F,{children:[I(qi,{ref:a,$width:S.widthB,$state:e,$motion:!0,children:ne(e)}),I(Ei,{ref:S.refs.resizer,reset:T,dir:`left`,transition:e,open:c.leftPanel.open||e!==`exited`,actions:h.leftPanel})]})}):null,I(Ji,{children:ie()}),f.length>0?I(Xe,{nodeRef:o,in:c.rightPanel.open,timeout:400,unmountOnExit:!1,children:e=>L(F,{children:[I(Ei,{ref:C.refs.resizer,dir:`right`,reset:E,open:c.rightPanel.open,actions:h.rightPanel}),I(Yi,{ref:o,$width:C.widthB,$state:e,$motion:!0,children:oe(e)})]})}):null]}),I(Gi,{children:e.footer||null}),I(`div`,{className:`hidden`,children:te}),I(F,{children:re()})]})});function Z(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 l(n){t({type:`setCustomWidth`,panel:e,payload:n})}function u(){t({type:`resetSize`,panel:e,payload:void 0})}function d(n){t({type:`pin`,panel:e,payload:n})}function f(){t({type:`unpin`,panel:e,payload:void 0})}return j(()=>({popStack:n,change:r,open:i,close:a,toggle:o,minimise:s,maximise:c,setCustomWidth:l,resetSize:u,pin:d,unpin:f}),[])}function $i(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?{...Ae(e.state)}:{}})}}else e.stack=[]}function ea(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&&$i(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&&$i(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(zn(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 ta=je((e,t)=>{switch(t.panel){case`centerPanel`:ea(e.centerPanel,t);break;case`leftPanel`:ea(e.leftPanel,t);break;case`rightPanel`:ea(e.rightPanel,t);break;case`modal`:ea(e.modal,t);break;case`pinnedRightPanel`:ea(e.pinnedRightPanel,t);break}});function Q(){return{customWidth:void 0,minimised:!1,open:!0,current:null,state:null,stack:[]}}function na(){return{leftPanel:Q(),centerPanel:Q(),rightPanel:Q(),modal:Q(),pinnedRightPanel:{...Q(),pinnable:!0,pinned:!1}}}const ra=D({resource:null});function ia(){return k(ra)}function aa(){let e=B(),{resource:t}=ia();U(t,`Nothing selected`);let{id:n,type:r}=t;return ke(()=>e.get({id:n,type:r}),[n,r])}function oa(){let{resource:e}=ia();return e}function sa({resource:e,children:t}){let{id:n,type:r}=e||{};return I(ra.Provider,{value:j(()=>({resource:n&&r?{id:n,type:r}:null}),[n,r]),children:t})}var ca=class extends ie{constructor(...e){super(...e),G(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?I(`h1`,{children:`Sorry.. there was an error`}):this.props.children}};function la(e,t){return typeof e==`string`?{id:e,state:t}:e}const ua=ue(function(e){let t=W(),n=hi(),r=t.layout,[i,a]=M(ta,void 0,na),o={centerPanel:Z(`centerPanel`,a),leftPanel:Z(`leftPanel`,a),rightPanel:Z(`rightPanel`,a),pinnedRightPanel:Z(`pinnedRightPanel`,a),modal:Z(`modal`,a),editingStack:vr()};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];U(!1,`Was not able to find panel with id "${e}"`)}function c(e,t){let{id:r,state:i,stacked:a}=la(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 l(e,t){let{id:r,state:i}=la(e,t),[a,o]=s(r),c={id:r,state:{...a.defaultState||{},...i||{}},stacked:!0};n.emit(`layout.open`,c),o.open(c)}function u(e,t){let{id:r,state:i,stacked:a}=la(e,t),[o,c]=s(r),l={id:r,state:{...o.defaultState||{},...i||{}},stacked:a};n.emit(`layout.change`,l),c.change(l)}function d(e,t){let{id:r}=la(e,t),[,i]=s(r);n.emit(`layout.close`,{id:r}),i.close()}function f(e,t){let{id:r}=la(e,t),[,i]=s(r);n.emit(`layout.toggle`,{id:r}),i.toggle()}function p(e,t={},{reset:i,property:a,stacked:s,forceOpen:c}={}){let l={resource:Fe(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 m(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 h={open:c,change:u,close:d,toggle:f,stack:l,edit:p,create:m};return I(Mn.Provider,{value:j(()=>({...o,...h}),[r]),children:I(Nn.Provider,{value:i,children:e.children})})}),da=[{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`}],fa=new Qe({approximateServices:!0,verificationsRequired:8,enableFetching:!0});function pa({config:e,saveConfig:t,children:n,theme:r,previews:i,resource:a,editing:o}){let s=it(),c=j(()=>({...s,...e,previews:e?.previews||s.previews||da}),[s,e]);return I(ca,{children:I(ye.Provider,{value:fa,children:I(Ot,{resource:a,children:I(sr,{children:I(pe,{theme:r||Fr,children:I(ot,{config:c,saveConfig:t,children:I(Or,{children:I(ua,{children:I(Vr,{children:I(Bt,{previews:i||[],configs:c.previews,children:I(ge,{children:n})})})})})})})})})})})}const ma={},ha=D(`global`);function ga(){return k(ha)}function _a(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function va(e){let t=ga(),[,n]=M(e=>e+1,0),r=j(()=>(ma[t]||(ma[t]={}),ma[t][e]||(ma[t][e]={name:e,emitter:Je(),status:`idle`,promise:Promise.resolve(),abort:new AbortController,reject:()=>void 0,resolve:()=>void 0}),ma[t][e]),[t,e]);return $(r,`abort`,n),$(r,`error`,n),$(r,`complete`,n),$(r,`running`,n),r}function $(e,t,n){let r=O(()=>n(e),[n]);A(()=>{let n=e.emitter;return n.on(t,r),()=>n.off(t,r)},[t,r,e.emitter])}const ya=()=>void 0;function ba(e,t){let n=va(e);return $(n,`complete`,t||ya),[e=>{n.status===`running`&&(n.abort.abort(),n.emitter.emit(`abort`)),n.error&&(n.error=``);let t=_a();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 xa(e,t){let n=va(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 Sa({children:e}){return I(ha.Provider,{value:j(()=>`id-${Date.now()}`,[]),children:e})}function Ca(e){return!1}function wa({as:e,reference:t,onReference:n,onLink:r,onAnalysis:i,onDropReference:a,onDropLink:o,onDropAnalysis:s,onPasteReference:c,onPasteLink:l,onPasteAnalysis:u,...d}){let f=e||`div`,p=a||n,m=c||n,h=l||r,g=u||i,_=j(()=>t,[t?.id,t?.type]),v=O(function(e){e.defaultPrevented||(e.preventDefault(),e.clipboardData&&_&&_.id&&_.type&&e.clipboardData.setData(`application/json+vault`,JSON.stringify({id:_.id,type:_.type})))},[_]),y=O(async function(e){if(!e.defaultPrevented&&(e.preventDefault(),e.clipboardData)){if(d.onLoading&&d.onLoading(),m){let t=e.clipboardData.getData(`application/json+vault`);if(t)try{let e=JSON.parse(t);e&&e.id&&e.type&&m(e)}catch{}}if(h||g){let t=e.clipboardData.getData(`text`);if(t.startsWith(`http`)){let e=t.split(`
988
- `);for(let t of e){if(g)try{let e=await Ca(t);if(e){g(e);continue}}catch{}h&&h(t)}}}d.onComplete&&d.onComplete()}},[]),b=O(function(e){e.defaultPrevented||(e.preventDefault(),e.dataTransfer&&d.draggable&&(e.dataTransfer.effectAllowed=`all`,_&&_.id&&_.type&&e.dataTransfer.setData(`application/json+vault`,JSON.stringify({id:_.id,type:_.type}))))},[]);return I(f,{onCopy:v,onPaste:y,onDrop:O(async function(e){if(e.preventDefault(),e.dataTransfer){if(p){let t=e.dataTransfer.getData(`application/json+vault`);if(t)try{let n=JSON.parse(t);n&&n.id&&n.type&&p(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:O(e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},[]),onDragStart:b,tabIndex:-1,...d})}export{nn as AppHeader,sn as AppMenuProvider,pt as AppProvider,ct as AppReactContext,Dt as AppResourceInstanceProvider,Ot as AppResourceProvider,lt as AppStateReactContext,he as AtlasStoreProvider,_e as AtlasStoreReactContext,Ir as BaseAnnotationCreator,Nr as BaseEditor,Ar as BaseEditorBackButton,jr as BaseEditorCloseButton,Rr as ConfigEditor,ot as ConfigProvider,nt as ConfigReactContext,Vr as ContextMenuProvider,Br as ContextMenuReactContext,Or as EditingStack,J as EditingStackContext,mi as EventEmitterProvider,fi as ExportPanel,ar as HOMEPAGE_COLLECTION,xi as HandleContainer,Ei as HandleControls,kr as InlineEditingStack,Qi as Layout,Mn as LayoutActionsReactContext,Nn as LayoutStateReactContext,er as ModularPanel,Xn as ModularPanelHeader,q as ModulePanelButton,_t as MultiAppProvider,Rn as PanelError,tn as PreviewButton,Bt as PreviewProvider,cr as PreviewVaultBoundary,sr as PreviewVaultContext,st as PrimeAppReactContext,pi as ReactEmitterContext,sa as ResourceEditingProvider,ra as ResourceEditingReactContext,rt as SaveConfigReactContext,pa as ShellProvider,Sa as TaskBridge,wa as UniversalCopyTarget,pn as analyse,hn as analyseJson,pr as baseCreator,Pr as baseEditor,Cn as copyToClipboard,xn as createActionIdentity,Sn as createDownload,tr as createPreviewVault,fn as detectMedia,Mr as editBasedOnResource,En as extendApp,na as getDefaultLayoutState,Q as getDefaultPanelState,vn as getFormat,yn as getImageDimensions,bn as getManifestNomalized,zn as isPinnableState,ta as layoutReducer,Tn as mapApp,Bn as panelSizing,ln as polygonToBoundingBox,wn as randomId,Vn as renderHelper,bi as useAnnotationCreatorState,Tr as useAnnotationPageEditor,W as useApp,ut as useAppInstance,an as useAppMenu,on as useAppMenuItem,Et as useAppResource,Tt as useAppResourceInstance,dt as useAppState,ht as useApps,cn as useAtlasStore,In as useAvailableLayouts,Cr as useCollectionEditor,it as useConfig,xr as useCreatingResource,lr as useCreator,Gr as useCustomContextMenu,Lr as useDecayState,ia as useEditingContext,yr as useEditingResource,br as useEditingResourceStack,vr as useEditingStack,Er as useEditor,hi as useEmitter,gi as useEvent,wr as useGenericEditor,Dn as useHighlightedImageResource,kn as useHoverHighlightImageResource,ur as useInlineCreator,Fn as useLayoutActions,Ln as useLayoutProvider,Pn as useLayoutState,E as useLocalStorage,Sr as useManifestEditor,_i as useMatchMedia,ne as useOptionalLocalStorage,oa as useOptionalResource,Z as usePanelActions,Ht as usePreviewContext,or as usePreviewHistory,nr as usePreviewVault,Vt as usePreviews,aa as useResource,Ur as useResourceContextMenuItems,at as useSaveConfig,vi as useSaveVault,Jn as useSetCustomTitle,yi as useSvgTools,va as useTask,ba as useTaskDispatch,$ as useTaskEvent,xa as useTaskRunner,On as useTemporaryHighlight};
987
+ `,ta=ue(function(e){let t=dt(),n=Ln(),{vault:r}=k(xe),i=r||void 0,a=N(null),o=N(null),{loading:s,state:c,leftPanels:l,centerPanels:u,rightPanels:f,modals:p=[],actions:h}=n,g=l.find(e=>e.id===c.leftPanel.current),_=f.find(e=>e.id===c.rightPanel.current),v=u.find(e=>e.id===c.centerPanel.current),y=p.find(e=>e.id===c.modal.current),b=c.pinnedRightPanel.pinned?f.find(e=>e.id===c.pinnedRightPanel.current):void 0,[ee]=xi([`(max-width: 1020px)`]),x=e.isLoading||!1,te=j(()=>(n.background||[]).map((e,t)=>I(ae,{children:e.render()},t)),[n.background]),S=Fi(`left-panel/${g?.id}`,{left:!0,marginLeft:60,minWidthPx:g?.options?.minWidth||200,maxWidthPx:g?.options?.maxWidth||720,loading:s}),C=Fi(`right-panel/${_?.id}`,{left:!1,minWidthPx:_?.options?.minWidth||320,maxWidthPx:_?.options?.maxWidth||720,loading:s}),w=_&&(b?.id!==_.id||!Ze(c.pinnedRightPanel.state,c.rightPanel.state)),T=S.widthB===`auto`?void 0:()=>S.setWidths({widthA:`auto`,widthB:Bn({options:g?.options,fallback:320})}),E=C.widthB===`auto`?void 0:()=>C.setWidths({widthA:`auto`,widthB:Bn({options:_?.options,fallback:320})});if(fe(()=>{ee&&c.leftPanel.open&&c.rightPanel.open&&(h.leftPanel.close(),h.rightPanel.close())},[ee]),fe(()=>{if(v&&v.onMount)return v.onMount(c.centerPanel.state||v.defaultState||{},{...n,current:h.centerPanel,vault:i},t)},[c.centerPanel.current]),fe(()=>{f.length&&h.rightPanel.change({id:f[0].id}),l.length&&h.leftPanel.change({id:l[0].id}),u.length&&h.centerPanel.change({id:u[0].id})},[]),s)return null;let ne=t=>I($i,{$menu:e.leftPanelMenuPosition||`bottom`,ref:S.refs.resizableDiv,className:[`manifest-editor`,t?`transition transition-${t}`:``].join(` `),style:{width:c.leftPanel.open||t!==`exited`?S.widthB:void 0,minWidth:g?.options?.minWidth},children:x?I(ea,{children:I(ji,{})}):L(F,{children:[e.leftPanelMenu?I(X,{$open:c.leftPanel.open&&t!==`exited`,$position:e.leftPanelMenuPosition||`bottom`,children:e.leftPanelMenu}):null,I(ea,{children:c.leftPanel.open||t!==`exited`?I(F,{children:g?I(er,{isLeft:!0,noHeader:!0,transition:t,panel:g,state:c.leftPanel,actions:h.leftPanel}):null}):null})]})}),re=()=>!y||c.modal.open===!1?null:I(d,{title:y.label,onClose:()=>h.modal.close(),children:Vn(y.render(c.modal.state||y.defaultState||{},{...n,current:h.modal,vault:i},t))}),ie=()=>L($i,{$menu:e.centerPanelMenuPosition||`top`,children:[e.centerPanelMenu?I(X,{$open:c.centerPanel.open,$position:e.centerPanelMenuPosition||`top`,children:e.centerPanelMenu}):null,I(ea,{children:I(Be,{resetKeys:[v?.id],FallbackComponent:Rn,children:x?I(`div`,{style:{display:`flex`,flex:1,justifyContent:`center`,alignItems:`center`},children:I(Ai,{stroke:`rgba(0,0,0,.3)`,fontSize:`2em`})}):c.centerPanel.open&&v?Vn(v.render(c.centerPanel.state||v.defaultState||{},{...n,current:h.centerPanel,vault:i},t)):null})})]}),oe=t=>I($i,{$menu:e.rightPanelMenuPosition||`bottom`,ref:C.refs.resizableDiv,className:t?`transition transition-${t}`:``,style:{width:c.rightPanel.open||t!==`exited`?C.widthB:void 0,minWidth:_?.options?.minWidth},children:x?I(ea,{children:I(ji,{})}):L(F,{children:[e.rightPanelMenu?I(X,{$open:c.rightPanel.open,$position:e.rightPanelMenuPosition||`bottom`,children:e.rightPanelMenu}):null,I(ea,{children:c.rightPanel.open||t!==`exited`?L(F,{children:[w?I(er,{panel:_,state:c.rightPanel,actions:h.rightPanel,pinActions:h.pinnedRightPanel,available:f}):null,b?I(er,{panel:b,state:c.pinnedRightPanel,actions:h.pinnedRightPanel,close:h.rightPanel.close}):null]}):null})]})});return ee?L(Ki,{children:[e.hideHeader?null:L(qi,{children:[e.header||null,e.menu?I(`menu`,{children:e.menu}):null]}),I(Yi,{children:L(Ii,{children:[I(Li,{children:ie()}),L(Ri,{children:[l.length>0?I(zi,{onClick:h.leftPanel.toggle,children:g?.label}):null,f.length>0?I(Vi,{children:L(Hi,{onClick:h.rightPanel.toggle,children:[I(St,{rotate:180}),_?.label]})}):null,I(Bi,{children:`Preview`})]}),f.length>0?I(Ui,{$open:c.rightPanel.open,children:oe()}):null,l.length>0?I(Wi,{$open:c.leftPanel.open,children:ne()}):null,l.length>0||f.length>0?I(Gi,{$open:c.leftPanel.open||c.rightPanel.open,onClick:()=>{h.leftPanel.close(),h.rightPanel.close()}}):null]})})]}):L(Ki,{id:e.htmlId||`manifest-editor-container`,className:`manifest-editor ${e.className||``}`,children:[e.hideHeader?null:L(qi,{children:[e.header||null,e.menu?I(`menu`,{children:e.menu}):null]}),L(Yi,{ref:e=>{S.refs.container.current=e,C.refs.container.current=e},children:[l.length>0?I(m,{current:c.leftPanel.current,items:l.map(e=>({id:e.id,label:e.label,icon:e.icon,divide:e.divide,onClick:()=>{c.leftPanel.current===e.id?h.leftPanel.toggle():h.leftPanel.change({id:e.id})}})),open:c.leftPanel.open}):null,l.length>0?I(Xe,{nodeRef:a,in:c.leftPanel.open,timeout:400,unmountOnExit:!1,children:e=>L(F,{children:[I(Xi,{ref:a,$width:S.widthB,$state:e,$motion:!0,children:ne(e)}),I(ki,{ref:S.refs.resizer,reset:T,dir:`left`,transition:e,open:c.leftPanel.open||e!==`exited`,actions:h.leftPanel})]})}):null,I(Zi,{children:ie()}),f.length>0?I(Xe,{nodeRef:o,in:c.rightPanel.open,timeout:400,unmountOnExit:!1,children:e=>L(F,{children:[I(ki,{ref:C.refs.resizer,dir:`right`,reset:E,open:c.rightPanel.open,actions:h.rightPanel}),I(Qi,{ref:o,$width:C.widthB,$state:e,$motion:!0,children:oe(e)})]})}):null]}),I(Ji,{children:e.footer||null}),I(`div`,{className:`hidden`,children:te}),I(F,{children:re()})]})});function Z(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 l(n){t({type:`setCustomWidth`,panel:e,payload:n})}function u(){t({type:`resetSize`,panel:e,payload:void 0})}function d(n){t({type:`pin`,panel:e,payload:n})}function f(){t({type:`unpin`,panel:e,payload:void 0})}return j(()=>({popStack:n,change:r,open:i,close:a,toggle:o,minimise:s,maximise:c,setCustomWidth:l,resetSize:u,pin:d,unpin:f}),[])}function na(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?{...Ae(e.state)}:{}})}}else e.stack=[]}function ra(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&&na(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&&na(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(zn(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 ia=je((e,t)=>{switch(t.panel){case`centerPanel`:ra(e.centerPanel,t);break;case`leftPanel`:ra(e.leftPanel,t);break;case`rightPanel`:ra(e.rightPanel,t);break;case`modal`:ra(e.modal,t);break;case`pinnedRightPanel`:ra(e.pinnedRightPanel,t);break}});function Q(){return{customWidth:void 0,minimised:!1,open:!0,current:null,state:null,stack:[]}}function aa(){return{leftPanel:Q(),centerPanel:Q(),rightPanel:Q(),modal:Q(),pinnedRightPanel:{...Q(),pinnable:!0,pinned:!1}}}const oa=D({resource:null});function sa(){return k(oa)}function ca(){let e=B(),{resource:t}=sa();U(t,`Nothing selected`);let{id:n,type:r}=t;return ke(()=>e.get({id:n,type:r}),[n,r])}function la(){let{resource:e}=sa();return e}function ua({resource:e,children:t}){let{id:n,type:r}=e||{};return I(oa.Provider,{value:j(()=>({resource:n&&r?{id:n,type:r}:null}),[n,r]),children:t})}var da=class extends ie{constructor(...e){super(...e),G(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?I(`h1`,{children:`Sorry.. there was an error`}):this.props.children}};function fa(e,t){return typeof e==`string`?{id:e,state:t}:e}const pa=ue(function(e){let t=W(),n=yi(),r=t.layout,[i,a]=M(ia,void 0,aa),o={centerPanel:Z(`centerPanel`,a),leftPanel:Z(`leftPanel`,a),rightPanel:Z(`rightPanel`,a),pinnedRightPanel:Z(`pinnedRightPanel`,a),modal:Z(`modal`,a),editingStack:Cr()};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];U(!1,`Was not able to find panel with id "${e}"`)}function c(e,t){let{id:r,state:i,stacked:a}=fa(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 l(e,t){let{id:r,state:i}=fa(e,t),[a,o]=s(r),c={id:r,state:{...a.defaultState||{},...i||{}},stacked:!0};n.emit(`layout.open`,c),o.open(c)}function u(e,t){let{id:r,state:i,stacked:a}=fa(e,t),[o,c]=s(r),l={id:r,state:{...o.defaultState||{},...i||{}},stacked:a};n.emit(`layout.change`,l),c.change(l)}function d(e,t){let{id:r}=fa(e,t),[,i]=s(r);n.emit(`layout.close`,{id:r}),i.close()}function f(e,t){let{id:r}=fa(e,t),[,i]=s(r);n.emit(`layout.toggle`,{id:r}),i.toggle()}function p(e,t={},{reset:i,property:a,stacked:s,forceOpen:c}={}){let l={resource:Fe(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 m(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 h={open:c,change:u,close:d,toggle:f,stack:l,edit:p,create:m};return I(Mn.Provider,{value:j(()=>({...o,...h}),[r]),children:I(Nn.Provider,{value:i,children:e.children})})}),ma=[{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`}],ha=new Qe({approximateServices:!0,verificationsRequired:8,enableFetching:!0});function ga({config:e,saveConfig:t,children:n,theme:r,previews:i,resource:a,editing:o}){let s=it(),c=j(()=>({...s,...e,previews:e?.previews||s.previews||ma}),[s,e]);return I(da,{children:I(ye.Provider,{value:ha,children:I(Ot,{resource:a,children:I(sr,{children:I(pe,{theme:r||_r,children:I(ot,{config:c,saveConfig:t,children:I(Nr,{children:I(pa,{children:I(Wr,{children:I(Bt,{previews:i||[],configs:c.previews,children:I(ge,{children:n})})})})})})})})})})})}const _a={},va=D(`global`);function ya(){return k(va)}function ba(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function xa(e){let t=ya(),[,n]=M(e=>e+1,0),r=j(()=>(_a[t]||(_a[t]={}),_a[t][e]||(_a[t][e]={name:e,emitter:Je(),status:`idle`,promise:Promise.resolve(),abort:new AbortController,reject:()=>void 0,resolve:()=>void 0}),_a[t][e]),[t,e]);return $(r,`abort`,n),$(r,`error`,n),$(r,`complete`,n),$(r,`running`,n),r}function $(e,t,n){let r=O(()=>n(e),[n]);A(()=>{let n=e.emitter;return n.on(t,r),()=>n.off(t,r)},[t,r,e.emitter])}const Sa=()=>void 0;function Ca(e,t){let n=xa(e);return $(n,`complete`,t||Sa),[e=>{n.status===`running`&&(n.abort.abort(),n.emitter.emit(`abort`)),n.error&&(n.error=``);let t=ba();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 wa(e,t){let n=xa(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 Ta({children:e}){return I(va.Provider,{value:j(()=>`id-${Date.now()}`,[]),children:e})}function Ea(e){return!1}function Da({as:e,reference:t,onReference:n,onLink:r,onAnalysis:i,onDropReference:a,onDropLink:o,onDropAnalysis:s,onPasteReference:c,onPasteLink:l,onPasteAnalysis:u,...d}){let f=e||`div`,p=a||n,m=c||n,h=l||r,g=u||i,_=j(()=>t,[t?.id,t?.type]),v=O(function(e){e.defaultPrevented||(e.preventDefault(),e.clipboardData&&_&&_.id&&_.type&&e.clipboardData.setData(`application/json+vault`,JSON.stringify({id:_.id,type:_.type})))},[_]),y=O(async function(e){if(!e.defaultPrevented&&(e.preventDefault(),e.clipboardData)){if(d.onLoading&&d.onLoading(),m){let t=e.clipboardData.getData(`application/json+vault`);if(t)try{let e=JSON.parse(t);e&&e.id&&e.type&&m(e)}catch{}}if(h||g){let t=e.clipboardData.getData(`text`);if(t.startsWith(`http`)){let e=t.split(`
988
+ `);for(let t of e){if(g)try{let e=await Ea(t);if(e){g(e);continue}}catch{}h&&h(t)}}}d.onComplete&&d.onComplete()}},[]),b=O(function(e){e.defaultPrevented||(e.preventDefault(),e.dataTransfer&&d.draggable&&(e.dataTransfer.effectAllowed=`all`,_&&_.id&&_.type&&e.dataTransfer.setData(`application/json+vault`,JSON.stringify({id:_.id,type:_.type}))))},[]);return I(f,{onCopy:v,onPaste:y,onDrop:O(async function(e){if(e.preventDefault(),e.dataTransfer){if(p){let t=e.dataTransfer.getData(`application/json+vault`);if(t)try{let n=JSON.parse(t);n&&n.id&&n.type&&p(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:O(e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},[]),onDragStart:b,tabIndex:-1,...d})}export{nn as AppHeader,sn as AppMenuProvider,pt as AppProvider,ct as AppReactContext,Dt as AppResourceInstanceProvider,Ot as AppResourceProvider,lt as AppStateReactContext,he as AtlasStoreProvider,_e as AtlasStoreReactContext,vr as BaseAnnotationCreator,Rr as BaseEditor,Fr as BaseEditorBackButton,Ir as BaseEditorCloseButton,Vr as ConfigEditor,ot as ConfigProvider,nt as ConfigReactContext,Wr as ContextMenuProvider,Ur as ContextMenuReactContext,pr as CreatorInitialData,Nr as EditingStack,J as EditingStackContext,vi as EventEmitterProvider,hi as ExportPanel,ar as HOMEPAGE_COLLECTION,wi as HandleContainer,ki as HandleControls,Pr as InlineEditingStack,ta as Layout,Mn as LayoutActionsReactContext,Nn as LayoutStateReactContext,er as ModularPanel,Xn as ModularPanelHeader,q as ModulePanelButton,_t as MultiAppProvider,Rn as PanelError,tn as PreviewButton,Bt as PreviewProvider,cr as PreviewVaultBoundary,sr as PreviewVaultContext,st as PrimeAppReactContext,_i as ReactEmitterContext,ua as ResourceEditingProvider,oa as ResourceEditingReactContext,rt as SaveConfigReactContext,ga as ShellProvider,Ta as TaskBridge,Da as UniversalCopyTarget,pn as analyse,hn as analyseJson,gr as baseCreator,zr as baseEditor,Cn as copyToClipboard,xn as createActionIdentity,Sn as createDownload,tr as createPreviewVault,fn as detectMedia,Lr as editBasedOnResource,En as extendApp,aa as getDefaultLayoutState,Q as getDefaultPanelState,vn as getFormat,yn as getImageDimensions,bn as getManifestNomalized,zn as isPinnableState,ia as layoutReducer,Tn as mapApp,Bn as panelSizing,ln as polygonToBoundingBox,wn as randomId,Vn as renderHelper,gi as useAnnotationCreatorState,Ar as useAnnotationPageEditor,W as useApp,ut as useAppInstance,an as useAppMenu,on as useAppMenuItem,Et as useAppResource,Tt as useAppResourceInstance,dt as useAppState,ht as useApps,cn as useAtlasStore,In as useAvailableLayouts,Or as useCollectionEditor,it as useConfig,Er as useCreatingResource,lr as useCreator,Jr as useCustomContextMenu,Br as useDecayState,sa as useEditingContext,wr as useEditingResource,Tr as useEditingResourceStack,Cr as useEditingStack,jr as useEditor,yi as useEmitter,bi as useEvent,kr as useGenericEditor,Dn as useHighlightedImageResource,kn as useHoverHighlightImageResource,fr as useInitialData,ur as useInlineCreator,Fn as useLayoutActions,Ln as useLayoutProvider,Pn as useLayoutState,E as useLocalStorage,Dr as useManifestEditor,xi as useMatchMedia,ne as useOptionalLocalStorage,la as useOptionalResource,Z as usePanelActions,Ht as usePreviewContext,or as usePreviewHistory,nr as usePreviewVault,Vt as usePreviews,ca as useResource,Kr as useResourceContextMenuItems,at as useSaveConfig,Si as useSaveVault,Jn as useSetCustomTitle,Ci as useSvgTools,xa as useTask,Ca as useTaskDispatch,$ as useTaskEvent,wa as useTaskRunner,On as useTemporaryHighlight};
989
989
  //# sourceMappingURL=index.js.map