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