@powerhousedao/reactor-browser 4.1.0-dev.9 → 4.1.0-staging.1
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/README.md +578 -0
- package/dist/src/actions/dispatch.d.ts +3 -0
- package/dist/src/actions/dispatch.d.ts.map +1 -0
- package/dist/src/actions/dispatch.js +13 -0
- package/dist/src/actions/dispatch.js.map +1 -0
- package/dist/src/actions/document.d.ts +14 -0
- package/dist/src/actions/document.d.ts.map +1 -0
- package/dist/src/actions/document.js +260 -0
- package/dist/src/actions/document.js.map +1 -0
- package/dist/src/actions/drive.d.ts +14 -0
- package/dist/src/actions/drive.d.ts.map +1 -0
- package/dist/src/actions/drive.js +192 -0
- package/dist/src/actions/drive.js.map +1 -0
- package/dist/src/actions/index.d.ts +6 -0
- package/dist/src/actions/index.d.ts.map +1 -0
- package/dist/src/actions/index.js +6 -0
- package/dist/src/actions/index.js.map +1 -0
- package/dist/src/actions/queue.d.ts +9 -0
- package/dist/src/actions/queue.d.ts.map +1 -0
- package/dist/src/actions/queue.js +144 -0
- package/dist/src/actions/queue.js.map +1 -0
- package/dist/src/actions/sign.d.ts +5 -0
- package/dist/src/actions/sign.d.ts.map +1 -0
- package/dist/src/actions/sign.js +71 -0
- package/dist/src/actions/sign.js.map +1 -0
- package/dist/src/analytics/index.d.ts +2 -0
- package/dist/src/analytics/index.d.ts.map +1 -0
- package/dist/src/analytics/index.js +2 -0
- package/dist/src/analytics/index.js.map +1 -0
- package/dist/src/constants.d.ts +3 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +3 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/context/read-mode.d.ts.map +1 -1
- package/dist/src/context/read-mode.js +3 -7
- package/dist/src/context/read-mode.js.map +1 -1
- package/dist/src/crypto/index.d.ts +12 -5
- package/dist/src/crypto/index.d.ts.map +1 -1
- package/dist/src/crypto/index.js +61 -60
- package/dist/src/crypto/index.js.map +1 -1
- package/dist/src/events/add-ph-event-handlers.d.ts +2 -0
- package/dist/src/events/add-ph-event-handlers.d.ts.map +1 -0
- package/dist/src/events/add-ph-event-handlers.js +26 -0
- package/dist/src/events/add-ph-event-handlers.js.map +1 -0
- package/dist/src/events/config.d.ts +8 -0
- package/dist/src/events/config.d.ts.map +1 -0
- package/dist/src/events/config.js +25 -0
- package/dist/src/events/config.js.map +1 -0
- package/dist/src/events/crypto.d.ts +13 -0
- package/dist/src/events/crypto.d.ts.map +1 -0
- package/dist/src/events/crypto.js +49 -0
- package/dist/src/events/crypto.js.map +1 -0
- package/dist/src/events/documents.d.ts +7 -0
- package/dist/src/events/documents.d.ts.map +1 -0
- package/dist/src/events/documents.js +19 -0
- package/dist/src/events/documents.js.map +1 -0
- package/dist/src/events/drives.d.ts +13 -0
- package/dist/src/events/drives.d.ts.map +1 -0
- package/dist/src/events/drives.js +57 -0
- package/dist/src/events/drives.js.map +1 -0
- package/dist/src/events/index.d.ts +13 -0
- package/dist/src/events/index.d.ts.map +1 -0
- package/dist/src/events/index.js +13 -0
- package/dist/src/events/index.js.map +1 -0
- package/dist/src/events/nodes.d.ts +7 -0
- package/dist/src/events/nodes.d.ts.map +1 -0
- package/dist/src/events/nodes.js +34 -0
- package/dist/src/events/nodes.js.map +1 -0
- package/dist/src/events/processors.d.ts +8 -0
- package/dist/src/events/processors.d.ts.map +1 -0
- package/dist/src/events/processors.js +25 -0
- package/dist/src/events/processors.js.map +1 -0
- package/dist/src/events/reactor.d.ts +8 -0
- package/dist/src/events/reactor.d.ts.map +1 -0
- package/dist/src/events/reactor.js +25 -0
- package/dist/src/events/reactor.js.map +1 -0
- package/dist/src/events/renown.d.ts +8 -0
- package/dist/src/events/renown.d.ts.map +1 -0
- package/dist/src/events/renown.js +27 -0
- package/dist/src/events/renown.js.map +1 -0
- package/dist/src/events/types.d.ts +60 -0
- package/dist/src/events/types.d.ts.map +1 -0
- package/dist/src/{renown → events}/types.js.map +1 -1
- package/dist/src/events/user.d.ts +14 -0
- package/dist/src/events/user.d.ts.map +1 -0
- package/dist/src/events/user.js +50 -0
- package/dist/src/events/user.js.map +1 -0
- package/dist/src/events/vetra-packages.d.ts +8 -0
- package/dist/src/events/vetra-packages.d.ts.map +1 -0
- package/dist/src/events/vetra-packages.js +29 -0
- package/dist/src/events/vetra-packages.js.map +1 -0
- package/dist/src/hooks/config.d.ts +5 -0
- package/dist/src/hooks/config.d.ts.map +1 -0
- package/dist/src/hooks/config.js +18 -0
- package/dist/src/hooks/config.js.map +1 -0
- package/dist/src/hooks/crypto.d.ts +4 -0
- package/dist/src/hooks/crypto.d.ts.map +1 -0
- package/dist/src/hooks/crypto.js +15 -0
- package/dist/src/hooks/crypto.js.map +1 -0
- package/dist/src/hooks/dispatch.d.ts +3 -0
- package/dist/src/hooks/dispatch.d.ts.map +1 -0
- package/dist/src/hooks/dispatch.js +9 -0
- package/dist/src/hooks/dispatch.js.map +1 -0
- package/dist/src/hooks/documents.d.ts +12 -0
- package/dist/src/hooks/documents.d.ts.map +1 -0
- package/dist/src/hooks/documents.js +46 -0
- package/dist/src/hooks/documents.js.map +1 -0
- package/dist/src/hooks/{useDriveContext.d.ts → drive-context.d.ts} +1 -1
- package/dist/src/hooks/drive-context.d.ts.map +1 -0
- package/dist/src/hooks/{useDriveContext.js → drive-context.js} +1 -1
- package/dist/src/hooks/drive-context.js.map +1 -0
- package/dist/src/hooks/drives.d.ts +23 -0
- package/dist/src/hooks/drives.d.ts.map +1 -0
- package/dist/src/hooks/drives.js +88 -0
- package/dist/src/hooks/drives.js.map +1 -0
- package/dist/src/hooks/index.d.ts +11 -7
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +11 -7
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/nodes.d.ts +41 -0
- package/dist/src/hooks/nodes.d.ts.map +1 -0
- package/dist/src/hooks/nodes.js +160 -0
- package/dist/src/hooks/nodes.js.map +1 -0
- package/dist/src/hooks/processor-manager.d.ts +3 -0
- package/dist/src/hooks/processor-manager.d.ts.map +1 -0
- package/dist/src/hooks/processor-manager.js +7 -0
- package/dist/src/hooks/processor-manager.js.map +1 -0
- package/dist/src/hooks/reactor.d.ts +3 -0
- package/dist/src/hooks/reactor.d.ts.map +1 -0
- package/dist/src/hooks/reactor.js +7 -0
- package/dist/src/hooks/reactor.js.map +1 -0
- package/dist/src/hooks/renown.d.ts +2 -0
- package/dist/src/hooks/renown.d.ts.map +1 -0
- package/dist/src/hooks/renown.js +7 -0
- package/dist/src/hooks/renown.js.map +1 -0
- package/dist/src/hooks/user.d.ts +7 -0
- package/dist/src/hooks/user.d.ts.map +1 -0
- package/dist/src/hooks/user.js +26 -0
- package/dist/src/hooks/user.js.map +1 -0
- package/dist/src/hooks/vetra-packages.d.ts +17 -0
- package/dist/src/hooks/vetra-packages.d.ts.map +1 -0
- package/dist/src/hooks/vetra-packages.js +82 -0
- package/dist/src/hooks/vetra-packages.js.map +1 -0
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/reactor.d.ts +7 -0
- package/dist/src/reactor.d.ts.map +1 -1
- package/dist/src/reactor.js +63 -0
- package/dist/src/reactor.js.map +1 -1
- package/dist/src/renown/index.d.ts +3 -0
- package/dist/src/renown/index.d.ts.map +1 -0
- package/dist/src/renown/index.js +3 -0
- package/dist/src/renown/index.js.map +1 -0
- package/dist/src/renown/utils.d.ts +7 -0
- package/dist/src/renown/utils.d.ts.map +1 -0
- package/dist/src/renown/utils.js +47 -0
- package/dist/src/renown/utils.js.map +1 -0
- package/dist/src/types/drive-editor.d.ts +9 -81
- package/dist/src/types/drive-editor.d.ts.map +1 -1
- package/dist/src/types/global.d.ts +64 -0
- package/dist/src/types/global.d.ts.map +1 -0
- package/dist/src/types/global.js +2 -0
- package/dist/src/types/global.js.map +1 -0
- package/dist/src/types/index.d.ts +3 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +3 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/reactor.d.ts +4 -0
- package/dist/src/types/reactor.d.ts.map +1 -0
- package/dist/src/types/reactor.js +2 -0
- package/dist/src/types/reactor.js.map +1 -0
- package/dist/src/types/vetra.d.ts +65 -0
- package/dist/src/types/vetra.d.ts.map +1 -0
- package/dist/src/types/vetra.js +2 -0
- package/dist/src/types/vetra.js.map +1 -0
- package/dist/src/utils/drives.d.ts +32 -0
- package/dist/src/utils/drives.d.ts.map +1 -0
- package/dist/src/utils/drives.js +60 -0
- package/dist/src/utils/drives.js.map +1 -0
- package/dist/src/utils/index.d.ts +6 -4
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +6 -8
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/nodes.d.ts +8 -0
- package/dist/src/utils/nodes.d.ts.map +1 -0
- package/dist/src/utils/nodes.js +17 -0
- package/dist/src/utils/nodes.js.map +1 -0
- package/dist/src/utils/url.d.ts +22 -0
- package/dist/src/utils/url.d.ts.map +1 -0
- package/dist/src/utils/url.js +59 -0
- package/dist/src/utils/url.js.map +1 -0
- package/dist/src/utils/user.d.ts +5 -0
- package/dist/src/utils/user.d.ts.map +1 -0
- package/dist/src/utils/user.js +15 -0
- package/dist/src/utils/user.js.map +1 -0
- package/dist/src/utils/vetra.d.ts +7 -0
- package/dist/src/utils/vetra.d.ts.map +1 -0
- package/dist/src/utils/vetra.js +78 -0
- package/dist/src/utils/vetra.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +24 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +11 -5
- package/dist/package.json +0 -75
- package/dist/src/hooks/document-state.d.ts +0 -24
- package/dist/src/hooks/document-state.d.ts.map +0 -1
- package/dist/src/hooks/document-state.js +0 -89
- package/dist/src/hooks/document-state.js.map +0 -1
- package/dist/src/hooks/useAddDebouncedOperations.d.ts +0 -7
- package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
- package/dist/src/hooks/useAddDebouncedOperations.js +0 -53
- package/dist/src/hooks/useAddDebouncedOperations.js.map +0 -1
- package/dist/src/hooks/useConnectCrypto.d.ts +0 -4
- package/dist/src/hooks/useConnectCrypto.d.ts.map +0 -1
- package/dist/src/hooks/useConnectCrypto.js +0 -57
- package/dist/src/hooks/useConnectCrypto.js.map +0 -1
- package/dist/src/hooks/useDocument.d.ts +0 -8
- package/dist/src/hooks/useDocument.d.ts.map +0 -1
- package/dist/src/hooks/useDocument.js +0 -32
- package/dist/src/hooks/useDocument.js.map +0 -1
- package/dist/src/hooks/useDocumentDispatch.d.ts +0 -10
- package/dist/src/hooks/useDocumentDispatch.d.ts.map +0 -1
- package/dist/src/hooks/useDocumentDispatch.js +0 -42
- package/dist/src/hooks/useDocumentDispatch.js.map +0 -1
- package/dist/src/hooks/useDocumentDrives.d.ts +0 -12
- package/dist/src/hooks/useDocumentDrives.d.ts.map +0 -1
- package/dist/src/hooks/useDocumentDrives.js +0 -122
- package/dist/src/hooks/useDocumentDrives.js.map +0 -1
- package/dist/src/hooks/useDocumentEditor.d.ts +0 -32
- package/dist/src/hooks/useDocumentEditor.d.ts.map +0 -1
- package/dist/src/hooks/useDocumentEditor.js +0 -41
- package/dist/src/hooks/useDocumentEditor.js.map +0 -1
- package/dist/src/hooks/useDriveActions.d.ts +0 -79
- package/dist/src/hooks/useDriveActions.d.ts.map +0 -1
- package/dist/src/hooks/useDriveActions.js +0 -108
- package/dist/src/hooks/useDriveActions.js.map +0 -1
- package/dist/src/hooks/useDriveContext.d.ts.map +0 -1
- package/dist/src/hooks/useDriveContext.js.map +0 -1
- package/dist/src/hooks/useUserPermissions.d.ts +0 -6
- package/dist/src/hooks/useUserPermissions.d.ts.map +0 -1
- package/dist/src/hooks/useUserPermissions.js +0 -7
- package/dist/src/hooks/useUserPermissions.js.map +0 -1
- package/dist/src/renown/types.d.ts +0 -76
- package/dist/src/renown/types.d.ts.map +0 -1
- package/dist/src/utils/export-document.d.ts +0 -3
- package/dist/src/utils/export-document.d.ts.map +0 -1
- package/dist/src/utils/export-document.js +0 -19
- package/dist/src/utils/export-document.js.map +0 -1
- package/dist/src/utils/signature.d.ts +0 -5
- package/dist/src/utils/signature.d.ts.map +0 -1
- package/dist/src/utils/signature.js +0 -40
- package/dist/src/utils/signature.js.map +0 -1
- /package/dist/src/{renown → events}/types.js +0 -0
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { atom, useAtom } from "jotai";
|
|
2
|
-
import { useCallback, useMemo } from "react";
|
|
3
|
-
import { documentToHash } from "../utils/index.js";
|
|
4
|
-
const documentDrivesAtom = atom(new Map());
|
|
5
|
-
documentDrivesAtom.debugLabel = "documentDrivesAtomInReactorBrowser";
|
|
6
|
-
export function drivesToHash(drives) {
|
|
7
|
-
return drives.map(documentToHash).join("&");
|
|
8
|
-
}
|
|
9
|
-
const readWriteDocumentDrivesAtom = (server) => () => atom((get) => (server ? (get(documentDrivesAtom).get(server) ?? []) : []), (_get, set, newDrives) => {
|
|
10
|
-
set(documentDrivesAtom, (map) => {
|
|
11
|
-
if (!server) {
|
|
12
|
-
return new Map();
|
|
13
|
-
}
|
|
14
|
-
const currentDrives = map.get(server) ?? [];
|
|
15
|
-
if (currentDrives.length !== newDrives.length ||
|
|
16
|
-
drivesToHash(currentDrives) !== drivesToHash(newDrives)) {
|
|
17
|
-
return new Map(map).set(server, newDrives);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
return map;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
export const documentDrivesInitialized = atom("INITIAL");
|
|
25
|
-
documentDrivesInitialized.debugLabel =
|
|
26
|
-
"documentDrivesInitializedInReactorBrowser";
|
|
27
|
-
const FETCH_TIMEOUT = 250;
|
|
28
|
-
let timeout;
|
|
29
|
-
const listeners = new Array();
|
|
30
|
-
function waitForResult(promise, callback, onError) {
|
|
31
|
-
if (timeout) {
|
|
32
|
-
clearTimeout(timeout);
|
|
33
|
-
}
|
|
34
|
-
listeners.push(callback);
|
|
35
|
-
const listenersCopy = [...listeners];
|
|
36
|
-
timeout = setTimeout(() => {
|
|
37
|
-
promise()
|
|
38
|
-
.then(() => {
|
|
39
|
-
while (listenersCopy.length) {
|
|
40
|
-
const listener = listenersCopy.shift();
|
|
41
|
-
if (listener) {
|
|
42
|
-
listener();
|
|
43
|
-
const index = listeners.indexOf(listener);
|
|
44
|
-
if (index > -1) {
|
|
45
|
-
listeners.splice(index, 1);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
})
|
|
50
|
-
.catch(onError);
|
|
51
|
-
}, FETCH_TIMEOUT);
|
|
52
|
-
}
|
|
53
|
-
async function fetchDocumentdrives(reactor) {
|
|
54
|
-
const documentDrives = [];
|
|
55
|
-
const driveIds = await reactor.getDrives();
|
|
56
|
-
for (const id of driveIds) {
|
|
57
|
-
try {
|
|
58
|
-
const drive = await reactor.getDrive(id);
|
|
59
|
-
documentDrives.push(drive);
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
console.error(error);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return documentDrives;
|
|
66
|
-
}
|
|
67
|
-
export function useDocumentDrives(reactor) {
|
|
68
|
-
const [documentDrives, setDocumentDrives] = useAtom(useMemo(readWriteDocumentDrivesAtom(reactor), [reactor]));
|
|
69
|
-
const refreshDocumentDrives = useCallback(async () => {
|
|
70
|
-
if (!reactor) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
return new Promise((resolve, reject) => {
|
|
74
|
-
waitForResult(() => fetchDocumentdrives(reactor)
|
|
75
|
-
.then((documentDrives) => {
|
|
76
|
-
setDocumentDrives(documentDrives);
|
|
77
|
-
})
|
|
78
|
-
.catch(reject), resolve, reject);
|
|
79
|
-
});
|
|
80
|
-
}, [reactor]);
|
|
81
|
-
const [status, setStatus] = useAtom(documentDrivesInitialized);
|
|
82
|
-
if (status === "INITIAL" && reactor) {
|
|
83
|
-
setStatus("LOADING");
|
|
84
|
-
refreshDocumentDrives()
|
|
85
|
-
.then(() => setStatus("LOADED"))
|
|
86
|
-
.catch(() => setStatus("ERROR"));
|
|
87
|
-
}
|
|
88
|
-
const serverSubscribeUpdates = useCallback((clientErrorhandler) => {
|
|
89
|
-
if (!reactor) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
const unsubStrandUpdate = reactor.on("strandUpdate", () => refreshDocumentDrives());
|
|
93
|
-
const unsubSyncStatus = reactor.on("syncStatus", async (_event, _status, error) => {
|
|
94
|
-
if (error) {
|
|
95
|
-
console.error(error);
|
|
96
|
-
}
|
|
97
|
-
if (error)
|
|
98
|
-
await refreshDocumentDrives();
|
|
99
|
-
});
|
|
100
|
-
const unsubDriveAdded = reactor.on("driveAdded", () => refreshDocumentDrives());
|
|
101
|
-
const unsubDriveDeleted = reactor.on("driveDeleted", () => refreshDocumentDrives());
|
|
102
|
-
const unsubDriveOperations = reactor.on("driveOperationsAdded", () => refreshDocumentDrives());
|
|
103
|
-
const unsubOnSyncError = reactor.on("clientStrandsError", clientErrorhandler.strandsErrorHandler);
|
|
104
|
-
const unsubDefaultRemoteDrive = reactor.on("defaultRemoteDrive", () => refreshDocumentDrives());
|
|
105
|
-
return () => {
|
|
106
|
-
unsubStrandUpdate();
|
|
107
|
-
unsubSyncStatus();
|
|
108
|
-
unsubDriveAdded();
|
|
109
|
-
unsubDriveDeleted();
|
|
110
|
-
unsubDriveOperations();
|
|
111
|
-
unsubOnSyncError();
|
|
112
|
-
unsubDefaultRemoteDrive();
|
|
113
|
-
};
|
|
114
|
-
}, [reactor, refreshDocumentDrives]);
|
|
115
|
-
return useMemo(() => [
|
|
116
|
-
documentDrives,
|
|
117
|
-
refreshDocumentDrives,
|
|
118
|
-
serverSubscribeUpdates,
|
|
119
|
-
status,
|
|
120
|
-
], [documentDrives, status]);
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=useDocumentDrives.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentDrives.js","sourceRoot":"","sources":["../../../src/hooks/useDocumentDrives.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type IDocumentDriveServer } from "document-drive";
|
|
2
|
-
import { type Action, type ActionErrorCallback, type DocumentModelModule, type Operation, type PHDocument } from "document-model";
|
|
3
|
-
import { type DID, type IConnectCrypto } from "../crypto/index.js";
|
|
4
|
-
import { type User } from "../renown/types.js";
|
|
5
|
-
export type DocumentDispatchCallback<TDocument extends PHDocument> = (operation: Operation, state: {
|
|
6
|
-
prevState: TDocument;
|
|
7
|
-
newState: TDocument;
|
|
8
|
-
}) => void;
|
|
9
|
-
export type UseDocumentEditorProps<TDocument extends PHDocument> = {
|
|
10
|
-
driveId: string | undefined;
|
|
11
|
-
nodeId: string | undefined;
|
|
12
|
-
document: TDocument | undefined;
|
|
13
|
-
documentModelModule: DocumentModelModule<TDocument> | undefined;
|
|
14
|
-
user?: User;
|
|
15
|
-
onExport?: () => void;
|
|
16
|
-
onOpenSwitchboardLink?: () => Promise<void>;
|
|
17
|
-
onChange?: (document: TDocument) => void;
|
|
18
|
-
};
|
|
19
|
-
export declare function useDocumentEditorProps<TDocument extends PHDocument>(reactor: IDocumentDriveServer | undefined, props: UseDocumentEditorProps<TDocument> & {
|
|
20
|
-
connectDid?: DID;
|
|
21
|
-
sign: IConnectCrypto["sign"];
|
|
22
|
-
}): {
|
|
23
|
-
dispatch: (action: Action, onErrorCallback?: ActionErrorCallback) => void;
|
|
24
|
-
document: TDocument | undefined;
|
|
25
|
-
error: unknown;
|
|
26
|
-
};
|
|
27
|
-
export declare function useDocumentEditor<TDocument extends PHDocument>(reactor: IDocumentDriveServer | undefined, props: UseDocumentEditorProps<TDocument>): {
|
|
28
|
-
dispatch: (action: Action, onErrorCallback?: ActionErrorCallback) => void;
|
|
29
|
-
document: TDocument | undefined;
|
|
30
|
-
error: unknown;
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=useDocumentEditor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentEditor.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,KAAK,MAAM,EACX,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAM/C,MAAM,MAAM,wBAAwB,CAAC,SAAS,SAAS,UAAU,IAAI,CACnE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;IACL,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAAC,SAAS,SAAS,UAAU,IAAI;IACjE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,mBAAmB,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAChE,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,SAAS,SAAS,UAAU,EACjE,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,KAAK,EAAE,sBAAsB,CAAC,SAAS,CAAC,GAAG;IACzC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC9B;uBAoByB,MAAM,oBAAoB,mBAAmB;;;EAqCxE;AAED,wBAAgB,iBAAiB,CAAC,SAAS,SAAS,UAAU,EAC5D,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,KAAK,EAAE,sBAAsB,CAAC,SAAS,CAAC;uBAzCd,MAAM,oBAAoB,mBAAmB;;;EAqDxE"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { addActionContext, signOperation } from "../utils/signature.js";
|
|
2
|
-
import { useAddDebouncedOperations } from "./useAddDebouncedOperations.js";
|
|
3
|
-
import { useConnectCrypto, useConnectDid } from "./useConnectCrypto.js";
|
|
4
|
-
import { useDocumentDispatch } from "./useDocumentDispatch.js";
|
|
5
|
-
export function useDocumentEditorProps(reactor, props) {
|
|
6
|
-
const { nodeId, documentModelModule, document: initialDocument, user, connectDid, sign, } = props;
|
|
7
|
-
const addDebouncedOperations = useAddDebouncedOperations(reactor, {
|
|
8
|
-
documentId: nodeId,
|
|
9
|
-
});
|
|
10
|
-
const [document, _dispatch, error] = useDocumentDispatch(documentModelModule?.reducer, initialDocument);
|
|
11
|
-
function dispatch(action, onErrorCallback) {
|
|
12
|
-
const callback = (operation, state) => {
|
|
13
|
-
const { prevState } = state;
|
|
14
|
-
if (!nodeId) {
|
|
15
|
-
throw new Error("Node id is not set");
|
|
16
|
-
}
|
|
17
|
-
signOperation(operation, sign, nodeId, prevState, documentModelModule?.reducer, user)
|
|
18
|
-
.then((op) => {
|
|
19
|
-
return addDebouncedOperations(op);
|
|
20
|
-
})
|
|
21
|
-
.catch(console.error);
|
|
22
|
-
};
|
|
23
|
-
_dispatch(addActionContext(action, connectDid, user), callback, onErrorCallback);
|
|
24
|
-
}
|
|
25
|
-
return {
|
|
26
|
-
dispatch,
|
|
27
|
-
document,
|
|
28
|
-
error,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
export function useDocumentEditor(reactor, props) {
|
|
32
|
-
const connectDid = useConnectDid();
|
|
33
|
-
const { sign } = useConnectCrypto();
|
|
34
|
-
const documentEditorDispatch = useDocumentEditorProps(reactor, {
|
|
35
|
-
...props,
|
|
36
|
-
connectDid,
|
|
37
|
-
sign,
|
|
38
|
-
});
|
|
39
|
-
return documentEditorDispatch;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=useDocumentEditor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentEditor.js","sourceRoot":"","sources":["../../../src/hooks/useDocumentEditor.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAqB/D,MAAM,UAAU,sBAAsB,CACpC,OAAyC,EACzC,KAGC;IAED,MAAM,EACJ,MAAM,EACN,mBAAmB,EACnB,QAAQ,EAAE,eAAe,EACzB,IAAI,EACJ,UAAU,EACV,IAAI,GACL,GAAG,KAAK,CAAC;IAEV,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,OAAO,EAAE;QAChE,UAAU,EAAE,MAAM;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,mBAAmB,CACtD,mBAAmB,EAAE,OAAO,EAC5B,eAAe,CAChB,CAAC;IAEF,SAAS,QAAQ,CAAC,MAAc,EAAE,eAAqC;QACrE,MAAM,QAAQ,GAAwC,CACpD,SAAS,EACT,KAAK,EACL,EAAE;YACF,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;YAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YAED,aAAa,CACX,SAAS,EACT,IAAI,EACJ,MAAM,EACN,SAAS,EACT,mBAAmB,EAAE,OAAO,EAC5B,IAAI,CACL;iBACE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;gBACX,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC;iBACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,SAAS,CACP,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAC1C,QAAQ,EACR,eAAe,CAChB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAyC,EACzC,KAAwC;IAExC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEpC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,EAAE;QAC7D,GAAG,KAAK;QACR,UAAU;QACV,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { type DocumentDriveDocument } from "document-drive";
|
|
2
|
-
import { type EditorDispatch, type PHDocument } from "document-model";
|
|
3
|
-
import { type IDriveContext } from "../types/drive-editor.js";
|
|
4
|
-
/**
|
|
5
|
-
* Actions for managing a document drive
|
|
6
|
-
*/
|
|
7
|
-
export interface IDriveActions {
|
|
8
|
-
/** The drive context provided by the host application */
|
|
9
|
-
context: IDriveContext;
|
|
10
|
-
/**
|
|
11
|
-
* Creates a new folder in the drive
|
|
12
|
-
* @param name - Name of the folder
|
|
13
|
-
* @param parentFolder - Optional ID of parent folder
|
|
14
|
-
* @param id - Optional custom ID for the folder
|
|
15
|
-
*/
|
|
16
|
-
addFolder: (name: string, parentFolder?: string | null, id?: string) => Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Adds a file to the drive
|
|
19
|
-
* @param file - File to be added
|
|
20
|
-
* @param parentFolder - Optional ID of parent folder (defaults to selected folder)
|
|
21
|
-
* @param name - Optional custom name for the file
|
|
22
|
-
*/
|
|
23
|
-
addFile: (file: File, parentFolder?: string, name?: string) => Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Creates a new document in the drive
|
|
26
|
-
* @param name - Name of the document
|
|
27
|
-
* @param documentType - Type of document to create
|
|
28
|
-
* @param document - Optional document content
|
|
29
|
-
* @param parentFolder - Optional ID of parent folder
|
|
30
|
-
* @param id - Optional custom ID for the document
|
|
31
|
-
*/
|
|
32
|
-
addDocument: (name: string, documentType: string, document?: PHDocument, parentFolder?: string, id?: string) => Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Deletes a node from the drive
|
|
35
|
-
* @param id - ID of the node to delete
|
|
36
|
-
*/
|
|
37
|
-
deleteNode: (id: string) => Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* Renames a node in the drive
|
|
40
|
-
* @param id - ID of the node to rename
|
|
41
|
-
* @param name - New name for the node
|
|
42
|
-
*/
|
|
43
|
-
renameNode: (id: string, name: string) => Promise<void>;
|
|
44
|
-
/**
|
|
45
|
-
* Moves a node to a new parent folder
|
|
46
|
-
* @param sourceId - ID of the node to move
|
|
47
|
-
* @param targetId - ID of the target parent folder
|
|
48
|
-
*/
|
|
49
|
-
moveNode: (sourceId: string, targetId: string) => Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Copies a node to a new location
|
|
52
|
-
* @param sourceId - ID of the node to copy
|
|
53
|
-
* @param targetFolderId - Optional ID of the target folder
|
|
54
|
-
*/
|
|
55
|
-
copyNode: (sourceId: string, targetFolderId: string | undefined) => Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* Creates a copy of a node in the same folder
|
|
58
|
-
* @param sourceId - ID of the node to duplicate
|
|
59
|
-
*/
|
|
60
|
-
duplicateNode: (sourceId: string) => Promise<void>;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Hook that provides actions for managing a document drive
|
|
64
|
-
*
|
|
65
|
-
* @param document - The document drive document
|
|
66
|
-
* @param dispatch - Function to dispatch drive actions
|
|
67
|
-
* @param context - The drive context containing UI-related functions
|
|
68
|
-
* @returns Object containing drive management actions
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* const {
|
|
72
|
-
* addFolder,
|
|
73
|
-
* addFile,
|
|
74
|
-
* deleteNode,
|
|
75
|
-
* moveNode
|
|
76
|
-
* } = useDriveActions(document, dispatch, driveContext);
|
|
77
|
-
*/
|
|
78
|
-
export declare function useDriveActions(document: DocumentDriveDocument, dispatch: EditorDispatch, context: IDriveContext): IDriveActions;
|
|
79
|
-
//# sourceMappingURL=useDriveActions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDriveActions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDriveActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAQ3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAc9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,OAAO,EAAE,aAAa,CAAC;IAEvB;;;;;OAKG;IACH,SAAS,EAAE,CACT,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,EAC5B,EAAE,CAAC,EAAE,MAAM,KACR,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;;;;;OAOG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,UAAU,EACrB,YAAY,CAAC,EAAE,MAAM,EACrB,EAAE,CAAC,EAAE,MAAM,KACR,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;OAGG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;OAIG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;OAIG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;OAIG;IACH,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GAAG,SAAS,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAoID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,qBAAqB,EAC/B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,GACrB,aAAa,CAKf"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { addFolder, copyNode, deleteNode, generateNodesCopy, isFolderNode, moveNode, updateNode, } from "document-drive";
|
|
2
|
-
import { generateId as _generateId, } from "document-model";
|
|
3
|
-
import { useMemo } from "react";
|
|
4
|
-
const generateId = () => _generateId().toString();
|
|
5
|
-
/**
|
|
6
|
-
* Retrieves a node from the drive by its ID
|
|
7
|
-
* @param id - The ID of the node to find
|
|
8
|
-
* @param drive - The document drive to search in
|
|
9
|
-
* @returns The found node or undefined
|
|
10
|
-
*/
|
|
11
|
-
function getNode(id, drive) {
|
|
12
|
-
return drive.state.global.nodes.find((node) => node.id === id);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Creates an object containing actions for managing a document drive
|
|
16
|
-
* @param document - The document drive document
|
|
17
|
-
* @param dispatch - Function to dispatch drive actions
|
|
18
|
-
* @param context - The drive context provided by the host application
|
|
19
|
-
*/
|
|
20
|
-
function createDriveActions(document, dispatch, context) {
|
|
21
|
-
const drive = document;
|
|
22
|
-
const driveId = drive.header.id;
|
|
23
|
-
const handleAddFolder = async (name, parentFolder, id = generateId()) => {
|
|
24
|
-
dispatch(addFolder({
|
|
25
|
-
id,
|
|
26
|
-
name,
|
|
27
|
-
parentFolder: parentFolder ?? null,
|
|
28
|
-
}));
|
|
29
|
-
};
|
|
30
|
-
const addDocument = async (name, documentType, document, parentFolder, id = generateId()) => {
|
|
31
|
-
await context.addDocument(driveId, name, documentType, parentFolder, document, id);
|
|
32
|
-
};
|
|
33
|
-
const addFile = async (file, parentFolderId, name = file.name.replace(/\.zip$/gim, "")) => {
|
|
34
|
-
await context.addFile(file, driveId, name, parentFolderId ?? undefined);
|
|
35
|
-
};
|
|
36
|
-
const handleDeleteNode = async (id) => {
|
|
37
|
-
dispatch(deleteNode({ id }));
|
|
38
|
-
};
|
|
39
|
-
const renameNode = async (id, name) => {
|
|
40
|
-
dispatch(updateNode({ id, name }));
|
|
41
|
-
};
|
|
42
|
-
const handleMoveNode = async (sourceId, targetId) => {
|
|
43
|
-
dispatch(moveNode({
|
|
44
|
-
srcFolder: sourceId,
|
|
45
|
-
targetParentFolder: targetId,
|
|
46
|
-
}));
|
|
47
|
-
};
|
|
48
|
-
const handleCopyNode = async (sourceId, targetFolderId) => {
|
|
49
|
-
const target = targetFolderId ? getNode(targetFolderId, drive) : undefined;
|
|
50
|
-
if (targetFolderId && !target && targetFolderId !== driveId) {
|
|
51
|
-
throw new Error(`Target node with id "${targetFolderId}" not found`);
|
|
52
|
-
}
|
|
53
|
-
if (target && !isFolderNode(target)) {
|
|
54
|
-
throw new Error(`Target node with id "${targetFolderId}" is not a folder`);
|
|
55
|
-
}
|
|
56
|
-
const source = getNode(sourceId, drive);
|
|
57
|
-
if (!source) {
|
|
58
|
-
throw new Error(`Source node with id "${sourceId}" not found`);
|
|
59
|
-
}
|
|
60
|
-
const copyNodesInput = generateNodesCopy({
|
|
61
|
-
srcId: sourceId,
|
|
62
|
-
targetParentFolder: target?.id,
|
|
63
|
-
targetName: source.name,
|
|
64
|
-
}, generateId, drive.state.global.nodes);
|
|
65
|
-
const copyActions = copyNodesInput.map((copyNodeInput) => copyNode(copyNodeInput));
|
|
66
|
-
for (const copyAction of copyActions) {
|
|
67
|
-
dispatch(copyAction); // TODO support batching dispatch
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
const duplicateNode = async (sourceId) => {
|
|
71
|
-
const node = getNode(sourceId, drive);
|
|
72
|
-
if (!node) {
|
|
73
|
-
throw new Error(`Node with id "${sourceId}" not found`);
|
|
74
|
-
}
|
|
75
|
-
await handleCopyNode(node.id, node.parentFolder || undefined);
|
|
76
|
-
};
|
|
77
|
-
return {
|
|
78
|
-
context,
|
|
79
|
-
addFolder: handleAddFolder,
|
|
80
|
-
addFile,
|
|
81
|
-
addDocument,
|
|
82
|
-
deleteNode: handleDeleteNode,
|
|
83
|
-
renameNode,
|
|
84
|
-
moveNode: handleMoveNode,
|
|
85
|
-
copyNode: handleCopyNode,
|
|
86
|
-
duplicateNode,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Hook that provides actions for managing a document drive
|
|
91
|
-
*
|
|
92
|
-
* @param document - The document drive document
|
|
93
|
-
* @param dispatch - Function to dispatch drive actions
|
|
94
|
-
* @param context - The drive context containing UI-related functions
|
|
95
|
-
* @returns Object containing drive management actions
|
|
96
|
-
*
|
|
97
|
-
* @example
|
|
98
|
-
* const {
|
|
99
|
-
* addFolder,
|
|
100
|
-
* addFile,
|
|
101
|
-
* deleteNode,
|
|
102
|
-
* moveNode
|
|
103
|
-
* } = useDriveActions(document, dispatch, driveContext);
|
|
104
|
-
*/
|
|
105
|
-
export function useDriveActions(document, dispatch, context) {
|
|
106
|
-
return useMemo(() => createDriveActions(document, dispatch, context), [document, dispatch, context]);
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=useDriveActions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDriveActions.js","sourceRoot":"","sources":["../../../src/hooks/useDriveActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDriveContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDriveContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC,iBAAiB,CAAC;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC,CAG5C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,kBAQ9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDriveContext.js","sourceRoot":"","sources":["../../../src/hooks/useDriveContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAA0B,MAAM,OAAO,CAAC;AAG1E,MAAM,YAAY,GAAG,aAAa,CAA4B,SAAS,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAE7B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC3B,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CACxE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useUserPermissions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUserPermissions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,SAAS,CAKhE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useUserPermissions.js","sourceRoot":"","sources":["../../../src/hooks/useUserPermissions.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,0BAA0B,EAAE,IAAI;QAChC,wBAAwB,EAAE,IAAI;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type { User as EditorUser } from "document-model";
|
|
2
|
-
import type { IStorage } from "../storage/index.js";
|
|
3
|
-
import { type CREDENTIAL_TYPES } from "./constants.js";
|
|
4
|
-
export type User = EditorUser & {
|
|
5
|
-
did: string;
|
|
6
|
-
credential: PowerhouseVerifiableCredential | undefined;
|
|
7
|
-
};
|
|
8
|
-
export type Unsubscribe = () => void;
|
|
9
|
-
export interface IRenown {
|
|
10
|
-
user: () => Promise<User | undefined>;
|
|
11
|
-
login: (did: string) => Promise<User | undefined>;
|
|
12
|
-
logout: () => Promise<void>;
|
|
13
|
-
on: {
|
|
14
|
-
user: (cb: (user: User) => void) => Unsubscribe;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export type RenownStorage = IStorage<{
|
|
18
|
-
user: User | undefined;
|
|
19
|
-
}>;
|
|
20
|
-
type IssuerType<T> = {
|
|
21
|
-
id: string;
|
|
22
|
-
} & T;
|
|
23
|
-
type CredentialSubjecType<T> = {
|
|
24
|
-
id?: string;
|
|
25
|
-
} & T;
|
|
26
|
-
interface CredentialStatus {
|
|
27
|
-
id: string;
|
|
28
|
-
type: string;
|
|
29
|
-
}
|
|
30
|
-
interface CredentialSchema {
|
|
31
|
-
id: string;
|
|
32
|
-
type: string;
|
|
33
|
-
}
|
|
34
|
-
interface IVerifiableCredentialPayload<Subject, Issuer> {
|
|
35
|
-
"@context": string[];
|
|
36
|
-
id: string;
|
|
37
|
-
type: string[];
|
|
38
|
-
issuer: IssuerType<Issuer>;
|
|
39
|
-
issuanceDate: string;
|
|
40
|
-
expirationDate?: string;
|
|
41
|
-
credentialSubject: CredentialSubjecType<Subject>;
|
|
42
|
-
credentialStatus?: CredentialStatus;
|
|
43
|
-
credentialSchema: CredentialSchema;
|
|
44
|
-
}
|
|
45
|
-
interface IProof {
|
|
46
|
-
verificationMethod: string;
|
|
47
|
-
ethereumAddress: `0x${string}`;
|
|
48
|
-
created: string;
|
|
49
|
-
proofPurpose: string;
|
|
50
|
-
type: string;
|
|
51
|
-
proofValue: string;
|
|
52
|
-
eip712: {
|
|
53
|
-
domain: {
|
|
54
|
-
name: string;
|
|
55
|
-
version: string;
|
|
56
|
-
chainId: number;
|
|
57
|
-
verifyingContract: string;
|
|
58
|
-
};
|
|
59
|
-
types: typeof CREDENTIAL_TYPES;
|
|
60
|
-
primaryType: "VerifiableCredential";
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
export interface IVerifiableCredential<Subject, Issuer> extends IVerifiableCredentialPayload<Subject, Issuer> {
|
|
64
|
-
proof: IProof;
|
|
65
|
-
}
|
|
66
|
-
export interface IPowerhouseCredentialSubject {
|
|
67
|
-
id: string;
|
|
68
|
-
app: string;
|
|
69
|
-
name?: string;
|
|
70
|
-
}
|
|
71
|
-
export interface IPowerhouseIssuerType {
|
|
72
|
-
ethereumAddress: `0x${string}`;
|
|
73
|
-
}
|
|
74
|
-
export type PowerhouseVerifiableCredential = IVerifiableCredential<IPowerhouseCredentialSubject, IPowerhouseIssuerType>;
|
|
75
|
-
export {};
|
|
76
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/renown/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"export-document.d.ts","sourceRoot":"","sources":["../../../src/utils/export-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,gBAAgB,CAAC;AAE5D,eAAO,MAAM,cAAc,GACzB,UAAU,UAAU,EACpB,OAAO,MAAM,EACb,YAAY,MAAM,kBAoBnB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createZip } from "document-model";
|
|
2
|
-
export const exportDocument = async (document, name, extension) => {
|
|
3
|
-
const zip = createZip(document);
|
|
4
|
-
const ext = extension ? `.${extension.replace(/^\./, "")}` : "";
|
|
5
|
-
try {
|
|
6
|
-
const blob = await zip.generateAsync({ type: "blob" });
|
|
7
|
-
const link = window.document.createElement("a");
|
|
8
|
-
link.style.display = "none";
|
|
9
|
-
link.href = URL.createObjectURL(blob);
|
|
10
|
-
link.download = `${name || document.header.name || "Untitled"}${ext}.zip`;
|
|
11
|
-
window.document.body.appendChild(link);
|
|
12
|
-
link.click();
|
|
13
|
-
window.document.body.removeChild(link);
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
console.error(error);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=export-document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"export-document.js","sourceRoot":"","sources":["../../../src/utils/export-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,QAAoB,EACpB,IAAa,EACb,SAAkB,EAClB,EAAE;IACF,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,GAAG,GAAG,MAAM,CAAC;QAE1E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type Action, type Operation, type PHDocument, type Reducer, type User } from "document-model";
|
|
2
|
-
import type { User as RenownUser } from "../renown/types.js";
|
|
3
|
-
export declare function signOperation<TDocument extends PHDocument>(operation: Operation, sign: (data: Uint8Array) => Promise<Uint8Array>, documentId: string, document: TDocument, reducer?: Reducer<TDocument>, user?: User): Promise<Operation>;
|
|
4
|
-
export declare function addActionContext<A extends Action = Action>(action: A, connectDid?: string, user?: RenownUser): A;
|
|
5
|
-
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE7D,wBAAsB,aAAa,CAAC,SAAS,SAAS,UAAU,EAC9D,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAC/C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC5B,IAAI,CAAC,EAAE,IAAI,GACV,OAAO,CAAC,SAAS,CAAC,CA4BpB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACxD,MAAM,EAAE,CAAC,EACT,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,UAAU,KAqBlB"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { buildSignedOperation, } from "document-model";
|
|
2
|
-
export async function signOperation(operation, sign, documentId, document, reducer, user) {
|
|
3
|
-
if (!user)
|
|
4
|
-
return operation;
|
|
5
|
-
if (!operation.context)
|
|
6
|
-
return operation;
|
|
7
|
-
if (!operation.context.signer)
|
|
8
|
-
return operation;
|
|
9
|
-
if (!reducer) {
|
|
10
|
-
console.error(`Document model '${document.header.documentType}' does not have a reducer`);
|
|
11
|
-
return operation;
|
|
12
|
-
}
|
|
13
|
-
const context = {
|
|
14
|
-
documentId,
|
|
15
|
-
signer: operation.context.signer,
|
|
16
|
-
};
|
|
17
|
-
const signedOperation = await buildSignedOperation(operation, reducer, document, context, sign);
|
|
18
|
-
return signedOperation;
|
|
19
|
-
}
|
|
20
|
-
export function addActionContext(action, connectDid, user) {
|
|
21
|
-
if (!user)
|
|
22
|
-
return action;
|
|
23
|
-
const signer = {
|
|
24
|
-
app: {
|
|
25
|
-
name: "Connect",
|
|
26
|
-
key: connectDid || "",
|
|
27
|
-
},
|
|
28
|
-
user: {
|
|
29
|
-
address: user.address,
|
|
30
|
-
networkId: user.networkId,
|
|
31
|
-
chainId: user.chainId,
|
|
32
|
-
},
|
|
33
|
-
signatures: [],
|
|
34
|
-
};
|
|
35
|
-
return {
|
|
36
|
-
context: { signer },
|
|
37
|
-
...action,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=signature.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,oBAAoB,GAMrB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAoB,EACpB,IAA+C,EAC/C,UAAkB,EAClB,QAAmB,EACnB,OAA4B,EAC5B,IAAW;IAEX,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,mBAAmB,QAAQ,CAAC,MAAM,CAAC,YAAY,2BAA2B,CAC3E,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAGT;QACF,UAAU;QACV,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM;KACjC,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,SAAS,EACT,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,CACL,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAS,EACT,UAAmB,EACnB,IAAiB;IAEjB,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAEzB,MAAM,MAAM,GAAiB;QAC3B,GAAG,EAAE;YACH,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,UAAU,IAAI,EAAE;SACtB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;QACD,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,EAAE,MAAM,EAAE;QACnB,GAAG,MAAM;KACV,CAAC;AACJ,CAAC"}
|
|
File without changes
|