@powerhousedao/common 3.2.0-dev.3 → 3.2.0-dev.5

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.
Files changed (123) hide show
  1. package/dist/drive-analytics/index.d.ts +3 -0
  2. package/dist/drive-analytics/index.d.ts.map +1 -0
  3. package/dist/drive-analytics/index.js +3 -0
  4. package/dist/drive-analytics/index.js.map +1 -0
  5. package/dist/drive-analytics/processor/document-processor.d.ts +14 -0
  6. package/dist/drive-analytics/processor/document-processor.d.ts.map +1 -0
  7. package/dist/drive-analytics/processor/document-processor.js +66 -0
  8. package/dist/drive-analytics/processor/document-processor.js.map +1 -0
  9. package/dist/drive-analytics/processor/drive-processor.d.ts +16 -0
  10. package/dist/drive-analytics/processor/drive-processor.d.ts.map +1 -0
  11. package/dist/drive-analytics/processor/drive-processor.js +106 -0
  12. package/dist/drive-analytics/processor/drive-processor.js.map +1 -0
  13. package/dist/drive-analytics/processor/index.d.ts +8 -0
  14. package/dist/drive-analytics/processor/index.d.ts.map +1 -0
  15. package/dist/drive-analytics/processor/index.js +27 -0
  16. package/dist/drive-analytics/processor/index.js.map +1 -0
  17. package/dist/drive-analytics/useDriveAnalytics.d.ts +21 -0
  18. package/dist/drive-analytics/useDriveAnalytics.d.ts.map +1 -0
  19. package/dist/drive-analytics/useDriveAnalytics.js +34 -0
  20. package/dist/drive-analytics/useDriveAnalytics.js.map +1 -0
  21. package/dist/editors/generic-drive-explorer/editor.d.ts.map +1 -1
  22. package/dist/editors/generic-drive-explorer/editor.js +8 -2
  23. package/dist/editors/generic-drive-explorer/editor.js.map +1 -1
  24. package/dist/editors/styles.css +77 -68
  25. package/dist/hooks/useTimelineItems.d.ts +1 -1
  26. package/dist/hooks/useTimelineItems.d.ts.map +1 -1
  27. package/dist/hooks/useTimelineItems.js +8 -6
  28. package/dist/hooks/useTimelineItems.js.map +1 -1
  29. package/dist/package.json +12 -2
  30. package/dist/state/apps.d.ts +5 -0
  31. package/dist/state/apps.d.ts.map +1 -0
  32. package/dist/state/apps.js +56 -0
  33. package/dist/state/apps.js.map +1 -0
  34. package/dist/state/atoms.d.ts +130 -0
  35. package/dist/state/atoms.d.ts.map +1 -0
  36. package/dist/state/atoms.js +240 -0
  37. package/dist/state/atoms.js.map +1 -0
  38. package/dist/state/config.d.ts +5 -0
  39. package/dist/state/config.d.ts.map +1 -0
  40. package/dist/state/config.js +20 -0
  41. package/dist/state/config.js.map +1 -0
  42. package/dist/state/cookies.d.ts +21 -0
  43. package/dist/state/cookies.d.ts.map +1 -0
  44. package/dist/state/cookies.js +7 -0
  45. package/dist/state/cookies.js.map +1 -0
  46. package/dist/state/document-model-modules.d.ts +10 -0
  47. package/dist/state/document-model-modules.d.ts.map +1 -0
  48. package/dist/state/document-model-modules.js +82 -0
  49. package/dist/state/document-model-modules.js.map +1 -0
  50. package/dist/state/documents.d.ts +38 -0
  51. package/dist/state/documents.d.ts.map +1 -0
  52. package/dist/state/documents.js +33 -0
  53. package/dist/state/documents.js.map +1 -0
  54. package/dist/state/drives.d.ts +38 -0
  55. package/dist/state/drives.d.ts.map +1 -0
  56. package/dist/state/drives.js +174 -0
  57. package/dist/state/drives.js.map +1 -0
  58. package/dist/state/editor-modules.d.ts +10 -0
  59. package/dist/state/editor-modules.d.ts.map +1 -0
  60. package/dist/state/editor-modules.js +48 -0
  61. package/dist/state/editor-modules.js.map +1 -0
  62. package/dist/state/folders.d.ts +4 -0
  63. package/dist/state/folders.d.ts.map +1 -0
  64. package/dist/state/folders.js +9 -0
  65. package/dist/state/folders.js.map +1 -0
  66. package/dist/state/index.d.ts +22 -0
  67. package/dist/state/index.d.ts.map +1 -0
  68. package/dist/state/index.js +22 -0
  69. package/dist/state/index.js.map +1 -0
  70. package/dist/state/modals.d.ts +38 -0
  71. package/dist/state/modals.d.ts.map +1 -0
  72. package/dist/state/modals.js +32 -0
  73. package/dist/state/modals.js.map +1 -0
  74. package/dist/state/nodes.d.ts +15 -0
  75. package/dist/state/nodes.d.ts.map +1 -0
  76. package/dist/state/nodes.js +107 -0
  77. package/dist/state/nodes.js.map +1 -0
  78. package/dist/state/permissions.d.ts +17 -0
  79. package/dist/state/permissions.d.ts.map +1 -0
  80. package/dist/state/permissions.js +18 -0
  81. package/dist/state/permissions.js.map +1 -0
  82. package/dist/state/ph-packages.d.ts +11 -0
  83. package/dist/state/ph-packages.d.ts.map +1 -0
  84. package/dist/state/ph-packages.js +26 -0
  85. package/dist/state/ph-packages.js.map +1 -0
  86. package/dist/state/processors.d.ts +4 -0
  87. package/dist/state/processors.d.ts.map +1 -0
  88. package/dist/state/processors.js +26 -0
  89. package/dist/state/processors.js.map +1 -0
  90. package/dist/state/reactor.d.ts +7 -0
  91. package/dist/state/reactor.d.ts.map +1 -0
  92. package/dist/state/reactor.js +70 -0
  93. package/dist/state/reactor.js.map +1 -0
  94. package/dist/state/storage.d.ts +2 -0
  95. package/dist/state/storage.d.ts.map +1 -0
  96. package/dist/state/storage.js +37 -0
  97. package/dist/state/storage.js.map +1 -0
  98. package/dist/state/store-provider.d.ts +5 -0
  99. package/dist/state/store-provider.d.ts.map +1 -0
  100. package/dist/state/store-provider.js +8 -0
  101. package/dist/state/store-provider.js.map +1 -0
  102. package/dist/state/store.d.ts +10 -0
  103. package/dist/state/store.d.ts.map +1 -0
  104. package/dist/state/store.js +3 -0
  105. package/dist/state/store.js.map +1 -0
  106. package/dist/state/syncing.d.ts +2 -0
  107. package/dist/state/syncing.d.ts.map +1 -0
  108. package/dist/state/syncing.js +12 -0
  109. package/dist/state/syncing.js.map +1 -0
  110. package/dist/state/theme.d.ts +3 -0
  111. package/dist/state/theme.d.ts.map +1 -0
  112. package/dist/state/theme.js +5 -0
  113. package/dist/state/theme.js.map +1 -0
  114. package/dist/state/types.d.ts +61 -0
  115. package/dist/state/types.d.ts.map +1 -0
  116. package/dist/state/types.js +2 -0
  117. package/dist/state/types.js.map +1 -0
  118. package/dist/state/utils.d.ts +27 -0
  119. package/dist/state/utils.d.ts.map +1 -0
  120. package/dist/state/utils.js +97 -0
  121. package/dist/state/utils.js.map +1 -0
  122. package/dist/tsconfig.tsbuildinfo +1 -1
  123. package/package.json +20 -10
@@ -0,0 +1,32 @@
1
+ import { atom, useAtomValue, useSetAtom } from "jotai";
2
+ import { useCallback, useMemo } from "react";
3
+ const modalAtom = atom({ id: null, props: null });
4
+ modalAtom.debugLabel = "modalAtom";
5
+ const showModalAtom = atom(null, (_get, set, payload) => {
6
+ set(modalAtom, payload);
7
+ });
8
+ showModalAtom.debugLabel = "showModalAtom";
9
+ const hideModalAtom = atom(null, (_get, set) => {
10
+ set(modalAtom, { id: null, props: null });
11
+ });
12
+ hideModalAtom.debugLabel = "hideModalAtom";
13
+ export function useModal(modalId) {
14
+ const modal = useAtomValue(modalAtom);
15
+ const showModal = useSetAtom(showModalAtom);
16
+ const hide = useSetAtom(hideModalAtom);
17
+ const isOpen = modal.id === modalId;
18
+ const show = useCallback((...args // one arg otherwise
19
+ ) => {
20
+ // pull props out (if any), cast for the atom
21
+ const props = args[0];
22
+ showModal({ id: modalId, props });
23
+ }, [modalId, showModal]);
24
+ const props = useMemo(() => (modal.props ?? {}), [modal.props]);
25
+ return useMemo(() => ({
26
+ isOpen,
27
+ props,
28
+ show,
29
+ hide,
30
+ }), [isOpen, props, show, hide]);
31
+ }
32
+ //# sourceMappingURL=modals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modals.js","sourceRoot":"","sources":["../../state/modals.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAqB,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAuC7C,MAAM,SAAS,GAAG,IAAI,CAAa,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC;AAEnC,MAAM,aAAa,GAA4C,IAAI,CACjE,IAAI,EACJ,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IACrB,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1B,CAAC,CACF,CAAC;AACF,aAAa,CAAC,UAAU,GAAG,eAAe,CAAC;AAE3C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC7C,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AACH,aAAa,CAAC,UAAU,GAAG,eAAe,CAAC;AAE3C,MAAM,UAAU,QAAQ,CAAoB,OAAU;IACpD,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC;IAEpC,MAAM,IAAI,GAAG,WAAW,CACtB,CACE,GAAG,IAE0B,CAAC,oBAAoB;MAClD,EAAE;QACF,6CAA6C;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACvB,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAuB,CAAC,CAAC;IACzD,CAAC,EACD,CAAC,OAAO,EAAE,SAAS,CAAC,CACR,CAAC;IAEf,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAqB,EAC7C,CAAC,KAAK,CAAC,KAAK,CAAC,CACd,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;QACN,KAAK;QACL,IAAI;QACJ,IAAI;KACL,CAAC,EACF,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type FileNode, type FolderNode, type Node } from "document-drive";
2
+ import { type Loadable } from "jotai/vanilla/utils/loadable";
3
+ import { type NodeKind } from "./types.js";
4
+ export declare function useNodes(): Loadable<Node[] | undefined>;
5
+ export declare function useSetSelectedNode(): (nodeId: string | undefined, shouldNavigate?: boolean) => void;
6
+ export declare function useUnwrappedNodes(): Node[] | undefined;
7
+ export declare function useNodeById(id: string | null | undefined): FolderNode | undefined;
8
+ export declare function useParentFolder(id: string | null | undefined): string | undefined;
9
+ export declare function useNodePath(id: string | null | undefined): Loadable<Node[] | undefined>;
10
+ export declare function useChildNodes(): Loadable<Node[] | undefined>;
11
+ export declare function useNodeKind(id: string | null | undefined): NodeKind | undefined;
12
+ export declare function sortNodesByName<TNode extends Node>(nodes: TNode[]): TNode[];
13
+ export declare function isFileNodeKind(node: Node | null | undefined): node is FileNode;
14
+ export declare function isFolderNodeKind(node: Node | null | undefined): node is FolderNode;
15
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../state/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAS7D,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wBAAgB,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAEvD;AAED,wBAAgB,kBAAkB,aAKrB,MAAM,GAAG,SAAS,oCAsB9B;AAED,wBAAgB,iBAAiB,uBAEhC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,0BAIxD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAI5D;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC5B,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAwB9B;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAiB5D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,wBAMxD;AACD,wBAAgB,eAAe,CAAC,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAE3E;AACD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAC5B,IAAI,IAAI,QAAQ,CAGlB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAC5B,IAAI,IAAI,UAAU,CAGpB"}
@@ -0,0 +1,107 @@
1
+ import { useAtomValue, useSetAtom } from "jotai";
2
+ import { useCallback } from "react";
3
+ import { loadableNodesAtom, setSelectedNodeAtom, unwrappedNodesAtom, } from "./atoms.js";
4
+ import { useUnwrappedSelectedDrive } from "./drives.js";
5
+ import { useSelectedFolder } from "./folders.js";
6
+ import { extractDriveFromPath, makeNodeUrlComponent } from "./utils.js";
7
+ export function useNodes() {
8
+ return useAtomValue(loadableNodesAtom);
9
+ }
10
+ export function useSetSelectedNode() {
11
+ const nodes = useUnwrappedNodes();
12
+ const setSelectedNode = useSetAtom(setSelectedNodeAtom);
13
+ return useCallback((nodeId, shouldNavigate = true) => {
14
+ setSelectedNode(nodeId);
15
+ if (typeof window !== "undefined" && shouldNavigate) {
16
+ const driveSlugFromPath = extractDriveFromPath(window.location.pathname);
17
+ const node = nodes?.find((n) => n.id === nodeId);
18
+ if (!node) {
19
+ window.history.pushState(null, "", `/d/${driveSlugFromPath}`);
20
+ }
21
+ else {
22
+ const nodeSlug = makeNodeUrlComponent(node);
23
+ window.history.pushState(null, "", `/d/${driveSlugFromPath}/${nodeSlug}`);
24
+ }
25
+ }
26
+ }, [setSelectedNode, nodes]);
27
+ }
28
+ export function useUnwrappedNodes() {
29
+ return useAtomValue(unwrappedNodesAtom);
30
+ }
31
+ export function useNodeById(id) {
32
+ const unwrappedNodes = useUnwrappedNodes();
33
+ if (!unwrappedNodes)
34
+ return undefined;
35
+ return unwrappedNodes.find((n) => n.id === id);
36
+ }
37
+ export function useParentFolder(id) {
38
+ const node = useNodeById(id);
39
+ if (!node)
40
+ return undefined;
41
+ return node.parentFolder ?? undefined;
42
+ }
43
+ export function useNodePath(id) {
44
+ const nodes = useUnwrappedNodes();
45
+ const selectedDrive = useUnwrappedSelectedDrive();
46
+ if (!nodes || !selectedDrive)
47
+ return { state: "hasData", data: undefined };
48
+ const driveFolderNode = {
49
+ id: selectedDrive.id,
50
+ name: selectedDrive.state.global.name,
51
+ kind: "FOLDER",
52
+ parentFolder: null,
53
+ };
54
+ const path = [];
55
+ if (driveFolderNode) {
56
+ path.push(driveFolderNode);
57
+ }
58
+ let current = nodes.find((n) => n.id === id);
59
+ while (current) {
60
+ path.unshift(current);
61
+ if (!current.parentFolder)
62
+ break;
63
+ current = nodes.find((n) => n.id === current?.parentFolder);
64
+ }
65
+ return { state: "hasData", data: path.reverse() };
66
+ }
67
+ export function useChildNodes() {
68
+ const nodes = useNodes();
69
+ const selectedFolder = useSelectedFolder();
70
+ if (nodes.state !== "hasData")
71
+ return nodes;
72
+ if (selectedFolder.state !== "hasData")
73
+ return selectedFolder;
74
+ const selectedFolderId = selectedFolder.data?.id;
75
+ if (!selectedFolderId)
76
+ return {
77
+ state: "hasData",
78
+ data: sortNodesByName(nodes.data ?? []),
79
+ };
80
+ return {
81
+ state: "hasData",
82
+ data: sortNodesByName(nodes.data?.filter((n) => n.parentFolder === selectedFolderId) ?? []),
83
+ };
84
+ }
85
+ export function useNodeKind(id) {
86
+ const unwrappedNodes = useUnwrappedNodes();
87
+ if (!unwrappedNodes)
88
+ return undefined;
89
+ const node = unwrappedNodes.find((n) => n.id === id);
90
+ if (!node)
91
+ return undefined;
92
+ return node.kind.toUpperCase();
93
+ }
94
+ export function sortNodesByName(nodes) {
95
+ return nodes.toSorted((a, b) => a.name.localeCompare(b.name));
96
+ }
97
+ export function isFileNodeKind(node) {
98
+ if (!node)
99
+ return false;
100
+ return node.kind.toUpperCase() === "FILE";
101
+ }
102
+ export function isFolderNodeKind(node) {
103
+ if (!node)
104
+ return false;
105
+ return node.kind.toUpperCase() === "FOLDER";
106
+ }
107
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../state/nodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export declare function usePermissions(): {
2
+ isAllowedToCreateDocuments: boolean;
3
+ isAllowedToEditDocuments: boolean;
4
+ };
5
+ export declare function useIsAllowedToCreateDocuments(): boolean;
6
+ export declare function useIsAllowedToEditDocuments(): boolean;
7
+ export declare function useSetPermissions(): (args_0: {
8
+ isAllowedToCreateDocuments: boolean;
9
+ isAllowedToEditDocuments: boolean;
10
+ } | ((prev: {
11
+ isAllowedToCreateDocuments: boolean;
12
+ isAllowedToEditDocuments: boolean;
13
+ }) => {
14
+ isAllowedToCreateDocuments: boolean;
15
+ isAllowedToEditDocuments: boolean;
16
+ })) => void;
17
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../state/permissions.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc;;;EAE7B;AAED,wBAAgB,6BAA6B,YAG5C;AAED,wBAAgB,2BAA2B,YAG1C;AAED,wBAAgB,iBAAiB;;;;;;;;;YAGhC"}
@@ -0,0 +1,18 @@
1
+ import { useAtomValue, useSetAtom } from "jotai";
2
+ import { permissionsAtom } from "./atoms.js";
3
+ export function usePermissions() {
4
+ return useAtomValue(permissionsAtom);
5
+ }
6
+ export function useIsAllowedToCreateDocuments() {
7
+ const permissions = usePermissions();
8
+ return permissions.isAllowedToCreateDocuments;
9
+ }
10
+ export function useIsAllowedToEditDocuments() {
11
+ const permissions = usePermissions();
12
+ return permissions.isAllowedToEditDocuments;
13
+ }
14
+ export function useSetPermissions() {
15
+ const setPermissions = useSetAtom(permissionsAtom);
16
+ return setPermissions;
17
+ }
18
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../state/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC,0BAA0B,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC,wBAAwB,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type DocumentModelLib } from "document-model";
2
+ import { type Loadable } from "jotai/vanilla/utils/loadable";
3
+ import { type DriveEditorModule } from "./types.js";
4
+ export type PHPackage = DocumentModelLib & {
5
+ id: string;
6
+ };
7
+ export declare function useInitializePHPackages(loadExternalPackages: () => Promise<PHPackage[]>): void;
8
+ export declare function usePhPackages(): Loadable<Promise<PHPackage[] | undefined>>;
9
+ export declare function useUnwrappedPhPackages(): PHPackage[] | undefined;
10
+ export declare function useDriveEditor(editorId?: string): Loadable<DriveEditorModule | undefined>;
11
+ //# sourceMappingURL=ph-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ph-packages.d.ts","sourceRoot":"","sources":["../../state/ph-packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAO7D,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,wBAAgB,uBAAuB,CACrC,oBAAoB,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,QAMjD;AAED,wBAAgB,aAAa,+CAE5B;AAED,wBAAgB,sBAAsB,4BAErC;AAED,wBAAgB,cAAc,CAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAWzC"}
@@ -0,0 +1,26 @@
1
+ import { useAtomValue, useSetAtom } from "jotai";
2
+ import { useEffect } from "react";
3
+ import { loadablePhPackagesAtom, phPackagesAtom, unwrappedPhPackagesAtom, } from "./atoms.js";
4
+ export function useInitializePHPackages(loadExternalPackages) {
5
+ const setPhPackages = useSetAtom(phPackagesAtom);
6
+ useEffect(() => {
7
+ setPhPackages(loadExternalPackages);
8
+ }, []);
9
+ }
10
+ export function usePhPackages() {
11
+ return useAtomValue(loadablePhPackagesAtom);
12
+ }
13
+ export function useUnwrappedPhPackages() {
14
+ return useAtomValue(unwrappedPhPackagesAtom);
15
+ }
16
+ export function useDriveEditor(editorId) {
17
+ const phPackages = useUnwrappedPhPackages();
18
+ if (!editorId)
19
+ return { state: "hasData", data: undefined };
20
+ const pkg = phPackages?.find((pkg) => pkg.manifest.apps?.find((app) => app.driveEditor === editorId));
21
+ const driveEditorModule = pkg?.editors.find((editor) => editor.config.id === editorId);
22
+ if (!driveEditorModule)
23
+ return { state: "hasData", data: undefined };
24
+ return { state: "hasData", data: driveEditorModule };
25
+ }
26
+ //# sourceMappingURL=ph-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ph-packages.js","sourceRoot":"","sources":["../../state/ph-packages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAKpB,MAAM,UAAU,uBAAuB,CACrC,oBAAgD;IAEhD,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAiB;IAEjB,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC5D,MAAM,GAAG,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAC/D,CAAC;IACF,MAAM,iBAAiB,GAAG,GAAG,EAAE,OAAO,CAAC,IAAI,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAC1C,CAAC;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACrE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAsC,EAAE,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ProcessorManager } from "document-drive/processors/processor-manager";
2
+ export declare function useProcessorManager(): ProcessorManager | undefined;
3
+ export declare function useInitializeProcessorManager(): void;
4
+ //# sourceMappingURL=processors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processors.d.ts","sourceRoot":"","sources":["../../state/processors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAM/E,wBAAgB,mBAAmB,iCAElC;AAED,wBAAgB,6BAA6B,SAmB5C"}
@@ -0,0 +1,26 @@
1
+ import { ProcessorManager } from "document-drive/processors/processor-manager";
2
+ import { useAtom, useAtomValue } from "jotai";
3
+ import { useEffect } from "react";
4
+ import { processorManagerAtom } from "./atoms.js";
5
+ import { useUnwrappedReactor } from "./reactor.js";
6
+ export function useProcessorManager() {
7
+ return useAtomValue(processorManagerAtom);
8
+ }
9
+ export function useInitializeProcessorManager() {
10
+ const reactor = useUnwrappedReactor();
11
+ const [processorManager, setProcessorManager] = useAtom(processorManagerAtom);
12
+ useEffect(() => {
13
+ // wait for reactor to be initialized
14
+ if (!reactor)
15
+ return;
16
+ // return if already initialized
17
+ if (processorManager)
18
+ return;
19
+ const initializedProcessManager = new ProcessorManager(reactor.listeners, reactor);
20
+ reactor.on("driveAdded", async (drive) => {
21
+ await initializedProcessManager.registerDrive(drive.id);
22
+ });
23
+ setProcessorManager(initializedProcessManager);
24
+ }, [processorManager, reactor, setProcessorManager]);
25
+ }
26
+ //# sourceMappingURL=processors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processors.js","sourceRoot":"","sources":["../../state/processors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,UAAU,mBAAmB;IACjC,OAAO,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE9E,SAAS,CAAC,GAAG,EAAE;QACb,qCAAqC;QACrC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,gCAAgC;QAChC,IAAI,gBAAgB;YAAE,OAAO;QAE7B,MAAM,yBAAyB,GAAG,IAAI,gBAAgB,CACpD,OAAO,CAAC,SAAS,EACjB,OAAO,CACR,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;YAC9D,MAAM,yBAAyB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type SyncStatus } from "document-drive";
2
+ import { type Reactor, type SharingType } from "./types.js";
3
+ export declare function useReactor(): import("jotai/vanilla/utils/loadable").Loadable<Promise<import("document-drive").IDocumentDriveServer | undefined>>;
4
+ export declare function useUnwrappedReactor(): import("document-drive").IDocumentDriveServer | undefined;
5
+ export declare function useInitializeReactor(createReactor: () => Promise<Reactor>): void;
6
+ export declare function useGetSyncStatusSync(): (syncId: string, sharingType: SharingType) => SyncStatus | undefined;
7
+ //# sourceMappingURL=reactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../state/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5D,wBAAgB,UAAU,wHAEzB;AAED,wBAAgB,mBAAmB,8DAElC;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,QAyCzE;AAED,wBAAgB,oBAAoB,aAIvB,MAAM,eAAe,WAAW,KAAG,UAAU,GAAG,SAAS,CAmBrE"}
@@ -0,0 +1,70 @@
1
+ import { SynchronizationUnitNotFoundError, } from "document-drive";
2
+ import { useAtomValue, useSetAtom } from "jotai";
3
+ import { useCallback, useEffect } from "react";
4
+ import { loadableReactorAtom, selectedDriveAtom, setReactorAtom, unwrappedReactorAtom, } from "./atoms.js";
5
+ import { useSyncDrivesAndDocumentsWithReactor } from "./syncing.js";
6
+ import { extractDriveFromPath } from "./utils.js";
7
+ export function useReactor() {
8
+ return useAtomValue(loadableReactorAtom);
9
+ }
10
+ export function useUnwrappedReactor() {
11
+ return useAtomValue(unwrappedReactorAtom);
12
+ }
13
+ export function useInitializeReactor(createReactor) {
14
+ const setSelectedDrive = useSetAtom(selectedDriveAtom);
15
+ const setReactor = useSetAtom(setReactorAtom);
16
+ const refresh = useSyncDrivesAndDocumentsWithReactor();
17
+ useEffect(() => {
18
+ async function initializeReactor() {
19
+ const reactor = await createReactor();
20
+ if (typeof window !== "undefined") {
21
+ const path = window.location.pathname;
22
+ const driveSlug = extractDriveFromPath(path);
23
+ if (driveSlug) {
24
+ const driveIds = await reactor.getDrives();
25
+ const drives = await Promise.all(driveIds.map((id) => reactor.getDrive(id)));
26
+ const drive = drives.find((d) => d.slug === driveSlug);
27
+ if (drive) {
28
+ setSelectedDrive(drive.id);
29
+ }
30
+ }
31
+ }
32
+ reactor.on("syncStatus", (event, status, error) => {
33
+ console.log("syncStatus", event, status, error);
34
+ refresh();
35
+ });
36
+ reactor.on("strandUpdate", () => {
37
+ console.log("strandUpdate");
38
+ refresh();
39
+ });
40
+ reactor.on("defaultRemoteDrive", () => {
41
+ console.log("defaultRemoteDrive");
42
+ refresh();
43
+ });
44
+ setReactor(reactor);
45
+ }
46
+ initializeReactor().catch(console.error);
47
+ }, [setReactor, createReactor, refresh]);
48
+ }
49
+ export function useGetSyncStatusSync() {
50
+ const reactor = useUnwrappedReactor();
51
+ const getSyncStatusSync = useCallback((syncId, sharingType) => {
52
+ if (sharingType === "LOCAL")
53
+ return;
54
+ if (!reactor) {
55
+ return "INITIAL_SYNC";
56
+ }
57
+ try {
58
+ const syncStatus = reactor.getSyncStatus(syncId);
59
+ if (syncStatus instanceof SynchronizationUnitNotFoundError)
60
+ return "INITIAL_SYNC";
61
+ return syncStatus;
62
+ }
63
+ catch (error) {
64
+ console.error(error);
65
+ return "ERROR";
66
+ }
67
+ }, [reactor]);
68
+ return getSyncStatusSync;
69
+ }
70
+ //# sourceMappingURL=reactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../state/reactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function useNamespacedStorageAtom<T>(key: string, initial: T): [Awaited<T>, (args_0: typeof import("jotai/utils").RESET | T | ((prev: T) => typeof import("jotai/utils").RESET | T)) => void];
2
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../state/storage.ts"],"names":[],"mappings":"AAKA,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,kIAQlE"}
@@ -0,0 +1,37 @@
1
+ import { useAtom } from "jotai";
2
+ import { atomWithStorage } from "jotai/utils";
3
+ import { useMemo } from "react";
4
+ import { useConfig } from "./config.js";
5
+ export function useNamespacedStorageAtom(key, initial) {
6
+ const { routerBasename } = useConfig();
7
+ const storageAtom = useMemo(() => atomWithStorage(`${routerBasename}:${key}`, initial), [routerBasename, key, initial]);
8
+ storageAtom.debugLabel = `storageAtom:${key}`;
9
+ return useAtom(storageAtom);
10
+ }
11
+ const namespace = "TODO REPLACE IF NEEDED";
12
+ const atomWithStorageCallback = (key, initialValue, callback) => atomWithStorage(key, initialValue, {
13
+ getItem(key, initialValue) {
14
+ const value = localStorage.getItem(`${namespace}:${key}`);
15
+ return value ? JSON.parse(value) : initialValue;
16
+ },
17
+ setItem(key, value) {
18
+ localStorage.setItem(`${namespace}:${key}`, JSON.stringify(value));
19
+ callback(value);
20
+ },
21
+ removeItem(key) {
22
+ localStorage.removeItem(`${namespace}:${key}`);
23
+ },
24
+ subscribe(key, callback) {
25
+ if (typeof window.addEventListener === "undefined") {
26
+ return () => null;
27
+ }
28
+ function listener(e) {
29
+ if (e.storageArea === localStorage && e.key === `${namespace}:${key}`) {
30
+ callback((e.newValue ?? ""));
31
+ }
32
+ }
33
+ window.addEventListener("storage", listener);
34
+ return () => window.removeEventListener("storage", listener);
35
+ },
36
+ });
37
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../state/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,UAAU,wBAAwB,CAAI,GAAW,EAAE,OAAU;IACjE,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,eAAe,CAAI,GAAG,cAAc,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,EAC7D,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,CAC/B,CAAC;IACF,WAAW,CAAC,UAAU,GAAG,eAAe,GAAG,EAAE,CAAC;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,MAAM,uBAAuB,GAAG,CAC9B,GAAW,EACX,YAAe,EACf,QAA4B,EAC5B,EAAE,CACF,eAAe,CAAI,GAAG,EAAE,YAAY,EAAE;IACpC,OAAO,CAAC,GAAG,EAAE,YAAY;QACvB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO,CAAC,CAAC,CAAC,YAAY,CAAC;IACzD,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,KAAK;QAChB,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,UAAU,CAAC,GAAG;QACZ,YAAY,CAAC,UAAU,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,SAAS,CAAC,GAAG,EAAE,QAAQ;QACrB,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,WAAW,EAAE,CAAC;YACnD,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,SAAS,QAAQ,CAAC,CAAe;YAC/B,IAAI,CAAC,CAAC,WAAW,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,IAAI,GAAG,EAAE,EAAE,CAAC;gBACtE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type ReactNode } from "react";
2
+ export declare function AtomStoreProvider({ children }: {
3
+ children: ReactNode;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=store-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-provider.d.ts","sourceRoot":"","sources":["../../state/store-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAOtE"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Provider } from "jotai";
3
+ import { DevTools } from "jotai-devtools";
4
+ import { atomStore } from "./store.js";
5
+ export function AtomStoreProvider({ children }) {
6
+ return (_jsxs(Provider, { store: atomStore, children: [_jsx(DevTools, { store: atomStore }), children] }));
7
+ }
8
+ //# sourceMappingURL=store-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-provider.js","sourceRoot":"","sources":["../../state/store-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAA2B;IACrE,OAAO,CACL,MAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,aACxB,KAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,GAAI,EAC7B,QAAQ,IACA,CACZ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const atomStore: {
2
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
3
+ set: <Value, Args extends unknown[], Result>(atom: import("jotai").WritableAtom<Value, Args, Result>, ...args: Args) => Result;
4
+ sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
5
+ } | ({
6
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
7
+ set: <Value, Args extends unknown[], Result>(atom: import("jotai").WritableAtom<Value, Args, Result>, ...args: Args) => Result;
8
+ sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
9
+ } & import("jotai/vanilla/store").INTERNAL_DevStoreRev4);
10
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../state/store.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;0GACsmH,GAAI;;;;0GAAJ,GAAI;;wDAD1lH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createStore } from "jotai";
2
+ export const atomStore = createStore();
3
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../state/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useSyncDrivesAndDocumentsWithReactor(): () => void;
2
+ //# sourceMappingURL=syncing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncing.d.ts","sourceRoot":"","sources":["../../state/syncing.ts"],"names":[],"mappings":"AAIA,wBAAgB,oCAAoC,eAQnD"}
@@ -0,0 +1,12 @@
1
+ import { useCallback } from "react";
2
+ import { useRefreshDocuments } from "./documents.js";
3
+ import { useRefreshDrives } from "./drives.js";
4
+ export function useSyncDrivesAndDocumentsWithReactor() {
5
+ const refreshDrives = useRefreshDrives();
6
+ const refreshDocuments = useRefreshDocuments();
7
+ return useCallback(() => {
8
+ refreshDrives();
9
+ refreshDocuments();
10
+ }, [refreshDrives, refreshDocuments]);
11
+ }
12
+ //# sourceMappingURL=syncing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncing.js","sourceRoot":"","sources":["../../state/syncing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,UAAU,oCAAoC;IAClD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,OAAO,WAAW,CAAC,GAAG,EAAE;QACtB,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const useTheme: () => import("./types.js").Theme;
2
+ export declare const useSetTheme: () => (args_0: import("./types.js").Theme | typeof import("jotai/utils").RESET | ((prev: import("./types.js").Theme) => import("./types.js").Theme | typeof import("jotai/utils").RESET)) => void;
3
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../state/theme.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,kCAAgC,CAAC;AACtD,eAAO,MAAM,WAAW,mMAA8B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { useAtomValue, useSetAtom } from "jotai";
2
+ import { themeAtom } from "./atoms.js";
3
+ export const useTheme = () => useAtomValue(themeAtom);
4
+ export const useSetTheme = () => useSetAtom(themeAtom);
5
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../state/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type { DocumentDriveDocument, FileNode, IDocumentDriveServer } from "document-drive";
2
+ import { type EditorProps } from "document-model";
3
+ import { type FC } from "react";
4
+ export type Reactor = IDocumentDriveServer;
5
+ export type DriveEditorProps = EditorProps<DocumentDriveDocument> & {
6
+ addFile: (file: string | File, driveId: string, name?: string, parentFolderId?: string) => Promise<FileNode>;
7
+ className?: string;
8
+ children?: React.ReactNode;
9
+ };
10
+ export type DriveEditorModule = {
11
+ Component: FC<DriveEditorProps>;
12
+ documentTypes: string[];
13
+ config: {
14
+ id: string;
15
+ disableExternalControls?: boolean;
16
+ documentToolbarEnabled?: boolean;
17
+ showSwitchboardLink?: boolean;
18
+ };
19
+ };
20
+ export type SharingType = "LOCAL" | "CLOUD" | "PUBLIC";
21
+ export type NodeKind = "DRIVE" | "FOLDER" | "FILE";
22
+ export type Theme = "light" | "dark";
23
+ export type ConnectConfig = {
24
+ appVersion: string | undefined;
25
+ studioMode: boolean;
26
+ warnOutdatedApp: boolean;
27
+ routerBasename: string | undefined;
28
+ analyticsDatabaseName: string | undefined;
29
+ sentry: {
30
+ dsn: string | undefined;
31
+ env: string | undefined;
32
+ tracing: boolean | undefined;
33
+ };
34
+ content: {
35
+ showSearchBar: boolean;
36
+ showDocumentModelSelectionSetting: boolean;
37
+ };
38
+ drives: {
39
+ addDriveEnabled: boolean;
40
+ sections: {
41
+ LOCAL: {
42
+ enabled: boolean;
43
+ allowAdd: boolean;
44
+ allowDelete: boolean;
45
+ };
46
+ CLOUD: {
47
+ enabled: boolean;
48
+ allowAdd: boolean;
49
+ allowDelete: boolean;
50
+ };
51
+ PUBLIC: {
52
+ enabled: boolean;
53
+ allowAdd: boolean;
54
+ allowDelete: boolean;
55
+ };
56
+ };
57
+ };
58
+ gaTrackingId: string | undefined;
59
+ phCliVersion: string | undefined;
60
+ };
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../state/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,QAAQ,EACR,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,MAAM,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,qBAAqB,CAAC,GAAG;IAClE,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEnD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,OAAO,EAAE;QACP,aAAa,EAAE,OAAO,CAAC;QACvB,iCAAiC,EAAE,OAAO,CAAC;KAC5C,CAAC;IACF,MAAM,EAAE;QACN,eAAe,EAAE,OAAO,CAAC;QACzB,QAAQ,EAAE;YACR,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO,CAAC;gBACjB,QAAQ,EAAE,OAAO,CAAC;gBAClB,WAAW,EAAE,OAAO,CAAC;aACtB,CAAC;YACF,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO,CAAC;gBACjB,QAAQ,EAAE,OAAO,CAAC;gBAClB,WAAW,EAAE,OAAO,CAAC;aACtB,CAAC;YACF,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC;gBACjB,QAAQ,EAAE,OAAO,CAAC;gBAClB,WAAW,EAAE,OAAO,CAAC;aACtB,CAAC;SACH,CAAC;KACH,CAAC;IACF,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../state/types.ts"],"names":[],"mappings":""}