@dxos/plugin-space 0.7.5-labs.c0e040f → 0.7.5-labs.d199c0f
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-GSS3V7IN.mjs → app-graph-builder-MGK5HWPZ.mjs} +16 -95
- package/dist/lib/browser/app-graph-builder-MGK5HWPZ.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-QDXM5M6K.mjs → app-graph-serializer-FOWFLYGU.mjs} +4 -4
- package/dist/lib/browser/{chunk-ZL5ZFGBK.mjs → chunk-23RVI5FZ.mjs} +15 -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-DIBLC24B.mjs → chunk-S6B7627U.mjs} +293 -213
- package/dist/lib/browser/chunk-S6B7627U.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SDK7RZI3.mjs → chunk-UDWHTKB5.mjs} +6 -3
- package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XPZ6IIXF.mjs → chunk-ULA2UQJ4.mjs} +15 -1
- package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-25TK5XNO.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-LNTCXZ57.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-Q7JJDCPB.mjs → react-root-IP2ZB245.mjs} +5 -5
- package/dist/lib/browser/{react-surface-BDMYLARO.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-K4JPYYEM.mjs → settings-PHPCXX33.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-THYJEJYZ.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 -3
- package/dist/lib/node/{app-graph-builder-V3RCGDV7.cjs → app-graph-builder-ZIUBXRPA.cjs} +43 -122
- package/dist/lib/node/app-graph-builder-ZIUBXRPA.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-H4UACG57.cjs → app-graph-serializer-VQOGHKXL.cjs} +20 -20
- package/dist/lib/node/{chunk-4AZ2DD4G.cjs → chunk-N2FS7PRA.cjs} +354 -273
- package/dist/lib/node/chunk-N2FS7PRA.cjs.map +7 -0
- package/dist/lib/node/{chunk-SYVPVU3K.cjs → chunk-OVGKWJOC.cjs} +50 -40
- package/dist/lib/node/chunk-OVGKWJOC.cjs.map +7 -0
- package/dist/lib/node/{chunk-D6BFKOXY.cjs → chunk-U6DYXAR3.cjs} +10 -7
- package/dist/lib/node/chunk-U6DYXAR3.cjs.map +7 -0
- package/dist/lib/node/{chunk-6MEOP3DH.cjs → chunk-WAJKBO3J.cjs} +21 -6
- 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-7G5U7R36.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-CDE4M3TW.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-JN6AIHMS.cjs → react-root-3OX5Z5CX.cjs} +10 -10
- package/dist/lib/node/{react-surface-XSK2QEQV.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-TEELGWS4.cjs → settings-5QYFWNH7.cjs} +6 -6
- package/dist/lib/node/{spaces-ready-L4MJTFQ6.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 -16
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{app-graph-builder-VFHK7OQI.mjs → app-graph-builder-TERVM2SL.mjs} +16 -95
- package/dist/lib/node-esm/app-graph-builder-TERVM2SL.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-PIPJVXYZ.mjs → app-graph-serializer-GZRSWHEN.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-4UX5WGKJ.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-FTVEA5LO.mjs → chunk-DIKRH2IK.mjs} +293 -213
- package/dist/lib/node-esm/chunk-DIKRH2IK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-RCZRYXI3.mjs → chunk-PGH5L7MV.mjs} +15 -5
- package/dist/lib/node-esm/chunk-PGH5L7MV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AAQRELDK.mjs → chunk-TRNZQEEN.mjs} +15 -1
- package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-7THGZ7EW.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-7L3GJAZE.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-BNA6PBFZ.mjs → react-root-7XXGP56B.mjs} +5 -5
- package/dist/lib/node-esm/{react-surface-FTI2LQNL.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-KXYUZBLN.mjs → settings-H6MXTEQM.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-ZC2R73H3.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 -3
- 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 +1 -2
- package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.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 -10
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +2 -2
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +40 -39
- package/src/SpacePlugin.tsx +35 -11
- package/src/capabilities/app-graph-builder.ts +10 -84
- 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/CreateDialog/CreateObjectDialog.stories.tsx +1 -3
- package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -21
- package/src/components/CreateDialog/CreateObjectPanel.tsx +39 -41
- package/src/components/PopoverAddSpace.tsx +46 -0
- package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +22 -7
- 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 -1
- package/src/util.tsx +7 -2
- package/dist/lib/browser/app-graph-builder-GSS3V7IN.mjs.map +0 -7
- package/dist/lib/browser/chunk-DIBLC24B.mjs.map +0 -7
- package/dist/lib/browser/chunk-RLZQJD47.mjs.map +0 -7
- package/dist/lib/browser/chunk-SDK7RZI3.mjs.map +0 -7
- package/dist/lib/browser/chunk-XPZ6IIXF.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZL5ZFGBK.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-LNTCXZ57.mjs.map +0 -7
- package/dist/lib/browser/react-surface-BDMYLARO.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-V3RCGDV7.cjs.map +0 -7
- package/dist/lib/node/chunk-4AZ2DD4G.cjs.map +0 -7
- package/dist/lib/node/chunk-6MEOP3DH.cjs.map +0 -7
- package/dist/lib/node/chunk-D6BFKOXY.cjs.map +0 -7
- package/dist/lib/node/chunk-SYVPVU3K.cjs.map +0 -7
- package/dist/lib/node/chunk-UX3U4RU2.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-CDE4M3TW.cjs.map +0 -7
- package/dist/lib/node/react-surface-XSK2QEQV.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-VFHK7OQI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4UX5WGKJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AAQRELDK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FTVEA5LO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RCZRYXI3.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-7L3GJAZE.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-FTI2LQNL.mjs.map +0 -7
- /package/dist/lib/browser/{app-graph-serializer-QDXM5M6K.mjs.map → app-graph-serializer-FOWFLYGU.mjs.map} +0 -0
- /package/dist/lib/browser/{identity-created-25TK5XNO.mjs.map → identity-created-FYGS6TBH.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-Q7JJDCPB.mjs.map → react-root-IP2ZB245.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-K4JPYYEM.mjs.map → settings-PHPCXX33.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-THYJEJYZ.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-H4UACG57.cjs.map → app-graph-serializer-VQOGHKXL.cjs.map} +0 -0
- /package/dist/lib/node/{identity-created-7G5U7R36.cjs.map → identity-created-AXI64BLE.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-JN6AIHMS.cjs.map → react-root-3OX5Z5CX.cjs.map} +0 -0
- /package/dist/lib/node/{settings-TEELGWS4.cjs.map → settings-5QYFWNH7.cjs.map} +0 -0
- /package/dist/lib/node/{spaces-ready-L4MJTFQ6.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-PIPJVXYZ.mjs.map → app-graph-serializer-GZRSWHEN.mjs.map} +0 -0
- /package/dist/lib/node-esm/{identity-created-7THGZ7EW.mjs.map → identity-created-3CGEXNPO.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-BNA6PBFZ.mjs.map → react-root-7XXGP56B.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-KXYUZBLN.mjs.map → settings-H6MXTEQM.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-ZC2R73H3.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";
|
|
@@ -228,20 +228,23 @@ var BaseObjectSettings = ({ object }) => {
|
|
|
228
228
|
// packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx
|
|
229
229
|
import { pipe } from "effect";
|
|
230
230
|
import React6, { useCallback as useCallback5, useRef } from "react";
|
|
231
|
-
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";
|
|
232
233
|
import { useClient as useClient2 } from "@dxos/react-client";
|
|
233
234
|
import { getSpace, isReactiveObject, isSpace, useSpaces } from "@dxos/react-client/echo";
|
|
234
235
|
import { Button as Button2, Dialog, Icon as Icon2, useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
235
236
|
|
|
236
237
|
// packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectPanel.tsx
|
|
237
|
-
import React5, { useCallback as useCallback4,
|
|
238
|
+
import React5, { useCallback as useCallback4, useState as useState3 } from "react";
|
|
238
239
|
import { Surface, isSurfaceAvailable, usePluginManager } from "@dxos/app-framework";
|
|
239
|
-
import { getObjectAnnotation
|
|
240
|
+
import { getObjectAnnotation } from "@dxos/echo-schema";
|
|
241
|
+
import { invariant } from "@dxos/invariant";
|
|
240
242
|
import { Icon, toLocalizedString, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
241
243
|
import { Form as Form2 } from "@dxos/react-ui-form";
|
|
242
244
|
import { SearchList } from "@dxos/react-ui-searchlist";
|
|
243
245
|
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
244
246
|
import { isNonNullable } from "@dxos/util";
|
|
247
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectPanel.tsx";
|
|
245
248
|
var useInputSurfaceLookup = (baseData) => {
|
|
246
249
|
const pluginManager = usePluginManager();
|
|
247
250
|
return useCallback4(({ prop, schema, inputProps }) => {
|
|
@@ -266,12 +269,12 @@ var useInputSurfaceLookup = (baseData) => {
|
|
|
266
269
|
baseData
|
|
267
270
|
]);
|
|
268
271
|
};
|
|
269
|
-
var CreateObjectPanel = ({ classNames,
|
|
272
|
+
var CreateObjectPanel = ({ classNames, forms, spaces, typename: initialTypename, target: initialTarget, name: initialName, defaultSpaceId, resolve, onCreateObject }) => {
|
|
270
273
|
const { t } = useTranslation5(SPACE_PLUGIN);
|
|
271
274
|
const [typename, setTypename] = useState3(initialTypename);
|
|
272
275
|
const [target, setTarget] = useState3(initialTarget);
|
|
273
|
-
const
|
|
274
|
-
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) => {
|
|
275
278
|
const nameA = t("typename label", {
|
|
276
279
|
ns: a.typename,
|
|
277
280
|
defaultValue: a.typename
|
|
@@ -283,63 +286,68 @@ var CreateObjectPanel = ({ classNames, schemas, spaces, typename: initialTypenam
|
|
|
283
286
|
return nameA.localeCompare(nameB);
|
|
284
287
|
});
|
|
285
288
|
const handleCreateObject = useCallback4(async (props) => {
|
|
286
|
-
if (!
|
|
289
|
+
if (!form || !target) {
|
|
287
290
|
return;
|
|
288
291
|
}
|
|
289
292
|
await onCreateObject?.({
|
|
290
|
-
|
|
293
|
+
form,
|
|
291
294
|
target,
|
|
292
295
|
data: props
|
|
293
296
|
});
|
|
294
297
|
}, [
|
|
295
298
|
onCreateObject,
|
|
296
|
-
|
|
299
|
+
form,
|
|
297
300
|
target
|
|
298
301
|
]);
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
|
|
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);
|
|
302
320
|
}
|
|
303
|
-
return resolve?.(typename);
|
|
304
321
|
}, [
|
|
305
|
-
|
|
306
|
-
|
|
322
|
+
forms,
|
|
323
|
+
onCreateObject,
|
|
324
|
+
target
|
|
307
325
|
]);
|
|
308
326
|
const inputSurfaceLookup = useInputSurfaceLookup({
|
|
309
327
|
target
|
|
310
328
|
});
|
|
311
|
-
const form = useMemo(() => {
|
|
312
|
-
const schema2 = metadata?.creationSchema ?? S.Struct({
|
|
313
|
-
name: S.optional(S.String)
|
|
314
|
-
});
|
|
315
|
-
return /* @__PURE__ */ React5.createElement(Form2, {
|
|
316
|
-
classNames: "!p-0",
|
|
317
|
-
autoFocus: true,
|
|
318
|
-
values: {
|
|
319
|
-
name: initialName
|
|
320
|
-
},
|
|
321
|
-
schema: schema2,
|
|
322
|
-
testId: "create-object-form",
|
|
323
|
-
onSave: handleCreateObject,
|
|
324
|
-
lookupComponent: inputSurfaceLookup
|
|
325
|
-
});
|
|
326
|
-
}, [
|
|
327
|
-
initialName,
|
|
328
|
-
handleCreateObject,
|
|
329
|
-
metadata
|
|
330
|
-
]);
|
|
331
329
|
return /* @__PURE__ */ React5.createElement("div", {
|
|
332
330
|
role: "form",
|
|
333
331
|
className: mx2("flex flex-col gap-2", classNames)
|
|
334
|
-
}, !
|
|
332
|
+
}, !form ? /* @__PURE__ */ React5.createElement(SelectSchema, {
|
|
335
333
|
options,
|
|
336
334
|
resolve,
|
|
337
|
-
onChange:
|
|
335
|
+
onChange: handleSetTypename
|
|
338
336
|
}) : !target ? /* @__PURE__ */ React5.createElement(SelectSpace, {
|
|
339
337
|
spaces,
|
|
340
338
|
defaultSpaceId,
|
|
341
339
|
onChange: setTarget
|
|
342
|
-
}) : 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);
|
|
343
351
|
};
|
|
344
352
|
var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
|
|
345
353
|
const { t } = useTranslation5(SPACE_PLUGIN);
|
|
@@ -405,23 +413,50 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
405
413
|
}))))));
|
|
406
414
|
};
|
|
407
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
|
+
|
|
408
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";
|
|
409
431
|
var CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
|
|
410
|
-
var CreateObjectDialog = ({
|
|
432
|
+
var CreateObjectDialog = ({ target, typename, name, shouldNavigate: _shouldNavigate }) => {
|
|
411
433
|
const closeRef = useRef(null);
|
|
434
|
+
const manager = usePluginManager2();
|
|
412
435
|
const { t } = useTranslation6(SPACE_PLUGIN);
|
|
413
436
|
const client = useClient2();
|
|
414
437
|
const spaces = useSpaces();
|
|
415
438
|
const { dispatchPromise: dispatch } = useIntentDispatcher2();
|
|
416
|
-
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 = {} }) => {
|
|
417
444
|
const target2 = isSpace(_target) ? _target.properties[CollectionType.typename]?.target : _target;
|
|
418
|
-
|
|
419
|
-
if (!createObjectIntent || !target2) {
|
|
445
|
+
if (!target2) {
|
|
420
446
|
return;
|
|
421
447
|
}
|
|
422
448
|
closeRef.current?.click();
|
|
423
449
|
const space = isSpace(target2) ? target2 : getSpace(target2);
|
|
424
|
-
|
|
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, {
|
|
425
460
|
space
|
|
426
461
|
}));
|
|
427
462
|
const object = result.data?.object;
|
|
@@ -463,7 +498,7 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
|
|
|
463
498
|
size: 4
|
|
464
499
|
})))), /* @__PURE__ */ React6.createElement(CreateObjectPanel, {
|
|
465
500
|
classNames: "p-4",
|
|
466
|
-
|
|
501
|
+
forms,
|
|
467
502
|
spaces,
|
|
468
503
|
target,
|
|
469
504
|
typename,
|
|
@@ -571,7 +606,7 @@ import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
|
571
606
|
import { useClient as useClient3 } from "@dxos/react-client";
|
|
572
607
|
import { Dialog as Dialog3 } from "@dxos/react-ui";
|
|
573
608
|
import { JoinPanel } from "@dxos/shell/react";
|
|
574
|
-
var
|
|
609
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/JoinDialog.tsx";
|
|
575
610
|
var JOIN_DIALOG = `${SPACE_PLUGIN}/JoinDialog`;
|
|
576
611
|
var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
577
612
|
const { dispatchPromise: dispatch } = useIntentDispatcher4();
|
|
@@ -610,7 +645,7 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
610
645
|
const space = result?.spaceKey ? client.spaces.get(result.spaceKey) : void 0;
|
|
611
646
|
if (!space) {
|
|
612
647
|
log.warn("Space not found", result?.spaceKey, {
|
|
613
|
-
F:
|
|
648
|
+
F: __dxlog_file3,
|
|
614
649
|
L: 56,
|
|
615
650
|
S: void 0,
|
|
616
651
|
C: (f, a) => f(...a)
|
|
@@ -750,14 +785,58 @@ var PersistenceStatus = ({ db }) => {
|
|
|
750
785
|
}
|
|
751
786
|
};
|
|
752
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
|
+
|
|
753
832
|
// packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx
|
|
754
|
-
import
|
|
833
|
+
import React14, { useCallback as useCallback8, useRef as useRef3, useState as useState5 } from "react";
|
|
755
834
|
import { log as log2 } from "@dxos/log";
|
|
756
|
-
import { Button as Button4, Input as Input2, Popover, useTranslation as
|
|
757
|
-
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";
|
|
758
837
|
var POPOVER_RENAME_OBJECT = `${SPACE_PLUGIN}/PopoverRenameObject`;
|
|
759
838
|
var PopoverRenameObject = ({ object: obj }) => {
|
|
760
|
-
const { t } =
|
|
839
|
+
const { t } = useTranslation13(SPACE_PLUGIN);
|
|
761
840
|
const doneButton = useRef3(null);
|
|
762
841
|
const object = obj;
|
|
763
842
|
const [name, setName] = useState5(object.name || object.title || "");
|
|
@@ -771,7 +850,7 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
771
850
|
log2.error("Failed to rename object", {
|
|
772
851
|
err
|
|
773
852
|
}, {
|
|
774
|
-
F:
|
|
853
|
+
F: __dxlog_file4,
|
|
775
854
|
L: 30,
|
|
776
855
|
S: void 0,
|
|
777
856
|
C: (f, a) => f(...a)
|
|
@@ -782,23 +861,23 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
782
861
|
object,
|
|
783
862
|
name
|
|
784
863
|
]);
|
|
785
|
-
return /* @__PURE__ */
|
|
864
|
+
return /* @__PURE__ */ React14.createElement("div", {
|
|
786
865
|
role: "none",
|
|
787
866
|
className: "p-1 flex gap-2"
|
|
788
|
-
}, /* @__PURE__ */
|
|
867
|
+
}, /* @__PURE__ */ React14.createElement("div", {
|
|
789
868
|
role: "none",
|
|
790
869
|
className: "flex-1"
|
|
791
|
-
}, /* @__PURE__ */
|
|
870
|
+
}, /* @__PURE__ */ React14.createElement(Input2.Root, null, /* @__PURE__ */ React14.createElement(Input2.Label, {
|
|
792
871
|
srOnly: true
|
|
793
|
-
}, t("object name label")), /* @__PURE__ */
|
|
872
|
+
}, t("object name label")), /* @__PURE__ */ React14.createElement(Input2.TextInput, {
|
|
794
873
|
placeholder: t("object title placeholder"),
|
|
795
874
|
value: name,
|
|
796
875
|
"data-testid": "spacePlugin.renameObject.input",
|
|
797
876
|
onChange: ({ target: { value } }) => setName(value),
|
|
798
877
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
799
|
-
}))), /* @__PURE__ */
|
|
878
|
+
}))), /* @__PURE__ */ React14.createElement(Popover.Close, {
|
|
800
879
|
asChild: true
|
|
801
|
-
}, /* @__PURE__ */
|
|
880
|
+
}, /* @__PURE__ */ React14.createElement(Button4, {
|
|
802
881
|
ref: doneButton,
|
|
803
882
|
classNames: "self-stretch",
|
|
804
883
|
onClick: handleDone
|
|
@@ -808,11 +887,11 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
808
887
|
};
|
|
809
888
|
|
|
810
889
|
// packages/plugins/plugin-space/src/components/PopoverRenameSpace.tsx
|
|
811
|
-
import
|
|
812
|
-
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";
|
|
813
892
|
var POPOVER_RENAME_SPACE = `${SPACE_PLUGIN}/PopoverRenameSpace`;
|
|
814
893
|
var PopoverRenameSpace = ({ space }) => {
|
|
815
|
-
const { t } =
|
|
894
|
+
const { t } = useTranslation14(SPACE_PLUGIN);
|
|
816
895
|
const doneButton = useRef4(null);
|
|
817
896
|
const [name, setName] = useState6(space.properties.name ?? "");
|
|
818
897
|
const handleDone = useCallback9(() => {
|
|
@@ -821,24 +900,24 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
821
900
|
space,
|
|
822
901
|
name
|
|
823
902
|
]);
|
|
824
|
-
return /* @__PURE__ */
|
|
903
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
825
904
|
role: "none",
|
|
826
905
|
className: "p-1 flex gap-2"
|
|
827
|
-
}, /* @__PURE__ */
|
|
906
|
+
}, /* @__PURE__ */ React15.createElement("div", {
|
|
828
907
|
role: "none",
|
|
829
908
|
className: "flex-1"
|
|
830
|
-
}, /* @__PURE__ */
|
|
909
|
+
}, /* @__PURE__ */ React15.createElement(Input3.Root, null, /* @__PURE__ */ React15.createElement(Input3.Label, {
|
|
831
910
|
srOnly: true
|
|
832
|
-
}, t("space name label")), /* @__PURE__ */
|
|
911
|
+
}, t("space name label")), /* @__PURE__ */ React15.createElement(Input3.TextInput, {
|
|
833
912
|
defaultValue: space.properties.name ?? "",
|
|
834
913
|
placeholder: t("unnamed space label"),
|
|
835
914
|
onChange: ({ target: { value } }) => setName(value),
|
|
836
915
|
// TODO(wittjosiah): Ideally this should access the popover context to close the popover.
|
|
837
916
|
// Currently this is not possible because Radix does not expose the popover context.
|
|
838
917
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
839
|
-
}))), /* @__PURE__ */
|
|
918
|
+
}))), /* @__PURE__ */ React15.createElement(Popover2.Close, {
|
|
840
919
|
asChild: true
|
|
841
|
-
}, /* @__PURE__ */
|
|
920
|
+
}, /* @__PURE__ */ React15.createElement(Button5, {
|
|
842
921
|
ref: doneButton,
|
|
843
922
|
classNames: "self-stretch",
|
|
844
923
|
onClick: handleDone
|
|
@@ -848,20 +927,20 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
848
927
|
};
|
|
849
928
|
|
|
850
929
|
// packages/plugins/plugin-space/src/components/ShareSpaceButton.tsx
|
|
851
|
-
import
|
|
852
|
-
import { createIntent as
|
|
853
|
-
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";
|
|
854
933
|
var ShareSpaceButton = ({ space }) => {
|
|
855
|
-
const { dispatchPromise: dispatch } =
|
|
856
|
-
return /* @__PURE__ */
|
|
857
|
-
onClick: () => dispatch(
|
|
934
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher6();
|
|
935
|
+
return /* @__PURE__ */ React16.createElement(ShareSpaceButtonImpl, {
|
|
936
|
+
onClick: () => dispatch(createIntent6(SpaceAction.Share, {
|
|
858
937
|
space
|
|
859
938
|
}))
|
|
860
939
|
});
|
|
861
940
|
};
|
|
862
941
|
var ShareSpaceButtonImpl = ({ onClick }) => {
|
|
863
|
-
const { t } =
|
|
864
|
-
return /* @__PURE__ */
|
|
942
|
+
const { t } = useTranslation15(SPACE_PLUGIN);
|
|
943
|
+
return /* @__PURE__ */ React16.createElement(IconButton4, {
|
|
865
944
|
"data-testid": "spacePlugin.shareSpaceButton",
|
|
866
945
|
icon: "ph--users--regular",
|
|
867
946
|
label: t("share space label"),
|
|
@@ -870,28 +949,16 @@ var ShareSpaceButtonImpl = ({ onClick }) => {
|
|
|
870
949
|
};
|
|
871
950
|
|
|
872
951
|
// packages/plugins/plugin-space/src/components/SpacePresence.tsx
|
|
873
|
-
import
|
|
952
|
+
import React17, { useCallback as useCallback10, useEffect as useEffect4, useState as useState8 } from "react";
|
|
874
953
|
import { useAppGraph as useAppGraph2, useCapability } from "@dxos/app-framework";
|
|
875
954
|
import { generateName } from "@dxos/display-name";
|
|
876
955
|
import { PublicKey, useClient as useClient5 } from "@dxos/react-client";
|
|
877
956
|
import { getSpace as getSpace3, useMembers, fullyQualifiedId as fullyQualifiedId2 } from "@dxos/react-client/echo";
|
|
878
957
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
879
|
-
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";
|
|
880
959
|
import { AttentionGlyph, useAttended, useAttention } from "@dxos/react-ui-attention";
|
|
881
960
|
import { ComplexMap, keyToFallback } from "@dxos/util";
|
|
882
961
|
|
|
883
|
-
// packages/plugins/plugin-space/src/capabilities/index.ts
|
|
884
|
-
import { lazy } from "@dxos/app-framework";
|
|
885
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-GSS3V7IN.mjs"));
|
|
886
|
-
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-QDXM5M6K.mjs"));
|
|
887
|
-
var IdentityCreated = lazy(() => import("./identity-created-25TK5XNO.mjs"));
|
|
888
|
-
var IntentResolver = lazy(() => import("./intent-resolver-LNTCXZ57.mjs"));
|
|
889
|
-
var ReactRoot = lazy(() => import("./react-root-Q7JJDCPB.mjs"));
|
|
890
|
-
var ReactSurface = lazy(() => import("./react-surface-BDMYLARO.mjs"));
|
|
891
|
-
var SpaceSettings = lazy(() => import("./settings-K4JPYYEM.mjs"));
|
|
892
|
-
var SpaceState = lazy(() => import("./state-6DCY5YJP.mjs"));
|
|
893
|
-
var SpacesReady = lazy(() => import("./spaces-ready-THYJEJYZ.mjs"));
|
|
894
|
-
|
|
895
962
|
// packages/plugins/plugin-space/src/hooks/usePath.ts
|
|
896
963
|
import { useEffect as useEffect3, useState as useState7 } from "react";
|
|
897
964
|
var usePath = (graph, id, timeout) => {
|
|
@@ -962,7 +1029,7 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
962
1029
|
lastSeen
|
|
963
1030
|
};
|
|
964
1031
|
}).toSorted((a, b) => a.lastSeen - b.lastSeen);
|
|
965
|
-
return /* @__PURE__ */
|
|
1032
|
+
return /* @__PURE__ */ React17.createElement(FullPresence, {
|
|
966
1033
|
members: membersForObject
|
|
967
1034
|
});
|
|
968
1035
|
};
|
|
@@ -972,38 +1039,38 @@ var FullPresence = (props) => {
|
|
|
972
1039
|
if (members.length === 0) {
|
|
973
1040
|
return null;
|
|
974
1041
|
}
|
|
975
|
-
return /* @__PURE__ */
|
|
1042
|
+
return /* @__PURE__ */ React17.createElement(AvatarGroup.Root, {
|
|
976
1043
|
size,
|
|
977
1044
|
classNames: "mbs-2 mie-4",
|
|
978
1045
|
"data-testid": "spacePlugin.presence"
|
|
979
|
-
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */
|
|
1046
|
+
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React17.createElement(Tooltip2.Root, {
|
|
980
1047
|
key: member.identity.identityKey.toHex()
|
|
981
|
-
}, /* @__PURE__ */
|
|
1048
|
+
}, /* @__PURE__ */ React17.createElement(Tooltip2.Trigger, null, /* @__PURE__ */ React17.createElement(PrensenceAvatar, {
|
|
982
1049
|
identity: member.identity,
|
|
983
1050
|
group: true,
|
|
984
1051
|
match: member.currentlyAttended,
|
|
985
1052
|
index: members.length - i,
|
|
986
1053
|
onClick: () => onMemberClick?.(member)
|
|
987
|
-
})), /* @__PURE__ */
|
|
1054
|
+
})), /* @__PURE__ */ React17.createElement(Tooltip2.Portal, null, /* @__PURE__ */ React17.createElement(Tooltip2.Content, {
|
|
988
1055
|
side: "bottom"
|
|
989
|
-
}, /* @__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, {
|
|
990
1057
|
status: "inactive"
|
|
991
|
-
}, /* @__PURE__ */
|
|
1058
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Frame, {
|
|
992
1059
|
style: {
|
|
993
1060
|
zIndex: members.length - 4
|
|
994
1061
|
}
|
|
995
|
-
}, /* @__PURE__ */
|
|
1062
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Fallback, {
|
|
996
1063
|
text: `+${members.length - 3}`
|
|
997
|
-
})))), /* @__PURE__ */
|
|
1064
|
+
})))), /* @__PURE__ */ React17.createElement(Tooltip2.Portal, null, /* @__PURE__ */ React17.createElement(Tooltip2.Content, {
|
|
998
1065
|
side: "bottom"
|
|
999
|
-
}, /* @__PURE__ */
|
|
1066
|
+
}, /* @__PURE__ */ React17.createElement(Tooltip2.Arrow, null), /* @__PURE__ */ React17.createElement(List2, {
|
|
1000
1067
|
classNames: "max-h-56 overflow-y-auto"
|
|
1001
|
-
}, members.map((member) => /* @__PURE__ */
|
|
1068
|
+
}, members.map((member) => /* @__PURE__ */ React17.createElement(ListItem2.Root, {
|
|
1002
1069
|
key: member.identity.identityKey.toHex(),
|
|
1003
1070
|
classNames: "flex gap-2 items-center cursor-pointer mbe-2",
|
|
1004
1071
|
onClick: () => onMemberClick?.(member),
|
|
1005
1072
|
"data-testid": "identity-list-item"
|
|
1006
|
-
}, /* @__PURE__ */
|
|
1073
|
+
}, /* @__PURE__ */ React17.createElement(PrensenceAvatar, {
|
|
1007
1074
|
identity: member.identity,
|
|
1008
1075
|
showName: true,
|
|
1009
1076
|
match: member.currentlyAttended
|
|
@@ -1013,10 +1080,10 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
|
|
|
1013
1080
|
const Root = group ? AvatarGroupItem.Root : Avatar.Root;
|
|
1014
1081
|
const status = match ? "current" : "active";
|
|
1015
1082
|
const fallbackValue = keyToFallback(identity.identityKey);
|
|
1016
|
-
return /* @__PURE__ */
|
|
1083
|
+
return /* @__PURE__ */ React17.createElement(Root, {
|
|
1017
1084
|
status,
|
|
1018
1085
|
hue: identity.profile?.data?.hue || fallbackValue.hue
|
|
1019
|
-
}, /* @__PURE__ */
|
|
1086
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Frame, {
|
|
1020
1087
|
"data-testid": "spacePlugin.presence.member",
|
|
1021
1088
|
"data-status": status,
|
|
1022
1089
|
...index ? {
|
|
@@ -1025,9 +1092,9 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
|
|
|
1025
1092
|
}
|
|
1026
1093
|
} : {},
|
|
1027
1094
|
onClick: () => onClick?.()
|
|
1028
|
-
}, /* @__PURE__ */
|
|
1095
|
+
}, /* @__PURE__ */ React17.createElement(Avatar.Fallback, {
|
|
1029
1096
|
text: identity.profile?.data?.emoji || fallbackValue.emoji
|
|
1030
|
-
})), showName && /* @__PURE__ */
|
|
1097
|
+
})), showName && /* @__PURE__ */ React17.createElement(Avatar.Label, {
|
|
1031
1098
|
classNames: "text-sm truncate pli-2"
|
|
1032
1099
|
}, getName(identity)));
|
|
1033
1100
|
};
|
|
@@ -1055,53 +1122,53 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1055
1122
|
}, [
|
|
1056
1123
|
viewers
|
|
1057
1124
|
]);
|
|
1058
|
-
return /* @__PURE__ */
|
|
1125
|
+
return /* @__PURE__ */ React17.createElement(SmallPresence, {
|
|
1059
1126
|
count: activeViewers.length,
|
|
1060
1127
|
attended: isAttended,
|
|
1061
1128
|
containsAttended
|
|
1062
1129
|
});
|
|
1063
1130
|
};
|
|
1064
1131
|
var SmallPresence = ({ count = 0, attended, containsAttended }) => {
|
|
1065
|
-
const { t } =
|
|
1066
|
-
return /* @__PURE__ */
|
|
1132
|
+
const { t } = useTranslation16(SPACE_PLUGIN);
|
|
1133
|
+
return /* @__PURE__ */ React17.createElement(Tooltip2.Root, null, /* @__PURE__ */ React17.createElement(Tooltip2.Trigger, {
|
|
1067
1134
|
asChild: true
|
|
1068
|
-
}, /* @__PURE__ */
|
|
1135
|
+
}, /* @__PURE__ */ React17.createElement(AttentionGlyph, {
|
|
1069
1136
|
attended,
|
|
1070
1137
|
containsAttended,
|
|
1071
1138
|
presence: count > 1 ? "many" : count === 1 ? "one" : "none",
|
|
1072
1139
|
classNames: "self-center mie-1"
|
|
1073
|
-
})), /* @__PURE__ */
|
|
1140
|
+
})), /* @__PURE__ */ React17.createElement(Tooltip2.Portal, null, /* @__PURE__ */ React17.createElement(Tooltip2.Content, {
|
|
1074
1141
|
side: "bottom"
|
|
1075
|
-
}, /* @__PURE__ */
|
|
1142
|
+
}, /* @__PURE__ */ React17.createElement("span", null, t("presence label", {
|
|
1076
1143
|
count
|
|
1077
|
-
})), /* @__PURE__ */
|
|
1144
|
+
})), /* @__PURE__ */ React17.createElement(Tooltip2.Arrow, null))));
|
|
1078
1145
|
};
|
|
1079
1146
|
|
|
1080
1147
|
// packages/plugins/plugin-space/src/components/SpacePluginSettings.tsx
|
|
1081
|
-
import
|
|
1082
|
-
import { Input as Input4, useTranslation as
|
|
1148
|
+
import React18 from "react";
|
|
1149
|
+
import { Input as Input4, useTranslation as useTranslation17 } from "@dxos/react-ui";
|
|
1083
1150
|
import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
|
|
1084
1151
|
var SpacePluginSettings = ({ settings }) => {
|
|
1085
|
-
const { t } =
|
|
1086
|
-
return /* @__PURE__ */
|
|
1152
|
+
const { t } = useTranslation17(SPACE_PLUGIN);
|
|
1153
|
+
return /* @__PURE__ */ React18.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React18.createElement(DeprecatedFormInput, {
|
|
1087
1154
|
label: t("show hidden spaces label")
|
|
1088
|
-
}, /* @__PURE__ */
|
|
1155
|
+
}, /* @__PURE__ */ React18.createElement(Input4.Switch, {
|
|
1089
1156
|
checked: settings.showHidden,
|
|
1090
1157
|
onCheckedChange: (checked) => settings.showHidden = !!checked
|
|
1091
1158
|
})));
|
|
1092
1159
|
};
|
|
1093
1160
|
|
|
1094
1161
|
// packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsPanel.tsx
|
|
1095
|
-
import
|
|
1162
|
+
import React19, { useCallback as useCallback11, useState as useState9 } from "react";
|
|
1096
1163
|
import { log as log3 } from "@dxos/log";
|
|
1097
1164
|
import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1098
1165
|
import { useClient as useClient6 } from "@dxos/react-client";
|
|
1099
|
-
import { Input as Input5, useTranslation as
|
|
1166
|
+
import { Input as Input5, Toolbar, useTranslation as useTranslation18 } from "@dxos/react-ui";
|
|
1100
1167
|
import { DeprecatedFormContainer as DeprecatedFormContainer2, DeprecatedFormInput as DeprecatedFormInput2 } from "@dxos/react-ui-form";
|
|
1101
|
-
import {
|
|
1102
|
-
var
|
|
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";
|
|
1103
1170
|
var SpaceSettingsPanel = ({ space }) => {
|
|
1104
|
-
const { t } =
|
|
1171
|
+
const { t } = useTranslation18(SPACE_PLUGIN);
|
|
1105
1172
|
const client = useClient6();
|
|
1106
1173
|
const edgeEnabled = Boolean(client.config.values.runtime?.client?.edgeFeatures?.echoReplicator);
|
|
1107
1174
|
const [edgeReplication, setEdgeReplication] = useState9(space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED);
|
|
@@ -1109,7 +1176,7 @@ var SpaceSettingsPanel = ({ space }) => {
|
|
|
1109
1176
|
setEdgeReplication(next);
|
|
1110
1177
|
await space?.internal.setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED).catch((err) => {
|
|
1111
1178
|
log3.catch(err, void 0, {
|
|
1112
|
-
F:
|
|
1179
|
+
F: __dxlog_file5,
|
|
1113
1180
|
L: 36,
|
|
1114
1181
|
S: void 0,
|
|
1115
1182
|
C: (f, a) => f(...a)
|
|
@@ -1119,38 +1186,48 @@ var SpaceSettingsPanel = ({ space }) => {
|
|
|
1119
1186
|
}, [
|
|
1120
1187
|
space
|
|
1121
1188
|
]);
|
|
1122
|
-
return /* @__PURE__ */
|
|
1189
|
+
return /* @__PURE__ */ React19.createElement(DeprecatedFormContainer2, null, /* @__PURE__ */ React19.createElement(DeprecatedFormInput2, {
|
|
1123
1190
|
label: t("name label")
|
|
1124
|
-
}, /* @__PURE__ */
|
|
1191
|
+
}, /* @__PURE__ */ React19.createElement(Input5.TextInput, {
|
|
1125
1192
|
placeholder: t("unnamed space label"),
|
|
1126
1193
|
value: space.properties.name ?? "",
|
|
1127
1194
|
onChange: (event) => {
|
|
1128
1195
|
space.properties.name = event.target.value;
|
|
1129
1196
|
}
|
|
1130
|
-
})), /* @__PURE__ */
|
|
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, {
|
|
1131
1206
|
label: t("hue label")
|
|
1132
|
-
}, /* @__PURE__ */
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
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, {
|
|
1137
1214
|
label: t("edge replication label")
|
|
1138
|
-
}, /* @__PURE__ */
|
|
1215
|
+
}, /* @__PURE__ */ React19.createElement(Input5.Switch, {
|
|
1139
1216
|
checked: edgeReplication,
|
|
1140
1217
|
onCheckedChange: toggleEdgeReplication
|
|
1141
1218
|
})));
|
|
1142
1219
|
};
|
|
1143
1220
|
|
|
1144
1221
|
// packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsDialog.tsx
|
|
1145
|
-
import
|
|
1146
|
-
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";
|
|
1147
1224
|
import { useClient as useClient7 } from "@dxos/react-client";
|
|
1148
|
-
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";
|
|
1149
1226
|
import { Tabs } from "@dxos/react-ui-tabs";
|
|
1150
1227
|
import { SpacePanel } from "@dxos/shell/react";
|
|
1151
1228
|
var SPACE_SETTINGS_DIALOG = `${SPACE_PLUGIN}/SpaceSettingsDialog`;
|
|
1152
1229
|
var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "members", namesCache }) => {
|
|
1153
|
-
const { t } =
|
|
1230
|
+
const { t } = useTranslation19(SPACE_PLUGIN);
|
|
1154
1231
|
const client = useClient7();
|
|
1155
1232
|
const [tabsActivePart, setTabsActivePart] = useState10("list");
|
|
1156
1233
|
const [selected, setSelected] = useState10(initialTab);
|
|
@@ -1159,8 +1236,8 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
|
|
|
1159
1236
|
personal: client.spaces.default === space,
|
|
1160
1237
|
namesCache
|
|
1161
1238
|
});
|
|
1162
|
-
const panels =
|
|
1163
|
-
const data =
|
|
1239
|
+
const panels = useCapabilities2(SpaceCapabilities.SettingsPanel);
|
|
1240
|
+
const data = useMemo(() => ({
|
|
1164
1241
|
subject: space
|
|
1165
1242
|
}), [
|
|
1166
1243
|
space
|
|
@@ -1168,76 +1245,76 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
|
|
|
1168
1245
|
return (
|
|
1169
1246
|
// TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
|
|
1170
1247
|
// Consider factoring it out to the tabs package.
|
|
1171
|
-
/* @__PURE__ */
|
|
1248
|
+
/* @__PURE__ */ React20.createElement(Dialog4.Content, {
|
|
1172
1249
|
classNames: "p-0 bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
|
|
1173
|
-
}, /* @__PURE__ */
|
|
1250
|
+
}, /* @__PURE__ */ React20.createElement("div", {
|
|
1174
1251
|
role: "none",
|
|
1175
1252
|
className: "flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4"
|
|
1176
|
-
}, /* @__PURE__ */
|
|
1253
|
+
}, /* @__PURE__ */ React20.createElement(Dialog4.Title, {
|
|
1177
1254
|
onClick: () => setTabsActivePart("list"),
|
|
1178
1255
|
"aria-description": t("click to return to tablist description"),
|
|
1179
1256
|
classNames: "flex cursor-pointer items-center group/title"
|
|
1180
|
-
}, /* @__PURE__ */
|
|
1257
|
+
}, /* @__PURE__ */ React20.createElement(Icon4, {
|
|
1181
1258
|
icon: "ph--caret-left--regular",
|
|
1182
1259
|
size: 4,
|
|
1183
1260
|
classNames: [
|
|
1184
1261
|
"@md:hidden",
|
|
1185
1262
|
tabsActivePart === "list" && "invisible"
|
|
1186
1263
|
]
|
|
1187
|
-
}), /* @__PURE__ */
|
|
1264
|
+
}), /* @__PURE__ */ React20.createElement("span", {
|
|
1188
1265
|
className: tabsActivePart !== "list" ? "group-hover/title:underline @md:group-hover/title:no-underline underline-offset-4 decoration-1" : ""
|
|
1189
|
-
}, toLocalizedString3(name, t))), /* @__PURE__ */
|
|
1266
|
+
}, toLocalizedString3(name, t))), /* @__PURE__ */ React20.createElement(Dialog4.Close, {
|
|
1190
1267
|
asChild: true
|
|
1191
|
-
}, /* @__PURE__ */
|
|
1268
|
+
}, /* @__PURE__ */ React20.createElement(Button6, {
|
|
1192
1269
|
density: "fine",
|
|
1193
1270
|
variant: "ghost",
|
|
1194
1271
|
autoFocus: true
|
|
1195
|
-
}, /* @__PURE__ */
|
|
1272
|
+
}, /* @__PURE__ */ React20.createElement(Icon4, {
|
|
1196
1273
|
icon: "ph--x--regular",
|
|
1197
1274
|
size: 4
|
|
1198
|
-
})))), /* @__PURE__ */
|
|
1275
|
+
})))), /* @__PURE__ */ React20.createElement(Tabs.Root, {
|
|
1199
1276
|
orientation: "vertical",
|
|
1200
1277
|
value: selected,
|
|
1201
1278
|
onValueChange: setSelected,
|
|
1202
1279
|
activePart: tabsActivePart,
|
|
1203
1280
|
onActivePartChange: setTabsActivePart,
|
|
1204
1281
|
classNames: "flex flex-col flex-1 mbs-2"
|
|
1205
|
-
}, /* @__PURE__ */
|
|
1282
|
+
}, /* @__PURE__ */ React20.createElement(Tabs.Viewport, {
|
|
1206
1283
|
classNames: "flex-1 min-bs-0"
|
|
1207
|
-
}, /* @__PURE__ */
|
|
1284
|
+
}, /* @__PURE__ */ React20.createElement("div", {
|
|
1208
1285
|
role: "none",
|
|
1209
1286
|
className: "overflow-y-auto pli-3 @md:pis-2 @md:pie-0 mbe-4 border-r border-separator"
|
|
1210
|
-
}, /* @__PURE__ */
|
|
1287
|
+
}, /* @__PURE__ */ React20.createElement(Tabs.Tablist, {
|
|
1211
1288
|
classNames: "flex flex-col max-bs-none min-is-[200px] gap-4 overflow-y-auto"
|
|
1212
|
-
}, /* @__PURE__ */
|
|
1289
|
+
}, /* @__PURE__ */ React20.createElement("div", {
|
|
1213
1290
|
role: "none",
|
|
1214
1291
|
className: "flex flex-col ml-1"
|
|
1215
|
-
}, /* @__PURE__ */
|
|
1292
|
+
}, /* @__PURE__ */ React20.createElement(Tabs.Tab, {
|
|
1216
1293
|
value: "settings"
|
|
1217
|
-
}, t("settings tab label")), /* @__PURE__ */
|
|
1294
|
+
}, t("settings tab label")), /* @__PURE__ */ React20.createElement(Tabs.Tab, {
|
|
1218
1295
|
value: "members",
|
|
1219
1296
|
disabled: locked
|
|
1220
|
-
}, t("members tab label")), panels.map((panel) => /* @__PURE__ */
|
|
1297
|
+
}, t("members tab label")), panels.map((panel) => /* @__PURE__ */ React20.createElement(Tabs.Tab, {
|
|
1221
1298
|
key: panel.id,
|
|
1222
1299
|
value: panel.id
|
|
1223
|
-
}, toLocalizedString3(panel.label, t)))))), /* @__PURE__ */
|
|
1300
|
+
}, toLocalizedString3(panel.label, t)))))), /* @__PURE__ */ React20.createElement(Tabs.Tabpanel, {
|
|
1224
1301
|
value: "settings",
|
|
1225
1302
|
classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
|
|
1226
|
-
}, /* @__PURE__ */
|
|
1303
|
+
}, /* @__PURE__ */ React20.createElement(SpaceSettingsPanel, {
|
|
1227
1304
|
space
|
|
1228
|
-
})), /* @__PURE__ */
|
|
1305
|
+
})), /* @__PURE__ */ React20.createElement(Tabs.Tabpanel, {
|
|
1229
1306
|
value: "members",
|
|
1230
1307
|
classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
|
|
1231
|
-
}, /* @__PURE__ */
|
|
1308
|
+
}, /* @__PURE__ */ React20.createElement(Clipboard.Provider, null, /* @__PURE__ */ React20.createElement(SpacePanel, {
|
|
1232
1309
|
space,
|
|
1233
1310
|
hideHeading: true,
|
|
1234
1311
|
target,
|
|
1235
1312
|
createInvitationUrl
|
|
1236
|
-
}))), panels.map((panel) => /* @__PURE__ */
|
|
1313
|
+
}))), panels.map((panel) => /* @__PURE__ */ React20.createElement(Tabs.Tabpanel, {
|
|
1237
1314
|
key: panel.id,
|
|
1238
1315
|
value: panel.id,
|
|
1239
1316
|
classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
|
|
1240
|
-
}, /* @__PURE__ */
|
|
1317
|
+
}, /* @__PURE__ */ React20.createElement(Surface2, {
|
|
1241
1318
|
role: `space-settings--${panel.id}`,
|
|
1242
1319
|
data
|
|
1243
1320
|
}))))))
|
|
@@ -1245,12 +1322,12 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
|
|
|
1245
1322
|
};
|
|
1246
1323
|
|
|
1247
1324
|
// packages/plugins/plugin-space/src/components/SyncStatus/InlineSyncStatus.tsx
|
|
1248
|
-
import
|
|
1325
|
+
import React21, { useEffect as useEffect6, useState as useState12 } from "react";
|
|
1249
1326
|
import { useAppGraph as useAppGraph3 } from "@dxos/app-framework";
|
|
1250
1327
|
import { QueryEdgeStatusResponse } from "@dxos/protocols/proto/dxos/client/services";
|
|
1251
1328
|
import { EdgeReplicationSetting as EdgeReplicationSetting2 } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1252
1329
|
import { useClient as useClient9 } from "@dxos/react-client";
|
|
1253
|
-
import { Tooltip as Tooltip3, useTranslation as
|
|
1330
|
+
import { Tooltip as Tooltip3, useTranslation as useTranslation20 } from "@dxos/react-ui";
|
|
1254
1331
|
import { AttentionGlyph as AttentionGlyph2, useAttended as useAttended2, useAttention as useAttention2 } from "@dxos/react-ui-attention";
|
|
1255
1332
|
|
|
1256
1333
|
// packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts
|
|
@@ -1258,7 +1335,7 @@ import { useEffect as useEffect5, useState as useState11 } from "react";
|
|
|
1258
1335
|
import { Context } from "@dxos/context";
|
|
1259
1336
|
import { EdgeService } from "@dxos/protocols";
|
|
1260
1337
|
import { useClient as useClient8 } from "@dxos/react-client";
|
|
1261
|
-
var
|
|
1338
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts";
|
|
1262
1339
|
var createEmptyEdgeSyncState = () => ({
|
|
1263
1340
|
missingOnLocal: 0,
|
|
1264
1341
|
missingOnRemote: 0,
|
|
@@ -1282,7 +1359,7 @@ var useSyncState = () => {
|
|
|
1282
1359
|
const [spaceState, setSpaceState] = useState11({});
|
|
1283
1360
|
useEffect5(() => {
|
|
1284
1361
|
const ctx = new Context(void 0, {
|
|
1285
|
-
F:
|
|
1362
|
+
F: __dxlog_file6,
|
|
1286
1363
|
L: 48
|
|
1287
1364
|
});
|
|
1288
1365
|
const createSubscriptions = (spaces) => {
|
|
@@ -1317,7 +1394,7 @@ var useSpaceSyncState = (space) => {
|
|
|
1317
1394
|
const [spaceState, setSpaceState] = useState11();
|
|
1318
1395
|
useEffect5(() => {
|
|
1319
1396
|
const ctx = new Context(void 0, {
|
|
1320
|
-
F:
|
|
1397
|
+
F: __dxlog_file6,
|
|
1321
1398
|
L: 87
|
|
1322
1399
|
});
|
|
1323
1400
|
space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
|
|
@@ -1349,7 +1426,7 @@ var useEdgeStatus = () => {
|
|
|
1349
1426
|
return status;
|
|
1350
1427
|
};
|
|
1351
1428
|
var InlineSyncStatus = ({ space, open }) => {
|
|
1352
|
-
const { t } =
|
|
1429
|
+
const { t } = useTranslation20(SPACE_PLUGIN);
|
|
1353
1430
|
const id = space.id;
|
|
1354
1431
|
const { hasAttention, isAncestor, isRelated } = useAttention2(id);
|
|
1355
1432
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
@@ -1362,32 +1439,32 @@ var InlineSyncStatus = ({ space, open }) => {
|
|
|
1362
1439
|
const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting2.ENABLED;
|
|
1363
1440
|
const syncState = useSpaceSyncState(space);
|
|
1364
1441
|
const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
|
|
1365
|
-
return /* @__PURE__ */
|
|
1442
|
+
return /* @__PURE__ */ React21.createElement(Tooltip3.Root, null, /* @__PURE__ */ React21.createElement(Tooltip3.Trigger, {
|
|
1366
1443
|
asChild: true
|
|
1367
|
-
}, /* @__PURE__ */
|
|
1444
|
+
}, /* @__PURE__ */ React21.createElement(AttentionGlyph2, {
|
|
1368
1445
|
syncing,
|
|
1369
1446
|
attended: isAttended,
|
|
1370
1447
|
containsAttended,
|
|
1371
1448
|
classNames: "self-center mie-1"
|
|
1372
|
-
})), /* @__PURE__ */
|
|
1449
|
+
})), /* @__PURE__ */ React21.createElement(Tooltip3.Portal, null, /* @__PURE__ */ React21.createElement(Tooltip3.Content, {
|
|
1373
1450
|
side: "bottom",
|
|
1374
1451
|
classNames: "z-[70]"
|
|
1375
|
-
}, /* @__PURE__ */
|
|
1452
|
+
}, /* @__PURE__ */ React21.createElement("span", null, t("syncing label")), /* @__PURE__ */ React21.createElement(Tooltip3.Arrow, null))));
|
|
1376
1453
|
};
|
|
1377
1454
|
|
|
1378
1455
|
// packages/plugins/plugin-space/src/components/SyncStatus/SyncStatus.tsx
|
|
1379
|
-
import
|
|
1456
|
+
import React23, { useCallback as useCallback12, useEffect as useEffect8, useState as useState14 } from "react";
|
|
1380
1457
|
import { StatusBar } from "@dxos/plugin-status-bar";
|
|
1381
1458
|
import { useClient as useClient11 } from "@dxos/react-client";
|
|
1382
|
-
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";
|
|
1383
1460
|
import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
1384
1461
|
import { mx as mx6 } from "@dxos/react-ui-theme";
|
|
1385
1462
|
|
|
1386
1463
|
// packages/plugins/plugin-space/src/components/SyncStatus/Space.tsx
|
|
1387
|
-
import
|
|
1464
|
+
import React22, { useEffect as useEffect7, useState as useState13 } from "react";
|
|
1388
1465
|
import { useClient as useClient10 } from "@dxos/react-client";
|
|
1389
1466
|
import { useSpace } from "@dxos/react-client/echo";
|
|
1390
|
-
import { Icon as Icon5, toLocalizedString as toLocalizedString4, useTranslation as
|
|
1467
|
+
import { Icon as Icon5, toLocalizedString as toLocalizedString4, useTranslation as useTranslation21 } from "@dxos/react-ui";
|
|
1391
1468
|
import { mx as mx5 } from "@dxos/react-ui-theme";
|
|
1392
1469
|
var SYNC_STALLED_TIMEOUT = 5e3;
|
|
1393
1470
|
var styles = {
|
|
@@ -1419,7 +1496,7 @@ var useActive = (count) => {
|
|
|
1419
1496
|
return active;
|
|
1420
1497
|
};
|
|
1421
1498
|
var SpaceRowContainer = ({ spaceId, state }) => {
|
|
1422
|
-
const { t } =
|
|
1499
|
+
const { t } = useTranslation21(SPACE_PLUGIN);
|
|
1423
1500
|
const client = useClient10();
|
|
1424
1501
|
const space = useSpace(spaceId);
|
|
1425
1502
|
if (!space) {
|
|
@@ -1428,7 +1505,7 @@ var SpaceRowContainer = ({ spaceId, state }) => {
|
|
|
1428
1505
|
const spaceName = toLocalizedString4(getSpaceDisplayName(space, {
|
|
1429
1506
|
personal: space === client.spaces.default
|
|
1430
1507
|
}), t);
|
|
1431
|
-
return /* @__PURE__ */
|
|
1508
|
+
return /* @__PURE__ */ React22.createElement(SpaceRow, {
|
|
1432
1509
|
spaceId,
|
|
1433
1510
|
spaceName,
|
|
1434
1511
|
state
|
|
@@ -1437,19 +1514,19 @@ var SpaceRowContainer = ({ spaceId, state }) => {
|
|
|
1437
1514
|
var SpaceRow = ({ spaceId, spaceName, state: { localDocumentCount, remoteDocumentCount, missingOnLocal, missingOnRemote } }) => {
|
|
1438
1515
|
const downActive = useActive(localDocumentCount);
|
|
1439
1516
|
const upActive = useActive(remoteDocumentCount);
|
|
1440
|
-
return /* @__PURE__ */
|
|
1517
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
1441
1518
|
className: "flex items-center mx-0.5 gap-0.5 cursor-pointer",
|
|
1442
1519
|
title: spaceId,
|
|
1443
1520
|
onClick: () => {
|
|
1444
1521
|
void navigator.clipboard.writeText(spaceId);
|
|
1445
1522
|
}
|
|
1446
|
-
}, /* @__PURE__ */
|
|
1523
|
+
}, /* @__PURE__ */ React22.createElement("span", {
|
|
1447
1524
|
className: "is-1/2 truncate"
|
|
1448
|
-
}, spaceName), /* @__PURE__ */
|
|
1525
|
+
}, spaceName), /* @__PURE__ */ React22.createElement(Icon5, {
|
|
1449
1526
|
icon: "ph--arrow-fat-line-left--regular",
|
|
1450
1527
|
size: 3,
|
|
1451
1528
|
classNames: mx5(downActive && "animate-[pulse_1s_infinite]")
|
|
1452
|
-
}), /* @__PURE__ */
|
|
1529
|
+
}), /* @__PURE__ */ React22.createElement(Candle, {
|
|
1453
1530
|
up: {
|
|
1454
1531
|
count: remoteDocumentCount,
|
|
1455
1532
|
total: remoteDocumentCount + missingOnRemote
|
|
@@ -1459,44 +1536,44 @@ var SpaceRow = ({ spaceId, spaceName, state: { localDocumentCount, remoteDocumen
|
|
|
1459
1536
|
total: localDocumentCount + missingOnLocal
|
|
1460
1537
|
},
|
|
1461
1538
|
title: spaceId
|
|
1462
|
-
}), /* @__PURE__ */
|
|
1539
|
+
}), /* @__PURE__ */ React22.createElement(Icon5, {
|
|
1463
1540
|
icon: "ph--arrow-fat-line-right--regular",
|
|
1464
1541
|
size: 3,
|
|
1465
1542
|
classNames: mx5(upActive && "animate-[pulse_1s_step-start_infinite]")
|
|
1466
1543
|
}));
|
|
1467
1544
|
};
|
|
1468
1545
|
var Candle = ({ classNames, up, down }) => {
|
|
1469
|
-
return /* @__PURE__ */
|
|
1546
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
1470
1547
|
className: mx5("grid grid-cols-[1fr_2rem_1fr] w-full h-3", classNames)
|
|
1471
|
-
}, /* @__PURE__ */
|
|
1548
|
+
}, /* @__PURE__ */ React22.createElement(Bar, {
|
|
1472
1549
|
classNames: "justify-end",
|
|
1473
1550
|
...up
|
|
1474
|
-
}), /* @__PURE__ */
|
|
1551
|
+
}), /* @__PURE__ */ React22.createElement("div", {
|
|
1475
1552
|
className: "relative"
|
|
1476
|
-
}, /* @__PURE__ */
|
|
1553
|
+
}, /* @__PURE__ */ React22.createElement("div", {
|
|
1477
1554
|
className: mx5("absolute inset-0 flex items-center justify-center text-xs", styles.barBg)
|
|
1478
|
-
}, up.total)), /* @__PURE__ */
|
|
1555
|
+
}, up.total)), /* @__PURE__ */ React22.createElement(Bar, down));
|
|
1479
1556
|
};
|
|
1480
1557
|
var Bar = ({ classNames, count, total }) => {
|
|
1481
1558
|
let p = count / total * 100;
|
|
1482
1559
|
if (count < total) {
|
|
1483
1560
|
p = Math.min(p, 95);
|
|
1484
1561
|
}
|
|
1485
|
-
return /* @__PURE__ */
|
|
1562
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
1486
1563
|
className: mx5("relative flex w-full", styles.barBg, classNames)
|
|
1487
|
-
}, /* @__PURE__ */
|
|
1564
|
+
}, /* @__PURE__ */ React22.createElement("div", {
|
|
1488
1565
|
className: mx5("shrink-0", styles.barFg),
|
|
1489
1566
|
style: {
|
|
1490
1567
|
width: `${p}%`
|
|
1491
1568
|
}
|
|
1492
|
-
}), count !== total && /* @__PURE__ */
|
|
1569
|
+
}), count !== total && /* @__PURE__ */ React22.createElement("div", {
|
|
1493
1570
|
className: "absolute top-0 bottom-0 flex items-center mx-0.5 text-black text-xs"
|
|
1494
1571
|
}, count));
|
|
1495
1572
|
};
|
|
1496
1573
|
|
|
1497
1574
|
// packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts
|
|
1498
1575
|
import { Context as Context2 } from "@dxos/context";
|
|
1499
|
-
var
|
|
1576
|
+
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
|
|
1500
1577
|
var createClientSaveTracker = (client, cb) => {
|
|
1501
1578
|
const unsubscribeCallbacks = {};
|
|
1502
1579
|
const state = {};
|
|
@@ -1524,7 +1601,7 @@ var createClientSaveTracker = (client, cb) => {
|
|
|
1524
1601
|
};
|
|
1525
1602
|
var createSpaceSaveTracker = (space, cb) => {
|
|
1526
1603
|
const ctx = new Context2(void 0, {
|
|
1527
|
-
F:
|
|
1604
|
+
F: __dxlog_file7,
|
|
1528
1605
|
L: 40
|
|
1529
1606
|
});
|
|
1530
1607
|
void space.waitUntilReady().then(() => {
|
|
@@ -1595,13 +1672,13 @@ var SyncStatus = () => {
|
|
|
1595
1672
|
setSaved(state2 === "saved");
|
|
1596
1673
|
});
|
|
1597
1674
|
}, []);
|
|
1598
|
-
return /* @__PURE__ */
|
|
1675
|
+
return /* @__PURE__ */ React23.createElement(SyncStatusIndicator, {
|
|
1599
1676
|
state,
|
|
1600
1677
|
saved
|
|
1601
1678
|
});
|
|
1602
1679
|
};
|
|
1603
1680
|
var SyncStatusIndicator = ({ state, saved }) => {
|
|
1604
|
-
const { t } =
|
|
1681
|
+
const { t } = useTranslation22(SPACE_PLUGIN);
|
|
1605
1682
|
const summary = getSyncSummary(state);
|
|
1606
1683
|
const offline = Object.values(state).length === 0;
|
|
1607
1684
|
const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
|
|
@@ -1628,58 +1705,58 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1628
1705
|
needsToDownload
|
|
1629
1706
|
]);
|
|
1630
1707
|
const title = t(`${status} label`);
|
|
1631
|
-
const icon = /* @__PURE__ */
|
|
1708
|
+
const icon = /* @__PURE__ */ React23.createElement(Icon6, {
|
|
1632
1709
|
icon: getIcon(status),
|
|
1633
1710
|
size: 4,
|
|
1634
1711
|
classNames
|
|
1635
1712
|
});
|
|
1636
1713
|
if (offline) {
|
|
1637
|
-
return /* @__PURE__ */
|
|
1714
|
+
return /* @__PURE__ */ React23.createElement(StatusBar.Item, {
|
|
1638
1715
|
title
|
|
1639
1716
|
}, icon);
|
|
1640
1717
|
} else {
|
|
1641
|
-
return /* @__PURE__ */
|
|
1718
|
+
return /* @__PURE__ */ React23.createElement(Popover3.Root, null, /* @__PURE__ */ React23.createElement(Popover3.Trigger, {
|
|
1642
1719
|
asChild: true
|
|
1643
|
-
}, /* @__PURE__ */
|
|
1720
|
+
}, /* @__PURE__ */ React23.createElement(StatusBar.Button, {
|
|
1644
1721
|
title
|
|
1645
|
-
}, icon)), /* @__PURE__ */
|
|
1722
|
+
}, icon)), /* @__PURE__ */ React23.createElement(Popover3.Portal, null, /* @__PURE__ */ React23.createElement(Popover3.Content, null, /* @__PURE__ */ React23.createElement(SyncStatusDetail, {
|
|
1646
1723
|
state,
|
|
1647
1724
|
summary,
|
|
1648
1725
|
debug: false
|
|
1649
|
-
}), /* @__PURE__ */
|
|
1726
|
+
}), /* @__PURE__ */ React23.createElement(Popover3.Arrow, null))));
|
|
1650
1727
|
}
|
|
1651
1728
|
};
|
|
1652
1729
|
var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
|
|
1653
1730
|
const [showAll, setShowAll] = useState14(false);
|
|
1654
|
-
const { t } =
|
|
1731
|
+
const { t } = useTranslation22(SPACE_PLUGIN);
|
|
1655
1732
|
const entries = Object.entries(state).filter(([_, value]) => showAll || value.missingOnLocal + value.missingOnRemote > 0).toSorted(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
1656
1733
|
const handleCheckedChange = useCallback12((state2) => setShowAll(state2), [
|
|
1657
1734
|
setShowAll
|
|
1658
1735
|
]);
|
|
1659
|
-
return /* @__PURE__ */
|
|
1736
|
+
return /* @__PURE__ */ React23.createElement("div", {
|
|
1660
1737
|
className: mx6("flex flex-col gap-3 p-2 text-xs min-w-96", classNames)
|
|
1661
|
-
}, /* @__PURE__ */
|
|
1738
|
+
}, /* @__PURE__ */ React23.createElement("div", {
|
|
1662
1739
|
role: "none",
|
|
1663
1740
|
className: "flex items-center"
|
|
1664
|
-
}, /* @__PURE__ */
|
|
1741
|
+
}, /* @__PURE__ */ React23.createElement("h1", {
|
|
1665
1742
|
className: "flex-1"
|
|
1666
|
-
}, t("sync status title")), /* @__PURE__ */
|
|
1743
|
+
}, t("sync status title")), /* @__PURE__ */ React23.createElement("div", {
|
|
1667
1744
|
className: "flex items-center gap-2"
|
|
1668
|
-
}, /* @__PURE__ */
|
|
1745
|
+
}, /* @__PURE__ */ React23.createElement(Input6.Root, null, /* @__PURE__ */ React23.createElement(Input6.Label, {
|
|
1669
1746
|
classNames: "text-xs"
|
|
1670
|
-
}, t("show all label")), /* @__PURE__ */
|
|
1747
|
+
}, t("show all label")), /* @__PURE__ */ React23.createElement(Input6.Checkbox, {
|
|
1671
1748
|
checked: showAll,
|
|
1672
1749
|
onCheckedChange: handleCheckedChange
|
|
1673
|
-
})))), /* @__PURE__ */
|
|
1750
|
+
})))), /* @__PURE__ */ React23.createElement("div", {
|
|
1674
1751
|
className: "flex flex-col gap-2"
|
|
1675
|
-
}, entries.length === 0 && /* @__PURE__ */
|
|
1752
|
+
}, entries.length === 0 && /* @__PURE__ */ React23.createElement("div", {
|
|
1676
1753
|
role: "none",
|
|
1677
1754
|
className: "flex justify-center"
|
|
1678
|
-
}, t("no sync status label")), entries.map(([spaceId, state2]) => /* @__PURE__ */
|
|
1755
|
+
}, t("no sync status label")), entries.map(([spaceId, state2]) => /* @__PURE__ */ React23.createElement(SpaceRowContainer, {
|
|
1679
1756
|
key: spaceId,
|
|
1680
1757
|
spaceId,
|
|
1681
1758
|
state: state2
|
|
1682
|
-
}))), debug && /* @__PURE__ */
|
|
1759
|
+
}))), debug && /* @__PURE__ */ React23.createElement(SyntaxHighlighter, {
|
|
1683
1760
|
language: "json"
|
|
1684
1761
|
}, JSON.stringify(summary, null, 2)));
|
|
1685
1762
|
};
|
|
@@ -1698,6 +1775,8 @@ export {
|
|
|
1698
1775
|
JoinDialog,
|
|
1699
1776
|
MenuFooter,
|
|
1700
1777
|
PersistenceStatus,
|
|
1778
|
+
POPOVER_ADD_SPACE,
|
|
1779
|
+
PopoverAddSpace,
|
|
1701
1780
|
POPOVER_RENAME_OBJECT,
|
|
1702
1781
|
PopoverRenameObject,
|
|
1703
1782
|
POPOVER_RENAME_SPACE,
|
|
@@ -1722,8 +1801,9 @@ export {
|
|
|
1722
1801
|
IntentResolver,
|
|
1723
1802
|
ReactRoot,
|
|
1724
1803
|
ReactSurface,
|
|
1804
|
+
Schema,
|
|
1725
1805
|
SpaceSettings,
|
|
1726
1806
|
SpaceState,
|
|
1727
1807
|
SpacesReady
|
|
1728
1808
|
};
|
|
1729
|
-
//# sourceMappingURL=chunk-
|
|
1809
|
+
//# sourceMappingURL=chunk-S6B7627U.mjs.map
|