@manifest-editor/projects 1.4.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,219 +1,233 @@
1
- import * as react from 'react';
2
- import { Dispatch, ReactNode } from 'react';
3
- import { Manifest, Collection } from '@iiif/presentation-3';
4
- import { Vault } from '@iiif/helpers/vault';
5
- import { Preview } from '@manifest-editor/shell';
6
- import * as react_jsx_runtime from 'react/jsx-runtime';
7
- import * as styled_components from 'styled-components';
8
- import * as styled_components_dist_types from 'styled-components/dist/types';
1
+ import * as react10 from "react";
2
+ import { Dispatch, ReactNode } from "react";
3
+ import { Preview } from "@manifest-editor/shell";
4
+ 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
+ import { Collection, Manifest } from "@iiif/presentation-3";
8
+ import * as styled_components_dist_types6 from "styled-components/dist/types";
9
9
 
10
+ //#region src/types/Storage.d.ts
10
11
  interface Storage {
11
- type: string;
12
- error?: {
13
- message: string;
14
- };
15
- data: any;
12
+ type: string;
13
+ error?: {
14
+ message: string;
15
+ };
16
+ data: any;
16
17
  }
17
18
  interface ManifestStorage {
18
- type: "manifest-storage";
19
- data: Manifest;
19
+ type: "manifest-storage";
20
+ data: Manifest;
20
21
  }
21
22
  interface CollectionStorage {
22
- type: "collection-storage";
23
- data: Collection;
23
+ type: "collection-storage";
24
+ data: Collection;
24
25
  }
25
-
26
+ //#endregion
27
+ //#region src/types/Publication.d.ts
26
28
  interface Publication {
27
- id: string;
28
- type: string;
29
- config: any;
29
+ id: string;
30
+ type: string;
31
+ config: any;
30
32
  }
31
-
33
+ //#endregion
34
+ //#region src/ProjectContext.types.d.ts
32
35
  interface ProjectState {
33
- current: EditorProject | null;
34
- allProjects: EditorProject[];
35
- loadingStatus: null | ProjectsLoadingStatus;
36
+ current: EditorProject | null;
37
+ allProjects: EditorProject[];
38
+ loadingStatus: null | ProjectsLoadingStatus;
36
39
  }
37
40
  type ProjectContext = ProjectState & {
38
- actions: ProjectActions;
39
- canDelete: boolean;
41
+ actions: ProjectActions;
42
+ canDelete: boolean;
40
43
  };
41
44
  interface ProjectsLoadingStatus {
42
- loading: boolean;
43
- loaded: boolean;
44
- lastLoaded: number;
45
+ loading: boolean;
46
+ loaded: boolean;
47
+ lastLoaded: number;
45
48
  }
46
49
  interface ProjectActions {
47
- createProject(project: EditorProject): void;
48
- deleteProject(id: string): void;
49
- switchProject(id: string): void;
50
- deselectProject(id: string): void;
51
- forkProject(details: {
52
- id: string;
53
- name: string;
54
- filename?: string;
55
- }): void;
56
- load(state: ProjectState): void;
57
- setLoadingStatus(status: ProjectsLoadingStatus): void;
58
- saveProject(project: EditorProject): Promise<void> | void;
59
- updateDetails(details: {
60
- name: string;
61
- filename?: string;
62
- }): void;
63
- createPublication(publication: Publication): void;
64
- updatePublication(publication: Publication): void;
65
- removePublication(id: string): void;
66
- setPreview(publication: Preview): void;
67
- removePreview(id: string): void;
68
- updateSettings(settings: EditorProject["settings"]): void;
69
- updateThumbnail(url: string): void;
70
- updateStorage(storage: Storage): void;
71
- }
72
- type ProjectActionsType = {
73
- [T in keyof ProjectActions]: {
74
- type: T;
75
- payload: Parameters<ProjectActions[T]>[0];
76
- };
77
- }[keyof ProjectActions];
78
- interface EditorProject {
50
+ createProject(project: EditorProject): void;
51
+ deleteProject(id: string): void;
52
+ switchProject(id: string): void;
53
+ deselectProject(id: string): void;
54
+ forkProject(details: {
79
55
  id: string;
80
56
  name: string;
81
57
  filename?: string;
82
- thumbnail?: string;
83
- resource: {
84
- id: string;
85
- type: "Manifest";
86
- } | {
87
- id: string;
88
- type: "Collection";
89
- };
90
- storage: Storage;
91
- settings: Record<string, never>;
92
- publications: Publication[];
93
- previews: Preview[];
94
- metadata: {
95
- created: number;
96
- modified: number;
97
- };
58
+ }): void;
59
+ load(state: ProjectState): void;
60
+ setLoadingStatus(status: ProjectsLoadingStatus): void;
61
+ saveProject(project: EditorProject): Promise<void> | void;
62
+ updateDetails(details: {
63
+ name: string;
64
+ filename?: string;
65
+ }): void;
66
+ createPublication(publication: Publication): void;
67
+ updatePublication(publication: Publication): void;
68
+ removePublication(id: string): void;
69
+ setPreview(publication: Preview): void;
70
+ removePreview(id: string): void;
71
+ updateSettings(settings: EditorProject["settings"]): void;
72
+ updateThumbnail(url: string): void;
73
+ updateStorage(storage: Storage): void;
74
+ }
75
+ type ProjectActionsType = { [T in keyof ProjectActions]: {
76
+ type: T;
77
+ payload: Parameters<ProjectActions[T]>[0];
78
+ } }[keyof ProjectActions];
79
+ interface EditorProject {
80
+ id: string;
81
+ name: string;
82
+ filename?: string;
83
+ thumbnail?: string;
84
+ resource: {
85
+ id: string;
86
+ type: "Manifest";
87
+ } | {
88
+ id: string;
89
+ type: "Collection";
90
+ };
91
+ storage: Storage;
92
+ settings: Record<string, never>;
93
+ publications: Publication[];
94
+ previews: Preview[];
95
+ metadata: {
96
+ created: number;
97
+ modified: number;
98
+ };
98
99
  }
99
100
  interface ProjectBackend {
100
- saveInterval: number;
101
- getAllProjects(fresh?: boolean): Promise<EditorProject[]>;
102
- getLastProject(): Promise<string | null>;
103
- setLastProject(id: string): Promise<void>;
104
- canDelete(): boolean;
105
- createProject(project: EditorProject): Promise<void>;
106
- updateProject(project: EditorProject): Promise<void>;
107
- deleteProject(id: string): Promise<void>;
101
+ saveInterval: number;
102
+ getAllProjects(fresh?: boolean): Promise<EditorProject[]>;
103
+ getLastProject(): Promise<string | null>;
104
+ setLastProject(id: string): Promise<void>;
105
+ canDelete(): boolean;
106
+ createProject(project: EditorProject): Promise<void>;
107
+ updateProject(project: EditorProject): Promise<void>;
108
+ deleteProject(id: string): Promise<void>;
108
109
  }
109
110
  interface ProjectStorage<S extends Storage, DataType = any, Ref extends Storage = any> {
110
- type: string;
111
- saveInterval: number;
112
- create(project: EditorProject, data: DataType): Promise<Ref | void>;
113
- saveStorage(ref: Ref): Promise<void>;
114
- deleteStorage(ref: Ref): Promise<void>;
115
- canCreate(): boolean;
116
- canDelete(): boolean;
117
- getBackendStorage(project: EditorProject): Ref;
118
- createVaultInstance(project: EditorProject): [Vault, Promise<void>];
119
- closeVaultInstance(project: EditorProject, vault: Vault): void;
120
- shouldUpdateWithVault(): boolean;
111
+ type: string;
112
+ saveInterval: number;
113
+ create(project: EditorProject, data: DataType): Promise<Ref | void>;
114
+ saveStorage(ref: Ref): Promise<void>;
115
+ deleteStorage(ref: Ref): Promise<void>;
116
+ canCreate(): boolean;
117
+ canDelete(): boolean;
118
+ getBackendStorage(project: EditorProject): Ref;
119
+ createVaultInstance(project: EditorProject): [Vault, Promise<void>];
120
+ closeVaultInstance(project: EditorProject, vault: Vault): void;
121
+ shouldUpdateWithVault(): boolean;
121
122
  }
122
-
123
- declare const ProjectReactContext: react.Context<ProjectContext | null>;
124
- declare const ProjectLoadingReactContext: react.Context<{
125
- isLoading: boolean;
126
- isError: boolean;
127
- error?: string;
123
+ //#endregion
124
+ //#region src/ProjectContext.d.ts
125
+ declare const ProjectReactContext: react10.Context<ProjectContext | null>;
126
+ declare const ProjectLoadingReactContext: react10.Context<{
127
+ isLoading: boolean;
128
+ isError: boolean;
129
+ error?: string;
128
130
  }>;
129
131
  declare function useProjectLoading(): {
130
- isLoading: boolean;
131
- isError: boolean;
132
- error?: string;
132
+ isLoading: boolean;
133
+ isError: boolean;
134
+ error?: string;
133
135
  };
134
136
  declare function useProjectContext(): ProjectContext;
135
137
  declare function useCurrentProject(): EditorProject;
136
138
  declare function useOptionalCurrentProject(): EditorProject | null;
137
-
139
+ //#endregion
140
+ //#region src/ProjectContext.hooks.d.ts
138
141
  declare function useProjectActionsWithBackend(dispatch: Dispatch<ProjectActionsType>, backend: ProjectBackend, storage: ProjectStorage<any>): {
139
- createProject: (payload: EditorProject) => Promise<void>;
140
- deleteProject: (payload: string) => void;
141
- switchProject: (payload: string) => void;
142
- deselectProject: (payload: string) => void;
143
- forkProject: (payload: {
144
- id: string;
145
- name: string;
146
- filename?: string;
147
- }) => void;
148
- saveProject: (project: EditorProject) => void;
149
- setLoadingStatus: (payload: ProjectsLoadingStatus) => void;
150
- load: (payload: ProjectState) => void;
151
- updateDetails: (payload: {
152
- name: string;
153
- filename?: string;
154
- }) => void;
155
- createPublication: (payload: Publication) => void;
156
- updatePublication: (payload: Publication) => void;
157
- removePublication: (payload: string) => void;
158
- updateSettings: (payload: EditorProject["settings"]) => void;
159
- updateThumbnail: (payload: string) => void;
160
- updateStorage: (payload: Storage) => void;
161
- setPreview: (publication: Preview) => void;
162
- removePreview: (id: string) => void;
142
+ createProject: (payload: EditorProject) => Promise<void>;
143
+ deleteProject: (payload: string) => void;
144
+ switchProject: (payload: string) => void;
145
+ deselectProject: (payload: string) => void;
146
+ forkProject: (payload: {
147
+ id: string;
148
+ name: string;
149
+ filename?: string;
150
+ }) => void;
151
+ saveProject: (project: EditorProject) => void;
152
+ setLoadingStatus: (payload: ProjectsLoadingStatus) => void;
153
+ load: (payload: ProjectState) => void;
154
+ updateDetails: (payload: {
155
+ name: string;
156
+ filename?: string;
157
+ }) => void;
158
+ createPublication: (payload: Publication) => void;
159
+ updatePublication: (payload: Publication) => void;
160
+ removePublication: (payload: string) => void;
161
+ updateSettings: (payload: EditorProject["settings"]) => void;
162
+ updateThumbnail: (payload: string) => void;
163
+ updateStorage: (payload: Storage) => void;
164
+ setPreview: (publication: Preview) => void;
165
+ removePreview: (id: string) => void;
163
166
  };
164
- declare function useProjectBackend({ actions, current }: ProjectContext, backend: ProjectBackend): void;
165
- declare function useProjectLoader<T extends Storage = any>({ actions, current }: ProjectContext, storage: ProjectStorage<T>): {
166
- vault: Vault | null;
167
- ready: boolean;
168
- error: string;
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>): {
175
+ vault: Vault | null;
176
+ ready: boolean;
177
+ error: string;
169
178
  };
170
179
  declare function useProjectCreators(): {
171
- createProjectFromManifestJson: (json: string) => Promise<void>;
172
- createProjectFromManifestId: (id: string) => Promise<void>;
173
- createProjectFromCollectionId: (id: string) => Promise<void>;
174
- createBlankManifest: () => void;
180
+ createProjectFromManifestJson: (json: string) => Promise<void>;
181
+ createProjectFromManifestId: (id: string) => Promise<void>;
182
+ createProjectFromCollectionId: (id: string) => Promise<void>;
183
+ createBlankManifest: () => void;
175
184
  };
176
-
177
- declare abstract class AbstractVaultLoader<T extends Storage> implements ProjectStorage<ManifestStorage | CollectionStorage, Manifest | Collection, T> {
178
- abstract type: string;
179
- vaults: Record<string, Vault | null>;
185
+ //#endregion
186
+ //#region src/storage/AbstractVaultLoader.d.ts
187
+ declare abstract class AbstractVaultLoader<T$1 extends Storage> implements ProjectStorage<ManifestStorage | CollectionStorage, Manifest | Collection, T$1> {
188
+ abstract type: string;
189
+ vaults: Record<string, Vault | null>;
190
+ saveInterval: number;
191
+ protected constructor(config?: Partial<{
180
192
  saveInterval: number;
181
- protected constructor(config?: Partial<{
182
- saveInterval: number;
183
- }>);
184
- shouldUpdateWithVault(): boolean;
185
- canCreate(): boolean;
186
- canDelete(): boolean;
187
- abstract create(project: EditorProject, data: Manifest | Collection): Promise<T>;
188
- createVaultInstance(project: EditorProject): [Vault, Promise<void>];
189
- closeVaultInstance(project: EditorProject, vault: Vault): void;
190
- saveStorage(storage: T): Promise<void>;
191
- abstract getStorage(storage: T): Promise<CollectionStorage | ManifestStorage | null>;
192
- abstract saveStorageData(manifest: CollectionStorage | ManifestStorage, storage: T): void | Promise<void>;
193
- abstract deleteStorage(storage: T): Promise<void>;
194
- abstract getBackendStorage(project: EditorProject): T;
193
+ }>);
194
+ shouldUpdateWithVault(): boolean;
195
+ canCreate(): boolean;
196
+ canDelete(): boolean;
197
+ abstract create(project: EditorProject, data: Manifest | Collection): Promise<T$1>;
198
+ createVaultInstance(project: EditorProject): [Vault, Promise<void>];
199
+ 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;
195
205
  }
196
-
206
+ //#endregion
207
+ //#region src/ProjectContext.internal.d.ts
197
208
  interface ProjectProviderProps {
198
- children: ReactNode;
199
- defaultApp?: string;
200
- storage?: AbstractVaultLoader<any>;
201
- backend?: ProjectBackend;
202
- initialState?: () => ProjectState;
209
+ children: ReactNode;
210
+ defaultApp?: string;
211
+ storage?: AbstractVaultLoader<any>;
212
+ backend?: ProjectBackend;
213
+ initialState?: () => ProjectState;
203
214
  }
204
- declare function ProjectProvider(props: ProjectProviderProps): react_jsx_runtime.JSX.Element;
205
-
206
- declare const IconButton: styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>>;
215
+ declare function ProjectProvider(props: ProjectProviderProps): react_jsx_runtime0.JSX.Element;
216
+ //#endregion
217
+ //#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
219
  declare function AppMenu(props: {
208
- hideMenu?: boolean;
209
- }): react_jsx_runtime.JSX.Element;
210
-
211
- declare const Draft: styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
212
- declare const DraftsText: styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
213
- declare const DraftTitleEdit: styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<react.DetailedHTMLProps<react.FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, never>>;
214
- declare const DraftTitleEditInput: styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, never>>;
215
- declare const DraftTitleEditButton: styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<any, never>> | (styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<any, never>> & Omit<any, keyof react.Component<any, {}, any>>);
216
- declare const DraftTitle: styled_components.IStyledComponent<"web", styled_components_dist_types.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
217
- declare function DraftTitleEditor(): react_jsx_runtime.JSX.Element;
218
-
219
- export { AppMenu, Draft, DraftTitle, DraftTitleEdit, DraftTitleEditButton, DraftTitleEditInput, DraftTitleEditor, DraftsText, IconButton, ProjectLoadingReactContext, ProjectProvider, type ProjectProviderProps, ProjectReactContext, useCurrentProject, useOptionalCurrentProject, useProjectActionsWithBackend, useProjectBackend, useProjectContext, useProjectCreators, useProjectLoader, useProjectLoading };
220
+ hideMenu?: boolean;
221
+ }): react_jsx_runtime0.JSX.Element;
222
+ //#endregion
223
+ //#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;
231
+ //#endregion
232
+ export { AppMenu, Draft, DraftTitle, DraftTitleEdit, DraftTitleEditButton, DraftTitleEditInput, DraftTitleEditor, DraftsText, IconButton, ProjectLoadingReactContext, ProjectProvider, ProjectProviderProps, ProjectReactContext, useCurrentProject, useOptionalCurrentProject, useProjectActionsWithBackend, useProjectBackend, useProjectContext, useProjectCreators, useProjectLoader, useProjectLoading };
233
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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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"}