@powerhousedao/reactor-browser 1.22.29-staging.2 → 1.22.30-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/package.json +12 -6
  2. package/dist/src/analytics/analytics.d.ts +5 -0
  3. package/dist/src/analytics/analytics.d.ts.map +1 -0
  4. package/dist/src/analytics/analytics.js +6 -0
  5. package/dist/src/analytics/analytics.js.map +1 -0
  6. package/dist/src/analytics/context.d.ts +25 -0
  7. package/dist/src/analytics/context.d.ts.map +1 -0
  8. package/dist/src/analytics/context.js +63 -0
  9. package/dist/src/analytics/context.js.map +1 -0
  10. package/dist/src/analytics/hooks.d.ts +28 -0
  11. package/dist/src/analytics/hooks.d.ts.map +1 -0
  12. package/dist/src/analytics/hooks.js +151 -0
  13. package/dist/src/analytics/hooks.js.map +1 -0
  14. package/dist/src/analytics/store/browser.d.ts +2 -0
  15. package/dist/src/analytics/store/browser.d.ts.map +1 -0
  16. package/dist/src/analytics/store/browser.js +2 -0
  17. package/dist/src/analytics/store/browser.js.map +1 -0
  18. package/dist/src/analytics/store/memory.d.ts +2 -0
  19. package/dist/src/analytics/store/memory.d.ts.map +1 -0
  20. package/dist/src/analytics/store/memory.js +2 -0
  21. package/dist/src/analytics/store/memory.js.map +1 -0
  22. package/dist/src/analytics/types.d.ts +10 -0
  23. package/dist/src/analytics/types.d.ts.map +1 -0
  24. package/dist/src/analytics/types.js +2 -0
  25. package/dist/src/analytics/types.js.map +1 -0
  26. package/dist/src/crypto/index.d.ts.map +1 -1
  27. package/dist/src/crypto/index.js +5 -3
  28. package/dist/src/crypto/index.js.map +1 -1
  29. package/dist/src/global/core.d.ts +5 -0
  30. package/dist/src/global/core.d.ts.map +1 -0
  31. package/dist/src/global/core.js +23 -0
  32. package/dist/src/global/core.js.map +1 -0
  33. package/dist/src/global/index.d.ts +3 -0
  34. package/dist/src/global/index.d.ts.map +1 -0
  35. package/dist/src/global/index.js +3 -0
  36. package/dist/src/global/index.js.map +1 -0
  37. package/dist/src/global/types.d.ts +10 -0
  38. package/dist/src/global/types.d.ts.map +1 -0
  39. package/dist/src/global/types.js +2 -0
  40. package/dist/src/global/types.js.map +1 -0
  41. package/dist/src/hooks/useConnectCrypto.d.ts +1 -1
  42. package/dist/src/hooks/useConnectCrypto.d.ts.map +1 -1
  43. package/dist/src/hooks/useConnectCrypto.js +16 -9
  44. package/dist/src/hooks/useConnectCrypto.js.map +1 -1
  45. package/dist/src/types/drive-editor.d.ts +8 -13
  46. package/dist/src/types/drive-editor.d.ts.map +1 -1
  47. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  48. package/package.json +13 -7
@@ -1,25 +1,32 @@
1
- /* eslint-disable @typescript-eslint/no-floating-promises */
2
1
  import { atom, useAtom } from "jotai";
3
2
  import { useEffect, useMemo } from "react";
4
- import { ConnectCrypto, } from "../crypto/index.js";
5
- import { BrowserKeyStorage } from "../crypto/browser.js";
6
- const connectCrypto = (async () => {
3
+ let _connectCrypto;
4
+ async function initConnectCrypto() {
5
+ const { ConnectCrypto } = await import("../crypto/index.js");
6
+ const { BrowserKeyStorage } = await import("../crypto/browser.js");
7
7
  const connectCrypto = new ConnectCrypto(new BrowserKeyStorage());
8
8
  await connectCrypto.did();
9
9
  return connectCrypto;
10
- })();
10
+ }
11
+ function getConnectCrypto() {
12
+ if (_connectCrypto) {
13
+ return _connectCrypto;
14
+ }
15
+ _connectCrypto = initConnectCrypto();
16
+ return _connectCrypto;
17
+ }
11
18
  export function useConnectCrypto() {
12
19
  return useMemo(() => ({
13
20
  async regenerateDid() {
14
- const crypto = await connectCrypto;
21
+ const crypto = await getConnectCrypto();
15
22
  return crypto.regenerateDid();
16
23
  },
17
24
  async did() {
18
- const crypto = await connectCrypto;
25
+ const crypto = await getConnectCrypto();
19
26
  return crypto.did();
20
27
  },
21
28
  sign: async (data) => {
22
- const crypto = await connectCrypto;
29
+ const crypto = await getConnectCrypto();
23
30
  return await crypto.sign(data);
24
31
  },
25
32
  }), []);
@@ -31,7 +38,7 @@ export function useConnectDid() {
31
38
  if (did) {
32
39
  return;
33
40
  }
34
- connectCrypto
41
+ getConnectCrypto()
35
42
  .then((c) => c.did())
36
43
  .then((did) => setDid(did))
37
44
  .catch(console.error);
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectCrypto.js","sourceRoot":"","sources":["../../../src/hooks/useConnectCrypto.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAGL,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;IAChC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IACjE,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,CAAC,aAAa;YACjB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACnC,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,GAAG;YACP,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACnC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACnC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,EACF,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,CAAkB,SAAS,CAAC,CAAC;AAEjD,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QACD,aAAa;aACV,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACpB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC1B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"useConnectCrypto.js","sourceRoot":"","sources":["../../../src/hooks/useConnectCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAG3C,IAAI,cAAmD,CAAC;AAExD,KAAK,UAAU,iBAAiB;IAC9B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7D,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IACjE,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,cAAc,GAAG,iBAAiB,EAAE,CAAC;IACrC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,CAAC,aAAa;YACjB,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,GAAG;YACP,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACxC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,EACF,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,CAAkB,SAAS,CAAC,CAAC;AAEjD,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QACD,gBAAgB,EAAE;aACf,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACpB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC1B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,10 +1,10 @@
1
- import { type FileNode, type Node, type SyncStatus } from "document-drive";
2
- import { type Action, type ActionErrorCallback, type DocumentModelModule, type EditorContext, type EditorModule, type EditorProps, type PHDocument } from "document-model";
1
+ import { type FileNode, type GetDocumentOptions, type Node, type SyncStatus } from "document-drive";
2
+ import { type Action, type ActionErrorCallback, type DocumentModelModule, type EditorContext, type EditorProps, type PHDocument } from "document-model";
3
3
  import { type FC } from "react";
4
4
  import { type HookState } from "../hooks/document-state.js";
5
5
  import { type User } from "../renown/types.js";
6
6
  import type { UiNode } from "../uiNodes/types.js";
7
- export interface DriveEditorContext extends EditorContext {
7
+ export interface DriveEditorContext extends Omit<EditorContext, "getDocumentRevision"> {
8
8
  /** Controls the visibility of the search bar in the drive interface */
9
9
  showSearchBar: boolean;
10
10
  /** Indicates whether the current user has permissions to create new documents */
@@ -88,17 +88,12 @@ export interface DriveEditorContext extends EditorContext {
88
88
  documentId: string;
89
89
  }) => PHDocument["state"] | undefined;
90
90
  /**
91
- * Retrieves the document model module for a given document type
92
- * @param documentType - The type of document to retrieve the model for
93
- * @returns The document model module for the given document type, or undefined if not found
91
+ * Retrieves a document from a specific revision
92
+ * @param documentId - ID of the document to retrieve
93
+ * @param options - Optional configuration options for the retrieval
94
+ * @returns Promise resolving to the document at the specified revision
94
95
  */
95
- getDocumentModelModule: (documentType: string) => DocumentModelModule<PHDocument> | undefined;
96
- /**
97
- * Retrieves the editor module for a given document type
98
- * @param documentType - The type of document to retrieve the editor for
99
- * @returns The editor module for the given document type, or null if not found
100
- */
101
- getEditor: (documentType: string) => EditorModule | null | undefined;
96
+ getDocumentRevision?: (documentId: string, options?: GetDocumentOptions) => Promise<PHDocument> | undefined;
102
97
  }
103
98
  export interface DriveEditorProps<TDocument extends PHDocument> extends Omit<EditorProps<TDocument>, "context"> {
104
99
  context: DriveEditorContext;
@@ -1 +1 @@
1
- {"version":3,"file":"drive-editor.d.ts","sourceRoot":"","sources":["../../../src/types/drive-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drive-editor.d.ts","sourceRoot":"","sources":["../../../src/types/drive-editor.ts"],"names":[],"mappings":"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"}