@dxos/plugin-space 0.7.5-labs.e27f9b9 → 0.7.5-labs.f400bbc
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-TTM2YZVS.mjs → app-graph-builder-MGK5HWPZ.mjs} +21 -100
- package/dist/lib/browser/app-graph-builder-MGK5HWPZ.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-ZGM5NDXE.mjs → app-graph-serializer-FOWFLYGU.mjs} +4 -4
- package/dist/lib/browser/{chunk-S5IGZNXJ.mjs → chunk-23RVI5FZ.mjs} +16 -5
- package/dist/lib/browser/chunk-23RVI5FZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RLZQJD47.mjs → chunk-NU7WDVGN.mjs} +2 -1
- package/dist/lib/browser/chunk-NU7WDVGN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-YB3JWCPY.mjs → chunk-S6B7627U.mjs} +306 -210
- package/dist/lib/browser/chunk-S6B7627U.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ENRYFGYE.mjs → chunk-UDWHTKB5.mjs} +6 -3
- package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-H2AR4OLP.mjs → chunk-ULA2UQJ4.mjs} +15 -6
- package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-VICTPQX7.mjs → identity-created-FYGS6TBH.mjs} +2 -2
- package/dist/lib/browser/index.mjs +53 -19
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-SYYO26PR.mjs → intent-resolver-QVR4MSJV.mjs} +26 -8
- package/dist/lib/browser/intent-resolver-QVR4MSJV.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-YUF4IL5W.mjs → react-root-IP2ZB245.mjs} +5 -5
- package/dist/lib/browser/{react-surface-YIPKS26R.mjs → react-surface-BT3EHB6V.mjs} +16 -22
- package/dist/lib/browser/react-surface-BT3EHB6V.mjs.map +7 -0
- package/dist/lib/browser/schema-5W3DSY2E.mjs +24 -0
- package/dist/lib/browser/schema-5W3DSY2E.mjs.map +7 -0
- package/dist/lib/browser/{settings-HN5UIYQO.mjs → settings-PHPCXX33.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-F57ITJDR.mjs → spaces-ready-K47RR7N2.mjs} +4 -4
- package/dist/lib/browser/{state-6DCY5YJP.mjs → state-INJ63O57.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +5 -5
- package/dist/lib/node/{app-graph-builder-6N4TEVHH.cjs → app-graph-builder-ZIUBXRPA.cjs} +45 -124
- package/dist/lib/node/app-graph-builder-ZIUBXRPA.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-AWKVTYAB.cjs → app-graph-serializer-VQOGHKXL.cjs} +20 -20
- package/dist/lib/node/{chunk-HFBC3X66.cjs → chunk-N2FS7PRA.cjs} +367 -270
- package/dist/lib/node/chunk-N2FS7PRA.cjs.map +7 -0
- package/dist/lib/node/{chunk-MMXP2NHE.cjs → chunk-OVGKWJOC.cjs} +51 -40
- package/dist/lib/node/chunk-OVGKWJOC.cjs.map +7 -0
- package/dist/lib/node/{chunk-I2LRRRMV.cjs → chunk-U6DYXAR3.cjs} +10 -7
- package/dist/lib/node/chunk-U6DYXAR3.cjs.map +7 -0
- package/dist/lib/node/{chunk-SPCSJ2CY.cjs → chunk-WAJKBO3J.cjs} +21 -12
- package/dist/lib/node/chunk-WAJKBO3J.cjs.map +7 -0
- package/dist/lib/node/{chunk-UX3U4RU2.cjs → chunk-YZKNRFHU.cjs} +5 -4
- package/dist/lib/node/chunk-YZKNRFHU.cjs.map +7 -0
- package/dist/lib/node/{identity-created-JNDKMFKI.cjs → identity-created-AXI64BLE.cjs} +6 -6
- package/dist/lib/node/index.cjs +106 -73
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-2MFJV5A7.cjs → intent-resolver-MLENGECT.cjs} +76 -59
- package/dist/lib/node/intent-resolver-MLENGECT.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-2WARZU2P.cjs → react-root-3OX5Z5CX.cjs} +10 -10
- package/dist/lib/node/{react-surface-QUY7D43M.cjs → react-surface-5NYCMXSM.cjs} +49 -57
- package/dist/lib/node/react-surface-5NYCMXSM.cjs.map +7 -0
- package/dist/lib/node/schema-YN7WVFRX.cjs +40 -0
- package/dist/lib/node/schema-YN7WVFRX.cjs.map +7 -0
- package/dist/lib/node/{settings-RBBL22DJ.cjs → settings-5QYFWNH7.cjs} +6 -6
- package/dist/lib/node/{spaces-ready-WHU4J6E5.cjs → spaces-ready-FQNAKR7G.cjs} +13 -13
- package/dist/lib/node/{state-WPZC4JXB.cjs → state-57UE3DYE.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +18 -18
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{app-graph-builder-MS6BI5EW.mjs → app-graph-builder-TERVM2SL.mjs} +21 -100
- package/dist/lib/node-esm/app-graph-builder-TERVM2SL.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-AWAWDSCM.mjs → app-graph-serializer-GZRSWHEN.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-ESWV7ICX.mjs → chunk-2TQ2AJEZ.mjs} +6 -3
- package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LGL4A5B5.mjs → chunk-6RSVVEPS.mjs} +2 -1
- package/dist/lib/node-esm/chunk-6RSVVEPS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TIFAXTJ5.mjs → chunk-DIKRH2IK.mjs} +306 -210
- package/dist/lib/node-esm/chunk-DIKRH2IK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-77RE7Y5J.mjs → chunk-PGH5L7MV.mjs} +16 -5
- package/dist/lib/node-esm/chunk-PGH5L7MV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-S6VAU6VJ.mjs → chunk-TRNZQEEN.mjs} +15 -6
- package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-3AUSSVEK.mjs → identity-created-3CGEXNPO.mjs} +2 -2
- package/dist/lib/node-esm/index.mjs +53 -19
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-UKXKZN2V.mjs → intent-resolver-BLW4RM6X.mjs} +26 -8
- package/dist/lib/node-esm/intent-resolver-BLW4RM6X.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-R3FZKA2B.mjs → react-root-7XXGP56B.mjs} +5 -5
- package/dist/lib/node-esm/{react-surface-RH57RBYI.mjs → react-surface-R2ECJSFB.mjs} +16 -22
- package/dist/lib/node-esm/react-surface-R2ECJSFB.mjs.map +7 -0
- package/dist/lib/node-esm/schema-LOR2EVGY.mjs +25 -0
- package/dist/lib/node-esm/schema-LOR2EVGY.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-VBAUB37B.mjs → settings-H6MXTEQM.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-ABADUX2P.mjs → spaces-ready-HKAQG5SA.mjs} +4 -4
- package/dist/lib/node-esm/{state-5GH2D5U4.mjs → state-VYA6OFHD.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +5 -5
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +88 -88
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +112 -111
- package/dist/types/src/capabilities/index.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/schema.d.ts +4 -0
- package/dist/types/src/capabilities/schema.d.ts.map +1 -0
- package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +1 -2
- package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +1 -2
- package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts +1 -2
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/BaseObjectSettings.d.ts +1 -2
- package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts +1 -2
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CollectionSection.d.ts +1 -2
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -4
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -7
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -2
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.d.ts +1 -2
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts +1 -2
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts +1 -2
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverAddSpace.d.ts +3 -0
- package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -0
- package/dist/types/src/components/PopoverRenameObject.d.ts +1 -2
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -2
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/ShareSpaceButton.d.ts +2 -3
- package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts +1 -2
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts +4 -5
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +2 -3
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -2
- package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +3 -5
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +1 -2
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/Space.d.ts +2 -3
- package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +3 -4
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +4 -0
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +9 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/collection.d.ts +2 -2
- package/dist/types/src/types/thread.d.ts +34 -34
- package/dist/types/src/types/types.d.ts +35 -13
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +3 -2
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +40 -38
- package/src/SpacePlugin.tsx +35 -11
- package/src/capabilities/app-graph-builder.ts +15 -89
- package/src/capabilities/capabilities.ts +3 -1
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +18 -0
- package/src/capabilities/react-surface.tsx +12 -28
- package/src/capabilities/schema.ts +27 -0
- package/src/components/BaseObjectSettings.tsx +7 -0
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -3
- package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -21
- package/src/components/CreateDialog/CreateObjectPanel.tsx +41 -44
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +8 -1
- package/src/components/PopoverAddSpace.tsx +46 -0
- package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +5 -1
- package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +27 -4
- package/src/components/index.ts +1 -0
- package/src/events.ts +6 -0
- package/src/index.ts +1 -1
- package/src/translations.ts +3 -0
- package/src/types/types.ts +21 -6
- package/src/util.tsx +8 -2
- package/dist/lib/browser/app-graph-builder-TTM2YZVS.mjs.map +0 -7
- package/dist/lib/browser/chunk-ENRYFGYE.mjs.map +0 -7
- package/dist/lib/browser/chunk-H2AR4OLP.mjs.map +0 -7
- package/dist/lib/browser/chunk-RLZQJD47.mjs.map +0 -7
- package/dist/lib/browser/chunk-S5IGZNXJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-YB3JWCPY.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-SYYO26PR.mjs.map +0 -7
- package/dist/lib/browser/react-surface-YIPKS26R.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-6N4TEVHH.cjs.map +0 -7
- package/dist/lib/node/chunk-HFBC3X66.cjs.map +0 -7
- package/dist/lib/node/chunk-I2LRRRMV.cjs.map +0 -7
- package/dist/lib/node/chunk-MMXP2NHE.cjs.map +0 -7
- package/dist/lib/node/chunk-SPCSJ2CY.cjs.map +0 -7
- package/dist/lib/node/chunk-UX3U4RU2.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-2MFJV5A7.cjs.map +0 -7
- package/dist/lib/node/react-surface-QUY7D43M.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-MS6BI5EW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-77RE7Y5J.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ESWV7ICX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-S6VAU6VJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TIFAXTJ5.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-UKXKZN2V.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-RH57RBYI.mjs.map +0 -7
- /package/dist/lib/browser/{app-graph-serializer-ZGM5NDXE.mjs.map → app-graph-serializer-FOWFLYGU.mjs.map} +0 -0
- /package/dist/lib/browser/{identity-created-VICTPQX7.mjs.map → identity-created-FYGS6TBH.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-YUF4IL5W.mjs.map → react-root-IP2ZB245.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-HN5UIYQO.mjs.map → settings-PHPCXX33.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-F57ITJDR.mjs.map → spaces-ready-K47RR7N2.mjs.map} +0 -0
- /package/dist/lib/browser/{state-6DCY5YJP.mjs.map → state-INJ63O57.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-AWKVTYAB.cjs.map → app-graph-serializer-VQOGHKXL.cjs.map} +0 -0
- /package/dist/lib/node/{identity-created-JNDKMFKI.cjs.map → identity-created-AXI64BLE.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-2WARZU2P.cjs.map → react-root-3OX5Z5CX.cjs.map} +0 -0
- /package/dist/lib/node/{settings-RBBL22DJ.cjs.map → settings-5QYFWNH7.cjs.map} +0 -0
- /package/dist/lib/node/{spaces-ready-WHU4J6E5.cjs.map → spaces-ready-FQNAKR7G.cjs.map} +0 -0
- /package/dist/lib/node/{state-WPZC4JXB.cjs.map → state-57UE3DYE.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-AWAWDSCM.mjs.map → app-graph-serializer-GZRSWHEN.mjs.map} +0 -0
- /package/dist/lib/node-esm/{identity-created-3AUSSVEK.mjs.map → identity-created-3CGEXNPO.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-R3FZKA2B.mjs.map → react-root-7XXGP56B.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-VBAUB37B.mjs.map → settings-H6MXTEQM.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-ABADUX2P.mjs.map → spaces-ready-HKAQG5SA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-5GH2D5U4.mjs.map → state-VYA6OFHD.mjs.map} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NU7WDVGN.mjs";
|
|
4
4
|
import {
|
|
5
5
|
COMPOSER_SPACE_LOCK,
|
|
6
6
|
getSpaceDisplayName
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-23RVI5FZ.mjs";
|
|
8
8
|
import {
|
|
9
9
|
CollectionType,
|
|
10
10
|
SpaceAction,
|
|
11
11
|
SpaceForm
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ULA2UQJ4.mjs";
|
|
13
13
|
import {
|
|
14
14
|
SPACE_PLUGIN
|
|
15
15
|
} from "./chunk-PQXZCNAU.mjs";
|
|
@@ -206,14 +206,21 @@ import React4 from "react";
|
|
|
206
206
|
import { Input, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
207
207
|
var BaseObjectSettings = ({ object }) => {
|
|
208
208
|
const { t } = useTranslation4(SPACE_PLUGIN);
|
|
209
|
+
const inputRef = React4.useRef(null);
|
|
209
210
|
return /* @__PURE__ */ React4.createElement("div", {
|
|
210
211
|
role: "form",
|
|
211
212
|
className: "flex flex-col w-full p-2 gap-1"
|
|
212
213
|
}, /* @__PURE__ */ React4.createElement(Input.Root, null, /* @__PURE__ */ React4.createElement(Input.Label, null, t("name label")), /* @__PURE__ */ React4.createElement(Input.TextInput, {
|
|
214
|
+
ref: inputRef,
|
|
213
215
|
placeholder: t("name placeholder"),
|
|
214
216
|
value: object.name ?? "",
|
|
215
217
|
onChange: (event) => {
|
|
216
218
|
object.name = event.target.value;
|
|
219
|
+
},
|
|
220
|
+
onKeyDown: (event) => {
|
|
221
|
+
if (event.key === "Enter") {
|
|
222
|
+
inputRef.current?.blur();
|
|
223
|
+
}
|
|
217
224
|
}
|
|
218
225
|
})));
|
|
219
226
|
};
|
|
@@ -221,20 +228,23 @@ var BaseObjectSettings = ({ object }) => {
|
|
|
221
228
|
// packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx
|
|
222
229
|
import { pipe } from "effect";
|
|
223
230
|
import React6, { useCallback as useCallback5, useRef } from "react";
|
|
224
|
-
import { chain, createIntent as createIntent2, LayoutAction as LayoutAction2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
231
|
+
import { Capabilities, chain, createIntent as createIntent2, LayoutAction as LayoutAction2, useCapabilities, useIntentDispatcher as useIntentDispatcher2, usePluginManager as usePluginManager2 } from "@dxos/app-framework";
|
|
232
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
225
233
|
import { useClient as useClient2 } from "@dxos/react-client";
|
|
226
234
|
import { getSpace, isReactiveObject, isSpace, useSpaces } from "@dxos/react-client/echo";
|
|
227
235
|
import { Button as Button2, Dialog, Icon as Icon2, useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
228
236
|
|
|
229
237
|
// packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectPanel.tsx
|
|
230
|
-
import React5, { useCallback as useCallback4,
|
|
238
|
+
import React5, { useCallback as useCallback4, useState as useState3 } from "react";
|
|
231
239
|
import { Surface, isSurfaceAvailable, usePluginManager } from "@dxos/app-framework";
|
|
232
|
-
import { getObjectAnnotation
|
|
240
|
+
import { getObjectAnnotation } from "@dxos/echo-schema";
|
|
241
|
+
import { invariant } from "@dxos/invariant";
|
|
233
242
|
import { Icon, toLocalizedString, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
234
243
|
import { Form as Form2 } from "@dxos/react-ui-form";
|
|
235
244
|
import { SearchList } from "@dxos/react-ui-searchlist";
|
|
236
245
|
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
237
|
-
import {
|
|
246
|
+
import { isNonNullable } from "@dxos/util";
|
|
247
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectPanel.tsx";
|
|
238
248
|
var useInputSurfaceLookup = (baseData) => {
|
|
239
249
|
const pluginManager = usePluginManager();
|
|
240
250
|
return useCallback4(({ prop, schema, inputProps }) => {
|
|
@@ -259,12 +269,12 @@ var useInputSurfaceLookup = (baseData) => {
|
|
|
259
269
|
baseData
|
|
260
270
|
]);
|
|
261
271
|
};
|
|
262
|
-
var CreateObjectPanel = ({ classNames,
|
|
272
|
+
var CreateObjectPanel = ({ classNames, forms, spaces, typename: initialTypename, target: initialTarget, name: initialName, defaultSpaceId, resolve, onCreateObject }) => {
|
|
263
273
|
const { t } = useTranslation5(SPACE_PLUGIN);
|
|
264
274
|
const [typename, setTypename] = useState3(initialTypename);
|
|
265
275
|
const [target, setTarget] = useState3(initialTarget);
|
|
266
|
-
const
|
|
267
|
-
const options =
|
|
276
|
+
const form = forms.find((form2) => getObjectAnnotation(form2.objectSchema)?.typename === typename);
|
|
277
|
+
const options = forms.map((form2) => getObjectAnnotation(form2.objectSchema)).filter(isNonNullable).sort((a, b) => {
|
|
268
278
|
const nameA = t("typename label", {
|
|
269
279
|
ns: a.typename,
|
|
270
280
|
defaultValue: a.typename
|
|
@@ -276,63 +286,68 @@ var CreateObjectPanel = ({ classNames, schemas, spaces, typename: initialTypenam
|
|
|
276
286
|
return nameA.localeCompare(nameB);
|
|
277
287
|
});
|
|
278
288
|
const handleCreateObject = useCallback4(async (props) => {
|
|
279
|
-
if (!
|
|
289
|
+
if (!form || !target) {
|
|
280
290
|
return;
|
|
281
291
|
}
|
|
282
292
|
await onCreateObject?.({
|
|
283
|
-
|
|
293
|
+
form,
|
|
284
294
|
target,
|
|
285
295
|
data: props
|
|
286
296
|
});
|
|
287
297
|
}, [
|
|
288
298
|
onCreateObject,
|
|
289
|
-
|
|
299
|
+
form,
|
|
290
300
|
target
|
|
291
301
|
]);
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
302
|
+
const handleSetTypename = useCallback4(async (typename2) => {
|
|
303
|
+
invariant(target, "target is required", {
|
|
304
|
+
F: __dxlog_file,
|
|
305
|
+
L: 94,
|
|
306
|
+
S: void 0,
|
|
307
|
+
A: [
|
|
308
|
+
"target",
|
|
309
|
+
"'target is required'"
|
|
310
|
+
]
|
|
311
|
+
});
|
|
312
|
+
const form2 = forms.find((form3) => getObjectAnnotation(form3.objectSchema)?.typename === typename2);
|
|
313
|
+
if (form2 && !form2.formSchema) {
|
|
314
|
+
await onCreateObject?.({
|
|
315
|
+
form: form2,
|
|
316
|
+
target
|
|
317
|
+
});
|
|
318
|
+
} else {
|
|
319
|
+
setTypename(typename2);
|
|
295
320
|
}
|
|
296
|
-
return resolve?.(typename);
|
|
297
321
|
}, [
|
|
298
|
-
|
|
299
|
-
|
|
322
|
+
forms,
|
|
323
|
+
onCreateObject,
|
|
324
|
+
target
|
|
300
325
|
]);
|
|
301
326
|
const inputSurfaceLookup = useInputSurfaceLookup({
|
|
302
327
|
target
|
|
303
328
|
});
|
|
304
|
-
const form = useMemo(() => {
|
|
305
|
-
const schema2 = metadata?.creationSchema ?? S.Struct({
|
|
306
|
-
name: S.optional(S.String)
|
|
307
|
-
});
|
|
308
|
-
return /* @__PURE__ */ React5.createElement(Form2, {
|
|
309
|
-
classNames: "!p-0",
|
|
310
|
-
autoFocus: true,
|
|
311
|
-
values: {
|
|
312
|
-
name: initialName
|
|
313
|
-
},
|
|
314
|
-
schema: schema2,
|
|
315
|
-
testId: "create-object-form",
|
|
316
|
-
onSave: handleCreateObject,
|
|
317
|
-
lookupComponent: inputSurfaceLookup
|
|
318
|
-
});
|
|
319
|
-
}, [
|
|
320
|
-
initialName,
|
|
321
|
-
handleCreateObject,
|
|
322
|
-
metadata
|
|
323
|
-
]);
|
|
324
329
|
return /* @__PURE__ */ React5.createElement("div", {
|
|
325
330
|
role: "form",
|
|
326
331
|
className: mx2("flex flex-col gap-2", classNames)
|
|
327
|
-
}, !
|
|
332
|
+
}, !form ? /* @__PURE__ */ React5.createElement(SelectSchema, {
|
|
328
333
|
options,
|
|
329
334
|
resolve,
|
|
330
|
-
onChange:
|
|
335
|
+
onChange: handleSetTypename
|
|
331
336
|
}) : !target ? /* @__PURE__ */ React5.createElement(SelectSpace, {
|
|
332
337
|
spaces,
|
|
333
338
|
defaultSpaceId,
|
|
334
339
|
onChange: setTarget
|
|
335
|
-
}) : form
|
|
340
|
+
}) : form.formSchema ? /* @__PURE__ */ React5.createElement(Form2, {
|
|
341
|
+
classNames: "!p-0",
|
|
342
|
+
autoFocus: true,
|
|
343
|
+
values: {
|
|
344
|
+
name: initialName
|
|
345
|
+
},
|
|
346
|
+
schema: form.formSchema,
|
|
347
|
+
testId: "create-object-form",
|
|
348
|
+
onSave: handleCreateObject,
|
|
349
|
+
lookupComponent: inputSurfaceLookup
|
|
350
|
+
}) : void 0);
|
|
336
351
|
};
|
|
337
352
|
var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
|
|
338
353
|
const { t } = useTranslation5(SPACE_PLUGIN);
|
|
@@ -398,23 +413,50 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
398
413
|
}))))));
|
|
399
414
|
};
|
|
400
415
|
|
|
416
|
+
// packages/plugins/plugin-space/src/capabilities/index.ts
|
|
417
|
+
import { lazy } from "@dxos/app-framework";
|
|
418
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-MGK5HWPZ.mjs"));
|
|
419
|
+
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-FOWFLYGU.mjs"));
|
|
420
|
+
var IdentityCreated = lazy(() => import("./identity-created-FYGS6TBH.mjs"));
|
|
421
|
+
var IntentResolver = lazy(() => import("./intent-resolver-QVR4MSJV.mjs"));
|
|
422
|
+
var ReactRoot = lazy(() => import("./react-root-IP2ZB245.mjs"));
|
|
423
|
+
var ReactSurface = lazy(() => import("./react-surface-BT3EHB6V.mjs"));
|
|
424
|
+
var Schema = lazy(() => import("./schema-5W3DSY2E.mjs"));
|
|
425
|
+
var SpaceSettings = lazy(() => import("./settings-PHPCXX33.mjs"));
|
|
426
|
+
var SpaceState = lazy(() => import("./state-INJ63O57.mjs"));
|
|
427
|
+
var SpacesReady = lazy(() => import("./spaces-ready-K47RR7N2.mjs"));
|
|
428
|
+
|
|
401
429
|
// packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx
|
|
430
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
|
|
402
431
|
var CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
|
|
403
|
-
var CreateObjectDialog = ({
|
|
432
|
+
var CreateObjectDialog = ({ target, typename, name, shouldNavigate: _shouldNavigate }) => {
|
|
404
433
|
const closeRef = useRef(null);
|
|
434
|
+
const manager = usePluginManager2();
|
|
405
435
|
const { t } = useTranslation6(SPACE_PLUGIN);
|
|
406
436
|
const client = useClient2();
|
|
407
437
|
const spaces = useSpaces();
|
|
408
438
|
const { dispatchPromise: dispatch } = useIntentDispatcher2();
|
|
409
|
-
const
|
|
439
|
+
const forms = useCapabilities(SpaceCapabilities.ObjectForm);
|
|
440
|
+
const resolve = useCallback5((typename2) => manager.context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename2)?.metadata ?? {}, [
|
|
441
|
+
manager
|
|
442
|
+
]);
|
|
443
|
+
const handleCreateObject = useCallback5(async ({ form, target: _target, data = {} }) => {
|
|
410
444
|
const target2 = isSpace(_target) ? _target.properties[CollectionType.typename]?.target : _target;
|
|
411
|
-
|
|
412
|
-
if (!createObjectIntent || !target2) {
|
|
445
|
+
if (!target2) {
|
|
413
446
|
return;
|
|
414
447
|
}
|
|
415
448
|
closeRef.current?.click();
|
|
416
449
|
const space = isSpace(target2) ? target2 : getSpace(target2);
|
|
417
|
-
|
|
450
|
+
invariant2(space, "Missing space", {
|
|
451
|
+
F: __dxlog_file2,
|
|
452
|
+
L: 75,
|
|
453
|
+
S: void 0,
|
|
454
|
+
A: [
|
|
455
|
+
"space",
|
|
456
|
+
"'Missing space'"
|
|
457
|
+
]
|
|
458
|
+
});
|
|
459
|
+
const result = await dispatch(form.getIntent(data, {
|
|
418
460
|
space
|
|
419
461
|
}));
|
|
420
462
|
const object = result.data?.object;
|
|
@@ -456,7 +498,7 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
|
|
|
456
498
|
size: 4
|
|
457
499
|
})))), /* @__PURE__ */ React6.createElement(CreateObjectPanel, {
|
|
458
500
|
classNames: "p-4",
|
|
459
|
-
|
|
501
|
+
forms,
|
|
460
502
|
spaces,
|
|
461
503
|
target,
|
|
462
504
|
typename,
|
|
@@ -519,6 +561,8 @@ var CreateSpaceDialog = () => {
|
|
|
519
561
|
className: "p-4"
|
|
520
562
|
}, /* @__PURE__ */ React7.createElement(Form3, {
|
|
521
563
|
testId: "create-space-form",
|
|
564
|
+
classNames: "!p-0",
|
|
565
|
+
autoFocus: true,
|
|
522
566
|
values: initialValues2,
|
|
523
567
|
schema: SpaceForm,
|
|
524
568
|
onSave: handleCreateSpace
|
|
@@ -562,7 +606,7 @@ import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
|
562
606
|
import { useClient as useClient3 } from "@dxos/react-client";
|
|
563
607
|
import { Dialog as Dialog3 } from "@dxos/react-ui";
|
|
564
608
|
import { JoinPanel } from "@dxos/shell/react";
|
|
565
|
-
var
|
|
609
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/JoinDialog.tsx";
|
|
566
610
|
var JOIN_DIALOG = `${SPACE_PLUGIN}/JoinDialog`;
|
|
567
611
|
var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
568
612
|
const { dispatchPromise: dispatch } = useIntentDispatcher4();
|
|
@@ -601,7 +645,7 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
601
645
|
const space = result?.spaceKey ? client.spaces.get(result.spaceKey) : void 0;
|
|
602
646
|
if (!space) {
|
|
603
647
|
log.warn("Space not found", result?.spaceKey, {
|
|
604
|
-
F:
|
|
648
|
+
F: __dxlog_file3,
|
|
605
649
|
L: 56,
|
|
606
650
|
S: void 0,
|
|
607
651
|
C: (f, a) => f(...a)
|
|
@@ -741,14 +785,58 @@ var PersistenceStatus = ({ db }) => {
|
|
|
741
785
|
}
|
|
742
786
|
};
|
|
743
787
|
|
|
788
|
+
// packages/plugins/plugin-space/src/components/PopoverAddSpace.tsx
|
|
789
|
+
import React13 from "react";
|
|
790
|
+
import { createIntent as createIntent5, LayoutAction as LayoutAction5, useIntentDispatcher as useIntentDispatcher5 } from "@dxos/app-framework";
|
|
791
|
+
import { IconButton as IconButton3, useTranslation as useTranslation12 } from "@dxos/react-ui";
|
|
792
|
+
var POPOVER_ADD_SPACE = `${SPACE_PLUGIN}/PopoverRenameSpace`;
|
|
793
|
+
var PopoverAddSpace = () => {
|
|
794
|
+
const { t } = useTranslation12(SPACE_PLUGIN);
|
|
795
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher5();
|
|
796
|
+
return /* @__PURE__ */ React13.createElement("div", {
|
|
797
|
+
role: "none",
|
|
798
|
+
className: "grid grid-cols-1 gap-1 [&>button]:justify-start"
|
|
799
|
+
}, /* @__PURE__ */ React13.createElement(IconButton3, {
|
|
800
|
+
variant: "ghost",
|
|
801
|
+
label: t("create space label"),
|
|
802
|
+
icon: "ph--plus--regular",
|
|
803
|
+
onClick: () => {
|
|
804
|
+
void dispatch(createIntent5(SpaceAction.OpenCreateSpace));
|
|
805
|
+
void dispatch(createIntent5(LayoutAction5.UpdatePopover, {
|
|
806
|
+
part: "popover",
|
|
807
|
+
options: {
|
|
808
|
+
anchorId: "",
|
|
809
|
+
state: false
|
|
810
|
+
}
|
|
811
|
+
}));
|
|
812
|
+
},
|
|
813
|
+
"data-testid": "spacePlugin.createSpace"
|
|
814
|
+
}), /* @__PURE__ */ React13.createElement(IconButton3, {
|
|
815
|
+
variant: "ghost",
|
|
816
|
+
label: t("join space label"),
|
|
817
|
+
icon: "ph--sign-in--regular",
|
|
818
|
+
onClick: () => {
|
|
819
|
+
void dispatch(createIntent5(SpaceAction.Join));
|
|
820
|
+
void dispatch(createIntent5(LayoutAction5.UpdatePopover, {
|
|
821
|
+
part: "popover",
|
|
822
|
+
options: {
|
|
823
|
+
anchorId: "",
|
|
824
|
+
state: false
|
|
825
|
+
}
|
|
826
|
+
}));
|
|
827
|
+
},
|
|
828
|
+
"data-testid": "spacePlugin.joinSpace"
|
|
829
|
+
}));
|
|
830
|
+
};
|
|
831
|
+
|
|
744
832
|
// packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx
|
|
745
|
-
import
|
|
833
|
+
import React14, { useCallback as useCallback8, useRef as useRef3, useState as useState5 } from "react";
|
|
746
834
|
import { log as log2 } from "@dxos/log";
|
|
747
|
-
import { Button as Button4, Input as Input2, Popover, useTranslation as
|
|
748
|
-
var
|
|
835
|
+
import { Button as Button4, Input as Input2, Popover, useTranslation as useTranslation13 } from "@dxos/react-ui";
|
|
836
|
+
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
|
|
749
837
|
var POPOVER_RENAME_OBJECT = `${SPACE_PLUGIN}/PopoverRenameObject`;
|
|
750
838
|
var PopoverRenameObject = ({ object: obj }) => {
|
|
751
|
-
const { t } =
|
|
839
|
+
const { t } = useTranslation13(SPACE_PLUGIN);
|
|
752
840
|
const doneButton = useRef3(null);
|
|
753
841
|
const object = obj;
|
|
754
842
|
const [name, setName] = useState5(object.name || object.title || "");
|
|
@@ -762,7 +850,7 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
762
850
|
log2.error("Failed to rename object", {
|
|
763
851
|
err
|
|
764
852
|
}, {
|
|
765
|
-
F:
|
|
853
|
+
F: __dxlog_file4,
|
|
766
854
|
L: 30,
|
|
767
855
|
S: void 0,
|
|
768
856
|
C: (f, a) => f(...a)
|
|
@@ -773,23 +861,23 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
773
861
|
object,
|
|
774
862
|
name
|
|
775
863
|
]);
|
|
776
|
-
return /* @__PURE__ */
|
|
864
|
+
return /* @__PURE__ */ React14.createElement("div", {
|
|
777
865
|
role: "none",
|
|
778
866
|
className: "p-1 flex gap-2"
|
|
779
|
-
}, /* @__PURE__ */
|
|
867
|
+
}, /* @__PURE__ */ React14.createElement("div", {
|
|
780
868
|
role: "none",
|
|
781
869
|
className: "flex-1"
|
|
782
|
-
}, /* @__PURE__ */
|
|
870
|
+
}, /* @__PURE__ */ React14.createElement(Input2.Root, null, /* @__PURE__ */ React14.createElement(Input2.Label, {
|
|
783
871
|
srOnly: true
|
|
784
|
-
}, t("object name label")), /* @__PURE__ */
|
|
872
|
+
}, t("object name label")), /* @__PURE__ */ React14.createElement(Input2.TextInput, {
|
|
785
873
|
placeholder: t("object title placeholder"),
|
|
786
874
|
value: name,
|
|
787
875
|
"data-testid": "spacePlugin.renameObject.input",
|
|
788
876
|
onChange: ({ target: { value } }) => setName(value),
|
|
789
877
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
790
|
-
}))), /* @__PURE__ */
|
|
878
|
+
}))), /* @__PURE__ */ React14.createElement(Popover.Close, {
|
|
791
879
|
asChild: true
|
|
792
|
-
}, /* @__PURE__ */
|
|
880
|
+
}, /* @__PURE__ */ React14.createElement(Button4, {
|
|
793
881
|
ref: doneButton,
|
|
794
882
|
classNames: "self-stretch",
|
|
795
883
|
onClick: handleDone
|
|
@@ -799,11 +887,11 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
799
887
|
};
|
|
800
888
|
|
|
801
889
|
// packages/plugins/plugin-space/src/components/PopoverRenameSpace.tsx
|
|
802
|
-
import
|
|
803
|
-
import { Button as Button5, Input as Input3, Popover as Popover2, useTranslation as
|
|
890
|
+
import React15, { useCallback as useCallback9, useRef as useRef4, useState as useState6 } from "react";
|
|
891
|
+
import { Button as Button5, Input as Input3, Popover as Popover2, useTranslation as useTranslation14 } from "@dxos/react-ui";
|
|
804
892
|
var POPOVER_RENAME_SPACE = `${SPACE_PLUGIN}/PopoverRenameSpace`;
|
|
805
893
|
var PopoverRenameSpace = ({ space }) => {
|
|
806
|
-
const { t } =
|
|
894
|
+
const { t } = useTranslation14(SPACE_PLUGIN);
|
|
807
895
|
const doneButton = useRef4(null);
|
|
808
896
|
const [name, setName] = useState6(space.properties.name ?? "");
|
|
809
897
|
const handleDone = useCallback9(() => {
|
|
@@ -812,24 +900,24 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
812
900
|
space,
|
|
813
901
|
name
|
|
814
902
|
]);
|
|
815
|
-
return /* @__PURE__ */
|
|
903
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
816
904
|
role: "none",
|
|
817
905
|
className: "p-1 flex gap-2"
|
|
818
|
-
}, /* @__PURE__ */
|
|
906
|
+
}, /* @__PURE__ */ React15.createElement("div", {
|
|
819
907
|
role: "none",
|
|
820
908
|
className: "flex-1"
|
|
821
|
-
}, /* @__PURE__ */
|
|
909
|
+
}, /* @__PURE__ */ React15.createElement(Input3.Root, null, /* @__PURE__ */ React15.createElement(Input3.Label, {
|
|
822
910
|
srOnly: true
|
|
823
|
-
}, t("space name label")), /* @__PURE__ */
|
|
911
|
+
}, t("space name label")), /* @__PURE__ */ React15.createElement(Input3.TextInput, {
|
|
824
912
|
defaultValue: space.properties.name ?? "",
|
|
825
913
|
placeholder: t("unnamed space label"),
|
|
826
914
|
onChange: ({ target: { value } }) => setName(value),
|
|
827
915
|
// TODO(wittjosiah): Ideally this should access the popover context to close the popover.
|
|
828
916
|
// Currently this is not possible because Radix does not expose the popover context.
|
|
829
917
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
830
|
-
}))), /* @__PURE__ */
|
|
918
|
+
}))), /* @__PURE__ */ React15.createElement(Popover2.Close, {
|
|
831
919
|
asChild: true
|
|
832
|
-
}, /* @__PURE__ */
|
|
920
|
+
}, /* @__PURE__ */ React15.createElement(Button5, {
|
|
833
921
|
ref: doneButton,
|
|
834
922
|
classNames: "self-stretch",
|
|
835
923
|
onClick: handleDone
|
|
@@ -839,20 +927,20 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
839
927
|
};
|
|
840
928
|
|
|
841
929
|
// packages/plugins/plugin-space/src/components/ShareSpaceButton.tsx
|
|
842
|
-
import
|
|
843
|
-
import { createIntent as
|
|
844
|
-
import { IconButton as
|
|
930
|
+
import React16 from "react";
|
|
931
|
+
import { createIntent as createIntent6, useIntentDispatcher as useIntentDispatcher6 } from "@dxos/app-framework";
|
|
932
|
+
import { IconButton as IconButton4, useTranslation as useTranslation15 } from "@dxos/react-ui";
|
|
845
933
|
var ShareSpaceButton = ({ space }) => {
|
|
846
|
-
const { dispatchPromise: dispatch } =
|
|
847
|
-
return /* @__PURE__ */
|
|
848
|
-
onClick: () => dispatch(
|
|
934
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher6();
|
|
935
|
+
return /* @__PURE__ */ React16.createElement(ShareSpaceButtonImpl, {
|
|
936
|
+
onClick: () => dispatch(createIntent6(SpaceAction.Share, {
|
|
849
937
|
space
|
|
850
938
|
}))
|
|
851
939
|
});
|
|
852
940
|
};
|
|
853
941
|
var ShareSpaceButtonImpl = ({ onClick }) => {
|
|
854
|
-
const { t } =
|
|
855
|
-
return /* @__PURE__ */
|
|
942
|
+
const { t } = useTranslation15(SPACE_PLUGIN);
|
|
943
|
+
return /* @__PURE__ */ React16.createElement(IconButton4, {
|
|
856
944
|
"data-testid": "spacePlugin.shareSpaceButton",
|
|
857
945
|
icon: "ph--users--regular",
|
|
858
946
|
label: t("share space label"),
|
|
@@ -861,28 +949,16 @@ var ShareSpaceButtonImpl = ({ onClick }) => {
|
|
|
861
949
|
};
|
|
862
950
|
|
|
863
951
|
// packages/plugins/plugin-space/src/components/SpacePresence.tsx
|
|
864
|
-
import
|
|
952
|
+
import React17, { useCallback as useCallback10, useEffect as useEffect4, useState as useState8 } from "react";
|
|
865
953
|
import { useAppGraph as useAppGraph2, useCapability } from "@dxos/app-framework";
|
|
866
954
|
import { generateName } from "@dxos/display-name";
|
|
867
955
|
import { PublicKey, useClient as useClient5 } from "@dxos/react-client";
|
|
868
956
|
import { getSpace as getSpace3, useMembers, fullyQualifiedId as fullyQualifiedId2 } from "@dxos/react-client/echo";
|
|
869
957
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
870
|
-
import { Avatar, AvatarGroup, AvatarGroupItem, Tooltip as Tooltip2, useTranslation as
|
|
958
|
+
import { Avatar, AvatarGroup, AvatarGroupItem, Tooltip as Tooltip2, useTranslation as useTranslation16, List as List2, ListItem as ListItem2, useDefaultValue } from "@dxos/react-ui";
|
|
871
959
|
import { AttentionGlyph, useAttended, useAttention } from "@dxos/react-ui-attention";
|
|
872
960
|
import { ComplexMap, keyToFallback } from "@dxos/util";
|
|
873
961
|
|
|
874
|
-
// packages/plugins/plugin-space/src/capabilities/index.ts
|
|
875
|
-
import { lazy } from "@dxos/app-framework";
|
|
876
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-TTM2YZVS.mjs"));
|
|
877
|
-
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-ZGM5NDXE.mjs"));
|
|
878
|
-
var IdentityCreated = lazy(() => import("./identity-created-VICTPQX7.mjs"));
|
|
879
|
-
var IntentResolver = lazy(() => import("./intent-resolver-SYYO26PR.mjs"));
|
|
880
|
-
var ReactRoot = lazy(() => import("./react-root-YUF4IL5W.mjs"));
|
|
881
|
-
var ReactSurface = lazy(() => import("./react-surface-YIPKS26R.mjs"));
|
|
882
|
-
var SpaceSettings = lazy(() => import("./settings-HN5UIYQO.mjs"));
|
|
883
|
-
var SpaceState = lazy(() => import("./state-6DCY5YJP.mjs"));
|
|
884
|
-
var SpacesReady = lazy(() => import("./spaces-ready-F57ITJDR.mjs"));
|
|
885
|
-
|
|
886
962
|
// packages/plugins/plugin-space/src/hooks/usePath.ts
|
|
887
963
|
import { useEffect as useEffect3, useState as useState7 } from "react";
|
|
888
964
|
var usePath = (graph, id, timeout) => {
|
|
@@ -953,7 +1029,7 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
953
1029
|
lastSeen
|
|
954
1030
|
};
|
|
955
1031
|
}).toSorted((a, b) => a.lastSeen - b.lastSeen);
|
|
956
|
-
return /* @__PURE__ */
|
|
1032
|
+
return /* @__PURE__ */ React17.createElement(FullPresence, {
|
|
957
1033
|
members: membersForObject
|
|
958
1034
|
});
|
|
959
1035
|
};
|
|
@@ -963,38 +1039,38 @@ var FullPresence = (props) => {
|
|
|
963
1039
|
if (members.length === 0) {
|
|
964
1040
|
return null;
|
|
965
1041
|
}
|
|
966
|
-
return /* @__PURE__ */
|
|
1042
|
+
return /* @__PURE__ */ React17.createElement(AvatarGroup.Root, {
|
|
967
1043
|
size,
|
|
968
1044
|
classNames: "mbs-2 mie-4",
|
|
969
1045
|
"data-testid": "spacePlugin.presence"
|
|
970
|
-
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */
|
|
1046
|
+
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React17.createElement(Tooltip2.Root, {
|
|
971
1047
|
key: member.identity.identityKey.toHex()
|
|
972
|
-
}, /* @__PURE__ */
|
|
1048
|
+
}, /* @__PURE__ */ React17.createElement(Tooltip2.Trigger, null, /* @__PURE__ */ React17.createElement(PrensenceAvatar, {
|
|
973
1049
|
identity: member.identity,
|
|
974
1050
|
group: true,
|
|
975
1051
|
match: member.currentlyAttended,
|
|
976
1052
|
index: members.length - i,
|
|
977
1053
|
onClick: () => onMemberClick?.(member)
|
|
978
|
-
})), /* @__PURE__ */
|
|
1054
|
+
})), /* @__PURE__ */ React17.createElement(Tooltip2.Portal, null, /* @__PURE__ */ React17.createElement(Tooltip2.Content, {
|
|
979
1055
|
side: "bottom"
|
|
980
|
-
}, /* @__PURE__ */
|
|
1056
|
+
}, /* @__PURE__ */ React17.createElement("span", null, getName(member.identity)), /* @__PURE__ */ React17.createElement(Tooltip2.Arrow, null))))), members.length > 3 && /* @__PURE__ */ React17.createElement(Tooltip2.Root, null, /* @__PURE__ */ React17.createElement(Tooltip2.Trigger, null, /* @__PURE__ */ React17.createElement(AvatarGroupItem.Root, {
|
|
981
1057
|
status: "inactive"
|
|
982
|
-
}, /* @__PURE__ */
|
|
1058
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Frame, {
|
|
983
1059
|
style: {
|
|
984
1060
|
zIndex: members.length - 4
|
|
985
1061
|
}
|
|
986
|
-
}, /* @__PURE__ */
|
|
1062
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Fallback, {
|
|
987
1063
|
text: `+${members.length - 3}`
|
|
988
|
-
})))), /* @__PURE__ */
|
|
1064
|
+
})))), /* @__PURE__ */ React17.createElement(Tooltip2.Portal, null, /* @__PURE__ */ React17.createElement(Tooltip2.Content, {
|
|
989
1065
|
side: "bottom"
|
|
990
|
-
}, /* @__PURE__ */
|
|
1066
|
+
}, /* @__PURE__ */ React17.createElement(Tooltip2.Arrow, null), /* @__PURE__ */ React17.createElement(List2, {
|
|
991
1067
|
classNames: "max-h-56 overflow-y-auto"
|
|
992
|
-
}, members.map((member) => /* @__PURE__ */
|
|
1068
|
+
}, members.map((member) => /* @__PURE__ */ React17.createElement(ListItem2.Root, {
|
|
993
1069
|
key: member.identity.identityKey.toHex(),
|
|
994
1070
|
classNames: "flex gap-2 items-center cursor-pointer mbe-2",
|
|
995
1071
|
onClick: () => onMemberClick?.(member),
|
|
996
1072
|
"data-testid": "identity-list-item"
|
|
997
|
-
}, /* @__PURE__ */
|
|
1073
|
+
}, /* @__PURE__ */ React17.createElement(PrensenceAvatar, {
|
|
998
1074
|
identity: member.identity,
|
|
999
1075
|
showName: true,
|
|
1000
1076
|
match: member.currentlyAttended
|
|
@@ -1004,10 +1080,10 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
|
|
|
1004
1080
|
const Root = group ? AvatarGroupItem.Root : Avatar.Root;
|
|
1005
1081
|
const status = match ? "current" : "active";
|
|
1006
1082
|
const fallbackValue = keyToFallback(identity.identityKey);
|
|
1007
|
-
return /* @__PURE__ */
|
|
1083
|
+
return /* @__PURE__ */ React17.createElement(Root, {
|
|
1008
1084
|
status,
|
|
1009
1085
|
hue: identity.profile?.data?.hue || fallbackValue.hue
|
|
1010
|
-
}, /* @__PURE__ */
|
|
1086
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Frame, {
|
|
1011
1087
|
"data-testid": "spacePlugin.presence.member",
|
|
1012
1088
|
"data-status": status,
|
|
1013
1089
|
...index ? {
|
|
@@ -1016,9 +1092,9 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
|
|
|
1016
1092
|
}
|
|
1017
1093
|
} : {},
|
|
1018
1094
|
onClick: () => onClick?.()
|
|
1019
|
-
}, /* @__PURE__ */
|
|
1095
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Fallback, {
|
|
1020
1096
|
text: identity.profile?.data?.emoji || fallbackValue.emoji
|
|
1021
|
-
})), showName && /* @__PURE__ */
|
|
1097
|
+
})), showName && /* @__PURE__ */ React17.createElement(Avatar.Label, {
|
|
1022
1098
|
classNames: "text-sm truncate pli-2"
|
|
1023
1099
|
}, getName(identity)));
|
|
1024
1100
|
};
|
|
@@ -1046,52 +1122,53 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1046
1122
|
}, [
|
|
1047
1123
|
viewers
|
|
1048
1124
|
]);
|
|
1049
|
-
return /* @__PURE__ */
|
|
1125
|
+
return /* @__PURE__ */ React17.createElement(SmallPresence, {
|
|
1050
1126
|
count: activeViewers.length,
|
|
1051
1127
|
attended: isAttended,
|
|
1052
1128
|
containsAttended
|
|
1053
1129
|
});
|
|
1054
1130
|
};
|
|
1055
1131
|
var SmallPresence = ({ count = 0, attended, containsAttended }) => {
|
|
1056
|
-
const { t } =
|
|
1057
|
-
return /* @__PURE__ */
|
|
1132
|
+
const { t } = useTranslation16(SPACE_PLUGIN);
|
|
1133
|
+
return /* @__PURE__ */ React17.createElement(Tooltip2.Root, null, /* @__PURE__ */ React17.createElement(Tooltip2.Trigger, {
|
|
1058
1134
|
asChild: true
|
|
1059
|
-
}, /* @__PURE__ */
|
|
1135
|
+
}, /* @__PURE__ */ React17.createElement(AttentionGlyph, {
|
|
1060
1136
|
attended,
|
|
1061
1137
|
containsAttended,
|
|
1062
1138
|
presence: count > 1 ? "many" : count === 1 ? "one" : "none",
|
|
1063
1139
|
classNames: "self-center mie-1"
|
|
1064
|
-
})), /* @__PURE__ */
|
|
1140
|
+
})), /* @__PURE__ */ React17.createElement(Tooltip2.Portal, null, /* @__PURE__ */ React17.createElement(Tooltip2.Content, {
|
|
1065
1141
|
side: "bottom"
|
|
1066
|
-
}, /* @__PURE__ */
|
|
1142
|
+
}, /* @__PURE__ */ React17.createElement("span", null, t("presence label", {
|
|
1067
1143
|
count
|
|
1068
|
-
})), /* @__PURE__ */
|
|
1144
|
+
})), /* @__PURE__ */ React17.createElement(Tooltip2.Arrow, null))));
|
|
1069
1145
|
};
|
|
1070
1146
|
|
|
1071
1147
|
// packages/plugins/plugin-space/src/components/SpacePluginSettings.tsx
|
|
1072
|
-
import
|
|
1073
|
-
import { Input as Input4, useTranslation as
|
|
1148
|
+
import React18 from "react";
|
|
1149
|
+
import { Input as Input4, useTranslation as useTranslation17 } from "@dxos/react-ui";
|
|
1074
1150
|
import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
|
|
1075
1151
|
var SpacePluginSettings = ({ settings }) => {
|
|
1076
|
-
const { t } =
|
|
1077
|
-
return /* @__PURE__ */
|
|
1152
|
+
const { t } = useTranslation17(SPACE_PLUGIN);
|
|
1153
|
+
return /* @__PURE__ */ React18.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React18.createElement(DeprecatedFormInput, {
|
|
1078
1154
|
label: t("show hidden spaces label")
|
|
1079
|
-
}, /* @__PURE__ */
|
|
1155
|
+
}, /* @__PURE__ */ React18.createElement(Input4.Switch, {
|
|
1080
1156
|
checked: settings.showHidden,
|
|
1081
1157
|
onCheckedChange: (checked) => settings.showHidden = !!checked
|
|
1082
1158
|
})));
|
|
1083
1159
|
};
|
|
1084
1160
|
|
|
1085
1161
|
// packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsPanel.tsx
|
|
1086
|
-
import
|
|
1162
|
+
import React19, { useCallback as useCallback11, useState as useState9 } from "react";
|
|
1087
1163
|
import { log as log3 } from "@dxos/log";
|
|
1088
1164
|
import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1089
1165
|
import { useClient as useClient6 } from "@dxos/react-client";
|
|
1090
|
-
import { Input as Input5, useTranslation as
|
|
1166
|
+
import { Input as Input5, Toolbar, useTranslation as useTranslation18 } from "@dxos/react-ui";
|
|
1091
1167
|
import { DeprecatedFormContainer as DeprecatedFormContainer2, DeprecatedFormInput as DeprecatedFormInput2 } from "@dxos/react-ui-form";
|
|
1092
|
-
|
|
1093
|
-
var
|
|
1094
|
-
|
|
1168
|
+
import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
|
|
1169
|
+
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsPanel.tsx";
|
|
1170
|
+
var SpaceSettingsPanel = ({ space }) => {
|
|
1171
|
+
const { t } = useTranslation18(SPACE_PLUGIN);
|
|
1095
1172
|
const client = useClient6();
|
|
1096
1173
|
const edgeEnabled = Boolean(client.config.values.runtime?.client?.edgeFeatures?.echoReplicator);
|
|
1097
1174
|
const [edgeReplication, setEdgeReplication] = useState9(space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED);
|
|
@@ -1099,8 +1176,8 @@ var SpaceSettingsPanel = ({ classNames, space }) => {
|
|
|
1099
1176
|
setEdgeReplication(next);
|
|
1100
1177
|
await space?.internal.setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED).catch((err) => {
|
|
1101
1178
|
log3.catch(err, void 0, {
|
|
1102
|
-
F:
|
|
1103
|
-
L:
|
|
1179
|
+
F: __dxlog_file5,
|
|
1180
|
+
L: 36,
|
|
1104
1181
|
S: void 0,
|
|
1105
1182
|
C: (f, a) => f(...a)
|
|
1106
1183
|
});
|
|
@@ -1109,32 +1186,48 @@ var SpaceSettingsPanel = ({ classNames, space }) => {
|
|
|
1109
1186
|
}, [
|
|
1110
1187
|
space
|
|
1111
1188
|
]);
|
|
1112
|
-
return /* @__PURE__ */
|
|
1189
|
+
return /* @__PURE__ */ React19.createElement(DeprecatedFormContainer2, null, /* @__PURE__ */ React19.createElement(DeprecatedFormInput2, {
|
|
1113
1190
|
label: t("name label")
|
|
1114
|
-
}, /* @__PURE__ */
|
|
1191
|
+
}, /* @__PURE__ */ React19.createElement(Input5.TextInput, {
|
|
1115
1192
|
placeholder: t("unnamed space label"),
|
|
1116
1193
|
value: space.properties.name ?? "",
|
|
1117
1194
|
onChange: (event) => {
|
|
1118
1195
|
space.properties.name = event.target.value;
|
|
1119
1196
|
}
|
|
1120
|
-
})),
|
|
1197
|
+
})), /* @__PURE__ */ React19.createElement(DeprecatedFormInput2, {
|
|
1198
|
+
label: t("icon label")
|
|
1199
|
+
}, /* @__PURE__ */ React19.createElement(Toolbar.Root, null, /* @__PURE__ */ React19.createElement(IconPicker, {
|
|
1200
|
+
value: space.properties.icon,
|
|
1201
|
+
onChange: (nextIcon) => space.properties.icon = nextIcon,
|
|
1202
|
+
onReset: () => {
|
|
1203
|
+
space.properties.icon = void 0;
|
|
1204
|
+
}
|
|
1205
|
+
}))), /* @__PURE__ */ React19.createElement(DeprecatedFormInput2, {
|
|
1206
|
+
label: t("hue label")
|
|
1207
|
+
}, /* @__PURE__ */ React19.createElement(Toolbar.Root, null, /* @__PURE__ */ React19.createElement(HuePicker, {
|
|
1208
|
+
value: space.properties.hue,
|
|
1209
|
+
onChange: (nextHue) => space.properties.hue = nextHue,
|
|
1210
|
+
onReset: () => {
|
|
1211
|
+
space.properties.hue = void 0;
|
|
1212
|
+
}
|
|
1213
|
+
}))), edgeEnabled && /* @__PURE__ */ React19.createElement(DeprecatedFormInput2, {
|
|
1121
1214
|
label: t("edge replication label")
|
|
1122
|
-
}, /* @__PURE__ */
|
|
1215
|
+
}, /* @__PURE__ */ React19.createElement(Input5.Switch, {
|
|
1123
1216
|
checked: edgeReplication,
|
|
1124
1217
|
onCheckedChange: toggleEdgeReplication
|
|
1125
1218
|
})));
|
|
1126
1219
|
};
|
|
1127
1220
|
|
|
1128
1221
|
// packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsDialog.tsx
|
|
1129
|
-
import
|
|
1130
|
-
import { Surface as Surface2, useCapabilities } from "@dxos/app-framework";
|
|
1222
|
+
import React20, { useMemo, useState as useState10 } from "react";
|
|
1223
|
+
import { Surface as Surface2, useCapabilities as useCapabilities2 } from "@dxos/app-framework";
|
|
1131
1224
|
import { useClient as useClient7 } from "@dxos/react-client";
|
|
1132
|
-
import { Button as Button6, Clipboard, Dialog as Dialog4, Icon as Icon4, toLocalizedString as toLocalizedString3, useTranslation as
|
|
1225
|
+
import { Button as Button6, Clipboard, Dialog as Dialog4, Icon as Icon4, toLocalizedString as toLocalizedString3, useTranslation as useTranslation19 } from "@dxos/react-ui";
|
|
1133
1226
|
import { Tabs } from "@dxos/react-ui-tabs";
|
|
1134
1227
|
import { SpacePanel } from "@dxos/shell/react";
|
|
1135
1228
|
var SPACE_SETTINGS_DIALOG = `${SPACE_PLUGIN}/SpaceSettingsDialog`;
|
|
1136
1229
|
var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "members", namesCache }) => {
|
|
1137
|
-
const { t } =
|
|
1230
|
+
const { t } = useTranslation19(SPACE_PLUGIN);
|
|
1138
1231
|
const client = useClient7();
|
|
1139
1232
|
const [tabsActivePart, setTabsActivePart] = useState10("list");
|
|
1140
1233
|
const [selected, setSelected] = useState10(initialTab);
|
|
@@ -1143,8 +1236,8 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
|
|
|
1143
1236
|
personal: client.spaces.default === space,
|
|
1144
1237
|
namesCache
|
|
1145
1238
|
});
|
|
1146
|
-
const panels =
|
|
1147
|
-
const data =
|
|
1239
|
+
const panels = useCapabilities2(SpaceCapabilities.SettingsPanel);
|
|
1240
|
+
const data = useMemo(() => ({
|
|
1148
1241
|
subject: space
|
|
1149
1242
|
}), [
|
|
1150
1243
|
space
|
|
@@ -1152,76 +1245,76 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
|
|
|
1152
1245
|
return (
|
|
1153
1246
|
// TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
|
|
1154
1247
|
// Consider factoring it out to the tabs package.
|
|
1155
|
-
/* @__PURE__ */
|
|
1248
|
+
/* @__PURE__ */ React20.createElement(Dialog4.Content, {
|
|
1156
1249
|
classNames: "p-0 bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
|
|
1157
|
-
}, /* @__PURE__ */
|
|
1250
|
+
}, /* @__PURE__ */ React20.createElement("div", {
|
|
1158
1251
|
role: "none",
|
|
1159
1252
|
className: "flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4"
|
|
1160
|
-
}, /* @__PURE__ */
|
|
1253
|
+
}, /* @__PURE__ */ React20.createElement(Dialog4.Title, {
|
|
1161
1254
|
onClick: () => setTabsActivePart("list"),
|
|
1162
1255
|
"aria-description": t("click to return to tablist description"),
|
|
1163
1256
|
classNames: "flex cursor-pointer items-center group/title"
|
|
1164
|
-
}, /* @__PURE__ */
|
|
1257
|
+
}, /* @__PURE__ */ React20.createElement(Icon4, {
|
|
1165
1258
|
icon: "ph--caret-left--regular",
|
|
1166
1259
|
size: 4,
|
|
1167
1260
|
classNames: [
|
|
1168
1261
|
"@md:hidden",
|
|
1169
1262
|
tabsActivePart === "list" && "invisible"
|
|
1170
1263
|
]
|
|
1171
|
-
}), /* @__PURE__ */
|
|
1264
|
+
}), /* @__PURE__ */ React20.createElement("span", {
|
|
1172
1265
|
className: tabsActivePart !== "list" ? "group-hover/title:underline @md:group-hover/title:no-underline underline-offset-4 decoration-1" : ""
|
|
1173
|
-
}, toLocalizedString3(name, t))), /* @__PURE__ */
|
|
1266
|
+
}, toLocalizedString3(name, t))), /* @__PURE__ */ React20.createElement(Dialog4.Close, {
|
|
1174
1267
|
asChild: true
|
|
1175
|
-
}, /* @__PURE__ */
|
|
1268
|
+
}, /* @__PURE__ */ React20.createElement(Button6, {
|
|
1176
1269
|
density: "fine",
|
|
1177
1270
|
variant: "ghost",
|
|
1178
1271
|
autoFocus: true
|
|
1179
|
-
}, /* @__PURE__ */
|
|
1272
|
+
}, /* @__PURE__ */ React20.createElement(Icon4, {
|
|
1180
1273
|
icon: "ph--x--regular",
|
|
1181
1274
|
size: 4
|
|
1182
|
-
})))), /* @__PURE__ */
|
|
1275
|
+
})))), /* @__PURE__ */ React20.createElement(Tabs.Root, {
|
|
1183
1276
|
orientation: "vertical",
|
|
1184
1277
|
value: selected,
|
|
1185
1278
|
onValueChange: setSelected,
|
|
1186
1279
|
activePart: tabsActivePart,
|
|
1187
1280
|
onActivePartChange: setTabsActivePart,
|
|
1188
1281
|
classNames: "flex flex-col flex-1 mbs-2"
|
|
1189
|
-
}, /* @__PURE__ */
|
|
1282
|
+
}, /* @__PURE__ */ React20.createElement(Tabs.Viewport, {
|
|
1190
1283
|
classNames: "flex-1 min-bs-0"
|
|
1191
|
-
}, /* @__PURE__ */
|
|
1284
|
+
}, /* @__PURE__ */ React20.createElement("div", {
|
|
1192
1285
|
role: "none",
|
|
1193
1286
|
className: "overflow-y-auto pli-3 @md:pis-2 @md:pie-0 mbe-4 border-r border-separator"
|
|
1194
|
-
}, /* @__PURE__ */
|
|
1287
|
+
}, /* @__PURE__ */ React20.createElement(Tabs.Tablist, {
|
|
1195
1288
|
classNames: "flex flex-col max-bs-none min-is-[200px] gap-4 overflow-y-auto"
|
|
1196
|
-
}, /* @__PURE__ */
|
|
1289
|
+
}, /* @__PURE__ */ React20.createElement("div", {
|
|
1197
1290
|
role: "none",
|
|
1198
1291
|
className: "flex flex-col ml-1"
|
|
1199
|
-
}, /* @__PURE__ */
|
|
1292
|
+
}, /* @__PURE__ */ React20.createElement(Tabs.Tab, {
|
|
1200
1293
|
value: "settings"
|
|
1201
|
-
}, t("settings tab label")), /* @__PURE__ */
|
|
1294
|
+
}, t("settings tab label")), /* @__PURE__ */ React20.createElement(Tabs.Tab, {
|
|
1202
1295
|
value: "members",
|
|
1203
1296
|
disabled: locked
|
|
1204
|
-
}, t("members tab label")), panels.map((panel) => /* @__PURE__ */
|
|
1297
|
+
}, t("members tab label")), panels.map((panel) => /* @__PURE__ */ React20.createElement(Tabs.Tab, {
|
|
1205
1298
|
key: panel.id,
|
|
1206
1299
|
value: panel.id
|
|
1207
|
-
}, toLocalizedString3(panel.label, t)))))), /* @__PURE__ */
|
|
1300
|
+
}, toLocalizedString3(panel.label, t)))))), /* @__PURE__ */ React20.createElement(Tabs.Tabpanel, {
|
|
1208
1301
|
value: "settings",
|
|
1209
1302
|
classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
|
|
1210
|
-
}, /* @__PURE__ */
|
|
1303
|
+
}, /* @__PURE__ */ React20.createElement(SpaceSettingsPanel, {
|
|
1211
1304
|
space
|
|
1212
|
-
})), /* @__PURE__ */
|
|
1305
|
+
})), /* @__PURE__ */ React20.createElement(Tabs.Tabpanel, {
|
|
1213
1306
|
value: "members",
|
|
1214
1307
|
classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
|
|
1215
|
-
}, /* @__PURE__ */
|
|
1308
|
+
}, /* @__PURE__ */ React20.createElement(Clipboard.Provider, null, /* @__PURE__ */ React20.createElement(SpacePanel, {
|
|
1216
1309
|
space,
|
|
1217
1310
|
hideHeading: true,
|
|
1218
1311
|
target,
|
|
1219
1312
|
createInvitationUrl
|
|
1220
|
-
}))), panels.map((panel) => /* @__PURE__ */
|
|
1313
|
+
}))), panels.map((panel) => /* @__PURE__ */ React20.createElement(Tabs.Tabpanel, {
|
|
1221
1314
|
key: panel.id,
|
|
1222
1315
|
value: panel.id,
|
|
1223
1316
|
classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
|
|
1224
|
-
}, /* @__PURE__ */
|
|
1317
|
+
}, /* @__PURE__ */ React20.createElement(Surface2, {
|
|
1225
1318
|
role: `space-settings--${panel.id}`,
|
|
1226
1319
|
data
|
|
1227
1320
|
}))))))
|
|
@@ -1229,12 +1322,12 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
|
|
|
1229
1322
|
};
|
|
1230
1323
|
|
|
1231
1324
|
// packages/plugins/plugin-space/src/components/SyncStatus/InlineSyncStatus.tsx
|
|
1232
|
-
import
|
|
1325
|
+
import React21, { useEffect as useEffect6, useState as useState12 } from "react";
|
|
1233
1326
|
import { useAppGraph as useAppGraph3 } from "@dxos/app-framework";
|
|
1234
1327
|
import { QueryEdgeStatusResponse } from "@dxos/protocols/proto/dxos/client/services";
|
|
1235
1328
|
import { EdgeReplicationSetting as EdgeReplicationSetting2 } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1236
1329
|
import { useClient as useClient9 } from "@dxos/react-client";
|
|
1237
|
-
import { Tooltip as Tooltip3, useTranslation as
|
|
1330
|
+
import { Tooltip as Tooltip3, useTranslation as useTranslation20 } from "@dxos/react-ui";
|
|
1238
1331
|
import { AttentionGlyph as AttentionGlyph2, useAttended as useAttended2, useAttention as useAttention2 } from "@dxos/react-ui-attention";
|
|
1239
1332
|
|
|
1240
1333
|
// packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts
|
|
@@ -1242,7 +1335,7 @@ import { useEffect as useEffect5, useState as useState11 } from "react";
|
|
|
1242
1335
|
import { Context } from "@dxos/context";
|
|
1243
1336
|
import { EdgeService } from "@dxos/protocols";
|
|
1244
1337
|
import { useClient as useClient8 } from "@dxos/react-client";
|
|
1245
|
-
var
|
|
1338
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts";
|
|
1246
1339
|
var createEmptyEdgeSyncState = () => ({
|
|
1247
1340
|
missingOnLocal: 0,
|
|
1248
1341
|
missingOnRemote: 0,
|
|
@@ -1266,7 +1359,7 @@ var useSyncState = () => {
|
|
|
1266
1359
|
const [spaceState, setSpaceState] = useState11({});
|
|
1267
1360
|
useEffect5(() => {
|
|
1268
1361
|
const ctx = new Context(void 0, {
|
|
1269
|
-
F:
|
|
1362
|
+
F: __dxlog_file6,
|
|
1270
1363
|
L: 48
|
|
1271
1364
|
});
|
|
1272
1365
|
const createSubscriptions = (spaces) => {
|
|
@@ -1301,7 +1394,7 @@ var useSpaceSyncState = (space) => {
|
|
|
1301
1394
|
const [spaceState, setSpaceState] = useState11();
|
|
1302
1395
|
useEffect5(() => {
|
|
1303
1396
|
const ctx = new Context(void 0, {
|
|
1304
|
-
F:
|
|
1397
|
+
F: __dxlog_file6,
|
|
1305
1398
|
L: 87
|
|
1306
1399
|
});
|
|
1307
1400
|
space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
|
|
@@ -1333,7 +1426,7 @@ var useEdgeStatus = () => {
|
|
|
1333
1426
|
return status;
|
|
1334
1427
|
};
|
|
1335
1428
|
var InlineSyncStatus = ({ space, open }) => {
|
|
1336
|
-
const { t } =
|
|
1429
|
+
const { t } = useTranslation20(SPACE_PLUGIN);
|
|
1337
1430
|
const id = space.id;
|
|
1338
1431
|
const { hasAttention, isAncestor, isRelated } = useAttention2(id);
|
|
1339
1432
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
@@ -1346,32 +1439,32 @@ var InlineSyncStatus = ({ space, open }) => {
|
|
|
1346
1439
|
const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting2.ENABLED;
|
|
1347
1440
|
const syncState = useSpaceSyncState(space);
|
|
1348
1441
|
const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
|
|
1349
|
-
return /* @__PURE__ */
|
|
1442
|
+
return /* @__PURE__ */ React21.createElement(Tooltip3.Root, null, /* @__PURE__ */ React21.createElement(Tooltip3.Trigger, {
|
|
1350
1443
|
asChild: true
|
|
1351
|
-
}, /* @__PURE__ */
|
|
1444
|
+
}, /* @__PURE__ */ React21.createElement(AttentionGlyph2, {
|
|
1352
1445
|
syncing,
|
|
1353
1446
|
attended: isAttended,
|
|
1354
1447
|
containsAttended,
|
|
1355
1448
|
classNames: "self-center mie-1"
|
|
1356
|
-
})), /* @__PURE__ */
|
|
1449
|
+
})), /* @__PURE__ */ React21.createElement(Tooltip3.Portal, null, /* @__PURE__ */ React21.createElement(Tooltip3.Content, {
|
|
1357
1450
|
side: "bottom",
|
|
1358
1451
|
classNames: "z-[70]"
|
|
1359
|
-
}, /* @__PURE__ */
|
|
1452
|
+
}, /* @__PURE__ */ React21.createElement("span", null, t("syncing label")), /* @__PURE__ */ React21.createElement(Tooltip3.Arrow, null))));
|
|
1360
1453
|
};
|
|
1361
1454
|
|
|
1362
1455
|
// packages/plugins/plugin-space/src/components/SyncStatus/SyncStatus.tsx
|
|
1363
|
-
import
|
|
1456
|
+
import React23, { useCallback as useCallback12, useEffect as useEffect8, useState as useState14 } from "react";
|
|
1364
1457
|
import { StatusBar } from "@dxos/plugin-status-bar";
|
|
1365
1458
|
import { useClient as useClient11 } from "@dxos/react-client";
|
|
1366
|
-
import { Icon as Icon6, Input as Input6, Popover as Popover3, useTranslation as
|
|
1459
|
+
import { Icon as Icon6, Input as Input6, Popover as Popover3, useTranslation as useTranslation22 } from "@dxos/react-ui";
|
|
1367
1460
|
import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
1368
1461
|
import { mx as mx6 } from "@dxos/react-ui-theme";
|
|
1369
1462
|
|
|
1370
1463
|
// packages/plugins/plugin-space/src/components/SyncStatus/Space.tsx
|
|
1371
|
-
import
|
|
1464
|
+
import React22, { useEffect as useEffect7, useState as useState13 } from "react";
|
|
1372
1465
|
import { useClient as useClient10 } from "@dxos/react-client";
|
|
1373
1466
|
import { useSpace } from "@dxos/react-client/echo";
|
|
1374
|
-
import { Icon as Icon5, toLocalizedString as toLocalizedString4, useTranslation as
|
|
1467
|
+
import { Icon as Icon5, toLocalizedString as toLocalizedString4, useTranslation as useTranslation21 } from "@dxos/react-ui";
|
|
1375
1468
|
import { mx as mx5 } from "@dxos/react-ui-theme";
|
|
1376
1469
|
var SYNC_STALLED_TIMEOUT = 5e3;
|
|
1377
1470
|
var styles = {
|
|
@@ -1403,7 +1496,7 @@ var useActive = (count) => {
|
|
|
1403
1496
|
return active;
|
|
1404
1497
|
};
|
|
1405
1498
|
var SpaceRowContainer = ({ spaceId, state }) => {
|
|
1406
|
-
const { t } =
|
|
1499
|
+
const { t } = useTranslation21(SPACE_PLUGIN);
|
|
1407
1500
|
const client = useClient10();
|
|
1408
1501
|
const space = useSpace(spaceId);
|
|
1409
1502
|
if (!space) {
|
|
@@ -1412,7 +1505,7 @@ var SpaceRowContainer = ({ spaceId, state }) => {
|
|
|
1412
1505
|
const spaceName = toLocalizedString4(getSpaceDisplayName(space, {
|
|
1413
1506
|
personal: space === client.spaces.default
|
|
1414
1507
|
}), t);
|
|
1415
|
-
return /* @__PURE__ */
|
|
1508
|
+
return /* @__PURE__ */ React22.createElement(SpaceRow, {
|
|
1416
1509
|
spaceId,
|
|
1417
1510
|
spaceName,
|
|
1418
1511
|
state
|
|
@@ -1421,19 +1514,19 @@ var SpaceRowContainer = ({ spaceId, state }) => {
|
|
|
1421
1514
|
var SpaceRow = ({ spaceId, spaceName, state: { localDocumentCount, remoteDocumentCount, missingOnLocal, missingOnRemote } }) => {
|
|
1422
1515
|
const downActive = useActive(localDocumentCount);
|
|
1423
1516
|
const upActive = useActive(remoteDocumentCount);
|
|
1424
|
-
return /* @__PURE__ */
|
|
1517
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
1425
1518
|
className: "flex items-center mx-0.5 gap-0.5 cursor-pointer",
|
|
1426
1519
|
title: spaceId,
|
|
1427
1520
|
onClick: () => {
|
|
1428
1521
|
void navigator.clipboard.writeText(spaceId);
|
|
1429
1522
|
}
|
|
1430
|
-
}, /* @__PURE__ */
|
|
1523
|
+
}, /* @__PURE__ */ React22.createElement("span", {
|
|
1431
1524
|
className: "is-1/2 truncate"
|
|
1432
|
-
}, spaceName), /* @__PURE__ */
|
|
1525
|
+
}, spaceName), /* @__PURE__ */ React22.createElement(Icon5, {
|
|
1433
1526
|
icon: "ph--arrow-fat-line-left--regular",
|
|
1434
1527
|
size: 3,
|
|
1435
1528
|
classNames: mx5(downActive && "animate-[pulse_1s_infinite]")
|
|
1436
|
-
}), /* @__PURE__ */
|
|
1529
|
+
}), /* @__PURE__ */ React22.createElement(Candle, {
|
|
1437
1530
|
up: {
|
|
1438
1531
|
count: remoteDocumentCount,
|
|
1439
1532
|
total: remoteDocumentCount + missingOnRemote
|
|
@@ -1443,44 +1536,44 @@ var SpaceRow = ({ spaceId, spaceName, state: { localDocumentCount, remoteDocumen
|
|
|
1443
1536
|
total: localDocumentCount + missingOnLocal
|
|
1444
1537
|
},
|
|
1445
1538
|
title: spaceId
|
|
1446
|
-
}), /* @__PURE__ */
|
|
1539
|
+
}), /* @__PURE__ */ React22.createElement(Icon5, {
|
|
1447
1540
|
icon: "ph--arrow-fat-line-right--regular",
|
|
1448
1541
|
size: 3,
|
|
1449
1542
|
classNames: mx5(upActive && "animate-[pulse_1s_step-start_infinite]")
|
|
1450
1543
|
}));
|
|
1451
1544
|
};
|
|
1452
1545
|
var Candle = ({ classNames, up, down }) => {
|
|
1453
|
-
return /* @__PURE__ */
|
|
1546
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
1454
1547
|
className: mx5("grid grid-cols-[1fr_2rem_1fr] w-full h-3", classNames)
|
|
1455
|
-
}, /* @__PURE__ */
|
|
1548
|
+
}, /* @__PURE__ */ React22.createElement(Bar, {
|
|
1456
1549
|
classNames: "justify-end",
|
|
1457
1550
|
...up
|
|
1458
|
-
}), /* @__PURE__ */
|
|
1551
|
+
}), /* @__PURE__ */ React22.createElement("div", {
|
|
1459
1552
|
className: "relative"
|
|
1460
|
-
}, /* @__PURE__ */
|
|
1553
|
+
}, /* @__PURE__ */ React22.createElement("div", {
|
|
1461
1554
|
className: mx5("absolute inset-0 flex items-center justify-center text-xs", styles.barBg)
|
|
1462
|
-
}, up.total)), /* @__PURE__ */
|
|
1555
|
+
}, up.total)), /* @__PURE__ */ React22.createElement(Bar, down));
|
|
1463
1556
|
};
|
|
1464
1557
|
var Bar = ({ classNames, count, total }) => {
|
|
1465
1558
|
let p = count / total * 100;
|
|
1466
1559
|
if (count < total) {
|
|
1467
1560
|
p = Math.min(p, 95);
|
|
1468
1561
|
}
|
|
1469
|
-
return /* @__PURE__ */
|
|
1562
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
1470
1563
|
className: mx5("relative flex w-full", styles.barBg, classNames)
|
|
1471
|
-
}, /* @__PURE__ */
|
|
1564
|
+
}, /* @__PURE__ */ React22.createElement("div", {
|
|
1472
1565
|
className: mx5("shrink-0", styles.barFg),
|
|
1473
1566
|
style: {
|
|
1474
1567
|
width: `${p}%`
|
|
1475
1568
|
}
|
|
1476
|
-
}), count !== total && /* @__PURE__ */
|
|
1569
|
+
}), count !== total && /* @__PURE__ */ React22.createElement("div", {
|
|
1477
1570
|
className: "absolute top-0 bottom-0 flex items-center mx-0.5 text-black text-xs"
|
|
1478
1571
|
}, count));
|
|
1479
1572
|
};
|
|
1480
1573
|
|
|
1481
1574
|
// packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts
|
|
1482
1575
|
import { Context as Context2 } from "@dxos/context";
|
|
1483
|
-
var
|
|
1576
|
+
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
|
|
1484
1577
|
var createClientSaveTracker = (client, cb) => {
|
|
1485
1578
|
const unsubscribeCallbacks = {};
|
|
1486
1579
|
const state = {};
|
|
@@ -1508,7 +1601,7 @@ var createClientSaveTracker = (client, cb) => {
|
|
|
1508
1601
|
};
|
|
1509
1602
|
var createSpaceSaveTracker = (space, cb) => {
|
|
1510
1603
|
const ctx = new Context2(void 0, {
|
|
1511
|
-
F:
|
|
1604
|
+
F: __dxlog_file7,
|
|
1512
1605
|
L: 40
|
|
1513
1606
|
});
|
|
1514
1607
|
void space.waitUntilReady().then(() => {
|
|
@@ -1579,13 +1672,13 @@ var SyncStatus = () => {
|
|
|
1579
1672
|
setSaved(state2 === "saved");
|
|
1580
1673
|
});
|
|
1581
1674
|
}, []);
|
|
1582
|
-
return /* @__PURE__ */
|
|
1675
|
+
return /* @__PURE__ */ React23.createElement(SyncStatusIndicator, {
|
|
1583
1676
|
state,
|
|
1584
1677
|
saved
|
|
1585
1678
|
});
|
|
1586
1679
|
};
|
|
1587
1680
|
var SyncStatusIndicator = ({ state, saved }) => {
|
|
1588
|
-
const { t } =
|
|
1681
|
+
const { t } = useTranslation22(SPACE_PLUGIN);
|
|
1589
1682
|
const summary = getSyncSummary(state);
|
|
1590
1683
|
const offline = Object.values(state).length === 0;
|
|
1591
1684
|
const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
|
|
@@ -1612,58 +1705,58 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1612
1705
|
needsToDownload
|
|
1613
1706
|
]);
|
|
1614
1707
|
const title = t(`${status} label`);
|
|
1615
|
-
const icon = /* @__PURE__ */
|
|
1708
|
+
const icon = /* @__PURE__ */ React23.createElement(Icon6, {
|
|
1616
1709
|
icon: getIcon(status),
|
|
1617
1710
|
size: 4,
|
|
1618
1711
|
classNames
|
|
1619
1712
|
});
|
|
1620
1713
|
if (offline) {
|
|
1621
|
-
return /* @__PURE__ */
|
|
1714
|
+
return /* @__PURE__ */ React23.createElement(StatusBar.Item, {
|
|
1622
1715
|
title
|
|
1623
1716
|
}, icon);
|
|
1624
1717
|
} else {
|
|
1625
|
-
return /* @__PURE__ */
|
|
1718
|
+
return /* @__PURE__ */ React23.createElement(Popover3.Root, null, /* @__PURE__ */ React23.createElement(Popover3.Trigger, {
|
|
1626
1719
|
asChild: true
|
|
1627
|
-
}, /* @__PURE__ */
|
|
1720
|
+
}, /* @__PURE__ */ React23.createElement(StatusBar.Button, {
|
|
1628
1721
|
title
|
|
1629
|
-
}, icon)), /* @__PURE__ */
|
|
1722
|
+
}, icon)), /* @__PURE__ */ React23.createElement(Popover3.Portal, null, /* @__PURE__ */ React23.createElement(Popover3.Content, null, /* @__PURE__ */ React23.createElement(SyncStatusDetail, {
|
|
1630
1723
|
state,
|
|
1631
1724
|
summary,
|
|
1632
1725
|
debug: false
|
|
1633
|
-
}), /* @__PURE__ */
|
|
1726
|
+
}), /* @__PURE__ */ React23.createElement(Popover3.Arrow, null))));
|
|
1634
1727
|
}
|
|
1635
1728
|
};
|
|
1636
1729
|
var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
|
|
1637
1730
|
const [showAll, setShowAll] = useState14(false);
|
|
1638
|
-
const { t } =
|
|
1731
|
+
const { t } = useTranslation22(SPACE_PLUGIN);
|
|
1639
1732
|
const entries = Object.entries(state).filter(([_, value]) => showAll || value.missingOnLocal + value.missingOnRemote > 0).toSorted(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
1640
1733
|
const handleCheckedChange = useCallback12((state2) => setShowAll(state2), [
|
|
1641
1734
|
setShowAll
|
|
1642
1735
|
]);
|
|
1643
|
-
return /* @__PURE__ */
|
|
1736
|
+
return /* @__PURE__ */ React23.createElement("div", {
|
|
1644
1737
|
className: mx6("flex flex-col gap-3 p-2 text-xs min-w-96", classNames)
|
|
1645
|
-
}, /* @__PURE__ */
|
|
1738
|
+
}, /* @__PURE__ */ React23.createElement("div", {
|
|
1646
1739
|
role: "none",
|
|
1647
1740
|
className: "flex items-center"
|
|
1648
|
-
}, /* @__PURE__ */
|
|
1741
|
+
}, /* @__PURE__ */ React23.createElement("h1", {
|
|
1649
1742
|
className: "flex-1"
|
|
1650
|
-
}, t("sync status title")), /* @__PURE__ */
|
|
1743
|
+
}, t("sync status title")), /* @__PURE__ */ React23.createElement("div", {
|
|
1651
1744
|
className: "flex items-center gap-2"
|
|
1652
|
-
}, /* @__PURE__ */
|
|
1745
|
+
}, /* @__PURE__ */ React23.createElement(Input6.Root, null, /* @__PURE__ */ React23.createElement(Input6.Label, {
|
|
1653
1746
|
classNames: "text-xs"
|
|
1654
|
-
}, t("show all label")), /* @__PURE__ */
|
|
1747
|
+
}, t("show all label")), /* @__PURE__ */ React23.createElement(Input6.Checkbox, {
|
|
1655
1748
|
checked: showAll,
|
|
1656
1749
|
onCheckedChange: handleCheckedChange
|
|
1657
|
-
})))), /* @__PURE__ */
|
|
1750
|
+
})))), /* @__PURE__ */ React23.createElement("div", {
|
|
1658
1751
|
className: "flex flex-col gap-2"
|
|
1659
|
-
}, entries.length === 0 && /* @__PURE__ */
|
|
1752
|
+
}, entries.length === 0 && /* @__PURE__ */ React23.createElement("div", {
|
|
1660
1753
|
role: "none",
|
|
1661
1754
|
className: "flex justify-center"
|
|
1662
|
-
}, t("no sync status label")), entries.map(([spaceId, state2]) => /* @__PURE__ */
|
|
1755
|
+
}, t("no sync status label")), entries.map(([spaceId, state2]) => /* @__PURE__ */ React23.createElement(SpaceRowContainer, {
|
|
1663
1756
|
key: spaceId,
|
|
1664
1757
|
spaceId,
|
|
1665
1758
|
state: state2
|
|
1666
|
-
}))), debug && /* @__PURE__ */
|
|
1759
|
+
}))), debug && /* @__PURE__ */ React23.createElement(SyntaxHighlighter, {
|
|
1667
1760
|
language: "json"
|
|
1668
1761
|
}, JSON.stringify(summary, null, 2)));
|
|
1669
1762
|
};
|
|
@@ -1682,6 +1775,8 @@ export {
|
|
|
1682
1775
|
JoinDialog,
|
|
1683
1776
|
MenuFooter,
|
|
1684
1777
|
PersistenceStatus,
|
|
1778
|
+
POPOVER_ADD_SPACE,
|
|
1779
|
+
PopoverAddSpace,
|
|
1685
1780
|
POPOVER_RENAME_OBJECT,
|
|
1686
1781
|
PopoverRenameObject,
|
|
1687
1782
|
POPOVER_RENAME_SPACE,
|
|
@@ -1706,8 +1801,9 @@ export {
|
|
|
1706
1801
|
IntentResolver,
|
|
1707
1802
|
ReactRoot,
|
|
1708
1803
|
ReactSurface,
|
|
1804
|
+
Schema,
|
|
1709
1805
|
SpaceSettings,
|
|
1710
1806
|
SpaceState,
|
|
1711
1807
|
SpacesReady
|
|
1712
1808
|
};
|
|
1713
|
-
//# sourceMappingURL=chunk-
|
|
1809
|
+
//# sourceMappingURL=chunk-S6B7627U.mjs.map
|