@powerhousedao/common 3.2.0-staging.0 → 3.2.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.
Files changed (109) hide show
  1. package/dist/drive-analytics/index.d.ts +1 -0
  2. package/dist/drive-analytics/index.d.ts.map +1 -1
  3. package/dist/drive-analytics/index.js +1 -0
  4. package/dist/drive-analytics/index.js.map +1 -1
  5. package/dist/drive-analytics/processor/document-processor.js +3 -3
  6. package/dist/drive-analytics/processor/document-processor.js.map +1 -1
  7. package/dist/drive-analytics/processor/drive-processor.js +4 -4
  8. package/dist/drive-analytics/processor/drive-processor.js.map +1 -1
  9. package/dist/drive-analytics/useDocumentAnalytics.d.ts +22 -0
  10. package/dist/drive-analytics/useDocumentAnalytics.d.ts.map +1 -0
  11. package/dist/drive-analytics/useDocumentAnalytics.js +59 -0
  12. package/dist/drive-analytics/useDocumentAnalytics.js.map +1 -0
  13. package/dist/drive-analytics/useDriveAnalytics.js +5 -5
  14. package/dist/drive-analytics/useDriveAnalytics.js.map +1 -1
  15. package/dist/editors/generic-drive-explorer/editor.d.ts.map +1 -1
  16. package/dist/editors/generic-drive-explorer/editor.js +18 -0
  17. package/dist/editors/generic-drive-explorer/editor.js.map +1 -1
  18. package/dist/editors/utils/storybook.d.ts.map +1 -1
  19. package/dist/editors/utils/storybook.js +13 -14
  20. package/dist/editors/utils/storybook.js.map +1 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/package.json +3 -2
  26. package/dist/state/atoms.d.ts +130 -85
  27. package/dist/state/atoms.d.ts.map +1 -1
  28. package/dist/state/atoms.js +119 -48
  29. package/dist/state/atoms.js.map +1 -1
  30. package/dist/state/document-model-modules.d.ts +1 -1
  31. package/dist/state/document-model-modules.d.ts.map +1 -1
  32. package/dist/state/document-model-modules.js.map +1 -1
  33. package/dist/state/documents.d.ts +14 -35
  34. package/dist/state/documents.d.ts.map +1 -1
  35. package/dist/state/documents.js +14 -7
  36. package/dist/state/documents.js.map +1 -1
  37. package/dist/state/drives.d.ts +54 -7
  38. package/dist/state/drives.d.ts.map +1 -1
  39. package/dist/state/drives.js +28 -8
  40. package/dist/state/drives.js.map +1 -1
  41. package/dist/state/editor-modules.d.ts +1 -4
  42. package/dist/state/editor-modules.d.ts.map +1 -1
  43. package/dist/state/editor-modules.js +2 -10
  44. package/dist/state/editor-modules.js.map +1 -1
  45. package/dist/state/folders.d.ts +2 -0
  46. package/dist/state/folders.d.ts.map +1 -1
  47. package/dist/state/folders.js +2 -0
  48. package/dist/state/folders.js.map +1 -1
  49. package/dist/state/index.d.ts +0 -6
  50. package/dist/state/index.d.ts.map +1 -1
  51. package/dist/state/index.js +0 -6
  52. package/dist/state/index.js.map +1 -1
  53. package/dist/state/modals.d.ts.map +1 -1
  54. package/dist/state/modals.js.map +1 -1
  55. package/dist/state/nodes.d.ts +18 -4
  56. package/dist/state/nodes.d.ts.map +1 -1
  57. package/dist/state/nodes.js +30 -16
  58. package/dist/state/nodes.js.map +1 -1
  59. package/dist/state/ph-packages.d.ts +1 -2
  60. package/dist/state/ph-packages.d.ts.map +1 -1
  61. package/dist/state/ph-packages.js.map +1 -1
  62. package/dist/state/reactor.d.ts +10 -1
  63. package/dist/state/reactor.d.ts.map +1 -1
  64. package/dist/state/reactor.js +24 -17
  65. package/dist/state/reactor.js.map +1 -1
  66. package/dist/state/store-provider.d.ts +14 -1
  67. package/dist/state/store-provider.d.ts.map +1 -1
  68. package/dist/state/store-provider.js +18 -2
  69. package/dist/state/store-provider.js.map +1 -1
  70. package/dist/state/store.d.ts +4 -0
  71. package/dist/state/store.d.ts.map +1 -1
  72. package/dist/state/store.js +4 -0
  73. package/dist/state/store.js.map +1 -1
  74. package/dist/state/syncing.d.ts +1 -0
  75. package/dist/state/syncing.d.ts.map +1 -1
  76. package/dist/state/syncing.js +1 -0
  77. package/dist/state/syncing.js.map +1 -1
  78. package/dist/state/types.d.ts +13 -1
  79. package/dist/state/types.d.ts.map +1 -1
  80. package/dist/state/utils.d.ts +24 -20
  81. package/dist/state/utils.d.ts.map +1 -1
  82. package/dist/state/utils.js +64 -53
  83. package/dist/state/utils.js.map +1 -1
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +10 -9
  86. package/dist/state/apps.d.ts +0 -5
  87. package/dist/state/apps.d.ts.map +0 -1
  88. package/dist/state/apps.js +0 -56
  89. package/dist/state/apps.js.map +0 -1
  90. package/dist/state/config.d.ts +0 -5
  91. package/dist/state/config.d.ts.map +0 -1
  92. package/dist/state/config.js +0 -20
  93. package/dist/state/config.js.map +0 -1
  94. package/dist/state/cookies.d.ts +0 -21
  95. package/dist/state/cookies.d.ts.map +0 -1
  96. package/dist/state/cookies.js +0 -7
  97. package/dist/state/cookies.js.map +0 -1
  98. package/dist/state/permissions.d.ts +0 -17
  99. package/dist/state/permissions.d.ts.map +0 -1
  100. package/dist/state/permissions.js +0 -18
  101. package/dist/state/permissions.js.map +0 -1
  102. package/dist/state/storage.d.ts +0 -2
  103. package/dist/state/storage.d.ts.map +0 -1
  104. package/dist/state/storage.js +0 -37
  105. package/dist/state/storage.js.map +0 -1
  106. package/dist/state/theme.d.ts +0 -3
  107. package/dist/state/theme.d.ts.map +0 -1
  108. package/dist/state/theme.js +0 -5
  109. package/dist/state/theme.js.map +0 -1
@@ -2,82 +2,156 @@ import { type DocumentDriveDocument, type FolderNode, type IDocumentDriveServer,
2
2
  import { type ProcessorManager } from "document-drive/processors/processor-manager";
3
3
  import { type DocumentModelModule, type EditorModule, type PHDocument } from "document-model";
4
4
  import type { PHPackage } from "./ph-packages.js";
5
- import { type ConnectConfig, type Theme } from "./types.js";
5
+ import { type ConnectConfig } from "./types.js";
6
+ /** Returns a promise of the reactor instance if it is set, otherwise suspends until it is set. */
6
7
  export declare const reactorAtom: import("jotai").Atom<Promise<IDocumentDriveServer | undefined>>;
7
- export declare const setReactorAtom: import("jotai").WritableAtom<null, [reactor: IDocumentDriveServer | undefined], void> & {
8
+ /** Sets the reactor instance. Only runs if the baseReactorAtom is NOT_SET. */
9
+ export declare const initializeReactorAtom: import("jotai").WritableAtom<null, [reactor: IDocumentDriveServer | undefined], void> & {
8
10
  init: null;
9
11
  };
12
+ /** Returns a Loadable of the reactor instance. */
10
13
  export declare const loadableReactorAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<IDocumentDriveServer | undefined>>>;
14
+ /** Returns a resolved promise of the reactor instance. */
11
15
  export declare const unwrappedReactorAtom: import("jotai").Atom<IDocumentDriveServer | undefined>;
12
- export declare const drivesAtom: import("jotai").WritableAtom<Promise<DocumentDriveDocument[]>, [], void>;
13
- export declare const loadableDrivesAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<DocumentDriveDocument[]>>>;
14
- export declare const unwrappedDrivesAtom: import("jotai").WritableAtom<DocumentDriveDocument[] | undefined, [], void>;
15
- export declare const selectedDriveIdAtom: import("jotai").PrimitiveAtom<string | undefined> & {
16
- init: string | undefined;
17
- };
18
- export declare const selectedDriveAtom: import("jotai").WritableAtom<DocumentDriveDocument | Promise<DocumentDriveDocument | undefined> | undefined, [driveId: string | undefined], void>;
19
- export declare const loadableSelectedDriveAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<DocumentDriveDocument | Promise<DocumentDriveDocument | undefined> | undefined>>;
20
- export declare const unwrappedSelectedDriveAtom: import("jotai").WritableAtom<DocumentDriveDocument | undefined, [driveId: string | undefined], void>;
21
- export declare const nodesAtom: import("jotai").Atom<Promise<Node[] | undefined>>;
22
- export declare const loadableNodesAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<Node[] | undefined>>>;
23
- export declare const unwrappedNodesAtom: import("jotai").Atom<Node[] | undefined>;
24
- export declare const selectedNodeIdAtom: import("jotai").PrimitiveAtom<string | undefined> & {
25
- init: string | undefined;
26
- };
27
- export declare const setSelectedNodeAtom: import("jotai").WritableAtom<null, [nodeId: string | undefined], void> & {
28
- init: null;
29
- };
30
- export declare const selectedFolderAtom: import("jotai").Atom<FolderNode | Promise<FolderNode | undefined> | undefined>;
31
- export declare const loadableSelectedFolderAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<FolderNode | Promise<FolderNode | undefined> | undefined>>;
32
- export declare const unwrappedSelectedFolderAtom: import("jotai").Atom<FolderNode | undefined>;
33
- export declare const documentsAtom: import("jotai").WritableAtom<Promise<(import("document-model").DocumentHeader & {
34
- state: import("document-model").BaseState<unknown, unknown>;
16
+ /** Holds a promise of the drives for a given reactor.
17
+ *
18
+ * Suspends until the reactor is set.
19
+ *
20
+ * Does not provide a direct setter, instead it uses `atomWithRefresh` which will refetch the drives from the reactor when called.
21
+ * See https://jotai.org/docs/utilities/resettable#atomwithrefresh for more details.
22
+ */
23
+ export declare const drivesAtom: import("jotai").WritableAtom<Promise<(import("document-model").DocumentHeader & {
24
+ state: import("document-model").BaseState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
35
25
  attachments?: import("document-model").FileRegistry;
36
26
  } & {
37
- operations: import("document-model").DocumentOperations<import("document-model").Action<string, unknown, import("document-model").OperationScope>>;
38
- initialState: import("document-model").ExtendedState<unknown, unknown>;
39
- clipboard: import("document-model").Operation<import("document-model").Action<string, unknown, import("document-model").OperationScope>>[];
27
+ operations: import("document-model").DocumentOperations<import("document-drive").DocumentDriveAction>;
28
+ initialState: import("document-model").ExtendedState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
29
+ clipboard: import("document-model").Operation<import("document-drive").DocumentDriveAction>[];
40
30
  })[]>, [], void>;
41
- export declare const loadableDocumentsAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<(import("document-model").DocumentHeader & {
42
- state: import("document-model").BaseState<unknown, unknown>;
31
+ /** Returns a Loadable of the drives for a given reactor. */
32
+ export declare const loadableDrivesAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<(import("document-model").DocumentHeader & {
33
+ state: import("document-model").BaseState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
43
34
  attachments?: import("document-model").FileRegistry;
44
35
  } & {
45
- operations: import("document-model").DocumentOperations<import("document-model").Action<string, unknown, import("document-model").OperationScope>>;
46
- initialState: import("document-model").ExtendedState<unknown, unknown>;
47
- clipboard: import("document-model").Operation<import("document-model").Action<string, unknown, import("document-model").OperationScope>>[];
36
+ operations: import("document-model").DocumentOperations<import("document-drive").DocumentDriveAction>;
37
+ initialState: import("document-model").ExtendedState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
38
+ clipboard: import("document-model").Operation<import("document-drive").DocumentDriveAction>[];
48
39
  })[]>>>;
49
- export declare const unwrappedDocumentsAtom: import("jotai").WritableAtom<(import("document-model").DocumentHeader & {
50
- state: import("document-model").BaseState<unknown, unknown>;
40
+ /** Returns a resolved promise of the drives for a given reactor. */
41
+ export declare const unwrappedDrivesAtom: import("jotai").WritableAtom<(import("document-model").DocumentHeader & {
42
+ state: import("document-model").BaseState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
51
43
  attachments?: import("document-model").FileRegistry;
52
44
  } & {
53
- operations: import("document-model").DocumentOperations<import("document-model").Action<string, unknown, import("document-model").OperationScope>>;
54
- initialState: import("document-model").ExtendedState<unknown, unknown>;
55
- clipboard: import("document-model").Operation<import("document-model").Action<string, unknown, import("document-model").OperationScope>>[];
45
+ operations: import("document-model").DocumentOperations<import("document-drive").DocumentDriveAction>;
46
+ initialState: import("document-model").ExtendedState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
47
+ clipboard: import("document-model").Operation<import("document-drive").DocumentDriveAction>[];
56
48
  })[] | undefined, [], void>;
57
- export declare const selectedDocumentAtom: import("jotai").Atom<(import("document-model").DocumentHeader & {
58
- state: import("document-model").BaseState<unknown, unknown>;
49
+ /** Returns a promise of the selected drive.
50
+ *
51
+ * Provides a setter which receives a drive id and updates the baseSelectedDriveIdAtom.
52
+ *
53
+ * Suspends until the reactor's drives are set and the selected drive id is set.
54
+ * If the selected drive id is set as undefined, returns a resolved promise of undefined.
55
+ *
56
+ * When the selected drive is set, the selected node id is also set to undefined, since by definition selecting a new drive means navigating to the root of the new drive.
57
+ */
58
+ export declare const selectedDriveAtom: import("jotai").WritableAtom<(import("document-model").DocumentHeader & {
59
+ state: import("document-model").BaseState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
59
60
  attachments?: import("document-model").FileRegistry;
60
61
  } & {
61
- operations: import("document-model").DocumentOperations<import("document-model").Action<string, unknown, import("document-model").OperationScope>>;
62
- initialState: import("document-model").ExtendedState<unknown, unknown>;
63
- clipboard: import("document-model").Operation<import("document-model").Action<string, unknown, import("document-model").OperationScope>>[];
64
- }) | Promise<PHDocument | undefined> | undefined>;
65
- export declare const loadableSelectedDocumentAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<(import("document-model").DocumentHeader & {
66
- state: import("document-model").BaseState<unknown, unknown>;
62
+ operations: import("document-model").DocumentOperations<import("document-drive").DocumentDriveAction>;
63
+ initialState: import("document-model").ExtendedState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
64
+ clipboard: import("document-model").Operation<import("document-drive").DocumentDriveAction>[];
65
+ }) | Promise<DocumentDriveDocument | undefined> | undefined, [driveId: string | undefined], void>;
66
+ /** Returns a Loadable of the selected drive. */
67
+ export declare const loadableSelectedDriveAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<(import("document-model").DocumentHeader & {
68
+ state: import("document-model").BaseState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
67
69
  attachments?: import("document-model").FileRegistry;
68
70
  } & {
69
- operations: import("document-model").DocumentOperations<import("document-model").Action<string, unknown, import("document-model").OperationScope>>;
70
- initialState: import("document-model").ExtendedState<unknown, unknown>;
71
- clipboard: import("document-model").Operation<import("document-model").Action<string, unknown, import("document-model").OperationScope>>[];
72
- }) | Promise<PHDocument | undefined> | undefined>>;
73
- export declare const unwrappedSelectedDocumentAtom: import("jotai").Atom<PHDocument | (import("document-model").DocumentHeader & {
74
- state: import("document-model").BaseState<unknown, unknown>;
71
+ operations: import("document-model").DocumentOperations<import("document-drive").DocumentDriveAction>;
72
+ initialState: import("document-model").ExtendedState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
73
+ clipboard: import("document-model").Operation<import("document-drive").DocumentDriveAction>[];
74
+ }) | Promise<DocumentDriveDocument | undefined> | undefined>>;
75
+ /** Returns a resolved promise of the selected drive. */
76
+ export declare const unwrappedSelectedDriveAtom: import("jotai").WritableAtom<DocumentDriveDocument | (import("document-model").DocumentHeader & {
77
+ state: import("document-model").BaseState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
75
78
  attachments?: import("document-model").FileRegistry;
76
79
  } & {
77
- operations: import("document-model").DocumentOperations<import("document-model").Action<string, unknown, import("document-model").OperationScope>>;
78
- initialState: import("document-model").ExtendedState<unknown, unknown>;
79
- clipboard: import("document-model").Operation<import("document-model").Action<string, unknown, import("document-model").OperationScope>>[];
80
- }) | undefined>;
80
+ operations: import("document-model").DocumentOperations<import("document-drive").DocumentDriveAction>;
81
+ initialState: import("document-model").ExtendedState<import("document-drive").DocumentDriveState, import("document-drive").DocumentDriveLocalState>;
82
+ clipboard: import("document-model").Operation<import("document-drive").DocumentDriveAction>[];
83
+ }) | undefined, [driveId: string | undefined], void>;
84
+ /** Holds a promise of the nodes for the selected drive.
85
+ *
86
+ * Derived from selectedDrive.state.global.nodes.
87
+ *
88
+ * Suspends until the selected drive is set.
89
+ *
90
+ * If the selected drive is set as undefined, returns a resolved promise of undefined.
91
+ *
92
+ * Does not provide a setter, since it is derived from the selected drive.
93
+ */
94
+ export declare const nodesAtom: import("jotai").Atom<Promise<Node[] | undefined>>;
95
+ export declare const loadableNodesAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<Node[] | undefined>>>;
96
+ export declare const unwrappedNodesAtom: import("jotai").Atom<Node[] | undefined>;
97
+ /** Holds the selected node id.
98
+ *
99
+ * This id comes from the drive's nodes, which can be the id for a document or for a meta item such as a folder.
100
+ *
101
+ * Like all base atoms, it is not meant to be accessed or updated directly.
102
+ * Starts off with the sentinel value NOT_SET.
103
+ *
104
+ * When this value changes, the data for the selected node is re-fetched from the nodes atom.
105
+ */
106
+ export declare const selectedNodeIdAtom: import("jotai").PrimitiveAtom<string | undefined> & {
107
+ init: string | undefined;
108
+ };
109
+ /** Sets the selected node via a node id. */
110
+ export declare const setSelectedNodeAtom: import("jotai").WritableAtom<null, [nodeId: string | undefined], void> & {
111
+ init: null;
112
+ };
113
+ /** Returns a promise of the selected folder.
114
+ *
115
+ * A "folder" is a meta item that contains other nodes. It is not a document itself. Folder nodes have a `kind` of `folder` or `FOLDER`.
116
+ *
117
+ * Suspends until the nodes are set and the selected node id is set.
118
+ * If the selected node id is set as undefined, returns a resolved promise of undefined.
119
+ *
120
+ * Does not provide a setter, since it is derived from the selected node id.
121
+ */
122
+ export declare const selectedFolderAtom: import("jotai").Atom<FolderNode | Promise<FolderNode | undefined> | undefined>;
123
+ /** Returns a Loadable of the selected folder. */
124
+ export declare const loadableSelectedFolderAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<FolderNode | Promise<FolderNode | undefined> | undefined>>;
125
+ /** Returns a resolved promise of the selected folder. */
126
+ export declare const unwrappedSelectedFolderAtom: import("jotai").Atom<FolderNode | undefined>;
127
+ /** Holds a promise of the documents for the selected drive.
128
+ *
129
+ * Suspends until the selected drive is set.
130
+ *
131
+ * If the selected drive is set as undefined, returns a resolved promise of undefined.
132
+ *
133
+ * Does not provide a setter, instead it uses `atomWithRefresh` which will refetch the documents from the reactor when called.
134
+ * See https://jotai.org/docs/utilities/resettable#atomwithrefresh for more details.
135
+ */
136
+ export declare const documentsAtom: import("jotai").WritableAtom<Promise<PHDocument[]>, [], void>;
137
+ /** Returns a Loadable of the documents for the selected drive. */
138
+ export declare const loadableDocumentsAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<PHDocument[]>>>;
139
+ /** Returns a resolved promise of the documents for the selected drive. */
140
+ export declare const unwrappedDocumentsAtom: import("jotai").WritableAtom<PHDocument[] | undefined, [], void>;
141
+ /** Returns a promise of the selected document.
142
+ *
143
+ * A "document" is a PHDocument. This id is the document's id, and this id will also be found in the drive's nodes. We use the same id for finding a node in a drive and for identifying a document in the reactor.
144
+ *
145
+ * Suspends until the documents are set and the selected node id is set.
146
+ * If the selected node id is set as undefined, returns a resolved promise of undefined.
147
+ *
148
+ * Does not provide a setter, since it is derived from the selected node id.
149
+ */
150
+ export declare const selectedDocumentAtom: import("jotai").Atom<PHDocument | Promise<PHDocument | undefined> | undefined>;
151
+ /** Returns a Loadable of the selected document. */
152
+ export declare const loadableSelectedDocumentAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<PHDocument | Promise<PHDocument | undefined> | undefined>>;
153
+ /** Returns a resolved promise of the selected document. */
154
+ export declare const unwrappedSelectedDocumentAtom: import("jotai").Atom<PHDocument | undefined>;
81
155
  export declare const phPackagesAtom: import("jotai").PrimitiveAtom<Promise<PHPackage[] | undefined>> & {
82
156
  init: Promise<PHPackage[] | undefined>;
83
157
  };
@@ -92,39 +166,10 @@ export declare const unwrappedDocumentModelModulesAtom: import("jotai").Writable
92
166
  export declare const editorModulesAtom: import("jotai").WritableAtom<Promise<EditorModule<PHDocument<unknown, unknown, import("document-model").Action<string, unknown, import("document-model").OperationScope>>, unknown, Record<string, unknown>>[] | undefined>, [], void>;
93
167
  export declare const loadableEditorModulesAtom: import("jotai").Atom<import("jotai/vanilla/utils/loadable").Loadable<Promise<EditorModule<PHDocument<unknown, unknown, import("document-model").Action<string, unknown, import("document-model").OperationScope>>, unknown, Record<string, unknown>>[] | undefined>>>;
94
168
  export declare const unwrappedEditorModulesAtom: import("jotai").WritableAtom<EditorModule<PHDocument<unknown, unknown, import("document-model").Action<string, unknown, import("document-model").OperationScope>>, unknown, Record<string, unknown>>[] | undefined, [], void>;
95
- export declare const preferredDocumentModelEditorIdAtom: import("jotai").WritableAtom<string, [string | typeof import("jotai/utils").RESET | ((prev: string) => string | typeof import("jotai/utils").RESET)], void>;
96
169
  export declare const processorManagerAtom: import("jotai").PrimitiveAtom<ProcessorManager | undefined> & {
97
170
  init: ProcessorManager | undefined;
98
171
  };
99
172
  export declare const configAtom: import("jotai").PrimitiveAtom<ConnectConfig> & {
100
173
  init: ConnectConfig;
101
174
  };
102
- export declare const acceptedCookiesAtom: import("jotai").WritableAtom<{
103
- analytics: boolean;
104
- marketing: boolean;
105
- functional: boolean;
106
- }, [typeof import("jotai/utils").RESET | {
107
- analytics: boolean;
108
- marketing: boolean;
109
- functional: boolean;
110
- } | ((prev: {
111
- analytics: boolean;
112
- marketing: boolean;
113
- functional: boolean;
114
- }) => typeof import("jotai/utils").RESET | {
115
- analytics: boolean;
116
- marketing: boolean;
117
- functional: boolean;
118
- })], void>;
119
- export declare const displayCookieBannerAtom: import("jotai").WritableAtom<boolean, [boolean | typeof import("jotai/utils").RESET | ((prev: boolean) => boolean | typeof import("jotai/utils").RESET)], void>;
120
- export declare const themeAtom: import("jotai").WritableAtom<Theme, [Theme | typeof import("jotai/utils").RESET | ((prev: Theme) => Theme | typeof import("jotai/utils").RESET)], void>;
121
- export declare const permissionsAtom: import("jotai").PrimitiveAtom<{
122
- isAllowedToCreateDocuments: boolean;
123
- isAllowedToEditDocuments: boolean;
124
- }> & {
125
- init: {
126
- isAllowedToCreateDocuments: boolean;
127
- isAllowedToEditDocuments: boolean;
128
- };
129
- };
130
175
  //# sourceMappingURL=atoms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../state/atoms.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAgB5D,eAAO,MAAM,WAAW,iEAMvB,CAAC;AAGF,eAAO,MAAM,cAAc;;CAQ1B,CAAC;AAGF,eAAO,MAAM,mBAAmB,kHAAwB,CAAC;AAEzD,eAAO,MAAM,oBAAoB,wDAAsB,CAAC;AAKxD,eAAO,MAAM,UAAU,0EASrB,CAAC;AAEH,eAAO,MAAM,kBAAkB,yGAAuB,CAAC;AAEvD,eAAO,MAAM,mBAAmB,6EAAqB,CAAC;AAGtD,eAAO,MAAM,mBAAmB;;CAAoC,CAAC;AAGrE,eAAO,MAAM,iBAAiB,mJAa7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,uJAA8B,CAAC;AAErE,eAAO,MAAM,0BAA0B,sGAA4B,CAAC;AAKpE,eAAO,MAAM,SAAS,mDAMpB,CAAC;AAEH,eAAO,MAAM,iBAAiB,oGAAsB,CAAC;AAErD,eAAO,MAAM,kBAAkB,0CAAoB,CAAC;AAGpD,eAAO,MAAM,kBAAkB;;CAAoC,CAAC;AAOpE,eAAO,MAAM,mBAAmB;;CAK/B,CAAC;AAGF,eAAO,MAAM,kBAAkB,gFAQ7B,CAAC;AAGH,eAAO,MAAM,0BAA0B,iIAA+B,CAAC;AAEvE,eAAO,MAAM,2BAA2B,8CAA6B,CAAC;AAKtE,eAAO,MAAM,aAAa;;;;;;;gBAcxB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;OAA0B,CAAC;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;2BAAwB,CAAC;AAK5D,eAAO,MAAM,oBAAoB;;;;;;;iDAO/B,CAAC;AAGH,eAAO,MAAM,4BAA4B;;;;;;;kDAAiC,CAAC;AAE3E,eAAO,MAAM,6BAA6B;;;;;;;eAA+B,CAAC;AAK1E,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;CAS7B,CAAC;AAEF,eAAO,MAAM,sBAAsB,yGAA2B,CAAC;AAE/D,eAAO,MAAM,uBAAuB,kLAAyB,CAAC;AAK9D,eAAO,MAAM,wBAAwB,oFAMnC,CAAC;AAEH,eAAO,MAAM,gCAAgC,mHAE5C,CAAC;AAGF,eAAO,MAAM,iCAAiC,2EAE7C,CAAC;AAMF,eAAO,MAAM,iBAAiB,wOAM5B,CAAC;AAGH,eAAO,MAAM,yBAAyB,uQAA8B,CAAC;AAErE,eAAO,MAAM,0BAA0B,+NAA4B,CAAC;AAGpE,eAAO,MAAM,kCAAkC,6JAG9C,CAAC;AAMF,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAKF,eAAO,MAAM,UAAU;;CAqCrB,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;UAI9B,CAAC;AAGH,eAAO,MAAM,uBAAuB,iKAGnC,CAAC;AAGF,eAAO,MAAM,SAAS,yJAA2C,CAAC;AAGlE,eAAO,MAAM,eAAe;;;;;;;;CAG1B,CAAC"}
1
+ {"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../state/atoms.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,YAAY,CAAC;AAerE,kGAAkG;AAClG,eAAO,MAAM,WAAW,iEASvB,CAAC;AAGF,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB;;CAUjC,CAAC;AAGF,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,kHAAwB,CAAC;AAGzD,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,wDAAsB,CAAC;AAKxD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;;;;gBAgBrB,CAAC;AAGH,4DAA4D;AAC5D,eAAO,MAAM,kBAAkB;;;;;;;OAAuB,CAAC;AAGvD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB;;;;;;;2BAAqB,CAAC;AAatD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;;;;;;;iGAoB7B,CAAC;AAGF,gDAAgD;AAChD,eAAO,MAAM,yBAAyB;;;;;;;6DAA8B,CAAC;AAGrE,wDAAwD;AACxD,eAAO,MAAM,0BAA0B;;;;;;;oDAA4B,CAAC;AAKpE;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,mDAUpB,CAAC;AAEH,eAAO,MAAM,iBAAiB,oGAAsB,CAAC;AAErD,eAAO,MAAM,kBAAkB,0CAAoB,CAAC;AAGpD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;CAAoC,CAAC;AAGpE,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB;;CAK/B,CAAC;AAGF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,gFAe7B,CAAC;AAGH,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,iIAA+B,CAAC;AAGvE,yDAAyD;AACzD,eAAO,MAAM,2BAA2B,8CAA6B,CAAC;AAKtE;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,+DAoBxB,CAAC;AAGH,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,8FAA0B,CAAC;AAG7D,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,kEAAwB,CAAC;AAG5D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,gFAW/B,CAAC;AAGH,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,iIAAiC,CAAC;AAG3E,2DAA2D;AAC3D,eAAO,MAAM,6BAA6B,8CAA+B,CAAC;AAK1E,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;CAS7B,CAAC;AAEF,eAAO,MAAM,sBAAsB,yGAA2B,CAAC;AAE/D,eAAO,MAAM,uBAAuB,kLAAyB,CAAC;AAK9D,eAAO,MAAM,wBAAwB,oFAMnC,CAAC;AAEH,eAAO,MAAM,gCAAgC,mHAE5C,CAAC;AAGF,eAAO,MAAM,iCAAiC,2EAE7C,CAAC;AAMF,eAAO,MAAM,iBAAiB,wOAM5B,CAAC;AAGH,eAAO,MAAM,yBAAyB,uQAA8B,CAAC;AAErE,eAAO,MAAM,0BAA0B,+NAA4B,CAAC;AAKpE,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAKF,eAAO,MAAM,UAAU;;CAqCrB,CAAC"}
@@ -1,39 +1,54 @@
1
1
  import { atom } from "jotai";
2
- import { atomWithRefresh, atomWithStorage, loadable, unwrap, } from "jotai/utils";
2
+ import { atomWithRefresh, loadable, unwrap } from "jotai/utils";
3
3
  import { isFolderNodeKind } from "./nodes.js";
4
- import { extractNodeFromPath } from "./utils.js";
5
- const INITIAL = "INITIAL";
6
- /* Will suspend until the atom is set elsewhere */
7
- function suspendUntilSet() {
8
- return new Promise(() => { });
9
- }
4
+ import { NOT_SET, suspendUntilSet } from "./utils.js";
10
5
  /* Reactor */
11
- const baseReactorAtom = atom(INITIAL);
6
+ /** Holds the reactor instance.
7
+ *
8
+ * Like all base atoms, it is not meant to be accessed or updated directly.
9
+ * Starts off with the sentinel value NOT_SET.
10
+ */
11
+ const baseReactorAtom = atom(NOT_SET);
12
12
  baseReactorAtom.debugLabel = "baseReactorAtom";
13
+ /** Returns a promise of the reactor instance if it is set, otherwise suspends until it is set. */
13
14
  export const reactorAtom = atom(async (get) => {
14
15
  const reactor = get(baseReactorAtom);
15
- if (reactor === INITIAL)
16
+ // Suspends until the reactor is set.
17
+ if (reactor === NOT_SET)
16
18
  return suspendUntilSet();
17
19
  return reactor;
18
20
  });
19
21
  reactorAtom.debugLabel = "reactorAtom";
20
- export const setReactorAtom = atom(null, (get, set, reactor) => {
22
+ /** Sets the reactor instance. Only runs if the baseReactorAtom is NOT_SET. */
23
+ export const initializeReactorAtom = atom(null, (get, set, reactor) => {
21
24
  const baseReactor = get(baseReactorAtom);
22
- if (baseReactor === INITIAL) {
25
+ // Only runs if the baseReactorAtom is NOT_SET.
26
+ if (baseReactor === NOT_SET) {
23
27
  set(baseReactorAtom, reactor);
24
28
  }
25
29
  });
26
- setReactorAtom.debugLabel = "setReactorAtom";
30
+ initializeReactorAtom.debugLabel = "setReactorAtom";
31
+ /** Returns a Loadable of the reactor instance. */
27
32
  export const loadableReactorAtom = loadable(reactorAtom);
28
33
  loadableReactorAtom.debugLabel = "loadableReactorAtom";
34
+ /** Returns a resolved promise of the reactor instance. */
29
35
  export const unwrappedReactorAtom = unwrap(reactorAtom);
30
36
  unwrappedReactorAtom.debugLabel = "unwrappedReactorAtom";
31
37
  /* Drives */
38
+ /** Holds a promise of the drives for a given reactor.
39
+ *
40
+ * Suspends until the reactor is set.
41
+ *
42
+ * Does not provide a direct setter, instead it uses `atomWithRefresh` which will refetch the drives from the reactor when called.
43
+ * See https://jotai.org/docs/utilities/resettable#atomwithrefresh for more details.
44
+ */
32
45
  export const drivesAtom = atomWithRefresh(async (get) => {
33
46
  const loadableReactor = get(loadableReactorAtom);
47
+ // Suspends until the reactor is set.
34
48
  if (loadableReactor.state !== "hasData")
35
49
  return suspendUntilSet();
36
50
  const reactor = loadableReactor.data;
51
+ // If the reactor is not set, returns an empty array.
37
52
  if (!reactor)
38
53
  return [];
39
54
  const driveIds = await reactor.getDrives();
@@ -41,31 +56,65 @@ export const drivesAtom = atomWithRefresh(async (get) => {
41
56
  return drives;
42
57
  });
43
58
  drivesAtom.debugLabel = "drivesAtom";
59
+ /** Returns a Loadable of the drives for a given reactor. */
44
60
  export const loadableDrivesAtom = loadable(drivesAtom);
45
61
  loadableDrivesAtom.debugLabel = "loadableDrivesAtom";
62
+ /** Returns a resolved promise of the drives for a given reactor. */
46
63
  export const unwrappedDrivesAtom = unwrap(drivesAtom);
47
64
  unwrappedDrivesAtom.debugLabel = "unwrappedDrivesAtom";
48
- export const selectedDriveIdAtom = atom(INITIAL);
49
- selectedDriveIdAtom.debugLabel = "selectedDriveIdAtom";
65
+ /** Holds the selected drive id.
66
+ *
67
+ * Like all base atoms, it is not meant to be accessed or updated directly.
68
+ * Starts off with the sentinel value NOT_SET.
69
+ *
70
+ * When this value changes, the data for the selected drive is re-fetched from the drives atom.
71
+ */
72
+ const baseSelectedDriveIdAtom = atom(NOT_SET);
73
+ baseSelectedDriveIdAtom.debugLabel = "baseSelectedDriveIdAtom";
74
+ /** Returns a promise of the selected drive.
75
+ *
76
+ * Provides a setter which receives a drive id and updates the baseSelectedDriveIdAtom.
77
+ *
78
+ * Suspends until the reactor's drives are set and the selected drive id is set.
79
+ * If the selected drive id is set as undefined, returns a resolved promise of undefined.
80
+ *
81
+ * When the selected drive is set, the selected node id is also set to undefined, since by definition selecting a new drive means navigating to the root of the new drive.
82
+ */
50
83
  export const selectedDriveAtom = atom((get) => {
51
- const driveId = get(selectedDriveIdAtom);
84
+ const driveId = get(baseSelectedDriveIdAtom);
52
85
  const loadableDrives = get(loadableDrivesAtom);
53
- if (driveId === INITIAL || loadableDrives.state !== "hasData")
86
+ // Suspends until the reactor's drives are set and the selected drive id is set.
87
+ if (driveId === NOT_SET || loadableDrives.state !== "hasData")
54
88
  return suspendUntilSet();
55
89
  const drives = loadableDrives.data;
56
90
  return drives.find((drive) => drive.id === driveId);
57
91
  }, (_get, set, driveId) => {
58
- set(selectedDriveIdAtom, driveId);
92
+ // Updates the baseSelectedDriveIdAtom.
93
+ set(baseSelectedDriveIdAtom, driveId);
94
+ // Resets the selected node id.
59
95
  set(selectedNodeIdAtom, undefined);
60
96
  });
61
97
  selectedDriveAtom.debugLabel = "selectedDriveAtom";
98
+ /** Returns a Loadable of the selected drive. */
62
99
  export const loadableSelectedDriveAtom = loadable(selectedDriveAtom);
63
100
  loadableSelectedDriveAtom.debugLabel = "loadableSelectedDriveAtom";
101
+ /** Returns a resolved promise of the selected drive. */
64
102
  export const unwrappedSelectedDriveAtom = unwrap(selectedDriveAtom);
65
103
  unwrappedSelectedDriveAtom.debugLabel = "unwrappedSelectedDriveAtom";
66
104
  /* Nodes */
105
+ /** Holds a promise of the nodes for the selected drive.
106
+ *
107
+ * Derived from selectedDrive.state.global.nodes.
108
+ *
109
+ * Suspends until the selected drive is set.
110
+ *
111
+ * If the selected drive is set as undefined, returns a resolved promise of undefined.
112
+ *
113
+ * Does not provide a setter, since it is derived from the selected drive.
114
+ */
67
115
  export const nodesAtom = atom(async (get) => {
68
116
  const loadableSelectedDrive = get(loadableSelectedDriveAtom);
117
+ // Suspends until the selected drive is set.
69
118
  if (loadableSelectedDrive.state !== "hasData")
70
119
  return suspendUntilSet();
71
120
  const drive = loadableSelectedDrive.data;
@@ -76,65 +125,105 @@ export const loadableNodesAtom = loadable(nodesAtom);
76
125
  loadableNodesAtom.debugLabel = "loadableNodesAtom";
77
126
  export const unwrappedNodesAtom = unwrap(nodesAtom);
78
127
  unwrappedNodesAtom.debugLabel = "unwrappedNodesAtom";
79
- export const selectedNodeIdAtom = atom(INITIAL);
128
+ /** Holds the selected node id.
129
+ *
130
+ * This id comes from the drive's nodes, which can be the id for a document or for a meta item such as a folder.
131
+ *
132
+ * Like all base atoms, it is not meant to be accessed or updated directly.
133
+ * Starts off with the sentinel value NOT_SET.
134
+ *
135
+ * When this value changes, the data for the selected node is re-fetched from the nodes atom.
136
+ */
137
+ export const selectedNodeIdAtom = atom(NOT_SET);
80
138
  selectedNodeIdAtom.debugLabel = "selectedNodeIdAtom";
81
- selectedNodeIdAtom.onMount = (setAtom) => {
82
- if (typeof window === "undefined")
83
- return;
84
- const nodeId = extractNodeFromPath(window.location.pathname);
85
- setAtom(nodeId);
86
- };
139
+ /** Sets the selected node via a node id. */
87
140
  export const setSelectedNodeAtom = atom(null, (_get, set, nodeId) => {
88
141
  set(selectedNodeIdAtom, nodeId);
89
142
  });
90
143
  setSelectedNodeAtom.debugLabel = "setSelectedNodeAtom";
144
+ /** Returns a promise of the selected folder.
145
+ *
146
+ * A "folder" is a meta item that contains other nodes. It is not a document itself. Folder nodes have a `kind` of `folder` or `FOLDER`.
147
+ *
148
+ * Suspends until the nodes are set and the selected node id is set.
149
+ * If the selected node id is set as undefined, returns a resolved promise of undefined.
150
+ *
151
+ * Does not provide a setter, since it is derived from the selected node id.
152
+ */
91
153
  export const selectedFolderAtom = atom((get) => {
92
154
  const loadableNodes = get(loadableNodesAtom);
93
155
  const nodeId = get(selectedNodeIdAtom);
94
- if (nodeId === INITIAL || loadableNodes.state !== "hasData")
156
+ // Suspends until the nodes are set and the selected node id is set.
157
+ if (nodeId === NOT_SET || loadableNodes.state !== "hasData")
95
158
  return suspendUntilSet();
96
159
  const nodes = loadableNodes.data;
160
+ // Filters the nodes to only include folder nodes.
97
161
  const folderNodes = nodes?.filter(isFolderNodeKind);
162
+ // Returns the folder node with the selected node id.
98
163
  return folderNodes?.find((node) => node.id === nodeId);
99
164
  });
100
165
  selectedFolderAtom.debugLabel = "selectedFolderAtom";
166
+ /** Returns a Loadable of the selected folder. */
101
167
  export const loadableSelectedFolderAtom = loadable(selectedFolderAtom);
102
168
  loadableSelectedFolderAtom.debugLabel = "loadableSelectedFolderAtom";
169
+ /** Returns a resolved promise of the selected folder. */
103
170
  export const unwrappedSelectedFolderAtom = unwrap(selectedFolderAtom);
104
171
  unwrappedSelectedFolderAtom.debugLabel = "unwrappedSelectedFolderAtom";
105
172
  /* Documents */
173
+ /** Holds a promise of the documents for the selected drive.
174
+ *
175
+ * Suspends until the selected drive is set.
176
+ *
177
+ * If the selected drive is set as undefined, returns a resolved promise of undefined.
178
+ *
179
+ * Does not provide a setter, instead it uses `atomWithRefresh` which will refetch the documents from the reactor when called.
180
+ * See https://jotai.org/docs/utilities/resettable#atomwithrefresh for more details.
181
+ */
106
182
  export const documentsAtom = atomWithRefresh(async (get) => {
107
183
  const loadableReactor = get(loadableReactorAtom);
108
184
  const loadableDrive = get(loadableSelectedDriveAtom);
185
+ // Suspends until the selected drive is set.
109
186
  if (loadableReactor.state !== "hasData" || loadableDrive.state !== "hasData")
110
187
  return suspendUntilSet();
111
188
  const reactor = loadableReactor.data;
112
- if (!reactor)
113
- return [];
114
189
  const driveId = loadableDrive.data?.id;
115
- if (!driveId)
190
+ // If the reactor or drive id is not set, returns an empty array.
191
+ if (!reactor || !driveId)
116
192
  return [];
117
193
  const documentIds = await reactor.getDocuments(driveId);
118
194
  const documents = await Promise.all(documentIds.map((id) => reactor.getDocument(driveId, id)));
119
195
  return documents;
120
196
  });
121
197
  documentsAtom.debugLabel = "documentsAtom";
198
+ /** Returns a Loadable of the documents for the selected drive. */
122
199
  export const loadableDocumentsAtom = loadable(documentsAtom);
123
200
  loadableDocumentsAtom.debugLabel = "loadableDocumentsAtom";
201
+ /** Returns a resolved promise of the documents for the selected drive. */
124
202
  export const unwrappedDocumentsAtom = unwrap(documentsAtom);
125
203
  unwrappedDocumentsAtom.debugLabel = "unwrappedDocumentsAtom";
126
- /* Selected Document */
204
+ /** Returns a promise of the selected document.
205
+ *
206
+ * A "document" is a PHDocument. This id is the document's id, and this id will also be found in the drive's nodes. We use the same id for finding a node in a drive and for identifying a document in the reactor.
207
+ *
208
+ * Suspends until the documents are set and the selected node id is set.
209
+ * If the selected node id is set as undefined, returns a resolved promise of undefined.
210
+ *
211
+ * Does not provide a setter, since it is derived from the selected node id.
212
+ */
127
213
  export const selectedDocumentAtom = atom((get) => {
128
214
  const loadableDocuments = get(loadableDocumentsAtom);
129
215
  const nodeId = get(selectedNodeIdAtom);
130
- if (nodeId === INITIAL || loadableDocuments.state !== "hasData")
216
+ // Suspends until the documents are set and the selected node id is set.
217
+ if (nodeId === NOT_SET || loadableDocuments.state !== "hasData")
131
218
  return suspendUntilSet();
132
219
  const documents = loadableDocuments.data;
133
220
  return documents.find((document) => document.id === nodeId);
134
221
  });
135
222
  selectedDocumentAtom.debugLabel = "selectedDocumentAtom";
223
+ /** Returns a Loadable of the selected document. */
136
224
  export const loadableSelectedDocumentAtom = loadable(selectedDocumentAtom);
137
225
  loadableSelectedDocumentAtom.debugLabel = "loadableSelectedDocumentAtom";
226
+ /** Returns a resolved promise of the selected document. */
138
227
  export const unwrappedSelectedDocumentAtom = unwrap(selectedDocumentAtom);
139
228
  unwrappedSelectedDocumentAtom.debugLabel = "unwrappedSelectedDocumentAtom";
140
229
  /* PH Packages */
@@ -176,9 +265,6 @@ export const loadableEditorModulesAtom = loadable(editorModulesAtom);
176
265
  loadableEditorModulesAtom.debugLabel = "loadableEditorModulesAtom";
177
266
  export const unwrappedEditorModulesAtom = unwrap(editorModulesAtom);
178
267
  unwrappedEditorModulesAtom.debugLabel = "unwrappedEditorModulesAtom";
179
- export const preferredDocumentModelEditorIdAtom = atomWithStorage("preferredEditorId", "document-model-editor-v2");
180
- preferredDocumentModelEditorIdAtom.debugLabel =
181
- "preferredDocumentModelEditorIdAtom";
182
268
  /* Processor Manager */
183
269
  export const processorManagerAtom = atom(undefined);
184
270
  processorManagerAtom.debugLabel = "processorManagerAtom";
@@ -222,19 +308,4 @@ export const configAtom = atom({
222
308
  phCliVersion: undefined,
223
309
  });
224
310
  configAtom.debugLabel = "configAtom";
225
- export const acceptedCookiesAtom = atomWithStorage("acceptedCookies", {
226
- analytics: false,
227
- marketing: false,
228
- functional: false,
229
- });
230
- acceptedCookiesAtom.debugLabel = "acceptedCookiesAtom";
231
- export const displayCookieBannerAtom = atomWithStorage("display-cookie-banner", true);
232
- displayCookieBannerAtom.debugLabel = "displayCookieBannerAtom";
233
- export const themeAtom = atomWithStorage("theme", "light");
234
- themeAtom.debugLabel = "themeAtom";
235
- export const permissionsAtom = atom({
236
- isAllowedToCreateDocuments: true,
237
- isAllowedToEditDocuments: true,
238
- });
239
- permissionsAtom.debugLabel = "permissionsAtom";
240
311
  //# sourceMappingURL=atoms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atoms.js","sourceRoot":"","sources":["../../state/atoms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atoms.js","sourceRoot":"","sources":["../../state/atoms.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type DocumentModelModule, type PHDocument } from "document-model";
2
- import { type Loadable } from "jotai/vanilla/utils/loadable";
3
2
  import { type PHPackage } from "./ph-packages.js";
3
+ import { type Loadable } from "./types.js";
4
4
  export declare const baseDocumentModelModules: DocumentModelModule[];
5
5
  export declare function loadBaseDocumentModelPackages(): Promise<PHPackage[]>;
6
6
  export declare function useDocumentModelModules(): Loadable<Promise<DocumentModelModule[] | undefined>>;
@@ -1 +1 @@
1
- {"version":3,"file":"document-model-modules.d.ts","sourceRoot":"","sources":["../../state/document-model-modules.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAM7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,wBAAwB,EAGhC,mBAAmB,EAAE,CAAC;AAE3B,wBAAsB,6BAA6B,yBAyClD;AAED,wBAAgB,uBAAuB,yDAGtC;AAED,wBAAgB,gCAAgC,sCAG/C;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,CAgBvD;AAED,wBAAgB,yBAAyB,mBAGtB,MAAM,qCAQxB"}
1
+ {"version":3,"file":"document-model-modules.d.ts","sourceRoot":"","sources":["../../state/document-model-modules.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,wBAAwB,EAGhC,mBAAmB,EAAE,CAAC;AAE3B,wBAAsB,6BAA6B,yBAyClD;AAED,wBAAgB,uBAAuB,yDAGtC;AAED,wBAAgB,gCAAgC,sCAG/C;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,CAgBvD;AAED,wBAAgB,yBAAyB,mBAGtB,MAAM,qCAQxB"}