@dxos/plugin-space 0.8.2-main.f11618f → 0.8.2-staging.7ac8446
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{app-graph-builder-ZWNOWRAX.mjs → app-graph-builder-GMFCSOLG.mjs} +7 -61
- package/dist/lib/browser/app-graph-builder-GMFCSOLG.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-DSF2U3A5.mjs} +8 -8
- package/dist/lib/browser/app-graph-serializer-DSF2U3A5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-5BDV575R.mjs} +8 -20
- package/dist/lib/browser/chunk-5BDV575R.mjs.map +7 -0
- package/dist/lib/browser/{chunk-O7WGQVLQ.mjs → chunk-AYW4IDRT.mjs} +4 -35
- package/dist/lib/browser/chunk-AYW4IDRT.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4226DMDP.mjs → chunk-JZXWPMLA.mjs} +666 -522
- package/dist/lib/browser/chunk-JZXWPMLA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-LO5UL6RU.mjs} +141 -60
- package/dist/lib/browser/chunk-LO5UL6RU.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-JR7BNXFH.mjs} +4 -4
- package/dist/lib/browser/identity-created-JR7BNXFH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +33 -12
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-RKYILWWQ.mjs} +82 -92
- package/dist/lib/browser/intent-resolver-RKYILWWQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-6H7NX2M2.mjs} +4 -4
- package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-7AGLOVMK.mjs} +47 -121
- package/dist/lib/browser/react-surface-7AGLOVMK.mjs.map +7 -0
- package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-PJPTJUPE.mjs} +4 -4
- package/dist/lib/browser/settings-PJPTJUPE.mjs.map +7 -0
- package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-BSSP7HHG.mjs} +5 -5
- package/dist/lib/browser/spaces-ready-BSSP7HHG.mjs.map +7 -0
- package/dist/lib/browser/{state-CYV6QCTN.mjs → state-X7VLCC6E.mjs} +3 -1
- package/dist/lib/browser/state-X7VLCC6E.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -7
- package/dist/lib/node/{app-graph-builder-LLIV422L.cjs → app-graph-builder-DPY7AUZE.cjs} +30 -83
- package/dist/lib/node/app-graph-builder-DPY7AUZE.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-JELGJUAY.cjs} +20 -20
- package/dist/lib/node/app-graph-serializer-JELGJUAY.cjs.map +7 -0
- package/dist/lib/node/{chunk-ZMQO74LX.cjs → chunk-3GKCNADA.cjs} +655 -513
- package/dist/lib/node/chunk-3GKCNADA.cjs.map +7 -0
- package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-PU2EYH4E.cjs} +12 -24
- package/dist/lib/node/chunk-PU2EYH4E.cjs.map +7 -0
- package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-TUZWEPGX.cjs} +167 -84
- package/dist/lib/node/chunk-TUZWEPGX.cjs.map +7 -0
- package/dist/lib/node/{chunk-EQ5BPSQ7.cjs → chunk-WDEIFDTX.cjs} +7 -41
- package/dist/lib/node/chunk-WDEIFDTX.cjs.map +7 -0
- package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-XU4HFV2T.cjs} +6 -6
- package/dist/lib/node/identity-created-XU4HFV2T.cjs.map +7 -0
- package/dist/lib/node/index.cjs +89 -68
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-VJ7YV74L.cjs} +131 -141
- package/dist/lib/node/intent-resolver-VJ7YV74L.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-TEL5RW3N.cjs} +8 -8
- package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-2H3S5TY5.cjs} +74 -146
- package/dist/lib/node/react-surface-2H3S5TY5.cjs.map +7 -0
- package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-WVFP2UEP.cjs} +7 -7
- package/dist/lib/node/settings-WVFP2UEP.cjs.map +7 -0
- package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-7DNZSUOG.cjs} +12 -12
- package/dist/lib/node/spaces-ready-7DNZSUOG.cjs.map +7 -0
- package/dist/lib/node/{state-JLN7TGRR.cjs → state-5KX6WBJH.cjs} +6 -4
- package/dist/lib/node/state-5KX6WBJH.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +12 -18
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{app-graph-builder-HSGLCS76.mjs → app-graph-builder-42IGWRPL.mjs} +7 -61
- package/dist/lib/node-esm/app-graph-builder-42IGWRPL.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-FXONFKOE.mjs} +8 -8
- package/dist/lib/node-esm/app-graph-serializer-FXONFKOE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-3ZOUV4DF.mjs} +8 -20
- package/dist/lib/node-esm/chunk-3ZOUV4DF.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PQI4D4SH.mjs → chunk-BEWBZ4Q4.mjs} +666 -522
- package/dist/lib/node-esm/chunk-BEWBZ4Q4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FJPCLEKN.mjs → chunk-FC4UHDPL.mjs} +4 -35
- package/dist/lib/node-esm/chunk-FC4UHDPL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-ZGLK25WQ.mjs} +141 -60
- package/dist/lib/node-esm/chunk-ZGLK25WQ.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-WJKAS2PV.mjs} +4 -4
- package/dist/lib/node-esm/identity-created-WJKAS2PV.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +33 -12
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-ZFNSA4CM.mjs} +82 -92
- package/dist/lib/node-esm/intent-resolver-ZFNSA4CM.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-PRBJMWLQ.mjs} +4 -4
- package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-RCZG2PNF.mjs} +47 -121
- package/dist/lib/node-esm/react-surface-RCZG2PNF.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-FJZPC2TV.mjs} +4 -4
- package/dist/lib/node-esm/settings-FJZPC2TV.mjs.map +7 -0
- package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-7X5PGB2V.mjs} +5 -5
- package/dist/lib/node-esm/spaces-ready-7X5PGB2V.mjs.map +7 -0
- package/dist/lib/node-esm/{state-YZPY5T5A.mjs → state-Z6E2YTNC.mjs} +3 -1
- package/dist/lib/node-esm/state-Z6E2YTNC.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +1 -7
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +0 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettingsContainer/AdvancedObjectSettings.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/ForeignKeys.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/ShareSpaceButton.d.ts +9 -0
- package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -0
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts +10 -0
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +1 -0
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts +7 -0
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts.map +1 -0
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts +7 -0
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts.map +1 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +2 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/index.d.ts +1 -0
- package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/Space.d.ts +13 -0
- package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -0
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +8 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts +9 -0
- package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts.map +1 -0
- package/dist/types/src/components/SyncStatus/sync-state.d.ts +18 -0
- package/dist/types/src/components/SyncStatus/sync-state.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +2 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +0 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +9 -45
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/thread.d.ts +17 -241
- package/dist/types/src/types/thread.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +14 -40
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +5 -27
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +43 -44
- package/src/SpacePlugin.tsx +13 -3
- package/src/capabilities/app-graph-builder.ts +5 -44
- package/src/capabilities/app-graph-serializer.ts +4 -4
- package/src/capabilities/identity-created.ts +2 -2
- package/src/capabilities/intent-resolver.ts +84 -87
- package/src/capabilities/react-surface.tsx +37 -106
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/spaces-ready.ts +2 -2
- package/src/capabilities/state.ts +2 -0
- package/src/components/CollectionMain.tsx +5 -2
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -2
- package/src/components/CreateDialog/CreateObjectDialog.tsx +3 -3
- package/src/components/CreateDialog/CreateObjectPanel.tsx +25 -3
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +0 -4
- package/src/components/MembersContainer.tsx +54 -80
- package/src/components/PopoverAddSpace.tsx +3 -9
- package/src/components/PopoverRenameObject.tsx +8 -14
- package/src/components/PopoverRenameSpace.tsx +0 -8
- package/src/components/ShareSpaceButton.stories.tsx +27 -0
- package/src/components/ShareSpaceButton.tsx +32 -0
- package/src/components/SpacePluginSettings.tsx +2 -27
- package/src/components/SpacePresence.tsx +25 -29
- package/src/components/SpaceSettings/{SpaceSettingsContainer.stories.tsx → SpacePropertiesForm.stories.tsx} +6 -6
- package/src/components/SpaceSettings/SpacePropertiesForm.tsx +136 -0
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +39 -157
- package/src/components/SpaceSettings/index.ts +1 -0
- package/src/components/SyncStatus/InlineSyncStatus.tsx +7 -5
- package/src/components/SyncStatus/Space.tsx +133 -0
- package/src/components/SyncStatus/SyncStatus.tsx +69 -6
- package/src/components/SyncStatus/SyncStatusDetail.stories.tsx +89 -0
- package/src/components/SyncStatus/sync-state.ts +101 -0
- package/src/components/index.ts +2 -2
- package/src/hooks/index.ts +0 -1
- package/src/translations.ts +5 -18
- package/src/types/types.ts +8 -30
- package/src/util.tsx +103 -43
- package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-UUJH7JRN.mjs.map +0 -7
- package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
- package/dist/lib/browser/chunk-DIJ7LMCS.mjs.map +0 -7
- package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
- package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
- package/dist/lib/browser/identity-created-NRVE4XLL.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-NP55M7C7.mjs.map +0 -7
- package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
- package/dist/lib/browser/settings-MVT32NP6.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-ERNSICUW.mjs.map +0 -7
- package/dist/lib/browser/state-CYV6QCTN.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-M6Z2OPA4.cjs.map +0 -7
- package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
- package/dist/lib/node/chunk-UOCR4G2D.cjs.map +0 -7
- package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
- package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
- package/dist/lib/node/identity-created-YDTRMOMX.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-3J52ARFL.cjs.map +0 -7
- package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
- package/dist/lib/node/settings-JLV7YT6Q.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-6EBR4SM4.cjs.map +0 -7
- package/dist/lib/node/state-JLN7TGRR.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-J3B4WSXU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OLISVDCF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-EC6SVYB5.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-MXQIFIRC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
- package/dist/lib/node-esm/settings-AILIMHTE.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-5PXESKHX.mjs.map +0 -7
- package/dist/lib/node-esm/state-YZPY5T5A.mjs.map +0 -7
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/SchemaContainer.d.ts +0 -13
- package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +0 -7
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +0 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +0 -14
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +0 -1
- package/src/components/SchemaContainer.tsx +0 -59
- package/src/hooks/useInputSurfaceLookup.tsx +0 -31
- /package/dist/lib/browser/{react-root-XKAUZ3X2.mjs.map → react-root-6H7NX2M2.mjs.map} +0 -0
- /package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-TEL5RW3N.cjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs.map → react-root-PRBJMWLQ.mjs.map} +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/BaseObjectSettings.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/ForeignKeys.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/ObjectSettingsContainer.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/index.d.ts +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/BaseObjectSettings.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/ForeignKeys.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/ObjectSettingsContainer.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/index.ts +0 -0
|
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_3GKCNADA_exports = {};
|
|
30
|
+
__export(chunk_3GKCNADA_exports, {
|
|
31
31
|
AppGraphBuilder: () => AppGraphBuilder,
|
|
32
32
|
AppGraphSerializer: () => AppGraphSerializer,
|
|
33
33
|
AwaitingObject: () => AwaitingObject,
|
|
@@ -55,25 +55,28 @@ __export(chunk_ZMQO74LX_exports, {
|
|
|
55
55
|
PopoverRenameSpace: () => PopoverRenameSpace,
|
|
56
56
|
ReactRoot: () => ReactRoot,
|
|
57
57
|
ReactSurface: () => ReactSurface,
|
|
58
|
+
SPACE_SETTINGS_DIALOG: () => SPACE_SETTINGS_DIALOG,
|
|
58
59
|
Schema: () => Schema,
|
|
59
|
-
|
|
60
|
+
ShareSpaceButton: () => ShareSpaceButton,
|
|
61
|
+
ShareSpaceButtonImpl: () => ShareSpaceButtonImpl,
|
|
60
62
|
SmallPresence: () => SmallPresence,
|
|
61
63
|
SmallPresenceLive: () => SmallPresenceLive,
|
|
62
64
|
SpacePluginSettings: () => SpacePluginSettings,
|
|
63
65
|
SpacePresence: () => SpacePresence,
|
|
66
|
+
SpacePropertiesForm: () => SpacePropertiesForm,
|
|
64
67
|
SpaceSettings: () => SpaceSettings,
|
|
65
68
|
SpaceSettingsContainer: () => SpaceSettingsContainer,
|
|
66
69
|
SpaceState: () => SpaceState,
|
|
67
70
|
SpacesReady: () => SpacesReady,
|
|
68
71
|
SyncStatus: () => SyncStatus,
|
|
72
|
+
SyncStatusDetail: () => SyncStatusDetail,
|
|
69
73
|
SyncStatusIndicator: () => SyncStatusIndicator,
|
|
70
|
-
Tools: () => Tools
|
|
71
|
-
useQuerySpaceSchemas: () => useQuerySpaceSchemas
|
|
74
|
+
Tools: () => Tools
|
|
72
75
|
});
|
|
73
|
-
module.exports = __toCommonJS(
|
|
76
|
+
module.exports = __toCommonJS(chunk_3GKCNADA_exports);
|
|
74
77
|
var import_chunk_IKIDS6XF = require("./chunk-IKIDS6XF.cjs");
|
|
75
|
-
var
|
|
76
|
-
var
|
|
78
|
+
var import_chunk_TUZWEPGX = require("./chunk-TUZWEPGX.cjs");
|
|
79
|
+
var import_chunk_WDEIFDTX = require("./chunk-WDEIFDTX.cjs");
|
|
77
80
|
var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
|
|
78
81
|
var import_react = require("@phosphor-icons/react");
|
|
79
82
|
var import_react2 = __toESM(require("react"));
|
|
@@ -90,6 +93,7 @@ var import_react_client2 = require("@dxos/react-client");
|
|
|
90
93
|
var import_echo2 = require("@dxos/react-client/echo");
|
|
91
94
|
var import_react_ui2 = require("@dxos/react-ui");
|
|
92
95
|
var import_react4 = __toESM(require("react"));
|
|
96
|
+
var import_app_framework3 = require("@dxos/app-framework");
|
|
93
97
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
94
98
|
var import_invariant2 = require("@dxos/invariant");
|
|
95
99
|
var import_react_ui3 = require("@dxos/react-ui");
|
|
@@ -97,31 +101,27 @@ var import_react_ui_form = require("@dxos/react-ui-form");
|
|
|
97
101
|
var import_react_ui_searchlist = require("@dxos/react-ui-searchlist");
|
|
98
102
|
var import_react_ui_theme2 = require("@dxos/react-ui-theme");
|
|
99
103
|
var import_util = require("@dxos/util");
|
|
100
|
-
var import_react5 = __toESM(require("react"));
|
|
101
|
-
var import_app_framework3 = require("@dxos/app-framework");
|
|
102
|
-
var import_react6 = require("react");
|
|
103
104
|
var import_app_framework4 = require("@dxos/app-framework");
|
|
104
105
|
var import_effect2 = require("effect");
|
|
105
|
-
var
|
|
106
|
+
var import_react5 = __toESM(require("react"));
|
|
106
107
|
var import_app_framework5 = require("@dxos/app-framework");
|
|
107
108
|
var import_react_ui4 = require("@dxos/react-ui");
|
|
108
109
|
var import_react_ui_form2 = require("@dxos/react-ui-form");
|
|
109
|
-
var
|
|
110
|
+
var import_react6 = __toESM(require("react"));
|
|
110
111
|
var import_react_ui5 = require("@dxos/react-ui");
|
|
111
112
|
var import_react_ui_theme3 = require("@dxos/react-ui-theme");
|
|
112
|
-
var
|
|
113
|
+
var import_react7 = __toESM(require("react"));
|
|
113
114
|
var import_react_ui6 = require("@dxos/react-ui");
|
|
114
|
-
var
|
|
115
|
+
var import_react8 = __toESM(require("react"));
|
|
115
116
|
var import_app_framework6 = require("@dxos/app-framework");
|
|
116
117
|
var import_async = require("@dxos/async");
|
|
117
118
|
var import_types = require("@dxos/plugin-observability/types");
|
|
118
119
|
var import_react_client3 = require("@dxos/react-client");
|
|
119
120
|
var import_react_ui7 = require("@dxos/react-ui");
|
|
120
|
-
var
|
|
121
|
-
var
|
|
122
|
-
var
|
|
121
|
+
var import_react9 = require("@dxos/shell/react");
|
|
122
|
+
var import_react10 = require("@phosphor-icons/react");
|
|
123
|
+
var import_react11 = __toESM(require("react"));
|
|
123
124
|
var import_react_qr_rounded = require("react-qr-rounded");
|
|
124
|
-
var import_app_framework7 = require("@dxos/app-framework");
|
|
125
125
|
var import_log = require("@dxos/log");
|
|
126
126
|
var import_react_client4 = require("@dxos/react-client");
|
|
127
127
|
var import_echo3 = require("@dxos/react-client/echo");
|
|
@@ -130,48 +130,45 @@ var import_react_ui8 = require("@dxos/react-ui");
|
|
|
130
130
|
var import_react_ui_form3 = require("@dxos/react-ui-form");
|
|
131
131
|
var import_react_ui_stack = require("@dxos/react-ui-stack");
|
|
132
132
|
var import_react_ui_theme4 = require("@dxos/react-ui-theme");
|
|
133
|
-
var
|
|
133
|
+
var import_react12 = require("@dxos/shell/react");
|
|
134
134
|
var import_util2 = require("@dxos/util");
|
|
135
|
-
var
|
|
136
|
-
var
|
|
135
|
+
var import_react13 = require("@phosphor-icons/react");
|
|
136
|
+
var import_react14 = __toESM(require("react"));
|
|
137
137
|
var import_echo4 = require("@dxos/client/echo");
|
|
138
138
|
var import_react_client5 = require("@dxos/react-client");
|
|
139
139
|
var import_react_ui9 = require("@dxos/react-ui");
|
|
140
|
-
var
|
|
141
|
-
var
|
|
140
|
+
var import_react15 = __toESM(require("react"));
|
|
141
|
+
var import_app_framework7 = require("@dxos/app-framework");
|
|
142
142
|
var import_react_ui10 = require("@dxos/react-ui");
|
|
143
143
|
var import_react_ui_stack2 = require("@dxos/react-ui-stack");
|
|
144
|
-
var
|
|
144
|
+
var import_react16 = __toESM(require("react"));
|
|
145
145
|
var import_echo_schema2 = require("@dxos/echo-schema");
|
|
146
146
|
var import_echo5 = require("@dxos/react-client/echo");
|
|
147
147
|
var import_react_ui11 = require("@dxos/react-ui");
|
|
148
148
|
var import_react_ui_form4 = require("@dxos/react-ui-form");
|
|
149
|
-
var
|
|
149
|
+
var import_react17 = __toESM(require("react"));
|
|
150
150
|
var import_react_ui12 = require("@dxos/react-ui");
|
|
151
|
-
var
|
|
151
|
+
var import_react18 = __toESM(require("react"));
|
|
152
152
|
var import_react_ui13 = require("@dxos/react-ui");
|
|
153
153
|
var import_react_ui_theme5 = require("@dxos/react-ui-theme");
|
|
154
|
-
var
|
|
155
|
-
var
|
|
154
|
+
var import_react19 = require("@phosphor-icons/react");
|
|
155
|
+
var import_react20 = __toESM(require("react"));
|
|
156
156
|
var import_async2 = require("@dxos/async");
|
|
157
157
|
var import_react_ui14 = require("@dxos/react-ui");
|
|
158
158
|
var import_react_ui_theme6 = require("@dxos/react-ui-theme");
|
|
159
|
-
var
|
|
160
|
-
var
|
|
159
|
+
var import_react21 = __toESM(require("react"));
|
|
160
|
+
var import_app_framework8 = require("@dxos/app-framework");
|
|
161
161
|
var import_react_ui15 = require("@dxos/react-ui");
|
|
162
|
-
var
|
|
163
|
-
var import_app_framework10 = require("@dxos/app-framework");
|
|
162
|
+
var import_react22 = __toESM(require("react"));
|
|
164
163
|
var import_log2 = require("@dxos/log");
|
|
165
164
|
var import_react_ui16 = require("@dxos/react-ui");
|
|
166
|
-
var
|
|
167
|
-
var import_app_framework11 = require("@dxos/app-framework");
|
|
165
|
+
var import_react23 = __toESM(require("react"));
|
|
168
166
|
var import_react_ui17 = require("@dxos/react-ui");
|
|
169
|
-
var
|
|
167
|
+
var import_react24 = __toESM(require("react"));
|
|
168
|
+
var import_app_framework9 = require("@dxos/app-framework");
|
|
170
169
|
var import_react_ui18 = require("@dxos/react-ui");
|
|
171
|
-
var
|
|
172
|
-
var
|
|
173
|
-
var import_react27 = __toESM(require("react"));
|
|
174
|
-
var import_app_framework12 = require("@dxos/app-framework");
|
|
170
|
+
var import_react25 = __toESM(require("react"));
|
|
171
|
+
var import_app_framework10 = require("@dxos/app-framework");
|
|
175
172
|
var import_display_name = require("@dxos/display-name");
|
|
176
173
|
var import_react_client6 = require("@dxos/react-client");
|
|
177
174
|
var import_echo6 = require("@dxos/react-client/echo");
|
|
@@ -179,37 +176,46 @@ var import_halo = require("@dxos/react-client/halo");
|
|
|
179
176
|
var import_react_ui19 = require("@dxos/react-ui");
|
|
180
177
|
var import_react_ui_attention = require("@dxos/react-ui-attention");
|
|
181
178
|
var import_util3 = require("@dxos/util");
|
|
182
|
-
var
|
|
183
|
-
var
|
|
184
|
-
var import_react_client7 = require("@dxos/react-client");
|
|
185
|
-
var import_echo7 = require("@dxos/react-client/echo");
|
|
179
|
+
var import_react26 = require("react");
|
|
180
|
+
var import_react27 = __toESM(require("react"));
|
|
186
181
|
var import_react_ui20 = require("@dxos/react-ui");
|
|
187
|
-
var
|
|
188
|
-
var
|
|
189
|
-
var import_react29 = __toESM(require("react"));
|
|
190
|
-
var import_app_framework14 = require("@dxos/app-framework");
|
|
182
|
+
var import_react_ui_form5 = require("@dxos/react-ui-form");
|
|
183
|
+
var import_react28 = __toESM(require("react"));
|
|
191
184
|
var import_log3 = require("@dxos/log");
|
|
192
185
|
var import_metadata = require("@dxos/protocols/proto/dxos/echo/metadata");
|
|
193
|
-
var import_react_client8 = require("@dxos/react-client");
|
|
194
|
-
var import_echo8 = require("@dxos/react-client/echo");
|
|
195
186
|
var import_react_ui21 = require("@dxos/react-ui");
|
|
196
|
-
var
|
|
187
|
+
var import_react_ui_form6 = require("@dxos/react-ui-form");
|
|
197
188
|
var import_react_ui_pickers = require("@dxos/react-ui-pickers");
|
|
198
|
-
var
|
|
189
|
+
var import_react29 = __toESM(require("react"));
|
|
190
|
+
var import_app_framework11 = require("@dxos/app-framework");
|
|
191
|
+
var import_react_ui22 = require("@dxos/react-ui");
|
|
192
|
+
var import_react_ui_form7 = require("@dxos/react-ui-form");
|
|
193
|
+
var import_react_ui_list = require("@dxos/react-ui-list");
|
|
194
|
+
var import_react_ui_stack3 = require("@dxos/react-ui-stack");
|
|
195
|
+
var import_util4 = require("@dxos/util");
|
|
199
196
|
var import_react30 = __toESM(require("react"));
|
|
200
|
-
var
|
|
197
|
+
var import_app_framework12 = require("@dxos/app-framework");
|
|
201
198
|
var import_services = require("@dxos/protocols/proto/dxos/client/services");
|
|
202
199
|
var import_metadata2 = require("@dxos/protocols/proto/dxos/echo/metadata");
|
|
203
|
-
var
|
|
204
|
-
var
|
|
205
|
-
var import_react_ui22 = require("@dxos/react-ui");
|
|
200
|
+
var import_react_client7 = require("@dxos/react-client");
|
|
201
|
+
var import_react_ui23 = require("@dxos/react-ui");
|
|
206
202
|
var import_react_ui_attention2 = require("@dxos/react-ui-attention");
|
|
207
|
-
var import_react31 =
|
|
203
|
+
var import_react31 = require("react");
|
|
204
|
+
var import_context = require("@dxos/context");
|
|
205
|
+
var import_protocols = require("@dxos/protocols");
|
|
206
|
+
var import_react_client8 = require("@dxos/react-client");
|
|
207
|
+
var import_react32 = __toESM(require("react"));
|
|
208
208
|
var import_plugin_status_bar = require("@dxos/plugin-status-bar");
|
|
209
|
+
var import_react_client9 = require("@dxos/react-client");
|
|
210
|
+
var import_react_ui24 = require("@dxos/react-ui");
|
|
211
|
+
var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highlighter");
|
|
212
|
+
var import_react_ui_theme7 = require("@dxos/react-ui-theme");
|
|
213
|
+
var import_react33 = __toESM(require("react"));
|
|
209
214
|
var import_react_client10 = require("@dxos/react-client");
|
|
210
|
-
var
|
|
211
|
-
var
|
|
212
|
-
var
|
|
215
|
+
var import_echo7 = require("@dxos/react-client/echo");
|
|
216
|
+
var import_react_ui25 = require("@dxos/react-ui");
|
|
217
|
+
var import_react_ui_theme8 = require("@dxos/react-ui-theme");
|
|
218
|
+
var import_context2 = require("@dxos/context");
|
|
213
219
|
var WAIT_FOR_OBJECT_TIMEOUT = 18e4;
|
|
214
220
|
var TOAST_TIMEOUT = 24e4;
|
|
215
221
|
var AwaitingObject = ({ id }) => {
|
|
@@ -244,7 +250,7 @@ var AwaitingObject = ({ id }) => {
|
|
|
244
250
|
objects,
|
|
245
251
|
layout
|
|
246
252
|
]);
|
|
247
|
-
const handleClose = (0, import_react2.useCallback)(async () => dispatch((0, import_app_framework.createIntent)(
|
|
253
|
+
const handleClose = (0, import_react2.useCallback)(async () => dispatch((0, import_app_framework.createIntent)(import_chunk_WDEIFDTX.SpaceAction.WaitForObject, {
|
|
248
254
|
id: void 0
|
|
249
255
|
})), [
|
|
250
256
|
dispatch
|
|
@@ -294,9 +300,10 @@ var AwaitingObject = ({ id }) => {
|
|
|
294
300
|
ns: "appkit"
|
|
295
301
|
})))));
|
|
296
302
|
};
|
|
303
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectPanel.tsx";
|
|
297
304
|
var useInputSurfaceLookup = (baseData) => {
|
|
298
305
|
const pluginManager = (0, import_app_framework3.usePluginManager)();
|
|
299
|
-
return (0,
|
|
306
|
+
return (0, import_react4.useCallback)(({ prop, schema, inputProps }) => {
|
|
300
307
|
const composedData = {
|
|
301
308
|
prop,
|
|
302
309
|
schema,
|
|
@@ -308,7 +315,7 @@ var useInputSurfaceLookup = (baseData) => {
|
|
|
308
315
|
})) {
|
|
309
316
|
return void 0;
|
|
310
317
|
}
|
|
311
|
-
return /* @__PURE__ */
|
|
318
|
+
return /* @__PURE__ */ import_react4.default.createElement(import_app_framework3.Surface, {
|
|
312
319
|
role: "form-input",
|
|
313
320
|
data: composedData,
|
|
314
321
|
...inputProps
|
|
@@ -318,40 +325,6 @@ var useInputSurfaceLookup = (baseData) => {
|
|
|
318
325
|
baseData
|
|
319
326
|
]);
|
|
320
327
|
};
|
|
321
|
-
var usePath = (graph, id, timeout) => {
|
|
322
|
-
const [pathState, setPathState] = (0, import_react6.useState)(id ? graph.getPath({
|
|
323
|
-
target: id
|
|
324
|
-
}) : void 0);
|
|
325
|
-
(0, import_react6.useEffect)(() => {
|
|
326
|
-
if (!id && pathState) {
|
|
327
|
-
setPathState(void 0);
|
|
328
|
-
}
|
|
329
|
-
if (pathState?.at(-1) === id || !id) {
|
|
330
|
-
return;
|
|
331
|
-
}
|
|
332
|
-
const frame = requestAnimationFrame(async () => {
|
|
333
|
-
try {
|
|
334
|
-
const path = await graph.waitForPath({
|
|
335
|
-
target: id
|
|
336
|
-
}, {
|
|
337
|
-
timeout
|
|
338
|
-
});
|
|
339
|
-
if (path) {
|
|
340
|
-
setPathState(path);
|
|
341
|
-
}
|
|
342
|
-
} catch {
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
return () => cancelAnimationFrame(frame);
|
|
346
|
-
}, [
|
|
347
|
-
graph,
|
|
348
|
-
id,
|
|
349
|
-
timeout,
|
|
350
|
-
pathState
|
|
351
|
-
]);
|
|
352
|
-
return pathState;
|
|
353
|
-
};
|
|
354
|
-
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectPanel.tsx";
|
|
355
328
|
var CreateObjectPanel = ({ classNames, forms, spaces, typename: initialTypename, target: initialTarget, name: initialName, defaultSpaceId, resolve, onCreateObject }) => {
|
|
356
329
|
const { t } = (0, import_react_ui3.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
357
330
|
const [typename, setTypename] = (0, import_react4.useState)(initialTypename);
|
|
@@ -385,7 +358,7 @@ var CreateObjectPanel = ({ classNames, forms, spaces, typename: initialTypename,
|
|
|
385
358
|
const handleSetTypename = (0, import_react4.useCallback)(async (typename2) => {
|
|
386
359
|
(0, import_invariant2.invariant)(target, "target is required", {
|
|
387
360
|
F: __dxlog_file,
|
|
388
|
-
L:
|
|
361
|
+
L: 94,
|
|
389
362
|
S: void 0,
|
|
390
363
|
A: [
|
|
391
364
|
"target",
|
|
@@ -445,23 +418,23 @@ var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
|
|
|
445
418
|
}), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Content, {
|
|
446
419
|
classNames: "max-bs-[24rem] overflow-auto"
|
|
447
420
|
}, spaces.sort((a, b) => {
|
|
448
|
-
const aName = (0, import_react_ui3.toLocalizedString)((0,
|
|
421
|
+
const aName = (0, import_react_ui3.toLocalizedString)((0, import_chunk_TUZWEPGX.getSpaceDisplayName)(a, {
|
|
449
422
|
personal: a.id === defaultSpaceId
|
|
450
423
|
}), t);
|
|
451
|
-
const bName = (0, import_react_ui3.toLocalizedString)((0,
|
|
424
|
+
const bName = (0, import_react_ui3.toLocalizedString)((0, import_chunk_TUZWEPGX.getSpaceDisplayName)(b, {
|
|
452
425
|
personal: b.id === defaultSpaceId
|
|
453
426
|
}), t);
|
|
454
427
|
return aName.localeCompare(bName);
|
|
455
428
|
}).map((space) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Item, {
|
|
456
429
|
key: space.id,
|
|
457
|
-
value: (0, import_react_ui3.toLocalizedString)((0,
|
|
430
|
+
value: (0, import_react_ui3.toLocalizedString)((0, import_chunk_TUZWEPGX.getSpaceDisplayName)(space, {
|
|
458
431
|
personal: space.id === defaultSpaceId
|
|
459
432
|
}), t),
|
|
460
433
|
onSelect: () => onChange(space),
|
|
461
434
|
classNames: "flex items-center gap-2"
|
|
462
435
|
}, /* @__PURE__ */ import_react4.default.createElement("span", {
|
|
463
436
|
className: "grow truncate"
|
|
464
|
-
}, (0, import_react_ui3.toLocalizedString)((0,
|
|
437
|
+
}, (0, import_react_ui3.toLocalizedString)((0, import_chunk_TUZWEPGX.getSpaceDisplayName)(space, {
|
|
465
438
|
personal: space.id === defaultSpaceId
|
|
466
439
|
}), t))))));
|
|
467
440
|
};
|
|
@@ -495,17 +468,17 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
495
468
|
defaultValue: option.typename
|
|
496
469
|
}))))));
|
|
497
470
|
};
|
|
498
|
-
var AppGraphBuilder = (0, import_app_framework4.lazy)(() => import("./app-graph-builder-
|
|
499
|
-
var AppGraphSerializer = (0, import_app_framework4.lazy)(() => import("./app-graph-serializer-
|
|
500
|
-
var IdentityCreated = (0, import_app_framework4.lazy)(() => import("./identity-created-
|
|
501
|
-
var IntentResolver = (0, import_app_framework4.lazy)(() => import("./intent-resolver-
|
|
502
|
-
var ReactRoot = (0, import_app_framework4.lazy)(() => import("./react-root-
|
|
503
|
-
var ReactSurface = (0, import_app_framework4.lazy)(() => import("./react-surface-
|
|
471
|
+
var AppGraphBuilder = (0, import_app_framework4.lazy)(() => import("./app-graph-builder-DPY7AUZE.cjs"));
|
|
472
|
+
var AppGraphSerializer = (0, import_app_framework4.lazy)(() => import("./app-graph-serializer-JELGJUAY.cjs"));
|
|
473
|
+
var IdentityCreated = (0, import_app_framework4.lazy)(() => import("./identity-created-XU4HFV2T.cjs"));
|
|
474
|
+
var IntentResolver = (0, import_app_framework4.lazy)(() => import("./intent-resolver-VJ7YV74L.cjs"));
|
|
475
|
+
var ReactRoot = (0, import_app_framework4.lazy)(() => import("./react-root-TEL5RW3N.cjs"));
|
|
476
|
+
var ReactSurface = (0, import_app_framework4.lazy)(() => import("./react-surface-2H3S5TY5.cjs"));
|
|
504
477
|
var Schema = (0, import_app_framework4.lazy)(() => import("./schema-PPJ5BZ3A.cjs"));
|
|
505
478
|
var Tools = (0, import_app_framework4.lazy)(() => import("./schema-tools-BLIMOZYY.cjs"));
|
|
506
|
-
var SpaceSettings = (0, import_app_framework4.lazy)(() => import("./settings-
|
|
507
|
-
var SpaceState = (0, import_app_framework4.lazy)(() => import("./state-
|
|
508
|
-
var SpacesReady = (0, import_app_framework4.lazy)(() => import("./spaces-ready-
|
|
479
|
+
var SpaceSettings = (0, import_app_framework4.lazy)(() => import("./settings-WVFP2UEP.cjs"));
|
|
480
|
+
var SpaceState = (0, import_app_framework4.lazy)(() => import("./state-5KX6WBJH.cjs"));
|
|
481
|
+
var SpacesReady = (0, import_app_framework4.lazy)(() => import("./spaces-ready-7DNZSUOG.cjs"));
|
|
509
482
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
|
|
510
483
|
var CREATE_OBJECT_DIALOG = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/CreateObjectDialog`;
|
|
511
484
|
var CreateObjectDialog = ({ target, typename, name, shouldNavigate: _shouldNavigate }) => {
|
|
@@ -538,8 +511,8 @@ var CreateObjectDialog = ({ target, typename, name, shouldNavigate: _shouldNavig
|
|
|
538
511
|
space
|
|
539
512
|
}));
|
|
540
513
|
const object = result.data?.object;
|
|
541
|
-
if ((0, import_echo2.
|
|
542
|
-
const addObjectIntent = (0, import_app_framework2.createIntent)(
|
|
514
|
+
if ((0, import_echo2.isReactiveObject)(object)) {
|
|
515
|
+
const addObjectIntent = (0, import_app_framework2.createIntent)(import_chunk_WDEIFDTX.SpaceAction.AddObject, {
|
|
543
516
|
target: target2,
|
|
544
517
|
object,
|
|
545
518
|
hidden: form.hidden
|
|
@@ -593,18 +566,17 @@ var initialValues = {
|
|
|
593
566
|
edgeReplication: true
|
|
594
567
|
};
|
|
595
568
|
var CreateSpaceDialog = () => {
|
|
596
|
-
const closeRef = (0,
|
|
569
|
+
const closeRef = (0, import_react5.useRef)(null);
|
|
597
570
|
const { t } = (0, import_react_ui4.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
598
571
|
const { dispatch } = (0, import_app_framework5.useIntentDispatcher)();
|
|
599
|
-
const
|
|
600
|
-
const handleCreateSpace = (0, import_react7.useCallback)(async (data) => {
|
|
572
|
+
const handleCreateSpace = (0, import_react5.useCallback)(async (data) => {
|
|
601
573
|
const program = import_effect2.Effect.gen(function* () {
|
|
602
|
-
const { space } = yield* dispatch((0, import_app_framework5.createIntent)(
|
|
574
|
+
const { space } = yield* dispatch((0, import_app_framework5.createIntent)(import_chunk_WDEIFDTX.SpaceAction.Create, data));
|
|
603
575
|
yield* dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SwitchWorkspace, {
|
|
604
576
|
part: "workspace",
|
|
605
577
|
subject: space.id
|
|
606
578
|
}));
|
|
607
|
-
yield* dispatch((0, import_app_framework5.createIntent)(
|
|
579
|
+
yield* dispatch((0, import_app_framework5.createIntent)(import_chunk_WDEIFDTX.SpaceAction.OpenCreateObject, {
|
|
608
580
|
target: space
|
|
609
581
|
}));
|
|
610
582
|
});
|
|
@@ -615,50 +587,49 @@ var CreateSpaceDialog = () => {
|
|
|
615
587
|
return (
|
|
616
588
|
// TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
|
|
617
589
|
// Consider factoring it out to the tabs package.
|
|
618
|
-
/* @__PURE__ */
|
|
590
|
+
/* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Dialog.Content, {
|
|
619
591
|
classNames: "p-0 bs-content min-bs-[16rem] max-bs-full md:max-is-[32rem] overflow-hidden"
|
|
620
|
-
}, /* @__PURE__ */
|
|
592
|
+
}, /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
621
593
|
role: "none",
|
|
622
594
|
className: "flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4"
|
|
623
|
-
}, /* @__PURE__ */
|
|
595
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Dialog.Title, null, t("create space dialog title")), /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Dialog.Close, {
|
|
624
596
|
asChild: true
|
|
625
|
-
}, /* @__PURE__ */
|
|
597
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Button, {
|
|
626
598
|
ref: closeRef,
|
|
627
599
|
density: "fine",
|
|
628
600
|
variant: "ghost",
|
|
629
601
|
autoFocus: true
|
|
630
|
-
}, /* @__PURE__ */
|
|
602
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Icon, {
|
|
631
603
|
icon: "ph--x--regular",
|
|
632
604
|
size: 4
|
|
633
|
-
})))), /* @__PURE__ */
|
|
605
|
+
})))), /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
634
606
|
className: "p-4"
|
|
635
|
-
}, /* @__PURE__ */
|
|
607
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui_form2.Form, {
|
|
636
608
|
testId: "create-space-form",
|
|
637
609
|
classNames: "!p-0",
|
|
638
610
|
autoFocus: true,
|
|
639
611
|
values: initialValues,
|
|
640
|
-
schema:
|
|
641
|
-
lookupComponent: inputSurfaceLookup,
|
|
612
|
+
schema: import_chunk_WDEIFDTX.SpaceForm,
|
|
642
613
|
onSave: handleCreateSpace
|
|
643
614
|
})))
|
|
644
615
|
);
|
|
645
616
|
};
|
|
646
617
|
var CollectionMain = ({ collection }) => {
|
|
647
618
|
const { t } = (0, import_react_ui5.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
648
|
-
return /* @__PURE__ */
|
|
619
|
+
return /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
649
620
|
role: "none",
|
|
650
621
|
className: (0, import_react_ui_theme3.mx)(import_react_ui_theme3.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
|
|
651
622
|
"data-testid": "composer.firstRunMessage"
|
|
652
|
-
}, /* @__PURE__ */
|
|
623
|
+
}, /* @__PURE__ */ import_react6.default.createElement("p", {
|
|
653
624
|
role: "alert",
|
|
654
|
-
className: (0, import_react_ui_theme3.mx)(import_react_ui_theme3.
|
|
625
|
+
className: (0, import_react_ui_theme3.mx)(import_react_ui_theme3.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg p-8 font-normal text-lg max-is-[24rem] break-words")
|
|
655
626
|
}, collection.name ?? t("unnamed collection label")));
|
|
656
627
|
};
|
|
657
628
|
var CollectionSection = ({ collection }) => {
|
|
658
629
|
const { t } = (0, import_react_ui6.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
659
|
-
return /* @__PURE__ */
|
|
630
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
660
631
|
className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
|
|
661
|
-
}, /* @__PURE__ */
|
|
632
|
+
}, /* @__PURE__ */ import_react7.default.createElement("span", {
|
|
662
633
|
className: "truncate"
|
|
663
634
|
}, collection.name ?? t("unnamed collection label")));
|
|
664
635
|
};
|
|
@@ -668,7 +639,7 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
668
639
|
const client = (0, import_react_client3.useClient)();
|
|
669
640
|
const { graph } = (0, import_app_framework6.useAppGraph)();
|
|
670
641
|
const { t } = (0, import_react_ui7.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
671
|
-
const handleDone = (0,
|
|
642
|
+
const handleDone = (0, import_react8.useCallback)(async (result) => {
|
|
672
643
|
const spaceKey = result?.spaceKey;
|
|
673
644
|
if (!spaceKey) {
|
|
674
645
|
return;
|
|
@@ -748,16 +719,16 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
748
719
|
client,
|
|
749
720
|
graph
|
|
750
721
|
]);
|
|
751
|
-
return /* @__PURE__ */
|
|
722
|
+
return /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Content, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Title, {
|
|
752
723
|
classNames: "sr-only"
|
|
753
724
|
}, t("join space label", {
|
|
754
725
|
ns: "os"
|
|
755
|
-
})), /* @__PURE__ */
|
|
726
|
+
})), /* @__PURE__ */ import_react8.default.createElement(import_react9.JoinPanel, {
|
|
756
727
|
...props,
|
|
757
|
-
exitActionParent: /* @__PURE__ */
|
|
728
|
+
exitActionParent: /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Close, {
|
|
758
729
|
asChild: true
|
|
759
730
|
}),
|
|
760
|
-
doneActionParent: /* @__PURE__ */
|
|
731
|
+
doneActionParent: /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Close, {
|
|
761
732
|
asChild: true
|
|
762
733
|
}),
|
|
763
734
|
onDone: handleDone
|
|
@@ -773,7 +744,7 @@ var handleInvitationEvent = (invitation, subscription) => {
|
|
|
773
744
|
authCode: invitation.authCode
|
|
774
745
|
}), void 0, {
|
|
775
746
|
F: __dxlog_file3,
|
|
776
|
-
L:
|
|
747
|
+
L: 38,
|
|
777
748
|
S: void 0,
|
|
778
749
|
C: (f, a) => f(...a)
|
|
779
750
|
});
|
|
@@ -781,72 +752,54 @@ var handleInvitationEvent = (invitation, subscription) => {
|
|
|
781
752
|
}
|
|
782
753
|
};
|
|
783
754
|
var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
784
|
-
const { t } = (0, import_react_ui8.useTranslation)(
|
|
755
|
+
const { t } = (0, import_react_ui8.useTranslation)("os");
|
|
785
756
|
const config = (0, import_react_client4.useConfig)();
|
|
786
|
-
const { dispatchPromise: dispatch } = (0, import_app_framework7.useIntentDispatcher)();
|
|
787
757
|
const invitations = (0, import_echo3.useSpaceInvitations)(space.key);
|
|
788
758
|
const visibleInvitations = invitations?.filter((invitation) => ![
|
|
789
759
|
import_invitations.Invitation.State.CANCELLED
|
|
790
760
|
].includes(invitation.get().state));
|
|
791
|
-
const [activeAction, setInternalActiveAction] = (0,
|
|
761
|
+
const [activeAction, setInternalActiveAction] = (0, import_react11.useState)(localStorage.getItem(activeActionKey) ?? "inviteMany");
|
|
792
762
|
const setActiveAction = (nextAction) => {
|
|
793
763
|
setInternalActiveAction(nextAction);
|
|
794
764
|
localStorage.setItem(activeActionKey, nextAction);
|
|
795
765
|
};
|
|
796
|
-
const target = space.properties[
|
|
797
|
-
const
|
|
798
|
-
const handleChangeLocked = (0, import_react13.useCallback)(() => {
|
|
799
|
-
space.properties[import_chunk_XADZLQAJ.COMPOSER_SPACE_LOCK] = !locked;
|
|
800
|
-
}, [
|
|
801
|
-
locked,
|
|
802
|
-
space
|
|
803
|
-
]);
|
|
804
|
-
const inviteActions = (0, import_react13.useMemo)(() => ({
|
|
766
|
+
const target = space.properties[import_chunk_WDEIFDTX.CollectionType.typename]?.target?.objects[0]?.target;
|
|
767
|
+
const inviteActions = (0, import_react11.useMemo)(() => ({
|
|
805
768
|
inviteOne: {
|
|
806
|
-
label: t("invite one label",
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
description: t("invite one description", {
|
|
810
|
-
ns: "os"
|
|
811
|
-
}),
|
|
812
|
-
icon: () => /* @__PURE__ */ import_react13.default.createElement(import_react_ui8.Icon, {
|
|
769
|
+
label: t("invite one label"),
|
|
770
|
+
description: t("invite one description"),
|
|
771
|
+
icon: () => /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Icon, {
|
|
813
772
|
icon: "ph--user-plus--regular",
|
|
814
773
|
size: 5
|
|
815
774
|
}),
|
|
816
775
|
testId: "membersContainer.inviteOne",
|
|
817
|
-
onClick:
|
|
818
|
-
const
|
|
819
|
-
space,
|
|
776
|
+
onClick: () => {
|
|
777
|
+
const invitation = space.share?.({
|
|
820
778
|
type: import_invitations.Invitation.Type.INTERACTIVE,
|
|
821
779
|
authMethod: import_invitations.Invitation.AuthMethod.SHARED_SECRET,
|
|
822
780
|
multiUse: false,
|
|
823
781
|
target: target && (0, import_echo3.fullyQualifiedId)(target)
|
|
824
|
-
})
|
|
782
|
+
});
|
|
825
783
|
if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== "production") {
|
|
826
784
|
const subscription = invitation.subscribe((invitation2) => handleInvitationEvent(invitation2, subscription));
|
|
827
785
|
}
|
|
828
786
|
}
|
|
829
787
|
},
|
|
830
788
|
inviteMany: {
|
|
831
|
-
label: t("invite many label",
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
description: t("invite many description", {
|
|
835
|
-
ns: "os"
|
|
836
|
-
}),
|
|
837
|
-
icon: () => /* @__PURE__ */ import_react13.default.createElement(import_react_ui8.Icon, {
|
|
789
|
+
label: t("invite many label"),
|
|
790
|
+
description: t("invite many description"),
|
|
791
|
+
icon: () => /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Icon, {
|
|
838
792
|
icon: "ph--users-three--regular",
|
|
839
793
|
size: 5
|
|
840
794
|
}),
|
|
841
795
|
testId: "membersContainer.inviteMany",
|
|
842
|
-
onClick:
|
|
843
|
-
const
|
|
844
|
-
space,
|
|
796
|
+
onClick: () => {
|
|
797
|
+
const invitation = space.share?.({
|
|
845
798
|
type: import_invitations.Invitation.Type.DELEGATED,
|
|
846
799
|
authMethod: import_invitations.Invitation.AuthMethod.KNOWN_PUBLIC_KEY,
|
|
847
800
|
multiUse: true,
|
|
848
801
|
target: target && (0, import_echo3.fullyQualifiedId)(target)
|
|
849
|
-
})
|
|
802
|
+
});
|
|
850
803
|
if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== "production") {
|
|
851
804
|
const subscription = invitation.subscribe((invitation2) => handleInvitationEvent(invitation2, subscription));
|
|
852
805
|
}
|
|
@@ -857,75 +810,72 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
857
810
|
space,
|
|
858
811
|
target
|
|
859
812
|
]);
|
|
860
|
-
const [selectedInvitation, setSelectedInvitation] = (0,
|
|
813
|
+
const [selectedInvitation, setSelectedInvitation] = (0, import_react11.useState)(null);
|
|
861
814
|
const handleSend = (event) => {
|
|
862
815
|
setSelectedInvitation(event.invitation);
|
|
863
816
|
};
|
|
864
817
|
const handleBack = () => {
|
|
865
818
|
setSelectedInvitation(null);
|
|
866
819
|
};
|
|
867
|
-
return /* @__PURE__ */
|
|
868
|
-
classNames: "block overflow-y-auto"
|
|
869
|
-
}, /* @__PURE__ */
|
|
870
|
-
title: t("members verbose label"
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
820
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Clipboard.Provider, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_stack.StackItem.Content, {
|
|
821
|
+
classNames: "p-2 block overflow-y-auto"
|
|
822
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlSection, {
|
|
823
|
+
title: t("members verbose label", {
|
|
824
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
825
|
+
}),
|
|
826
|
+
description: t("members description", {
|
|
827
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
828
|
+
})
|
|
829
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlFrame, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlFrameItem, {
|
|
830
|
+
title: t("members label", {
|
|
831
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
832
|
+
})
|
|
833
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react12.SpaceMemberList, {
|
|
875
834
|
spaceKey: space.key,
|
|
876
835
|
includeSelf: true
|
|
877
|
-
})),
|
|
878
|
-
title: t("invitations label"
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
},
|
|
882
|
-
title: t("invitations label")
|
|
883
|
-
}, selectedInvitation && /* @__PURE__ */ import_react13.default.createElement(InvitationSection, {
|
|
836
|
+
})), /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlFrameItem, {
|
|
837
|
+
title: t("invitations label", {
|
|
838
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
839
|
+
})
|
|
840
|
+
}, selectedInvitation && /* @__PURE__ */ import_react11.default.createElement(InvitationSection, {
|
|
884
841
|
...selectedInvitation,
|
|
885
842
|
onBack: handleBack
|
|
886
|
-
}), !selectedInvitation && /* @__PURE__ */
|
|
843
|
+
}), !selectedInvitation && /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("p", {
|
|
887
844
|
className: "text-description mbe-2"
|
|
888
|
-
}, t("space invitation description"
|
|
845
|
+
}, t("space invitation description", {
|
|
846
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
847
|
+
})), /* @__PURE__ */ import_react11.default.createElement(import_react12.InvitationList, {
|
|
889
848
|
className: "mb-2",
|
|
890
849
|
send: handleSend,
|
|
891
850
|
invitations: visibleInvitations ?? [],
|
|
892
851
|
onClickRemove: (invitation) => invitation.cancel(),
|
|
893
852
|
createInvitationUrl
|
|
894
|
-
}), /* @__PURE__ */
|
|
853
|
+
}), /* @__PURE__ */ import_react11.default.createElement(import_react12.BifurcatedAction, {
|
|
895
854
|
actions: inviteActions,
|
|
896
855
|
activeAction,
|
|
897
856
|
onChangeActiveAction: setActiveAction,
|
|
898
857
|
"data-testid": "membersContainer.createInvitation"
|
|
899
|
-
})))), /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
900
|
-
className: "justify-center gap-4 p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
|
|
901
|
-
}, /* @__PURE__ */ import_react13.default.createElement(import_react_ui_form3.ControlItemInput, {
|
|
902
|
-
title: t("space locked label"),
|
|
903
|
-
description: t("space locked description")
|
|
904
|
-
}, /* @__PURE__ */ import_react13.default.createElement(import_react_ui8.Input.Switch, {
|
|
905
|
-
checked: locked,
|
|
906
|
-
onCheckedChange: handleChangeLocked,
|
|
907
|
-
classNames: "justify-self-end"
|
|
908
858
|
})))))));
|
|
909
859
|
};
|
|
910
860
|
var InvitationSection = ({ state = import_invitations.Invitation.State.INIT, authCode, invitationId = "never", url = "never", onBack }) => {
|
|
911
861
|
const activeView = state < 0 ? "init" : state >= import_invitations.Invitation.State.CANCELLED ? "complete" : state >= import_invitations.Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
|
|
912
|
-
return /* @__PURE__ */
|
|
862
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.Root, {
|
|
913
863
|
activeView
|
|
914
|
-
}, /* @__PURE__ */
|
|
864
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.Views, null, /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
|
|
915
865
|
id: "init"
|
|
916
|
-
}), /* @__PURE__ */
|
|
866
|
+
}), /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
|
|
917
867
|
id: "complete"
|
|
918
|
-
}, /* @__PURE__ */
|
|
868
|
+
}, /* @__PURE__ */ import_react11.default.createElement(InvitationComplete, {
|
|
919
869
|
statusValue: state
|
|
920
|
-
})), /* @__PURE__ */
|
|
870
|
+
})), /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
|
|
921
871
|
id: "auth-code"
|
|
922
|
-
}, /* @__PURE__ */
|
|
872
|
+
}, /* @__PURE__ */ import_react11.default.createElement(InvitationAuthCode, {
|
|
923
873
|
id: invitationId,
|
|
924
874
|
code: authCode ?? "never",
|
|
925
875
|
onCancel: onBack
|
|
926
|
-
})), /* @__PURE__ */
|
|
876
|
+
})), /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
|
|
927
877
|
id: "qr-code"
|
|
928
|
-
}, /* @__PURE__ */
|
|
878
|
+
}, /* @__PURE__ */ import_react11.default.createElement(InvitationQR, {
|
|
929
879
|
id: invitationId,
|
|
930
880
|
url,
|
|
931
881
|
onCancel: onBack
|
|
@@ -935,31 +885,31 @@ var InvitationQR = ({ id, url, onCancel }) => {
|
|
|
935
885
|
const { t } = (0, import_react_ui8.useTranslation)("os");
|
|
936
886
|
const qrLabel = (0, import_react_ui8.useId)("members-container__qr-code");
|
|
937
887
|
const emoji = (0, import_util2.hexToEmoji)(id);
|
|
938
|
-
return /* @__PURE__ */
|
|
888
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("p", {
|
|
939
889
|
className: "text-description"
|
|
940
890
|
}, t("qr code description", {
|
|
941
891
|
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
942
|
-
})), /* @__PURE__ */
|
|
892
|
+
})), /* @__PURE__ */ import_react11.default.createElement("div", {
|
|
943
893
|
role: "group",
|
|
944
894
|
className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
|
|
945
|
-
}, /* @__PURE__ */
|
|
895
|
+
}, /* @__PURE__ */ import_react11.default.createElement("div", {
|
|
946
896
|
role: "none",
|
|
947
897
|
className: "is-full aspect-square relative text-description"
|
|
948
|
-
}, /* @__PURE__ */
|
|
898
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react_qr_rounded.QR, {
|
|
949
899
|
rounding: 100,
|
|
950
900
|
backgroundColor: "transparent",
|
|
951
901
|
color: "currentColor",
|
|
952
902
|
"aria-labelledby": qrLabel,
|
|
953
903
|
errorCorrectionLevel: "Q",
|
|
954
904
|
cutout: true
|
|
955
|
-
}, url ?? "never"), /* @__PURE__ */
|
|
905
|
+
}, url ?? "never"), /* @__PURE__ */ import_react11.default.createElement(import_react12.Centered, null, /* @__PURE__ */ import_react11.default.createElement(import_react12.Emoji, {
|
|
956
906
|
text: emoji
|
|
957
|
-
}))), /* @__PURE__ */
|
|
907
|
+
}))), /* @__PURE__ */ import_react11.default.createElement("span", {
|
|
958
908
|
id: qrLabel,
|
|
959
909
|
className: "sr-only"
|
|
960
|
-
}, t("qr label")), /* @__PURE__ */
|
|
910
|
+
}, t("qr label")), /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Clipboard.Button, {
|
|
961
911
|
value: url ?? "never"
|
|
962
|
-
})), /* @__PURE__ */
|
|
912
|
+
})), /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Button, {
|
|
963
913
|
variant: "ghost",
|
|
964
914
|
onClick: onCancel
|
|
965
915
|
}, t("cancel label")));
|
|
@@ -967,26 +917,26 @@ var InvitationQR = ({ id, url, onCancel }) => {
|
|
|
967
917
|
var InvitationAuthCode = ({ id, code, onCancel }) => {
|
|
968
918
|
const { t } = (0, import_react_ui8.useTranslation)("os");
|
|
969
919
|
const emoji = (0, import_util2.hexToEmoji)(id);
|
|
970
|
-
return /* @__PURE__ */
|
|
920
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("p", {
|
|
971
921
|
className: "text-description"
|
|
972
|
-
}, t("auth other device emoji message")), emoji && /* @__PURE__ */
|
|
922
|
+
}, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react11.default.createElement(import_react12.Emoji, {
|
|
973
923
|
text: emoji,
|
|
974
924
|
className: "mli-auto mlb-2 text-center"
|
|
975
|
-
}), /* @__PURE__ */
|
|
925
|
+
}), /* @__PURE__ */ import_react11.default.createElement("p", {
|
|
976
926
|
className: "text-description"
|
|
977
|
-
}, t("auth code message")), /* @__PURE__ */
|
|
927
|
+
}, t("auth code message")), /* @__PURE__ */ import_react11.default.createElement(import_react12.AuthCode, {
|
|
978
928
|
code,
|
|
979
929
|
large: true,
|
|
980
930
|
classNames: "mli-auto mlb-2 text-center grow"
|
|
981
|
-
}), /* @__PURE__ */
|
|
931
|
+
}), /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Button, {
|
|
982
932
|
variant: "ghost",
|
|
983
933
|
onClick: onCancel
|
|
984
934
|
}, t("cancel label")));
|
|
985
935
|
};
|
|
986
936
|
var InvitationComplete = ({ statusValue }) => {
|
|
987
|
-
return statusValue > 0 ? /* @__PURE__ */
|
|
937
|
+
return statusValue > 0 ? /* @__PURE__ */ import_react11.default.createElement(import_react10.Check, {
|
|
988
938
|
className: (0, import_react_ui_theme4.mx)("m-1.5", (0, import_react_ui_theme4.getSize)(6))
|
|
989
|
-
}) : /* @__PURE__ */
|
|
939
|
+
}) : /* @__PURE__ */ import_react11.default.createElement(import_react10.X, {
|
|
990
940
|
className: (0, import_react_ui_theme4.mx)("m-1.5", (0, import_react_ui_theme4.getSize)(6))
|
|
991
941
|
});
|
|
992
942
|
};
|
|
@@ -994,23 +944,23 @@ var MenuFooter = ({ object }) => {
|
|
|
994
944
|
const { t } = (0, import_react_ui9.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
995
945
|
const client = (0, import_react_client5.useClient)();
|
|
996
946
|
const space = (0, import_echo4.getSpace)(object);
|
|
997
|
-
const spaceName = space ? (0,
|
|
947
|
+
const spaceName = space ? (0, import_chunk_TUZWEPGX.getSpaceDisplayName)(space, {
|
|
998
948
|
personal: client.spaces.default === space
|
|
999
949
|
}) : "";
|
|
1000
|
-
return space ? /* @__PURE__ */
|
|
950
|
+
return space ? /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement(import_react_ui9.DropdownMenu.Separator, null), /* @__PURE__ */ import_react14.default.createElement(import_react_ui9.DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ import_react14.default.createElement("dl", {
|
|
1001
951
|
className: "pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2"
|
|
1002
|
-
}, /* @__PURE__ */
|
|
952
|
+
}, /* @__PURE__ */ import_react14.default.createElement("dt", {
|
|
1003
953
|
className: "uppercase text-[.75em] tracking-wide font-medium mbs-px self-start"
|
|
1004
|
-
}, t("location label")), /* @__PURE__ */
|
|
954
|
+
}, t("location label")), /* @__PURE__ */ import_react14.default.createElement("dd", {
|
|
1005
955
|
className: "line-clamp-3"
|
|
1006
|
-
}, /* @__PURE__ */
|
|
956
|
+
}, /* @__PURE__ */ import_react14.default.createElement(import_react13.Planet, {
|
|
1007
957
|
className: "inline-block mie-1"
|
|
1008
958
|
}), (0, import_react_ui9.toLocalizedString)(spaceName, t)))) : null;
|
|
1009
959
|
};
|
|
1010
960
|
var ForeignKeys = ({ keys, onDelete }) => {
|
|
1011
|
-
return /* @__PURE__ */
|
|
961
|
+
return /* @__PURE__ */ import_react17.default.createElement(import_react_ui12.List, {
|
|
1012
962
|
classNames: "flex flex-col gap-2"
|
|
1013
|
-
}, keys.map((key) => /* @__PURE__ */
|
|
963
|
+
}, keys.map((key) => /* @__PURE__ */ import_react17.default.createElement(KeyItem, {
|
|
1014
964
|
key: key.id,
|
|
1015
965
|
forignKey: key,
|
|
1016
966
|
onDelete
|
|
@@ -1018,19 +968,19 @@ var ForeignKeys = ({ keys, onDelete }) => {
|
|
|
1018
968
|
};
|
|
1019
969
|
var KeyItem = ({ forignKey, onDelete }) => {
|
|
1020
970
|
const { t } = (0, import_react_ui12.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1021
|
-
const handleDelete = (0,
|
|
971
|
+
const handleDelete = (0, import_react17.useCallback)(() => {
|
|
1022
972
|
onDelete?.(forignKey);
|
|
1023
973
|
}, [
|
|
1024
974
|
forignKey,
|
|
1025
975
|
onDelete
|
|
1026
976
|
]);
|
|
1027
|
-
return /* @__PURE__ */
|
|
977
|
+
return /* @__PURE__ */ import_react17.default.createElement(import_react_ui12.ListItem.Root, {
|
|
1028
978
|
classNames: "px-2"
|
|
1029
|
-
}, /* @__PURE__ */
|
|
979
|
+
}, /* @__PURE__ */ import_react17.default.createElement(import_react_ui12.ListItem.Heading, {
|
|
1030
980
|
classNames: "flex flex-col grow truncate"
|
|
1031
|
-
}, /* @__PURE__ */
|
|
981
|
+
}, /* @__PURE__ */ import_react17.default.createElement("div", null, forignKey.source), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
1032
982
|
className: "text-description text-sm truncate"
|
|
1033
|
-
}, forignKey.id)), /* @__PURE__ */
|
|
983
|
+
}, forignKey.id)), /* @__PURE__ */ import_react17.default.createElement(import_react_ui12.ListItem.Endcap, null, /* @__PURE__ */ import_react17.default.createElement(import_react_ui12.IconButton, {
|
|
1034
984
|
iconOnly: true,
|
|
1035
985
|
icon: "ph--x--regular",
|
|
1036
986
|
variant: "ghost",
|
|
@@ -1044,11 +994,11 @@ var initialValues2 = {
|
|
|
1044
994
|
};
|
|
1045
995
|
var AdvancedObjectSettings = ({ object }) => {
|
|
1046
996
|
const { t } = (0, import_react_ui11.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1047
|
-
const [adding, setAdding] = (0,
|
|
997
|
+
const [adding, setAdding] = (0, import_react16.useState)(false);
|
|
1048
998
|
const keys = (0, import_echo5.getMeta)(object).keys;
|
|
1049
|
-
const handleNew = (0,
|
|
1050
|
-
const handleCancel = (0,
|
|
1051
|
-
const handleSave = (0,
|
|
999
|
+
const handleNew = (0, import_react16.useCallback)(() => setAdding(true), []);
|
|
1000
|
+
const handleCancel = (0, import_react16.useCallback)(() => setAdding(false), []);
|
|
1001
|
+
const handleSave = (0, import_react16.useCallback)((key) => {
|
|
1052
1002
|
const index = keys.findIndex(({ source, id }) => source === key.source && id === key.id);
|
|
1053
1003
|
if (index === -1) {
|
|
1054
1004
|
keys.push(key);
|
|
@@ -1057,7 +1007,7 @@ var AdvancedObjectSettings = ({ object }) => {
|
|
|
1057
1007
|
}, [
|
|
1058
1008
|
keys
|
|
1059
1009
|
]);
|
|
1060
|
-
const handleDelete = (0,
|
|
1010
|
+
const handleDelete = (0, import_react16.useCallback)((key) => {
|
|
1061
1011
|
const index = keys.findIndex(({ source, id }) => source === key.source && id === key.id);
|
|
1062
1012
|
if (index !== -1) {
|
|
1063
1013
|
keys.splice(index, 1);
|
|
@@ -1065,23 +1015,23 @@ var AdvancedObjectSettings = ({ object }) => {
|
|
|
1065
1015
|
}, [
|
|
1066
1016
|
keys
|
|
1067
1017
|
]);
|
|
1068
|
-
return /* @__PURE__ */
|
|
1018
|
+
return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
1069
1019
|
className: "p-2 flex flex-col gap-4"
|
|
1070
|
-
}, /* @__PURE__ */
|
|
1020
|
+
}, /* @__PURE__ */ import_react16.default.createElement("h2", null, t("advanced settings label")), /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
1071
1021
|
className: "flex items-center"
|
|
1072
|
-
}, /* @__PURE__ */
|
|
1022
|
+
}, /* @__PURE__ */ import_react16.default.createElement("h3", {
|
|
1073
1023
|
className: "text-sm font-semibold"
|
|
1074
|
-
}, t("foreign keys")), /* @__PURE__ */
|
|
1024
|
+
}, t("foreign keys")), /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
1075
1025
|
className: "grow"
|
|
1076
|
-
}), /* @__PURE__ */
|
|
1026
|
+
}), /* @__PURE__ */ import_react16.default.createElement(import_react_ui11.IconButton, {
|
|
1077
1027
|
classNames: adding && "invisible",
|
|
1078
1028
|
icon: "ph--plus--regular",
|
|
1079
1029
|
label: t("add key"),
|
|
1080
1030
|
onClick: handleNew
|
|
1081
|
-
})), !adding && /* @__PURE__ */
|
|
1031
|
+
})), !adding && /* @__PURE__ */ import_react16.default.createElement(ForeignKeys, {
|
|
1082
1032
|
keys,
|
|
1083
1033
|
onDelete: handleDelete
|
|
1084
|
-
})), adding && /* @__PURE__ */
|
|
1034
|
+
})), adding && /* @__PURE__ */ import_react16.default.createElement(import_react_ui_form4.Form, {
|
|
1085
1035
|
schema: import_echo_schema2.ForeignKeySchema,
|
|
1086
1036
|
values: initialValues2,
|
|
1087
1037
|
onSave: handleSave,
|
|
@@ -1090,10 +1040,10 @@ var AdvancedObjectSettings = ({ object }) => {
|
|
|
1090
1040
|
};
|
|
1091
1041
|
var BaseObjectSettings = ({ classNames, children, object }) => {
|
|
1092
1042
|
const { t } = (0, import_react_ui13.useTranslation)(import_chunk_6P2DB4QQ.meta.id);
|
|
1093
|
-
const inputRef = (0,
|
|
1094
|
-
return /* @__PURE__ */
|
|
1043
|
+
const inputRef = (0, import_react18.useRef)(null);
|
|
1044
|
+
return /* @__PURE__ */ import_react18.default.createElement("form", {
|
|
1095
1045
|
className: (0, import_react_ui_theme5.mx)("flex flex-col p-2 gap-2", classNames)
|
|
1096
|
-
}, /* @__PURE__ */
|
|
1046
|
+
}, /* @__PURE__ */ import_react18.default.createElement(import_react_ui13.Input.Root, null, /* @__PURE__ */ import_react18.default.createElement(import_react_ui13.Input.Label, null, t("name label")), /* @__PURE__ */ import_react18.default.createElement(import_react_ui13.Input.TextInput, {
|
|
1097
1047
|
ref: inputRef,
|
|
1098
1048
|
placeholder: t("name placeholder"),
|
|
1099
1049
|
value: object.name ?? "",
|
|
@@ -1108,25 +1058,25 @@ var BaseObjectSettings = ({ classNames, children, object }) => {
|
|
|
1108
1058
|
})), children);
|
|
1109
1059
|
};
|
|
1110
1060
|
var ObjectSettingsContainer = ({ object, role }) => {
|
|
1111
|
-
const data = (0,
|
|
1061
|
+
const data = (0, import_react15.useMemo)(() => ({
|
|
1112
1062
|
subject: object
|
|
1113
1063
|
}), [
|
|
1114
1064
|
object
|
|
1115
1065
|
]);
|
|
1116
|
-
return /* @__PURE__ */
|
|
1066
|
+
return /* @__PURE__ */ import_react15.default.createElement(import_react_ui10.Clipboard.Provider, null, /* @__PURE__ */ import_react15.default.createElement(import_react_ui_stack2.StackItem.Content, {
|
|
1117
1067
|
toolbar: false,
|
|
1118
1068
|
role
|
|
1119
|
-
}, /* @__PURE__ */
|
|
1069
|
+
}, /* @__PURE__ */ import_react15.default.createElement("div", {
|
|
1120
1070
|
className: "flex flex-col overflow-y-auto divide-y divide-separator"
|
|
1121
|
-
}, /* @__PURE__ */
|
|
1071
|
+
}, /* @__PURE__ */ import_react15.default.createElement(BaseObjectSettings, {
|
|
1122
1072
|
object
|
|
1123
|
-
}, /* @__PURE__ */
|
|
1073
|
+
}, /* @__PURE__ */ import_react15.default.createElement(import_app_framework7.Surface, {
|
|
1124
1074
|
role: "base-object-settings",
|
|
1125
1075
|
data
|
|
1126
|
-
})), /* @__PURE__ */
|
|
1076
|
+
})), /* @__PURE__ */ import_react15.default.createElement(import_app_framework7.Surface, {
|
|
1127
1077
|
role: "object-settings",
|
|
1128
1078
|
data
|
|
1129
|
-
}), /* @__PURE__ */
|
|
1079
|
+
}), /* @__PURE__ */ import_react15.default.createElement(AdvancedObjectSettings, {
|
|
1130
1080
|
object
|
|
1131
1081
|
}))));
|
|
1132
1082
|
};
|
|
@@ -1138,11 +1088,11 @@ var Status;
|
|
|
1138
1088
|
})(Status || (Status = {}));
|
|
1139
1089
|
var PersistenceStatus = ({ db }) => {
|
|
1140
1090
|
const { t } = (0, import_react_ui14.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1141
|
-
const [displayMessage, setDisplayMessage] = (0,
|
|
1142
|
-
const [status, naturalSetStatus] = (0,
|
|
1143
|
-
const [prevStatus, setPrevStatus] = (0,
|
|
1091
|
+
const [displayMessage, setDisplayMessage] = (0, import_react20.useState)(false);
|
|
1092
|
+
const [status, naturalSetStatus] = (0, import_react20.useState)(0);
|
|
1093
|
+
const [prevStatus, setPrevStatus] = (0, import_react20.useState)(0);
|
|
1144
1094
|
const _setStatus = (0, import_async2.debounce)(naturalSetStatus, 500);
|
|
1145
|
-
(0,
|
|
1095
|
+
(0, import_react20.useEffect)(() => {
|
|
1146
1096
|
setPrevStatus(status);
|
|
1147
1097
|
if (prevStatus !== status && status === 0) {
|
|
1148
1098
|
setDisplayMessage(true);
|
|
@@ -1154,68 +1104,66 @@ var PersistenceStatus = ({ db }) => {
|
|
|
1154
1104
|
]);
|
|
1155
1105
|
switch (status) {
|
|
1156
1106
|
case 2:
|
|
1157
|
-
return /* @__PURE__ */
|
|
1107
|
+
return /* @__PURE__ */ import_react20.default.createElement("div", {
|
|
1158
1108
|
className: "flex items-center"
|
|
1159
|
-
}, /* @__PURE__ */
|
|
1109
|
+
}, /* @__PURE__ */ import_react20.default.createElement(import_react19.Warning, {
|
|
1160
1110
|
className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
|
|
1161
|
-
}), /* @__PURE__ */
|
|
1111
|
+
}), /* @__PURE__ */ import_react20.default.createElement("span", {
|
|
1162
1112
|
className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.warningText)
|
|
1163
1113
|
}, t("persistence error label")));
|
|
1164
1114
|
case 1:
|
|
1165
|
-
return /* @__PURE__ */
|
|
1115
|
+
return /* @__PURE__ */ import_react20.default.createElement("div", {
|
|
1166
1116
|
className: "flex items-center"
|
|
1167
|
-
}, /* @__PURE__ */
|
|
1117
|
+
}, /* @__PURE__ */ import_react20.default.createElement(import_react19.ArrowsCounterClockwise, {
|
|
1168
1118
|
className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
|
|
1169
|
-
}), /* @__PURE__ */
|
|
1119
|
+
}), /* @__PURE__ */ import_react20.default.createElement("span", {
|
|
1170
1120
|
className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.staticPlaceholderText)
|
|
1171
1121
|
}, t("persistence pending label")));
|
|
1172
1122
|
case 0:
|
|
1173
1123
|
default:
|
|
1174
|
-
return /* @__PURE__ */
|
|
1124
|
+
return /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Tooltip.Root, {
|
|
1175
1125
|
delayDuration: 400
|
|
1176
|
-
}, /* @__PURE__ */
|
|
1126
|
+
}, /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Tooltip.Trigger, {
|
|
1177
1127
|
role: "status",
|
|
1178
1128
|
className: "flex items-center"
|
|
1179
|
-
}, /* @__PURE__ */
|
|
1129
|
+
}, /* @__PURE__ */ import_react20.default.createElement(import_react19.CheckCircle, {
|
|
1180
1130
|
className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
|
|
1181
|
-
}), displayMessage && /* @__PURE__ */
|
|
1131
|
+
}), displayMessage && /* @__PURE__ */ import_react20.default.createElement("span", {
|
|
1182
1132
|
className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.staticPlaceholderText)
|
|
1183
|
-
}, t("persisted locally label"))), /* @__PURE__ */
|
|
1133
|
+
}, t("persisted locally label"))), /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Tooltip.Portal, null, /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Tooltip.Content, null, t("persisted locally message"), /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Tooltip.Arrow, null))));
|
|
1184
1134
|
}
|
|
1185
1135
|
};
|
|
1186
1136
|
var POPOVER_ADD_SPACE = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/PopoverRenameSpace`;
|
|
1187
1137
|
var PopoverAddSpace = () => {
|
|
1188
1138
|
const { t } = (0, import_react_ui15.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1189
|
-
const { dispatchPromise: dispatch } = (0,
|
|
1190
|
-
return /* @__PURE__ */
|
|
1139
|
+
const { dispatchPromise: dispatch } = (0, import_app_framework8.useIntentDispatcher)();
|
|
1140
|
+
return /* @__PURE__ */ import_react21.default.createElement("div", {
|
|
1191
1141
|
role: "none",
|
|
1192
|
-
className: "
|
|
1193
|
-
}, /* @__PURE__ */
|
|
1142
|
+
className: "grid grid-cols-1 gap-1 [&>button]:justify-start"
|
|
1143
|
+
}, /* @__PURE__ */ import_react21.default.createElement(import_react_ui15.IconButton, {
|
|
1194
1144
|
variant: "ghost",
|
|
1195
1145
|
label: t("create space label"),
|
|
1196
1146
|
icon: "ph--plus--regular",
|
|
1197
1147
|
onClick: () => {
|
|
1198
|
-
void dispatch((0,
|
|
1199
|
-
void dispatch((0,
|
|
1148
|
+
void dispatch((0, import_app_framework8.createIntent)(import_chunk_WDEIFDTX.SpaceAction.OpenCreateSpace));
|
|
1149
|
+
void dispatch((0, import_app_framework8.createIntent)(import_app_framework8.LayoutAction.UpdatePopover, {
|
|
1200
1150
|
part: "popover",
|
|
1201
1151
|
options: {
|
|
1202
|
-
variant: "react",
|
|
1203
1152
|
anchorId: "",
|
|
1204
1153
|
state: false
|
|
1205
1154
|
}
|
|
1206
1155
|
}));
|
|
1207
1156
|
},
|
|
1208
1157
|
"data-testid": "spacePlugin.createSpace"
|
|
1209
|
-
}), /* @__PURE__ */
|
|
1158
|
+
}), /* @__PURE__ */ import_react21.default.createElement(import_react_ui15.IconButton, {
|
|
1210
1159
|
variant: "ghost",
|
|
1211
1160
|
label: t("join space label"),
|
|
1212
1161
|
icon: "ph--sign-in--regular",
|
|
1213
1162
|
onClick: () => {
|
|
1214
|
-
void dispatch((0,
|
|
1215
|
-
void dispatch((0,
|
|
1163
|
+
void dispatch((0, import_app_framework8.createIntent)(import_chunk_WDEIFDTX.SpaceAction.Join));
|
|
1164
|
+
void dispatch((0, import_app_framework8.createIntent)(import_app_framework8.LayoutAction.UpdatePopover, {
|
|
1216
1165
|
part: "popover",
|
|
1217
1166
|
options: {
|
|
1218
|
-
variant: "react",
|
|
1219
1167
|
anchorId: "",
|
|
1220
1168
|
state: false
|
|
1221
1169
|
}
|
|
@@ -1228,11 +1176,10 @@ var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/s
|
|
|
1228
1176
|
var POPOVER_RENAME_OBJECT = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/PopoverRenameObject`;
|
|
1229
1177
|
var PopoverRenameObject = ({ object: obj }) => {
|
|
1230
1178
|
const { t } = (0, import_react_ui16.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1231
|
-
const doneButton = (0,
|
|
1179
|
+
const doneButton = (0, import_react22.useRef)(null);
|
|
1232
1180
|
const object = obj;
|
|
1233
|
-
const [name, setName] = (0,
|
|
1234
|
-
const
|
|
1235
|
-
const handleDone = (0, import_react24.useCallback)(() => {
|
|
1181
|
+
const [name, setName] = (0, import_react22.useState)(object.name || object.title || "");
|
|
1182
|
+
const handleDone = (0, import_react22.useCallback)(() => {
|
|
1236
1183
|
try {
|
|
1237
1184
|
object.name = name;
|
|
1238
1185
|
} catch {
|
|
@@ -1243,84 +1190,69 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
1243
1190
|
err
|
|
1244
1191
|
}, {
|
|
1245
1192
|
F: __dxlog_file4,
|
|
1246
|
-
L:
|
|
1193
|
+
L: 30,
|
|
1247
1194
|
S: void 0,
|
|
1248
1195
|
C: (f, a) => f(...a)
|
|
1249
1196
|
});
|
|
1250
1197
|
}
|
|
1251
1198
|
}
|
|
1252
|
-
void dispatch((0, import_app_framework10.createIntent)(import_app_framework10.LayoutAction.UpdatePopover, {
|
|
1253
|
-
part: "popover",
|
|
1254
|
-
options: {
|
|
1255
|
-
variant: "react",
|
|
1256
|
-
anchorId: "",
|
|
1257
|
-
state: false
|
|
1258
|
-
}
|
|
1259
|
-
}));
|
|
1260
1199
|
}, [
|
|
1261
1200
|
object,
|
|
1262
1201
|
name
|
|
1263
1202
|
]);
|
|
1264
|
-
return /* @__PURE__ */
|
|
1203
|
+
return /* @__PURE__ */ import_react22.default.createElement("div", {
|
|
1265
1204
|
role: "none",
|
|
1266
1205
|
className: "p-1 flex gap-2"
|
|
1267
|
-
}, /* @__PURE__ */
|
|
1206
|
+
}, /* @__PURE__ */ import_react22.default.createElement("div", {
|
|
1268
1207
|
role: "none",
|
|
1269
1208
|
className: "flex-1"
|
|
1270
|
-
}, /* @__PURE__ */
|
|
1209
|
+
}, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Input.Root, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Input.Label, {
|
|
1271
1210
|
srOnly: true
|
|
1272
|
-
}, t("object name label")), /* @__PURE__ */
|
|
1211
|
+
}, t("object name label")), /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Input.TextInput, {
|
|
1273
1212
|
placeholder: t("object placeholder"),
|
|
1274
1213
|
value: name,
|
|
1275
1214
|
"data-testid": "spacePlugin.renameObject.input",
|
|
1276
1215
|
onChange: ({ target: { value } }) => setName(value),
|
|
1277
1216
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1278
|
-
}))), /* @__PURE__ */
|
|
1217
|
+
}))), /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Popover.Close, {
|
|
1218
|
+
asChild: true
|
|
1219
|
+
}, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Button, {
|
|
1279
1220
|
ref: doneButton,
|
|
1280
1221
|
classNames: "self-stretch",
|
|
1281
1222
|
onClick: handleDone
|
|
1282
1223
|
}, t("done label", {
|
|
1283
1224
|
ns: "os"
|
|
1284
|
-
})));
|
|
1225
|
+
}))));
|
|
1285
1226
|
};
|
|
1286
1227
|
var POPOVER_RENAME_SPACE = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/PopoverRenameSpace`;
|
|
1287
1228
|
var PopoverRenameSpace = ({ space }) => {
|
|
1288
1229
|
const { t } = (0, import_react_ui17.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1289
|
-
const doneButton = (0,
|
|
1290
|
-
const [name, setName] = (0,
|
|
1291
|
-
const
|
|
1292
|
-
const handleDone = (0, import_react25.useCallback)(() => {
|
|
1230
|
+
const doneButton = (0, import_react23.useRef)(null);
|
|
1231
|
+
const [name, setName] = (0, import_react23.useState)(space.properties.name ?? "");
|
|
1232
|
+
const handleDone = (0, import_react23.useCallback)(() => {
|
|
1293
1233
|
space.properties.name = name;
|
|
1294
|
-
void dispatch((0, import_app_framework11.createIntent)(import_app_framework11.LayoutAction.UpdatePopover, {
|
|
1295
|
-
part: "popover",
|
|
1296
|
-
options: {
|
|
1297
|
-
variant: "react",
|
|
1298
|
-
anchorId: "",
|
|
1299
|
-
state: false
|
|
1300
|
-
}
|
|
1301
|
-
}));
|
|
1302
1234
|
}, [
|
|
1303
1235
|
space,
|
|
1304
1236
|
name
|
|
1305
1237
|
]);
|
|
1306
|
-
return /* @__PURE__ */
|
|
1238
|
+
return /* @__PURE__ */ import_react23.default.createElement("div", {
|
|
1307
1239
|
role: "none",
|
|
1308
1240
|
className: "p-1 flex gap-2"
|
|
1309
|
-
}, /* @__PURE__ */
|
|
1241
|
+
}, /* @__PURE__ */ import_react23.default.createElement("div", {
|
|
1310
1242
|
role: "none",
|
|
1311
1243
|
className: "flex-1"
|
|
1312
|
-
}, /* @__PURE__ */
|
|
1244
|
+
}, /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.Input.Root, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.Input.Label, {
|
|
1313
1245
|
srOnly: true
|
|
1314
|
-
}, t("space name label")), /* @__PURE__ */
|
|
1246
|
+
}, t("space name label")), /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.Input.TextInput, {
|
|
1315
1247
|
defaultValue: space.properties.name ?? "",
|
|
1316
1248
|
placeholder: t("unnamed space label"),
|
|
1317
1249
|
onChange: ({ target: { value } }) => setName(value),
|
|
1318
1250
|
// TODO(wittjosiah): Ideally this should access the popover context to close the popover.
|
|
1319
1251
|
// Currently this is not possible because Radix does not expose the popover context.
|
|
1320
1252
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1321
|
-
}))), /* @__PURE__ */
|
|
1253
|
+
}))), /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.Popover.Close, {
|
|
1322
1254
|
asChild: true
|
|
1323
|
-
}, /* @__PURE__ */
|
|
1255
|
+
}, /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.Button, {
|
|
1324
1256
|
ref: doneButton,
|
|
1325
1257
|
classNames: "self-stretch",
|
|
1326
1258
|
onClick: handleDone
|
|
@@ -1328,53 +1260,73 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
1328
1260
|
ns: "os"
|
|
1329
1261
|
}))));
|
|
1330
1262
|
};
|
|
1331
|
-
var
|
|
1332
|
-
const
|
|
1263
|
+
var ShareSpaceButton = ({ space }) => {
|
|
1264
|
+
const { dispatchPromise: dispatch } = (0, import_app_framework9.useIntentDispatcher)();
|
|
1265
|
+
return /* @__PURE__ */ import_react24.default.createElement(ShareSpaceButtonImpl, {
|
|
1266
|
+
onClick: () => dispatch((0, import_app_framework9.createIntent)(import_chunk_WDEIFDTX.SpaceAction.Share, {
|
|
1267
|
+
space
|
|
1268
|
+
}))
|
|
1269
|
+
});
|
|
1270
|
+
};
|
|
1271
|
+
var ShareSpaceButtonImpl = ({ onClick }) => {
|
|
1272
|
+
const { t } = (0, import_react_ui18.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1273
|
+
return /* @__PURE__ */ import_react24.default.createElement(import_react_ui18.IconButton, {
|
|
1274
|
+
"data-testid": "spacePlugin.shareSpaceButton",
|
|
1275
|
+
icon: "ph--users--regular",
|
|
1276
|
+
label: t("share space label"),
|
|
1277
|
+
onClick
|
|
1278
|
+
});
|
|
1279
|
+
};
|
|
1280
|
+
var usePath = (graph, id, timeout) => {
|
|
1281
|
+
const [pathState, setPathState] = (0, import_react26.useState)(id ? graph.getPath({
|
|
1282
|
+
target: id
|
|
1283
|
+
}) : void 0);
|
|
1333
1284
|
(0, import_react26.useEffect)(() => {
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1285
|
+
if (!id && pathState) {
|
|
1286
|
+
setPathState(void 0);
|
|
1287
|
+
}
|
|
1288
|
+
if (pathState?.at(-1) === id || !id) {
|
|
1289
|
+
return;
|
|
1290
|
+
}
|
|
1291
|
+
const frame = requestAnimationFrame(async () => {
|
|
1292
|
+
try {
|
|
1293
|
+
const path = await graph.waitForPath({
|
|
1294
|
+
target: id
|
|
1295
|
+
}, {
|
|
1296
|
+
timeout
|
|
1297
|
+
});
|
|
1298
|
+
if (path) {
|
|
1299
|
+
setPathState(path);
|
|
1300
|
+
}
|
|
1301
|
+
} catch {
|
|
1302
|
+
}
|
|
1303
|
+
});
|
|
1304
|
+
return () => cancelAnimationFrame(frame);
|
|
1339
1305
|
}, [
|
|
1340
|
-
|
|
1306
|
+
graph,
|
|
1307
|
+
id,
|
|
1308
|
+
timeout,
|
|
1309
|
+
pathState
|
|
1341
1310
|
]);
|
|
1342
|
-
return
|
|
1343
|
-
};
|
|
1344
|
-
var SchemaContainer = ({ space }) => {
|
|
1345
|
-
const { t } = (0, import_react_ui18.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1346
|
-
const schemas = useQuerySpaceSchemas(space);
|
|
1347
|
-
return /* @__PURE__ */ import_react26.default.createElement(import_react_ui_stack3.StackItem.Content, {
|
|
1348
|
-
classNames: "block overflow-y-auto"
|
|
1349
|
-
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_form5.ControlPage, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_form5.ControlSection, {
|
|
1350
|
-
title: t("schema verbose label"),
|
|
1351
|
-
description: t("schema description")
|
|
1352
|
-
}, /* @__PURE__ */ import_react26.default.createElement("div", {
|
|
1353
|
-
role: "none",
|
|
1354
|
-
className: import_react_ui_form5.controlItemClasses
|
|
1355
|
-
}, schemas.length === 0 && /* @__PURE__ */ import_react26.default.createElement("div", {
|
|
1356
|
-
className: "text-center plb-4"
|
|
1357
|
-
}, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */ import_react26.default.createElement("div", {
|
|
1358
|
-
key: schema.id
|
|
1359
|
-
}, /* @__PURE__ */ import_react26.default.createElement("div", null, schema.typename)))))));
|
|
1311
|
+
return pathState;
|
|
1360
1312
|
};
|
|
1361
1313
|
var REFRESH_INTERVAL = 5e3;
|
|
1362
1314
|
var ACTIVITY_DURATION = 3e4;
|
|
1363
1315
|
var noViewers = new import_util3.ComplexMap(import_react_client6.PublicKey.hash);
|
|
1364
1316
|
var getName = (identity) => identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
|
|
1365
1317
|
var SpacePresence = ({ object, spaceKey }) => {
|
|
1366
|
-
const spaceState = (0,
|
|
1318
|
+
const spaceState = (0, import_app_framework10.useCapability)(import_chunk_IKIDS6XF.SpaceCapabilities.MutableState);
|
|
1367
1319
|
const client = (0, import_react_client6.useClient)();
|
|
1368
1320
|
const identity = (0, import_halo.useIdentity)();
|
|
1369
1321
|
const space = spaceKey ? client.spaces.get(spaceKey) : (0, import_echo6.getSpace)(object);
|
|
1370
1322
|
const spaceMembers = (0, import_echo6.useMembers)(space?.key);
|
|
1371
|
-
const [_moment, setMoment] = (0,
|
|
1372
|
-
(0,
|
|
1323
|
+
const [_moment, setMoment] = (0, import_react25.useState)(Date.now());
|
|
1324
|
+
(0, import_react25.useEffect)(() => {
|
|
1373
1325
|
const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
|
|
1374
1326
|
return () => clearInterval(interval);
|
|
1375
1327
|
}, []);
|
|
1376
|
-
const memberOnline = (0,
|
|
1377
|
-
const memberIsNotSelf = (0,
|
|
1328
|
+
const memberOnline = (0, import_react25.useCallback)((member) => member.presence === 1, []);
|
|
1329
|
+
const memberIsNotSelf = (0, import_react25.useCallback)((member) => !identity?.identityKey.equals(member.identity.identityKey), [
|
|
1378
1330
|
identity?.identityKey
|
|
1379
1331
|
]);
|
|
1380
1332
|
if (!identity || !spaceState || !space) {
|
|
@@ -1391,7 +1343,7 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
1391
1343
|
lastSeen
|
|
1392
1344
|
};
|
|
1393
1345
|
}).toSorted((a, b) => a.lastSeen - b.lastSeen);
|
|
1394
|
-
return /* @__PURE__ */
|
|
1346
|
+
return /* @__PURE__ */ import_react25.default.createElement(FullPresence, {
|
|
1395
1347
|
members: membersForObject
|
|
1396
1348
|
});
|
|
1397
1349
|
};
|
|
@@ -1401,71 +1353,66 @@ var FullPresence = (props) => {
|
|
|
1401
1353
|
if (members.length === 0) {
|
|
1402
1354
|
return null;
|
|
1403
1355
|
}
|
|
1404
|
-
return /* @__PURE__ */
|
|
1356
|
+
return /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1405
1357
|
className: "dx-avatar-group",
|
|
1406
1358
|
"data-testid": "spacePlugin.presence"
|
|
1407
|
-
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */
|
|
1359
|
+
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Root, {
|
|
1408
1360
|
key: member.identity.identityKey.toHex()
|
|
1409
|
-
}, /* @__PURE__ */
|
|
1410
|
-
className: "grid focus:outline-none"
|
|
1411
|
-
}, /* @__PURE__ */ import_react27.default.createElement(PresenceAvatar, {
|
|
1361
|
+
}, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Trigger, null, /* @__PURE__ */ import_react25.default.createElement(PrensenceAvatar, {
|
|
1412
1362
|
identity: member.identity,
|
|
1413
1363
|
match: member.currentlyAttended,
|
|
1414
1364
|
index: members.length - i,
|
|
1415
1365
|
onClick: () => onMemberClick?.(member),
|
|
1416
1366
|
size
|
|
1417
|
-
})), /* @__PURE__ */
|
|
1367
|
+
})), /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Portal, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Content, {
|
|
1418
1368
|
side: "bottom"
|
|
1419
|
-
}, /* @__PURE__ */
|
|
1420
|
-
className: "grid focus:outline-none"
|
|
1421
|
-
}, /* @__PURE__ */ import_react27.default.createElement(import_react_ui19.Avatar.Root, null, /* @__PURE__ */ import_react27.default.createElement(import_react_ui19.Avatar.Content, {
|
|
1369
|
+
}, /* @__PURE__ */ import_react25.default.createElement("span", null, getName(member.identity)), /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Arrow, null))))), members.length > 3 && /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Root, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Trigger, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Avatar.Root, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Avatar.Content, {
|
|
1422
1370
|
status: "inactive",
|
|
1423
1371
|
style: {
|
|
1424
1372
|
zIndex: members.length - 4
|
|
1425
1373
|
},
|
|
1426
|
-
fallback: `+${members.length - 3}
|
|
1427
|
-
|
|
1428
|
-
}))), /* @__PURE__ */ import_react27.default.createElement(import_react_ui19.Tooltip.Portal, null, /* @__PURE__ */ import_react27.default.createElement(import_react_ui19.Tooltip.Content, {
|
|
1374
|
+
fallback: `+${members.length - 3}`
|
|
1375
|
+
}))), /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Portal, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Content, {
|
|
1429
1376
|
side: "bottom"
|
|
1430
|
-
}, /* @__PURE__ */
|
|
1377
|
+
}, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Arrow, null), /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.List, {
|
|
1431
1378
|
classNames: "max-h-56 overflow-y-auto"
|
|
1432
|
-
}, members.map((member) => /* @__PURE__ */
|
|
1379
|
+
}, members.map((member) => /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.ListItem.Root, {
|
|
1433
1380
|
key: member.identity.identityKey.toHex(),
|
|
1434
1381
|
classNames: "flex gap-2 items-center cursor-pointer mbe-2",
|
|
1435
1382
|
onClick: () => onMemberClick?.(member),
|
|
1436
1383
|
"data-testid": "identity-list-item"
|
|
1437
|
-
}, /* @__PURE__ */
|
|
1384
|
+
}, /* @__PURE__ */ import_react25.default.createElement(PrensenceAvatar, {
|
|
1438
1385
|
identity: member.identity,
|
|
1439
1386
|
size,
|
|
1440
1387
|
showName: true,
|
|
1441
1388
|
match: member.currentlyAttended
|
|
1442
1389
|
}))))))));
|
|
1443
1390
|
};
|
|
1444
|
-
var
|
|
1391
|
+
var PrensenceAvatar = ({ identity, showName, match, index, onClick, size }) => {
|
|
1445
1392
|
const status = match ? "current" : "active";
|
|
1446
1393
|
const fallbackValue = (0, import_util3.keyToFallback)(identity.identityKey);
|
|
1447
|
-
return /* @__PURE__ */
|
|
1394
|
+
return /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Avatar.Root, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Avatar.Content, {
|
|
1448
1395
|
status,
|
|
1449
1396
|
hue: identity.profile?.data?.hue || fallbackValue.hue,
|
|
1450
1397
|
"data-testid": "spacePlugin.presence.member",
|
|
1451
1398
|
"data-status": status,
|
|
1452
1399
|
size,
|
|
1400
|
+
classNames: "mbs-2 mie-4",
|
|
1453
1401
|
...index ? {
|
|
1454
1402
|
style: {
|
|
1455
1403
|
zIndex: index
|
|
1456
1404
|
}
|
|
1457
1405
|
} : {},
|
|
1458
|
-
onClick,
|
|
1459
|
-
fallback: identity.profile?.data?.emoji || fallbackValue.emoji
|
|
1460
|
-
|
|
1461
|
-
}), /* @__PURE__ */ import_react27.default.createElement(import_react_ui19.Avatar.Label, {
|
|
1406
|
+
onClick: () => onClick?.(),
|
|
1407
|
+
fallback: identity.profile?.data?.emoji || fallbackValue.emoji
|
|
1408
|
+
}), /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Avatar.Label, {
|
|
1462
1409
|
classNames: showName ? "text-sm truncate pli-2" : "sr-only"
|
|
1463
1410
|
}, getName(identity)));
|
|
1464
|
-
}
|
|
1411
|
+
};
|
|
1465
1412
|
var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
1466
1413
|
const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention.useAttention)(id);
|
|
1467
1414
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
1468
|
-
const { graph } = (0,
|
|
1415
|
+
const { graph } = (0, import_app_framework10.useAppGraph)();
|
|
1469
1416
|
const attended = (0, import_react_ui_attention.useAttended)();
|
|
1470
1417
|
const startOfAttention = attended.at(-1);
|
|
1471
1418
|
const path = usePath(graph, startOfAttention);
|
|
@@ -1474,8 +1421,8 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1474
1421
|
const moment = Date.now();
|
|
1475
1422
|
return Array.from(viewers2.values()).filter((viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION);
|
|
1476
1423
|
};
|
|
1477
|
-
const [activeViewers, setActiveViewers] = (0,
|
|
1478
|
-
(0,
|
|
1424
|
+
const [activeViewers, setActiveViewers] = (0, import_react25.useState)(viewers ? getActiveViewers(viewers) : []);
|
|
1425
|
+
(0, import_react25.useEffect)(() => {
|
|
1479
1426
|
if (viewers) {
|
|
1480
1427
|
setActiveViewers(getActiveViewers(viewers));
|
|
1481
1428
|
const interval = setInterval(() => {
|
|
@@ -1486,7 +1433,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1486
1433
|
}, [
|
|
1487
1434
|
viewers
|
|
1488
1435
|
]);
|
|
1489
|
-
return /* @__PURE__ */
|
|
1436
|
+
return /* @__PURE__ */ import_react25.default.createElement(SmallPresence, {
|
|
1490
1437
|
count: activeViewers.length,
|
|
1491
1438
|
attended: isAttended,
|
|
1492
1439
|
containsAttended
|
|
@@ -1494,67 +1441,38 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1494
1441
|
};
|
|
1495
1442
|
var SmallPresence = ({ count = 0, attended, containsAttended }) => {
|
|
1496
1443
|
const { t } = (0, import_react_ui19.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1497
|
-
return /* @__PURE__ */
|
|
1444
|
+
return /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Root, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Trigger, {
|
|
1498
1445
|
asChild: true
|
|
1499
|
-
}, /* @__PURE__ */
|
|
1446
|
+
}, /* @__PURE__ */ import_react25.default.createElement(import_react_ui_attention.AttentionGlyph, {
|
|
1500
1447
|
attended,
|
|
1501
1448
|
containsAttended,
|
|
1502
1449
|
presence: count > 1 ? "many" : count === 1 ? "one" : "none",
|
|
1503
1450
|
classNames: "self-center mie-1"
|
|
1504
|
-
})), /* @__PURE__ */
|
|
1451
|
+
})), /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Portal, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Content, {
|
|
1505
1452
|
side: "bottom"
|
|
1506
|
-
}, /* @__PURE__ */
|
|
1453
|
+
}, /* @__PURE__ */ import_react25.default.createElement("span", null, t("presence label", {
|
|
1507
1454
|
count
|
|
1508
|
-
})), /* @__PURE__ */
|
|
1455
|
+
})), /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Arrow, null))));
|
|
1509
1456
|
};
|
|
1510
1457
|
var SpacePluginSettings = ({ settings }) => {
|
|
1511
1458
|
const { t } = (0, import_react_ui20.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1512
|
-
|
|
1513
|
-
const client = (0, import_react_client7.useClient)();
|
|
1514
|
-
const spaces = (0, import_echo7.useSpaces)({
|
|
1515
|
-
all: settings.showHidden
|
|
1516
|
-
});
|
|
1517
|
-
return /* @__PURE__ */ import_react28.default.createElement(import_react_ui_form6.DeprecatedFormContainer, null, /* @__PURE__ */ import_react28.default.createElement(import_react_ui_form6.DeprecatedFormInput, {
|
|
1459
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_react_ui_form5.DeprecatedFormContainer, null, /* @__PURE__ */ import_react27.default.createElement(import_react_ui_form5.DeprecatedFormInput, {
|
|
1518
1460
|
label: t("show hidden spaces label")
|
|
1519
|
-
}, /* @__PURE__ */
|
|
1461
|
+
}, /* @__PURE__ */ import_react27.default.createElement(import_react_ui20.Input.Switch, {
|
|
1520
1462
|
checked: settings.showHidden,
|
|
1521
1463
|
onCheckedChange: (checked) => settings.showHidden = !!checked
|
|
1522
|
-
}))
|
|
1523
|
-
role: "none"
|
|
1524
|
-
}, /* @__PURE__ */ import_react28.default.createElement("h2", {
|
|
1525
|
-
className: "text-xl my-4"
|
|
1526
|
-
}, "Space Settings"), /* @__PURE__ */ import_react28.default.createElement(import_react_ui20.List, {
|
|
1527
|
-
classNames: "max-w-md mx-auto"
|
|
1528
|
-
}, spaces.map((space) => /* @__PURE__ */ import_react28.default.createElement(import_react_ui20.ListItem.Root, {
|
|
1529
|
-
key: space.id
|
|
1530
|
-
}, /* @__PURE__ */ import_react28.default.createElement(import_react_ui20.ListItem.Heading, {
|
|
1531
|
-
classNames: "flex flex-col grow truncate mbe-2"
|
|
1532
|
-
}, (0, import_react_ui20.toLocalizedString)((0, import_chunk_XADZLQAJ.getSpaceDisplayName)(space, {
|
|
1533
|
-
personal: space === client.spaces.default
|
|
1534
|
-
}), t)), /* @__PURE__ */ import_react28.default.createElement(import_react_ui20.ListItem.Endcap, null, /* @__PURE__ */ import_react28.default.createElement(import_react_ui20.Button, {
|
|
1535
|
-
onClick: () => dispatch((0, import_app_framework13.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.OpenSettings, {
|
|
1536
|
-
space
|
|
1537
|
-
}))
|
|
1538
|
-
}, t("open space settings label"))))))));
|
|
1464
|
+
})));
|
|
1539
1465
|
};
|
|
1540
|
-
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/
|
|
1541
|
-
var
|
|
1542
|
-
archived: import_effect3.Schema.Boolean.annotations({
|
|
1543
|
-
title: "Archive space"
|
|
1544
|
-
})
|
|
1545
|
-
})));
|
|
1546
|
-
var SpaceSettingsContainer = ({ space }) => {
|
|
1466
|
+
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpacePropertiesForm.tsx";
|
|
1467
|
+
var SpacePropertiesForm = ({ space }) => {
|
|
1547
1468
|
const { t } = (0, import_react_ui21.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1548
|
-
const
|
|
1549
|
-
const
|
|
1550
|
-
const archived = (0, import_react_ui21.useMulticastObservable)(space.state) === import_echo8.SpaceState.SPACE_INACTIVE;
|
|
1551
|
-
const [edgeReplication, setEdgeReplication] = (0, import_react29.useState)(space.internal.data.edgeReplication === import_metadata.EdgeReplicationSetting.ENABLED);
|
|
1552
|
-
const toggleEdgeReplication = (0, import_react29.useCallback)(async (next) => {
|
|
1469
|
+
const [edgeReplication, setEdgeReplication] = (0, import_react28.useState)(space.internal.data.edgeReplication === import_metadata.EdgeReplicationSetting.ENABLED);
|
|
1470
|
+
const toggleEdgeReplication = (0, import_react28.useCallback)(async (next) => {
|
|
1553
1471
|
setEdgeReplication(next);
|
|
1554
1472
|
await space?.internal.setEdgeReplicationPreference(next ? import_metadata.EdgeReplicationSetting.ENABLED : import_metadata.EdgeReplicationSetting.DISABLED).catch((err) => {
|
|
1555
1473
|
import_log3.log.catch(err, void 0, {
|
|
1556
1474
|
F: __dxlog_file5,
|
|
1557
|
-
L:
|
|
1475
|
+
L: 34,
|
|
1558
1476
|
S: void 0,
|
|
1559
1477
|
C: (f, a) => f(...a)
|
|
1560
1478
|
});
|
|
@@ -1563,7 +1481,7 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1563
1481
|
}, [
|
|
1564
1482
|
space
|
|
1565
1483
|
]);
|
|
1566
|
-
const handleSave = (0,
|
|
1484
|
+
const handleSave = (0, import_react28.useCallback)((properties) => {
|
|
1567
1485
|
void toggleEdgeReplication(properties.edgeReplication);
|
|
1568
1486
|
if (properties.name !== space.properties.name) {
|
|
1569
1487
|
space.properties.name = properties.name;
|
|
@@ -1574,46 +1492,31 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1574
1492
|
if (properties.hue !== space.properties.hue) {
|
|
1575
1493
|
space.properties.hue = properties.hue;
|
|
1576
1494
|
}
|
|
1577
|
-
if (properties.archived && !archived) {
|
|
1578
|
-
void dispatch((0, import_effect3.pipe)((0, import_app_framework14.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.Close, {
|
|
1579
|
-
space
|
|
1580
|
-
}), (0, import_app_framework14.chain)(import_app_framework14.LayoutAction.SwitchWorkspace, {
|
|
1581
|
-
part: "workspace",
|
|
1582
|
-
subject: client.spaces.default.id
|
|
1583
|
-
})));
|
|
1584
|
-
} else if (!properties.archived && archived) {
|
|
1585
|
-
void dispatch((0, import_app_framework14.createIntent)(import_chunk_EQ5BPSQ7.SpaceAction.Open, {
|
|
1586
|
-
space
|
|
1587
|
-
}));
|
|
1588
|
-
}
|
|
1589
1495
|
}, [
|
|
1590
1496
|
space,
|
|
1591
|
-
toggleEdgeReplication
|
|
1592
|
-
archived
|
|
1497
|
+
toggleEdgeReplication
|
|
1593
1498
|
]);
|
|
1594
|
-
const values = (0,
|
|
1499
|
+
const values = (0, import_react28.useMemo)(() => ({
|
|
1595
1500
|
name: space.properties.name,
|
|
1596
1501
|
icon: space.properties.icon,
|
|
1597
1502
|
hue: space.properties.hue,
|
|
1598
|
-
edgeReplication
|
|
1599
|
-
archived
|
|
1503
|
+
edgeReplication
|
|
1600
1504
|
}), [
|
|
1601
1505
|
space.properties.name,
|
|
1602
1506
|
space.properties.icon,
|
|
1603
1507
|
space.properties.hue,
|
|
1604
|
-
edgeReplication
|
|
1605
|
-
archived
|
|
1508
|
+
edgeReplication
|
|
1606
1509
|
]);
|
|
1607
|
-
const customElements = (0,
|
|
1510
|
+
const customElements = (0, import_react28.useMemo)(() => ({
|
|
1608
1511
|
name: ({ type, label, getValue, onValueChange }) => {
|
|
1609
|
-
const handleChange = (0,
|
|
1512
|
+
const handleChange = (0, import_react28.useCallback)(({ target: { value } }) => onValueChange(type, value), [
|
|
1610
1513
|
onValueChange,
|
|
1611
1514
|
type
|
|
1612
1515
|
]);
|
|
1613
|
-
return /* @__PURE__ */
|
|
1516
|
+
return /* @__PURE__ */ import_react28.default.createElement(import_react_ui_form6.ControlItemInput, {
|
|
1614
1517
|
title: label,
|
|
1615
1518
|
description: t("display name description")
|
|
1616
|
-
}, /* @__PURE__ */
|
|
1519
|
+
}, /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Input.TextInput, {
|
|
1617
1520
|
value: getValue(),
|
|
1618
1521
|
onChange: handleChange,
|
|
1619
1522
|
placeholder: t("display name input placeholder"),
|
|
@@ -1621,18 +1524,18 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1621
1524
|
}));
|
|
1622
1525
|
},
|
|
1623
1526
|
icon: ({ type, label, getValue, onValueChange }) => {
|
|
1624
|
-
const handleChange = (0,
|
|
1527
|
+
const handleChange = (0, import_react28.useCallback)((nextEmoji) => onValueChange(type, nextEmoji), [
|
|
1625
1528
|
onValueChange,
|
|
1626
1529
|
type
|
|
1627
1530
|
]);
|
|
1628
|
-
const handleEmojiReset = (0,
|
|
1531
|
+
const handleEmojiReset = (0, import_react28.useCallback)(() => onValueChange(type, void 0), [
|
|
1629
1532
|
onValueChange,
|
|
1630
1533
|
type
|
|
1631
1534
|
]);
|
|
1632
|
-
return /* @__PURE__ */
|
|
1535
|
+
return /* @__PURE__ */ import_react28.default.createElement(import_react_ui_form6.ControlItem, {
|
|
1633
1536
|
title: label,
|
|
1634
1537
|
description: t("icon description")
|
|
1635
|
-
}, /* @__PURE__ */
|
|
1538
|
+
}, /* @__PURE__ */ import_react28.default.createElement(import_react_ui_pickers.IconPicker, {
|
|
1636
1539
|
value: getValue(),
|
|
1637
1540
|
onChange: handleChange,
|
|
1638
1541
|
onReset: handleEmojiReset,
|
|
@@ -1641,18 +1544,18 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1641
1544
|
}));
|
|
1642
1545
|
},
|
|
1643
1546
|
hue: ({ type, label, getValue, onValueChange }) => {
|
|
1644
|
-
const handleChange = (0,
|
|
1547
|
+
const handleChange = (0, import_react28.useCallback)((nextHue) => onValueChange(type, nextHue), [
|
|
1645
1548
|
onValueChange,
|
|
1646
1549
|
type
|
|
1647
1550
|
]);
|
|
1648
|
-
const handleHueReset = (0,
|
|
1551
|
+
const handleHueReset = (0, import_react28.useCallback)(() => onValueChange(type, void 0), [
|
|
1649
1552
|
onValueChange,
|
|
1650
1553
|
type
|
|
1651
1554
|
]);
|
|
1652
|
-
return /* @__PURE__ */
|
|
1555
|
+
return /* @__PURE__ */ import_react28.default.createElement(import_react_ui_form6.ControlItem, {
|
|
1653
1556
|
title: label,
|
|
1654
1557
|
description: t("hue description")
|
|
1655
|
-
}, /* @__PURE__ */
|
|
1558
|
+
}, /* @__PURE__ */ import_react28.default.createElement(import_react_ui_pickers.HuePicker, {
|
|
1656
1559
|
value: getValue(),
|
|
1657
1560
|
onChange: handleChange,
|
|
1658
1561
|
onReset: handleHueReset,
|
|
@@ -1660,58 +1563,145 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1660
1563
|
}));
|
|
1661
1564
|
},
|
|
1662
1565
|
edgeReplication: ({ type, label, getValue, onValueChange }) => {
|
|
1663
|
-
const handleChange = (0,
|
|
1566
|
+
const handleChange = (0, import_react28.useCallback)((checked) => onValueChange(type, checked), [
|
|
1664
1567
|
onValueChange,
|
|
1665
1568
|
type
|
|
1666
1569
|
]);
|
|
1667
|
-
return /* @__PURE__ */
|
|
1570
|
+
return /* @__PURE__ */ import_react28.default.createElement(import_react_ui_form6.ControlItemInput, {
|
|
1668
1571
|
title: label,
|
|
1669
1572
|
description: t("edge replication description")
|
|
1670
|
-
}, /* @__PURE__ */
|
|
1573
|
+
}, /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Input.Switch, {
|
|
1671
1574
|
checked: getValue(),
|
|
1672
1575
|
onCheckedChange: handleChange,
|
|
1673
1576
|
classNames: "justify-self-end"
|
|
1674
1577
|
}));
|
|
1675
|
-
},
|
|
1676
|
-
archived: ({ type, label, getValue, onValueChange }) => {
|
|
1677
|
-
const handleChange = (0, import_react29.useCallback)(() => onValueChange(type, !getValue()), [
|
|
1678
|
-
onValueChange,
|
|
1679
|
-
type,
|
|
1680
|
-
getValue
|
|
1681
|
-
]);
|
|
1682
|
-
return /* @__PURE__ */ import_react29.default.createElement(import_react_ui_form7.ControlItemInput, {
|
|
1683
|
-
title: label,
|
|
1684
|
-
description: t("archive space description")
|
|
1685
|
-
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui21.Button, {
|
|
1686
|
-
disabled: space === client.spaces.default,
|
|
1687
|
-
onClick: handleChange
|
|
1688
|
-
}, getValue() ? t("unarchive space label") : t("archive space label")));
|
|
1689
1578
|
}
|
|
1690
1579
|
}), [
|
|
1691
|
-
t
|
|
1692
|
-
space
|
|
1580
|
+
t
|
|
1693
1581
|
]);
|
|
1694
|
-
return /* @__PURE__ */
|
|
1695
|
-
|
|
1696
|
-
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_form7.ControlPage, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_form7.ControlSection, {
|
|
1697
|
-
title: t("space properties settings verbose label", {
|
|
1698
|
-
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
1699
|
-
}),
|
|
1700
|
-
description: t("space properties settings description", {
|
|
1701
|
-
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
1702
|
-
})
|
|
1703
|
-
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_form7.Form, {
|
|
1704
|
-
schema: FormSchema,
|
|
1582
|
+
return /* @__PURE__ */ import_react28.default.createElement(import_react_ui_form6.Form, {
|
|
1583
|
+
schema: import_chunk_WDEIFDTX.SpaceForm,
|
|
1705
1584
|
values,
|
|
1706
1585
|
autoSave: true,
|
|
1707
1586
|
onSave: handleSave,
|
|
1708
1587
|
Custom: customElements,
|
|
1709
1588
|
classNames: 'p-0 container-max-width [&_[role="form"]]:grid [&_[role="form"]]:grid-cols-1 md:[&_[role="form"]]:grid-cols-[1fr_min-content] [&_[role="form"]]:gap-4'
|
|
1710
|
-
})
|
|
1589
|
+
});
|
|
1590
|
+
};
|
|
1591
|
+
var SPACE_SETTINGS_DIALOG = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/SpaceSettingsDialog`;
|
|
1592
|
+
var SpaceSettingsContainer = ({ space }) => {
|
|
1593
|
+
const { t } = (0, import_react_ui22.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1594
|
+
const state = (0, import_app_framework11.useCapability)(import_chunk_IKIDS6XF.SpaceCapabilities.MutableState);
|
|
1595
|
+
const items = (0, import_app_framework11.useCapabilities)(import_chunk_IKIDS6XF.SpaceCapabilities.SettingsSection).toSorted(import_util4.byPosition);
|
|
1596
|
+
const data = (0, import_react29.useMemo)(() => ({
|
|
1597
|
+
subject: space
|
|
1598
|
+
}), [
|
|
1599
|
+
space
|
|
1600
|
+
]);
|
|
1601
|
+
const handleOpenSectionChange = (0, import_react29.useCallback)((sections) => {
|
|
1602
|
+
state.spaceSettingsOpenSections.splice(0, state.spaceSettingsOpenSections.length, ...sections);
|
|
1603
|
+
}, [
|
|
1604
|
+
state
|
|
1605
|
+
]);
|
|
1606
|
+
return /* @__PURE__ */ import_react29.default.createElement(import_react_ui_stack3.StackItem.Content, {
|
|
1607
|
+
classNames: "p-2 block overflow-y-auto"
|
|
1608
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_list.Accordion.Root, {
|
|
1609
|
+
items,
|
|
1610
|
+
value: state.spaceSettingsOpenSections,
|
|
1611
|
+
onValueChange: handleOpenSectionChange
|
|
1612
|
+
}, ({ items: items2 }) => /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, items2.map((item) => /* @__PURE__ */ import_react29.default.createElement(import_react_ui_list.Accordion.Item, {
|
|
1613
|
+
key: item.id,
|
|
1614
|
+
item,
|
|
1615
|
+
classNames: "container-max-width"
|
|
1616
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_list.Accordion.ItemHeader, {
|
|
1617
|
+
classNames: "pie-6",
|
|
1618
|
+
asChild: true
|
|
1619
|
+
}, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_form7.ControlSectionHeading, {
|
|
1620
|
+
title: (0, import_react_ui22.toLocalizedString)(item.label, t)
|
|
1621
|
+
})), /* @__PURE__ */ import_react29.default.createElement(import_react_ui_list.Accordion.ItemBody, null, /* @__PURE__ */ import_react29.default.createElement(import_app_framework11.Surface, {
|
|
1622
|
+
role: `space-settings--${item.id}`,
|
|
1623
|
+
data
|
|
1624
|
+
})))))));
|
|
1625
|
+
};
|
|
1626
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts";
|
|
1627
|
+
var createEmptyEdgeSyncState = () => ({
|
|
1628
|
+
missingOnLocal: 0,
|
|
1629
|
+
missingOnRemote: 0,
|
|
1630
|
+
localDocumentCount: 0,
|
|
1631
|
+
remoteDocumentCount: 0,
|
|
1632
|
+
differentDocuments: 0
|
|
1633
|
+
});
|
|
1634
|
+
var getSyncSummary = (syncMap) => {
|
|
1635
|
+
return Object.entries(syncMap).reduce((summary, [_spaceId, peerState]) => {
|
|
1636
|
+
summary.missingOnLocal += peerState.missingOnLocal;
|
|
1637
|
+
summary.missingOnRemote += peerState.missingOnRemote;
|
|
1638
|
+
summary.localDocumentCount += peerState.localDocumentCount;
|
|
1639
|
+
summary.remoteDocumentCount += peerState.remoteDocumentCount;
|
|
1640
|
+
summary.differentDocuments += peerState.differentDocuments;
|
|
1641
|
+
return summary;
|
|
1642
|
+
}, createEmptyEdgeSyncState());
|
|
1643
|
+
};
|
|
1644
|
+
var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${import_protocols.EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
|
|
1645
|
+
var useSyncState = () => {
|
|
1646
|
+
const client = (0, import_react_client8.useClient)();
|
|
1647
|
+
const [spaceState, setSpaceState] = (0, import_react31.useState)({});
|
|
1648
|
+
(0, import_react31.useEffect)(() => {
|
|
1649
|
+
const ctx = new import_context.Context(void 0, {
|
|
1650
|
+
F: __dxlog_file6,
|
|
1651
|
+
L: 48
|
|
1652
|
+
});
|
|
1653
|
+
const createSubscriptions = (spaces) => {
|
|
1654
|
+
for (const space of spaces) {
|
|
1655
|
+
if (spaceState[space.id]) {
|
|
1656
|
+
continue;
|
|
1657
|
+
}
|
|
1658
|
+
ctx.onDispose(space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
|
|
1659
|
+
const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
|
|
1660
|
+
if (syncState) {
|
|
1661
|
+
setSpaceState((spaceState2) => ({
|
|
1662
|
+
...spaceState2,
|
|
1663
|
+
[space.id]: syncState
|
|
1664
|
+
}));
|
|
1665
|
+
}
|
|
1666
|
+
}));
|
|
1667
|
+
}
|
|
1668
|
+
};
|
|
1669
|
+
createSubscriptions(client.spaces.get());
|
|
1670
|
+
client.spaces.subscribe((spaces) => {
|
|
1671
|
+
createSubscriptions(spaces);
|
|
1672
|
+
});
|
|
1673
|
+
return () => {
|
|
1674
|
+
void ctx.dispose();
|
|
1675
|
+
};
|
|
1676
|
+
}, [
|
|
1677
|
+
client
|
|
1678
|
+
]);
|
|
1679
|
+
return spaceState;
|
|
1680
|
+
};
|
|
1681
|
+
var useSpaceSyncState = (space) => {
|
|
1682
|
+
const [spaceState, setSpaceState] = (0, import_react31.useState)();
|
|
1683
|
+
(0, import_react31.useEffect)(() => {
|
|
1684
|
+
const ctx = new import_context.Context(void 0, {
|
|
1685
|
+
F: __dxlog_file6,
|
|
1686
|
+
L: 87
|
|
1687
|
+
});
|
|
1688
|
+
space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
|
|
1689
|
+
const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
|
|
1690
|
+
if (syncState) {
|
|
1691
|
+
setSpaceState(syncState);
|
|
1692
|
+
}
|
|
1693
|
+
});
|
|
1694
|
+
return () => {
|
|
1695
|
+
void ctx.dispose();
|
|
1696
|
+
};
|
|
1697
|
+
}, [
|
|
1698
|
+
space
|
|
1699
|
+
]);
|
|
1700
|
+
return spaceState;
|
|
1711
1701
|
};
|
|
1712
1702
|
var useEdgeStatus = () => {
|
|
1713
|
-
const [status, setStatus] = (0, import_react30.useState)(import_services.EdgeStatus.NOT_CONNECTED);
|
|
1714
|
-
const client = (0,
|
|
1703
|
+
const [status, setStatus] = (0, import_react30.useState)(import_services.QueryEdgeStatusResponse.EdgeStatus.NOT_CONNECTED);
|
|
1704
|
+
const client = (0, import_react_client7.useClient)();
|
|
1715
1705
|
(0, import_react30.useEffect)(() => {
|
|
1716
1706
|
client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status: status2 }) => {
|
|
1717
1707
|
setStatus(status2);
|
|
@@ -1722,32 +1712,136 @@ var useEdgeStatus = () => {
|
|
|
1722
1712
|
return status;
|
|
1723
1713
|
};
|
|
1724
1714
|
var InlineSyncStatus = ({ space, open }) => {
|
|
1725
|
-
const { t } = (0,
|
|
1715
|
+
const { t } = (0, import_react_ui23.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1726
1716
|
const id = space.id;
|
|
1727
1717
|
const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention2.useAttention)(id);
|
|
1728
1718
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
1729
|
-
const { graph } = (0,
|
|
1719
|
+
const { graph } = (0, import_app_framework12.useAppGraph)();
|
|
1730
1720
|
const attended = (0, import_react_ui_attention2.useAttended)();
|
|
1731
1721
|
const startOfAttention = attended.at(-1);
|
|
1732
1722
|
const path = usePath(graph, startOfAttention);
|
|
1733
1723
|
const containsAttended = !open && !isAttended && id && path ? path.includes(id) : false;
|
|
1734
|
-
const connectedToEdge = useEdgeStatus() === import_services.EdgeStatus.CONNECTED;
|
|
1724
|
+
const connectedToEdge = useEdgeStatus() === import_services.QueryEdgeStatusResponse.EdgeStatus.CONNECTED;
|
|
1735
1725
|
const edgeSyncEnabled = space.internal.data.edgeReplication === import_metadata2.EdgeReplicationSetting.ENABLED;
|
|
1736
|
-
const syncState =
|
|
1726
|
+
const syncState = useSpaceSyncState(space);
|
|
1737
1727
|
const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
|
|
1738
|
-
return /* @__PURE__ */ import_react30.default.createElement(
|
|
1728
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react_ui23.Tooltip.Root, null, /* @__PURE__ */ import_react30.default.createElement(import_react_ui23.Tooltip.Trigger, {
|
|
1739
1729
|
asChild: true
|
|
1740
1730
|
}, /* @__PURE__ */ import_react30.default.createElement(import_react_ui_attention2.AttentionGlyph, {
|
|
1741
1731
|
syncing,
|
|
1742
1732
|
attended: isAttended,
|
|
1743
1733
|
containsAttended,
|
|
1744
1734
|
classNames: "self-center mie-1"
|
|
1745
|
-
})), /* @__PURE__ */ import_react30.default.createElement(
|
|
1735
|
+
})), /* @__PURE__ */ import_react30.default.createElement(import_react_ui23.Tooltip.Portal, null, /* @__PURE__ */ import_react30.default.createElement(import_react_ui23.Tooltip.Content, {
|
|
1746
1736
|
side: "bottom",
|
|
1747
1737
|
classNames: "z-[70]"
|
|
1748
|
-
}, /* @__PURE__ */ import_react30.default.createElement("span", null, t("syncing label")), /* @__PURE__ */ import_react30.default.createElement(
|
|
1738
|
+
}, /* @__PURE__ */ import_react30.default.createElement("span", null, t("syncing label")), /* @__PURE__ */ import_react30.default.createElement(import_react_ui23.Tooltip.Arrow, null))));
|
|
1739
|
+
};
|
|
1740
|
+
var SYNC_STALLED_TIMEOUT = 5e3;
|
|
1741
|
+
var styles = {
|
|
1742
|
+
barBg: "bg-neutral-50 dark:bg-green-900 text-black",
|
|
1743
|
+
barFg: "bg-neutral-100 bg-green-500",
|
|
1744
|
+
barHover: "dark:hover:bg-green-500"
|
|
1749
1745
|
};
|
|
1750
|
-
var
|
|
1746
|
+
var useActive = (count) => {
|
|
1747
|
+
const [current, setCurrent] = (0, import_react33.useState)(count);
|
|
1748
|
+
const [active, setActive] = (0, import_react33.useState)(false);
|
|
1749
|
+
(0, import_react33.useEffect)(() => {
|
|
1750
|
+
let t;
|
|
1751
|
+
if (count !== current) {
|
|
1752
|
+
setActive(true);
|
|
1753
|
+
setCurrent(count);
|
|
1754
|
+
t && clearTimeout(t);
|
|
1755
|
+
t = setTimeout(() => {
|
|
1756
|
+
setActive(false);
|
|
1757
|
+
}, SYNC_STALLED_TIMEOUT);
|
|
1758
|
+
}
|
|
1759
|
+
return () => {
|
|
1760
|
+
setActive(false);
|
|
1761
|
+
clearTimeout(t);
|
|
1762
|
+
};
|
|
1763
|
+
}, [
|
|
1764
|
+
count,
|
|
1765
|
+
current
|
|
1766
|
+
]);
|
|
1767
|
+
return active;
|
|
1768
|
+
};
|
|
1769
|
+
var SpaceRowContainer = ({ spaceId, state }) => {
|
|
1770
|
+
const { t } = (0, import_react_ui25.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1771
|
+
const client = (0, import_react_client10.useClient)();
|
|
1772
|
+
const space = (0, import_echo7.useSpace)(spaceId);
|
|
1773
|
+
if (!space) {
|
|
1774
|
+
return null;
|
|
1775
|
+
}
|
|
1776
|
+
const spaceName = (0, import_react_ui25.toLocalizedString)((0, import_chunk_TUZWEPGX.getSpaceDisplayName)(space, {
|
|
1777
|
+
personal: space === client.spaces.default
|
|
1778
|
+
}), t);
|
|
1779
|
+
return /* @__PURE__ */ import_react33.default.createElement(SpaceRow, {
|
|
1780
|
+
spaceId,
|
|
1781
|
+
spaceName,
|
|
1782
|
+
state
|
|
1783
|
+
});
|
|
1784
|
+
};
|
|
1785
|
+
var SpaceRow = ({ spaceId, spaceName, state: { localDocumentCount, remoteDocumentCount, missingOnLocal, missingOnRemote } }) => {
|
|
1786
|
+
const downActive = useActive(localDocumentCount);
|
|
1787
|
+
const upActive = useActive(remoteDocumentCount);
|
|
1788
|
+
return /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1789
|
+
className: "flex items-center mx-0.5 gap-0.5 cursor-pointer",
|
|
1790
|
+
title: spaceId,
|
|
1791
|
+
onClick: () => {
|
|
1792
|
+
void navigator.clipboard.writeText(spaceId);
|
|
1793
|
+
}
|
|
1794
|
+
}, /* @__PURE__ */ import_react33.default.createElement("span", {
|
|
1795
|
+
className: "is-1/2 truncate"
|
|
1796
|
+
}, spaceName), /* @__PURE__ */ import_react33.default.createElement(import_react_ui25.Icon, {
|
|
1797
|
+
icon: "ph--arrow-fat-line-left--regular",
|
|
1798
|
+
size: 3,
|
|
1799
|
+
classNames: (0, import_react_ui_theme8.mx)(downActive && "animate-[pulse_1s_infinite]")
|
|
1800
|
+
}), /* @__PURE__ */ import_react33.default.createElement(Candle, {
|
|
1801
|
+
up: {
|
|
1802
|
+
count: remoteDocumentCount,
|
|
1803
|
+
total: remoteDocumentCount + missingOnRemote
|
|
1804
|
+
},
|
|
1805
|
+
down: {
|
|
1806
|
+
count: localDocumentCount,
|
|
1807
|
+
total: localDocumentCount + missingOnLocal
|
|
1808
|
+
},
|
|
1809
|
+
title: spaceId
|
|
1810
|
+
}), /* @__PURE__ */ import_react33.default.createElement(import_react_ui25.Icon, {
|
|
1811
|
+
icon: "ph--arrow-fat-line-right--regular",
|
|
1812
|
+
size: 3,
|
|
1813
|
+
classNames: (0, import_react_ui_theme8.mx)(upActive && "animate-[pulse_1s_step-start_infinite]")
|
|
1814
|
+
}));
|
|
1815
|
+
};
|
|
1816
|
+
var Candle = ({ classNames, up, down }) => {
|
|
1817
|
+
return /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1818
|
+
className: (0, import_react_ui_theme8.mx)("grid grid-cols-[1fr_2rem_1fr] w-full h-3", classNames)
|
|
1819
|
+
}, /* @__PURE__ */ import_react33.default.createElement(Bar, {
|
|
1820
|
+
classNames: "justify-end",
|
|
1821
|
+
...up
|
|
1822
|
+
}), /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1823
|
+
className: "relative"
|
|
1824
|
+
}, /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1825
|
+
className: (0, import_react_ui_theme8.mx)("absolute inset-0 flex items-center justify-center text-xs", styles.barBg)
|
|
1826
|
+
}, up.total)), /* @__PURE__ */ import_react33.default.createElement(Bar, down));
|
|
1827
|
+
};
|
|
1828
|
+
var Bar = ({ classNames, count, total }) => {
|
|
1829
|
+
let p = count / total * 100;
|
|
1830
|
+
if (count < total) {
|
|
1831
|
+
p = Math.min(p, 95);
|
|
1832
|
+
}
|
|
1833
|
+
return /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1834
|
+
className: (0, import_react_ui_theme8.mx)("relative flex w-full", styles.barBg, classNames)
|
|
1835
|
+
}, /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1836
|
+
className: (0, import_react_ui_theme8.mx)("shrink-0", styles.barFg),
|
|
1837
|
+
style: {
|
|
1838
|
+
width: `${p}%`
|
|
1839
|
+
}
|
|
1840
|
+
}), count !== total && /* @__PURE__ */ import_react33.default.createElement("div", {
|
|
1841
|
+
className: "absolute top-0 bottom-0 flex items-center mx-0.5 text-black text-xs"
|
|
1842
|
+
}, count));
|
|
1843
|
+
};
|
|
1844
|
+
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
|
|
1751
1845
|
var createClientSaveTracker = (client, cb) => {
|
|
1752
1846
|
const CleanupFns = {};
|
|
1753
1847
|
const state = {};
|
|
@@ -1774,8 +1868,8 @@ var createClientSaveTracker = (client, cb) => {
|
|
|
1774
1868
|
};
|
|
1775
1869
|
};
|
|
1776
1870
|
var createSpaceSaveTracker = (space, cb) => {
|
|
1777
|
-
const ctx = new
|
|
1778
|
-
F:
|
|
1871
|
+
const ctx = new import_context2.Context(void 0, {
|
|
1872
|
+
F: __dxlog_file7,
|
|
1779
1873
|
L: 40
|
|
1780
1874
|
});
|
|
1781
1875
|
void space.waitUntilReady().then(() => {
|
|
@@ -1833,24 +1927,23 @@ var getIcon = (status) => {
|
|
|
1833
1927
|
return "ph--cloud-check--regular";
|
|
1834
1928
|
}
|
|
1835
1929
|
};
|
|
1836
|
-
var SYNC_STALLED_TIMEOUT = 5e3;
|
|
1837
1930
|
var SyncStatus = () => {
|
|
1838
|
-
const client = (0,
|
|
1839
|
-
const state =
|
|
1840
|
-
const [saved, setSaved] = (0,
|
|
1841
|
-
(0,
|
|
1931
|
+
const client = (0, import_react_client9.useClient)();
|
|
1932
|
+
const state = useSyncState();
|
|
1933
|
+
const [saved, setSaved] = (0, import_react32.useState)(true);
|
|
1934
|
+
(0, import_react32.useEffect)(() => {
|
|
1842
1935
|
return createClientSaveTracker(client, (state2) => {
|
|
1843
1936
|
setSaved(state2 === "saved");
|
|
1844
1937
|
});
|
|
1845
1938
|
}, []);
|
|
1846
|
-
return /* @__PURE__ */
|
|
1939
|
+
return /* @__PURE__ */ import_react32.default.createElement(SyncStatusIndicator, {
|
|
1847
1940
|
state,
|
|
1848
1941
|
saved
|
|
1849
1942
|
});
|
|
1850
1943
|
};
|
|
1851
1944
|
var SyncStatusIndicator = ({ state, saved }) => {
|
|
1852
|
-
const { t } = (0,
|
|
1853
|
-
const summary =
|
|
1945
|
+
const { t } = (0, import_react_ui24.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1946
|
+
const summary = getSyncSummary(state);
|
|
1854
1947
|
const offline = Object.values(state).length === 0;
|
|
1855
1948
|
const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
|
|
1856
1949
|
const needsToDownload = summary.differentDocuments > 0 || summary.missingOnLocal > 0;
|
|
@@ -1860,8 +1953,8 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1860
1953
|
needsToUpload,
|
|
1861
1954
|
needsToDownload
|
|
1862
1955
|
});
|
|
1863
|
-
const [classNames, setClassNames] = (0,
|
|
1864
|
-
(0,
|
|
1956
|
+
const [classNames, setClassNames] = (0, import_react32.useState)();
|
|
1957
|
+
(0, import_react32.useEffect)(() => {
|
|
1865
1958
|
setClassNames(void 0);
|
|
1866
1959
|
if (offline || !needsToUpload && !needsToDownload) {
|
|
1867
1960
|
return;
|
|
@@ -1876,14 +1969,60 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1876
1969
|
needsToDownload
|
|
1877
1970
|
]);
|
|
1878
1971
|
const title = t(`${status} label`);
|
|
1879
|
-
const icon = /* @__PURE__ */
|
|
1972
|
+
const icon = /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Icon, {
|
|
1880
1973
|
icon: getIcon(status),
|
|
1881
1974
|
size: 4,
|
|
1882
1975
|
classNames
|
|
1883
1976
|
});
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1977
|
+
if (offline) {
|
|
1978
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_plugin_status_bar.StatusBar.Item, {
|
|
1979
|
+
title
|
|
1980
|
+
}, icon);
|
|
1981
|
+
} else {
|
|
1982
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Popover.Root, null, /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Popover.Trigger, {
|
|
1983
|
+
asChild: true
|
|
1984
|
+
}, /* @__PURE__ */ import_react32.default.createElement(import_plugin_status_bar.StatusBar.Button, {
|
|
1985
|
+
title
|
|
1986
|
+
}, icon)), /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Popover.Portal, null, /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Popover.Content, null, /* @__PURE__ */ import_react32.default.createElement(SyncStatusDetail, {
|
|
1987
|
+
state,
|
|
1988
|
+
summary,
|
|
1989
|
+
debug: false
|
|
1990
|
+
}), /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Popover.Arrow, null))));
|
|
1991
|
+
}
|
|
1992
|
+
};
|
|
1993
|
+
var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
|
|
1994
|
+
const [showAll, setShowAll] = (0, import_react32.useState)(false);
|
|
1995
|
+
const { t } = (0, import_react_ui24.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
|
|
1996
|
+
const entries = Object.entries(state).filter(([_, value]) => showAll || value.missingOnLocal + value.missingOnRemote > 0).toSorted(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
1997
|
+
const handleCheckedChange = (0, import_react32.useCallback)((state2) => setShowAll(state2), [
|
|
1998
|
+
setShowAll
|
|
1999
|
+
]);
|
|
2000
|
+
return /* @__PURE__ */ import_react32.default.createElement("div", {
|
|
2001
|
+
className: (0, import_react_ui_theme7.mx)("flex flex-col gap-3 p-2 text-xs min-w-[400px]", classNames)
|
|
2002
|
+
}, /* @__PURE__ */ import_react32.default.createElement("div", {
|
|
2003
|
+
role: "none",
|
|
2004
|
+
className: "flex items-center"
|
|
2005
|
+
}, /* @__PURE__ */ import_react32.default.createElement("h1", {
|
|
2006
|
+
className: "flex-1"
|
|
2007
|
+
}, t("sync status title")), /* @__PURE__ */ import_react32.default.createElement("div", {
|
|
2008
|
+
className: "flex items-center gap-2"
|
|
2009
|
+
}, /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Input.Root, null, /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Input.Label, {
|
|
2010
|
+
classNames: "text-xs"
|
|
2011
|
+
}, t("show all label")), /* @__PURE__ */ import_react32.default.createElement(import_react_ui24.Input.Checkbox, {
|
|
2012
|
+
checked: showAll,
|
|
2013
|
+
onCheckedChange: handleCheckedChange
|
|
2014
|
+
})))), /* @__PURE__ */ import_react32.default.createElement("div", {
|
|
2015
|
+
className: "flex flex-col gap-2"
|
|
2016
|
+
}, entries.length === 0 && /* @__PURE__ */ import_react32.default.createElement("div", {
|
|
2017
|
+
role: "none",
|
|
2018
|
+
className: "flex justify-center"
|
|
2019
|
+
}, t("no sync status label")), entries.map(([spaceId, state2]) => /* @__PURE__ */ import_react32.default.createElement(SpaceRowContainer, {
|
|
2020
|
+
key: spaceId,
|
|
2021
|
+
spaceId,
|
|
2022
|
+
state: state2
|
|
2023
|
+
}))), debug && /* @__PURE__ */ import_react32.default.createElement(import_react_ui_syntax_highlighter.SyntaxHighlighter, {
|
|
2024
|
+
language: "json"
|
|
2025
|
+
}, JSON.stringify(summary, null, 2)));
|
|
1887
2026
|
};
|
|
1888
2027
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1889
2028
|
0 && (module.exports = {
|
|
@@ -1914,19 +2053,22 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1914
2053
|
PopoverRenameSpace,
|
|
1915
2054
|
ReactRoot,
|
|
1916
2055
|
ReactSurface,
|
|
2056
|
+
SPACE_SETTINGS_DIALOG,
|
|
1917
2057
|
Schema,
|
|
1918
|
-
|
|
2058
|
+
ShareSpaceButton,
|
|
2059
|
+
ShareSpaceButtonImpl,
|
|
1919
2060
|
SmallPresence,
|
|
1920
2061
|
SmallPresenceLive,
|
|
1921
2062
|
SpacePluginSettings,
|
|
1922
2063
|
SpacePresence,
|
|
2064
|
+
SpacePropertiesForm,
|
|
1923
2065
|
SpaceSettings,
|
|
1924
2066
|
SpaceSettingsContainer,
|
|
1925
2067
|
SpaceState,
|
|
1926
2068
|
SpacesReady,
|
|
1927
2069
|
SyncStatus,
|
|
2070
|
+
SyncStatusDetail,
|
|
1928
2071
|
SyncStatusIndicator,
|
|
1929
|
-
Tools
|
|
1930
|
-
useQuerySpaceSchemas
|
|
2072
|
+
Tools
|
|
1931
2073
|
});
|
|
1932
|
-
//# sourceMappingURL=chunk-
|
|
2074
|
+
//# sourceMappingURL=chunk-3GKCNADA.cjs.map
|