@comapeo/core-react 4.1.0 → 4.2.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.
@@ -419,11 +419,15 @@ export declare function useUpdateProjectSettings({ projectId }: {
419
419
  name?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["name"];
420
420
  configMetadata?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["configMetadata"];
421
421
  defaultPresets?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["defaultPresets"];
422
+ projectColor?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectColor"];
423
+ projectDescription?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectDescription"];
422
424
  }, unknown>;
423
425
  mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("@comapeo/core/dist/mapeo-project.js", { with: { "resolution-mode": "import" } }).EditableProjectSettings, Error, {
424
426
  name?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["name"];
425
427
  configMetadata?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["configMetadata"];
426
428
  defaultPresets?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["defaultPresets"];
429
+ projectColor?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectColor"];
430
+ projectDescription?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectDescription"];
427
431
  }, unknown>;
428
432
  reset: () => void;
429
433
  status: "error";
@@ -433,11 +437,15 @@ export declare function useUpdateProjectSettings({ projectId }: {
433
437
  name?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["name"];
434
438
  configMetadata?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["configMetadata"];
435
439
  defaultPresets?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["defaultPresets"];
440
+ projectColor?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectColor"];
441
+ projectDescription?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectDescription"];
436
442
  }, unknown>;
437
443
  mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("@comapeo/core/dist/mapeo-project.js", { with: { "resolution-mode": "import" } }).EditableProjectSettings, Error, {
438
444
  name?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["name"];
439
445
  configMetadata?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["configMetadata"];
440
446
  defaultPresets?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["defaultPresets"];
447
+ projectColor?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectColor"];
448
+ projectDescription?: import("@comapeo/schema", { with: { "resolution-mode": "import" } }).ProjectSettings["projectDescription"];
441
449
  }, unknown>;
442
450
  reset: () => void;
443
451
  status: "pending" | "success" | "idle";
@@ -573,3 +581,56 @@ export declare function useStopSync({ projectId }: {
573
581
  reset: () => void;
574
582
  status: "pending" | "success" | "idle";
575
583
  };
584
+ export declare function useConnectSyncServers({ projectId }: {
585
+ projectId: string;
586
+ }): {
587
+ error: Error;
588
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
589
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
590
+ reset: () => void;
591
+ status: "error";
592
+ } | {
593
+ error: null;
594
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
595
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
596
+ reset: () => void;
597
+ status: "pending" | "success" | "idle";
598
+ };
599
+ export declare function useDisconnectSyncServers({ projectId }: {
600
+ projectId: string;
601
+ }): {
602
+ error: Error;
603
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
604
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
605
+ reset: () => void;
606
+ status: "error";
607
+ } | {
608
+ error: null;
609
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
610
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
611
+ reset: () => void;
612
+ status: "pending" | "success" | "idle";
613
+ };
614
+ export declare function useSetAutostopDataSyncTimeout({ projectId, }: {
615
+ projectId: string;
616
+ }): {
617
+ error: Error;
618
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
619
+ after: number | null;
620
+ }, unknown>;
621
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
622
+ after: number | null;
623
+ }, unknown>;
624
+ reset: () => void;
625
+ status: "error";
626
+ } | {
627
+ error: null;
628
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
629
+ after: number | null;
630
+ }, unknown>;
631
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
632
+ after: number | null;
633
+ }, unknown>;
634
+ reset: () => void;
635
+ status: "pending" | "success" | "idle";
636
+ };
@@ -20,6 +20,9 @@ exports.useSyncState = useSyncState;
20
20
  exports.useDataSyncProgress = useDataSyncProgress;
21
21
  exports.useStartSync = useStartSync;
22
22
  exports.useStopSync = useStopSync;
23
+ exports.useConnectSyncServers = useConnectSyncServers;
24
+ exports.useDisconnectSyncServers = useDisconnectSyncServers;
25
+ exports.useSetAutostopDataSyncTimeout = useSetAutostopDataSyncTimeout;
23
26
  const react_query_1 = require("@tanstack/react-query");
24
27
  const react_1 = require("react");
25
28
  const projects_js_1 = require("../lib/react-query/projects.js");
@@ -426,3 +429,24 @@ function useStopSync({ projectId }) {
426
429
  ? { error, mutate, mutateAsync, reset, status }
427
430
  : { error: null, mutate, mutateAsync, reset, status };
428
431
  }
432
+ function useConnectSyncServers({ projectId }) {
433
+ const { data: projectApi } = useSingleProject({ projectId });
434
+ const { error, mutate, mutateAsync, reset, status } = (0, react_query_1.useMutation)((0, projects_js_1.connectSyncServersMutationOptions)({ projectApi }));
435
+ return status === 'error'
436
+ ? { error, mutate, mutateAsync, reset, status }
437
+ : { error: null, mutate, mutateAsync, reset, status };
438
+ }
439
+ function useDisconnectSyncServers({ projectId }) {
440
+ const { data: projectApi } = useSingleProject({ projectId });
441
+ const { error, mutate, mutateAsync, reset, status } = (0, react_query_1.useMutation)((0, projects_js_1.disconnectSyncServersMutationOptions)({ projectApi }));
442
+ return status === 'error'
443
+ ? { error, mutate, mutateAsync, reset, status }
444
+ : { error: null, mutate, mutateAsync, reset, status };
445
+ }
446
+ function useSetAutostopDataSyncTimeout({ projectId, }) {
447
+ const { data: projectApi } = useSingleProject({ projectId });
448
+ const { error, mutate, mutateAsync, reset, status } = (0, react_query_1.useMutation)((0, projects_js_1.setAutostopDataSyncTimeoutMutationOptions)({ projectApi }));
449
+ return status === 'error'
450
+ ? { error, mutate, mutateAsync, reset, status }
451
+ : { error: null, mutate, mutateAsync, reset, status };
452
+ }
@@ -1,8 +1,8 @@
1
1
  export { ClientApiContext, ClientApiProvider } from './contexts/ClientApi.js';
2
2
  export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevice, useSetOwnDeviceInfo, } from './hooks/client.js';
3
3
  export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
4
- export { useAcceptInvite, useSetUpInvitesListeners, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSingleInvite, } from './hooks/invites.js';
4
+ export { useAcceptInvite, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSetUpInvitesListeners, useSingleInvite, } from './hooks/invites.js';
5
5
  export { useMapStyleUrl } from './hooks/maps.js';
6
- export { useAddServerPeer, useAttachmentUrl, useCreateBlob, useCreateProject, useDataSyncProgress, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
6
+ export { useAddServerPeer, useAttachmentUrl, useConnectSyncServers, useCreateBlob, useCreateProject, useDataSyncProgress, useDisconnectSyncServers, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSetAutostopDataSyncTimeout, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
7
7
  export { type SyncState } from './lib/sync.js';
8
8
  export { type WriteableDocument, type WriteableDocumentType, type WriteableValue, } from './lib/types.js';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useUpdateProjectSettings = exports.useSyncState = exports.useStopSync = exports.useStartSync = exports.useSingleProject = exports.useSingleMember = exports.useRemoveServerPeer = exports.useProjectSettings = exports.useOwnRoleInProject = exports.useManyProjects = exports.useManyMembers = exports.useLeaveProject = exports.useImportProjectConfig = exports.useIconUrl = exports.useDocumentCreatedBy = exports.useDataSyncProgress = exports.useCreateProject = exports.useCreateBlob = exports.useAttachmentUrl = exports.useAddServerPeer = exports.useMapStyleUrl = exports.useSingleInvite = exports.useSendInvite = exports.useRequestCancelInvite = exports.useRejectInvite = exports.useManyInvites = exports.useSetUpInvitesListeners = exports.useAcceptInvite = exports.useUpdateDocument = exports.useSingleDocByVersionId = exports.useSingleDocByDocId = exports.useManyDocs = exports.useDeleteDocument = exports.useCreateDocument = exports.useSetOwnDeviceInfo = exports.useSetIsArchiveDevice = exports.useOwnDeviceInfo = exports.useIsArchiveDevice = exports.useClientApi = exports.ClientApiProvider = exports.ClientApiContext = void 0;
3
+ exports.useUpdateProjectSettings = exports.useSyncState = exports.useStopSync = exports.useStartSync = exports.useSingleProject = exports.useSingleMember = exports.useSetAutostopDataSyncTimeout = exports.useRemoveServerPeer = exports.useProjectSettings = exports.useOwnRoleInProject = exports.useManyProjects = exports.useManyMembers = exports.useLeaveProject = exports.useImportProjectConfig = exports.useIconUrl = exports.useDocumentCreatedBy = exports.useDisconnectSyncServers = exports.useDataSyncProgress = exports.useCreateProject = exports.useCreateBlob = exports.useConnectSyncServers = exports.useAttachmentUrl = exports.useAddServerPeer = exports.useMapStyleUrl = exports.useSingleInvite = exports.useSetUpInvitesListeners = exports.useSendInvite = exports.useRequestCancelInvite = exports.useRejectInvite = exports.useManyInvites = exports.useAcceptInvite = exports.useUpdateDocument = exports.useSingleDocByVersionId = exports.useSingleDocByDocId = exports.useManyDocs = exports.useDeleteDocument = exports.useCreateDocument = exports.useSetOwnDeviceInfo = exports.useSetIsArchiveDevice = exports.useOwnDeviceInfo = exports.useIsArchiveDevice = exports.useClientApi = exports.ClientApiProvider = exports.ClientApiContext = void 0;
4
4
  var ClientApi_js_1 = require("./contexts/ClientApi.js");
5
5
  Object.defineProperty(exports, "ClientApiContext", { enumerable: true, get: function () { return ClientApi_js_1.ClientApiContext; } });
6
6
  Object.defineProperty(exports, "ClientApiProvider", { enumerable: true, get: function () { return ClientApi_js_1.ClientApiProvider; } });
@@ -19,20 +19,22 @@ Object.defineProperty(exports, "useSingleDocByVersionId", { enumerable: true, ge
19
19
  Object.defineProperty(exports, "useUpdateDocument", { enumerable: true, get: function () { return documents_js_1.useUpdateDocument; } });
20
20
  var invites_js_1 = require("./hooks/invites.js");
21
21
  Object.defineProperty(exports, "useAcceptInvite", { enumerable: true, get: function () { return invites_js_1.useAcceptInvite; } });
22
- Object.defineProperty(exports, "useSetUpInvitesListeners", { enumerable: true, get: function () { return invites_js_1.useSetUpInvitesListeners; } });
23
22
  Object.defineProperty(exports, "useManyInvites", { enumerable: true, get: function () { return invites_js_1.useManyInvites; } });
24
23
  Object.defineProperty(exports, "useRejectInvite", { enumerable: true, get: function () { return invites_js_1.useRejectInvite; } });
25
24
  Object.defineProperty(exports, "useRequestCancelInvite", { enumerable: true, get: function () { return invites_js_1.useRequestCancelInvite; } });
26
25
  Object.defineProperty(exports, "useSendInvite", { enumerable: true, get: function () { return invites_js_1.useSendInvite; } });
26
+ Object.defineProperty(exports, "useSetUpInvitesListeners", { enumerable: true, get: function () { return invites_js_1.useSetUpInvitesListeners; } });
27
27
  Object.defineProperty(exports, "useSingleInvite", { enumerable: true, get: function () { return invites_js_1.useSingleInvite; } });
28
28
  var maps_js_1 = require("./hooks/maps.js");
29
29
  Object.defineProperty(exports, "useMapStyleUrl", { enumerable: true, get: function () { return maps_js_1.useMapStyleUrl; } });
30
30
  var projects_js_1 = require("./hooks/projects.js");
31
31
  Object.defineProperty(exports, "useAddServerPeer", { enumerable: true, get: function () { return projects_js_1.useAddServerPeer; } });
32
32
  Object.defineProperty(exports, "useAttachmentUrl", { enumerable: true, get: function () { return projects_js_1.useAttachmentUrl; } });
33
+ Object.defineProperty(exports, "useConnectSyncServers", { enumerable: true, get: function () { return projects_js_1.useConnectSyncServers; } });
33
34
  Object.defineProperty(exports, "useCreateBlob", { enumerable: true, get: function () { return projects_js_1.useCreateBlob; } });
34
35
  Object.defineProperty(exports, "useCreateProject", { enumerable: true, get: function () { return projects_js_1.useCreateProject; } });
35
36
  Object.defineProperty(exports, "useDataSyncProgress", { enumerable: true, get: function () { return projects_js_1.useDataSyncProgress; } });
37
+ Object.defineProperty(exports, "useDisconnectSyncServers", { enumerable: true, get: function () { return projects_js_1.useDisconnectSyncServers; } });
36
38
  Object.defineProperty(exports, "useDocumentCreatedBy", { enumerable: true, get: function () { return projects_js_1.useDocumentCreatedBy; } });
37
39
  Object.defineProperty(exports, "useIconUrl", { enumerable: true, get: function () { return projects_js_1.useIconUrl; } });
38
40
  Object.defineProperty(exports, "useImportProjectConfig", { enumerable: true, get: function () { return projects_js_1.useImportProjectConfig; } });
@@ -42,6 +44,7 @@ Object.defineProperty(exports, "useManyProjects", { enumerable: true, get: funct
42
44
  Object.defineProperty(exports, "useOwnRoleInProject", { enumerable: true, get: function () { return projects_js_1.useOwnRoleInProject; } });
43
45
  Object.defineProperty(exports, "useProjectSettings", { enumerable: true, get: function () { return projects_js_1.useProjectSettings; } });
44
46
  Object.defineProperty(exports, "useRemoveServerPeer", { enumerable: true, get: function () { return projects_js_1.useRemoveServerPeer; } });
47
+ Object.defineProperty(exports, "useSetAutostopDataSyncTimeout", { enumerable: true, get: function () { return projects_js_1.useSetAutostopDataSyncTimeout; } });
45
48
  Object.defineProperty(exports, "useSingleMember", { enumerable: true, get: function () { return projects_js_1.useSingleMember; } });
46
49
  Object.defineProperty(exports, "useSingleProject", { enumerable: true, get: function () { return projects_js_1.useSingleProject; } });
47
50
  Object.defineProperty(exports, "useStartSync", { enumerable: true, get: function () { return projects_js_1.useStartSync; } });
@@ -321,6 +321,8 @@ export declare function updateProjectSettingsMutationOptions({ projectApi, query
321
321
  name?: ProjectSettings["name"];
322
322
  configMetadata?: ProjectSettings["configMetadata"];
323
323
  defaultPresets?: ProjectSettings["defaultPresets"];
324
+ projectColor?: ProjectSettings["projectColor"];
325
+ projectDescription?: ProjectSettings["projectDescription"];
324
326
  }) => Promise<EditableProjectSettings>;
325
327
  onSuccess: () => void;
326
328
  networkMode: "always";
@@ -359,3 +361,26 @@ export declare function stopSyncMutationOptions({ projectApi, }: {
359
361
  networkMode: "always";
360
362
  retry: false;
361
363
  };
364
+ export declare function connectSyncServersMutationOptions({ projectApi, }: {
365
+ projectApi: MapeoProjectApi;
366
+ }): {
367
+ mutationFn: () => Promise<void>;
368
+ networkMode: "always";
369
+ retry: false;
370
+ };
371
+ export declare function disconnectSyncServersMutationOptions({ projectApi, }: {
372
+ projectApi: MapeoProjectApi;
373
+ }): {
374
+ mutationFn: () => Promise<void>;
375
+ networkMode: "always";
376
+ retry: false;
377
+ };
378
+ export declare function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }: {
379
+ projectApi: MapeoProjectApi;
380
+ }): {
381
+ mutationFn: ({ after }: {
382
+ after: number | null;
383
+ }) => Promise<void>;
384
+ networkMode: "always";
385
+ retry: false;
386
+ };
@@ -27,6 +27,9 @@ exports.updateProjectSettingsMutationOptions = updateProjectSettingsMutationOpti
27
27
  exports.createBlobMutationOptions = createBlobMutationOptions;
28
28
  exports.startSyncMutationOptions = startSyncMutationOptions;
29
29
  exports.stopSyncMutationOptions = stopSyncMutationOptions;
30
+ exports.connectSyncServersMutationOptions = connectSyncServersMutationOptions;
31
+ exports.disconnectSyncServersMutationOptions = disconnectSyncServersMutationOptions;
32
+ exports.setAutostopDataSyncTimeoutMutationOptions = setAutostopDataSyncTimeoutMutationOptions;
30
33
  const react_query_1 = require("@tanstack/react-query");
31
34
  const shared_js_1 = require("./shared.js");
32
35
  function getProjectsQueryKey() {
@@ -269,3 +272,27 @@ function stopSyncMutationOptions({ projectApi, }) {
269
272
  },
270
273
  };
271
274
  }
275
+ function connectSyncServersMutationOptions({ projectApi, }) {
276
+ return {
277
+ ...(0, shared_js_1.baseMutationOptions)(),
278
+ mutationFn: async () => {
279
+ return projectApi.$sync.connectServers();
280
+ },
281
+ };
282
+ }
283
+ function disconnectSyncServersMutationOptions({ projectApi, }) {
284
+ return {
285
+ ...(0, shared_js_1.baseMutationOptions)(),
286
+ mutationFn: async () => {
287
+ return projectApi.$sync.disconnectServers();
288
+ },
289
+ };
290
+ }
291
+ function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }) {
292
+ return {
293
+ ...(0, shared_js_1.baseMutationOptions)(),
294
+ mutationFn: async ({ after }) => {
295
+ return projectApi.$sync.setAutostopDataSyncTimeout(after);
296
+ },
297
+ };
298
+ }
@@ -419,11 +419,15 @@ export declare function useUpdateProjectSettings({ projectId }: {
419
419
  name?: import("@comapeo/schema").ProjectSettings["name"];
420
420
  configMetadata?: import("@comapeo/schema").ProjectSettings["configMetadata"];
421
421
  defaultPresets?: import("@comapeo/schema").ProjectSettings["defaultPresets"];
422
+ projectColor?: import("@comapeo/schema").ProjectSettings["projectColor"];
423
+ projectDescription?: import("@comapeo/schema").ProjectSettings["projectDescription"];
422
424
  }, unknown>;
423
425
  mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("@comapeo/core/dist/mapeo-project.js").EditableProjectSettings, Error, {
424
426
  name?: import("@comapeo/schema").ProjectSettings["name"];
425
427
  configMetadata?: import("@comapeo/schema").ProjectSettings["configMetadata"];
426
428
  defaultPresets?: import("@comapeo/schema").ProjectSettings["defaultPresets"];
429
+ projectColor?: import("@comapeo/schema").ProjectSettings["projectColor"];
430
+ projectDescription?: import("@comapeo/schema").ProjectSettings["projectDescription"];
427
431
  }, unknown>;
428
432
  reset: () => void;
429
433
  status: "error";
@@ -433,11 +437,15 @@ export declare function useUpdateProjectSettings({ projectId }: {
433
437
  name?: import("@comapeo/schema").ProjectSettings["name"];
434
438
  configMetadata?: import("@comapeo/schema").ProjectSettings["configMetadata"];
435
439
  defaultPresets?: import("@comapeo/schema").ProjectSettings["defaultPresets"];
440
+ projectColor?: import("@comapeo/schema").ProjectSettings["projectColor"];
441
+ projectDescription?: import("@comapeo/schema").ProjectSettings["projectDescription"];
436
442
  }, unknown>;
437
443
  mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("@comapeo/core/dist/mapeo-project.js").EditableProjectSettings, Error, {
438
444
  name?: import("@comapeo/schema").ProjectSettings["name"];
439
445
  configMetadata?: import("@comapeo/schema").ProjectSettings["configMetadata"];
440
446
  defaultPresets?: import("@comapeo/schema").ProjectSettings["defaultPresets"];
447
+ projectColor?: import("@comapeo/schema").ProjectSettings["projectColor"];
448
+ projectDescription?: import("@comapeo/schema").ProjectSettings["projectDescription"];
441
449
  }, unknown>;
442
450
  reset: () => void;
443
451
  status: "pending" | "success" | "idle";
@@ -573,3 +581,56 @@ export declare function useStopSync({ projectId }: {
573
581
  reset: () => void;
574
582
  status: "pending" | "success" | "idle";
575
583
  };
584
+ export declare function useConnectSyncServers({ projectId }: {
585
+ projectId: string;
586
+ }): {
587
+ error: Error;
588
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
589
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
590
+ reset: () => void;
591
+ status: "error";
592
+ } | {
593
+ error: null;
594
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
595
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
596
+ reset: () => void;
597
+ status: "pending" | "success" | "idle";
598
+ };
599
+ export declare function useDisconnectSyncServers({ projectId }: {
600
+ projectId: string;
601
+ }): {
602
+ error: Error;
603
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
604
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
605
+ reset: () => void;
606
+ status: "error";
607
+ } | {
608
+ error: null;
609
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, void, unknown>;
610
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, void, unknown>;
611
+ reset: () => void;
612
+ status: "pending" | "success" | "idle";
613
+ };
614
+ export declare function useSetAutostopDataSyncTimeout({ projectId, }: {
615
+ projectId: string;
616
+ }): {
617
+ error: Error;
618
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
619
+ after: number | null;
620
+ }, unknown>;
621
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
622
+ after: number | null;
623
+ }, unknown>;
624
+ reset: () => void;
625
+ status: "error";
626
+ } | {
627
+ error: null;
628
+ mutate: import("@tanstack/react-query").UseMutateFunction<void, Error, {
629
+ after: number | null;
630
+ }, unknown>;
631
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<void, Error, {
632
+ after: number | null;
633
+ }, unknown>;
634
+ reset: () => void;
635
+ status: "pending" | "success" | "idle";
636
+ };
@@ -1,6 +1,6 @@
1
1
  import { useMutation, useQueryClient, useSuspenseQuery, } from '@tanstack/react-query';
2
2
  import { useSyncExternalStore } from 'react';
3
- import { addServerPeerMutationOptions, attachmentUrlQueryOptions, createBlobMutationOptions, createProjectMutationOptions, documentCreatedByQueryOptions, iconUrlQueryOptions, importProjectConfigMutationOptions, leaveProjectMutationOptions, projectByIdQueryOptions, projectMemberByIdQueryOptions, projectMembersQueryOptions, projectOwnRoleQueryOptions, projectSettingsQueryOptions, projectsQueryOptions, removeServerPeerMutationOptions, startSyncMutationOptions, stopSyncMutationOptions, updateProjectSettingsMutationOptions, } from '../lib/react-query/projects.js';
3
+ import { addServerPeerMutationOptions, attachmentUrlQueryOptions, connectSyncServersMutationOptions, createBlobMutationOptions, createProjectMutationOptions, disconnectSyncServersMutationOptions, documentCreatedByQueryOptions, iconUrlQueryOptions, importProjectConfigMutationOptions, leaveProjectMutationOptions, projectByIdQueryOptions, projectMemberByIdQueryOptions, projectMembersQueryOptions, projectOwnRoleQueryOptions, projectSettingsQueryOptions, projectsQueryOptions, removeServerPeerMutationOptions, setAutostopDataSyncTimeoutMutationOptions, startSyncMutationOptions, stopSyncMutationOptions, updateProjectSettingsMutationOptions, } from '../lib/react-query/projects.js';
4
4
  import { SyncStore } from '../lib/sync.js';
5
5
  import { useClientApi } from './client.js';
6
6
  /**
@@ -404,3 +404,24 @@ export function useStopSync({ projectId }) {
404
404
  ? { error, mutate, mutateAsync, reset, status }
405
405
  : { error: null, mutate, mutateAsync, reset, status };
406
406
  }
407
+ export function useConnectSyncServers({ projectId }) {
408
+ const { data: projectApi } = useSingleProject({ projectId });
409
+ const { error, mutate, mutateAsync, reset, status } = useMutation(connectSyncServersMutationOptions({ projectApi }));
410
+ return status === 'error'
411
+ ? { error, mutate, mutateAsync, reset, status }
412
+ : { error: null, mutate, mutateAsync, reset, status };
413
+ }
414
+ export function useDisconnectSyncServers({ projectId }) {
415
+ const { data: projectApi } = useSingleProject({ projectId });
416
+ const { error, mutate, mutateAsync, reset, status } = useMutation(disconnectSyncServersMutationOptions({ projectApi }));
417
+ return status === 'error'
418
+ ? { error, mutate, mutateAsync, reset, status }
419
+ : { error: null, mutate, mutateAsync, reset, status };
420
+ }
421
+ export function useSetAutostopDataSyncTimeout({ projectId, }) {
422
+ const { data: projectApi } = useSingleProject({ projectId });
423
+ const { error, mutate, mutateAsync, reset, status } = useMutation(setAutostopDataSyncTimeoutMutationOptions({ projectApi }));
424
+ return status === 'error'
425
+ ? { error, mutate, mutateAsync, reset, status }
426
+ : { error: null, mutate, mutateAsync, reset, status };
427
+ }
@@ -1,8 +1,8 @@
1
1
  export { ClientApiContext, ClientApiProvider } from './contexts/ClientApi.js';
2
2
  export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevice, useSetOwnDeviceInfo, } from './hooks/client.js';
3
3
  export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
4
- export { useAcceptInvite, useSetUpInvitesListeners, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSingleInvite, } from './hooks/invites.js';
4
+ export { useAcceptInvite, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSetUpInvitesListeners, useSingleInvite, } from './hooks/invites.js';
5
5
  export { useMapStyleUrl } from './hooks/maps.js';
6
- export { useAddServerPeer, useAttachmentUrl, useCreateBlob, useCreateProject, useDataSyncProgress, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
6
+ export { useAddServerPeer, useAttachmentUrl, useConnectSyncServers, useCreateBlob, useCreateProject, useDataSyncProgress, useDisconnectSyncServers, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSetAutostopDataSyncTimeout, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
7
7
  export { type SyncState } from './lib/sync.js';
8
8
  export { type WriteableDocument, type WriteableDocumentType, type WriteableValue, } from './lib/types.js';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { ClientApiContext, ClientApiProvider } from './contexts/ClientApi.js';
2
2
  export { useClientApi, useIsArchiveDevice, useOwnDeviceInfo, useSetIsArchiveDevice, useSetOwnDeviceInfo, } from './hooks/client.js';
3
3
  export { useCreateDocument, useDeleteDocument, useManyDocs, useSingleDocByDocId, useSingleDocByVersionId, useUpdateDocument, } from './hooks/documents.js';
4
- export { useAcceptInvite, useSetUpInvitesListeners, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSingleInvite, } from './hooks/invites.js';
4
+ export { useAcceptInvite, useManyInvites, useRejectInvite, useRequestCancelInvite, useSendInvite, useSetUpInvitesListeners, useSingleInvite, } from './hooks/invites.js';
5
5
  export { useMapStyleUrl } from './hooks/maps.js';
6
- export { useAddServerPeer, useAttachmentUrl, useCreateBlob, useCreateProject, useDataSyncProgress, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
6
+ export { useAddServerPeer, useAttachmentUrl, useConnectSyncServers, useCreateBlob, useCreateProject, useDataSyncProgress, useDisconnectSyncServers, useDocumentCreatedBy, useIconUrl, useImportProjectConfig, useLeaveProject, useManyMembers, useManyProjects, useOwnRoleInProject, useProjectSettings, useRemoveServerPeer, useSetAutostopDataSyncTimeout, useSingleMember, useSingleProject, useStartSync, useStopSync, useSyncState, useUpdateProjectSettings, } from './hooks/projects.js';
@@ -321,6 +321,8 @@ export declare function updateProjectSettingsMutationOptions({ projectApi, query
321
321
  name?: ProjectSettings["name"];
322
322
  configMetadata?: ProjectSettings["configMetadata"];
323
323
  defaultPresets?: ProjectSettings["defaultPresets"];
324
+ projectColor?: ProjectSettings["projectColor"];
325
+ projectDescription?: ProjectSettings["projectDescription"];
324
326
  }) => Promise<EditableProjectSettings>;
325
327
  onSuccess: () => void;
326
328
  networkMode: "always";
@@ -359,3 +361,26 @@ export declare function stopSyncMutationOptions({ projectApi, }: {
359
361
  networkMode: "always";
360
362
  retry: false;
361
363
  };
364
+ export declare function connectSyncServersMutationOptions({ projectApi, }: {
365
+ projectApi: MapeoProjectApi;
366
+ }): {
367
+ mutationFn: () => Promise<void>;
368
+ networkMode: "always";
369
+ retry: false;
370
+ };
371
+ export declare function disconnectSyncServersMutationOptions({ projectApi, }: {
372
+ projectApi: MapeoProjectApi;
373
+ }): {
374
+ mutationFn: () => Promise<void>;
375
+ networkMode: "always";
376
+ retry: false;
377
+ };
378
+ export declare function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }: {
379
+ projectApi: MapeoProjectApi;
380
+ }): {
381
+ mutationFn: ({ after }: {
382
+ after: number | null;
383
+ }) => Promise<void>;
384
+ networkMode: "always";
385
+ retry: false;
386
+ };
@@ -240,3 +240,27 @@ export function stopSyncMutationOptions({ projectApi, }) {
240
240
  },
241
241
  };
242
242
  }
243
+ export function connectSyncServersMutationOptions({ projectApi, }) {
244
+ return {
245
+ ...baseMutationOptions(),
246
+ mutationFn: async () => {
247
+ return projectApi.$sync.connectServers();
248
+ },
249
+ };
250
+ }
251
+ export function disconnectSyncServersMutationOptions({ projectApi, }) {
252
+ return {
253
+ ...baseMutationOptions(),
254
+ mutationFn: async () => {
255
+ return projectApi.$sync.disconnectServers();
256
+ },
257
+ };
258
+ }
259
+ export function setAutostopDataSyncTimeoutMutationOptions({ projectApi, }) {
260
+ return {
261
+ ...baseMutationOptions(),
262
+ mutationFn: async ({ after }) => {
263
+ return projectApi.$sync.setAutostopDataSyncTimeout(after);
264
+ },
265
+ };
266
+ }
package/docs/API.md CHANGED
@@ -26,6 +26,9 @@
26
26
  - [useDataSyncProgress](#usedatasyncprogress)
27
27
  - [useStartSync](#usestartsync)
28
28
  - [useStopSync](#usestopsync)
29
+ - [useConnectSyncServers](#useconnectsyncservers)
30
+ - [useDisconnectSyncServers](#usedisconnectsyncservers)
31
+ - [useSetAutostopDataSyncTimeout](#usesetautostopdatasynctimeout)
29
32
  - [useSingleDocByDocId](#usesingledocbydocid)
30
33
  - [useSingleDocByVersionId](#usesingledocbyversionid)
31
34
  - [useManyDocs](#usemanydocs)
@@ -454,7 +457,7 @@ Update the settings of a project.
454
457
 
455
458
  | Function | Type |
456
459
  | ---------- | ---------- |
457
- | `useUpdateProjectSettings` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<EditableProjectSettings, Error, { name?: string or undefined; configMetadata?: { ...; } or undefined; defaultPresets?: { ...; } or undefined; }, unknown>; mutateAsync: UseMutateAsyncFunction<...>; reset: () => void; status: "error"; } ...` |
460
+ | `useUpdateProjectSettings` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<EditableProjectSettings, Error, { name?: string or undefined; configMetadata?: { ...; } or undefined; defaultPresets?: { ...; } or undefined; projectColor?: string or undefined; projectDescription?: string or undefined; }, unknown>; muta...` |
458
461
 
459
462
  Parameters:
460
463
 
@@ -526,6 +529,24 @@ Provides the progress of data sync for sync-enabled connected peers
526
529
  | ---------- | ---------- |
527
530
  | `useStopSync` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, void, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, void, unknown>; reset: () => void; status: "error"; } or { ...; }` |
528
531
 
532
+ ### useConnectSyncServers
533
+
534
+ | Function | Type |
535
+ | ---------- | ---------- |
536
+ | `useConnectSyncServers` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, void, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, void, unknown>; reset: () => void; status: "error"; } or { ...; }` |
537
+
538
+ ### useDisconnectSyncServers
539
+
540
+ | Function | Type |
541
+ | ---------- | ---------- |
542
+ | `useDisconnectSyncServers` | `({ projectId }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, void, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, void, unknown>; reset: () => void; status: "error"; } or { ...; }` |
543
+
544
+ ### useSetAutostopDataSyncTimeout
545
+
546
+ | Function | Type |
547
+ | ---------- | ---------- |
548
+ | `useSetAutostopDataSyncTimeout` | `({ projectId, }: { projectId: string; }) => { error: Error; mutate: UseMutateFunction<void, Error, { after: number or null; }, unknown>; mutateAsync: UseMutateAsyncFunction<void, Error, { ...; }, unknown>; reset: () => void; status: "error"; } or { ...; }` |
549
+
529
550
  ### useSingleDocByDocId
530
551
 
531
552
  Retrieve a single document from the database based on the document's document ID.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comapeo/core-react",
3
- "version": "4.1.0",
3
+ "version": "4.2.1",
4
4
  "description": "React wrapper for working with @comapeo/core",
5
5
  "repository": {
6
6
  "type": "git",