@manifest-editor/projects 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,12 +1,7 @@
1
- import * as react10 from "react";
2
- import { Dispatch, ReactNode } from "react";
3
1
  import { Collection, Manifest } from "@iiif/presentation-3";
4
2
  import { Vault } from "@iiif/helpers/vault";
5
3
  import { Preview } from "@manifest-editor/shell";
6
- import * as react_jsx_runtime0 from "react/jsx-runtime";
7
- import * as styled_components_dist_types6 from "styled-components/dist/types";
8
- import * as styled_components6 from "styled-components";
9
-
4
+ import { Dispatch, ReactNode } from "react";
10
5
  //#region src/types/Storage.d.ts
11
6
  interface Storage {
12
7
  type: string;
@@ -75,7 +70,7 @@ interface ProjectActions {
75
70
  type ProjectActionsType = { [T in keyof ProjectActions]: {
76
71
  type: T;
77
72
  payload: Parameters<ProjectActions[T]>[0];
78
- } }[keyof ProjectActions];
73
+ }; }[keyof ProjectActions];
79
74
  interface EditorProject {
80
75
  id: string;
81
76
  name: string;
@@ -122,8 +117,8 @@ interface ProjectStorage<S extends Storage, DataType = any, Ref extends Storage
122
117
  }
123
118
  //#endregion
124
119
  //#region src/ProjectContext.d.ts
125
- declare const ProjectReactContext: react10.Context<ProjectContext | null>;
126
- declare const ProjectLoadingReactContext: react10.Context<{
120
+ declare const ProjectReactContext: import("react").Context<ProjectContext | null>;
121
+ declare const ProjectLoadingReactContext: import("react").Context<{
127
122
  isLoading: boolean;
128
123
  isError: boolean;
129
124
  error?: string;
@@ -164,14 +159,8 @@ declare function useProjectActionsWithBackend(dispatch: Dispatch<ProjectActionsT
164
159
  setPreview: (publication: Preview) => void;
165
160
  removePreview: (id: string) => void;
166
161
  };
167
- declare function useProjectBackend({
168
- actions,
169
- current
170
- }: ProjectContext, backend: ProjectBackend): void;
171
- declare function useProjectLoader<T$1 extends Storage = any>({
172
- actions,
173
- current
174
- }: ProjectContext, storage: ProjectStorage<T$1>): {
162
+ declare function useProjectBackend({ actions, current }: ProjectContext, backend: ProjectBackend): void;
163
+ declare function useProjectLoader<T extends Storage = any>({ actions, current }: ProjectContext, storage: ProjectStorage<T>): {
175
164
  vault: Vault | null;
176
165
  ready: boolean;
177
166
  error: string;
@@ -184,7 +173,7 @@ declare function useProjectCreators(): {
184
173
  };
185
174
  //#endregion
186
175
  //#region src/storage/AbstractVaultLoader.d.ts
187
- declare abstract class AbstractVaultLoader<T$1 extends Storage> implements ProjectStorage<ManifestStorage | CollectionStorage, Manifest | Collection, T$1> {
176
+ declare abstract class AbstractVaultLoader<T extends Storage> implements ProjectStorage<ManifestStorage | CollectionStorage, Manifest | Collection, T> {
188
177
  abstract type: string;
189
178
  vaults: Record<string, Vault | null>;
190
179
  saveInterval: number;
@@ -194,14 +183,14 @@ declare abstract class AbstractVaultLoader<T$1 extends Storage> implements Proje
194
183
  shouldUpdateWithVault(): boolean;
195
184
  canCreate(): boolean;
196
185
  canDelete(): boolean;
197
- abstract create(project: EditorProject, data: Manifest | Collection): Promise<T$1>;
186
+ abstract create(project: EditorProject, data: Manifest | Collection): Promise<T>;
198
187
  createVaultInstance(project: EditorProject): [Vault, Promise<void>];
199
188
  closeVaultInstance(project: EditorProject, vault: Vault): void;
200
- saveStorage(storage: T$1): Promise<void>;
201
- abstract getStorage(storage: T$1): Promise<CollectionStorage | ManifestStorage | null>;
202
- abstract saveStorageData(manifest: CollectionStorage | ManifestStorage, storage: T$1): void | Promise<void>;
203
- abstract deleteStorage(storage: T$1): Promise<void>;
204
- abstract getBackendStorage(project: EditorProject): T$1;
189
+ saveStorage(storage: T): Promise<void>;
190
+ abstract getStorage(storage: T): Promise<CollectionStorage | ManifestStorage | null>;
191
+ abstract saveStorageData(manifest: CollectionStorage | ManifestStorage, storage: T): void | Promise<void>;
192
+ abstract deleteStorage(storage: T): Promise<void>;
193
+ abstract getBackendStorage(project: EditorProject): T;
205
194
  }
206
195
  //#endregion
207
196
  //#region src/ProjectContext.internal.d.ts
@@ -212,22 +201,22 @@ interface ProjectProviderProps {
212
201
  backend?: ProjectBackend;
213
202
  initialState?: () => ProjectState;
214
203
  }
215
- declare function ProjectProvider(props: ProjectProviderProps): react_jsx_runtime0.JSX.Element;
204
+ declare function ProjectProvider(props: ProjectProviderProps): import("react").JSX.Element;
216
205
  //#endregion
217
206
  //#region src/components/AppMenu.d.ts
218
- declare const IconButton: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react10.DetailedHTMLProps<react10.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>>;
207
+ declare const IconButton: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>>;
219
208
  declare function AppMenu(props: {
220
209
  hideMenu?: boolean;
221
- }): react_jsx_runtime0.JSX.Element;
210
+ }): import("react").JSX.Element;
222
211
  //#endregion
223
212
  //#region src/components/DraftTitleEditor.d.ts
224
- declare const Draft: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react10.DetailedHTMLProps<react10.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
225
- declare const DraftsText: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react10.DetailedHTMLProps<react10.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
226
- declare const DraftTitleEdit: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react10.DetailedHTMLProps<react10.FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, never>>;
227
- declare const DraftTitleEditInput: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react10.DetailedHTMLProps<react10.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>>;
228
- declare const DraftTitleEditButton: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<any, never>> | (styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<any, never>> & Omit<any, keyof react10.Component<any, {}, any>>);
229
- declare const DraftTitle: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react10.DetailedHTMLProps<react10.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
230
- declare function DraftTitleEditor(): react_jsx_runtime0.JSX.Element;
213
+ declare const Draft: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
214
+ declare const DraftsText: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
215
+ declare const DraftTitleEdit: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, never>>;
216
+ declare const DraftTitleEditInput: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>>;
217
+ declare const DraftTitleEditButton: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<any, never>> | (import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<any, never>> & Omit<any, keyof import("react").Component<any, {}, any>>);
218
+ declare const DraftTitle: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
219
+ declare function DraftTitleEditor(): import("react").JSX.Element;
231
220
  //#endregion
232
221
  export { AppMenu, Draft, DraftTitle, DraftTitleEdit, DraftTitleEditButton, DraftTitleEditInput, DraftTitleEditor, DraftsText, IconButton, ProjectLoadingReactContext, ProjectProvider, ProjectProviderProps, ProjectReactContext, useCurrentProject, useOptionalCurrentProject, useProjectActionsWithBackend, useProjectBackend, useProjectContext, useProjectCreators, useProjectLoader, useProjectLoading };
233
222
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/Storage.ts","../src/types/Publication.ts","../src/ProjectContext.types.tsx","../src/ProjectContext.tsx","../src/ProjectContext.hooks.ts","../src/storage/AbstractVaultLoader.ts","../src/ProjectContext.internal.tsx","../src/components/AppMenu.tsx","../src/components/DraftTitleEditor.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/Storage.ts","../src/types/Publication.ts","../src/ProjectContext.types.tsx","../src/ProjectContext.tsx","../src/ProjectContext.hooks.ts","../src/storage/AbstractVaultLoader.ts","../src/ProjectContext.internal.tsx","../src/components/AppMenu.tsx","../src/components/DraftTitleEditor.tsx"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,7 @@
1
- import * as react0 from "react";
2
1
  import { Dispatch, ReactNode } from "react";
3
2
  import { Preview } from "@manifest-editor/shell";
4
3
  import { Vault } from "@iiif/helpers/vault";
5
- import * as react_jsx_runtime0 from "react/jsx-runtime";
6
- import * as styled_components6 from "styled-components";
7
4
  import { Collection, Manifest } from "@iiif/presentation-3";
8
- import * as styled_components_dist_types6 from "styled-components/dist/types";
9
-
10
5
  //#region src/types/Storage.d.ts
11
6
  interface Storage {
12
7
  type: string;
@@ -75,7 +70,7 @@ interface ProjectActions {
75
70
  type ProjectActionsType = { [T in keyof ProjectActions]: {
76
71
  type: T;
77
72
  payload: Parameters<ProjectActions[T]>[0];
78
- } }[keyof ProjectActions];
73
+ }; }[keyof ProjectActions];
79
74
  interface EditorProject {
80
75
  id: string;
81
76
  name: string;
@@ -122,8 +117,8 @@ interface ProjectStorage<S extends Storage, DataType = any, Ref extends Storage
122
117
  }
123
118
  //#endregion
124
119
  //#region src/ProjectContext.d.ts
125
- declare const ProjectReactContext: react0.Context<ProjectContext | null>;
126
- declare const ProjectLoadingReactContext: react0.Context<{
120
+ declare const ProjectReactContext: import("react").Context<ProjectContext | null>;
121
+ declare const ProjectLoadingReactContext: import("react").Context<{
127
122
  isLoading: boolean;
128
123
  isError: boolean;
129
124
  error?: string;
@@ -164,14 +159,8 @@ declare function useProjectActionsWithBackend(dispatch: Dispatch<ProjectActionsT
164
159
  setPreview: (publication: Preview) => void;
165
160
  removePreview: (id: string) => void;
166
161
  };
167
- declare function useProjectBackend({
168
- actions,
169
- current
170
- }: ProjectContext, backend: ProjectBackend): void;
171
- declare function useProjectLoader<T$1 extends Storage = any>({
172
- actions,
173
- current
174
- }: ProjectContext, storage: ProjectStorage<T$1>): {
162
+ declare function useProjectBackend({ actions, current }: ProjectContext, backend: ProjectBackend): void;
163
+ declare function useProjectLoader<T extends Storage = any>({ actions, current }: ProjectContext, storage: ProjectStorage<T>): {
175
164
  vault: Vault | null;
176
165
  ready: boolean;
177
166
  error: string;
@@ -184,7 +173,7 @@ declare function useProjectCreators(): {
184
173
  };
185
174
  //#endregion
186
175
  //#region src/storage/AbstractVaultLoader.d.ts
187
- declare abstract class AbstractVaultLoader<T$1 extends Storage> implements ProjectStorage<ManifestStorage | CollectionStorage, Manifest | Collection, T$1> {
176
+ declare abstract class AbstractVaultLoader<T extends Storage> implements ProjectStorage<ManifestStorage | CollectionStorage, Manifest | Collection, T> {
188
177
  abstract type: string;
189
178
  vaults: Record<string, Vault | null>;
190
179
  saveInterval: number;
@@ -194,14 +183,14 @@ declare abstract class AbstractVaultLoader<T$1 extends Storage> implements Proje
194
183
  shouldUpdateWithVault(): boolean;
195
184
  canCreate(): boolean;
196
185
  canDelete(): boolean;
197
- abstract create(project: EditorProject, data: Manifest | Collection): Promise<T$1>;
186
+ abstract create(project: EditorProject, data: Manifest | Collection): Promise<T>;
198
187
  createVaultInstance(project: EditorProject): [Vault, Promise<void>];
199
188
  closeVaultInstance(project: EditorProject, vault: Vault): void;
200
- saveStorage(storage: T$1): Promise<void>;
201
- abstract getStorage(storage: T$1): Promise<CollectionStorage | ManifestStorage | null>;
202
- abstract saveStorageData(manifest: CollectionStorage | ManifestStorage, storage: T$1): void | Promise<void>;
203
- abstract deleteStorage(storage: T$1): Promise<void>;
204
- abstract getBackendStorage(project: EditorProject): T$1;
189
+ saveStorage(storage: T): Promise<void>;
190
+ abstract getStorage(storage: T): Promise<CollectionStorage | ManifestStorage | null>;
191
+ abstract saveStorageData(manifest: CollectionStorage | ManifestStorage, storage: T): void | Promise<void>;
192
+ abstract deleteStorage(storage: T): Promise<void>;
193
+ abstract getBackendStorage(project: EditorProject): T;
205
194
  }
206
195
  //#endregion
207
196
  //#region src/ProjectContext.internal.d.ts
@@ -212,22 +201,22 @@ interface ProjectProviderProps {
212
201
  backend?: ProjectBackend;
213
202
  initialState?: () => ProjectState;
214
203
  }
215
- declare function ProjectProvider(props: ProjectProviderProps): react_jsx_runtime0.JSX.Element;
204
+ declare function ProjectProvider(props: ProjectProviderProps): import("react").JSX.Element;
216
205
  //#endregion
217
206
  //#region src/components/AppMenu.d.ts
218
- declare const IconButton: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react0.DetailedHTMLProps<react0.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>>;
207
+ declare const IconButton: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>>;
219
208
  declare function AppMenu(props: {
220
209
  hideMenu?: boolean;
221
- }): react_jsx_runtime0.JSX.Element;
210
+ }): import("react").JSX.Element;
222
211
  //#endregion
223
212
  //#region src/components/DraftTitleEditor.d.ts
224
- declare const Draft: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react0.DetailedHTMLProps<react0.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
225
- declare const DraftsText: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react0.DetailedHTMLProps<react0.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
226
- declare const DraftTitleEdit: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react0.DetailedHTMLProps<react0.FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, never>>;
227
- declare const DraftTitleEditInput: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react0.DetailedHTMLProps<react0.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>>;
228
- declare const DraftTitleEditButton: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<any, never>> | (styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<any, never>> & Omit<any, keyof react0.Component<any, {}, any>>);
229
- declare const DraftTitle: styled_components6.IStyledComponent<"web", styled_components_dist_types6.FastOmit<react0.DetailedHTMLProps<react0.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
230
- declare function DraftTitleEditor(): react_jsx_runtime0.JSX.Element;
213
+ declare const Draft: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
214
+ declare const DraftsText: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
215
+ declare const DraftTitleEdit: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, never>>;
216
+ declare const DraftTitleEditInput: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>>;
217
+ declare const DraftTitleEditButton: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<any, never>> | (import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<any, never>> & Omit<any, keyof import("react").Component<any, {}, any>>);
218
+ declare const DraftTitle: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
219
+ declare function DraftTitleEditor(): import("react").JSX.Element;
231
220
  //#endregion
232
221
  export { AppMenu, Draft, DraftTitle, DraftTitleEdit, DraftTitleEditButton, DraftTitleEditInput, DraftTitleEditor, DraftsText, IconButton, ProjectLoadingReactContext, ProjectProvider, ProjectProviderProps, ProjectReactContext, useCurrentProject, useOptionalCurrentProject, useProjectActionsWithBackend, useProjectBackend, useProjectContext, useProjectCreators, useProjectLoader, useProjectLoading };
233
222
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/Storage.ts","../src/types/Publication.ts","../src/ProjectContext.types.tsx","../src/ProjectContext.tsx","../src/ProjectContext.hooks.ts","../src/storage/AbstractVaultLoader.ts","../src/ProjectContext.internal.tsx","../src/components/AppMenu.tsx","../src/components/DraftTitleEditor.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/Storage.ts","../src/types/Publication.ts","../src/ProjectContext.types.tsx","../src/ProjectContext.tsx","../src/ProjectContext.hooks.ts","../src/storage/AbstractVaultLoader.ts","../src/ProjectContext.internal.tsx","../src/components/AppMenu.tsx","../src/components/DraftTitleEditor.tsx"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMemo as i,useReducer as a,useRef as o,useState as s}from"react";import{useDebounce as c}from"tiny-use-debounce";import{getValue as l}from"@iiif/helpers";import{convertPresentation2 as u}from"@iiif/parser/presentation-2";import{ClientVault as d}from"@manifest-editor/client-vault";import{AppResourceInstanceProvider as f,AppResourceProvider as p,getManifestNomalized as m,useApps as h,useLocalStorage as g}from"@manifest-editor/shell";import{produce as _}from"immer";import*as v from"localforage";import y from"localforage";import{Vault as b}from"@iiif/helpers/vault";import{VaultProvider as ee}from"react-iiif-vault";import{Fragment as x,jsx as S,jsxs as C}from"react/jsx-runtime";import w,{css as T}from"styled-components";import te from"react-accessible-dropdown-menu-hook";import{flushSync as ne}from"react-dom";var re=Object.create,E=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,ae=Object.getOwnPropertyNames,oe=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty,D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ce=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ae(t),a=0,o=i.length,s;a<o;a++)s=i[a],!se.call(e,s)&&s!==n&&E(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ie(t,s))||r.enumerable});return e},O=(e,t,n)=>(n=e==null?{}:re(oe(e)),ce(t||!e||!e.__esModule?E(n,`default`,{value:e,enumerable:!0}):n,e)),le=!0,k=`Invariant failed`;function A(e,t){if(!e){if(le)throw Error(k);var n=typeof t==`function`?t():t,r=n?`${k}: ${n}`:k;throw Error(r)}}const j=e(null),M=e({error:void 0,isError:!1,isLoading:!1});function ue(){return n(M)}function N(){let e=n(j);return A(e,`useProjectContext can only be called from inside <ProjectProvider />`),e}function de(){let e=N().current;return A(e,`No current project`),e}function fe(){return N().current||null}var pe=D(((e,t)=>{t.exports=function(e,t,n,r){var i=n?n.call(r,e,t):void 0;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),c=0;c<a.length;c++){var l=a[c];if(!s(l))return!1;var u=e[l],d=t[l];if(i=n?n.call(r,u,d,l):void 0,i===!1||i===void 0&&u!==d)return!1}return!0}})),P=D(((e,t)=>{(function(n,r,i){typeof e==`object`?(t.exports=i(),t.exports.default=i()):typeof define==`function`&&define.amd?define(i):r[n]=i()})(`slugify`,e,function(){var e=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),t=JSON.parse(`{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}`);function n(n,r){if(typeof n!=`string`)throw Error(`slugify: string argument expected`);r=typeof r==`string`?{replacement:r}:r||{};var i=t[r.locale]||{},a=r.replacement===void 0?`-`:r.replacement,o=r.trim===void 0?!0:r.trim,s=n.normalize().split(``).reduce(function(t,n){var o=i[n];return o===void 0&&(o=e[n]),o===void 0&&(o=n),o===a&&(o=` `),t+o.replace(r.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,``)},``);return r.strict&&(s=s.replace(/[^A-Za-z0-9\s]/g,``)),o&&(s=s.trim()),s=s.replace(/\s+/g,a),r.lower&&(s=s.toLowerCase()),s}return n.extend=function(t){Object.assign(e,t)},n})})),me=O(pe(),1),he=O(P(),1);function ge(){return`${Math.random().toString(36).substr(2)}-${Date.now().toString(36)}`}function F(e,t={}){let n=l(e.label)||`Untitled manifest`;return{id:`manifest-editor://project/${ge()}`,filename:(0,he.default)(n,{lower:!0}),name:n,metadata:{created:Date.now(),modified:Date.now()},resource:{id:e.id,type:`Manifest`},publications:[],previews:[],settings:{},storage:{type:`manifest-storage`,data:e},...t}}var _e=O(P(),1);function I(e,t){let n=t.map(e=>e.filename),r=(e.name||e.filename||`Untitled project`).toLowerCase();if(e.filename&&n.indexOf(e.filename)!==-1&&(e.filename=void 0),!e.filename){let t=0;for(;!e.filename;){let i=`${(0,_e.default)(r,{lower:!0})}${t?` (${t})`:``}`;if(n.indexOf(i)===-1){e.filename=i,e.name=`${e.name} (${t})`;break}t++}}}function L(){return`${Math.random().toString(36).substr(2)}-${Date.now().toString(36)}`}var R=O(P(),1);function ve(e,t={}){let n=l(e.label)||`Untitled collection`;return{id:`manifest-editor://project/${L()}`,filename:(0,R.default)(n,{lower:!0}),name:n,metadata:{created:Date.now(),modified:Date.now()},resource:{id:e.id,type:`Collection`},publications:[],previews:[],settings:{},storage:{type:`collection-storage`,data:e},...t}}function z(e,t,n){async function r(r){let i=await t.getAllProjects(!0),a={...r};if(I(a,i),!n.canCreate())throw Error(`Cannot create project with this storage backend`);let s=await n.create(a,a.storage.data),c={...a,storage:s};await t.createProject(c),e({type:`createProject`,payload:c}),o(a.id)}function a(n){t.canDelete()&&(e({type:`deleteProject`,payload:n}),t.deleteProject(n).then(()=>{console.log(`Loader: project deleted`)}))}function o(n){e({type:`switchProject`,payload:n}),t.setLastProject(n).then(()=>{})}function s(t){e({type:`deselectProject`,payload:t})}function c(t){throw e({type:`forkProject`,payload:t}),Error(`Not implemented yet`)}function l(t){e({type:`setLoadingStatus`,payload:t})}function u(r){console.log(`trying to save project...`),e({type:`saveProject`,payload:r}),Promise.all([t.updateProject(r),n.saveStorage(r.storage)]).then(()=>{console.log(`Loader: project saved`)})}function d(t){e({type:`updateDetails`,payload:t})}function f(t){e({type:`createPublication`,payload:t})}function p(t){e({type:`updatePublication`,payload:t})}function m(t){e({type:`removePublication`,payload:t})}function h(t){e({type:`updateSettings`,payload:t})}function g(t){e({type:`updateThumbnail`,payload:t})}function _(t){e({type:`updateStorage`,payload:t})}function v(t){e({type:`load`,payload:t})}function y(t){e({type:`setPreview`,payload:t})}function b(t){e({type:`removePreview`,payload:t})}return i(()=>({createProject:r,deleteProject:a,switchProject:o,deselectProject:s,forkProject:c,saveProject:u,setLoadingStatus:l,load:v,updateDetails:d,createPublication:f,updatePublication:p,removePublication:m,updateSettings:h,updateThumbnail:g,updateStorage:_,setPreview:y,removePreview:b}),[])}function B({actions:e,current:t},n){r(()=>{e.setLoadingStatus({loading:!0,lastLoaded:0,loaded:!1}),n.getAllProjects().then(async t=>{let r=await n.getLastProject(),i=t.find(e=>e.id===r);e.load({allProjects:t,current:i||null,loadingStatus:{loaded:!0,loading:!1,lastLoaded:Date.now()}})})},[])}function V({actions:e,current:n},a){let l=o(null),[u,f]=s(!1),[p,m]=s(``),h=t(()=>{let t=l.current;t&&a.saveStorage(t.storage).then(()=>{let n=a.getBackendStorage(t);(0,me.default)(n,t.storage)||e.saveProject({...t,storage:n})})},[e,a]),g=c(h,a.saveInterval),_=n?.id;r(()=>{l.current=n},[n]);let{vault:v,promise:y}=i(()=>{if(n){let[e,t]=a.createVaultInstance(n);return{vault:e,promise:t}}return{vault:null,promise:null}},[a,_]);return r(()=>{let e=a,t=n,r=v;return()=>{r&&t?e.closeVaultInstance(t,r):r instanceof d&&r.ws.close()}},[a,n,v]),r(()=>{f(!1);let e=!1;return y&&y.then(()=>{e||f(!0)}).catch(e=>{m(e.message)}),()=>{e=!0}},[y]),r(()=>(window.addEventListener(`beforeunload`,h,!1),()=>{window.removeEventListener(`beforeunload`,h)}),[h]),r(()=>()=>{h()},[h,_]),r(()=>{if(v&&a.shouldUpdateWithVault())return v.subscribe(g,!0)},[g,a,v]),{vault:v,ready:u,error:p}}function ye(){let{actions:e}=N(),n=t(function(){e.createProject(F({"@context":`http://iiif.io/api/presentation/3/context.json`,id:`https://example.org/${L()}`,type:`Manifest`,label:{en:[`Blank Manifest`]},items:[]}))},[]),r=t(async function(t){let n=await m(t);n&&(n[`@id`]&&(n=u(n)),n&&e.createProject(F(n)))},[]),i=t(async function(t){let n=await m(t);n&&(n[`@id`]&&(n=u(n)),n&&e.createProject(ve(n)))},[]);return{createProjectFromManifestJson:t(async function(t){let n=JSON.parse(t);n&&(n[`@id`]&&(n=u(n)),n&&e.createProject(F(n)))},[]),createProjectFromManifestId:r,createProjectFromCollectionId:i,createBlankManifest:n}}const be=_(function(e,t){if(e.current)switch(t.type){case`removePublication`:e.current.publications=e.current.publications.filter(e=>e.id!==t.payload);break;case`saveProject`:e.current.metadata.modified=Date.now();break;case`updateDetails`:e.current.name=t.payload.name,e.current.filename=t.payload.filename;break;case`updateStorage`:e.current.storage=t.payload;break;case`createPublication`:e.current.publications.find(e=>e.id===t.payload.id)||e.current.publications.push(t.payload);break;case`updateThumbnail`:e.current.thumbnail=t.payload;break;case`updateSettings`:e.current.settings=t.payload;break;case`updatePublication`:{let n=e.current.publications.find(e=>e.id===t.payload.id);n&&(n.config=t.payload.config);break}case`removePreview`:{let n=e.current.previews?.findIndex(e=>e.id===t.payload);n!==-1&&e.current.previews.splice(n,1);break}case`setPreview`:{let n=e.current.previews?.findIndex(e=>e.id===t.payload.id);n===-1?e.current.previews.push(t.payload):e.current.previews.splice(n,1,t.payload);break}}switch(t.type){case`load`:e.allProjects=t.payload.allProjects,e.current=t.payload.current,e.loadingStatus=t.payload.loadingStatus;break;case`forkProject`:break;case`deleteProject`:e.allProjects=e.allProjects.filter(e=>e.id!==t.payload),e.current&&e.current.id===t.payload&&(e.current=null);break;case`deselectProject`:e.current=null;break;case`createProject`:e.allProjects.push(t.payload),e.current=t.payload;break;case`switchProject`:e.current=e.allProjects.find(e=>e.id===t.payload)||null;break;case`setLoadingStatus`:e.loadingStatus=t.payload;break}});function xe(e={loading:!1,loaded:!0,lastLoaded:0}){return{allProjects:[],current:null,loadingStatus:e}}function H(e){"@babel/helpers - typeof";return H=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},H(e)}function Se(e,t){if(H(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(H(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ce(e){var t=Se(e,`string`);return H(t)==`symbol`?t:t+``}function U(e,t,n){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var we=class{constructor(e){U(this,`namespace`,void 0),U(this,`saveInterval`,void 0),U(this,`storage`,void 0),this.namespace=e?.namespace||`default-v1.1`,this.saveInterval=5e3,this.storage=v.createInstance({name:`manifest-editor-projects`})}async deleteProject(e){await this.storage.removeItem(`${this.namespace}/projects/${e}`)}async createProject(e){let t=await this.getProjectIndex();await this.storage.setItem(`${this.namespace}/projects/${e.id}`,JSON.stringify(e)),t.indexOf(e.id)===-1&&(t.push(e.id),await this.saveProjectIndex(t))}canDelete(){return!0}async getAllProjects(){try{let e=await this.getProjectIndex(),t=[];for(let n of e){if(n===`_index`)continue;let e=await this.storage.getItem(`${this.namespace}/projects/${n}`);if(e)try{t.push(JSON.parse(e))}catch{}}return t}catch(e){return console.error(`Error loading from localstorage`,e),[]}}async getLastProject(){return this.storage.getItem(`${this.namespace}/last`)}async setLastProject(e){await this.storage.setItem(`${this.namespace}/last`,e)}async updateProject(e){await this.storage.setItem(`${this.namespace}/projects/${e.id}`,JSON.stringify(e))}async saveProjectIndex(e){await this.storage.setItem(`${this.namespace}/_index`,JSON.stringify(e))}async getProjectIndex(){let e=await this.storage.getItem(`${this.namespace}/_index`);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}},Te=class{constructor(e={}){U(this,`vaults`,{}),U(this,`saveInterval`,void 0),this.saveInterval=e.saveInterval||5e3}shouldUpdateWithVault(){return!0}canCreate(){return!0}canDelete(){return!0}createVaultInstance(e){let t=this.vaults[e.storage.data.key];if(t)return[t,Promise.resolve()];let n=new b;return[n,(async()=>{let t=await this.getStorage(e.storage);await n.loadManifest(e.resource.id,JSON.parse(JSON.stringify(t?.data))),this.vaults[e.storage.data.key]=n})()]}closeVaultInstance(e,t){}async saveStorage(e){let t=this.vaults[e.data.key],n={id:e.data.id,type:e.data.type};if(t){let r=t.toPresentation3(n),i=r.type===`Collection`?{type:`collection-storage`,data:r}:{type:`manifest-storage`,data:r};await this.saveStorageData(i,e)}}},Ee=class extends Te{constructor(e){super({saveInterval:5e3}),U(this,`type`,`local-storage`),U(this,`namespace`,void 0),U(this,`storage`,void 0),U(this,`vaults`,{}),this.namespace=e?.namespace||`default`,this.storage=y.createInstance({name:`local-storage-resource-loader`})}shouldUpdateWithVault(){return!0}async create(e,t){let n=L();return await localStorage.setItem(`${this.namespace}/store/${n}`,JSON.stringify(t)),{type:`resource-keyed-storage`,data:{id:t.id,type:t.type,key:n}}}async getStorage(e){try{let t=await localStorage.getItem(`${this.namespace}/store/${e.data.key}`),n=t?JSON.parse(t):null;return A(n,`Resource not found`),n.type===`Collection`?{type:`collection-storage`,data:n}:{type:`manifest-storage`,data:n}}catch{return null}}async saveStorageData(e,t){await localStorage.setItem(`${this.namespace}/store/${t.data.key}`,JSON.stringify(e.data))}async deleteStorage(e){this.vaults[e.data.key]=null,await localStorage.removeItem(`${this.namespace}/store/${e.data.key}`)}getBackendStorage(e){return e.storage}};function De(e){let{currentApp:t,changeApp:n}=h(),o=i(()=>e.backend||new we,[]),s=i(()=>e.storage||new Ee,[]),[c,l]=a(be,void 0,e.initialState||xe),u=z(l,o,s),d=i(()=>({actions:u,canDelete:o.canDelete(),...c}),[u,o,c]),{vault:m,ready:g,error:_}=V(d,s),v=d.current?.resource,y=i(()=>({isLoading:!g,isError:!!_,error:_}),[g,_]);return B(d,o),r(()=>{c.loadingStatus&&c.loadingStatus.loaded&&g&&(!m||!v)&&t?.id!==(e.defaultApp||`splash`)&&n({id:e.defaultApp||`splash`})},[]),c.loadingStatus&&c.loadingStatus.loading||d.current&&!v?S(`div`,{children:`Loading...`}):S(M.Provider,{value:y,children:S(j.Provider,{value:d,children:S(ee,{vault:m||void 0,children:S(f,{id:d.current?.id,children:S(p,{resource:v,children:e.children})})},c.current?.id)})})}const Oe=()=>C(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`1rem`,viewBox:`0 0 24 24`,width:`24px`,fill:`#000000`,children:[S(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),S(`path`,{d:`M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z`})]});w.button`
1
+ import*as e from"react";import{createContext as t,useCallback as n,useContext as r,useEffect as i,useMemo as a,useReducer as o,useRef as s,useState as c}from"react";import{useDebounce as l}from"tiny-use-debounce";import{getValue as u}from"@iiif/helpers";import{convertPresentation2 as d}from"@iiif/parser/presentation-2";import{ClientVault as f}from"@manifest-editor/client-vault";import{AppResourceInstanceProvider as p,AppResourceProvider as m,getManifestNomalized as h,useApps as g,useLocalStorage as _}from"@manifest-editor/shell";import{produce as v}from"immer";import*as y from"localforage";import b from"localforage";import{Vault as ee}from"@iiif/helpers/vault";import{VaultProvider as te}from"react-iiif-vault";import{Fragment as x,jsx as S,jsxs as C}from"react/jsx-runtime";import w,{css as T}from"styled-components";import{flushSync as ne}from"react-dom";var re=Object.create,E=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,ae=Object.getOwnPropertyNames,oe=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,O=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),se=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ae(t),a=0,o=i.length,s;a<o;a++)s=i[a],!D.call(e,s)&&s!==n&&E(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ie(t,s))||r.enumerable});return e},k=(e,t,n)=>(n=e==null?{}:re(oe(e)),se(t||!e||!e.__esModule||!D.call(e,`default`)?E(n,`default`,{value:e,enumerable:!0}):n,e)),ce=`Invariant failed`;function A(e,t){if(!e)throw Error(ce)}const j=t(null),M=t({error:void 0,isError:!1,isLoading:!1});function le(){return r(M)}function N(){let e=r(j);return A(e,`useProjectContext can only be called from inside <ProjectProvider />`),e}function ue(){let e=N().current;return A(e,`No current project`),e}function de(){return N().current||null}var fe=O(((e,t)=>{t.exports=function(e,t,n,r){var i=n?n.call(r,e,t):void 0;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),c=0;c<a.length;c++){var l=a[c];if(!s(l))return!1;var u=e[l],d=t[l];if(i=n?n.call(r,u,d,l):void 0,i===!1||i===void 0&&u!==d)return!1}return!0}})),pe=O(((e,t)=>{(function(n,r,i){typeof e==`object`?(t.exports=i(),t.exports.default=i()):typeof define==`function`&&define.amd?define(i):r[n]=i()})(`slugify`,e,function(){var e=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),t=JSON.parse(`{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}`);function n(n,r){if(typeof n!=`string`)throw Error(`slugify: string argument expected`);r=typeof r==`string`?{replacement:r}:r||{};var i=t[r.locale]||{},a=r.replacement===void 0?`-`:r.replacement,o=r.trim===void 0||r.trim,s=n.normalize().split(``).reduce(function(t,n){var o=i[n];return o===void 0&&(o=e[n]),o===void 0&&(o=n),o===a&&(o=` `),t+o.replace(r.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,``)},``);return r.strict&&(s=s.replace(/[^A-Za-z0-9\s]/g,``)),o&&(s=s.trim()),s=s.replace(/\s+/g,a),r.lower&&(s=s.toLowerCase()),s}return n.extend=function(t){Object.assign(e,t)},n})})),me=k(fe(),1),P=k(pe(),1);function he(){return`${Math.random().toString(36).substr(2)}-${Date.now().toString(36)}`}function F(e,t={}){let n=u(e.label)||`Untitled manifest`;return{id:`manifest-editor://project/${he()}`,filename:(0,P.default)(n,{lower:!0}),name:n,metadata:{created:Date.now(),modified:Date.now()},resource:{id:e.id,type:`Manifest`},publications:[],previews:[],settings:{},storage:{type:`manifest-storage`,data:e},...t}}function ge(e,t){let n=t.map(e=>e.filename),r=(e.name||e.filename||`Untitled project`).toLowerCase();if(e.filename&&n.indexOf(e.filename)!==-1&&(e.filename=void 0),!e.filename){let t=0;for(;!e.filename;){let i=`${(0,P.default)(r,{lower:!0})}${t?` (${t})`:``}`;if(n.indexOf(i)===-1){e.filename=i,e.name=`${e.name} (${t})`;break}t++}}}function I(){return`${Math.random().toString(36).substr(2)}-${Date.now().toString(36)}`}function _e(e,t={}){let n=u(e.label)||`Untitled collection`;return{id:`manifest-editor://project/${I()}`,filename:(0,P.default)(n,{lower:!0}),name:n,metadata:{created:Date.now(),modified:Date.now()},resource:{id:e.id,type:`Collection`},publications:[],previews:[],settings:{},storage:{type:`collection-storage`,data:e},...t}}function L(e,t,n){async function r(r){let i=await t.getAllProjects(!0),a={...r};if(ge(a,i),!n.canCreate())throw Error(`Cannot create project with this storage backend`);let s=await n.create(a,a.storage.data),c={...a,storage:s};await t.createProject(c),e({type:`createProject`,payload:c}),o(a.id)}function i(n){t.canDelete()&&(e({type:`deleteProject`,payload:n}),t.deleteProject(n).then(()=>{console.log(`Loader: project deleted`)}))}function o(n){e({type:`switchProject`,payload:n}),t.setLastProject(n).then(()=>{})}function s(t){e({type:`deselectProject`,payload:t})}function c(t){throw e({type:`forkProject`,payload:t}),Error(`Not implemented yet`)}function l(t){e({type:`setLoadingStatus`,payload:t})}function u(r){console.log(`trying to save project...`),e({type:`saveProject`,payload:r}),Promise.all([t.updateProject(r),n.saveStorage(r.storage)]).then(()=>{console.log(`Loader: project saved`)})}function d(t){e({type:`updateDetails`,payload:t})}function f(t){e({type:`createPublication`,payload:t})}function p(t){e({type:`updatePublication`,payload:t})}function m(t){e({type:`removePublication`,payload:t})}function h(t){e({type:`updateSettings`,payload:t})}function g(t){e({type:`updateThumbnail`,payload:t})}function _(t){e({type:`updateStorage`,payload:t})}function v(t){e({type:`load`,payload:t})}function y(t){e({type:`setPreview`,payload:t})}function b(t){e({type:`removePreview`,payload:t})}return a(()=>({createProject:r,deleteProject:i,switchProject:o,deselectProject:s,forkProject:c,saveProject:u,setLoadingStatus:l,load:v,updateDetails:d,createPublication:f,updatePublication:p,removePublication:m,updateSettings:h,updateThumbnail:g,updateStorage:_,setPreview:y,removePreview:b}),[])}function R({actions:e,current:t},n){i(()=>{e.setLoadingStatus({loading:!0,lastLoaded:0,loaded:!1}),n.getAllProjects().then(async t=>{let r=await n.getLastProject(),i=t.find(e=>e.id===r);e.load({allProjects:t,current:i||null,loadingStatus:{loaded:!0,loading:!1,lastLoaded:Date.now()}})})},[])}function z({actions:e,current:t},r){let o=s(null),[u,d]=c(!1),[p,m]=c(``),h=n(()=>{let t=o.current;t&&r.saveStorage(t.storage).then(()=>{let n=r.getBackendStorage(t);(0,me.default)(n,t.storage)||e.saveProject({...t,storage:n})})},[e,r]),g=l(h,r.saveInterval),_=t?.id;i(()=>{o.current=t},[t]);let{vault:v,promise:y}=a(()=>{if(t){let[e,n]=r.createVaultInstance(t);return{vault:e,promise:n}}return{vault:null,promise:null}},[r,_]);return i(()=>{let e=r,n=t,i=v;return()=>{i&&n?e.closeVaultInstance(n,i):i instanceof f&&i.ws.close()}},[r,t,v]),i(()=>{d(!1);let e=!1;return y&&y.then(()=>{e||d(!0)}).catch(e=>{m(e.message)}),()=>{e=!0}},[y]),i(()=>(window.addEventListener(`beforeunload`,h,!1),()=>{window.removeEventListener(`beforeunload`,h)}),[h]),i(()=>()=>{h()},[h,_]),i(()=>{if(v&&r.shouldUpdateWithVault())return v.subscribe(g,!0)},[g,r,v]),{vault:v,ready:u,error:p}}function ve(){let{actions:e}=N(),t=n(function(){e.createProject(F({"@context":`http://iiif.io/api/presentation/3/context.json`,id:`https://example.org/${I()}`,type:`Manifest`,label:{en:[`Blank Manifest`]},items:[]}))},[]),r=n(async function(t){let n=await h(t);n&&(n[`@id`]&&(n=d(n)),n&&e.createProject(F(n)))},[]),i=n(async function(t){let n=await h(t);n&&(n[`@id`]&&(n=d(n)),n&&e.createProject(_e(n)))},[]);return{createProjectFromManifestJson:n(async function(t){let n=JSON.parse(t);n&&(n[`@id`]&&(n=d(n)),n&&e.createProject(F(n)))},[]),createProjectFromManifestId:r,createProjectFromCollectionId:i,createBlankManifest:t}}const ye=v(function(e,t){if(e.current)switch(t.type){case`removePublication`:e.current.publications=e.current.publications.filter(e=>e.id!==t.payload);break;case`saveProject`:e.current.metadata.modified=Date.now();break;case`updateDetails`:e.current.name=t.payload.name,e.current.filename=t.payload.filename;break;case`updateStorage`:e.current.storage=t.payload;break;case`createPublication`:e.current.publications.find(e=>e.id===t.payload.id)||e.current.publications.push(t.payload);break;case`updateThumbnail`:e.current.thumbnail=t.payload;break;case`updateSettings`:e.current.settings=t.payload;break;case`updatePublication`:{let n=e.current.publications.find(e=>e.id===t.payload.id);n&&(n.config=t.payload.config);break}case`removePreview`:{let n=e.current.previews?.findIndex(e=>e.id===t.payload);n!==-1&&e.current.previews.splice(n,1);break}case`setPreview`:{let n=e.current.previews?.findIndex(e=>e.id===t.payload.id);n===-1?e.current.previews.push(t.payload):e.current.previews.splice(n,1,t.payload);break}}switch(t.type){case`load`:e.allProjects=t.payload.allProjects,e.current=t.payload.current,e.loadingStatus=t.payload.loadingStatus;break;case`forkProject`:break;case`deleteProject`:e.allProjects=e.allProjects.filter(e=>e.id!==t.payload),e.current&&e.current.id===t.payload&&(e.current=null);break;case`deselectProject`:e.current=null;break;case`createProject`:e.allProjects.push(t.payload),e.current=t.payload;break;case`switchProject`:e.current=e.allProjects.find(e=>e.id===t.payload)||null;break;case`setLoadingStatus`:e.loadingStatus=t.payload}});function be(e={loading:!1,loaded:!0,lastLoaded:0}){return{allProjects:[],current:null,loadingStatus:e}}function B(e){"@babel/helpers - typeof";return B=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},B(e)}function xe(e,t){if(B(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(B(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Se(e){var t=xe(e,`string`);return B(t)==`symbol`?t:t+``}function V(e,t,n){return(t=Se(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ce=class{constructor(e){V(this,`namespace`,void 0),V(this,`saveInterval`,void 0),V(this,`storage`,void 0),this.namespace=e?.namespace||`default-v1.1`,this.saveInterval=5e3,this.storage=y.createInstance({name:`manifest-editor-projects`})}async deleteProject(e){await this.storage.removeItem(`${this.namespace}/projects/${e}`)}async createProject(e){let t=await this.getProjectIndex();await this.storage.setItem(`${this.namespace}/projects/${e.id}`,JSON.stringify(e)),t.indexOf(e.id)===-1&&(t.push(e.id),await this.saveProjectIndex(t))}canDelete(){return!0}async getAllProjects(){try{let e=await this.getProjectIndex(),t=[];for(let n of e){if(n===`_index`)continue;let e=await this.storage.getItem(`${this.namespace}/projects/${n}`);if(e)try{t.push(JSON.parse(e))}catch{}}return t}catch(e){return console.error(`Error loading from localstorage`,e),[]}}async getLastProject(){return this.storage.getItem(`${this.namespace}/last`)}async setLastProject(e){await this.storage.setItem(`${this.namespace}/last`,e)}async updateProject(e){await this.storage.setItem(`${this.namespace}/projects/${e.id}`,JSON.stringify(e))}async saveProjectIndex(e){await this.storage.setItem(`${this.namespace}/_index`,JSON.stringify(e))}async getProjectIndex(){let e=await this.storage.getItem(`${this.namespace}/_index`);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}},we=class{constructor(e={}){V(this,`vaults`,{}),V(this,`saveInterval`,void 0),this.saveInterval=e.saveInterval||5e3}shouldUpdateWithVault(){return!0}canCreate(){return!0}canDelete(){return!0}createVaultInstance(e){let t=this.vaults[e.storage.data.key];if(t)return[t,Promise.resolve()];let n=new ee;return[n,(async()=>{let t=await this.getStorage(e.storage);await n.loadManifest(e.resource.id,JSON.parse(JSON.stringify(t?.data))),this.vaults[e.storage.data.key]=n})()]}closeVaultInstance(e,t){}async saveStorage(e){let t=this.vaults[e.data.key],n={id:e.data.id,type:e.data.type};if(t){let r=t.toPresentation3(n),i=r.type===`Collection`?{type:`collection-storage`,data:r}:{type:`manifest-storage`,data:r};await this.saveStorageData(i,e)}}},Te=class extends we{constructor(e){super({saveInterval:5e3}),V(this,`type`,`local-storage`),V(this,`namespace`,void 0),V(this,`storage`,void 0),V(this,`vaults`,{}),this.namespace=e?.namespace||`default`,this.storage=b.createInstance({name:`local-storage-resource-loader`})}shouldUpdateWithVault(){return!0}async create(e,t){let n=I();return await localStorage.setItem(`${this.namespace}/store/${n}`,JSON.stringify(t)),{type:`resource-keyed-storage`,data:{id:t.id,type:t.type,key:n}}}async getStorage(e){try{let t=await localStorage.getItem(`${this.namespace}/store/${e.data.key}`),n=t?JSON.parse(t):null;return A(n,`Resource not found`),n.type===`Collection`?{type:`collection-storage`,data:n}:{type:`manifest-storage`,data:n}}catch{return null}}async saveStorageData(e,t){await localStorage.setItem(`${this.namespace}/store/${t.data.key}`,JSON.stringify(e.data))}async deleteStorage(e){this.vaults[e.data.key]=null,await localStorage.removeItem(`${this.namespace}/store/${e.data.key}`)}getBackendStorage(e){return e.storage}};function Ee(e){let{currentApp:t,changeApp:n}=g(),r=a(()=>e.backend||new Ce,[]),s=a(()=>e.storage||new Te,[]),[c,l]=o(ye,void 0,e.initialState||be),u=L(l,r,s),d=a(()=>({actions:u,canDelete:r.canDelete(),...c}),[u,r,c]),{vault:f,ready:h,error:_}=z(d,s),v=d.current?.resource,y=a(()=>({isLoading:!h,isError:!!_,error:_}),[h,_]);return R(d,r),i(()=>{c.loadingStatus&&c.loadingStatus.loaded&&h&&(!f||!v)&&t?.id!==(e.defaultApp||`splash`)&&n({id:e.defaultApp||`splash`})},[]),c.loadingStatus&&c.loadingStatus.loading||d.current&&!v?S(`div`,{children:`Loading...`}):S(M.Provider,{value:y,children:S(j.Provider,{value:d,children:S(te,{vault:f||void 0,children:S(p,{id:d.current?.id,children:S(m,{resource:v,children:e.children})})},c.current?.id)})})}const H=()=>C(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:`1rem`,viewBox:`0 0 24 24`,width:`24px`,fill:`#000000`,children:[S(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),S(`path`,{d:`M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z`})]});w.button`
2
2
  border: none;
3
3
  outline: none;
4
4
  background-color: transparent;
@@ -10,7 +10,7 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
10
10
  &:hover {
11
11
  color: inherit;
12
12
  }
13
- `;const W=w.button`
13
+ `;const U=w.button`
14
14
  padding: 0.5rem 1rem;
15
15
  color: ${e=>e.theme.color.main||`none`};
16
16
  background-color: ${e=>e.theme.color.white||`white`};
@@ -28,11 +28,11 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
28
28
  &:hover {
29
29
  background: #eee;
30
30
  }
31
- `,ke=w(W)`
31
+ `,De=w(U)`
32
32
  padding: 0.25em ${e=>e.theme.padding.xs||`0.4em`};
33
33
  height: unset;
34
34
  background: none;
35
- `;w(W)`
35
+ `;w(U)`
36
36
  {
37
37
  padding: 0 ${e=>e.theme.padding.medium||`1rem`};
38
38
  color: ${e=>e.theme.color.main||`#B84C74;`};
@@ -51,7 +51,7 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
51
51
  cursor: not-allowed;
52
52
  }
53
53
  }
54
- `,w(W)`
54
+ `,w(U)`
55
55
  padding: 0 ${e=>e.theme.padding.medium||`1rem`};
56
56
  color: ${e=>e.theme.color.white||`white`};
57
57
  background-color: ${e=>e.theme.color.main||`#B84C74;`};
@@ -70,7 +70,7 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
70
70
  flex-wrap: wrap;
71
71
  align-items: flex-start;
72
72
  justify-content: ${e=>e.$right?`flex-end`:`flex-start`};
73
- `;const Ae=w.div`
73
+ `;const Oe=w.div`
74
74
  position: relative;
75
75
  display: inline-block;
76
76
  `;w.div`
@@ -115,7 +115,7 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
115
115
  color: #fff;
116
116
  }
117
117
  `}
118
- `;const je=w.div`
118
+ `;const ke=w.div`
119
119
  display: none;
120
120
  flex-direction: column;
121
121
  position: absolute;
@@ -133,7 +133,7 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
133
133
  overflow: hidden;
134
134
  padding-bottom: 3px;
135
135
 
136
- ${W} {
136
+ ${U} {
137
137
  &:hover {
138
138
  background-color: ${e=>e.theme.color.lightgrey||`lightgrey`};
139
139
  }
@@ -142,17 +142,17 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
142
142
  ${e=>e.$open&&T`
143
143
  display: flex;
144
144
  `}
145
- `,G=w.div`
145
+ `,W=w.div`
146
146
  color: #999;
147
147
  text-transform: uppercase;
148
148
  font-weight: 600;
149
149
  padding: 0.7em;
150
150
  font-size: 0.875em;
151
- `,K=w.div`
151
+ `,G=w.div`
152
152
  height: 1px;
153
153
  margin: 0 0.5em;
154
154
  background: #eee;
155
- `,q=w.button`
155
+ `;var Ae=O(((t,n)=>{n.exports={...e}})),K=k(O((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=Ae();function n(e,n){let[r,i]=(0,t.useState)(!1),a=(0,t.useRef)(null),o=(0,t.useRef)(!0),s=(0,t.useRef)(!1),c=(0,t.useRef)(null),l=(0,t.useMemo)(()=>Array.from({length:e},()=>(0,t.createRef)()),[e]),u=e=>e.key!==void 0,d=e=>{var t;a.current=e,(t=l[e].current)==null||t.focus()};(0,t.useEffect)(()=>{if(o.current){o.current=!1;return}r&&(!s.current||n?.focusFirstItemOnClick)?d(0):r||(s.current=!1)},[r]),(0,t.useEffect)(()=>{if(!r)return;let e={removed:!1},t=e=>{setTimeout(()=>{e.target instanceof Element&&(e.target.closest(`[role="menu"]`)instanceof Element||i(!1))},10)};return setTimeout(()=>{e.removed||document.addEventListener(`click`,t)},1),()=>{e.removed=!0,document.removeEventListener(`click`,t)}},[r]),(0,t.useEffect)(()=>{let e=e=>{r&&(e.key===`ArrowDown`||e.key===`ArrowUp`)&&e.preventDefault()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r]);let f=e=>{if(u(e)){let{key:t}=e;if(![`Enter`,` `,`Tab`,`ArrowDown`,`Escape`].includes(t))return;(t===`Tab`||t===`ArrowDown`)&&s.current&&r&&(e.preventDefault(),d(0)),(t===`Enter`||t===` `)&&(e.preventDefault(),i(!0)),t===`Escape`&&(e.preventDefault(),i(!1))}else n?.focusFirstItemOnClick||(s.current=!r),i(!r)},p=e=>{var t;let{key:n}=e;if([`Tab`,`Shift`,`Enter`,`Escape`,`ArrowUp`,`ArrowDown`,` `].includes(n)){let r=a.current;if(n===`Escape`){i(!1),(t=c.current)==null||t.focus();return}if(n===`Tab`){i(!1);return}if(n===`Enter`||n===` `){e.currentTarget.href||e.currentTarget.click(),i(!1);return}r!==null&&(n===`ArrowUp`?--r:n===`ArrowDown`&&(r+=1),r>l.length-1?r=0:r<0&&(r=l.length-1)),r!==null&&d(r);return}if(/[a-zA-Z0-9./<>?;:"'`!@#$%^&*()\\[\]{}_+=|\\-~,]/.test(n)){let e=l.findIndex(e=>(e.current?.innerText)?.toLowerCase().startsWith(n.toLowerCase())||(e.current?.textContent)?.toLowerCase().startsWith(n.toLowerCase())||(e.current?.getAttribute(`aria-label`))?.toLowerCase().startsWith(n.toLowerCase()));e!==-1&&d(e)}};return{buttonProps:{onKeyDown:f,onClick:f,tabIndex:0,ref:c,role:`button`,"aria-haspopup":!0,"aria-expanded":r},itemProps:Array.from({length:e},(e,t)=>({onKeyDown:p,tabIndex:-1,role:`menuitem`,ref:l[t]})),isOpen:r,setIsOpen:i,moveFocus:d}}e.default=n}))(),1);const je=typeof K.default==`object`&&K.default!==null&&`default`in K.default?K.default.default:K.default,q=w.button`
156
156
  height: 1.75em;
157
157
  width: 1.75em;
158
158
  background: #e9e9e9;
@@ -171,7 +171,7 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
171
171
  fill: #fff;
172
172
  }
173
173
  }
174
- `;function Me(e){let{current:t}=N(),[n,r]=g(`menu-hidden`),{apps:i,changeApp:a}=h(),o=t?.resource.type,s=Object.values(i).filter(e=>!(e.metadata.project&&e.metadata.projectType!==o||!t&&e.metadata.project||e.metadata.type===`launcher`)),{itemProps:c,buttonProps:l,isOpen:u,setIsOpen:d}=te(s.length+1);return C(Ae,{children:[S(q,{...l,children:S(Oe,{})}),C(je,{$open:u,children:[S(G,{children:`Apps`}),S(K,{}),s.map((e,t)=>S(W,{...c[t],onClick:()=>{a({id:e.metadata.id}),d(!1)},children:e.metadata.title},e.metadata.id)),e.hideMenu?null:C(x,{children:[S(G,{children:`Quick Settings`}),S(K,{}),S(W,{...c[s.length+0],onClick:()=>r(!n),children:n?`Show menu`:`Hide menu`})]})]})]})}const J=w.div`
174
+ `;function Me(e){let{current:t}=N(),[n,r]=_(`menu-hidden`),{apps:i,changeApp:a}=g(),o=t?.resource.type,s=Object.values(i).filter(e=>!(e.metadata.project&&e.metadata.projectType!==o||!t&&e.metadata.project||e.metadata.type===`launcher`)),{itemProps:c,buttonProps:l,isOpen:u,setIsOpen:d}=je(s.length+1);return C(Oe,{children:[S(q,{...l,children:S(H,{})}),C(ke,{$open:u,children:[S(W,{children:`Apps`}),S(G,{}),s.map((e,t)=>S(U,{...c[t],onClick:()=>{a({id:e.metadata.id}),d(!1)},children:e.metadata.title},e.metadata.id)),e.hideMenu?null:C(x,{children:[S(W,{children:`Quick Settings`}),S(G,{}),S(U,{...c[s.length+0],onClick:()=>r(!n),children:n?`Show menu`:`Hide menu`})]})]})]})}const J=w.div`
175
175
  display: flex;
176
176
  flex-direction: row;
177
177
  flex: 1;
@@ -193,7 +193,7 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
193
193
  border: 1px solid #999;
194
194
  padding: 0.2em;
195
195
  margin: -0.2em 0;
196
- `,Q=w(ke)`
196
+ `,Q=w(De)`
197
197
  font-size: 1em;
198
198
  display: inline-block;
199
199
  `,$=w.div`
@@ -202,5 +202,5 @@ import{createContext as e,useCallback as t,useContext as n,useEffect as r,useMem
202
202
  text-overflow: ellipsis;
203
203
  white-space: nowrap;
204
204
  overflow: hidden;
205
- `;function Ne(){let{actions:e,current:t}=N(),[n,r]=s(!1);return C(J,{children:[S(Y,{children:`Drafts`}),t?S(x,{children:n?C(X,{onSubmit:t=>{let n=new FormData(t.target),i=Object.fromEntries(n.entries());e.updateDetails(i),r(!1)},children:[S(Z,{id:`project-title`,defaultValue:t.name,name:`name`}),S(Q,{children:`Save`})]}):S($,{onClick:()=>{ne(()=>{r(!0)}),document.getElementById(`project-title`)?.focus()},children:t.name||`Untitled project`})}):null]})}export{Me as AppMenu,J as Draft,$ as DraftTitle,X as DraftTitleEdit,Q as DraftTitleEditButton,Z as DraftTitleEditInput,Ne as DraftTitleEditor,Y as DraftsText,q as IconButton,M as ProjectLoadingReactContext,De as ProjectProvider,j as ProjectReactContext,de as useCurrentProject,fe as useOptionalCurrentProject,z as useProjectActionsWithBackend,B as useProjectBackend,N as useProjectContext,ye as useProjectCreators,V as useProjectLoader,ue as useProjectLoading};
205
+ `;function Ne(){let{actions:e,current:t}=N(),[n,r]=c(!1);return C(J,{children:[S(Y,{children:`Drafts`}),t?S(x,{children:n?C(X,{onSubmit:t=>{let n=new FormData(t.target),i=Object.fromEntries(n.entries());e.updateDetails(i),r(!1)},children:[S(Z,{id:`project-title`,defaultValue:t.name,name:`name`}),S(Q,{children:`Save`})]}):S($,{onClick:()=>{ne(()=>{r(!0)}),document.getElementById(`project-title`)?.focus()},children:t.name||`Untitled project`})}):null]})}export{Me as AppMenu,J as Draft,$ as DraftTitle,X as DraftTitleEdit,Q as DraftTitleEditButton,Z as DraftTitleEditInput,Ne as DraftTitleEditor,Y as DraftsText,q as IconButton,M as ProjectLoadingReactContext,Ee as ProjectProvider,j as ProjectReactContext,ue as useCurrentProject,de as useOptionalCurrentProject,L as useProjectActionsWithBackend,R as useProjectBackend,N as useProjectContext,ve as useProjectCreators,z as useProjectLoader,le as useProjectLoading};
206
206
  //# sourceMappingURL=index.js.map