@manifest-editor/shell 2.0.3-next.0.da9a339 → 2.0.3-next.0.f58cbd8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadButton as r,EmptyState as i,ErrorMessage as a,Form as o,GridIcon as s,IconButton as c,IconHandle as l,ManifestEditorLogo as u,Modal as d,ModalBackSlot as f,PaddedSidebarContainer as p,PanelSideMenu as m,ResetIcon as h,ResizeHandle as g,Sidebar as _,SidebarContent as v,SidebarHeader as y,SidebarTabs as b,Spinner as ee,Tab as x,TabList as te,TabPanel as S,Tabs as C,Tooltip as w,TooltipTrigger as T,useLocalStorage as E,useOptionalLocalStorage as ne,useOptionalLocalStorage as re}from"@manifest-editor/components";import{Component as ie,Fragment as ae,Suspense as oe,createContext as D,createElement as se,createRef as ce,forwardRef as le,memo as ue,useCallback as O,useContext as k,useEffect as A,useImperativeHandle as de,useLayoutEffect as fe,useMemo as j,useReducer as M,useRef as N,useState as P}from"react";import{Fragment as F,jsx as I,jsxs as L}from"react/jsx-runtime";import R,{ThemeProvider as pe,css as z}from"styled-components";import me from"react-accessible-dropdown-menu-hook";import{AtlasStoreProvider as he,AtlasStoreProvider as ge,AtlasStoreReactContext as _e,CollectionContext as ve,ImageServiceLoaderContext as ye,ManifestContext as be,ReactVaultContext as xe,ResourceReactContext as Se,VaultProvider as Ce,useAtlasStore as we,useCurrentAnnotationMetadata as Te,useExistingVault as Ee,useManifest as De,useResourceContext as Oe,useVault as B,useVaultSelector as ke}from"react-iiif-vault";import{original as Ae,produce as je}from"immer";import{getValue as Me}from"@iiif/helpers";import*as Ne from"@iiif/helpers/vault";import{Vault as Pe}from"@iiif/helpers/vault";import{isSpecificResource as Fe,toRef as V}from"@iiif/parser";import{Creator as Ie,matchBasedOnResource as Le}from"@manifest-editor/creator-api";import{create as Re,createStore as ze,useStore as H}from"zustand";import{ErrorBoundary as Be}from"react-error-boundary";import{addReference as Ve,batchActions as He,modifyEntityField as Ue,reorderEntityField as We,requestResource as Ge}from"@iiif/helpers/vault/actions";import{actionListFromResource as Ke}from"@iiif/helpers/vault/utility";import{EditorInstance as qe}from"@manifest-editor/editor-api";import Je from"mitt";import{useDebounce as Ye}from"tiny-use-debounce";import{Transition as Xe}from"react-transition-group";import Ze from"shallowequal";import{ImageServiceLoader as Qe}from"@atlas-viewer/iiif-image-api";var $e=!0,et=`Invariant failed`;function U(e,t){if(!e){if($e)throw Error(et);var n=typeof t==`function`?t():t,r=n?`${et}: ${n}`:et;throw Error(r)}}const tt={previews:[],behaviorPresets:[`auto-advance`,`no-auto-advance`,`repeat`,`no-repeat`,`unordered`,`individuals`,`continuous`,`paged`,`non-paged`,`facing-pages`,`multi-part`,`together`,`sequence`,`thumbnail-nav`,`no-nav`,`hidden`],defaultPreview:null,editorConfig:{},newTemplates:null,i18n:{advancedLanguageMode:!1,availableLanguages:[`en`,`cy`,`nl`,`fr`],defaultLanguage:`en`},editorFeatureFlags:{enableMultiImageCanvases:!0,enableMultiMediaCanvases:!0,annotationPopups:!1,rememberCanvasId:!0,manifestGridOptions:!1,rememberLeftPanelId:!1},uploadBackends:[],export:{baseIdentifier:null,version:3}},nt=D(tt),rt=D(()=>{});function it(){return k(nt)}function at(){return k(rt)}function ot({children:e,config:t,saveConfig:n}){let[r,i]=P(null),a=j(()=>({...tt,...t||{},...r||{},editorFeatureFlags:{...tt.editorFeatureFlags,...t?.editorFeatureFlags||{},...r?.editorFeatureFlags}}),[t,r]),o=O(e=>{i(e),n&&n(e)},[t]);return I(rt.Provider,{value:o,children:I(nt.Provider,{value:a,children:e})})}const st=D(null),ct=D(null),lt=D({state:null,setState:()=>{}});function ut(){let e=k(ct);return U(e,`Hook useAppInstance must be used inside <AppProvider />`),e}function W(){let e=k(st);return U(e,`Hook useApp must be used inside <AppProvider />`),e}function dt(){return k(lt)}function ft(e){let[t,n,r]=E(`app-state/${e.appId}/${e.instanceId}`,e.initialState||{}),i=O(e=>{let t=r.current?JSON.parse(r.current||`{}`):{},i=(typeof e==`function`?e(t):e)||{};n({...t,...i})},[]);A(()=>{e.args&&i(e.args)},[e.appId]);let a=j(()=>({state:t||{},setState:i}),[i,t]);return I(lt.Provider,{value:a,children:e.children})}function pt({instanceId:e,appId:t,args:n,definition:r,children:i,initialState:a}){let o=j(()=>({instanceId:e,appId:t,args:n}),[e,t,n]),s=j(()=>a||{},[e]);return I(ot,{config:r.config||{},children:I(st.Provider,{value:r,children:I(ct.Provider,{value:o,children:I(ft,{instanceId:o.instanceId,appId:o.appId,args:o.args,initialState:s,children:i})})})})}const mt=D(null);function ht(){let e=k(mt);return U(e,`Hook useApps must be used inside <MultiAppProvider />`),e}function gt(e,t=!1){let[n,r]=re(`SelectedApplication`,e||{id:`splash`},!t);return[n,r]}function _t({apps:e,initialApp:t,saveCurrentApp:n=!0,instanceId:r,children:i,config:a={}}){let{defaultApp:o=`splash`,collectionApp:s=`collection-editor`,manifestApp:c=`manifest-editor`}=a,[l,u]=gt(t,n),d=e=>{e===`Manifest`&&u({id:c}),e===`Collection`&&u({id:s})},f=j(()=>({currentApp:l||{id:o},initialApp:t||{id:o},apps:e,changeApp:u,changeProjectType:d}),[t,e,l]),p=e[f.currentApp.id];return!l||!p?null:I(pt,{appId:l.id,definition:p,instanceId:l.id+r,args:l.args,children:I(mt.Provider,{value:f,children:i})})}const vt=R.div`
1
+ import{ActionButton as e,ArrowRightIcon as t,BackIcon as n,BackgroundActionMenuButton as r,BackgroundActionMenuDivider as i,BackgroundActionMenuInfoButton as a,BackgroundActionMenuInlineAction as o,BackgroundActionMenuItem as s,BackgroundActionMenuLabel as c,BackgroundActionMenuMeta as l,BackgroundActionMenuPanel as u,BackgroundActionMenuProgressBar as d,BackgroundActionMenuRoot as f,BackgroundActionMenuSection as p,BackgroundActionMenuText as m,BackgroundActionMenuTrigger as h,CheckIcon as g,CreatorGrid as _,DefaultTooltipContent as v,DownloadButton as y,EmptyState as b,ErrorMessage as x,Form as S,GridIcon as C,IconButton as w,IconHandle as T,ManifestEditorLogo as E,Modal as ee,ModalBackSlot as te,PaddedSidebarContainer as ne,PanelSideMenu as re,ResetIcon as ie,ResizeHandle as ae,Sidebar as oe,SidebarContent as D,SidebarHeader as se,SidebarTabs as ce,Spinner as le,Tab as ue,TabList as de,TabPanel as fe,Tabs as pe,ToastRegion as me,Tooltip as he,TooltipTrigger as ge,useLocalStorage as _e,useOptionalLocalStorage as ve,useOptionalLocalStorage as ye}from"@manifest-editor/components";import{Component as be,Fragment as xe,Suspense as Se,createContext as O,createElement as Ce,createRef as we,forwardRef as Te,memo as Ee,useCallback as k,useContext as A,useEffect as j,useImperativeHandle as De,useLayoutEffect as M,useMemo as N,useReducer as Oe,useRef as P,useState as F}from"react";import{Fragment as I,jsx as L,jsxs as R}from"react/jsx-runtime";import{create as ke,createStore as Ae,useStore as je}from"zustand";import Me from"localforage";import{AtlasStoreProvider as Ne,AtlasStoreProvider as Pe,AtlasStoreReactContext as Fe,CollectionContext as Ie,ImageServiceLoaderContext as Le,ManifestContext as Re,ReactVaultContext as ze,ResourceReactContext as Be,VaultProvider as Ve,useAtlasStore as He,useCurrentAnnotationMetadata as Ue,useExistingVault as We,useManifest as Ge,useResourceContext as Ke,useVault as z,useVaultSelector as qe}from"react-iiif-vault";import{isSpecificResource as Je,toRef as B}from"@iiif/parser";import V,{ThemeProvider as Ye,css as H}from"styled-components";import Xe from"react-accessible-dropdown-menu-hook";import{original as Ze,produce as Qe}from"immer";import{EditorInstance as $e}from"@manifest-editor/editor-api";import{useToastState as et}from"@react-stately/toast";import{getValue as tt}from"@iiif/helpers";import*as nt from"@iiif/helpers/vault";import{Vault as rt}from"@iiif/helpers/vault";import{Creator as it,matchBasedOnResource as at}from"@manifest-editor/creator-api";import{ErrorBoundary as ot}from"react-error-boundary";import{addReference as st,batchActions as ct,modifyEntityField as lt,reorderEntityField as ut,requestResource as dt}from"@iiif/helpers/vault/actions";import{actionListFromResource as ft}from"@iiif/helpers/vault/utility";import pt from"mitt";import{useDebounce as mt}from"tiny-use-debounce";import{Transition as ht}from"react-transition-group";import gt from"shallowequal";import{ImageServiceLoader as _t}from"@atlas-viewer/iiif-image-api";import{MessagePortClientVault as vt}from"@manifest-editor/client-vault";var yt=!0,bt=`Invariant failed`;function U(e,t){if(!e){if(yt)throw Error(bt);var n=typeof t==`function`?t():t,r=n?`${bt}: ${n}`:bt;throw Error(r)}}const xt={previews:[],behaviorPresets:[`auto-advance`,`no-auto-advance`,`repeat`,`no-repeat`,`unordered`,`individuals`,`continuous`,`paged`,`non-paged`,`facing-pages`,`multi-part`,`together`,`sequence`,`thumbnail-nav`,`no-nav`,`hidden`],defaultPreview:null,editorConfig:{},newTemplates:null,i18n:{advancedLanguageMode:!1,availableLanguages:[`en`,`cy`,`nl`,`fr`],defaultLanguage:`en`},editorFeatureFlags:{enableMultiImageCanvases:!0,enableMultiMediaCanvases:!0,annotationPopups:!1,rememberCanvasId:!0,manifestGridOptions:!1,rememberLeftPanelId:!1},uploadBackends:[],plugins:{apps:{}},export:{baseIdentifier:null,version:3}};function St(e,t){if(!e&&!t)return;let n={...e||{}};for(let[e,r]of Object.entries(t||{}))n[e]={...n[e]||{},...r||{}};return n}function Ct(e,t){if(!e&&!t)return;let n={...e?.apps||{}};for(let[e,r]of Object.entries(t?.apps||{})){let t=n[e]||{};n[e]={...t,...r,settings:{...t.settings||{},...r.settings||{}}}}return{apps:n}}function wt(...e){let t={};for(let n of e)n&&(t={...t,...n,editorConfig:St(t.editorConfig,n.editorConfig),editorFeatureFlags:t.editorFeatureFlags||n.editorFeatureFlags?{...t.editorFeatureFlags||{},...n.editorFeatureFlags||{}}:void 0,i18n:t.i18n||n.i18n?{...t.i18n||{},...n.i18n||{}}:void 0,export:t.export||n.export?{...t.export||{},...n.export||{}}:void 0,plugins:Ct(t.plugins,n.plugins)});return t}function Tt(...e){return wt(xt,...e)}const Et=O(xt),Dt=O(()=>{});function Ot(){return A(Et)}function kt(){return A(Dt)}function At({children:e,config:t,saveConfig:n}){let[r,i]=F(null),a=N(()=>Tt(t,r),[t,r]),o=k(e=>{i(t=>wt(t,e)),n&&n(e)},[n]);return L(Dt.Provider,{value:o,children:L(Et.Provider,{value:a,children:e})})}const jt=`@manifest-editor/canvas-progress`,Mt=`status`,Nt=new Set([`queued`,`pending`,`done`]);function Pt(e){return typeof e==`string`?e:e?.id||null}function Ft(e){return typeof e==`string`&&Nt.has(e)?e:`none`}function It(e){return typeof e==`string`&&Nt.has(e)}function Lt(e,t){let n=Pt(t);return n?Ft(e.getResourceMeta(n,jt)?.[Mt]):`none`}function Rt(e,t){let n=Pt(t);return n?Ft(e?.iiif?.meta?.[n]?.[jt]?.[Mt]):`none`}function zt(e,t,n){let r=Pt(t);if(!r)return`none`;let i=It(n)?n:void 0;return e.setMetaValue([r,jt,Mt],i),i||`none`}function Bt(e,t){return zt(e,t,`none`)}function Vt(e,t,n){let r={};for(let i of t){let t=Pt(i);t&&(r[t]=zt(e,i,n))}return r}function Ht(e,t){return Vt(e,t,`none`)}function Ut(e){return{getStatus(t){return Lt(e,t)},setStatus(t,n){return zt(e,t,n)},clearStatus(t){return Bt(e,t)},setStatuses(t,n){return Vt(e,t,n)},clearStatuses(t){return Ht(e,t)}}}function Wt(e,t=new Set){function n(e){let n=Pt(e);n&&t.add(n)}function r(e){for(let t of e)n(t)}return{trackedResourceIds:t,getStatus(t){return e.getStatus(t)},setStatus(t,r){return n(t),e.setStatus(t,r)},clearStatus(t){return n(t),e.clearStatus(t)},setStatuses(t,n){return r(t),e.setStatuses(t,n)},clearStatuses(t){return r(t),e.clearStatuses(t)},clearTrackedStatuses(){e.clearStatuses(Array.from(t).map(e=>({id:e,type:`Canvas`}))),t.clear()}}}function Gt(e){let t=Pt(e);return qe(e=>t?Rt(e,t):`none`,[t])}function Kt(e){let t=z(),n=Pt(e),r=N(()=>Ut(t),[t]);return N(()=>({setStatus(e){return r.setStatus(n,e)},clearStatus(){return r.clearStatus(n)},getStatus(){return r.getStatus(n)}}),[r,n])}const qt={queued:{label:`Queued`,stripClass:`bg-zinc-400/80`,badgeClass:`bg-zinc-500`,dimOverlay:!0},pending:{label:`In progress`,stripClass:`bg-amber-400/90 animate-pulse`,badgeClass:`bg-amber-500`},done:{label:`Done`,stripClass:`bg-me-primary-500`,badgeClass:`bg-me-primary-500`}};function Jt({className:e}){return R(`svg`,{className:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[L(`circle`,{cx:`12`,cy:`12`,r:`9`}),L(`path`,{d:`M12 7v5l2.5 2.5`})]})}function Yt({className:e}){return R(`svg`,{className:e,viewBox:`0 0 24 24`,fill:`none`,children:[L(`circle`,{cx:`12`,cy:`12`,r:`9`,stroke:`currentColor`,strokeWidth:`2.5`,strokeOpacity:`0.3`}),L(`path`,{d:`M12 3a9 9 0 0 1 9 9`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`})]})}function Xt({className:e}){return L(`svg`,{className:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:L(`path`,{d:`M5 12l4 4 8-8`})})}function Zt({resource:e,status:t,className:n}){return t?L($t,{status:t,className:n}):L(Qt,{resource:e,className:n})}function Qt({resource:e,className:t}){return L($t,{status:Gt(e),className:t})}function $t({status:e,className:t}){if(e===`none`)return null;let n=qt[e];return R(I,{children:[n.dimOverlay&&L(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-10 bg-white/40`}),L(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-x-0 top-0 z-10 h-[3px] rounded-t-sm ${n.stripClass} ${t||``}`}),R(`div`,{className:`pointer-events-none absolute right-1.5 top-1.5 z-10 flex h-[18px] w-[18px] items-center justify-center rounded-full ${n.badgeClass} shadow-md ring-2 ring-white/70`,title:n.label,children:[L(`span`,{className:`sr-only`,children:n.label}),e===`queued`&&L(Jt,{className:`h-2.5 w-2.5 text-white`}),e===`pending`&&L(Yt,{className:`h-2.5 w-2.5 animate-spin text-white`}),e===`done`&&L(Xt,{className:`h-2.5 w-2.5 text-white`})]})]})}function en(e,t){return`${e}::${t.type}::${t.id}`}function tn(e=[],t=[]){let n=[],r=new Set;for(let e=t.length-1;e>=0;--e){let i=t[e];i&&!r.has(i.id)&&(r.add(i.id),n.unshift(i))}return[...e.filter(e=>!r.has(e.id)),...n]}function nn(e){return[...e].sort((e,t)=>{let n=(e.section||``).localeCompare(t.section||``);if(n!==0)return n;let r=(e.order||0)-(t.order||0);if(r!==0)return r;let i=e.label.localeCompare(t.label);return i===0?e.id.localeCompare(t.id):i})}function rn(e){return e instanceof Error?{message:e.message,stack:e.stack,detail:e}:{message:typeof e==`string`?e:`Background action failed`,detail:e}}function an(e){return e&&typeof e==`object`&&typeof e.message==`string`?{message:e.message,stack:typeof e.stack==`string`?e.stack:void 0,detail:e.detail}:rn(e)}function on(e,t){return e.resourceTypes?.length?e.resourceTypes.includes(t.type):!0}function sn({definitions:e,instances:t,systemContext:n,targets:r,onSupportsError:i}){let a=nn(e),o=[];for(let e of r){let r=[];for(let o of a){if(!on(o,e))continue;let a=en(o.id,e),s={...n,definition:o,target:e,instanceKey:a,instance:t[a]};try{if(o.supports&&!o.supports(s))continue}catch(e){i?.(o,e);continue}r.push({definition:o,target:e,instanceKey:a,instance:t[a],context:s})}r.length&&o.push({id:`${e.scope}:${e.type}:${e.id}`,label:e.label,target:e,actions:r})}return o}let cn=0;function ln(e){return cn+=1,`${e}-${Date.now()}-${cn}`}function un(e,t,n,r=Date.now()){return{id:ln(`event`),createdAt:r,type:e,message:t,data:n}}function W(e,t,n,r,i=Date.now()){return{...e,events:[...e.events,un(t,n,r,i)]}}function dn(e){return e.filter(e=>String(e.type)!==`progress`)}function fn(e){return{...e,logs:[...e.logs],events:dn(e.events),progress:e.progress?{...e.progress}:void 0}}function pn(e,t,n){if(!_n(n.status))return e;let r=e[t]||[],i=fn(n),a=r.findIndex(e=>e.runId===n.runId),o=a>=0?r.map((e,t)=>t===a?i:e):[...r,i];return{...e,[t]:o}}function G(e,t,n){let r=e.instances[t];if(!r)return{instances:e.instances,histories:e.histories};let i=n(r);return{instances:{...e.instances,[t]:i},histories:pn(e.histories,t,i)}}function mn(e){return Number.isFinite(e)?Math.min(100,Math.max(0,e)):0}function hn(e){let t=e,n=typeof t.current==`number`&&Number.isFinite(t.current)?t.current:void 0,r=typeof t.total==`number`&&Number.isFinite(t.total)?t.total:void 0;return{percent:mn(typeof t.percent==`number`&&Number.isFinite(t.percent)?t.percent:typeof n==`number`&&typeof r==`number`&&r>0?n/r*100:0),current:n,total:r,label:t.label}}function gn(e){return e===`preparing`||e===`running`}function _n(e){return e===`complete`||e===`error`||e===`cancelled`}function vn(e){return e===`queued`||e===`running`||e===`complete`||e===`skipped`||e===`error`||e===`cancelled`}function yn(e){return!e||e===`queued`||e===`running`}function bn(e){return e===`complete`||e===`skipped`||e===`error`||e===`cancelled`}function xn(e){if(e!==void 0)try{return JSON.parse(JSON.stringify(e))}catch{return}}function Sn(e){return e&&{message:e.message,stack:e.stack,detail:xn(e.detail)}}function Cn(e){return{...e,error:Sn(e.error)||null,result:xn(e.result),logs:e.logs.map(e=>({...e,data:xn(e.data)})),events:dn(e.events).map(e=>({...e,data:xn(e.data)})),progress:e.progress?{...e.progress}:void 0}}function wn(e){return{...e,status:On(e.status),input:xn(e.input),result:xn(e.result),error:Sn(e.error)||null}}function Tn(e){return{version:1,data:xn(e.data),tasks:e.tasks.map(wn)}}function En(e){return{version:1,savedAt:Date.now(),instances:Object.fromEntries(Object.entries(e.instances).map(([e,t])=>[e,Cn(t)])),histories:Object.fromEntries(Object.entries(e.histories).map(([e,t])=>[e,t.map(Cn)])),plans:Object.fromEntries(Object.entries(e.plans).map(([e,t])=>[e,Tn(t)]))}}function Dn(e){return!Object.keys(e.instances).length&&!Object.keys(e.histories).length&&!Object.keys(e.plans).length}function On(e){return vn(e)?e:`queued`}function kn(e,t){let n=Date.now(),r=typeof e.id==`string`&&e.id?e.id:`task-${t+1}`;return{...e,id:r,label:typeof e.label==`string`&&e.label?e.label:r,status:On(e.status),error:e.error?an(e.error):null,createdAt:typeof e.createdAt==`number`?e.createdAt:n}}function An(e){return!e||e.version!==1||!Array.isArray(e.tasks)?null:{version:1,data:e.data,tasks:e.tasks.map(kn)}}function jn(e){return{...e,tasks:e.tasks.map(e=>e.status===`running`?{...e,status:`queued`,statusText:`Queued after reload`,startedAt:void 0}:e)}}function Mn(e,t=Date.now()){return{...e,tasks:e.tasks.map(e=>yn(e.status)?{...e,status:`cancelled`,statusText:`Cancelled`,error:null,completedAt:t}:e)}}function Nn(e){return{...e,error:e.error?an(e.error):null,logs:Array.isArray(e.logs)?e.logs:[],events:dn(Array.isArray(e.events)?e.events:[]),resultsAvailable:e.resultsAvailable===!0}}function Pn(e){return!e||e.version!==1?{version:1,savedAt:Date.now(),instances:{},histories:{},plans:{}}:{version:1,savedAt:typeof e.savedAt==`number`?e.savedAt:Date.now(),instances:e.instances||{},histories:e.histories||{},plans:e.plans||{}}}function Fn(e,t){let n=e.tasks.length;if(!n)return;let r=e.tasks.filter(e=>bn(e.status)).length;return hn({current:r,total:n,label:t})}function In(e){return e&&typeof e==`object`&&`taskStatus`in e&&(e.taskStatus===`complete`||e.taskStatus===`skipped`)?{taskStatus:e.taskStatus,result:e.result,statusText:e.statusText}:{taskStatus:`complete`,result:e}}function Ln(e,t){for(let n of t.tasks)!n.target||n.target.type!==`Canvas`||(n.status===`running`?e.setStatus(n.target,`pending`):n.status===`queued`&&e.setStatus(n.target,`queued`))}function Rn(e,t,n){let{store:r,context:i}=e,{instanceKey:a}=i;function o(){return r.getState().plans[a]}function s(){return o()?.tasks||[]}function c(e=[`queued`,`running`]){let t=new Set(e);return s().filter(e=>t.has(On(e.status)))}function l(e,t,n=!1){r.getState().updateActionTask(a,e,t,n)}async function u(e,i={}){let u=c(i.statuses||[`queued`,`running`]),d=s().length,f=u.length,p=i.yieldEveryMs===!1?!1:i.yieldEveryMs??16,m=0;for(let[c,h]of u.entries()){if(t.aborted||zn(m,p)&&(await Bn(),m=Date.now(),t.aborted))throw Error(`Background action cancelled.`);let u=s().find(e=>e.id===h.id)||h,g=s().findIndex(e=>e.id===u.id),_=i.progressLabel?.(u,g,d)||u.label||`Task ${g+1}/${d}`;u.target?.type===`Canvas`&&n.setStatus(u.target,`pending`),l(u.id,{status:`running`,statusText:_,error:null,startedAt:Date.now(),completedAt:void 0},!0),r.getState().setActionStatus(a,`running`,_),r.getState().setActionProgress(a,{current:s().filter(e=>bn(e.status)).length,total:d,label:_});try{let r=await e(u,{index:g,total:d,pendingIndex:c,pendingTotal:f});if(t.aborted)throw Error(`Background action cancelled.`);let i=In(r);l(u.id,{status:i.taskStatus,statusText:i.statusText||(i.taskStatus===`skipped`?`Skipped`:`Complete`),result:i.result,error:null,completedAt:Date.now()},!0),u.target?.type===`Canvas`&&n.setStatus(u.target,`done`)}catch(e){if(t.aborted||Gn(e))throw l(u.id,{status:`cancelled`,statusText:`Cancelled`,error:null,completedAt:Date.now()},!0),e;let n=rn(e);l(u.id,{status:`error`,statusText:n.message,error:n,completedAt:Date.now()},!0),r.getState().appendActionLog(a,`Task failed: ${u.label}`,`warn`,{taskId:u.id,error:n.message})}finally{let e=o();e&&r.getState().setActionProgress(a,{current:e.tasks.filter(e=>bn(e.status)).length,total:d,label:_})}}return s()}return{getAll:s,getPending:()=>c(),update:l,runEach:u}}function zn(e,t){return t!==!1&&(!e||Date.now()-e>=t)}function Bn(){return new Promise(e=>{setTimeout(e,0)})}function Vn(e=[]){let t=null,n=null,r=null;return Ae((i,a)=>{async function o(){if(r&&(clearTimeout(r),r=null),!t||!n||!a().hasHydrated)return;let e=En(a());if(Dn(e)){await t.clear(n);return}await t.save(n,e)}function s(e=!1){if(!(!t||!n||!a().hasHydrated)){if(e){o();return}r&&clearTimeout(r),r=setTimeout(()=>{o()},300)}}return{definitions:tn([],e),instances:{},histories:{},plans:{},controllers:{},hasHydrated:!0,setDefinitions(e){i(t=>{let n=tn([],e),r=new Set(n.map(e=>e.id)),i={},a={},o={};for(let[e,n]of Object.entries(t.instances))r.has(n.actionId)&&(i[e]=n);for(let[e,n]of Object.entries(t.histories)){let t=n.filter(e=>r.has(e.actionId));t.length&&(a[e]=t)}for(let[e,n]of Object.entries(t.plans))i[e]&&(o[e]=n);return{definitions:n,instances:i,histories:a,plans:o,controllers:Object.fromEntries(Object.entries(t.controllers).filter(([e])=>i[e]?.status&&gn(i[e].status)))}}),s()},setPersistence(e,r){t=e,n=e&&r?r:null,i({hasHydrated:!t})},hydrate(e){let t=Pn(e),n=new Map(a().definitions.map(e=>[e.id,e])),r={},o={},c={};for(let[e,r]of Object.entries(t.histories)){let t=(Array.isArray(r)?r:[]).map(Nn).filter(e=>n.has(e.actionId));t.length&&(o[e]=t)}for(let[e,i]of Object.entries(t.instances)){let a=Nn(i),s=n.get(a.actionId);if(!s)continue;let l=a,u=An(t.plans[e]);if(gn(a.status))if(a.cancelRequestedAt){let e=Date.now();u=u&&Mn(u,e),l=W({...a,status:`cancelled`,statusText:`Cancelled`,completedAt:e,cancelledAt:e},`status`,`Cancelled`,{status:`cancelled`},e)}else if(s.resumable&&u)u=jn(u),l=W({...a,status:`running`,statusText:`Resuming`,completedAt:void 0,cancelledAt:void 0},`status`,`Resuming`,{status:`running`});else{let e=Date.now();l=W({...a,status:`cancelled`,statusText:`Interrupted by page reload`,completedAt:e,cancelledAt:e},`status`,`Interrupted by page reload`,{status:`cancelled`},e)}r[e]=l,o=pn(o,e,l),u&&(c[e]=u)}i({instances:r,histories:o,plans:c,controllers:{},hasHydrated:!0}),s(!0)},persist(e=!1){s(e)},flushPersistence:o,registerAction(e){return i(t=>({definitions:tn(t.definitions,[e])})),s(),()=>a().unregisterAction(e.id)},unregisterAction(e){i(t=>{let n={};for(let[r,i]of Object.entries(t.instances))i.actionId!==e&&(n[r]=i);let r={};for(let[n,i]of Object.entries(t.histories)){let t=i.filter(t=>t.actionId!==e);t.length&&(r[n]=t)}let i={...t.plans},a={...t.controllers};for(let[n,r]of Object.entries(t.instances))r.actionId===e&&(a[n]?.abort(),delete a[n],delete i[n]);return{definitions:t.definitions.filter(t=>t.id!==e),instances:n,histories:r,plans:i,controllers:a}}),s(!0)},resetAction(e){i(t=>{t.controllers[e]?.abort();let n={...t.instances},r={...t.histories},i={...t.plans},a={...t.controllers};return delete n[e],delete r[e],delete i[e],delete a[e],{instances:n,histories:r,plans:i,controllers:a}}),s(!0)},startAction(e,t,n,r){let a=Date.now();i(i=>{let o={...i.plans};return delete o[e],{instances:{...i.instances,[e]:{id:e,runId:ln(`run`),actionId:t.id,target:n,label:t.label,status:`preparing`,statusText:`Preparing`,error:null,result:void 0,resultsAvailable:!1,logs:[],events:[un(`started`,`Preparing`,{status:`preparing`},a)],progress:void 0,startedAt:a,completedAt:void 0,cancelRequestedAt:void 0,cancelledAt:void 0}},plans:o,controllers:r?{...i.controllers,[e]:r}:i.controllers}}),s(!0)},resumeAction(e,t){let n=Date.now();i(r=>({...G(r,e,e=>W({...e,status:`running`,statusText:`Resuming`,completedAt:void 0,cancelledAt:void 0},`status`,`Resuming`,{status:`running`},n)),controllers:{...r.controllers,[e]:t}})),s(!0)},cancelAction(e){let t=a().controllers[e],n=a().instances[e];if(!n||!gn(n.status))return;let r=Date.now();i(t=>{let n=G(t,e,e=>W(W({...e,status:`cancelled`,statusText:`Cancelled`,completedAt:r,cancelledAt:r,cancelRequestedAt:e.cancelRequestedAt||r},`cancel-requested`,`Cancelling`,void 0,r),`status`,`Cancelled`,{status:`cancelled`},r)),i=t.plans[e];return{...n,plans:i?{...t.plans,[e]:Mn(i,r)}:t.plans,controllers:Object.fromEntries(Object.entries(t.controllers).filter(([t])=>t!==e))}}),s(!0),t?.abort()},setActionLabel(e,t){let n=Date.now();i(r=>({...G(r,e,e=>W({...e,label:t},`label`,t,{label:t},n))})),s()},setActionStatus(e,t,n){let r=Date.now(),a=_n(t)?r:void 0;i(i=>({...G(i,e,e=>W({...e,status:t,statusText:n,completedAt:a,cancelledAt:t===`cancelled`?r:void 0},`status`,n||t,{status:t},r)),controllers:gn(t)?i.controllers:Object.fromEntries(Object.entries(i.controllers).filter(([t])=>t!==e))})),s(_n(t))},setActionError(e,t,n){let r=Date.now(),a=rn(t);i(t=>({...G(t,e,e=>W({...e,status:`error`,statusText:n,error:a,completedAt:r,cancelledAt:void 0},`error`,n||a.message,a,r)),controllers:Object.fromEntries(Object.entries(t.controllers).filter(([t])=>t!==e))})),s(!0)},appendActionLog(e,t,n=`info`,r){let a=Date.now(),o={id:ln(`log`),createdAt:a,level:n,message:t,data:r};i(i=>({...G(i,e,e=>W({...e,logs:[...e.logs,o]},`log`,t,{level:n,data:r},a))})),s()},setActionProgress(e,t){let n=t?hn(t):void 0;i(t=>({...G(t,e,e=>({...e,progress:n}))}))},setResult(e,t){let n=Date.now();i(r=>({...G(r,e,e=>W({...e,result:t},`result`,`Result recorded`,void 0,n))})),s(!0)},setResultsAvailable(e,t){let n=Date.now();i(r=>({...G(r,e,e=>W({...e,resultsAvailable:t},`results-available`,t?`Results available`:`Results hidden`,{available:t},n))})),s(!0)},setActionPlan(e,t){let n=An(t);n&&(i(t=>({...G(t,e,e=>({...e,progress:Fn(n,`Queued`)})),plans:{...t.plans,[e]:n}})),s(!0))},updateActionTask(e,t,n,r=!1){i(r=>{let i=r.plans[e];if(!i)return r;let a=i.tasks.map(e=>e.id===t?kn({...e,...n,status:n.status?On(n.status):e.status,error:n.error?an(n.error):n.error===null?null:e.error},0):e),o={...i,tasks:a};return{...G(r,e,e=>({...e,progress:Fn(o,n.statusText||n.label)})),plans:{...r.plans,[e]:o}}}),s(r)}}})}function Hn(e,t,n){let{store:r,context:i}=e,{instanceKey:a}=i,o=Rn(e,t,n);return{...i,canvasProgress:n,instance:r.getState().instances[a],plan:r.getState().plans[a],tasks:o,signal:t,prepareData:e.prepareData,setActionLabel(e){r.getState().setActionLabel(a,e)},setActionStatus(e,t){r.getState().setActionStatus(a,e,t)},setActionError(e,t){r.getState().setActionError(a,e,t)},appendActionLog(e,t,n){r.getState().appendActionLog(a,e,t,n)},setActionProgress(e){r.getState().setActionProgress(a,e)},setResult(e){r.getState().setResult(a,e)},setResultsAvailable(e){r.getState().setResultsAvailable(a,e)}}}function Un(e){return!!e&&typeof e==`object`&&e.version===1&&Array.isArray(e.tasks)}async function Wn(e){let{store:t,context:n}=e,{definition:r,instanceKey:i,target:a}=n,o=t.getState().instances[i],s=t.getState().controllers[i];if((o?.status===`preparing`||o?.status===`running`)&&(!e.resume||s))return o;let c=new AbortController,l=c.signal,u=Wt(n.canvasProgress),d=()=>c.abort();e.signal&&(e.signal.aborted?c.abort():e.signal.addEventListener(`abort`,d,{once:!0})),e.resume&&o&&gn(o.status)?t.getState().resumeAction(i,c):t.getState().startAction(i,r,a,c);let f=()=>{let e=t.getState().instances[i];e&&!_n(e.status)&&t.getState().setActionStatus(i,`cancelled`,`Cancelled`)};try{if(!e.resume&&r.prepare){let n=await r.prepare(Hn(e,l,u));if(l.aborted)return f(),t.getState().instances[i];if(n===!1)return t.getState().setActionStatus(i,`idle`),t.getState().instances[i];Un(n)&&t.getState().setActionPlan(i,n)}if(l.aborted)return f(),t.getState().instances[i];let n=t.getState().plans[i];n&&Ln(u,n),t.getState().setActionStatus(i,`running`,e.resume?`Resuming`:`Running`);let a=await r.run(Hn(e,l,u));if(l.aborted)return f(),t.getState().instances[i];let o=t.getState().instances[i];a!==void 0&&o&&!_n(o.status)&&t.getState().setResult(i,a),o=t.getState().instances[i],o&&gn(o.status)&&((a!==void 0||o?.resultsAvailable)&&t.getState().setResultsAvailable(i,!0),t.getState().setActionStatus(i,`complete`,`Complete`))}catch(e){l.aborted||Gn(e)?f():t.getState().setActionError(i,e,`Error`)}finally{u.clearTrackedStatuses(),e.signal?.removeEventListener(`abort`,d),await t.getState().flushPersistence()}return t.getState().instances[i]}function Gn(e){return e instanceof Error&&(e.name===`AbortError`||e.message.toLowerCase().includes(`aborted`))}function Kn(e){return JSON.stringify([e.appId,e.instanceId,e.rootResource.type,e.rootResource.id])}let qn;function Jn(){if(typeof window>`u`)return null;let e=Me.createInstance({name:`manifest-editor-background-actions-v1`,storeName:`background-actions`});return{async load(t){return e.getItem(Kn(t))},async save(t,n){await e.setItem(Kn(t),n)},async clear(t){await e.removeItem(Kn(t))}}}function Yn(){return qn===void 0&&(qn=Jn()),qn}const Xn=O(null);function Zn({children:e,persistence:t,persistenceKey:n}){let r=q(),i=ii(),a=N(()=>Vn(),[]),o=r.layout.backgroundActions||[],s=N(()=>t===!1?null:t||Yn(),[t]),c=N(()=>n||null,[n]);return j(()=>{a.getState().setDefinitions(o)},[a,o]),j(()=>{let e=c||{appId:i.appId,instanceId:i.instanceId,rootResource:{id:`global`,type:`Manifest`}},t=!1;return a.getState().setPersistence(s,e),s?(s.load(e).then(e=>{t||a.getState().hydrate(e)}).catch(e=>{console.warn(`[manifest-editor/background-actions] Failed to load persisted actions`,e),t||a.getState().hydrate(null)}),()=>{t=!0,a.getState().flushPersistence()}):(a.getState().hydrate(null),()=>void 0)},[i.appId,i.instanceId,s,c?.appId,c?.instanceId,c?.rootResource.id,c?.rootResource.type,a]),j(()=>{let e=()=>{a.getState().flushPersistence()};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[a]),Ce(Xn.Provider,{value:a},e)}function Qn(){let e=A(Xn);if(!e)throw Error(`useBackgroundActionsStore must be used within a BackgroundActionsProvider`);return e}function K(e=e=>e){return je(Qn(),e)}function $n(e){return K(t=>t.instances[e])}function er(e){return K(t=>t.histories[e]||[])}async function tr(e){let t;try{await fetch(e).then(e=>e.json().catch(e=>{console.error(`'${e}' happened!`)})).then(e=>{t={...e}})}catch(e){console.log(e)}return t}function nr(e,t,n){return`create_${e}_${t}_${B(n)?.type||`unknown`}`}function rr(e,t,n=`text/json`){let r=e instanceof Blob?e:new Blob([e],{type:n}),i=document.createElement(`a`);i.download=t,i.href=window.URL.createObjectURL(r);let a=new MouseEvent(`click`,{view:window,bubbles:!0,cancelable:!0});i.dispatchEvent(a),i.remove()}async function ir(e){return navigator.clipboard.writeText(typeof e==`string`?e:JSON.stringify(e,null,2))}function ar(){return`${Math.random().toString(36).substr(2)}-${Date.now().toString(36)}`}function or(e,t){let{default:n,config:r,...i}=e,a={metadata:n,layout:{leftPanels:[],rightPanels:[],centerPanels:[],...i},config:r};return t?t(a):a}function sr(e,t,n){return{...e,metadata:t,config:wt(e.config||{},n.config||{}),layout:{...e.layout,leftPanels:[...(e.layout.leftPanels||[]).filter(e=>n?.leftPanelIds?n.leftPanelIds.includes(e.id):!0),...n?.leftPanels||[]],annotations:[...n?.annotations||[],...e.layout.annotations||[]],canvasEditors:[...n?.canvasEditors||[],...e.layout.canvasEditors||[]],creators:[...n?.creators||[],...e.layout.creators||[]],background:[...e.layout?.background||[],...n?.background||[]],backgroundActions:tn(e.layout?.backgroundActions||[],n?.backgroundActions||[]),editors:[...n?.editors||[],...e.layout.editors||[]],rightPanels:[...e.layout.rightPanels||[],...n?.rightPanels||[]],centerPanels:[...e.layout.centerPanels||[],...n?.centerPanels||[]],modals:[...e.layout.modals||[],...n?.modalPanels||[]]}}}const cr=[`leftPanels`,`centerPanels`,`rightPanels`,`modalPanels`,`annotations`,`canvasEditors`,`editors`,`creators`,`background`,`backgroundActions`],lr={plugins:[],enabled:[],disabled:[],globalApps:{},apps:{}};function ur(){return lr}function dr(e=[]){return Array.from(new Set(e.filter(Boolean)))}function fr(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function pr(e={}){return{...e,enabled:dr(e.enabled||[]),disabled:dr(e.disabled||[]),settings:e.settings?{...e.settings}:void 0}}function mr(e){let t={};for(let[n,r]of Object.entries(e?.apps||{}))t[n]=pr(r);return t}function hr(e={},t){return{...e,enabled:dr([...(e.enabled||[]).filter(e=>e!==t),t]),disabled:(e.disabled||[]).filter(e=>e!==t)}}function gr(e={},t){return{...e,enabled:(e.enabled||[]).filter(e=>e!==t),disabled:dr([...(e.disabled||[]).filter(e=>e!==t),t])}}function _r(e={},t){return{...e,enabled:(e.enabled||[]).filter(e=>e!==t),disabled:(e.disabled||[]).filter(e=>e!==t)}}function vr(e={},t={}){let n=e.enabled||[],r=t.enabled||[],i=e.disabled||[],a=t.disabled||[];return n.length===r.length&&n.every((e,t)=>e===r[t])&&i.length===a.length&&i.every((e,t)=>e===a[t])&&JSON.stringify(e.settings||{})===JSON.stringify(t.settings||{})}function yr(e,t){let{default:n,config:r,settings:i,...a}=e,o={metadata:n,extension:{...a,config:r},settings:i};return t?t(o):o}function br(e){return!!e&&`metadata`in e&&`extension`in e}function xr(e){return br(e)?e:yr(e)}function Sr(e=[]){return e.map(xr)}function Cr(e,t,n){let r=e.metadata.supports;if(!r)return!0;if(r.apps?.length){let e=new Set([n,t?.metadata.id].filter(Boolean));if(!r.apps.some(t=>e.has(t)))return!1}if(r.projectTypes?.length){let e=t?.metadata.projectType;if(!e||!r.projectTypes.includes(e))return!1}return!0}function wr(e,t,n){let r=e.metadata.supports;if(!r)return null;if(r.apps?.length){let e=new Set([n,t?.metadata.id].filter(Boolean));if(!r.apps.some(t=>e.has(t)))return`This plugin does not support the current app.`}if(r.projectTypes?.length){let e=t?.metadata.projectType;if(!e||!r.projectTypes.includes(e))return`This plugin does not support the current project type.`}return null}function Tr(e,t,n){let r=n?t.apps[n]:void 0,i=n?t.globalApps[n]:void 0,a=e.metadata.id;return r?.disabled?.includes(a)?!1:r?.enabled?.includes(a)?!0:i?.disabled?.includes(a)?!1:i?.enabled?.includes(a)?!0:t.disabled.includes(a)?!1:t.enabled.includes(a)?!0:e.metadata.defaultEnabled===!0}function Er(e,t,n){let r=n?t.apps[n]:void 0,i=n?t.globalApps[n]:void 0,a=e.metadata.id;return r?.disabled?.includes(a)||r?.enabled?.includes(a)?`workspace`:i?.disabled?.includes(a)||i?.enabled?.includes(a)?`global`:t.disabled.includes(a)||t.enabled.includes(a)?`provider`:`default`}function Dr(e,t,n){let r=[],i=new Set,a=new Set,o=new Set(e.plugins.filter(r=>Cr(r,t,n)&&Tr(r,e,n)).map(e=>e.metadata.id)),s=new Map(e.plugins.map(e=>[e.metadata.id,e])),c=new Set;function l(e){let u=e.metadata.id;if(i.has(u))return!0;if(a.has(u))return!1;if(c.has(u))return Ir(`Plugin "${u}" was not enabled because its dependency graph contains a cycle.`),a.add(u),!1;c.add(u);for(let r of e.metadata.dependencies||[]){let e=s.get(r);if(!e||!o.has(r))return Ir(`Plugin "${u}" was not enabled because dependency "${r}" is not enabled.`),c.delete(u),a.add(u),!1;if(!Cr(e,t,n))return Ir(`Plugin "${u}" was not enabled because dependency "${r}" is not compatible.`),c.delete(u),a.add(u),!1;if(!l(e))return c.delete(u),a.add(u),!1}return c.delete(u),r.push(e),i.add(u),!0}for(let r of e.plugins)Cr(r,t,n)&&Tr(r,e,n)&&l(r);return r}function Or(e,t){let n=e?.settings?.[t];return fr(n)?n:{}}function kr(e={},t,n){return{...e,settings:{...e.settings||{},[t]:n}}}function Ar(e={},t){let n={...e.settings||{}};return delete n[t],{...e,settings:n}}function jr(e){return{...e?.settings?.defaults||{}}}function Mr(e,t,n){let r=e.plugins.find(e=>e.metadata.id===t),i=n?e.globalApps[n]:void 0,a=n?e.apps[n]:void 0;return{...jr(r),...Or(i,t),...Or(a,t)}}function Nr(e,t){return{getSettings(n){return Mr(e,n,t)}}}function Pr(e,t,n,r,i){let a=new Map(t.plugins.map(e=>[e.metadata.id,e])),o=[],s=[],c=new Set,l=e;function u(e){let t=e.metadata.id;if(!o.includes(t)){if(c.has(t)){s.push(`${t} has a circular dependency`);return}c.add(t);for(let t of e.metadata.dependencies||[]){let e=a.get(t);if(!e){s.push(`${t} is not available`);continue}if(!Cr(e,r,i)){s.push(`${e.metadata.label} is not compatible`);continue}u(e)}c.delete(t),l=hr(l,t),o.push(t)}}return u(n),s.length?{config:e,enabledIds:[],blocked:s}:{config:l,enabledIds:o,blocked:s}}function Fr(e,t){return t===`modalPanels`?e.layout.modals||[]:e.layout[t]||[]}function Ir(e){globalThis.process?.env?.NODE_ENV!==`production`&&console.warn(`[manifest-editor/plugin] ${e}`)}function Lr(e,t,n,r){if(!r?.length)return;let i=[];for(let a of r){if(n.has(a.id)){Ir(`Plugin "${e.metadata.id}" contribution "${a.id}" for "${t}" was skipped because that id already exists.`);continue}n.add(a.id),i.push(a)}return i.length?i:void 0}function Rr(e,t){let n=t.extension,r={config:n.config,disableSideEffects:n.disableSideEffects};for(let i of cr){let a=Lr(t,i,new Set(Fr(e,i).map(e=>e.id)),n[i]);a&&(r[i]=a)}return r}function zr(e,t,n){if(!t.length)return e;let r=e,i=new Set;for(let a of t){if(!Cr(a,e,n))continue;let t=(a.metadata.dependencies||[]).filter(e=>!i.has(e));if(t.length){Ir(`Plugin "${a.metadata.id}" was not applied because dependencies are missing or later in the plugin order: ${t.join(`, `)}`);continue}let o=Rr(r,a);r=sr(r,r.metadata,o),i.add(a.metadata.id)}let a=new Set(e.layout.leftPanels.map(e=>e.id)),o=r.layout.leftPanels.filter(e=>e.divide),s=r.layout.leftPanels.filter(e=>!e.divide),c=!1,l=s.map(e=>!c&&!a.has(e.id)?(c=!0,{...e,separator:!0}):e);return{...r,config:wt(e.config||{},...t.filter(e=>i.has(e.metadata.id)).map(e=>e.extension.config||{}),r.config||{}),layout:{...r.layout,leftPanels:[...l,...o],backgroundActions:tn([],r.layout.backgroundActions||[])}}}function Br({plugins:e=[],enabled:t=[],disabled:n=[],globalPluginConfig:r}={}){let i=(e=[])=>Array.from(new Set(e.filter(Boolean)));return Ae(a=>({plugins:e,enabled:i(t),disabled:i(n),globalApps:mr(r),apps:{},setProviderState(e){a(t=>({...t,plugins:e.plugins||[],enabled:i(e.enabled||[]),disabled:i(e.disabled||[]),globalApps:mr(e.globalPluginConfig)}))},setAppConfig(e,t){let n=pr(t);a(t=>vr(t.apps[e],n)?t:{...t,apps:{...t.apps,[e]:n}})},setGlobalConfig(e){a(t=>({...t,globalApps:mr(e)}))},setGlobalAppConfig(e,t){let n=pr(t);a(t=>vr(t.globalApps[e],n)?t:{...t,globalApps:{...t.globalApps,[e]:n}})},enable(e,t,n=`workspace`){a(r=>({...r,...n===`global`?{globalApps:{...r.globalApps,[e]:hr(r.globalApps[e],t)}}:{apps:{...r.apps,[e]:hr(r.apps[e],t)}}}))},disable(e,t,n=`workspace`){a(r=>({...r,...n===`global`?{globalApps:{...r.globalApps,[e]:gr(r.globalApps[e],t)}}:{apps:{...r.apps,[e]:gr(r.apps[e],t)}}}))}}))}const Vr=O(null),Hr=O({});function Ur({plugins:e,enabled:t,disabled:n,globalPluginConfig:r,saveGlobalPluginConfig:i,children:a}){let o=N(()=>Sr(e),[e]),s=N(()=>Br({plugins:o,enabled:t,disabled:n,globalPluginConfig:r}),[]);j(()=>{s.getState().setProviderState({plugins:o,enabled:t,disabled:n,globalPluginConfig:r})},[s,o,t,n,r]);let c=N(()=>({globalPluginConfig:r,saveGlobalPluginConfig:i}),[r,i]);return Ce(Hr.Provider,{value:c},Ce(Vr.Provider,{value:s},a))}function Wr(){return A(Vr)}function Gr(){let e=Wr();if(!e)throw Error(`usePluginStoreApi must be used within <PluginProvider />`);return e}function Kr(e){let t=Wr();return t?je(t,e):e(ur())}function qr(){return Kr(e=>({plugins:e.plugins,enabled:e.enabled,disabled:e.disabled,globalApps:e.globalApps,apps:e.apps}))}function Jr(e){let t=A(ni),n=A(ti),r=qr(),i=e||t?.appId;return N(()=>Dr(r,n,i),[r,n,i])}function Yr(){let e=Wr();return N(()=>e?{enable(t,n,r){e.getState().enable(t,n,r||`workspace`)},disable(t,n,r){e.getState().disable(t,n,r||`workspace`)},setAppConfig(t,n){e.getState().setAppConfig(t,n)},setGlobalAppConfig(t,n){e.getState().setGlobalAppConfig(t,n)}}:{enable(){},disable(){},setAppConfig(){},setGlobalAppConfig(){}},[e])}function Xr(e){let t=A(ni),n=qr(),r=e||t?.appId;return N(()=>Nr(n,r),[n,r])}function Zr(e,t){let n=A(ni),r=qr(),i=t||n?.appId;return N(()=>Mr(r,e,i),[r,e,i])}function Qr(e,t){let n=A(ni),r=Wr(),i=qr(),a=Ot(),o=kt(),{saveGlobalPluginConfig:s}=A(Hr),c=t||n?.appId||``,l=i.plugins.find(t=>t.metadata.id===e)||null,u=c?i.globalApps[c]:void 0,d=c?i.apps[c]:void 0,f=N(()=>jr(l||void 0),[l]),p=N(()=>Or(u,e),[u,e]),m=N(()=>Or(d,e),[d,e]),h=N(()=>Mr(i,e,c),[i,e,c]),g=k(e=>{c&&(r?.getState().setAppConfig(c,e),o({plugins:{...a.plugins||{},apps:{...a.plugins?.apps||{},[c]:e}}}))},[a.plugins,c,o,r]),_=k(t=>{g(kr(d||{},e,t))},[g,e,d]),v=k(()=>{g(Ar(d||{},e))},[g,e,d]),y=k(async e=>{if(!c||!s)return;let t=i.globalApps[c]||{},n={apps:{...i.globalApps,[c]:e}};r?.getState().setGlobalAppConfig(c,e);try{await s(n)}catch(e){throw r?.getState().setGlobalAppConfig(c,t),e}},[c,s,i.globalApps,r]),b=k(async t=>{await y(kr(u||{},e,t))},[u,y,e]),x=k(async()=>{await y(Ar(u||{},e))},[u,y,e]);return{plugin:l,appId:c,defaults:f,global:p,workspace:m,effective:h,canSaveGlobal:!!s,setWorkspaceSettings:_,resetWorkspaceSettings:v,setGlobalSettings:b,resetGlobalSettings:x}}function $r(e,t){let n=qr(),r=N(()=>Dr(n,e,t),[n,e,t]);return N(()=>zr(e,r,t),[e,r,t])}function ei({config:e}){let t=A(ni),n=Wr(),r=t?.appId,i=r?e?.plugins?.apps?.[r]:void 0;return j(()=>{!n||!r||n.getState().setAppConfig(r,i||{})},[n,r,i]),null}const ti=O(null),ni=O(null),ri=O({state:null,setState:()=>{}});function ii(){let e=A(ni);return U(e,`Hook useAppInstance must be used inside <AppProvider />`),e}function q(){let e=A(ti);return U(e,`Hook useApp must be used inside <AppProvider />`),e}function ai(){return A(ri)}function oi(e){let[t,n,r]=_e(`app-state/${e.appId}/${e.instanceId}`,e.initialState||{}),i=k(e=>{let t=r.current?JSON.parse(r.current||`{}`):{},i=(typeof e==`function`?e(t):e)||{};n({...t,...i})},[]);j(()=>{e.args&&i(e.args)},[e.appId]);let a=N(()=>({state:t||{},setState:i}),[i,t]);return L(ri.Provider,{value:a,children:e.children})}function si({instanceId:e,appId:t,args:n,definition:r,children:i,initialState:a}){let o=N(()=>({instanceId:e,appId:t,args:n}),[e,t,n]),s=N(()=>a||{},[e]),c=$r(r,t);return L(At,{config:c.config||{},children:L(ti.Provider,{value:c,children:L(ni.Provider,{value:o,children:L(oi,{instanceId:o.instanceId,appId:o.appId,args:o.args,initialState:s,children:i})})})})}const ci=O(null);function li(){let e=A(ci);return U(e,`Hook useApps must be used inside <MultiAppProvider />`),e}function ui(e,t=!1){let[n,r]=ye(`SelectedApplication`,e||{id:`splash`},!t);return[n,r]}function di({apps:e,initialApp:t,saveCurrentApp:n=!0,instanceId:r,children:i,config:a={}}){let{defaultApp:o=`splash`,collectionApp:s=`collection-editor`,manifestApp:c=`manifest-editor`}=a,[l,u]=ui(t,n),d=e=>{e===`Manifest`&&u({id:c}),e===`Collection`&&u({id:s})},f=N(()=>({currentApp:l||{id:o},initialApp:t||{id:o},apps:e,changeApp:u,changeProjectType:d}),[t,e,l]),p=e[f.currentApp.id];return!l||!p?null:L(si,{appId:l.id,definition:p,instanceId:l.id+r,args:l.args,children:L(ci.Provider,{value:f,children:i})})}const fi=V.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  height: 3em;
5
5
  padding: 0.5em;
6
- `,yt=R.div`
6
+ `,pi=V.div`
7
7
  display: flex;
8
8
  padding: 0.25em;
9
9
  flex-direction: column;
10
- `;R.button`
10
+ `;V.button`
11
11
  height: 1.75em;
12
12
  width: 1.75em;
13
13
  background: #e9e9e9;
@@ -26,9 +26,9 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
26
26
  fill: #fff;
27
27
  }
28
28
  }
29
- `,R.div`
29
+ `,V.div`
30
30
  flex: 1;
31
- `;const bt=R.div`
31
+ `;const mi=V.div`
32
32
  color: #6e6e6e;
33
33
  display: flex;
34
34
  align-items: center;
@@ -39,7 +39,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
39
39
  user-select: none;
40
40
  cursor: pointer;
41
41
  margin-right: 0.5em;
42
- `;R.div`
42
+ `;V.div`
43
43
  margin: 0 auto;
44
44
  padding: 3px;
45
45
  background: #f4f4f4;
@@ -52,7 +52,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
52
52
  @media (max-width: 450px) {
53
53
  display: none;
54
54
  }
55
- `,R.button`
55
+ `,V.button`
56
56
  background: #e7fff4;
57
57
  border: 1px solid #c5e3cd;
58
58
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06);
@@ -60,7 +60,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
60
60
  color: #666666;
61
61
  padding: 0.35em 0.7em;
62
62
  letter-spacing: -0.42px;
63
- `;const xt=({height:e=16})=>L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:e,viewBox:`0 0 24 24`,width:`24px`,fill:`currentColor`,children:[I(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),I(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`})]}),St=({rotate:e=0,...t})=>I(`svg`,{version:`1.2`,xmlns:`http://www.w3.org/2000/svg`,overflow:`visible`,preserveAspectRatio:`none`,viewBox:`0 0 24 24`,width:`1em`,height:`1em`,style:{fill:`rgba(0, 0, 0, 0.6)`,transform:`rotate(${e}deg)`,transition:`transform 0.2s`},...t,children:I(`path`,{d:`M8.12 9.29 12 13.17l3.88-3.88a.996.996 0 1 1 1.41 1.41l-4.59 4.59a.996.996 0 0 1-1.41 0L6.7 10.7a.996.996 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0z`,fill:`currentColor`})}),Ct=D(null),wt=D(null);function Tt(){let e=k(wt),t=k(Ct),n=e||t?.id;return U(n,`useResourceInstance can only be called from inside <ResourceProvider />`),n}function Et(){let e=k(Ct);return U(e,`useResource can only be called from inside <ResourceProvider />`),e}function Dt({id:e,children:t}){return e?I(wt.Provider,{value:e,children:t}):t}function Ot({resource:e,children:t}){let n=Ee(),r=t;return e&&e.type===`Manifest`&&(r=I(Ce,{vault:n||void 0,children:I(be,{manifest:e.id||``,children:t})})),e&&e.type===`Collection`&&(r=I(Ce,{vault:n||void 0,children:I(ve,{collection:e.id||``,children:t})})),I(Ct.Provider,{value:e,children:r})}function kt(e){"@babel/helpers - typeof";return kt=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},kt(e)}function At(e,t){if(kt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(kt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function jt(e){var t=At(e,`string`);return kt(t)==`symbol`?t:t+``}function G(e,t,n){return(t=jt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mt=class{constructor({id:e,config:t,label:n}){G(this,`id`,void 0),G(this,`label`,void 0),G(this,`type`,`external-manifest-preview`),G(this,`focusable`,!0),G(this,`serviceUrl`,void 0),G(this,`windows`,{}),this.id=e,this.label=n,this.serviceUrl=t.url}isPreviewValid(e){let t=this.windows[e];return!!(t&&t.window&&!t.window.closed)}getRequires(){return[`readOnlyManifest`]}getProvides(){return[]}async createPreview(e,t,n,r){let i=`${this.serviceUrl}`.replace(/\{manifestId}/,r.readOnlyManifest).replace(/\{time}/,`${Date.now()}`),a=window.open(i,this.id);return this.windows[e]={location:i,window:a},{id:this.id,type:`external-manifest-preview`,data:{url:i}}}async focus(e){let t=this.windows[e];t&&t.window&&t.window.focus()}async updatePreview(e,t,n,r){let i=this.windows[e];if(i)try{i.window?.close()}catch{}return this.createPreview(e,t,n,r)}async deletePreview(e){let t=this.windows[e];t&&t.window&&(t.window.close(),delete this.windows[e])}},Nt=class{constructor({id:e,config:t,label:n}){G(this,`id`,void 0),G(this,`label`,void 0),G(this,`type`,`iiif-preview-service`),G(this,`focusable`,!1),G(this,`serviceUrl`,void 0),G(this,`cache`,{}),this.id=e,this.label=n,this.serviceUrl=t.url}getRequires(){return[]}getProvides(){return[`readOnlyManifest`]}async isPreviewValid(e,t){if(this.cache[e])return!0;if(!t||!t.data||!t.data.readOnlyManifest)return!1;let n=t.data.readOnlyManifest;try{return(await fetch(n,{cache:`no-cache`})).ok}catch{return!1}}async createPreview(e,t,n){let r=n.toPresentation3(t),i=await fetch(this.serviceUrl,{method:`POST`,headers:{"Content-Type":`application/json`,Origin:`*`},body:JSON.stringify(r)});U(i.ok,`Unknown error creating preview`);let a=await i.json();return U(a.location,`Missing IIIF location while creating preview`),this.cache[e]={...a,time:Date.now()},{id:this.id,type:`external-manifest-preview`,data:{readOnlyManifest:`${a.location}/${Date.now()}`}}}async focus(){}async updatePreview(e,t,n){let r=this.cache[e];if(!r||Date.now()>r.expirationTtl+r.time||!r.updateLocation)return this.createPreview(e,t,n);let i=r.updateLocation,a=n.toPresentation3(t),o=await fetch(i,{method:`PUT`,headers:{"Content-Type":`application/json`,Origin:`*`},body:JSON.stringify(a)});U(o.ok,`Unknown error updating preview`);let s=await o.json();U(s.location),s.updateLocation&&(r.updateLocation=s.updateLocation);let c=`${s.location}/${Date.now()}`;return await fetch(c,{cache:`no-cache`}),{id:this.id,type:`external-manifest-preview`,data:{readOnlyManifest:`${s.location}/${Date.now()}`}}}async deletePreview(e){let t=this.cache[e];if(t&&t.deleteLocation)try{await fetch(t.deleteLocation,{method:`DELETE`,headers:{"Content-Type":`application/json`,Origin:`*`}})}catch{}}};function Pt(e,t,n,r,i){let a=Et(),o=Tt(),s=B(),c=j(()=>({setPreview:e=>{e&&i(t=>[...t.filter(t=>t.id!==e.id),e])},removePreview:e=>{i(t=>t.filter(t=>t.id!==e))}}),[i,o]),[l,u]=j(()=>{let e={},t={};for(let r of n){e[r.id]=r;let n=r.getProvides();if(n.length)for(let e of n)t[e]||(t[e]=r.id)}return[e,t]},[n]);async function d(){let n=e.selected,i=r.find(e=>e.id===n);if(r&&r.length&&i){let e=l[i.id].getRequires(),n={};for(let i of r){let r=l[i.id];if(r){let i=r.getProvides();for(let l of i)if(e.indexOf(l)!==-1){let e=await r.updatePreview(o,a,s,n);e&&(c.setPreview(e),t({type:`activatePreview`,payload:e.id}),Object.assign(n,e.data||{}))}}}let u=l[i.id];if(u){let e=await u.updatePreview(o,a,s,n);e?c.setPreview(e):(c.removePreview(i.id),await u.deletePreview(o))}}}async function f(e){l[e]&&o&&(t({type:`selectPreview`,payload:e}),await g(e))}async function p(){let e=u.readOnlyManifest,t=e?l[e]:null;if(t&&o){let e=r.find(e=>e.type===`iiif-preview-service`);if(!e||!await t.isPreviewValid(o,e)){let e=await t.createPreview(o,a,s,{});if(e)return e.data.readOnlyManifest}}return null}function m(e){let n=l[e];n&&o&&(c.removePreview(e),n.deletePreview(o).then(()=>{t({type:`deletePreview`,payload:e})}))}async function h(e){let n=l[e];l[e]&&o&&n&&(await n.focus(o),t({type:`focusPreview`,payload:e}))}async function g(n){let i=l[n];if(i&&o){let d=r.find(e=>e.id===n);if(!d||!i.isPreviewValid(o,d)){let n={},d=i.getRequires();for(let i of d){let d=u[i],f=d?l[d]:null;U(f,`Missing handler for Preview requirement "${i}"`),r.find(e=>e.id===d),e.active.find(e=>e===d);{let e=await f.createPreview(o,a,s,n);Object.assign(n,e?.data||{}),c.setPreview(e),t({type:`activatePreview`,payload:e.id})}}let f=await i.createPreview(o,a,s,n);f&&(c.setPreview(f),t({type:`activatePreview`,payload:f.id}))}}}return j(()=>({selectPreview:f,deletePreview:m,focusPreview:h,activatePreview:g,updatePreviews:d,getPreviewLink:p}),[l,o,s,e.selected,e.active,r])}function Ft(e){return j(()=>{let t=[];for(let n of e)switch(n.type){case`iiif-preview-service`:t.push(new Nt(n));break;case`external-manifest-preview`:t.push(new Mt(n));break}return t},[])}const It=je(function(e,t){switch(t.type){case`focusPreview`:break;case`deletePreview`:e.selected===t.payload&&(e.selected=null),e.active=e.active.filter(e=>e!==t.payload);break;case`activatePreview`:e.active.indexOf(t.payload)===-1&&e.active.push(t.payload);break;case`selectPreview`:e.selected=t.payload,e.active.indexOf(t.payload)===-1&&e.active.push(t.payload);break}});function Lt(){return{active:[],selected:null}}const Rt=D(null),zt=D([]),Bt=ue(function({children:e,configs:t=[]}){let n=Tt(),r=Ft(t),[i,a]=E(`preview-${n}`,[]),[o,s]=M(It,void 0,Lt),c=Pt(o,s,r,i,a),l=j(()=>({configs:t,actions:c,handlers:r,...o}),[c,t,r,o]);return A(()=>{for(let e of i)if(!o.active.includes(e.id)){let t=r.find(t=>t.id===e.id);t&&Promise.resolve(t.isPreviewValid(n,e)).then(t=>{t?s({type:`activatePreview`,payload:e.id}):a(t=>t.filter(t=>t.id!==e.id))})}},[n]),I(zt.Provider,{value:i,children:I(Rt.Provider,{value:l,children:e})})});function Vt(){return k(zt)}function Ht(){let e=k(Rt);return U(e,`usePreviewContext() can only be called from inside <PreviewProvider />`),e}const Ut=R.button`
63
+ `;const hi=({height:e=16})=>R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:e,viewBox:`0 0 24 24`,width:`24px`,fill:`currentColor`,children:[L(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),L(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`})]}),gi=({rotate:e=0,...t})=>L(`svg`,{version:`1.2`,xmlns:`http://www.w3.org/2000/svg`,overflow:`visible`,preserveAspectRatio:`none`,viewBox:`0 0 24 24`,width:`1em`,height:`1em`,style:{fill:`rgba(0, 0, 0, 0.6)`,transform:`rotate(${e}deg)`,transition:`transform 0.2s`},...t,children:L(`path`,{d:`M8.12 9.29 12 13.17l3.88-3.88a.996.996 0 1 1 1.41 1.41l-4.59 4.59a.996.996 0 0 1-1.41 0L6.7 10.7a.996.996 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0z`,fill:`currentColor`})}),_i=O(null),vi=O(null);function yi(){let e=A(vi),t=A(_i),n=e||t?.id;return U(n,`useResourceInstance can only be called from inside <ResourceProvider />`),n}function bi(){let e=A(_i);return U(e,`useResource can only be called from inside <ResourceProvider />`),e}function xi({id:e,children:t}){return e?L(vi.Provider,{value:e,children:t}):t}function Si({resource:e,children:t}){let n=We(),r=t;return e&&e.type===`Manifest`&&(r=L(Ve,{vault:n||void 0,children:L(Re,{manifest:e.id||``,children:t})})),e&&e.type===`Collection`&&(r=L(Ve,{vault:n||void 0,children:L(Ie,{collection:e.id||``,children:t})})),L(_i.Provider,{value:e,children:r})}function Ci(e){"@babel/helpers - typeof";return Ci=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Ci(e)}function wi(e,t){if(Ci(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Ci(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ti(e){var t=wi(e,`string`);return Ci(t)==`symbol`?t:t+``}function J(e,t,n){return(t=Ti(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ei=class{constructor({id:e,config:t,label:n}){J(this,`id`,void 0),J(this,`label`,void 0),J(this,`type`,`external-manifest-preview`),J(this,`focusable`,!0),J(this,`serviceUrl`,void 0),J(this,`windows`,{}),this.id=e,this.label=n,this.serviceUrl=t.url}isPreviewValid(e){let t=this.windows[e];return!!(t&&t.window&&!t.window.closed)}getRequires(){return[`readOnlyManifest`]}getProvides(){return[]}async createPreview(e,t,n,r){let i=`${this.serviceUrl}`.replace(/\{manifestId}/,r.readOnlyManifest).replace(/\{time}/,`${Date.now()}`),a=window.open(i,this.id);return this.windows[e]={location:i,window:a},{id:this.id,type:`external-manifest-preview`,data:{url:i}}}async focus(e){let t=this.windows[e];t&&t.window&&t.window.focus()}async updatePreview(e,t,n,r){let i=this.windows[e];if(i)try{i.window?.close()}catch{}return this.createPreview(e,t,n,r)}async deletePreview(e){let t=this.windows[e];t&&t.window&&(t.window.close(),delete this.windows[e])}},Di=class{constructor({id:e,config:t,label:n}){J(this,`id`,void 0),J(this,`label`,void 0),J(this,`type`,`iiif-preview-service`),J(this,`focusable`,!1),J(this,`serviceUrl`,void 0),J(this,`cache`,{}),this.id=e,this.label=n,this.serviceUrl=t.url}getRequires(){return[]}getProvides(){return[`readOnlyManifest`]}async isPreviewValid(e,t){if(this.cache[e])return!0;if(!t||!t.data||!t.data.readOnlyManifest)return!1;let n=t.data.readOnlyManifest;try{return(await fetch(n,{cache:`no-cache`})).ok}catch{return!1}}async createPreview(e,t,n){let r=n.toPresentation3(t),i=await fetch(this.serviceUrl,{method:`POST`,headers:{"Content-Type":`application/json`,Origin:`*`},body:JSON.stringify(r)});U(i.ok,`Unknown error creating preview`);let a=await i.json();return U(a.location,`Missing IIIF location while creating preview`),this.cache[e]={...a,time:Date.now()},{id:this.id,type:`external-manifest-preview`,data:{readOnlyManifest:`${a.location}/${Date.now()}`}}}async focus(){}async updatePreview(e,t,n){let r=this.cache[e];if(!r||Date.now()>r.expirationTtl+r.time||!r.updateLocation)return this.createPreview(e,t,n);let i=r.updateLocation,a=n.toPresentation3(t),o=await fetch(i,{method:`PUT`,headers:{"Content-Type":`application/json`,Origin:`*`},body:JSON.stringify(a)});U(o.ok,`Unknown error updating preview`);let s=await o.json();U(s.location),s.updateLocation&&(r.updateLocation=s.updateLocation);let c=`${s.location}/${Date.now()}`;return await fetch(c,{cache:`no-cache`}),{id:this.id,type:`external-manifest-preview`,data:{readOnlyManifest:`${s.location}/${Date.now()}`}}}async deletePreview(e){let t=this.cache[e];if(t&&t.deleteLocation)try{await fetch(t.deleteLocation,{method:`DELETE`,headers:{"Content-Type":`application/json`,Origin:`*`}})}catch{}}};function Oi(e,t,n,r,i){let a=bi(),o=yi(),s=z(),c=N(()=>({setPreview:e=>{e&&i(t=>[...t.filter(t=>t.id!==e.id),e])},removePreview:e=>{i(t=>t.filter(t=>t.id!==e))}}),[i,o]),[l,u]=N(()=>{let e={},t={};for(let r of n){e[r.id]=r;let n=r.getProvides();if(n.length)for(let e of n)t[e]||(t[e]=r.id)}return[e,t]},[n]);async function d(){let n=e.selected,i=r.find(e=>e.id===n);if(r&&r.length&&i){let e=l[i.id].getRequires(),n={};for(let i of r){let r=l[i.id];if(r){let i=r.getProvides();for(let l of i)if(e.indexOf(l)!==-1){let e=await r.updatePreview(o,a,s,n);e&&(c.setPreview(e),t({type:`activatePreview`,payload:e.id}),Object.assign(n,e.data||{}))}}}let u=l[i.id];if(u){let e=await u.updatePreview(o,a,s,n);e?c.setPreview(e):(c.removePreview(i.id),await u.deletePreview(o))}}}async function f(e){l[e]&&o&&(t({type:`selectPreview`,payload:e}),await g(e))}async function p(){let e=u.readOnlyManifest,t=e?l[e]:null;if(t&&o){let e=r.find(e=>e.type===`iiif-preview-service`);if(!e||!await t.isPreviewValid(o,e)){let e=await t.createPreview(o,a,s,{});if(e)return e.data.readOnlyManifest}}return null}function m(e){let n=l[e];n&&o&&(c.removePreview(e),n.deletePreview(o).then(()=>{t({type:`deletePreview`,payload:e})}))}async function h(e){let n=l[e];l[e]&&o&&n&&(await n.focus(o),t({type:`focusPreview`,payload:e}))}async function g(n){let i=l[n];if(i&&o){let d=r.find(e=>e.id===n);if(!d||!i.isPreviewValid(o,d)){let n={},d=i.getRequires();for(let i of d){let d=u[i],f=d?l[d]:null;U(f,`Missing handler for Preview requirement "${i}"`),r.find(e=>e.id===d),e.active.find(e=>e===d);{let e=await f.createPreview(o,a,s,n);Object.assign(n,e?.data||{}),c.setPreview(e),t({type:`activatePreview`,payload:e.id})}}let f=await i.createPreview(o,a,s,n);f&&(c.setPreview(f),t({type:`activatePreview`,payload:f.id}))}}}return N(()=>({selectPreview:f,deletePreview:m,focusPreview:h,activatePreview:g,updatePreviews:d,getPreviewLink:p}),[l,o,s,e.selected,e.active,r])}function ki(e){return N(()=>{let t=[];for(let n of e)switch(n.type){case`iiif-preview-service`:t.push(new Di(n));break;case`external-manifest-preview`:t.push(new Ei(n));break}return t},[])}const Ai=Qe(function(e,t){switch(t.type){case`focusPreview`:break;case`deletePreview`:e.selected===t.payload&&(e.selected=null),e.active=e.active.filter(e=>e!==t.payload);break;case`activatePreview`:e.active.indexOf(t.payload)===-1&&e.active.push(t.payload);break;case`selectPreview`:e.selected=t.payload,e.active.indexOf(t.payload)===-1&&e.active.push(t.payload);break}});function ji(){return{active:[],selected:null}}const Mi=O(null),Ni=O([]),Pi=Ee(function({children:e,configs:t=[]}){let n=yi(),r=ki(t),[i,a]=_e(`preview-${n}`,[]),[o,s]=Oe(Ai,void 0,ji),c=Oi(o,s,r,i,a),l=N(()=>({configs:t,actions:c,handlers:r,...o}),[c,t,r,o]);return j(()=>{for(let e of i)if(!o.active.includes(e.id)){let t=r.find(t=>t.id===e.id);t&&Promise.resolve(t.isPreviewValid(n,e)).then(t=>{t?s({type:`activatePreview`,payload:e.id}):a(t=>t.filter(t=>t.id!==e.id))})}},[n]),L(Ni.Provider,{value:i,children:L(Mi.Provider,{value:l,children:e})})});function Fi(){return A(Ni)}function Ii(){let e=A(Mi);return U(e,`usePreviewContext() can only be called from inside <PreviewProvider />`),e}const Li=V.button`
64
64
  border: none;
65
65
  outline: none;
66
66
  background-color: transparent;
@@ -72,7 +72,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
72
72
  &:hover {
73
73
  color: inherit;
74
74
  }
75
- `,K=R.button`
75
+ `,Y=V.button`
76
76
  padding: 0.5rem 1rem;
77
77
  color: ${e=>e.theme.color.main||`none`};
78
78
  background-color: ${e=>e.theme.color.white||`white`};
@@ -90,11 +90,11 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
90
90
  &:hover {
91
91
  background: #eee;
92
92
  }
93
- `;R(K)`
93
+ `;V(Y)`
94
94
  padding: 0.25em ${e=>e.theme.padding.xs||`0.4em`};
95
95
  height: unset;
96
96
  background: none;
97
- `,R(K)`
97
+ `,V(Y)`
98
98
  {
99
99
  padding: 0 ${e=>e.theme.padding.medium||`1rem`};
100
100
  color: ${e=>e.theme.color.main||`#B84C74;`};
@@ -113,7 +113,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
113
113
  cursor: not-allowed;
114
114
  }
115
115
  }
116
- `;const Wt=R(K)`
116
+ `;const Ri=V(Y)`
117
117
  padding: 0 ${e=>e.theme.padding.medium||`1rem`};
118
118
  color: ${e=>e.theme.color.white||`white`};
119
119
  background-color: ${e=>e.theme.color.main||`#B84C74;`};
@@ -126,17 +126,17 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
126
126
  &:hover {
127
127
  background-color: ${e=>e.theme.color.mainHover||`#B84C74;`};
128
128
  }
129
- `;R.div`
129
+ `;V.div`
130
130
  display: flex;
131
131
  flex-direction: row;
132
132
  flex-wrap: wrap;
133
133
  align-items: flex-start;
134
134
  justify-content: ${e=>e.$right?`flex-end`:`flex-start`};
135
- `;const Gt=R.div`
135
+ `;const zi=V.div`
136
136
  display: flex;
137
137
  position: relative;
138
138
  width: 10em;
139
- `,Kt=R(Ut)`
139
+ `,Bi=V(Li)`
140
140
  flex: 1;
141
141
  padding: 0.5em 0.8em;
142
142
  background: #b84c74;
@@ -157,7 +157,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
157
157
  background: #892c4e;
158
158
  box-shadow: inset 0 2px 8px 0 rgba(0, 0, 0, 0.15);
159
159
  }
160
- `,qt=R(Ut)`
160
+ `,Vi=V(Li)`
161
161
  background: #b84c74;
162
162
  border-top-right-radius: 5px;
163
163
  border-bottom-right-radius: 5px;
@@ -178,11 +178,11 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
178
178
  box-shadow: inset 0 2px 8px 0 rgba(0, 0, 0, 0.15);
179
179
  }
180
180
 
181
- ${e=>e.$open&&z`
181
+ ${e=>e.$open&&H`
182
182
  background: #892c4e;
183
183
  box-shadow: inset 0 2px 8px 0 rgba(0, 0, 0, 0.15);
184
184
  `}
185
- `,Jt=R.div`
185
+ `,Hi=V.div`
186
186
  position: absolute;
187
187
  opacity: 0;
188
188
  top: 100%;
@@ -196,39 +196,42 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
196
196
  0 0px 0px 1px rgba(0, 0, 0, 0.15),
197
197
  inset 0 0 0 1px rgba(255, 255, 255, 0.2);
198
198
  background: #fff;
199
+ color: #25211f;
199
200
  overflow: hidden;
200
201
 
201
- ${e=>e.$open&&z`
202
+ ${e=>e.$open&&H`
202
203
  opacity: 1;
203
204
  pointer-events: visible;
204
205
  `}
205
- `,Yt=R.div`
206
+ `,Ui=V.div`
206
207
  display: flex;
207
208
  background: #fff;
209
+ color: #25211f;
208
210
  padding: 0.4em;
209
211
  align-items: center;
210
212
 
211
213
  &:hover {
212
214
  background: #f9f9f9;
213
215
  }
214
- `,Xt={available:`#ddd`,configured:`#e37266`,active:`#4cb235`},Zt=R.div`
216
+ `,Wi={available:`#ddd`,configured:`#e37266`,active:`#4cb235`},Gi=V.div`
215
217
  margin: 0.2em 0.5em;
216
218
  width: 8px;
217
219
  height: 8px;
218
220
  border-radius: 50%;
219
- background-color: ${e=>Xt[e.$status]};
220
- `,Qt=R.div`
221
+ background-color: ${e=>Wi[e.$status]};
222
+ `,Ki=V.div`
221
223
  flex: 1;
222
224
  font-size: 0.925em;
225
+ color: #25211f;
223
226
  padding: 0.2em;
224
227
  text-overflow: ellipsis;
225
228
  cursor: pointer;
226
229
  white-space: nowrap;
227
230
  overflow: hidden;
228
- `,$t=R.div`
231
+ `,qi=V.div`
229
232
  background: #f9f9f9;
230
233
  font-size: 0.8em;
231
- `,en=R.div`
234
+ `,Ji=V.div`
232
235
  color: #999;
233
236
  font-size: 0.8em;
234
237
  padding: 0.6em 0.8em;
@@ -236,10 +239,10 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
236
239
  border-radius: 5px;
237
240
  user-select: none;
238
241
  cursor: not-allowed;
239
- `;function tn({downloadEnabled:e,fileName:t}){let{active:n,configs:i,actions:a,selected:o}=Ht(),s=B(),c=it(),l=Et(),u=i.filter(e=>e.type===`external-manifest-preview`),{isOpen:d,buttonProps:f,itemProps:p}=me(u.length);return u.length===0?I(en,{children:`Preview not available`}):L(F,{children:[e?I(`div`,{className:`mr-4`,children:I(r,{fileName:t||`manifest.json`,label:`Download manifest`,getData:()=>c.export&&c.export.version===2?JSON.stringify(s.toPresentation2(l),null,2):JSON.stringify(s.toPresentation3(l),null,2)})}):null,L(Gt,{children:[I(Kt,{onClick:()=>{if(!o){let e=c.defaultPreview;if(e){let t=i.find(t=>t.id===e);if(t){a.selectPreview(t.id);return}}a.selectPreview(i[0].id)}a.updatePreviews()},children:`Preview`}),I(qt,{$open:d,...f,children:I(St,{})}),I(Jt,{$open:d,children:u.map((e,t)=>{let r=n.indexOf(e.id)===-1;return L(Yt,{...p[t],children:[I(Zt,{$status:r?`available`:e.id===o?`active`:`configured`}),I(Qt,{onClick:()=>{a.selectPreview(e.id)},children:e.label}),r?null:I($t,{onClick:()=>a.deletePreview(e.id),children:I(xt,{})})]},e.id)})})]})]})}const nn=ue(function(e){let[t]=E(`menu-hidden`);return I(yt,{children:L(vt,{children:[I(bt,{onClick:e.onClickLogo,children:I(u,{})}),I(tn,{})]})})}),rn=D(null);function an(){return k(rn)||null}function on(e,t){let n=an();return n?n[e][t]:null}function sn({children:e,menu:t}){return I(rn.Provider,{value:t,children:e})}function cn(){return k(_e)}function ln(e){if(!e)return null;if(e.points.length>2){let t=Math.min(...e.points.map(e=>e[0])),n=Math.min(...e.points.map(e=>e[1])),r=Math.max(0,...e.points.map(e=>e[0])),i=Math.max(0,...e.points.map(e=>e[1]));return{x:t,y:n,width:r-t,height:i-n}}return null}const un=async e=>new Promise((t,n)=>{let r=document.createElement(`img`);r.onload=()=>t(r),r.onerror=()=>n(),r.src=e,r.complete&&t(r)}),dn=async e=>new Promise((t,n)=>{let r=document.createElement(`video`);r.onloadedmetadata=()=>t(r),r.onerror=()=>n(),r.preload=`metadata`,r.src=e});async function fn(){}async function pn(e,...t){if(!e)return;if(e.endsWith(`.mp3`)||e.endsWith(`.mp4`)||e.endsWith(`.m4a`)||e.endsWith(`.m4v`))try{let t=await dn(e);if(t){let n=t.videoWidth===0;return{id:e,type:t.videoWidth===0?`Sound`:`Video`,width:t.videoWidth||void 0,height:t.videoHeight||void 0,duration:t.duration,format:n?`audio/mp4`:`video/mp4`}}}catch{}let n=null;try{await fetch(e,{method:`HEAD`}),n=await fetch(e)}catch{return gn(e)}if(!n.ok&&(n=await fetch(e+`/info.json`),!n.ok))return gn(e);let r=n.headers.get(`Content-Type`);if(r?.includes(`image/`))return gn(e,r);let i=null;try{i=await n.json()}catch{return null}return await hn(i,e)}function mn(e){return e.protocol&&e.protocol===`http://iiif.io/api/image`?(e.type||(e.type=`ImageService`),e):null}async function hn(e,t){let n=mn(e);if(n)return n;if(!(e.id||e[`@id`]))return null;let r=await new Ne.Vault().load(t,e);if(r&&(r&&r?.type===`Manifest`||r?.type===`Collection`))return{id:t,type:r.type,label:Me(r.label)}}async function gn(e,t){let n=e.split(`/`);if(n.length>=8){let e=n.slice(-4);if(e[3].split(`.`).length===2&&(e[2][0]===`!`||e[2]===e[2])){let e=await _n(n.slice(0,n.length-4).join(`/`)+`/info.json`);if(e&&e?.type&&e?.type?.startsWith(`ImageService`))return e}}try{let n=await un(e);return{id:e,type:`Image`,width:n.width,height:n.height,format:await vn(e,t)}}catch{}return null}async function _n(e){try{let t=await fetch(e);return t.ok?await hn(await t.json(),e):null}catch(e){return console.log(e),null}}async function vn(e,t){if(t)return t;try{let t=(await fetch(e,{method:`HEAD`,mode:`no-cors`})).headers.get(`Content-type`);if(t)return t}catch{}let n=e.toLowerCase();return n.endsWith(`jpg`)||n.endsWith(`jpeg`)?`image/jpeg`:n.endsWith(`png`)?`image/png`:`image/jpeg`}async function yn(e){try{let t=await un(e);if(t)return{width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}}catch{return null}return null}async function bn(e){let t;try{await fetch(e).then(e=>e.json().catch(e=>{console.error(`'${e}' happened!`)})).then(e=>{t={...e}})}catch(e){console.log(e)}return t}function xn(e,t,n){return`create_${e}_${t}_${V(n)?.type||`unknown`}`}function Sn(e,t,n=`text/json`){let r=e instanceof Blob?e:new Blob([e],{type:n}),i=document.createElement(`a`);i.download=t,i.href=window.URL.createObjectURL(r);let a=new MouseEvent(`click`,{view:window,bubbles:!0,cancelable:!0});i.dispatchEvent(a),i.remove()}async function Cn(e){return navigator.clipboard.writeText(typeof e==`string`?e:JSON.stringify(e,null,2))}function wn(){return`${Math.random().toString(36).substr(2)}-${Date.now().toString(36)}`}function Tn(e,t){let{default:n,config:r,...i}=e,a={metadata:n,layout:{leftPanels:[],rightPanels:[],centerPanels:[],...i},config:r};return t?t(a):a}function En(e,t,n){return{...e,metadata:t,config:{...e.config||{},...n.config||{}},layout:{...e.layout,leftPanels:[...(e.layout.leftPanels||[]).filter(e=>n?.leftPanelIds?n.leftPanelIds.includes(e.id):!0),...n?.leftPanels||[]],annotations:[...n?.annotations||[],...e.layout.annotations||[]],canvasEditors:[...n?.canvasEditors||[],...e.layout.canvasEditors||[]],creators:[...n?.creators||[],...e.layout.creators||[]],background:[...e.layout?.background||[],...n?.background||[]],editors:[...n?.editors||[],...e.layout.editors||[]],rightPanels:[...e.layout.rightPanels||[],...n?.rightPanels||[]],centerPanels:[...e.layout.centerPanels||[],...n?.centerPanels||[]],modals:[...e.layout.modals||[],...n?.modalPanels||[]]}}}const Dn=Re(e=>({regions:{},resources:[],setRegion:(t,n)=>{e(e=>({...e.regions,regions:{[t]:n||null}}))},setHighlight:t=>{e({resources:Array.isArray(t)?t:[t]})},highlight:t=>{e(e=>e.resources.indexOf(t)===-1?{resources:[...e.resources,t]}:e)},clearHighlight:t=>{e(e=>({resources:e.resources.filter(e=>e!==t)}))}}));function On(e){let t=j(()=>wn(),[]),n=Dn(e=>e.regions[t]),r=Dn(e=>e.setRegion);A(()=>{n&&e?n!==e&&(n.x!==e.x||n.y!==e.y||n.width!==e.width||n.height!==e.height)&&r(t,e||null):r(t,e||null)},[n]),A(()=>()=>r(t,null),[])}function kn(e){let t=Dn(e=>e.highlight),n=Dn(e=>e.clearHighlight);return A(()=>()=>{e&&n(e)},[n,e]),j(()=>({onMouseEnter(){e&&t(e)},onMouseLeave(){e&&n(e)}}),[e,t,n])}const An=e=>L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`1em`,width:`1em`,viewBox:`0 0 24 24`,...e,children:[I(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),I(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),I(`path`,{d:`M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z`,fill:`currentColor`})]}),jn=({style:e})=>L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`1rem`,viewBox:`0 0 24 24`,width:`1rem`,fill:`#000000`,style:e,children:[I(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),I(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`})]}),Mn=D(null),Nn=D(null);function Pn(){return k(Nn)}function Fn(){return k(Mn)}function In(){return W().layout}function Ln(){let e=W(),t=e.layout,n=k(Mn),r=k(Nn);return j(()=>({actions:n,state:r,...t}),[e,r])}function Rn(e){let t=e.error.toString(),[n,r]=P(!1);return L(p,{children:[I(a,{className:`mb-2`,children:t}),I(Wt,{onClick:e.resetErrorBoundary,children:`Try again`})]})}function zn(e){return e&&e.pinnable}function Bn({initial:e,fallback:t,options:n={}}){return Math.max(n.minWidth||0,Math.min(n.maxWidth||1/0,e||t))}function Vn(e){return typeof e==`string`?se(`div`,{dangerouslySetInnerHTML:{__html:e}}):e}const Hn=R.div`
242
+ `;function Yi({downloadEnabled:e,fileName:t}){let{active:n,configs:r,actions:i,selected:a}=Ii(),o=z(),s=Ot(),c=bi(),l=r.filter(e=>e.type===`external-manifest-preview`),{isOpen:u,buttonProps:d,itemProps:f}=Xe(l.length);return l.length===0?L(Ji,{children:`Preview not available`}):R(I,{children:[e?L(`div`,{className:`mr-4`,children:L(y,{fileName:t||`manifest.json`,label:`Download manifest`,getData:()=>s.export&&s.export.version===2?JSON.stringify(o.toPresentation2(c),null,2):JSON.stringify(o.toPresentation3(c),null,2)})}):null,R(zi,{children:[L(Bi,{onClick:()=>{if(!a){let e=s.defaultPreview;if(e){let t=r.find(t=>t.id===e);if(t){i.selectPreview(t.id);return}}i.selectPreview(r[0].id)}i.updatePreviews()},children:`Preview`}),L(Vi,{$open:u,...d,children:L(gi,{})}),L(Hi,{$open:u,children:l.map((e,t)=>{let r=n.indexOf(e.id)===-1;return R(Ui,{...f[t],children:[L(Gi,{$status:r?`available`:e.id===a?`active`:`configured`}),L(Ki,{onClick:()=>{i.selectPreview(e.id)},children:e.label}),r?null:L(qi,{onClick:()=>i.deletePreview(e.id),children:L(hi,{})})]},e.id)})})]})]})}function Xi(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=B(t.payload.resource.resource);if(!n||!e.stack.find(e=>B(e.resource)?.id===n.id))return e;let r=e.current?.resource.id===n.id?null:e.current,i=Zi(e.stack.filter(e=>B(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 Zi(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 Qi={stack:[],current:null,create:null},$i=O(Qi),ea=O({edit(){},close(){},back(){},setStack(){},updateCurrent(){},create(){return()=>{}}});function ta(){return A(ea)}function na(){return A($i).current}function ra(){return A($i).stack}function ia(){return A($i).create}function aa(){let{manifest:e}=Ke(),t=z(),[n,r]=Oe(e=>e+1,0);U(e,`Manifest not found`);let i=N(()=>new $e({reference:{id:e,type:`Manifest`},vault:t}),[e,t]);return j(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function oa(){let{collection:e}=Ke(),t=z(),[n,r]=Oe(e=>e+1,0);U(e,`Collection not found`);let i=N(()=>new $e({reference:{id:e,type:`Collection`},vault:t}),[e,t]);return j(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function sa(e,t={}){let n=z(),[r,i]=Oe(e=>e+1,0);!t.allowNull&&U(e,`Resource not found`);let a=N(()=>t.allowNull&&!e?null:new $e({reference:B(e),vault:n,context:{resource:e,parent:t.parent,index:t.index,parentProperty:t.parentProperty}}),[e,n]);return j(()=>a?.observe.start(i),[a]),a&&(a.observe.key=`${r}`,a.observe.reset()),a}function ca(){let{annotationPage:e}=Ke();return U(e,`Annotation page not found`),sa({id:e,type:`AnnotationPage`})}function la(){let e=na(),t=z(),[n,r]=Oe(e=>e+1,0);U(e,`No resource selected`);let i=N(()=>new $e({reference:e.resource.source||e.resource,vault:t}),[e,t]);return j(()=>i.observe.start(r),[i]),i.observe.key=`${n}`,i.observe.reset(),i}function ua(e){let t=z(),[n,r]=Oe(Xi,e),i=k(e=>{r(e)},[]);j(()=>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=k((e,t=!1)=>i({type:`edit`,payload:{resource:e,reset:t}}),[]),o=k(e=>i({type:`setStack`,payload:{resources:e}}),[]),s=k(e=>i({type:`updateCurrent`,payload:{resource:e}}),[]),c=k(()=>i({type:`close`}),[]),l=k(()=>i({type:`back`}),[]),u=k((e,t)=>(i({type:`create`,payload:{resource:e,options:t}}),()=>{i({type:`create`,payload:{resource:null}})}),[]);return[n,N(()=>({edit:a,updateCurrent:s,close:c,back:l,create:u,setStack:o}),[])]}function da(e){let{instanceId:t}=ii(),[n,r]=ua(e.initialState||Qi);return L(ea.Provider,{value:r,children:L($i.Provider,{value:n,children:e.children})},t)}function fa({resource:e,children:t}){let{instanceId:n}=ii(),[r,i]=ua(N(()=>({create:null,stack:[],current:{resource:{type:`SpecificResource`,source:{id:e.id,type:e.type}}}}),[]));return L(ea.Provider,{value:i,children:L($i.Provider,{value:r,children:t})},n)}const pa=O(null),ma=O(null),ha=O(`default`);function ga(){return A(ma)}function _a(){return A(pa)}function va(){return A(ha)}function ya(){return q().layout}function ba(){let e=q(),t=e.layout,n=A(pa),r=A(ma);return N(()=>({actions:n,state:r,...t}),[e,r])}const xa=`@manifest-editor/tags`,Sa=`tags`,Ca={type:`flag`,id:`flag`,label:`Flag`,backgroundColor:`#b91c1c`,textColor:`#ffffff`,icon:`flag`},wa=[];function Ta(e){return typeof e==`string`?e:e?.id||null}function Ea(e){return e.type||e.id}function Da(e){return`${e.type}:${e.id}`}function Oa(e){if(!Array.isArray(e))return wa;let t=new Map;for(let n of e){if(!n?.id)continue;let e=Ea(n);t.set(e,{...n,type:e})}return Array.from(t.values())}function ka(e){return e.label||e.id||e.type}function Aa(e,t){return e===Ca.type&&(!t||t===Ca.id)}function ja(e,t){return Aa(e.type,e.id)?-1:Aa(t.type,t.id)?1:ka(e.tag).localeCompare(ka(t.tag))||e.type.localeCompare(t.type)||e.id.localeCompare(t.id)}function Ma(e,t){return Aa(e.type)?-1:Aa(t.type)?1:e.type.localeCompare(t.type)}function Na(e,t){let n=Ta(t);return n?Oa(e.getResourceMeta(n,xa)?.[Sa]):wa}function Pa(e,t){let n=Ta(t);return n?Oa(e?.iiif?.meta?.[n]?.[xa]?.[Sa]):wa}function Fa(e,t,n){let r=Ta(t);if(!r)return wa;let i=Oa(n);return e.setMetaValue([r,xa,Sa],i),i}function Ia(e,t,n){return Fa(e,t,[...Na(e,t),n])}function La(e,t,n){return Na(e,t).find(e=>e.type===n)}function Ra(e,t,n,r){return Fa(e,t,Na(e,t).filter(e=>e.type!==n||(r?e.id!==r:!1)))}function za(e,t){let n=new Map;for(let r of t){let t=Ta(r);if(t)for(let i of Na(e,r)){let e=i.type,r=Da(i),a=n.get(e);a||(a={key:e,type:i.type,rows:[],canvasIds:[],canvasCount:0,tagCount:0},n.set(e,a));let o=a.rows.find(e=>e.key===r);o||(o={key:r,type:i.type,id:i.id,tag:i,canvasIds:[],canvasCount:0},a.rows.push(o)),o.canvasIds.push(t),o.canvasCount=o.canvasIds.length,a.tagCount+=1}}for(let e of n.values())e.rows.sort(ja),e.canvasIds=Array.from(new Set(e.rows.flatMap(e=>e.canvasIds))),e.canvasCount=e.canvasIds.length;return Array.from(n.values()).sort(Ma)}function Ba(e,t,n,r){let i=La(e,t,n);return r?i?.id===r:!!i}function Va(e,t,n){return Ba(e,t,n.type,n.id)?Ra(e,t,n.type):Ia(e,t,n)}function Ha(e){return{getTags(t){return Na(e,t)},setTags(t,n){return Fa(e,t,n)},addTag(t,n){return Ia(e,t,n)},upsertTag(t,n){return Ia(e,t,n)},getTag(t,n){return La(e,t,n)},removeTag(t,n,r){return Ra(e,t,n,r)},hasTag(t,n,r){return Ba(e,t,n,r)},toggleTag(t,n){return Va(e,t,n)}}}function Ua(e){let t=Ta(e);return qe(e=>t?Pa(e,t):wa,[t])}function Wa(e){let t=z(),n=Ta(e),r=N(()=>Ha(t),[t]);return N(()=>({setTags(e){return r.setTags(n,e)},addTag(e){return r.addTag(n,e)},getTag(e){return r.getTag(n,e)},removeTag(e,t){return r.removeTag(n,e,t)},toggleTag(e){return r.toggleTag(n,e)},hasTag(e,t){return r.hasTag(n,e,t)}}),[r,n])}function Ga({icon:e,title:t,...n}){return e===`flag`?R(`svg`,{viewBox:`0 0 24 24`,width:`1em`,height:`1em`,"aria-hidden":t?void 0:!0,...n,children:[t?L(`title`,{children:t}):null,L(`path`,{fill:`currentColor`,d:`M5 21a1 1 0 0 1-1-1V5.6c0-.42.26-.8.65-.94C6.7 3.9 8.65 4 10.5 4.7c1.55.58 3.05.7 4.5.36l3.75-.88A1 1 0 0 1 20 5.15v9.25c0 .46-.31.86-.75.97l-3.79.9c-1.85.43-3.76.28-5.66-.43-1.28-.48-2.55-.59-3.8-.33V20a1 1 0 0 1-1 1Z`})]}):null}function Ka({tag:e,showIcon:t=!0,className:n,style:r}){return R(`span`,{className:`inline-flex max-w-full items-center gap-0.5 rounded px-1 py-0.5 font-medium shadow-sm ${n||``}`,style:{backgroundColor:e.backgroundColor||`#e5e7eb`,color:e.textColor||`#111827`,fontSize:9,lineHeight:`11px`,...r},children:[t&&e.icon?L(Ga,{icon:e.icon,className:`h-2.5 w-2.5 flex-shrink-0`}):null,L(`span`,{className:`min-w-0 truncate`,children:ka(e)})]})}function qa({resource:e,tags:t,className:n}){return t?L(Ya,{tags:t,className:n}):L(Ja,{resource:e,className:n})}function Ja({resource:e,className:t}){return L(Ya,{tags:Ua(e),className:t})}function Ya({tags:e,className:t}){let n=e;return n.length?L(`div`,{className:`pointer-events-none absolute bottom-1 right-1 z-10 flex max-w-full flex-wrap justify-end gap-0.5 ${t||``}`,children:n.map(e=>L(Ka,{tag:e},e.type))}):null}const Xa=O(null);function Za(e){return e===`error`?8e3:5e3}function Qa({children:e,maxVisibleToasts:t=3}){let n=et({maxVisibleToasts:t}),r=N(()=>{let e=(e,t)=>n.add(e,{...t,timeout:t?.timeout??Za(e.variant)}),t=(t,n,r)=>e({...n,variant:t},r);return{add:e,info:(e,n)=>t(`info`,e,n),success:(e,n)=>t(`success`,e,n),warning:(e,n)=>t(`warning`,e,n),error:(e,n)=>t(`error`,e,n),close:n.close}},[n]);return R(Xa.Provider,{value:r,children:[e,L(me,{state:n})]})}function $a(){let e=A(Xa);if(!e)throw Error(`useToasts must be used within a ToastProvider`);return e}function eo(e){return e.status!==`complete`&&e.status!==`error`||!e.completedAt?null:`${e.id}:${e.status}:${e.completedAt}`}function to(e,t,n){let r=t.label||e.label;return t.status===`complete`?{variant:`success`,title:`${r} complete`,description:t.resultsAvailable?`Results are ready.`:void 0,action:t.resultsAvailable&&n?{label:`Results`,onPress:n}:void 0}:t.status===`error`?{variant:`error`,title:`${r} failed`,description:t.error?.message||t.statusText||`Action failed`}:null}function no(e){return{id:e.id,type:e.type,label:e.type,scope:`root`}}function ro(e){if(!(!e||!e.id||e.type!==`Canvas`))return{id:e.id,type:`Canvas`,label:`Current canvas`,scope:`canvas`}}function io(){let e=na(),t=ra();return N(()=>ro([e,...t].find(e=>e?.resource?.source?.type===`Canvas`)?.resource?.source),[e,t])}function ao(){let e=bi(),t=io(),n=z(),r=N(()=>Ha(n),[n]),i=N(()=>Ut(n),[n]),a=Xr(),o=Ot(),s=ga(),c=_a();return N(()=>({rootResource:e,currentCanvas:t,vault:n,tags:r,canvasProgress:i,plugins:a,config:o,layoutState:s,layoutActions:c}),[e,t,n,r,i,a,o,s,c])}function oo(){let e=K(e=>e.definitions),t=K(e=>e.instances),n=ao(),r=N(()=>no(n.rootResource),[n.rootResource]);return N(()=>sn({definitions:e,instances:t,systemContext:n,targets:[r,...n.currentCanvas?[n.currentCanvas]:[]],onSupportsError:(e,t)=>{console.error(`Background action "${e.id}" failed support check`,t)}}),[e,t,r,n])}function so(){let e=Qn(),t=K(e=>e.definitions),n=K(e=>e.instances),r=K(e=>e.plans),i=K(e=>e.controllers),a=K(e=>e.hasHydrated),o=ao(),s=P(new Set);return j(()=>{if(!a)return;let c=new Map(t.map(e=>[e.id,e]));for(let[t,a]of Object.entries(n)){let n=c.get(a.actionId),l=`${t}:${a.runId}`;!n?.resumable||!lo(a)||!r[t]||i[t]||s.current.has(l)||(s.current.add(l),Wn({store:e,resume:!0,context:{...o,definition:n,target:a.target,instanceKey:t,instance:a}}))}},[i,t,a,n,r,e,o]),L(I,{children:t.map(e=>e.render?L(xe,{children:e.render({...o,definition:e})},e.id):null)})}function co(){let e=K(e=>e.definitions),t=K(e=>e.instances),n=ao(),r=$a(),i=P(new Set),a=N(()=>new Map(e.map(e=>[e.id,e])),[e]);return j(()=>{for(let e of Object.values(t)){let t=eo(e);if(!t||i.current.has(t))continue;let o=a.get(e.actionId);if(!o)continue;let s={...n,definition:o,target:e.target,instanceKey:e.id,instance:e},c=to(o,e,e.resultsAvailable&&o.onResults?()=>{o.onResults?.(s)}:void 0);c&&(r.add(c),i.current.add(t))}},[a,t,n,r]),null}function lo(e){return e?.status===`preparing`||e?.status===`running`}function uo(e){return!e||e.status===`idle`?``:e.status===`error`?e.error?.message||e.statusText||`Error`:e.status===`complete`&&e.resultsAvailable?`Results ready`:e.status===`cancelled`?`Cancelled`:e.statusText||e.status}function fo(e){return e?new Date(e).toLocaleString():`Not recorded`}function po(e){return e?new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):`--:--:--`}function mo(e){if(!e.startedAt)return`Not recorded`;let t=e.completedAt||Date.now(),n=Math.max(0,Math.round((t-e.startedAt)/1e3)),r=Math.floor(n/60),i=n%60;return r?`${r}m ${i}s`:`${i}s`}function ho(e){if(e===void 0)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function go({label:e,value:t}){return R(`div`,{className:`min-w-0`,children:[L(`dt`,{className:`text-[10px] font-semibold uppercase tracking-widest text-zinc-400`,children:e}),L(`dd`,{className:`mt-1 break-words text-sm text-zinc-800`,children:t})]})}const _o={debug:{label:`DBG`,className:`text-zinc-500`},verbose:{label:`VRB`,className:`text-zinc-500`},info:{label:`INF`,className:`text-sky-400`},log:{label:`LOG`,className:`text-zinc-300`},warn:{label:`WRN`,className:`text-amber-400`},warning:{label:`WRN`,className:`text-amber-400`},error:{label:`ERR`,className:`text-red-400`}};function vo(e){return _o[e?.toLowerCase()]??{label:e?.toUpperCase().slice(0,3)??`LOG`,className:`text-zinc-300`}}const yo={error:`bg-red-100 text-red-700`,failed:`bg-red-100 text-red-700`,completed:`bg-green-100 text-green-700`,success:`bg-green-100 text-green-700`,started:`bg-sky-100 text-sky-700`,cancelled:`bg-zinc-100 text-zinc-600`,warning:`bg-amber-100 text-amber-700`,warn:`bg-amber-100 text-amber-700`};function bo(e){return yo[e?.toLowerCase()]??`bg-zinc-100 text-zinc-600`}function xo(e){return e?.toLowerCase()in yo}function So({definition:e,instance:t,onClose:n}){let[r,i]=F(`overview`),a=P(null),o=t.logs.length;j(()=>{r===`logs`&&a.current?.scrollIntoView({behavior:`instant`})},[r]);let s={idle:`bg-zinc-100 text-zinc-600`,preparing:`bg-orange-100 text-orange-700`,running:`bg-orange-100 text-orange-700`,complete:`bg-green-100 text-green-700`,error:`bg-red-100 text-red-700`,cancelled:`bg-zinc-100 text-zinc-500`},c=t.events.filter(e=>xo(e.type)),l=[{id:`overview`,label:`Overview`},{id:`logs`,label:`Logs`,count:o}];return R(ee,{title:t.label||e.label,onClose:n,className:`max-w-3xl`,children:[L(`div`,{className:`sticky top-0 z-10 border-b border-zinc-200 bg-white px-2`,children:L(`div`,{className:`flex gap-0.5`,children:l.map(e=>R(`button`,{type:`button`,onClick:()=>i(e.id),className:[`flex items-center gap-1.5 border-b-2 px-3 py-2.5 text-sm transition-colors -mb-px`,r===e.id?`border-me-primary-500 font-semibold text-me-primary-600`:`border-transparent text-zinc-500 hover:text-zinc-800`].join(` `),children:[e.label,e.count?L(`span`,{className:`rounded-full bg-zinc-100 px-1.5 py-0.5 text-[10px] font-medium text-zinc-500`,children:e.count}):null]},e.id))})}),r===`overview`&&R(`div`,{className:`flex flex-col gap-5 p-5`,children:[R(`div`,{className:`flex flex-wrap items-center gap-2`,children:[L(`span`,{className:[`inline-flex items-center gap-1.5 rounded-full px-3 py-1 text-xs font-semibold uppercase tracking-wide`,s[t.status]??`bg-zinc-100 text-zinc-600`].join(` `),children:t.status}),t.statusText?L(`span`,{className:`text-sm text-zinc-500`,children:t.statusText}):null]}),R(`dl`,{className:`grid gap-x-6 gap-y-4 sm:grid-cols-2`,children:[L(go,{label:`Target`,value:`${t.target.label} (${t.target.type})`}),L(go,{label:`Run ID`,value:t.runId}),L(go,{label:`Started`,value:fo(t.startedAt)}),L(go,{label:`Finished`,value:fo(t.completedAt)}),L(go,{label:`Duration`,value:mo(t)}),t.progress?L(go,{label:`Progress`,value:`${Math.round(t.progress.percent)}%${t.progress.label?` — ${t.progress.label}`:``}`}):null]}),t.progress?R(`div`,{children:[L(d,{percent:t.progress.percent,label:t.progress.label||`Background action progress`}),typeof t.progress.current==`number`&&typeof t.progress.total==`number`?R(`div`,{className:`mt-1 text-xs text-zinc-500`,children:[t.progress.current,` of `,t.progress.total,` items`]}):null]}):null,t.error?R(`div`,{className:`rounded-lg border border-red-200 bg-red-50`,children:[L(`div`,{className:`border-b border-red-200 px-4 py-2.5`,children:L(`span`,{className:`text-xs font-semibold uppercase tracking-widest text-red-600`,children:`Error`})}),R(`div`,{className:`p-4`,children:[L(`div`,{className:`text-sm font-medium text-red-800`,children:t.error.message}),t.error.stack?L(`pre`,{className:`mt-3 max-h-40 overflow-auto rounded bg-red-100 p-3 text-xs text-red-700 leading-relaxed whitespace-pre-wrap`,children:t.error.stack}):null]})]}):null,c.length>0?R(`div`,{children:[L(`h3`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-widest text-zinc-400`,children:`Key events`}),L(`div`,{className:`divide-y divide-zinc-100 rounded-lg border border-zinc-200`,children:c.map(e=>R(`div`,{className:`flex items-baseline gap-3 px-3 py-2`,children:[L(`span`,{className:[`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide`,bo(e.type)].join(` `),children:e.type}),L(`span`,{className:`min-w-0 flex-1 truncate text-sm text-zinc-700`,children:e.message||e.type}),L(`time`,{className:`shrink-0 text-xs text-zinc-400`,children:po(e.createdAt)})]},e.id))})]}):null]}),r===`logs`&&L(`div`,{className:`p-5`,children:o===0?L(`div`,{className:`rounded-lg border border-zinc-200 p-6 text-center text-sm text-zinc-400`,children:`No logs recorded.`}):R(`div`,{className:`overflow-hidden rounded-lg bg-zinc-950 shadow-inner`,children:[R(`div`,{className:`flex items-center gap-1.5 border-b border-white/10 px-3 py-2`,children:[L(`div`,{className:`h-2.5 w-2.5 rounded-full bg-zinc-700`}),L(`div`,{className:`h-2.5 w-2.5 rounded-full bg-zinc-700`}),L(`div`,{className:`h-2.5 w-2.5 rounded-full bg-zinc-700`}),R(`span`,{className:`ml-2 text-[10px] text-zinc-500 font-mono`,children:[o,` `,o===1?`entry`:`entries`]})]}),R(`div`,{className:`max-h-[50vh] overflow-y-auto p-1 font-mono text-xs`,children:[t.logs.map(e=>{let t=vo(e.level);return R(`div`,{className:`group flex gap-0 hover:bg-white/5 rounded px-2 py-1 leading-relaxed`,children:[L(`time`,{className:`w-20 shrink-0 text-zinc-600 select-none pr-2`,children:po(e.createdAt)}),L(`span`,{className:[`w-10 shrink-0 select-none font-bold pr-2`,t.className].join(` `),children:t.label}),R(`span`,{className:`min-w-0 flex-1 text-zinc-200 break-words`,children:[e.message,e.data===void 0?null:L(`span`,{className:`block mt-0.5 text-zinc-500 whitespace-pre-wrap`,children:ho(e.data)})]})]},e.id)}),L(`div`,{ref:a})]})]})})]})}function Co(){let e=Qn(),t=oo(),[n,g]=F(null),_=t.reduce((e,t)=>e+t.actions.length,0),v=t.reduce((e,t)=>e+t.actions.filter(e=>lo(e.instance)).length,0),y=t.reduce((e,t)=>e+t.actions.filter(e=>e.instance?.status===`error`).length,0),{isOpen:b,buttonProps:x,itemProps:S,setIsOpen:C}=Xe(_);if(!_)return null;let w=n?t.flatMap(e=>e.actions).find(e=>e.instanceKey===n):void 0,T=0;return R(f,{children:[L(r,{active:b,runningCount:v,errorCount:y,"aria-label":`Actions menu`,...x}),L(u,{open:b,role:`menu`,children:L(`div`,{className:`py-1.5`,children:t.map((t,n)=>R(xe,{children:[n?L(i,{}):null,L(p,{children:t.label}),t.actions.map(t=>{let{onKeyDown:n,...r}=S[T++]||{},i=uo(t.instance),u=lo(t.instance),f=()=>{u||(Wn({store:e,context:t.context}),C(!0))},p=()=>{u&&(e.getState().cancelAction(t.instanceKey),C(!0))};return R(s,{status:t.instance?.status||`idle`,children:[L(h,{running:u,...r,"aria-label":u?`Cancel ${t.definition.label}`:`Run ${t.definition.label}`,onMouseDown:e=>{e.preventDefault()},onClick:e=>{e.stopPropagation(),u?p():f()},onKeyDown:e=>{e.key===`Enter`||e.key===` `?(e.preventDefault(),e.stopPropagation(),u?p():f()):n?.(e)},children:R(m,{children:[L(c,{running:u,children:t.instance?.label||t.definition.label}),i?L(l,{variant:t.instance?.status===`error`?`error`:`default`,children:i}):null,t.definition.summary&&!i?L(l,{children:t.definition.summary}):null,u&&t.instance?.progress?L(d,{percent:t.instance.progress.percent,label:t.instance.progress.label||i||t.definition.label}):null]})}),t.instance?.resultsAvailable&&t.definition.onResults?L(o,{onClick:e=>{e.stopPropagation(),t.definition.onResults?.(t.context)},children:`Results`}):null,t.instance?L(a,{"aria-label":`View ${t.definition.label} details`,onClick:e=>{e.preventDefault(),e.stopPropagation(),g(t.instanceKey),C(!0)}}):null]},t.instanceKey)})]},t.id))})}),w?.instance?L(So,{definition:w.definition,instance:w.instance,onClose:()=>g(null)}):null]})}const wo=Ee(function(e){let[t]=_e(`menu-hidden`);return L(pi,{children:R(fi,{children:[L(mi,{onClick:e.onClickLogo,children:L(E,{})}),L(Yi,{}),L(Co,{})]})})}),To=O(null);function Eo(){return A(To)||null}function Do(e,t){let n=Eo();return n?n[e][t]:null}function Oo({children:e,menu:t}){return L(To.Provider,{value:t,children:e})}function ko(){return A(Fe)}function Ao(e){if(!e)return null;if(e.points.length>2){let t=Math.min(...e.points.map(e=>e[0])),n=Math.min(...e.points.map(e=>e[1])),r=Math.max(0,...e.points.map(e=>e[0])),i=Math.max(0,...e.points.map(e=>e[1]));return{x:t,y:n,width:r-t,height:i-n}}return null}const jo=async e=>new Promise((t,n)=>{let r=document.createElement(`img`);r.onload=()=>t(r),r.onerror=()=>n(),r.src=e,r.complete&&t(r)}),Mo=async e=>new Promise((t,n)=>{let r=document.createElement(`video`);r.onloadedmetadata=()=>t(r),r.onerror=()=>n(),r.preload=`metadata`,r.src=e});async function No(){}async function Po(e,...t){if(!e)return;if(e.endsWith(`.mp3`)||e.endsWith(`.mp4`)||e.endsWith(`.m4a`)||e.endsWith(`.m4v`))try{let t=await Mo(e);if(t){let n=t.videoWidth===0;return{id:e,type:t.videoWidth===0?`Sound`:`Video`,width:t.videoWidth||void 0,height:t.videoHeight||void 0,duration:t.duration,format:n?`audio/mp4`:`video/mp4`}}}catch{}let n=null;try{n=await fetch(e)}catch{return Lo(e)}if(!n.ok&&(n=await fetch(e+`/info.json`),!n.ok))return Lo(e);let r=n.headers.get(`Content-Type`);if(r?.includes(`image/`))return Lo(e,r);let i=null;try{i=await n.json()}catch{return null}return await Io(i,e)}function Fo(e){return e.protocol&&e.protocol===`http://iiif.io/api/image`?(e.type||(e.type=`ImageService`),e):null}async function Io(e,t){let n=Fo(e);if(n)return n;if(!(e.id||e[`@id`]))return null;let r=await new nt.Vault().load(t,e);if(r&&(r&&r?.type===`Manifest`||r?.type===`Collection`))return{id:t,type:r.type,label:tt(r.label)}}async function Lo(e,t){let n=e.split(`/`);if(n.length>=8){let e=n.slice(-4);if(e[3].split(`.`).length===2&&(e[2][0]===`!`||e[2]===e[2])){let e=await Ro(n.slice(0,n.length-4).join(`/`)+`/info.json`);if(e&&e?.type&&e?.type?.startsWith(`ImageService`))return e}}try{let n=await jo(e);return{id:e,type:`Image`,width:n.width,height:n.height,format:await zo(e,t)}}catch{}return null}async function Ro(e){try{let t=await fetch(e);return t.ok?await Io(await t.json(),e):null}catch(e){return console.log(e),null}}async function zo(e,t){if(t)return t;try{let t=(await fetch(e,{method:`HEAD`,mode:`no-cors`})).headers.get(`Content-type`);if(t)return t}catch{}let n=e.toLowerCase();return n.endsWith(`jpg`)||n.endsWith(`jpeg`)?`image/jpeg`:n.endsWith(`png`)?`image/png`:`image/jpeg`}async function Bo(e){try{let t=await jo(e);if(t)return{width:t.naturalWidth||t.width,height:t.naturalHeight||t.height}}catch{return null}return null}const Vo=ke(e=>({regions:{},resources:[],setRegion:(t,n)=>{e(e=>({...e.regions,regions:{[t]:n||null}}))},setHighlight:t=>{e({resources:Array.isArray(t)?t:[t]})},highlight:t=>{e(e=>e.resources.indexOf(t)===-1?{resources:[...e.resources,t]}:e)},clearHighlight:t=>{e(e=>({resources:e.resources.filter(e=>e!==t)}))}}));function Ho(e){let t=N(()=>ar(),[]),n=Vo(e=>e.regions[t]),r=Vo(e=>e.setRegion);j(()=>{n&&e?n!==e&&(n.x!==e.x||n.y!==e.y||n.width!==e.width||n.height!==e.height)&&r(t,e||null):r(t,e||null)},[n]),j(()=>()=>r(t,null),[])}function Uo(e){let t=Vo(e=>e.highlight),n=Vo(e=>e.clearHighlight);return j(()=>()=>{e&&n(e)},[n,e]),N(()=>({onMouseEnter(){e&&t(e)},onMouseLeave(){e&&n(e)}}),[e,t,n])}const Wo=e=>R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`1em`,width:`1em`,viewBox:`0 0 24 24`,...e,children:[L(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),L(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),L(`path`,{d:`M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z`,fill:`currentColor`})]}),Go=({style:e})=>R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`1rem`,viewBox:`0 0 24 24`,width:`1rem`,fill:`#000000`,style:e,children:[L(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),L(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`})]});function Ko(e){let t=e.error.toString(),[n,r]=F(!1);return R(ne,{children:[L(x,{className:`mb-2`,children:t}),L(Ri,{onClick:e.resetErrorBoundary,children:`Try again`})]})}function qo(e){return e&&e.pinnable}function Jo({initial:e,fallback:t,options:n={}}){return Math.max(n.minWidth||0,Math.min(n.maxWidth||1/0,e||t))}function Yo(e){return typeof e==`string`?Ce(`div`,{dangerouslySetInnerHTML:{__html:e}}):e}const Xo=V.div`
240
243
  position: relative;
241
244
  display: inline-block;
242
- `;R.div`
245
+ `;V.div`
243
246
  display: flex;
244
247
  flex-direction: column;
245
248
  position: absolute;
@@ -254,7 +257,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
254
257
  background-color: ${e=>e.theme.color.lightgrey||`lightgrey`};
255
258
  }
256
259
  }
257
- `;const Un=R.button`
260
+ `;const Zo=V.button`
258
261
  padding: 0 ${e=>e.theme.padding.small||`0.5rem`};
259
262
  color: ${e=>e.theme.color.main||`none`};
260
263
  background-color: ${e=>e.theme.color.white||`white`};
@@ -273,7 +276,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
273
276
  background-color: ${e=>e.theme.color.lightgrey||`lightgrey`};
274
277
  }
275
278
 
276
- ${e=>e.$active&&z`
279
+ ${e=>e.$active&&H`
277
280
  background: #b84c74;
278
281
  color: #fff;
279
282
  &:hover {
@@ -281,7 +284,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
281
284
  color: #fff;
282
285
  }
283
286
  `}
284
- `,Wn=R.div`
287
+ `,Qo=V.div`
285
288
  display: none;
286
289
  flex-direction: column;
287
290
  position: absolute;
@@ -299,26 +302,26 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
299
302
  overflow: hidden;
300
303
  padding-bottom: 3px;
301
304
 
302
- ${K} {
305
+ ${Y} {
303
306
  &:hover {
304
307
  background-color: ${e=>e.theme.color.lightgrey||`lightgrey`};
305
308
  }
306
309
  }
307
310
 
308
- ${e=>e.$open&&z`
311
+ ${e=>e.$open&&H`
309
312
  display: flex;
310
313
  `}
311
- `,Gn=R.div`
314
+ `,$o=V.div`
312
315
  color: #999;
313
316
  text-transform: uppercase;
314
317
  font-weight: 600;
315
318
  padding: 0.7em;
316
319
  font-size: 0.875em;
317
- `,Kn=R.div`
320
+ `,es=V.div`
318
321
  height: 1px;
319
322
  margin: 0 0.5em;
320
323
  background: #eee;
321
- `,qn=D(null);function Jn(){return k(qn)}const Yn=R.div`
324
+ `,ts=O(null);function ns(){return A(ts)}const rs=V.div`
322
325
  display: flex;
323
326
  flex-direction: column;
324
327
  position: relative;
@@ -370,7 +373,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
370
373
  &[data-state="unmounted"] {
371
374
  transform: translateX(100%);
372
375
  }
373
- `,Xn=R.div`
376
+ `,is=V.div`
374
377
  background: #fff;
375
378
  display: flex;
376
379
  height: 2.8em;
@@ -392,7 +395,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
392
395
  background: #ffc2d2;
393
396
  box-shadow: inset 0 -5px 10px 0 rgba(255, 255, 255, 0.5);
394
397
  }
395
- `,q=R.button`
398
+ `,as=V.button`
396
399
  border: none;
397
400
  background: transparent;
398
401
  padding: 0 0.4em;
@@ -404,15 +407,15 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
404
407
  svg {
405
408
  font-size: 1.2em;
406
409
  }
407
- `,Zn=R.div`
410
+ `,os=V.div`
408
411
  flex: 1 1 0px;
409
- `,Qn=R.div`
412
+ `,ss=V.div`
410
413
  font-size: 0.875em;
411
414
  flex: 1 1 0px;
412
415
  padding-left: 1em;
413
416
  text-align: center;
414
417
  align-self: center;
415
- `,$n=R.div`
418
+ `,cs=V.div`
416
419
  flex: 1 1 0px;
417
420
  display: flex;
418
421
 
@@ -423,13 +426,13 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
423
426
  > * {
424
427
  min-width: 0;
425
428
  }
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`
429
+ `;function ls({panel:e,state:t,actions:n,isLeft:r,pinActions:i=n,transition:a,close:o,available:s=[],style:c,noHeader:l}){let u=A(ze)||null,[d,f]=F(!1),p=ai(),m=ba(),{tabs:h,pinnable:g,hideHeader:_}=e?.options||{},v=[p.state.canvasId,e?.id],y=N(()=>(s||[]).filter(e=>!e.requiresState),[s]),{itemProps:b,isOpen:x,setIsOpen:S}=Xe(y.length),[C,w]=F(``),T=P(void 0);j(()=>f(!1),v),j(()=>w(``),[e]),j(()=>(T.current=w,()=>{T.current=void 0}),[]);let E=k(e=>{T.current&&T.current(e)},[]),ee=k(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(),S(!0)):i&&i()},[n,p,m,e,S,t,y.length]),te=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?L(as,{onClick:ee,children:L(Go,{})}):null,re=L(as,{onClick:o||n.close,children:L(hi,{})});return L(ts.Provider,{value:E,children:R(rs,{"data-state":a,"data-flipped":r,style:c,"data-header":!l,children:[l?null:R(is,{"data-tabs":!!h,"data-error":d,children:[R(Xo,{style:{display:`flex`,height:`100%`},children:[e.renderBackAction?e.renderBackAction({backAction:ee,fallback:ne}):ne,y.length?R(Qo,{$open:x,style:{left:`0.5em`},children:[L($o,{children:`All panels`}),L(es,{}),y.map((t,n)=>L(Zo,{...b[n],onClick:()=>te(t),$active:e.id===t.id,children:t.label},n))]}):null]}),C?L(ss,{children:C}):_?L(os,{}):L(ss,{children:e.label}),g?t.pinned?L(as,{onClick:i.unpin,children:L(Wo,{fill:`orange`})}):L(as,{onClick:()=>i.pin({id:e.id,state:t.state}),children:L(Wo,{fill:`#ddd`})}):null,e.renderCloseAction?e.renderCloseAction({closeAction:o||n.close,fallback:re}):re]}),L(cs,{className:`OverrideScrollbar`,children:L(ot,{onError:()=>f(!0),FallbackComponent:Ko,resetKeys:v,onReset:()=>f(!1),children:Yo(e.render(t.state||e.defaultState||{},{...m,current:n,vault:u,transition:a},p))})})]})})}function us(e=`vault://homepage-collection.json`){let t=new rt,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(dt({id:i.id}));let e=ft(i.id,i);t.dispatch(ct({actions:e})),r=!0}}catch{}if(!r){let n=ft(e,{"@context":`http://iiif.io/api/presentation/3/context.json`,id:e,type:`Collection`,label:{en:[`Recent items`]},items:[]});t.dispatch(dt({id:e})),t.dispatch(ct({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(st({id:e,type:`Collection`,reference:{id:n,type:r},key:`items`,index:0})):t.dispatch(ut({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(lt({id:e,type:`Collection`,key:`items`,value:[]})),window.localStorage.setItem(`preview-vault-collection`,JSON.stringify(t.toPresentation3({id:e,type:`Collection`})))}}}function ds(){return A(fs)}const fs=O(new rt),ps=O({addHistory:(e,t)=>{},clearHistory:()=>{}}),ms=`manifest-editor://homepage-collection.json`;function hs(){return A(ps)}function gs(e){let{vault:t,unsubscribe:n,addHistory:r,clearHistory:i}=N(()=>us(ms),[]);return j(()=>n,[]),L(ps.Provider,{value:{addHistory:r,clearHistory:i},children:L(fs.Provider,{value:t,children:e.children})})}function _s({children:e}){return L(Ve,{vault:ds(),children:e})}function vs(e,t,n,r,i){let a=z(),o=q(),{create:s,edit:c}=_a(),l=N(()=>at({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=k((a,o)=>{if(e)return s({type:n,parent:B(e),property:t,index:a,target:r,initialData:o,...i||{}})},[s,e,t,n,i,r]),f=k((a,o,c)=>{if(e)return s({type:n,filter:a,parent:B(e),property:t,index:o,target:r,initialData:c,...i||{}})},[s,e,t,n,i,r]);return[u,{create:d,edit:k((n,r)=>{c(n,e?{parent:B(e),property:t,index:r}:void 0)},[c,e,t]),createFiltered:f,creator:k((a,o)=>{if(e)return s({type:n,initialCreator:a,parent:B(e),property:t,target:r,initialData:o,...i||{}})},[n,t,e,r,s,i]),buttonProps:N(()=>({"data-action-id":nr(n,t,e)}),[n,t,e])}]}function ys(){let e=z(),t=ds(),n=q();return N(()=>new it(e,n.layout.creators||[],t),[n.layout.creators,e])}const bs=O({});function xs(e){return A(bs)[e]||{}}function Ss(e){let t=A(bs),n=N(()=>({...t,[e.id]:e.data}),[t,e.id,e.data]);return L(bs.Provider,{value:n,children:e.children})}const Cs=Ee(function(t){let n=z(),{edit:r,modal:i}=_a(),[a,o]=F(!1),[s,c]=F(null),l=ys(),u=P(!1),d=t.resource.initialData?.selector;Ho(d);let f=xs(t.creator.id),p={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:{...f,...t.resource.initialData||{}}},m=e=>{try{if(a||u.current)return;o(!0),u.current=!0,l.create(t.creator.id,e,p).catch(e=>(c(e?.message||`Unknown error`),null)).then(async e=>{if(t.onCreate?.(),t.resource.initialData?.skipEditingOnCreate){o(!1),i.popStack(),i.close();return}if(t.skipEditingOnCreate||!e)return;let n=Array.isArray(e)?e[0]:e;o(!1),i.popStack(),i.close(),n&&r(n,{parent:B(t.resource.parent),property:t.resource.property,index:t.resource.index})})}catch(e){c(e?.message||`Unknown error`)}},h=async()=>!0;if(j(()=>{t.resource.initialData?.showEmptyForm||!t.creator.render&&!a&&m({})},[t.creator]),s)return L(`div`,{className:`flex flex-col items-center p-4`,children:L(x,{children:s})});let g=L(`div`,{className:`flex flex-col items-center py-8`,children:R(`div`,{className:`flex gap-2 items-center`,children:[L(le,{}),` `,L(`span`,{children:`Loading`})]})});return a?g:t.creator.render?L(I,{children:L(Se,{fallback:g,children:t.creator.render({vault:n,runCreate:m,validate:h,options:p})})}):R(I,{children:[L(b,{children:`No options available`}),L(e,{primary:!0,onPress:()=>m({}),children:t.creator.actionButton||`Create`})]})});function ws(e){let t=q(),n=z(),[r,i]=F(e.resource.initialCreator||``),a=ns(),o=N(()=>at(e.resource,t.layout.creators||[],{vault:n}),[e.resource,t.layout.creators,n]);o.length===1&&!r&&i(o[0].id);let s=o.find(e=>e.id===r);if(j(()=>{s&&a?.(s.label)}),o.length===0)return L(b,{children:`Not currently supported`});let c=L(te,{children:L(w,{root:document.getElementById(`headlessui-portal-root`)||void 0,label:`Back to Add content options`,className:`group`,placement:`right`,onPress:()=>i(``),children:L(C,{className:`text-2xl opacity-50 group-hover:opacity-70`})})});return s?s.hiddenModal?R(I,{children:[c,L(Cs,{creator:s,resource:e.resource})]}):R(`div`,{children:[c,L(`div`,{className:`p-2 py-6`,children:L(Cs,{creator:s,resource:e.resource})})]}):L(_,{label:`Select a type`,items:o.map(e=>({id:e.id,title:e.label,description:e.summary||``,icon:e.icon,onClick:()=>i(e.id)}))})}const Ts={id:`@manifest-editor/creator`,label:`Add content`,options:{hideHeader:!0,tabs:!1},render(e){return L(ws,{resource:e})}},Es={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 Ds(e){let{}=e,t=z(),n=q(),r=N(()=>at(e.resource,n.layout.creators||[],{vault:t}),[e.resource,n.layout.creators,t]);return r.length===0?L(`div`,{children:`No supported creators found`}):L(`div`,{children:R(pe,{className:`w-full flex-1 overflow-hidden flex flex-col`,children:[L(de,{className:`flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap`,items:r,children:e=>L(ue,{id:e.id,children:e.label})}),r.map(t=>L(fe,{id:t.id,className:`p-2`,children:L(Ye,{theme:Es,children:L(Cs,{creator:t,resource:e.resource,onCreate:e.onCreate,skipEditingOnCreate:!0})})},t.id))]})})}function Os({fallback:e,backAction:t}){let n=ra(),{back:r}=ta();return n.length?L(as,{onClick:r,children:L(Go,{})}):e}function ks({closeAction:e,fallback:t}){let n=ra();return na()||n.length?L(as,{onClick:()=>{e()},children:L(hi,{})}):t}function As(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 js({currentTab:e=void 0}){let t=na(),n=A(Be),r=q(),i=bi(),a=z(),{change:o}=_a(),s=ns(),{editorConfig:c}=Ot(),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=N(()=>{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?L(Be.Provider,{value:p,children:e}):e}let h=N(()=>{if(!t)return null;let e=r.layout.editors||[];return As(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]);j(()=>{s(h?.label||``)},[h]),j(()=>{let t=h?.editors.map(e=>e.id)||[];t.find(t=>t===e)||o(`@manifest-editor/editor`,{currentTab:t[0]})},[h?.editors,e,o]);let g=N(()=>(h?.editors||[]).map(e=>({id:e.id,label:e.label,renderComponent:()=>e.component(f)})),[h?.editors,f]);if(!t||!h)return null;if(f.singleTab){let e=(h?.editors||[]).find(e=>e.id===f.singleTab);if(e)return m(L(`div`,{className:`w-full`,children:e.component(f)},t.resource.source?.id))}return m(L(ce,{isNested:d,rootResource:i,menuId:t.resource.source.id,menu:g,selectedKey:e,onSelectionChange:e=>{o(`@manifest-editor/editor`,{currentTab:e})}},t.resource.source?.id))}const Ms={id:`@manifest-editor/editor`,label:`Editor`,options:{hideHeader:!0,tabs:!0,minWidth:400},renderBackAction:({backAction:e,fallback:t})=>L(Os,{backAction:e,fallback:t}),renderCloseAction:({closeAction:e,fallback:t})=>L(ks,{closeAction:e,fallback:t}),render({currentTab:e}){return L(js,{currentTab:e})}};function Ns(e){let[t,n]=F(!1),r=P(null),i=P(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 N(()=>[t,{set:o,clear:a}],[t])}function Ps(e){return e?typeof e==`string`?{src:e,alt:``}:e:null}function Fs(e){return e?typeof e==`string`?e:e.name:null}function Is(e){let t=e.extension,n=t.leftPanels?.[0]||t.centerPanels?.[0]||t.rightPanels?.[0]||t.modalPanels?.[0];return n?{id:n.id,label:n.label||`Open plugin`,modal:t.modalPanels?.some(e=>e.id===n.id)||!1}:null}function Ls(e){return e instanceof Error?e.message:`Plugin configuration could not be saved.`}function Rs(e){return R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[L(`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`}),L(`circle`,{cx:`12`,cy:`12`,r:`3`})]})}function zs(e){return R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[L(`path`,{d:`M7 7h10v10`}),L(`path`,{d:`M7 17 17 7`})]})}function Bs(){let e=q(),{appId:t}=ii(),n=Ot(),r=kt(),i=qr(),a=Yr(),o=_a(),{saveGlobalPluginConfig:s}=A(Hr),[c,l]=F(!1),[u,d]=F(``),[f,p]=F(null),[m,h]=F(null),[_,v]=F(null),y=N(()=>new Set(Dr(i,e,t).map(e=>e.metadata.id)),[i,e,t]),b=N(()=>{let n=u.trim().toLowerCase();return i.plugins.filter(r=>{let i=Cr(r,e,t);return!c&&!i?!1:n?[r.metadata.label,r.metadata.id,r.metadata.description,Fs(r.metadata.author),...r.metadata.tags||[]].filter(Boolean).join(` `).toLowerCase().includes(n):!0})},[e,t,i.plugins,u,c]),x=f&&i.plugins.find(e=>e.metadata.id===f)||null;if(!i.plugins.length)return null;function S(e){a.setAppConfig(t,e),r({plugins:{...n.plugins||{},apps:{...n.plugins?.apps||{},[t]:e}}})}async function C(e){if(!s){v(`Global plugin settings are not available in this host.`);return}let n=i.globalApps[t]||{},r={apps:{...i.globalApps,[t]:e}};a.setGlobalAppConfig(t,e);try{await s(r)}catch(e){a.setGlobalAppConfig(t,n),v(Ls(e))}}async function w(n,r,a){v(null),h(`${a}:${n.metadata.id}`);let o=a===`global`?i.globalApps[t]||{}:i.apps[t]||{},s=r?Pr(o,i,n,e,t):{config:gr(o,n.metadata.id),blocked:[]};if(s.blocked.length){h(null),v(`Cannot enable ${n.metadata.label}: ${s.blocked.join(`, `)}.`);return}a===`global`?await C(s.config):S(s.config),h(null)}function T(e){let t=Is(e);if(t){if(t.modal){o.modal.open({id:t.id});return}o.open(t.id)}}return R(`section`,{className:`flex flex-col gap-3 border-t border-gray-200 pt-4 mt-4`,children:[R(`div`,{className:`flex items-center gap-2`,children:[L(`div`,{className:`min-w-0 flex-1`,children:L(`h3`,{className:`font-semibold text-sm text-gray-900`,children:`Plugins`})}),L(`button`,{type:`button`,className:`rounded border border-gray-200 bg-white px-2 py-1 text-xs text-gray-500 hover:text-gray-700 hover:border-gray-300 transition-colors`,onClick:()=>l(e=>!e),children:c?`Compatible only`:`Show all`})]}),L(`input`,{className:`rounded border border-gray-200 px-2.5 py-1.5 text-xs focus:border-me-primary-500 focus:ring-2 focus:ring-me-primary-500/20 focus:outline-none`,type:`search`,placeholder:`Search plugins…`,value:u,onChange:e=>d(e.currentTarget.value)}),_?L(`div`,{className:`rounded border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700`,children:_}):null,L(`div`,{className:`flex flex-col gap-2`,children:b.map(n=>{let r=Tr(n,i,t),a=y.has(n.metadata.id),o=Ps(n.metadata.image),s=r&&!a,c=Cr(n,e,t),l=wr(n,e,t),u=Is(n),d=!!n.settings,f=m===`workspace:${n.metadata.id}`;return R(`article`,{className:`flex gap-2.5 rounded-lg border bg-white p-3 text-sm transition-colors ${a?`border-gray-200`:`border-gray-100 opacity-60`} ${c?``:`opacity-40`}`,children:[o?L(`img`,{className:`h-9 w-9 rounded object-cover flex-none mt-0.5`,src:o.src,alt:o.alt||n.metadata.label}):L(`div`,{className:`h-9 w-9 rounded flex items-center justify-center flex-none mt-0.5 text-lg ${a?`bg-me-primary-50 text-me-primary-500`:`bg-gray-100 text-gray-400`}`,children:L(Rs,{className:`w-4 h-4`})}),R(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[R(`div`,{className:`flex items-start justify-between gap-1`,children:[R(`div`,{className:`flex flex-wrap items-center gap-1.5 min-w-0`,children:[L(`span`,{className:`font-medium text-gray-900 text-xs`,children:n.metadata.label}),n.metadata.official?R(`span`,{className:`rounded-full text-me-primary-500 px-1.5 py-0 text-[9px] font-bold inline-flex items-center gap-1`,children:[L(g,{className:`w-3 h-3`}),` Verified`]}):null,n.metadata.version?L(`span`,{className:`text-[10px] text-gray-400`,children:n.metadata.version}):null]}),R(`div`,{className:`flex items-center gap-1 flex-none`,children:[d?L(`button`,{type:`button`,title:`Configure plugin`,className:`rounded p-1 text-gray-400 hover:text-gray-700 hover:bg-gray-100 transition-colors`,onClick:()=>p(n.metadata.id),children:L(Rs,{className:`w-3.5 h-3.5`})}):null,a&&u?L(`button`,{type:`button`,title:`Open ${u.label}`,className:`rounded p-1 text-me-primary-500 hover:bg-me-primary-50 transition-colors`,onClick:()=>T(n),children:L(zs,{className:`w-3.5 h-3.5`})}):null,L(`button`,{type:`button`,disabled:!c||f,onClick:()=>w(n,!r,`workspace`),className:`relative inline-flex h-5 w-9 flex-none items-center rounded-full transition-colors disabled:opacity-40 focus:outline-none focus:ring-2 focus:ring-me-primary-500/30 ${r?`bg-me-primary-500`:`bg-gray-200`}`,title:r?`Disable plugin`:`Enable plugin`,"aria-label":r?`Disable plugin`:`Enable plugin`,children:L(`span`,{className:`inline-block h-3.5 w-3.5 transform rounded-full bg-white shadow transition-transform ${r?`translate-x-4`:`translate-x-0.5`}`})})]})]}),n.metadata.description?L(`p`,{className:`text-xs text-gray-500 leading-relaxed`,children:n.metadata.description}):null,s?L(`span`,{className:`text-xs text-amber-600`,children:`Waiting for required dependencies`}):null,!c&&l?L(`span`,{className:`text-xs text-gray-400`,children:l}):null]})]},n.metadata.id)})}),b.length?null:L(`div`,{className:`rounded-lg border border-gray-100 bg-gray-50 p-4 text-center text-xs text-gray-500`,children:`No plugins found.`}),x?L(ee,{title:`Configure ${x.metadata.label}`,onClose:()=>p(null),width:`560px`,children:L(Vs,{plugin:x,onClose:()=>p(null),canSaveGlobal:!!s})}):null]})}function Vs({plugin:e,onClose:t,canSaveGlobal:n}){let r=Qr(e.metadata.id),[i,a]=F(`workspace`),[o,s]=F({}),[c,l]=F(!1),[u,d]=F(!1),[f,p]=F(null),m=i===`global`?r.global:r.workspace;j(()=>{s({...m}),p(null),d(!1)},[e.metadata.id,i]);async function h(){let t=e.settings?.validate?.(o);if(t){p(t);return}l(!0),p(null);try{i===`global`?await r.setGlobalSettings(o):r.setWorkspaceSettings(o),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){p(Ls(e))}finally{l(!1)}}async function g(){l(!0),p(null);try{i===`global`?await r.resetGlobalSettings():r.resetWorkspaceSettings(),s({})}catch(e){p(Ls(e))}finally{l(!1)}}return R(`div`,{className:`flex flex-col flex-1 min-h-0`,children:[n&&r.canSaveGlobal?R(`div`,{className:`flex items-center gap-1 px-5 pt-4 pb-3 border-b border-gray-100`,children:[L(`span`,{className:`text-xs text-gray-500 mr-2`,children:`Scope:`}),L(`button`,{type:`button`,className:`rounded-full px-3 py-1 text-xs font-medium transition-colors ${i===`workspace`?`bg-me-primary-500 text-white`:`bg-gray-100 text-gray-600 hover:bg-gray-200`}`,onClick:()=>a(`workspace`),children:`This workspace`}),L(`button`,{type:`button`,className:`rounded-full px-3 py-1 text-xs font-medium transition-colors ${i===`global`?`bg-me-primary-500 text-white`:`bg-gray-100 text-gray-600 hover:bg-gray-200`}`,onClick:()=>a(`global`),children:`All workspaces`})]}):null,f?L(`div`,{className:`mx-5 mt-4 rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700`,children:f}):null,L(`div`,{className:`flex-1 overflow-y-auto p-5`,children:L(`div`,{className:`flex flex-col gap-3`,children:e.settings?.render?e.settings.render({plugin:e,appId:r.appId,scope:i,value:o,defaults:r.defaults,effective:r.effective,onChange:s}):e.settings?.fields?.length?e.settings.fields.map(e=>L(Hs,{field:e,draft:o,setDraft:s},e.id)):L(`div`,{className:`rounded-lg border border-gray-100 bg-gray-50 p-4 text-center text-sm text-gray-500`,children:`This plugin has no configurable settings.`})})}),R(`div`,{className:`flex items-center justify-between gap-3 border-t border-gray-100 px-5 py-4`,children:[L(`button`,{type:`button`,className:`text-xs text-gray-400 hover:text-gray-600 transition-colors disabled:opacity-40`,disabled:c,onClick:g,children:`Reset to defaults`}),R(`div`,{className:`flex items-center gap-2`,children:[u?L(`span`,{className:`text-xs text-green-600`,children:`✓ Saved`}):null,L(`button`,{type:`button`,className:`rounded-lg bg-me-primary-500 px-4 py-2 text-sm font-medium text-white hover:bg-me-primary-600 disabled:opacity-50 transition-colors`,disabled:c,onClick:h,children:c?`Saving…`:`Save ${i}`})]})]})]})}function Hs({field:e,draft:t,setDraft:n}){let r=t[e.id],i=`plugin-setting-${e.id}`;function a(r){n({...t,[e.id]:r})}let o=L(`label`,{className:`text-sm font-medium text-gray-900`,htmlFor:i,children:e.label}),s=`rounded-lg border border-gray-200 bg-white px-3 py-2 text-sm focus:border-me-primary-500 focus:ring-2 focus:ring-me-primary-500/20 focus:outline-none`;return e.type===`boolean`?R(`div`,{className:`flex items-center justify-between rounded-lg border border-gray-100 bg-white px-4 py-3`,children:[R(`div`,{className:`flex flex-col gap-0.5`,children:[o,e.description?L(`span`,{className:`text-xs text-gray-500`,children:e.description}):null]}),L(`input`,{id:i,type:`checkbox`,checked:r===!0,onChange:e=>a(e.currentTarget.checked),className:`h-4 w-4 rounded border-gray-300 text-me-primary-500 focus:ring-me-primary-500`})]}):e.type===`textarea`?R(`div`,{className:`flex flex-col gap-2 rounded-lg border border-gray-100 bg-white px-4 py-3`,children:[o,e.description?L(`span`,{className:`text-xs text-gray-500`,children:e.description}):null,L(`textarea`,{id:i,className:`${s} min-h-24 resize-y`,value:typeof r==`string`?r:``,placeholder:e.placeholder,onChange:e=>a(e.currentTarget.value)})]}):e.type===`select`?R(`div`,{className:`flex flex-col gap-2 rounded-lg border border-gray-100 bg-white px-4 py-3`,children:[o,e.description?L(`span`,{className:`text-xs text-gray-500`,children:e.description}):null,R(`select`,{id:i,className:s,value:r===void 0?``:String(r),onChange:t=>{let n=e.options?.find(e=>String(e.value)===t.currentTarget.value);a(n?n.value:t.currentTarget.value)},children:[L(`option`,{value:``,children:`Default`}),(e.options||[]).map(e=>L(`option`,{value:String(e.value),children:e.label},String(e.value)))]})]}):R(`div`,{className:`flex flex-col gap-2 rounded-lg border border-gray-100 bg-white px-4 py-3`,children:[o,e.description?L(`span`,{className:`text-xs text-gray-500`,children:e.description}):null,L(`input`,{id:i,className:s,type:e.type===`number`?`number`:`text`,value:typeof r==`string`||typeof r==`number`?r:``,placeholder:e.placeholder,onChange:t=>{a(e.type===`number`?Number(t.currentTarget.value):t.currentTarget.value)}})]})}function Us(){let t=Ii(),n=bi(),r=Ot(),i=kt(),[a,o]=Ns(2e3);function s(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},plugins:r.plugins,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`}}),o.set(),o.clear()}return R(oe,{children:[L(se,{title:`Workspace configuration`}),a?L(`div`,{className:`bg-me-primary-500 text-white p-3 text-sm`,children:`Changes saved`}):null,L(D,{className:`p-4`,children:R(S.Form,{onSubmit:s,className:`flex flex-col gap-3`,children:[R(S.InputContainer,{children:[L(S.Label,{htmlFor:`defaultLanguage`,children:`Default Language`}),L(S.Input,{type:`text`,name:`defaultLanguage`,id:`defaultLanguage`,defaultValue:r.i18n?.defaultLanguage||``})]}),R(S.InputContainer,{children:[L(S.Label,{htmlFor:`availableLanguages`,children:`Available Languages`}),L(S.Input,{type:`text`,name:`availableLanguages`,id:`availableLanguages`,defaultValue:(r.i18n?.availableLanguages||[]).join(`, `)})]}),R(S.InputContainer,{horizontal:!0,className:`my-3`,children:[L(S.Input,{type:`checkbox`,name:`advancedLanguageMode`,id:`advancedLanguageMode`,defaultChecked:r.i18n?.advancedLanguageMode||!1}),L(S.Label,{htmlFor:`advancedLanguageMode`,children:`Advanced Language Mode`})]}),R(S.InputContainer,{horizontal:!0,className:`my-3`,children:[L(S.Input,{type:`checkbox`,name:`textGranularityEnabled`,id:`textGranularityEnabled`,defaultChecked:r.i18n?.textGranularityEnabled||!1}),L(S.Label,{htmlFor:`textGranularityEnabled`,children:`Enable text granularity`})]}),R(S.InputContainer,{horizontal:!0,className:`my-3`,children:[L(S.Input,{type:`checkbox`,name:`rememberCanvasId`,id:`rememberCanvasId`,defaultChecked:r.editorFeatureFlags?.rememberCanvasId||!1}),L(S.Label,{htmlFor:`rememberCanvasId`,children:`Remember Canvas ID`})]}),R(S.InputContainer,{horizontal:!0,className:`my-3`,children:[L(S.Input,{type:`checkbox`,name:`rememberLeftPanelId`,id:`rememberLeftPanelId`,defaultChecked:r.editorFeatureFlags?.rememberLeftPanelId||!1}),L(S.Label,{htmlFor:`rememberLeftPanelId`,children:`Remember Left panel`})]}),R(S.InputContainer,{horizontal:!0,className:`my-3`,children:[L(S.Input,{type:`checkbox`,name:`manifestGridOptions`,id:`manifestGridOptions`,defaultChecked:r.editorFeatureFlags?.manifestGridOptions||!1}),L(S.Label,{htmlFor:`manifestGridOptions`,children:`Manifest Grid Options`})]}),R(S.InputContainer,{horizontal:!0,className:`my-3`,children:[L(S.Input,{type:`checkbox`,name:`isVersion2`,id:`isVersion2`,defaultChecked:r.export?.version===2}),R(S.Label,{htmlFor:`isVersion2`,children:[`Export Presentation 2 `,n.type,`s`]})]}),R(S.InputContainer,{children:[L(S.Label,{htmlFor:`defaultPreview`,children:`Default preview`}),L(`div`,{children:t.configs.map((e,t)=>e.type===`iiif-preview-service`?null:R(S.InputContainer,{horizontal:!0,children:[L(S.Input,{type:`radio`,id:e.id,name:`defaultPreview`,value:e.id,defaultChecked:r.defaultPreview?r.defaultPreview===e.id:t===0}),L(`label`,{htmlFor:e.id,children:e.label})]},e.id))})]}),n.type===`Manifest`?L(`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,L(Bs,{}),L(`div`,{className:`mt-5`,children:L(e,{type:`submit`,children:`Save changes`})})]})})]})}function Ws(){return Ae((e,t)=>({specificMenus:{},resourceMenus:{},hookMenuItem(t){let n=ar(),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 Gs=O(null);function Ks({children:e}){let t=N(()=>Ws(),[]);return L(Gs.Provider,{value:t,children:e})}function qs(){let e=A(Gs);if(!e)throw Error(`useContextMenuStore must be used within a ContextMenuProvider`);return e}function Js(e){let t=qs(),n=je(t,e=>e.resourceMenus),r=je(t,e=>e.specificMenus);return N(()=>{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 Ys(c)},[r,n,e.id,e.type])}function Ys(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 Xs(e,t=[]){let n=je(qs(),e=>e.hookMenuItem);j(()=>n(e),[n,e.resource?.id,e.resource?.type,...t])}var Zs={};function Qs(e){return R(`div`,{className:Zs.CenterPanelContainer,children:[e.title||e.close?R(`div`,{className:Zs.CenterPanelHeader,children:[e.title?L(`h2`,{className:Zs.CenterPanelTitle,children:e.title}):null,e.close?L(Y,{className:Zs.CenterPanelClose,onClick:e.close,children:L(hi,{})}):null]}):null,e.children]})}const $s=V.div`
427
430
  flex: 1;
428
431
  display: flex;
429
432
  width: 100%;
430
433
  flex-direction: column;
431
434
  position: relative;
432
- `,Qr=R.div`
435
+ `,ec=V.div`
433
436
  background: #fff;
434
437
  position: relative;
435
438
  border-bottom: 1px solid #d0d0d0;
@@ -447,11 +450,11 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
447
450
  //flex-direction: column;
448
451
  //justify-content: center;
449
452
  }
450
- `,$r=R.p`
453
+ `,tc=V.p`
451
454
  font-size: 0.9em;
452
455
  color: #777;
453
456
  font-weight: 400;
454
- `,ei=R.button`
457
+ `,nc=V.button`
455
458
  color: inherit;
456
459
  text-rendering: geometricPrecision;
457
460
  border: none;
@@ -493,7 +496,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
493
496
  margin-top: 0.5em;
494
497
  }
495
498
  }
496
- `,ti=R.div`
499
+ `,rc=V.div`
497
500
  font-size: 1.4em;
498
501
  padding-right: 0.3em;
499
502
  display: flex;
@@ -502,7 +505,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
502
505
  [data-large="true"] & {
503
506
  font-size: 2em;
504
507
  }
505
- `,ni=R.div`
508
+ `,ic=V.div`
506
509
  width: 2em;
507
510
  align-items: center;
508
511
  //padding-top: 0.5em;
@@ -515,11 +518,11 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
515
518
  fill: #999;
516
519
  color: #999;
517
520
  }
518
- `,ri=R.div`
521
+ `,ac=V.div`
519
522
  min-height: 0;
520
523
  overflow: visible;
521
524
  display: flex;
522
- `,ii=R.div`
525
+ `,oc=V.div`
523
526
  min-height: 0;
524
527
  overflow: visible;
525
528
  flex: 1;
@@ -532,7 +535,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
532
535
  &[data-max-height="true"] {
533
536
  overflow-y: auto;
534
537
  }
535
- `,ai=R.section`
538
+ `,sc=V.section`
536
539
  display: grid;
537
540
  grid-template-rows: 0fr;
538
541
  overflow: hidden;
@@ -560,7 +563,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
560
563
  &[data-scrolled="true"] {
561
564
  box-shadow: inset 0px 2px 0px 0 rgba(0, 0, 0, 0.1);
562
565
  }
563
- `,oi=R.div`
566
+ `,cc=V.div`
564
567
  position: sticky;
565
568
  display: flex;
566
569
  top: 0;
@@ -596,7 +599,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
596
599
  right: 0.5em;
597
600
  }
598
601
  }
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`
602
+ `,lc=(()=>void 0);let uc=0;function dc(){return N(()=>uc++,[])}function fc(e,t=!1){let[n,r]=F([]),i=P(-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 j(()=>{r(t=>Array(e).fill(0).map((e,n)=>t[n]||we()))},[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 pc=Te(function(e,t){let n=P(null),r=P(null),i=dc(),[a,o]=F(e.initialOpen||!1),s=e.onChange||lc,c=()=>{s(!a),o(e=>!e)},l=e.maxHeight,[u,d]=F(!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 R(ec,{"data-large":e.large,"data-open":a,children:[R(cc,{"data-open":a,children:[e.icon?L(ic,{onClick:c,children:e.icon}):null,R(nc,{ref:r,onClick:c,"aria-expanded":a,"aria-controls":`accordion-${i}`,children:[e.label,e.description?L(tc,{children:e.description}):null]}),L(rc,{onClick:c,children:L(gi,{width:`1em`,height:`1em`,rotate:a?0:180})})]}),L(sc,{"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:L(ac,{children:L(oc,{"data-max-height":!!l,"data-full":e.fullWidth,style:{maxHeight:l||void 0},children:e.children})})})]})});function mc(e){let{getItemProps:t,onKeyDown:n}=fc(e.items.length,e.singleMode);return L($s,{onKeyDown:n,children:e.items.map((n,r)=>L(pc,{overflow:e.overflow,maxHeight:e.maxHeight,...n,...t(r),children:n.children},r))})}function hc(){return L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`48`,viewBox:`0 -960 960 960`,width:`48`,children:L(`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 gc=V.div`
600
603
  padding: 0.3em;
601
604
 
602
605
  display: flex;
@@ -618,12 +621,12 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
618
621
  position: sticky;
619
622
  bottom: 0;
620
623
  }
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`
624
+ `;function _c(e){let t=Ge(),n=z(),r=_a(),i=N(()=>JSON.stringify(n.toPresentation3(t),null,2),[t,n]),a=N(()=>JSON.stringify(n.toPresentation2(t),null,2),[t,n]);return L(Qs,{title:`Export manifest`,close:r.centerPanel.popStack,children:L(`div`,{style:{flex:1,overflowY:`auto`},children:L(mc,{items:[{label:`Presentation 3`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,initialOpen:!0,overflow:!0,icon:L(Y,{onClick:()=>rr(i,`manifest.json`),children:L(hc,{})}),children:R(`div`,{style:{maxWidth:`100%`},children:[L(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation3(t),null,2)}),R(gc,{"data-sticky":`true`,children:[L(Y,{onClick:()=>ir(i),children:`Copy to clipboard`}),L(Y,{onClick:()=>rr(i,`manifest.json`),children:`Download`})]})]})},{label:`Presentation 2`,description:`Download this version by clicking the "Download" button.`,maxHeight:400,large:!0,icon:L(Y,{onClick:()=>rr(a,`manifest.json`),children:L(hc,{})}),children:R(`div`,{style:{maxWidth:`100%`},children:[L(`pre`,{style:{whiteSpace:`pre-wrap`},children:JSON.stringify(n.toPresentation2(t),null,2)}),R(gc,{"data-sticky":`true`,children:[L(Y,{onClick:()=>ir(a),children:`Copy to clipboard`}),L(Y,{onClick:()=>rr(a,`manifest.json`),children:`Download`})]})]})}]})})})}function vc({key:e,initialValue:t,requestId:n,getInitialValue:r}){let[i,a]=Ue({requestId:n}),[o,s]=F(r&&r(i)||i[e]||t);return[o,k(t=>{a({[e]:t}),s(t)},[])]}const yc=O(pt());function bc({children:e,emitter:t}){return L(yc.Provider,{value:t,children:e})}function xc(){return A(yc)}function Sc(e,t,n=[]){let r=A(yc);j(()=>{let n=e=>{t(e)};return r.on(e,n),()=>{r.off(e,n)}},[r,e,...n])}function Cc(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]=F(i);return M(()=>{let e=()=>o(i);return r.forEach(t=>t.addListener(e)),()=>r.forEach(t=>t.removeListener(e))},[]),a}function wc(e,t,n,r=!0){let i=mt(t,n);j(()=>typeof window>`u`?()=>void 0:(window.addEventListener(`beforeunload`,t,!1),()=>{t(),window.removeEventListener(`beforeunload`,t)}),[t]),j(()=>{if(e&&r)return e.subscribe(i,!0)},[i,e,r])}function Tc(){let e=He(),t=je(e,e=>e.switchTool),n=je(e,e=>e.polygonState.currentTool),r=je(e,e=>e.polygonState.selectedStamp),i=je(e,e=>e.polygonState.showBoundingBox);return N(()=>({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 Ec=V.div`
622
625
  position: relative;
623
626
  width: 1px;
624
627
  background: rgba(0, 0, 0, 0.2);
625
628
  z-index: 50;
626
- `,Ti=R(Ut)`
629
+ `,Dc=V(Li)`
627
630
  transition:
628
631
  opacity 300ms,
629
632
  transform 300ms;
@@ -635,7 +638,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
635
638
  &:focus {
636
639
  outline: 2px solid salmon;
637
640
  }
638
- `;R(Ti)`
641
+ `;V(Dc)`
639
642
  background: #fff;
640
643
  width: 30px;
641
644
  height: 30px;
@@ -649,7 +652,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
649
652
  svg {
650
653
  fill: #9999;
651
654
  }
652
- `;const Ei=R(Ti)`
655
+ `;const Oc=V(Dc)`
653
656
  position: relative;
654
657
  display: flex;
655
658
  opacity: 1;
@@ -676,7 +679,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
676
679
  svg {
677
680
  font-size: 1.5em;
678
681
  }
679
- `,Di=R.div`
682
+ `,kc=V.div`
680
683
  background: rgba(0, 0, 0, 0);
681
684
  position: absolute;
682
685
  width: 16px;
@@ -699,12 +702,12 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
699
702
  &:hover {
700
703
  transform: scaleX(100%);
701
704
  background: rgba(0, 0, 0, 0.1);
702
- ${Ti} {
705
+ ${Dc} {
703
706
  transform: scaleX(100%);
704
707
  opacity: 1;
705
708
  }
706
709
  }
707
- `,Oi=R.div`
710
+ `,Ac=V.div`
708
711
  background: rgba(0, 0, 0, 0);
709
712
  position: absolute;
710
713
  pointer-events: none;
@@ -713,125 +716,527 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
713
716
  top: 0;
714
717
  bottom: 0;
715
718
  z-index: 51; // This will always be quite high.
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`
719
+ `,jc=Te(function({dir:e,open:t,actions:n,reset:r},i){let[a,o]=F(!0),s=`mt-[calc(50vh+8px)]`,c=e===`left`?`${s} ml-[13px]`:`${s} ml-[3px]`;return R(Ec,{onClick:()=>n.open(),children:[L(Ac,{$open:t,$dir:e,className:`group`,children:t?null:R(he,{placement:e===`left`?`right`:`left`,children:[L(ge,{as:Oc,$dir:e,onClick:e=>n.open(),children:L(gi,{className:`text-2xl`,rotate:e===`right`?90:270})}),L(v,{children:`Open`})]})}),R(he,{placement:e===`left`?`right`:`left`,children:[L(ge,{"aria-label":`Resize panel`,asChild:!0,children:L(`div`,{children:R(kc,{ref:i,$open:t,$dir:e,className:`group`,children:[t?R(he,{placement:e===`left`?`right`:`left`,children:[L(ge,{as:T,onPress:()=>n.close(),children:L(`div`,{onMouseOut:()=>{o(!0)},onMouseOver:()=>{o(!1)},children:L(hi,{})})}),L(v,{children:`Close`})]}):null,r&&t?R(he,{placement:e===`left`?`right`:`left`,children:[L(ge,{as:T,onPress:()=>r(),children:L(`div`,{onMouseOut:()=>{o(!0)},onMouseOver:()=>{o(!1)},children:L(ie,{})})}),L(v,{children:`Reset`})]}):null,t?R(he,{placement:e===`left`?`right`:`left`,children:[L(ge,{asChild:!0,"aria-label":`Resize panel`,children:L(`div`,{onMouseOut:()=>{o(!0)},onMouseOver:()=>{o(!1)},children:L(ae,{"aria-label":`Resize panel`})})}),L(v,{children:`Resize panel`})]}):null]})})}),a&&L(v,{className:c,children:`Resize panel`})]})]})});function Mc(e){return L(`svg`,{width:`1em`,height:`1em`,viewBox:`0 0 42 42`,xmlns:`http://www.w3.org/2000/svg`,stroke:`currentColor`,...e,children:R(`g`,{transform:`translate(2 2)`,strokeWidth:5,fill:`none`,fillRule:`evenodd`,children:[L(`circle`,{strokeOpacity:.5,cx:18,cy:18,r:18}),L(`path`,{d:`M36 18c0-9.94-8.06-18-18-18`,children:L(`animateTransform`,{attributeName:`transform`,type:`rotate`,from:`0 18 18`,to:`360 18 18`,dur:`1s`,repeatCount:`indefinite`})})]})})}var Nc={};function Pc(){return R(I,{children:[L(`div`,{"data-header":`true`,className:Nc.ghostLoadingBlock}),R(`div`,{className:Nc.ghostBlockList,children:[L(`div`,{className:Nc.ghostLoadingBlock}),L(`div`,{className:Nc.ghostLoadingBlock}),L(`div`,{className:Nc.ghostLoadingBlock}),L(`div`,{className:Nc.ghostLoadingBlock})]})]})}function Fc(e,t,n,r=[]){M(()=>{let r=e.current;if(r)return r.addEventListener(t,n),()=>{r.removeEventListener(t,n)}},[t,...r])}function Ic(e,t,n,r){return Math.sqrt(Math.abs(n-e)**2+Math.abs(r-t)**2)}function Lc(e,t,n,r){return n||(r?r/e:t)}function Rc(e,t={}){let n=P(null),r=P(null),i=P(null),a=P(null),o=P(.5),[s,c]=F(!1),l=P(!1),u=P(0),d=P({x:0,y:0}),[{widthA:f,widthB:p},m]=_e(`resize-layout/${e}`,{widthA:`auto`,widthB:`${Jo({initial:t.widthA,fallback:320,options:{minWidth:t.minWidthPx,maxWidth:t.maxWidthPx}})}px`}),{loading:h=!1}=t;return Fc(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]),Fc({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=Lc(r,.8,t.maxWidthPct,t.maxWidthPx)*r,s=Lc(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]),Fc(n,`mousemove`,e=>{if(!l.current&&u.current&&Ic(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=Lc(a,.8,t.maxWidthPct,t.maxWidthPx),u=Lc(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}}function zc(e,t,n){return e.filter(e=>{if(!e.supports)return!0;try{return e.supports(t)}catch(t){return n?.(e,t),!1}})}function Bc(e,t){return t?e.some(e=>e.id===t)?t:e[0]?.id||null:null}function X(e){return e.map(e=>e.id).join(`,`)}const Z=`.manifest-editor.exhibition-focused &`,Q=`[data-exhibition-theme="dark"] ${Z}`,$={pink:`#b84c74`,pinkHover:`#9f3f64`,lightApp:`#f4f1ec`,lightStage:`#dfdbd4`,lightPanel:`#fff`,lightPanelSoft:`#f8f6f3`,lightBorder:`#dcd5ce`,lightPanelBorder:`#ddd5ce`,lightText:`#25211f`,lightMuted:`#6a625c`,darkApp:`#18161d`,darkStage:`#0e0d12`,darkPanel:`#28222d`,darkPanelSoft:`#2f2934`,darkPanelHeader:`#25222b`,darkHover:`#312c34`,darkSelected:`#3a3440`,darkText:`#f6f1f4`,darkMuted:`#c8c0c6`,darkSubtle:`#999088`,darkLabel:`#d9d1da`,darkWarning:`#4a2636`,darkWarningBorder:`#7a3f59`,darkBorder:`rgba(246, 241, 244, 0.16)`,darkBorderSoft:`rgba(246, 241, 244, 0.14)`},Vc=V.div`
720
+ display: flex;
721
+ flex: 1 1 0;
722
+ min-height: 0;
717
723
  position: relative;
724
+ overflow: hidden;
725
+
726
+ ${Z} {
727
+ background: ${$.lightApp};
728
+ }
729
+
730
+ ${Q} {
731
+ background: ${$.darkApp};
732
+ }
733
+ `,Hc=V.div`
734
+ flex: 1 1 0;
735
+ min-width: 0;
736
+ min-height: 0;
718
737
  display: flex;
719
- flex: 1;
738
+ background: #e3e7f0;
739
+ padding-top: 1px;
720
740
  overflow: hidden;
721
- flex-direction: column;
722
- `,Li=R.div`
741
+
742
+ ${Z} {
743
+ background: ${$.lightApp};
744
+ }
745
+
746
+ ${Q} {
747
+ background: ${$.darkApp};
748
+ }
749
+
750
+ > * {
751
+ min-width: 0;
752
+ }
753
+
754
+ ${Z} > .delft-exhibition {
755
+ background: ${$.lightStage};
756
+ color: ${$.lightText};
757
+ }
758
+
759
+ ${Z} .atlas-container {
760
+ --atlas-background: ${$.lightStage} !important;
761
+ background: ${$.lightStage} !important;
762
+ }
763
+
764
+ ${Z} .atlas-canvas {
765
+ background: ${$.lightStage} !important;
766
+ }
767
+
768
+ ${Q} > .delft-exhibition {
769
+ background: ${$.darkStage};
770
+ color: ${$.darkText};
771
+ }
772
+
773
+ ${Q} .atlas-container {
774
+ --atlas-background: ${$.darkStage} !important;
775
+ background: ${$.darkStage} !important;
776
+ }
777
+
778
+ ${Q} .atlas-canvas {
779
+ background: ${$.darkStage} !important;
780
+ }
781
+
782
+ ${Q} [class*="CanvasContainer"],
783
+ ${Q} [class*="ViewerContainer"] {
784
+ background: ${$.darkStage} !important;
785
+ }
786
+
787
+ ${Q} .exhibition-slideshow-workbench,
788
+ ${Q} .exhibition-slideshow-current-canvas {
789
+ background: ${$.darkApp} !important;
790
+ color: ${$.darkText} !important;
791
+ }
792
+
793
+ ${Q} .exhibition-slideshow-current-viewport,
794
+ ${Q} .exhibition-slideshow-preview-frame {
795
+ background: ${$.darkStage} !important;
796
+ }
797
+
798
+ ${Q} .exhibition-slideshow-heading {
799
+ color: ${$.darkText} !important;
800
+ }
801
+
802
+ ${Q} .exhibition-slideshow-muted {
803
+ color: ${$.darkMuted} !important;
804
+ }
805
+
806
+ ${Q} .exhibition-slideshow-preview-card,
807
+ ${Q} .exhibition-slideshow-slide-strip,
808
+ ${Q} .exhibition-slideshow-slide-card,
809
+ ${Q} .exhibition-slideshow-content-item,
810
+ ${Q} .exhibition-slideshow-content-empty,
811
+ ${Q} .exhibition-slideshow-navigation,
812
+ ${Q} .exhibition-slideshow-current-preview {
813
+ background: ${$.darkPanel} !important;
814
+ border-color: ${$.darkBorder} !important;
815
+ color: ${$.darkText} !important;
816
+ }
817
+
818
+ ${Q} .exhibition-slideshow-content-item-selected {
819
+ background: ${$.darkSelected} !important;
820
+ border-color: ${$.pink} !important;
821
+ }
822
+
823
+ ${Q} .exhibition-slideshow-toolbar,
824
+ ${Q} .exhibition-slideshow-current-toolbar {
825
+ background: ${$.darkPanelHeader} !important;
826
+ border-color: ${$.darkBorder} !important;
827
+ color: ${$.darkText} !important;
828
+ }
829
+
830
+ ${Q} .exhibition-slideshow-navigation button,
831
+ ${Q} .exhibition-slideshow-navigation-current,
832
+ ${Q} .exhibition-slideshow-toolbar button,
833
+ ${Q} .exhibition-slideshow-slide-card button,
834
+ ${Q} .exhibition-slideshow-content-item button,
835
+ ${Q} .exhibition-slideshow-current-control {
836
+ background: ${$.darkPanelSoft} !important;
837
+ border-color: ${$.darkBorder} !important;
838
+ color: ${$.darkText} !important;
839
+ }
840
+
841
+ ${Q} .exhibition-slideshow-navigation button:not(:disabled):hover,
842
+ ${Q} .exhibition-slideshow-toolbar button:not(:disabled):hover,
843
+ ${Q} .exhibition-slideshow-slide-card button:not(:disabled):hover,
844
+ ${Q} .exhibition-slideshow-content-item button:not(:disabled):hover,
845
+ ${Q} .exhibition-slideshow-current-control:not(:disabled):hover {
846
+ background: ${$.darkHover} !important;
847
+ color: #fff !important;
848
+ }
849
+ `,Uc=V.div`
850
+ display: flex;
723
851
  flex: 1;
724
- position: relative;
725
- z-index: 7;
726
- `,Ri=R.div`
852
+ justify-content: center;
853
+ align-items: center;
854
+ `,Wc=V.div`
855
+ position: absolute;
856
+ top: 3rem;
857
+ z-index: 40;
727
858
  display: flex;
728
- justify-content: space-around;
729
- width: 100%;
730
- background: #fff;
731
- border-top: 1px solid #cbcbcb;
732
- padding: 0.5em;
733
- height: 3.4rem;
734
- `,zi=R.button`
735
- //background: red;
736
- padding: 0.5em 1em;
737
- width: 32%;
859
+ flex-direction: column;
860
+ gap: 0.25rem;
861
+ padding: 0.25rem;
862
+ border: 1px solid rgba(15, 23, 42, 0.16);
863
+ border-radius: 6px;
864
+ background: rgba(255, 255, 255, 0.94);
865
+ box-shadow: 0 8px 22px rgba(15, 23, 42, 0.12);
866
+
867
+ ${Z} {
868
+ border-color: ${$.lightBorder};
869
+ background: rgba(255, 255, 255, 0.96);
870
+ box-shadow: 0 8px 22px rgba(38, 33, 42, 0.12);
871
+ }
738
872
 
739
- border-radius: 5px;
740
- border: none;
741
- background: #ffffff;
742
- `,Bi=R.button`
743
- padding: 0.5em 1em;
744
- width: 32%;
873
+ ${Q} {
874
+ border-color: ${$.darkBorder};
875
+ background: rgba(38, 33, 42, 0.94);
876
+ box-shadow: 0 12px 28px rgba(0, 0, 0, 0.36);
877
+ }
745
878
 
746
- border-radius: 5px;
879
+ ${e=>e.$side===`left`?H`
880
+ left: 1rem;
881
+ `:H`
882
+ right: 1rem;
883
+ `}
884
+ `,Gc=V.button`
885
+ width: 2.35rem;
886
+ height: 2.35rem;
887
+ border: 0;
888
+ border-radius: 4px;
889
+ background: transparent;
890
+ color: #555;
891
+ display: flex;
892
+ align-items: center;
893
+ justify-content: center;
894
+ font-size: 1.2rem;
895
+ cursor: pointer;
747
896
 
748
- background: #5e59c2;
749
- border: 1px solid rgba(0, 0, 0, 0.21);
750
- color: #ffffff;
751
- `,Vi=R.div`
752
- position: relative;
753
- width: 32%;
754
- margin: 0 0.75em;
755
- z-index: 9;
756
- `,Hi=R.button`
757
- padding: 0.4em 1em 0.65em;
758
- position: absolute;
759
- width: 100%;
760
- bottom: 1em;
761
- background: #ffffff;
762
- box-shadow: 0 3px 18px 0 rgba(0, 0, 0, 0.04);
763
- border-radius: 5px;
764
- border: 1px solid #979797;
765
- letter-spacing: -0.46px;
766
- white-space: nowrap;
767
- overflow: hidden;
768
- text-overflow: ellipsis;
897
+ &:hover {
898
+ background: #f2f3f6;
899
+ color: #111827;
900
+ }
901
+
902
+ &[data-selected="true"] {
903
+ background: ${$.pink};
904
+ color: #fff;
905
+ }
906
+
907
+ ${Z} {
908
+ color: ${$.lightMuted};
909
+ }
910
+
911
+ ${Z}:hover {
912
+ background: #f5eaf0;
913
+ color: ${$.lightText};
914
+ }
915
+
916
+ ${Z}[data-selected="true"] {
917
+ background: ${$.pink};
918
+ color: #fff;
919
+ }
920
+
921
+ ${Q} {
922
+ color: #efe8ed;
923
+ }
924
+
925
+ ${Q}:hover {
926
+ background: rgba(255, 255, 255, 0.1);
927
+ color: #fff;
928
+ }
929
+
930
+ ${Q}[data-selected="true"] {
931
+ background: ${$.pink};
932
+ color: #fff;
933
+ }
769
934
 
770
935
  svg {
771
- display: block;
772
- margin: auto;
773
- font-size: 1.8em;
936
+ width: 1.25em;
937
+ height: 1.25em;
774
938
  }
775
- `,Ui=R.div`
776
- background: #fff;
939
+ `,Kc=V.div`
777
940
  display: flex;
941
+ flex-direction: column;
942
+ gap: 0.25rem;
943
+ `,qc=V.div`
944
+ width: 100%;
945
+ height: 1px;
946
+ margin: 0.25rem 0;
947
+ background: rgba(15, 23, 42, 0.14);
948
+ `,Jc=V.aside`
778
949
  position: absolute;
779
- transform: translateY(100%);
780
- overflow-y: auto;
781
- left: 0;
782
- right: 0;
783
- top: 7em;
784
- z-index: 10;
785
- box-shadow:
786
- 0 -5px 15px 0 rgba(0, 0, 0, 0),
787
- 0 -3px 5px 0 rgba(0, 0, 0, 0);
788
- bottom: 0;
950
+ top: 3rem;
951
+ bottom: 1rem;
952
+ z-index: 35;
953
+ display: flex;
954
+ min-width: min(320px, calc(100vw - 2rem));
955
+ max-width: min(720px, calc(100vw - 2rem));
956
+ background: #fff;
957
+ border: 1px solid rgba(15, 23, 42, 0.16);
958
+ border-radius: 6px;
959
+ box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
960
+ overflow: hidden;
961
+ opacity: ${e=>e.$open?1:0};
962
+ pointer-events: ${e=>e.$open?`auto`:`none`};
789
963
  transition:
790
- 0.3s transform ease-in-out,
791
- 0.3s box-shadow;
792
- ${e=>e.$open&&z`
793
- box-shadow:
794
- 0 -5px 15px 0 rgba(0, 0, 0, 0.1),
795
- 0 -3px 5px 0 rgba(0, 0, 0, 0.1);
796
- transform: translateY(0);
797
- `}
964
+ opacity 180ms ease,
965
+ transform 180ms ease;
966
+
967
+ ${Z} {
968
+ background: ${$.lightPanel};
969
+ border-color: ${$.lightPanelBorder};
970
+ border-radius: 10px;
971
+ color: ${$.lightText};
972
+ box-shadow: 0 18px 42px rgba(38, 33, 42, 0.14);
973
+ }
798
974
 
799
- ${Xn} {
800
- box-shadow: none;
801
- padding-left: 0.5em;
802
- padding-right: 0.5em;
803
- font-size: 1.1em;
975
+ ${Z} [class~="bg-white"] {
976
+ background-color: ${$.lightPanel} !important;
804
977
  }
805
- `,Wi=R.div`
806
- position: absolute;
807
- transform: translateX(-100%);
808
- background: #fff;
809
- left: 0;
810
- top: 0;
811
- bottom: 0;
812
- z-index: 10;
813
- overflow-y: auto;
814
- transition: 0.5s transform;
815
- ${e=>e.$open&&z`
816
- transform: translateX(0);
817
- `}
818
- `,Gi=R.div`
819
- background: rgba(0, 0, 0, 0.4);
820
- pointer-events: none;
821
- position: absolute;
822
- z-index: 8;
823
- top: 0;
824
- left: 0;
825
- right: 0;
826
- bottom: 0;
827
- opacity: 0;
828
- transition: opacity 0.5s;
829
978
 
830
- ${e=>e.$open&&z`
831
- pointer-events: visible;
832
- opacity: 1;
833
- `}
834
- `,Ki=R.div`
979
+ ${Z} [class*="bg-[#f8f6f3]"] {
980
+ background-color: ${$.lightPanelSoft} !important;
981
+ }
982
+
983
+ ${Z} [class*="border-[#dcd5ce]"] {
984
+ border-color: ${$.lightBorder} !important;
985
+ }
986
+
987
+ ${Q} {
988
+ --exhibition-primary: ${$.pink};
989
+ --exhibition-field-bg: ${$.darkPanelSoft};
990
+ --exhibition-field-border: ${$.darkBorder};
991
+ --exhibition-text: ${$.darkText};
992
+ --exhibition-muted: ${$.darkMuted};
993
+ --exhibition-button-bg: ${$.darkPanelSoft};
994
+ --exhibition-button-text: #fff;
995
+ --exhibition-inactive-button-text: ${$.darkText};
996
+
997
+ background: ${$.darkPanel};
998
+ border-color: ${$.darkBorderSoft};
999
+ color: ${$.darkText};
1000
+ box-shadow: 0 20px 50px rgba(0, 0, 0, 0.42);
1001
+ }
1002
+
1003
+ ${Q} ${is} {
1004
+ background: ${$.darkPanelHeader} !important;
1005
+ border-color: ${$.darkBorder} !important;
1006
+ color: ${$.darkText} !important;
1007
+ box-shadow:
1008
+ inset 0 -1px 0 0 ${$.darkBorder},
1009
+ inset 0 1px 0 0 ${$.darkBorder} !important;
1010
+ }
1011
+
1012
+ ${Q} ${as} {
1013
+ color: ${$.darkText} !important;
1014
+ }
1015
+
1016
+ ${Q} ${as}:hover {
1017
+ background: ${$.darkHover} !important;
1018
+ color: #fff !important;
1019
+ }
1020
+
1021
+ ${Q} [class~="bg-white"],
1022
+ ${Q} [class*="bg-[#f8f6f3]"] {
1023
+ background-color: ${$.darkPanelSoft} !important;
1024
+ }
1025
+
1026
+ ${Q} [class*="bg-gray-200"],
1027
+ ${Q} [class*="bg-gray-100"],
1028
+ ${Q} [class*="bg-me-gray-100"] {
1029
+ background-color: ${$.darkPanelHeader} !important;
1030
+ color: ${$.darkText} !important;
1031
+ }
1032
+
1033
+ ${Q} [class*="hover:bg-gray-100"]:hover,
1034
+ ${Q} [class*="hover:bg-gray-200"]:hover,
1035
+ ${Q} [class*="hover:bg-gray-300"]:hover,
1036
+ ${Q} [class*="hover:bg-me-gray-100"]:hover,
1037
+ ${Q} [class*="hover:bg-me-gray-300"]:hover,
1038
+ ${Q} [class*="hover:bg-me-50"]:hover,
1039
+ ${Q} [class*="hover:bg-me-100"]:hover,
1040
+ ${Q} [class*="hover:bg-me-primary-50"]:hover,
1041
+ ${Q} [class*="hover:bg-me-primary-100"]:hover {
1042
+ background-color: ${$.darkHover} !important;
1043
+ color: #fff !important;
1044
+ }
1045
+
1046
+ ${Q} [class*="hover:text-black"]:hover,
1047
+ ${Q} [class*="hover:text-gray-"]:hover,
1048
+ ${Q} [class*="hover:text-me-"]:hover {
1049
+ color: #fff !important;
1050
+ }
1051
+
1052
+ ${Q} label {
1053
+ background-color: transparent !important;
1054
+ color: ${$.darkLabel} !important;
1055
+ }
1056
+
1057
+ ${Z} .exhibition-workbench-muted {
1058
+ color: ${$.lightMuted} !important;
1059
+ }
1060
+
1061
+ ${Q} .exhibition-workbench-muted {
1062
+ color: ${$.darkMuted} !important;
1063
+ }
1064
+
1065
+ ${Q} .exhibition-workbench-tab[class*="text-me-primary"] {
1066
+ color: ${$.darkText} !important;
1067
+ }
1068
+
1069
+ ${Q} fieldset {
1070
+ background-color: ${$.darkPanelSoft} !important;
1071
+ border-color: ${$.darkBorder} !important;
1072
+ color: ${$.darkText} !important;
1073
+ }
1074
+
1075
+ ${Q} [class*="bg-me-50"],
1076
+ ${Q} [class*="bg-me-100"],
1077
+ ${Q} [class*="bg-me-primary-50"],
1078
+ ${Q} [class*="bg-me-primary-100"] {
1079
+ background-color: ${$.darkSelected} !important;
1080
+ color: ${$.darkText} !important;
1081
+ }
1082
+
1083
+ ${Q} [class*="text-me-700"],
1084
+ ${Q} [class*="text-me-500"],
1085
+ ${Q} [class*="text-me-primary-500"],
1086
+ ${Q} [class*="text-me-primary-600"],
1087
+ ${Q} [class*="text-me-primary-700"] {
1088
+ color: ${$.darkText} !important;
1089
+ }
1090
+
1091
+ ${Q} [class*="bg-me-gray-100"] {
1092
+ background-color: ${$.darkPanelHeader} !important;
1093
+ color: ${$.darkText} !important;
1094
+ }
1095
+
1096
+ ${Q} [class*="border-b-me-gray-300"] {
1097
+ border-bottom-color: ${$.darkSelected} !important;
1098
+ }
1099
+
1100
+ ${Q} [class*="hover:bg-me-gray-300"]:hover,
1101
+ ${Q} [class*="bg-me-gray-300"] {
1102
+ background-color: ${$.darkHover} !important;
1103
+ color: #fff !important;
1104
+ }
1105
+
1106
+ ${Q} [data-active],
1107
+ ${Q} [data-selected],
1108
+ ${Q} [aria-selected="true"],
1109
+ ${Q} [data-canvas-selected="true"] {
1110
+ color: #fff !important;
1111
+ }
1112
+
1113
+ ${Q} [data-active="true"],
1114
+ ${Q} [data-selected="true"],
1115
+ ${Q} [aria-selected="true"] {
1116
+ background-color: ${$.pink} !important;
1117
+ }
1118
+
1119
+ ${Q} [class*="bg-me-primary-500"],
1120
+ ${Q} [class*="bg-me-500"],
1121
+ ${Q} [class*="bg-me-700"] {
1122
+ background-color: ${$.pink} !important;
1123
+ color: #fff !important;
1124
+ }
1125
+
1126
+ ${Q} [class*="hover:bg-me-primary-500"]:hover,
1127
+ ${Q} [class*="hover:bg-me-primary-600"]:hover,
1128
+ ${Q} [class*="hover:bg-me-600"]:hover,
1129
+ ${Q} [class*="hover:bg-me-800"]:hover {
1130
+ background-color: ${$.pinkHover} !important;
1131
+ color: #fff !important;
1132
+ }
1133
+
1134
+ ${Q} [class*="text-[#25211f]"],
1135
+ ${Q} [class*="text-black"] {
1136
+ color: ${$.darkText} !important;
1137
+ }
1138
+
1139
+ ${Q} [class*="text-black/40"],
1140
+ ${Q} [class*="text-black/50"],
1141
+ ${Q} [class*="text-black/60"] {
1142
+ color: ${$.darkMuted} !important;
1143
+ }
1144
+
1145
+ ${Q} [class*="border-[#dcd5ce]"],
1146
+ ${Q} [class*="border-[#e4ddd6]"],
1147
+ ${Q} .border,
1148
+ ${Q} .border-b {
1149
+ border-color: ${$.darkBorder} !important;
1150
+ }
1151
+
1152
+ ${Q} select,
1153
+ ${Q} input,
1154
+ ${Q} textarea {
1155
+ background-color: ${$.darkPanelSoft} !important;
1156
+ border-color: rgba(246, 241, 244, 0.18) !important;
1157
+ color: ${$.darkText} !important;
1158
+ }
1159
+
1160
+ ${Q} input::placeholder,
1161
+ ${Q} textarea::placeholder {
1162
+ color: ${$.darkSubtle} !important;
1163
+ }
1164
+
1165
+ ${Q} .exhibition-tour-step-card {
1166
+ background-color: ${$.darkPanelSoft} !important;
1167
+ border-color: ${$.darkBorder} !important;
1168
+ color: ${$.darkText} !important;
1169
+ }
1170
+
1171
+ ${Q} .exhibition-tour-step-body,
1172
+ ${Q} .exhibition-tour-step-body * {
1173
+ background-color: transparent !important;
1174
+ color: ${$.darkText} !important;
1175
+ }
1176
+
1177
+ ${Q} a,
1178
+ ${Q} button {
1179
+ color: inherit;
1180
+ }
1181
+
1182
+ ${Q} .exhibition-aspect-warning {
1183
+ background-color: ${$.darkWarning} !important;
1184
+ border-color: ${$.darkWarningBorder} !important;
1185
+ color: ${$.darkText} !important;
1186
+ }
1187
+
1188
+ ${Q} .exhibition-aspect-warning [class*="text-me-"],
1189
+ ${Q} .exhibition-aspect-warning [class*="text-black"] {
1190
+ color: ${$.darkText} !important;
1191
+ }
1192
+
1193
+ ${Q} fieldset button {
1194
+ color: ${$.darkText} !important;
1195
+ }
1196
+
1197
+ ${Q} fieldset button:hover {
1198
+ background-color: ${$.darkHover} !important;
1199
+ color: #fff !important;
1200
+ }
1201
+
1202
+ ${Q} fieldset button[data-active="true"] {
1203
+ background-color: ${$.pink} !important;
1204
+ color: #fff !important;
1205
+ }
1206
+
1207
+ ${Q} [role="menu"],
1208
+ ${Q} [class*="DropdownMenu"],
1209
+ ${Q} [class*="DropdownContent"] {
1210
+ background-color: ${$.darkPanelHeader} !important;
1211
+ color: ${$.darkText} !important;
1212
+ border-color: ${$.darkBorder} !important;
1213
+ }
1214
+
1215
+ ${e=>e.$side===`left`?H`
1216
+ left: 4.5rem;
1217
+ transform: translateX(${e.$open?`0`:`-0.75rem`});
1218
+ `:H`
1219
+ right: 4.5rem;
1220
+ transform: translateX(${e.$open?`0`:`0.75rem`});
1221
+ `}
1222
+
1223
+ @media (max-width: 760px) {
1224
+ top: 4.25rem;
1225
+ bottom: 1rem;
1226
+ left: 1rem;
1227
+ right: 1rem;
1228
+ width: auto !important;
1229
+ max-width: none;
1230
+ min-width: 0;
1231
+ transform: translateY(${e=>e.$open?`0`:`0.75rem`});
1232
+ }
1233
+ `,Yc=V.div`
1234
+ display: flex;
1235
+ flex: 1;
1236
+ min-width: 0;
1237
+ height: 100%;
1238
+ overflow: hidden;
1239
+ `,Xc=V.div`
835
1240
  display: flex;
836
1241
  flex-direction: column;
837
1242
  flex: 1;
@@ -840,16 +1245,16 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
840
1245
  max-width: 100%;
841
1246
  min-width: 0;
842
1247
  overflow: hidden;
843
- `,qi=R.header`
1248
+ `,Zc=V.header`
844
1249
  //box-shadow: 0 3px 2px 0 rgba(0, 0, 0, 0.04), 0 1px 0 0 rgba(0, 0, 0, 0.17);
845
1250
  z-index: 200;
846
- `,Ji=R.div`
1251
+ `,Qc=V.div`
847
1252
  background: #fff;
848
- `,Yi=R.div`
1253
+ `,$c=V.div`
849
1254
  display: flex;
850
1255
  flex: 1 1 0;
851
1256
  min-height: 0;
852
- `,Xi=R.div`
1257
+ `,el=V.div`
853
1258
  background: #fff;
854
1259
  display: flex;
855
1260
  flex-direction: column;
@@ -857,18 +1262,18 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
857
1262
  max-width: 720px;
858
1263
  align-items: flex-end;
859
1264
 
860
- ${e=>e.$motion?z`
1265
+ ${e=>e.$motion?H`
861
1266
  transition: max-width 400ms;
862
1267
  `:``}
863
1268
 
864
- ${e=>{switch(e.$state){case`entering`:return z`
1269
+ ${e=>{switch(e.$state){case`entering`:return H`
865
1270
  max-width: ${e.$width};
866
- `;case`exiting`:return z`
1271
+ `;case`exiting`:return H`
867
1272
  max-width: 0;
868
- `;case`unmounted`:case`exited`:return z`
1273
+ `;case`unmounted`:case`exited`:return H`
869
1274
  max-width: 0;
870
1275
  `}}}
871
- `,Zi=R.div`
1276
+ `,tl=V.div`
872
1277
  flex: 1 1 0;
873
1278
  background: #e3e7f0;
874
1279
  // background: #efefef;
@@ -887,7 +1292,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
887
1292
  > * {
888
1293
  min-width: 0;
889
1294
  }
890
- `,Qi=R.div`
1295
+ `,nl=V.div`
891
1296
  background: #fff;
892
1297
  display: flex;
893
1298
  flex-direction: column;
@@ -896,14 +1301,14 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
896
1301
 
897
1302
  ${e=>e.$motion?`transition: max-width 400ms;`:``}
898
1303
 
899
- ${e=>{switch(e.$state){case`entering`:return z`
1304
+ ${e=>{switch(e.$state){case`entering`:return H`
900
1305
  max-width: ${e.$width};
901
- `;case`exiting`:return z`
1306
+ `;case`exiting`:return H`
902
1307
  max-width: 0;
903
- `;case`unmounted`:case`exited`:return z`
1308
+ `;case`unmounted`:case`exited`:return H`
904
1309
  max-width: 0;
905
1310
  `}}}
906
- `,$i=R.div`
1311
+ `,rl=V.div`
907
1312
  display: flex;
908
1313
  flex: 1;
909
1314
  height: 100%;
@@ -911,28 +1316,28 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
911
1316
  transition: min-width 400ms;
912
1317
  overflow: hidden;
913
1318
 
914
- ${e=>{switch(e.$menu){case`top`:return z`
1319
+ ${e=>{switch(e.$menu){case`top`:return H`
915
1320
  flex-direction: column;
916
- ${X} {
1321
+ ${il} {
917
1322
  flex-direction: column;
918
1323
  }
919
- `;case`left`:return z`
1324
+ `;case`left`:return H`
920
1325
  flex-direction: row;
921
- ${X} {
1326
+ ${il} {
922
1327
  flex-direction: row;
923
1328
  }
924
- `;default:case`bottom`:return z`
1329
+ `;default:case`bottom`:return H`
925
1330
  flex-direction: column-reverse;
926
- ${X} {
1331
+ ${il} {
927
1332
  flex-direction: column;
928
1333
  }
929
- `;case`right`:return z`
1334
+ `;case`right`:return H`
930
1335
  flex-direction: row-reverse;
931
- ${X} {
1336
+ ${il} {
932
1337
  flex-direction: row;
933
1338
  }
934
1339
  `}}}
935
- `;R.div`
1340
+ `;V.div`
936
1341
  background: #fff;
937
1342
  border-top: 1px solid #e3e7f0;
938
1343
  border-right: 1px solid #e3e7f0;
@@ -942,7 +1347,7 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
942
1347
  /* width: 3.35em;
943
1348
  padding: 0.3em;
944
1349
  gap: 0.3em; */
945
- `,R.button`
1350
+ `,V.button`
946
1351
  cursor: pointer;
947
1352
  aspect-ratio: 1;
948
1353
  width: 3em;
@@ -969,21 +1374,139 @@ import{ActionButton as e,CreatorGrid as t,DefaultTooltipContent as n,DownloadBut
969
1374
  font-size: 1.5em;
970
1375
  color: #999;
971
1376
  }
972
- `;const X=R.div`
1377
+ `;const il=V.div`
973
1378
  display: flex;
974
1379
  box-shadow:
975
1380
  0 -3px 2px 0 rgba(0, 0, 0, 0.04),
976
1381
  0 -1px 0 0 rgba(0, 0, 0, 0.17);
977
1382
 
978
- ${e=>!e.$open&&(e.$position===`top`||e.$position===`bottom`)?z`
1383
+ ${e=>!e.$open&&(e.$position===`top`||e.$position===`bottom`)?H`
979
1384
  display: none;
980
1385
  `:``}
981
- `,ea=R.div`
1386
+ `,al=V.div`
982
1387
  display: flex;
983
1388
  flex-direction: column;
984
1389
  flex: 1;
985
1390
  min-width: 0;
986
1391
  overflow: hidden;
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};
1392
+ `;function ol(e){let t=e?.resource;return t?.source?.type||t?.type||null}const sl=Ee(function(e){let t=q(),n=ai(),r=bi(),i=ba(),{vault:a}=A(ze),o=a||void 0,s=qe(e=>e.iiif),{loading:c,state:l,leftPanels:u,centerPanels:d,rightPanels:f,modals:p=[],actions:m}=i,h=e.isLoading||!1,g=N(()=>({rootResource:r,vault:o,app:t,layoutState:l,appState:n}),[r,o,t,l,n,s]),_=N(()=>zc(u,g,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}).filter(e=>!e.focusedMode?.hide),[u,g]),y=N(()=>zc(d,g,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}),[d,g]),b=N(()=>zc(f,g,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}).filter(e=>!e.focusedMode?.hide),[f,g]),x=N(()=>zc(p,g,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}),[p,g]),S=N(()=>({...i,leftPanels:_,centerPanels:y,rightPanels:b,modals:x}),[i,_,y,b,x]),C=_.find(e=>e.id===l.leftPanel.current),w=b.find(e=>e.id===l.rightPanel.current),T=y.find(e=>e.id===l.centerPanel.current),E=x.find(e=>e.id===l.modal.current),te=l.pinnedRightPanel.pinned?b.find(e=>e.id===l.pinnedRightPanel.current):void 0,ne=w&&(te?.id!==w.id||!gt(l.pinnedRightPanel.state,l.rightPanel.state)),re=N(()=>({rootResource:r,vault:o,app:t,layoutState:l,appState:n,actions:m}),[r,o,t,l,n,m]),ie=e=>{e.focusedMode?.onSelect?.(re)},ae=!C||C.focusedMode?.closeOnMainPanelClick!==!1,oe=N(()=>(i.background||[]).map((e,t)=>L(xe,{children:e.render()},t)),[i.background]);M(()=>{b.length&&m.rightPanel.change({id:b[0].id}),_.length&&m.leftPanel.change({id:_[0].id}),y.length&&m.centerPanel.change({id:y[0].id}),m.leftPanel.close(),m.rightPanel.close()},[]),M(()=>{if(T&&T.onMount)return T.onMount(l.centerPanel.state||T.defaultState||{},{...S,current:m.centerPanel,vault:o},n)},[l.centerPanel.current,T?.id]),M(()=>{if(!l.leftPanel.open||!l.leftPanel.current)return;let e=_.find(e=>e.id===l.leftPanel.current);e?.focusedMode?.onSelect&&ie(e)},[l.leftPanel.open,l.leftPanel.current,X(_)]),M(()=>{if(l.leftPanel.current&&!C){let e=Bc(_,l.leftPanel.current);e?m.leftPanel.change({id:e}):m.leftPanel.close()}if(l.centerPanel.current&&!T){let e=Bc(y,l.centerPanel.current);e?m.centerPanel.change({id:e}):m.centerPanel.close()}if(l.rightPanel.current&&!w){let e=Bc(b,l.rightPanel.current);e?m.rightPanel.change({id:e}):m.rightPanel.close()}if(l.modal.current&&!E){let e=Bc(x,l.modal.current);e?m.modal.change({id:e}):m.modal.close()}},[l.leftPanel.current,l.centerPanel.current,l.rightPanel.current,l.modal.current,C?.id,T?.id,w?.id,E?.id,X(_),X(y),X(b),X(x)]),Sc(`layout.edit`,e=>{ol(e)===`Canvas`&&!l.rightPanel.open||(b.find(e=>e.id===`@manifest-editor/editor`)?m.rightPanel.open({id:`@manifest-editor/editor`,stacked:!0}):w&&m.rightPanel.open())},[X(b),w?.id,l.rightPanel.open]);let D=`4.5rem`,se=`${Jo({options:C?.options,fallback:340})}px`,ce=`${Jo({options:w?.options,fallback:420})}px`,le={"--manifest-editor-layout-left-sidebar-small":D,"--manifest-editor-layout-left-sidebar-large":l.leftPanel.open?`calc(${D} + ${se})`:D,"--manifest-editor-layout-right-sidebar-small":D,"--manifest-editor-layout-right-sidebar-large":l.rightPanel.open?`calc(${D} + ${ce})`:D};if(M(()=>{if(typeof document>`u`)return;let e=document.documentElement,t=Object.keys(le).map(t=>[t,e.style.getPropertyValue(t)]);for(let[t,n]of Object.entries(le))e.style.setProperty(t,n);return()=>{for(let[n,r]of t)r?e.style.setProperty(n,r):e.style.removeProperty(n)}},[se,ce,l.leftPanel.open,l.rightPanel.open]),c)return null;let ue=(e,t,n)=>{if(!t.length)return null;let r=e===`left`?m.leftPanel:m.rightPanel;return L(Wc,{$side:e,"aria-label":`${e} panels`,children:t.map(t=>R(he,{placement:e===`left`?`right`:`left`,children:[L(ge,{asChild:!0,children:L(Gc,{type:`button`,"aria-label":t.label,"data-selected":n===t.id,onClick:()=>{n===t.id?r.toggle():r.open({id:t.id})},children:t.icon||t.label.slice(0,1)})}),L(v,{children:t.label})]},t.id))})},de=()=>!y.length&&!_.length?null:R(Wc,{$side:`left`,"aria-label":`Main and left panels`,children:[y.length?L(Kc,{"aria-label":`Main panels`,children:y.filter(e=>!e.focusedMode?.hide).map(e=>R(he,{placement:`right`,children:[L(ge,{asChild:!0,children:L(Gc,{type:`button`,"aria-label":e.label,"data-selected":l.centerPanel.current===e.id,onClick:()=>{m.centerPanel.open({id:e.id}),m.leftPanel.close(),m.rightPanel.close(),ie(e)},children:e.icon||e.label.slice(0,1)})}),L(v,{children:e.label})]},e.id))}):null,y.length&&_.length?L(qc,{}):null,_.length?L(Kc,{"aria-label":`Left panels`,children:_.map(e=>R(he,{placement:`right`,children:[L(ge,{asChild:!0,children:L(Gc,{type:`button`,"aria-label":e.label,"data-selected":l.leftPanel.current===e.id,onClick:()=>{l.leftPanel.current===e.id?m.leftPanel.toggle():m.leftPanel.open({id:e.id})},children:e.icon||e.label.slice(0,1)})}),L(v,{children:e.label})]},e.id))}):null]}),fe=()=>!E||l.modal.open===!1?null:L(ee,{title:E.label,onClose:()=>m.modal.close(),children:Yo(E.render(l.modal.state||E.defaultState||{},{...S,current:m.modal,vault:o},n))}),pe=()=>R(rl,{$menu:e.centerPanelMenuPosition||`top`,children:[e.centerPanelMenu?L(il,{$open:l.centerPanel.open,$position:e.centerPanelMenuPosition||`top`,children:e.centerPanelMenu}):null,L(al,{children:L(ot,{resetKeys:[T?.id],FallbackComponent:Ko,children:h?L(Uc,{children:L(Mc,{stroke:`rgba(0,0,0,.3)`,fontSize:`2em`})}):l.centerPanel.open&&T?Yo(T.render(l.centerPanel.state||T.defaultState||{},{...S,current:m.centerPanel,vault:o},n)):null})})]}),me=()=>L(Yc,{children:h?L(al,{children:L(Pc,{})}):R(I,{children:[e.leftPanelMenu?L(il,{$open:l.leftPanel.open,$position:e.leftPanelMenuPosition||`bottom`,children:e.leftPanelMenu}):null,L(al,{children:C?L(ls,{isLeft:!0,panel:C,state:l.leftPanel,actions:m.leftPanel}):null})]})}),_e=()=>L(Yc,{children:h?L(al,{children:L(Pc,{})}):R(I,{children:[e.rightPanelMenu?L(il,{$open:l.rightPanel.open,$position:e.rightPanelMenuPosition||`bottom`,children:e.rightPanelMenu}):null,R(al,{children:[ne?L(ls,{panel:w,state:l.rightPanel,actions:m.rightPanel,pinActions:m.pinnedRightPanel,available:b}):null,te?L(ls,{panel:te,state:l.pinnedRightPanel,actions:m.pinnedRightPanel,close:m.rightPanel.close}):null]})]})});return L(ha.Provider,{value:`focused`,children:R(Xc,{id:e.htmlId||`manifest-editor-container`,className:`manifest-editor ${e.className||``}`,"data-layout-mode":`focused`,style:le,children:[e.hideHeader?null:R(Zc,{children:[e.header||null,e.menu?L(`menu`,{children:e.menu}):null]}),R(Vc,{children:[L(Hc,{onClick:()=>{ae&&m.leftPanel.close()},children:pe()}),de(),ue(`right`,b,l.rightPanel.current),_.length>0?L(Jc,{$side:`left`,$open:l.leftPanel.open,style:{width:se,minWidth:C?.options?.minWidth,maxWidth:C?.options?.maxWidth},children:me()}):null,b.length>0?L(Jc,{$side:`right`,$open:l.rightPanel.open,style:{width:ce,minWidth:w?.options?.minWidth,maxWidth:w?.options?.maxWidth},children:_e()}):null]}),L(Qc,{children:e.footer||null}),L(`div`,{className:`hidden`,children:oe}),L(so,{}),L(co,{}),L(I,{children:fe()})]})})}),cl=V.div`
1393
+ position: relative;
1394
+ display: flex;
1395
+ flex: 1;
1396
+ overflow: hidden;
1397
+ flex-direction: column;
1398
+ `,ll=V.div`
1399
+ flex: 1;
1400
+ position: relative;
1401
+ z-index: 7;
1402
+ `,ul=V.div`
1403
+ display: flex;
1404
+ justify-content: space-around;
1405
+ width: 100%;
1406
+ background: #fff;
1407
+ border-top: 1px solid #cbcbcb;
1408
+ padding: 0.5em;
1409
+ height: 3.4rem;
1410
+ `,dl=V.button`
1411
+ //background: red;
1412
+ padding: 0.5em 1em;
1413
+ width: 32%;
1414
+
1415
+ border-radius: 5px;
1416
+ border: none;
1417
+ background: #ffffff;
1418
+ `,fl=V.button`
1419
+ padding: 0.5em 1em;
1420
+ width: 32%;
1421
+
1422
+ border-radius: 5px;
1423
+
1424
+ background: #5e59c2;
1425
+ border: 1px solid rgba(0, 0, 0, 0.21);
1426
+ color: #ffffff;
1427
+ `,pl=V.div`
1428
+ position: relative;
1429
+ width: 32%;
1430
+ margin: 0 0.75em;
1431
+ z-index: 9;
1432
+ `,ml=V.button`
1433
+ padding: 0.4em 1em 0.65em;
1434
+ position: absolute;
1435
+ width: 100%;
1436
+ bottom: 1em;
1437
+ background: #ffffff;
1438
+ box-shadow: 0 3px 18px 0 rgba(0, 0, 0, 0.04);
1439
+ border-radius: 5px;
1440
+ border: 1px solid #979797;
1441
+ letter-spacing: -0.46px;
1442
+ white-space: nowrap;
1443
+ overflow: hidden;
1444
+ text-overflow: ellipsis;
1445
+
1446
+ svg {
1447
+ display: block;
1448
+ margin: auto;
1449
+ font-size: 1.8em;
1450
+ }
1451
+ `,hl=V.div`
1452
+ background: #fff;
1453
+ display: flex;
1454
+ position: absolute;
1455
+ transform: translateY(100%);
1456
+ overflow-y: auto;
1457
+ left: 0;
1458
+ right: 0;
1459
+ top: 7em;
1460
+ z-index: 10;
1461
+ box-shadow:
1462
+ 0 -5px 15px 0 rgba(0, 0, 0, 0),
1463
+ 0 -3px 5px 0 rgba(0, 0, 0, 0);
1464
+ bottom: 0;
1465
+ transition:
1466
+ 0.3s transform ease-in-out,
1467
+ 0.3s box-shadow;
1468
+ ${e=>e.$open&&H`
1469
+ box-shadow:
1470
+ 0 -5px 15px 0 rgba(0, 0, 0, 0.1),
1471
+ 0 -3px 5px 0 rgba(0, 0, 0, 0.1);
1472
+ transform: translateY(0);
1473
+ `}
1474
+
1475
+ ${is} {
1476
+ box-shadow: none;
1477
+ padding-left: 0.5em;
1478
+ padding-right: 0.5em;
1479
+ font-size: 1.1em;
1480
+ }
1481
+ `,gl=V.div`
1482
+ position: absolute;
1483
+ transform: translateX(-100%);
1484
+ background: #fff;
1485
+ left: 0;
1486
+ top: 0;
1487
+ bottom: 0;
1488
+ z-index: 10;
1489
+ overflow-y: auto;
1490
+ transition: 0.5s transform;
1491
+ ${e=>e.$open&&H`
1492
+ transform: translateX(0);
1493
+ `}
1494
+ `,_l=V.div`
1495
+ background: rgba(0, 0, 0, 0.4);
1496
+ pointer-events: none;
1497
+ position: absolute;
1498
+ z-index: 8;
1499
+ top: 0;
1500
+ left: 0;
1501
+ right: 0;
1502
+ bottom: 0;
1503
+ opacity: 0;
1504
+ transition: opacity 0.5s;
1505
+
1506
+ ${e=>e.$open&&H`
1507
+ pointer-events: visible;
1508
+ opacity: 1;
1509
+ `}
1510
+ `,vl=Ee(function(e){if(e.layoutMode===`focused`)return L(sl,{...e});let t=q(),n=ai(),r=bi(),i=ba(),{vault:a}=A(ze),o=a||void 0,s=qe(e=>e.iiif),c=P(null),l=P(null),{loading:u,state:d,leftPanels:f,centerPanels:p,rightPanels:m,modals:h=[],actions:g}=i,_=N(()=>({rootResource:r,vault:o,app:t,layoutState:d,appState:n}),[r,o,t,d,n,s]),v=N(()=>zc(f,_,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}),[f,_]),y=N(()=>zc(p,_,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}),[p,_]),b=N(()=>zc(m,_,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}),[m,_]),x=N(()=>zc(h,_,(e,t)=>{console.error(`Layout panel "${e.id}" failed support check`,t)}),[h,_]),S=N(()=>({...i,leftPanels:v,centerPanels:y,rightPanels:b,modals:x}),[i,v,y,b,x]),C=v.find(e=>e.id===d.leftPanel.current),w=b.find(e=>e.id===d.rightPanel.current),T=y.find(e=>e.id===d.centerPanel.current),E=x.find(e=>e.id===d.modal.current),te=d.pinnedRightPanel.pinned?b.find(e=>e.id===d.pinnedRightPanel.current):void 0,[ne]=Cc([`(max-width: 1020px)`]),ie=e.isLoading||!1,ae=N(()=>(i.background||[]).map((e,t)=>L(xe,{children:e.render()},t)),[i.background]),oe=Rc(`left-panel/${C?.id}`,{left:!0,marginLeft:60,minWidthPx:C?.options?.minWidth||200,maxWidthPx:C?.options?.maxWidth||720,loading:u}),D=Rc(`right-panel/${w?.id}`,{left:!1,minWidthPx:w?.options?.minWidth||320,maxWidthPx:w?.options?.maxWidth||720,loading:u}),se=w&&(te?.id!==w.id||!gt(d.pinnedRightPanel.state,d.rightPanel.state)),ce=oe.widthB===`auto`?void 0:()=>oe.setWidths({widthA:`auto`,widthB:Jo({options:C?.options,fallback:320})}),le=D.widthB===`auto`?void 0:()=>D.setWidths({widthA:`auto`,widthB:Jo({options:w?.options,fallback:320})});if(M(()=>{ne&&d.leftPanel.open&&d.rightPanel.open&&(g.leftPanel.close(),g.rightPanel.close())},[ne]),M(()=>{if(T&&T.onMount)return T.onMount(d.centerPanel.state||T.defaultState||{},{...S,current:g.centerPanel,vault:o},n)},[d.centerPanel.current,T?.id]),M(()=>{if(d.leftPanel.current&&!C){let e=Bc(v,d.leftPanel.current);e?g.leftPanel.change({id:e}):g.leftPanel.close()}if(d.centerPanel.current&&!T){let e=Bc(y,d.centerPanel.current);e?g.centerPanel.change({id:e}):g.centerPanel.close()}if(d.rightPanel.current&&!w){let e=Bc(b,d.rightPanel.current);e?g.rightPanel.change({id:e}):g.rightPanel.close()}if(d.modal.current&&!E){let e=Bc(x,d.modal.current);e?g.modal.change({id:e}):g.modal.close()}},[d.leftPanel.current,d.centerPanel.current,d.rightPanel.current,d.modal.current,C?.id,T?.id,w?.id,E?.id,X(v),X(y),X(b),X(x)]),M(()=>{b.length&&g.rightPanel.change({id:b[0].id}),v.length&&g.leftPanel.change({id:v[0].id}),y.length&&g.centerPanel.change({id:y[0].id})},[]),u)return null;let ue=t=>L(rl,{$menu:e.leftPanelMenuPosition||`bottom`,ref:oe.refs.resizableDiv,className:[`manifest-editor`,t?`transition transition-${t}`:``].join(` `),style:{width:d.leftPanel.open||t!==`exited`?oe.widthB:void 0,minWidth:C?.options?.minWidth},children:ie?L(al,{children:L(Pc,{})}):R(I,{children:[e.leftPanelMenu?L(il,{$open:d.leftPanel.open&&t!==`exited`,$position:e.leftPanelMenuPosition||`bottom`,children:e.leftPanelMenu}):null,L(al,{children:d.leftPanel.open||t!==`exited`?L(I,{children:C?L(ls,{isLeft:!0,noHeader:!0,transition:t,panel:C,state:d.leftPanel,actions:g.leftPanel}):null}):null})]})}),de=()=>!E||d.modal.open===!1?null:L(ee,{title:E.label,onClose:()=>g.modal.close(),children:Yo(E.render(d.modal.state||E.defaultState||{},{...S,current:g.modal,vault:o},n))}),fe=()=>R(rl,{$menu:e.centerPanelMenuPosition||`top`,children:[e.centerPanelMenu?L(il,{$open:d.centerPanel.open,$position:e.centerPanelMenuPosition||`top`,children:e.centerPanelMenu}):null,L(al,{children:L(ot,{resetKeys:[T?.id],FallbackComponent:Ko,children:ie?L(`div`,{style:{display:`flex`,flex:1,justifyContent:`center`,alignItems:`center`},children:L(Mc,{stroke:`rgba(0,0,0,.3)`,fontSize:`2em`})}):d.centerPanel.open&&T?Yo(T.render(d.centerPanel.state||T.defaultState||{},{...S,current:g.centerPanel,vault:o},n)):null})})]}),pe=t=>L(rl,{$menu:e.rightPanelMenuPosition||`bottom`,ref:D.refs.resizableDiv,className:t?`transition transition-${t}`:``,style:{width:d.rightPanel.open||t!==`exited`?D.widthB:void 0,minWidth:w?.options?.minWidth},children:ie?L(al,{children:L(Pc,{})}):R(I,{children:[e.rightPanelMenu?L(il,{$open:d.rightPanel.open,$position:e.rightPanelMenuPosition||`bottom`,children:e.rightPanelMenu}):null,L(al,{children:d.rightPanel.open||t!==`exited`?R(I,{children:[se?L(ls,{panel:w,state:d.rightPanel,actions:g.rightPanel,pinActions:g.pinnedRightPanel,available:b}):null,te?L(ls,{panel:te,state:d.pinnedRightPanel,actions:g.pinnedRightPanel,close:g.rightPanel.close}):null]}):null})]})});return ne?R(Xc,{children:[e.hideHeader?null:R(Zc,{children:[e.header||null,e.menu?L(`menu`,{children:e.menu}):null]}),L($c,{children:R(cl,{children:[L(ll,{children:fe()}),R(ul,{children:[v.length>0?L(dl,{onClick:g.leftPanel.toggle,children:C?.label}):null,b.length>0?L(pl,{children:R(ml,{onClick:g.rightPanel.toggle,children:[L(gi,{rotate:180}),w?.label]})}):null,L(fl,{children:`Preview`})]}),b.length>0?L(hl,{$open:d.rightPanel.open,children:pe()}):null,v.length>0?L(gl,{$open:d.leftPanel.open,children:ue()}):null,v.length>0||b.length>0?L(_l,{$open:d.leftPanel.open||d.rightPanel.open,onClick:()=>{g.leftPanel.close(),g.rightPanel.close()}}):null]})})]}):R(Xc,{id:e.htmlId||`manifest-editor-container`,className:`manifest-editor ${e.className||``}`,children:[e.hideHeader?null:R(Zc,{children:[e.header||null,e.menu?L(`menu`,{children:e.menu}):null]}),R($c,{ref:e=>{oe.refs.container.current=e,D.refs.container.current=e},children:[v.length>0?L(re,{current:d.leftPanel.current,items:v.map(e=>({id:e.id,label:e.label,icon:e.icon,divide:e.divide,separator:e.separator,onClick:()=>{d.leftPanel.current===e.id?g.leftPanel.toggle():g.leftPanel.change({id:e.id})}})),open:d.leftPanel.open}):null,v.length>0?L(ht,{nodeRef:c,in:d.leftPanel.open,timeout:400,unmountOnExit:!1,children:e=>R(I,{children:[L(el,{ref:c,$width:oe.widthB,$state:e,$motion:!0,children:ue(e)}),L(jc,{ref:oe.refs.resizer,reset:ce,dir:`left`,transition:e,open:d.leftPanel.open||e!==`exited`,actions:g.leftPanel})]})}):null,L(tl,{children:fe()}),b.length>0?L(ht,{nodeRef:l,in:d.rightPanel.open,timeout:400,unmountOnExit:!1,children:e=>R(I,{children:[L(jc,{ref:D.refs.resizer,dir:`right`,reset:le,open:d.rightPanel.open,actions:g.rightPanel}),L(nl,{ref:l,$width:D.widthB,$state:e,$motion:!0,children:pe(e)})]})}):null]}),L(Qc,{children:e.footer||null}),L(`div`,{className:`hidden`,children:ae}),L(so,{}),L(co,{}),L(I,{children:de()})]})});function yl(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 N(()=>({popStack:n,change:r,open:i,close:a,toggle:o,minimise:s,maximise:c,setCustomWidth:l,resetSize:u,pin:d,unpin:f}),[])}function bl(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?{...Ze(e.state)}:{}})}}else e.stack=[]}function xl(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&&bl(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&&bl(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(qo(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 Sl=Qe((e,t)=>{switch(t.panel){case`centerPanel`:xl(e.centerPanel,t);break;case`leftPanel`:xl(e.leftPanel,t);break;case`rightPanel`:xl(e.rightPanel,t);break;case`modal`:xl(e.modal,t);break;case`pinnedRightPanel`:xl(e.pinnedRightPanel,t);break}});function Cl(){return{customWidth:void 0,minimised:!1,open:!0,current:null,state:null,stack:[]}}function wl(){return{leftPanel:Cl(),centerPanel:Cl(),rightPanel:Cl(),modal:Cl(),pinnedRightPanel:{...Cl(),pinnable:!0,pinned:!1}}}function Tl({className:e,variant:t=`light`}){let n=Ge(),r=z(),{edit:i}=_a(),a=na(),o=ra(),s=n?.items||[],c=n?.viewingDirection===`right-to-left`||n?.viewingDirection===`bottom-to-top`,l=n?.viewingDirection===`top-to-bottom`||n?.viewingDirection===`bottom-to-top`,u=El(a)||o.map(El).find(Boolean)||s[0]?.id||``,d=Math.max(0,s.findIndex(e=>e.id===u)),f=s[d]?.id||``,p=d+1,m=N(()=>s.map((e,t)=>{let n=r.get({id:e.id,type:`Canvas`});return{id:e.id,pageNumber:t+1,labelText:tt(n?.label)||`Page ${t+1}`}}),[s,r]),h=e=>{let t=s.findIndex(t=>t.id===e),r=s[t];!r||!n||i({id:r.id,type:`Canvas`},{parent:{id:n.id,type:`Manifest`},property:`items`,index:t},{forceOpen:!1})};if(!n||s.length<2)return L(`div`,{});let g=s[d-1],_=s[d+1],v=t===`dark`;return R(`nav`,{"aria-label":`Manifest pagination`,className:Al(`inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-1`,`focus-within:ring-2 focus-within:ring-me-primary-500/40`,c&&`flex-row-reverse`,v?`border-white/20 bg-white/10 text-white`:`border-me-gray-300 bg-white text-me-gray-900`,e),children:[L(Dl,{ariaLabel:`Previous canvas`,disabled:!g,onClick:()=>g&&h(g.id),dark:v,children:L(Ol,{reverse:c,vertical:l})}),R(`label`,{htmlFor:`manifest-pagination-page-select`,"aria-label":`Page ${p} of ${s.length}`,className:Al(`relative inline-flex min-h-8 cursor-pointer select-none items-center gap-0.5`,`whitespace-nowrap rounded-full border px-2.5 text-xs font-semibold leading-none`,`focus-within:outline-none focus-within:ring-2 focus-within:ring-me-primary-500/40`,v?`border-white/20 bg-white/10 text-white hover:bg-white/15`:`border-me-gray-300 bg-me-gray-100 text-me-gray-900 hover:bg-me-primary-50`),children:[R(`span`,{children:[p,` / `,s.length]}),L(kl,{className:Al(`shrink-0 text-base`,v?`text-white/60`:`text-me-gray-500`)}),L(`select`,{id:`manifest-pagination-page-select`,"aria-label":`Jump to canvas`,value:f,onChange:e=>h(e.target.value),className:`absolute inset-0 cursor-pointer appearance-none border-0 bg-white opacity-0`,children:m.map(e=>R(`option`,{value:e.id,children:[`Page `,e.pageNumber,` - `,e.labelText]},e.id))})]}),L(Dl,{ariaLabel:`Next canvas`,disabled:!_,onClick:()=>_&&h(_.id),dark:v,children:L(Ol,{reverse:!c,vertical:l})})]})}function El(e){let t=e?.resource?.source;return t?.type===`Canvas`?t.id:null}function Dl({ariaLabel:e,children:t,dark:n,disabled:r,onClick:i}){return L(`button`,{type:`button`,"aria-label":e,disabled:r,onClick:i,className:Al(`inline-flex h-8 w-8 items-center justify-center rounded-full border-0 bg-transparent p-0`,`text-lg transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-me-primary-500/50`,n?`text-white hover:bg-white/15 disabled:text-white/40 disabled:hover:bg-transparent`:`text-me-gray-900 hover:bg-me-primary-50 disabled:text-me-gray-500 disabled:hover:bg-transparent`,`disabled:cursor-not-allowed`),children:t})}function Ol({reverse:e,vertical:r}){return L(e?t:n,{"aria-hidden":!0,className:Al(`block`,r&&`rotate-90`)})}function kl(e){return L(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,viewBox:`0 0 24 24`,"aria-hidden":!0,...e,children:L(`path`,{fill:`currentColor`,d:`m7 10l5 5l5-5z`})})}function Al(...e){return e.filter(Boolean).join(` `)}const jl=new WeakMap;function Ml(e,t){let n={port:t,lastActionId:`@genesis`},r=Nl(e);function i(e){t.postMessage(typeof e==`string`?e:JSON.stringify(e))}function a(){i({_id:ar(),_type:`init-response`,_lastActionId:n.lastActionId,data:e.getState()})}function o(e){i({_id:e,_type:`vault-action-rejection`,_lastActionId:n.lastActionId,action:e})}function s(e){let t=Fl(e.data);if(t){if(t._type===`init-request`){a();return}t._type===`vault-action`&&o(t._id)}}return r.targets.add(n),t.addEventListener(`message`,s),t.start(),()=>{t.removeEventListener(`message`,s),r.targets.delete(n),r.targets.size===0&&e.dispatch===r.patchedDispatch&&(e.dispatch=r.originalDispatch,jl.delete(e)),t.close()}}function Nl(e){let t=jl.get(e);if(t)return t;let n=e.dispatch.bind(e),r=new Set,i=(e=>{let t=n(e);for(let t of r)Pl(t,e);return t}),a={originalDispatch:n,patchedDispatch:i,targets:r};return e.dispatch=i,jl.set(e,a),a}function Pl(e,t){let n={_id:ar(),_type:`vault-action`,_lastActionId:e.lastActionId,action:t};e.lastActionId=n._id,e.port.postMessage(JSON.stringify(n))}function Fl(e){try{if(typeof e==`string`)return JSON.parse(e);if(typeof e==`object`&&e)return e}catch{return null}return null}const Il=O({resource:null});function Ll(){return A(Il)}function Rl(){let e=z(),{resource:t}=Ll();U(t,`Nothing selected`);let{id:n,type:r}=t;return qe(()=>e.get({id:n,type:r}),[n,r])}function zl(){let{resource:e}=Ll();return e}function Bl({resource:e,children:t}){let{id:n,type:r}=e||{};return L(Il.Provider,{value:N(()=>({resource:n&&r?{id:n,type:r}:null}),[n,r]),children:t})}var Vl=class extends be{constructor(...e){super(...e),J(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?L(`h1`,{children:`Sorry.. there was an error`}):this.props.children}};function Hl(e,t){return typeof e==`string`?{id:e,state:t}:e}const Ul=Ee(function(e){let t=q(),n=xc(),r=t.layout,[i,a]=Oe(Sl,void 0,wl),o={centerPanel:yl(`centerPanel`,a),leftPanel:yl(`leftPanel`,a),rightPanel:yl(`rightPanel`,a),pinnedRightPanel:yl(`pinnedRightPanel`,a),modal:yl(`modal`,a),editingStack:ta()};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}=Hl(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}=Hl(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}=Hl(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}=Hl(e,t),[,i]=s(r);n.emit(`layout.close`,{id:r}),i.close()}function f(e,t){let{id:r}=Hl(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,selectedTab:l}={}){let u={resource:Je(e)?e:{type:`SpecificResource`,source:e},...t};n.emit(`layout.edit`,u),o.editingStack.edit(u,i),r.rightPanels.find(e=>e.id===`@manifest-editor/editor`)&&(c?o.rightPanel.open({id:`@manifest-editor/editor`,stacked:s!==!1,state:{property:a,currentTab:l},unique:!0}):o.rightPanel.change({id:`@manifest-editor/editor`,stacked:s!==!1,state:{property:a,currentTab:l},unique:!0}))}async 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 L(pa.Provider,{value:N(()=>({...o,...h}),[r]),children:L(ma.Provider,{value:i,children:e.children})})}),Wl=[{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`}],Gl=new _t({approximateServices:!0,verificationsRequired:8,enableFetching:!0});function Kl({config:e,saveConfig:t,children:n,theme:r,previews:i,resource:a,editing:o,backgroundActionPersistence:s}){let c=ii(),l=Ot(),u=N(()=>Tt(l,{previews:e?.previews||(l.previews?.length?l.previews:Wl)},e),[l,e]),d=N(()=>({appId:c.appId,instanceId:c.instanceId,rootResource:{id:a.id,type:a.type}}),[c.appId,c.instanceId,a.id,a.type]);return L(Vl,{children:L(Le.Provider,{value:Gl,children:L(Si,{resource:a,children:L(gs,{children:L(Ye,{theme:r||Es,children:R(At,{config:u,saveConfig:t,children:[L(ei,{config:u}),L(da,{children:L(Ul,{children:L(Zn,{persistence:s,persistenceKey:d,children:L(Ks,{children:L(Qa,{children:L(Pi,{previews:i||[],configs:u.previews,children:L(Pe,{children:n})})})})})})})]})})})})})})}const ql=new Set([`Collection`,`Manifest`,`Canvas`,`Range`,`AnnotationPage`,`Annotation`,`ContentResource`,`Agent`]),Jl={satisfied:0,missing:0,invalid:0,disallowed:0,"not-applicable":0},Yl=new Set([`label`,`summary`,`language`,`navDate`,`provider`,`requiredStatement`,`rights`,`thumbnail`]);function Xl(e){return e?Array.isArray(e)?e.filter(Boolean):e.split(`.`).filter(Boolean):[]}function Zl(e,t){let n=Xl(e),r=Xl(t);return n.length===r.length&&n.every((e,t)=>e===r[t])}function Ql(e,t){let n=e;for(let e of Xl(t)){if(n==null)return;n=n[e]}return n}function $l(e,t,n){let r=Xl(t);if(!r.length)return n;let i=Array.isArray(e)?[...e]:{...e||{}},a=i;return r.forEach((e,t)=>{if(t===r.length-1){a[e]=n;return}let i=a[e];a[e]=Array.isArray(i)?[...i]:{...i||{}},a=a[e]}),i}function eu(e){if(e==null)return!1;if(typeof e==`string`)return e.trim().length>0;if(typeof e==`number`||typeof e==`boolean`)return!0;if(Array.isArray(e))return e.some(e=>eu(e));if(typeof e!=`object`)return!1;let t=Object.entries(e);return t.length?t.every(([,e])=>typeof e==`string`||Array.isArray(e)&&e.every(e=>typeof e==`string`))?t.some(([,e])=>eu(e)):!0:!1}function tu(e){return Array.isArray(e)?e.map(tu):e&&typeof e==`object`?Object.keys(e).sort().reduce((t,n)=>(t[n]=tu(e[n]),t),{}):e}function nu(e,t){return JSON.stringify(tu(e))===JSON.stringify(tu(t))}function ru(e,t,n,r){let i=Xl(n);for(let n of e||[])for(let e of n.terminology?.properties||[])if(!(e.entityType&&e.entityType!==t)&&Zl(e.path,i))return e.label;return r||ju(i)}function iu(e,t,n){let r=Xl(n),i=[],a,o,s=!1,c=!1;if(!t||!ql.has(t.type))return{entityType:t?.type,path:r,label:ru(e,t?.type,r),disallowed:!1,required:!1,rules:i};for(let n of e||[])for(let e of n.rules||[])!(`entityType`in e)||!(`path`in e)||e.entityType===t.type&&Zl(e.path,r)&&(i.push(e),e.type===`disallow-property`&&(s=!0),e.type===`require-non-empty`&&(c=!0),e.type===`fixed-value`&&!o&&(a=e.value,o=e,c=!0));return{entityType:t.type,path:r,label:ru(e,t.type,r),disallowed:s,required:c,fixedValue:a,fixedValueRule:o,rules:i}}function au(e,t,n){let r=e||[],i=ou(t,n),a=[];for(let e of r)for(let[n,r]of(e.rules||[]).entries())a.push(...su(e,r,n,i,t));return{specifications:r,results:a,counts:gu(a)}}function ou(e,t){let n=[],r=new Set;function i(t){let a=vu(t);if(!a)return;if(a.type===`SpecificResource`){i(t?.source);return}let o=_u(e,t)||_u(e,a);if(!o||!o.type)return;let s=`${o.type}:${o.id||JSON.stringify(a)}`;if(!r.has(s)){r.add(s),ql.has(o.type)&&n.push({ref:{id:o.id,type:o.type},resource:o});for(let e of yu(o))i(e)}}return i(t),n}function su(e,t,n,r,i){switch(t.type){case`disallow-property`:case`require-non-empty`:case`fixed-value`:return cu(e,t,n,r);case`iiif:canvas-with-image-service`:return[lu(e,t,n,r,i)];case`iiif:thumbnail-from-body-service`:return uu(e,t,n,r,i);case`iiif:valid-rights`:return du(e,t,n,r);case`iiif:required-statement`:return fu(e,t,n,r);case`iiif:metadata-template`:return pu(e,t,n,r);default:return[]}}function cu(e,t,n,r){let i=r.filter(e=>e.ref.type===t.entityType),a=ru(e?[e]:[],t.entityType,t.path);return i.length?i.map(({ref:r,resource:i})=>{let o=Ql(i,t.path),s=eu(o);if(t.type===`disallow-property`)return mu(e,t,n,{target:r,path:t.path,status:s?`disallowed`:`satisfied`,displayLabel:a,actual:o,message:s?`${a} is present but is not allowed.`:`${a} is not present.`,editorTarget:hu(r,t.path)});if(t.type===`require-non-empty`)return mu(e,t,n,{target:r,path:t.path,status:s?`satisfied`:`missing`,displayLabel:a,actual:o,message:s?`${a} has a value.`:`${a} must be filled in.`,editorTarget:hu(r,t.path)});let c=nu(o,t.value);return mu(e,t,n,{target:r,path:t.path,status:c?`satisfied`:s?`invalid`:`missing`,displayLabel:a,expected:t.value,actual:o,message:c?`${a} matches the required value.`:s?`${a} does not match the required value.`:`${a} must use the required value.`,editorTarget:hu(r,t.path)})}):[mu(e,t,n,{status:`not-applicable`,displayLabel:a,message:`No ${t.entityType} resources were found for ${a}.`,path:t.path})]}function lu(e,t,n,r,i){let a=r.filter(e=>e.ref.type===`Canvas`),o=bu(t),s=a.find(({resource:e})=>xu(Su(e,i),o));return mu(e,t,n,{target:s?.ref,status:s?`satisfied`:`missing`,displayLabel:t.label||`Canvas image service`,expected:o,message:s?`A canvas contains the required image service.`:o.length?`A canvas must contain one of the required image services: ${o.join(`, `)}.`:`A canvas must contain a painting body with an image service.`,editorTarget:s?hu(s.ref,[`items`]):void 0})}function uu(e,t,n,r,i){let a=t.entityType||`Canvas`,o=r.filter(e=>e.ref.type===a);return o.length?o.map(({ref:o,resource:s})=>{let c=a===`Manifest`?r.filter(e=>e.ref.type===`Canvas`).flatMap(e=>Su(e.resource,i)):Su(s,i),l=Cu(s,c,i),u=eu(s.thumbnail);return mu(e,t,n,{target:o,path:[`thumbnail`],status:l?`satisfied`:c.length?u?`invalid`:t.requireThumbnail===!1?`not-applicable`:`missing`:`not-applicable`,displayLabel:ru([e],o.type,[`thumbnail`],`Thumbnail`),expected:c,actual:s.thumbnail,message:l?`Thumbnail uses the same image service as the painting content.`:c.length?u?`Thumbnail does not use the same image service as the painting content.`:`Thumbnail must be created from the painting image service.`:`No painting image service was found to compare against.`,editorTarget:hu(o,[`thumbnail`])})}):[mu(e,t,n,{status:`not-applicable`,displayLabel:`Thumbnail`,message:`No ${a} resources were found for thumbnail checks.`})]}function du(e,t,n,r){let i=t.entityType||`Manifest`,a=r.filter(e=>e.ref.type===i),o=t.allowed||[];return a.map(({ref:r,resource:i})=>{let a=i.rights,s=eu(a),c=typeof a==`string`&&o.map(Du).includes(Du(a));return mu(e,t,n,{target:r,path:[`rights`],status:c?`satisfied`:!s&&t.required!==!1?`missing`:`invalid`,displayLabel:ru([e],r.type,[`rights`],`Rights`),expected:o,actual:a,message:c?`Rights uses an allowed URI.`:!s&&t.required!==!1?`Rights must use an allowed URI.`:`Rights is not one of the allowed URIs.`,editorTarget:hu(r,[`rights`])})})}function fu(e,t,n,r){let i=t.entityType||`Manifest`;return r.filter(e=>e.ref.type===i).map(({ref:r,resource:i})=>{let a=i.requiredStatement,o=t.label?Ou(a?.label,t.label):eu(a?.label),s=t.value||t.valueRequired!==!1,c=t.value?Ou(a?.value,t.value):!s||eu(a?.value),l=eu(a);return mu(e,t,n,{target:r,path:[`requiredStatement`],status:o&&c?`satisfied`:l?`invalid`:`missing`,displayLabel:ru([e],r.type,[`requiredStatement`],`Required statement`),expected:t.value||t.label,actual:a,message:o&&c?`Required statement is complete.`:l?`Required statement does not match the specification.`:`Required statement must be filled in.`,editorTarget:hu(r,[`requiredStatement`])})})}function pu(e,t,n,r){let i=t.entityType||`Manifest`,a=r.filter(e=>e.ref.type===i),o=[];for(let{ref:r,resource:i}of a){let a=Array.isArray(i.metadata)?i.metadata:[];t.items.forEach((i,s)=>{let c=a.find(e=>Ou(e?.label,i.label)),l=i.value?Ou(c?.value,i.value):i.valueRequired?eu(c?.value):!0,u=c&&l?`satisfied`:c&&i.value?`invalid`:`missing`,d=Au(i.label);o.push(mu(e,t,n,{idSuffix:`metadata-${s}`,target:r,path:[`metadata`],status:u,displayLabel:d||`Metadata`,expected:i.value||i.label,actual:c,message:c&&l?`${d||`Metadata`} is present.`:c?`${d||`Metadata`} needs a value.`:`${d||`Metadata`} metadata must be added.`,editorTarget:hu(r,[`metadata`])}))})}return o}function mu(e,t,n,r){let i=t.id||`${t.type}-${n}`,a=r.idSuffix?`-${r.idSuffix}`:``;return{id:`${e.id}-${i}-${r.target?.type||`root`}-${r.target?.id||`none`}${a}`,specificationId:e.id,specificationLabel:e.label,ruleId:i,ruleType:t.type,ruleLabel:t.label||r.displayLabel,ruleIndex:n,target:r.target,path:r.path,status:r.status,displayLabel:r.displayLabel,message:t.message||r.message,expected:r.expected,actual:r.actual,editorTarget:r.editorTarget}}function hu(e,t){let n=t[0];return{resource:e,propertyPath:t,selectedTab:n===`metadata`?`@manifest-editor/metadata`:n&&Yl.has(n)?`@manifest-editor/descriptive-properties`:void 0}}function gu(e){let t={...Jl};for(let n of e)t[n.status]+=1;return t}function _u(e,t){let n=vu(t);if(!n)return t;try{return e.get(n,{skipSelfReturn:!1})||t}catch{try{return e.get(n)||t}catch{return t}}}function vu(e){return!e||typeof e!=`object`?null:e.type===`SpecificResource`?{id:e.id||e.source?.id||``,type:`SpecificResource`}:typeof e.id==`string`&&typeof e.type==`string`?{id:e.id,type:e.type}:null}function yu(e){if(!e||typeof e!=`object`)return[];let t=[];for(let n of[`items`,`structures`,`annotations`,`thumbnail`,`provider`,`homepage`,`rendering`,`seeAlso`,`body`,`target`,`source`]){let r=e[n];Array.isArray(r)?t.push(...r):r&&t.push(r)}return t}function bu(e){return[...e.serviceIds||[],...e.serviceId?[e.serviceId]:[]].filter(Boolean)}function xu(e,t){let n=new Set(e.filter(Boolean));return t.length?t.some(e=>n.has(e)):n.size>0}function Su(e,t){let n=Eu(t,e?.items),r=[];for(let e of n){let n=Eu(t,e?.items);for(let e of n)if((Array.isArray(e?.motivation)?e.motivation:[e?.motivation]).includes(`painting`))for(let n of wu(e?.body,t))r.push(...Tu(n))}return Array.from(new Set(r))}function Cu(e,t,n){let r=Eu(n,e?.thumbnail);if(!r.length||!t.length)return!1;for(let e of r){let n=Tu(e),r=typeof e?.id==`string`?e.id:``;if(n.some(e=>t.includes(e))||t.some(e=>r.startsWith(e)))return!0}return!1}function wu(e,t){let n=_u(t,e);return n?Array.isArray(n)?n.flatMap(e=>wu(e,t)):n.type===`SpecificResource`?wu(n.source,t):n.type===`Choice`?n.items?.flatMap(e=>wu(e,t))||[]:[n]:[]}function Tu(e){let t=e?.service||e?.services,n=Array.isArray(t)?t:t?[t]:[],r=[];for(let e of n){let t=typeof e==`string`?e:e?.id||e?.[`@id`];typeof t==`string`&&t&&r.push(t)}return Array.from(new Set(r))}function Eu(e,t){if(!t)return[];let n=Array.isArray(t)?t:[t];try{let t=e.get(n);if(Array.isArray(t))return t.filter(Boolean)}catch{}return n.map(t=>_u(e,t)).filter(Boolean)}function Du(e){return e.replace(/^https:/,`http:`).replace(/\/?$/,`/`)}function Ou(e,t){return typeof t==`string`?ku(e).some(e=>e===t):nu(e,t)}function ku(e){return e?typeof e==`string`?[e.trim()].filter(Boolean):Array.isArray(e)?e.flatMap(ku):typeof e==`object`?Object.values(e).flatMap(ku):[]:[]}function Au(e){return typeof e==`string`?e:ku(e)[0]||``}function ju(e){return(e[e.length-1]||`Property`).replace(/([A-Z])/g,` $1`).replace(/[-_]/g,` `).replace(/^./,e=>e.toUpperCase())}const Mu=O([]);function Nu({children:e,specifications:t}){let n=N(()=>t||[],[t]);return L(Mu.Provider,{value:n,children:e})}function Pu(){return A(Mu)}function Fu(e){let t=bi(),n=Pu(),r=e||t;return qe((e,t)=>au(n,t,r),[n,r.id,r.type])}function Iu(){let e=Pu();return N(()=>({getLabel(t,n,r){return ru(e,t,n,r)}}),[e])}function Lu(e,t){let n=Pu();return N(()=>iu(n,e,t),[n,e?.id,e?.type,JSON.stringify(t)])}const Ru={},zu=O(`global`);function Bu(){return A(zu)}function Vu(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Hu(e){let t=Bu(),[,n]=Oe(e=>e+1,0),r=N(()=>(Ru[t]||(Ru[t]={}),Ru[t][e]||(Ru[t][e]={name:e,emitter:pt(),status:`idle`,promise:Promise.resolve(),abort:new AbortController,reject:()=>void 0,resolve:()=>void 0}),Ru[t][e]),[t,e]);return Uu(r,`abort`,n),Uu(r,`error`,n),Uu(r,`complete`,n),Uu(r,`running`,n),r}function Uu(e,t,n){let r=k(()=>n(e),[n]);j(()=>{let n=e.emitter;return n.on(t,r),()=>n.off(t,r)},[t,r,e.emitter])}const Wu=()=>void 0;function Gu(e,t){let n=Hu(e);return Uu(n,`complete`,t||Wu),[e=>{n.status===`running`&&(n.abort.abort(),n.emitter.emit(`abort`)),n.error&&(n.error=``);let t=Vu();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 Ku(e,t){let n=Hu(e);return Uu(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 qu({children:e}){return L(zu.Provider,{value:N(()=>`id-${Date.now()}`,[]),children:e})}function Ju(e){return!1}function Yu({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,_=N(()=>t,[t?.id,t?.type]),v=k(function(e){e.defaultPrevented||(e.preventDefault(),e.clipboardData&&_&&_.id&&_.type&&e.clipboardData.setData(`application/json+vault`,JSON.stringify({id:_.id,type:_.type})))},[_]),y=k(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(`
1511
+ `);for(let t of e){if(g)try{let e=await Ju(t);if(e){g(e);continue}}catch{}h&&h(t)}}}d.onComplete&&d.onComplete()}},[]),b=k(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 L(f,{onCopy:v,onPaste:y,onDrop:k(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:k(e=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`)},[]),onDragStart:b,tabIndex:-1,...d})}export{wo as AppHeader,Oo as AppMenuProvider,si as AppProvider,ni as AppReactContext,xi as AppResourceInstanceProvider,Si as AppResourceProvider,ri as AppStateReactContext,Ne as AtlasStoreProvider,Fe as AtlasStoreReactContext,co as BackgroundActionToasts,Co as BackgroundActionsMenu,so as BackgroundActionsMount,Zn as BackgroundActionsProvider,Xn as BackgroundActionsReactContext,Ds as BaseAnnotationCreator,js as BaseEditor,Os as BaseEditorBackButton,ks as BaseEditorCloseButton,jt as CANVAS_PROGRESS_META_NAMESPACE,Mt as CANVAS_PROGRESS_STATUS_META_KEY,Us as ConfigEditor,At as ConfigProvider,Et as ConfigReactContext,Ks as ContextMenuProvider,Gs as ContextMenuReactContext,Ss as CreatorInitialData,da as EditingStack,$i as EditingStackContext,bc as EventEmitterProvider,_c as ExportPanel,Ca as FLAG_TAG,ms as HOMEPAGE_COLLECTION,Ec as HandleContainer,jc as HandleControls,fa as InlineEditingStack,vl as Layout,pa as LayoutActionsReactContext,ha as LayoutModeReactContext,ma as LayoutStateReactContext,Zt as ManifestEditorCanvasProgressOverlay,Ka as ManifestEditorTagBadge,Ga as ManifestEditorTagIcon,qa as ManifestEditorTagOverlay,Tl as ManifestPaginationNavigation,vt as MessagePortClientVault,ls as ModularPanel,is as ModularPanelHeader,as as ModulePanelButton,di as MultiAppProvider,Ko as PanelError,ei as PluginConfigBridge,Hr as PluginGlobalConfigReactContext,Bs as PluginManager,Ur as PluginProvider,Vr as PluginReactContext,Yi as PreviewButton,Pi as PreviewProvider,_s as PreviewVaultBoundary,gs as PreviewVaultContext,ti as PrimeAppReactContext,yc as ReactEmitterContext,Bl as ResourceEditingProvider,Il as ResourceEditingReactContext,Dt as SaveConfigReactContext,Kl as ShellProvider,Nu as SpecificationProvider,Sa as TAGS_META_KEY,xa as TAGS_META_NAMESPACE,qu as TaskBridge,Qa as ToastProvider,Yu as UniversalCopyTarget,Ia as addResourceTag,Po as analyse,Io as analyseJson,zr as applyPlugins,Ts as baseCreator,Ms as baseEditor,Bt as clearCanvasProgressStatus,Ht as clearCanvasProgressStatuses,ou as collectSpecificationResources,ir as copyToClipboard,nr as createActionIdentity,Vn as createBackgroundActionsStore,rr as createDownload,Ml as createIframeVaultBridge,Jn as createLocalForageBackgroundActionPersistence,Ut as createManifestEditorCanvasProgressApi,Ha as createManifestEditorTagsApi,Nr as createPluginRuntimeApi,Br as createPluginStore,us as createPreviewVault,Wt as createTrackingCanvasProgressApi,No as detectMedia,gr as disablePluginInConfig,As as editBasedOnResource,Pr as enablePluginAndDependenciesInConfig,hr as enablePluginInConfig,au as evaluateSpecifications,sr as extendApp,zc as filterSupportedPanels,sn as getAvailableBackgroundActionGroups,en as getBackgroundActionInstanceKey,Lt as getCanvasProgressStatus,Rt as getCanvasProgressStatusFromState,wl as getDefaultLayoutState,Cl as getDefaultPanelState,Mr as getEffectivePluginSettings,ur as getEmptyPluginState,Dr as getEnabledPluginsForApp,zo as getFormat,Bo as getImageDimensions,tr as getManifestNomalized,wr as getPluginCompatibilityReason,jr as getPluginDefaultSettings,Er as getPluginSelectionSource,Or as getPluginSettingsFromConfig,iu as getPropertyPolicy,La as getResourceTag,za as getResourceTagGroups,Na as getResourceTags,Pa as getResourceTagsFromState,Bc as getSupportedPanelFallback,ru as getTerminologyLabel,Ql as getValueAtPath,eu as hasMeaningfulValue,Ba as hasResourceTag,br as isMappedPlugin,qo as isPinnableState,Cr as isPluginCompatible,Tr as isPluginSelected,Sl as layoutReducer,or as mapApp,yr as mapPlugin,tn as mergeBackgroundActionDefinitions,Tt as mergeConfig,wt as mergePartialConfig,rn as normaliseBackgroundActionError,tu as normaliseJsonValue,xr as normalisePlugin,pr as normalisePluginAppConfig,mr as normalisePluginAppsConfig,Sr as normalisePlugins,Xl as normaliseSpecificationPath,X as panelIds,Jo as panelSizing,vr as pluginAppConfigEquals,Ao as polygonToBoundingBox,ar as randomId,Ra as removeResourceTag,Yo as renderHelper,_r as resetPluginInConfig,Ar as resetPluginSettingsInConfig,Wn as runBackgroundAction,zt as setCanvasProgressStatus,Vt as setCanvasProgressStatuses,kr as setPluginSettingsInConfig,Fa as setResourceTags,$l as setValueAtPath,nn as sortBackgroundActionDefinitions,nu as specificationJsonEquals,Zl as specificationPathEquals,Va as toggleResourceTag,vc as useAnnotationCreatorState,ca as useAnnotationPageEditor,q as useApp,ii as useAppInstance,Eo as useAppMenu,Do as useAppMenuItem,bi as useAppResource,yi as useAppResourceInstance,ai as useAppState,li as useApps,ko as useAtlasStore,oo as useAvailableBackgroundActions,ya as useAvailableLayouts,er as useBackgroundActionHistory,$n as useBackgroundActionInstance,K as useBackgroundActionsStore,Qn as useBackgroundActionsStoreApi,Kt as useCanvasProgressActions,Gt as useCanvasProgressStatus,oa as useCollectionEditor,Ot as useConfig,ia as useCreatingResource,vs as useCreator,Xs as useCustomContextMenu,Ns as useDecayState,Ll as useEditingContext,na as useEditingResource,ra as useEditingResourceStack,ta as useEditingStack,la as useEditor,xc as useEmitter,Jr as useEnabledPlugins,Sc as useEvent,sa as useGenericEditor,Vo as useHighlightedImageResource,Uo as useHoverHighlightImageResource,xs as useInitialData,ys as useInlineCreator,_a as useLayoutActions,va as useLayoutMode,ba as useLayoutProvider,ga as useLayoutState,_e as useLocalStorage,aa as useManifestEditor,Cc as useMatchMedia,ve as useOptionalLocalStorage,Wr as useOptionalPluginStoreApi,zl as useOptionalResource,yl as usePanelActions,Yr as usePluginActions,Qr as usePluginConfigApi,Xr as usePluginRuntimeApi,Zr as usePluginSettings,Gr as usePluginStoreApi,qr as usePlugins,Ii as usePreviewContext,hs as usePreviewHistory,ds as usePreviewVault,Fi as usePreviews,$r as useResolvedPluginApp,Rl as useResource,Js as useResourceContextMenuItems,Wa as useResourceTagActions,Ua as useResourceTags,kt as useSaveConfig,wc as useSaveVault,ns as useSetCustomTitle,Lu as useSpecificationPropertyPolicy,Fu as useSpecificationReport,Iu as useSpecificationTerminology,Pu as useSpecifications,Tc as useSvgTools,Hu as useTask,Gu as useTaskDispatch,Uu as useTaskEvent,Ku as useTaskRunner,Ho as useTemporaryHighlight,$a as useToasts};
989
1512
  //# sourceMappingURL=index.js.map