@manifest-editor/projects 1.0.2
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/LICENSE +21 -0
- package/dist/index.cjs +1301 -0
- package/dist/index.d.cts +219 -0
- package/dist/index.d.ts +219 -0
- package/dist/index.js +1291 -0
- package/package.json +75 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
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';
|
|
9
|
+
|
|
10
|
+
interface Storage {
|
|
11
|
+
type: string;
|
|
12
|
+
error?: {
|
|
13
|
+
message: string;
|
|
14
|
+
};
|
|
15
|
+
data: any;
|
|
16
|
+
}
|
|
17
|
+
interface ManifestStorage {
|
|
18
|
+
type: "manifest-storage";
|
|
19
|
+
data: Manifest;
|
|
20
|
+
}
|
|
21
|
+
interface CollectionStorage {
|
|
22
|
+
type: "collection-storage";
|
|
23
|
+
data: Collection;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
interface Publication {
|
|
27
|
+
id: string;
|
|
28
|
+
type: string;
|
|
29
|
+
config: any;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface ProjectState {
|
|
33
|
+
current: EditorProject | null;
|
|
34
|
+
allProjects: EditorProject[];
|
|
35
|
+
loadingStatus: null | ProjectsLoadingStatus;
|
|
36
|
+
}
|
|
37
|
+
type ProjectContext = ProjectState & {
|
|
38
|
+
actions: ProjectActions;
|
|
39
|
+
canDelete: boolean;
|
|
40
|
+
};
|
|
41
|
+
interface ProjectsLoadingStatus {
|
|
42
|
+
loading: boolean;
|
|
43
|
+
loaded: boolean;
|
|
44
|
+
lastLoaded: number;
|
|
45
|
+
}
|
|
46
|
+
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 {
|
|
79
|
+
id: string;
|
|
80
|
+
name: string;
|
|
81
|
+
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
|
+
};
|
|
98
|
+
}
|
|
99
|
+
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>;
|
|
108
|
+
}
|
|
109
|
+
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;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
declare const ProjectReactContext: react.Context<ProjectContext | null>;
|
|
124
|
+
declare const ProjectLoadingReactContext: react.Context<{
|
|
125
|
+
isLoading: boolean;
|
|
126
|
+
isError: boolean;
|
|
127
|
+
error?: string | undefined;
|
|
128
|
+
}>;
|
|
129
|
+
declare function useProjectLoading(): {
|
|
130
|
+
isLoading: boolean;
|
|
131
|
+
isError: boolean;
|
|
132
|
+
error?: string | undefined;
|
|
133
|
+
};
|
|
134
|
+
declare function useProjectContext(): ProjectContext;
|
|
135
|
+
declare function useCurrentProject(): EditorProject;
|
|
136
|
+
declare function useOptionalCurrentProject(): EditorProject | null;
|
|
137
|
+
|
|
138
|
+
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;
|
|
163
|
+
};
|
|
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;
|
|
169
|
+
};
|
|
170
|
+
declare function useProjectCreators(): {
|
|
171
|
+
createProjectFromManifestJson: (json: string) => Promise<void>;
|
|
172
|
+
createProjectFromManifestId: (id: string) => Promise<void>;
|
|
173
|
+
createProjectFromCollectionId: (id: string) => Promise<void>;
|
|
174
|
+
createBlankManifest: () => void;
|
|
175
|
+
};
|
|
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>;
|
|
180
|
+
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;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
interface ProjectProviderProps {
|
|
198
|
+
children: ReactNode;
|
|
199
|
+
defaultApp?: string;
|
|
200
|
+
storage?: AbstractVaultLoader<any>;
|
|
201
|
+
backend?: ProjectBackend;
|
|
202
|
+
initialState?: () => ProjectState;
|
|
203
|
+
}
|
|
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>>;
|
|
207
|
+
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 };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
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';
|
|
9
|
+
|
|
10
|
+
interface Storage {
|
|
11
|
+
type: string;
|
|
12
|
+
error?: {
|
|
13
|
+
message: string;
|
|
14
|
+
};
|
|
15
|
+
data: any;
|
|
16
|
+
}
|
|
17
|
+
interface ManifestStorage {
|
|
18
|
+
type: "manifest-storage";
|
|
19
|
+
data: Manifest;
|
|
20
|
+
}
|
|
21
|
+
interface CollectionStorage {
|
|
22
|
+
type: "collection-storage";
|
|
23
|
+
data: Collection;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
interface Publication {
|
|
27
|
+
id: string;
|
|
28
|
+
type: string;
|
|
29
|
+
config: any;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface ProjectState {
|
|
33
|
+
current: EditorProject | null;
|
|
34
|
+
allProjects: EditorProject[];
|
|
35
|
+
loadingStatus: null | ProjectsLoadingStatus;
|
|
36
|
+
}
|
|
37
|
+
type ProjectContext = ProjectState & {
|
|
38
|
+
actions: ProjectActions;
|
|
39
|
+
canDelete: boolean;
|
|
40
|
+
};
|
|
41
|
+
interface ProjectsLoadingStatus {
|
|
42
|
+
loading: boolean;
|
|
43
|
+
loaded: boolean;
|
|
44
|
+
lastLoaded: number;
|
|
45
|
+
}
|
|
46
|
+
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 {
|
|
79
|
+
id: string;
|
|
80
|
+
name: string;
|
|
81
|
+
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
|
+
};
|
|
98
|
+
}
|
|
99
|
+
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>;
|
|
108
|
+
}
|
|
109
|
+
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;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
declare const ProjectReactContext: react.Context<ProjectContext | null>;
|
|
124
|
+
declare const ProjectLoadingReactContext: react.Context<{
|
|
125
|
+
isLoading: boolean;
|
|
126
|
+
isError: boolean;
|
|
127
|
+
error?: string | undefined;
|
|
128
|
+
}>;
|
|
129
|
+
declare function useProjectLoading(): {
|
|
130
|
+
isLoading: boolean;
|
|
131
|
+
isError: boolean;
|
|
132
|
+
error?: string | undefined;
|
|
133
|
+
};
|
|
134
|
+
declare function useProjectContext(): ProjectContext;
|
|
135
|
+
declare function useCurrentProject(): EditorProject;
|
|
136
|
+
declare function useOptionalCurrentProject(): EditorProject | null;
|
|
137
|
+
|
|
138
|
+
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;
|
|
163
|
+
};
|
|
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;
|
|
169
|
+
};
|
|
170
|
+
declare function useProjectCreators(): {
|
|
171
|
+
createProjectFromManifestJson: (json: string) => Promise<void>;
|
|
172
|
+
createProjectFromManifestId: (id: string) => Promise<void>;
|
|
173
|
+
createProjectFromCollectionId: (id: string) => Promise<void>;
|
|
174
|
+
createBlankManifest: () => void;
|
|
175
|
+
};
|
|
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>;
|
|
180
|
+
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;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
interface ProjectProviderProps {
|
|
198
|
+
children: ReactNode;
|
|
199
|
+
defaultApp?: string;
|
|
200
|
+
storage?: AbstractVaultLoader<any>;
|
|
201
|
+
backend?: ProjectBackend;
|
|
202
|
+
initialState?: () => ProjectState;
|
|
203
|
+
}
|
|
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>>;
|
|
207
|
+
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 };
|