@dxos/plugin-space 0.8.4-main.84f28bd → 0.8.4-main.c1de068
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/CollectionMain-D2B75XBS.mjs +31 -0
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs +88 -0
- package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-PMDF6PJV.mjs → app-graph-builder-7CZZJS3S.mjs} +138 -22
- package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs → app-graph-serializer-H6AW7KGS.mjs} +4 -4
- package/dist/lib/browser/{chunk-XXIPJLJF.mjs → chunk-CEFHNVU7.mjs} +2 -1
- package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-C7KGJTAL.mjs → chunk-JS3MMC42.mjs} +2 -1
- package/dist/lib/browser/{chunk-C7KGJTAL.mjs.map → chunk-JS3MMC42.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-6VLSHG4A.mjs → chunk-QACNNDOT.mjs} +64 -3
- package/dist/lib/browser/chunk-QACNNDOT.mjs.map +7 -0
- package/dist/lib/browser/{chunk-S6NY637J.mjs → chunk-SGTQ52SU.mjs} +57 -3
- package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GVTXQCIW.mjs → chunk-V7MJSSBQ.mjs} +355 -286
- package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WBSEOLEM.mjs → chunk-XUYKJUU7.mjs} +124 -21
- package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +98 -9
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-WK5WYFH3.mjs → intent-resolver-TIXVDYN7.mjs} +164 -14
- package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-7S6FIC5G.mjs → react-root-N2J7TDRX.mjs} +5 -5
- package/dist/lib/browser/{react-surface-6C3YJNDK.mjs → react-surface-TPNLWJJH.mjs} +35 -14
- package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs → schema-defs-Z6FC4AHC.mjs} +2 -2
- package/dist/lib/browser/{settings-XNWYRWNM.mjs → settings-4IMP5RYT.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs → spaces-ready-TOPG6IV4.mjs} +4 -4
- package/dist/lib/browser/{state-522XTUR4.mjs → state-QYZAB45H.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs +32 -0
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs +89 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-TO72W6MI.mjs → app-graph-builder-KGIGWC72.mjs} +138 -22
- package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs → app-graph-serializer-2ICUGQQT.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-HJJHLWKY.mjs → chunk-4AOMYKDE.mjs} +124 -21
- package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-72QMMRKC.mjs → chunk-5HHYE264.mjs} +2 -1
- package/dist/lib/node-esm/{chunk-72QMMRKC.mjs.map → chunk-5HHYE264.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-AT7LGFER.mjs → chunk-5T3ZH23B.mjs} +2 -1
- package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OUBADVJE.mjs → chunk-6X5DLJM5.mjs} +355 -286
- package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2THX6G4C.mjs → chunk-JH6F4C3I.mjs} +57 -3
- package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SXD6T2N4.mjs → chunk-P442DOQ3.mjs} +64 -3
- package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +98 -9
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-HSR27ME4.mjs → intent-resolver-MHGHRGDT.mjs} +164 -14
- package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-HUK3ANLV.mjs → react-root-KW3TGJGY.mjs} +5 -5
- package/dist/lib/node-esm/{react-surface-AGAWX7DD.mjs → react-surface-UUIUUD6P.mjs} +35 -14
- package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs → schema-defs-WHJM7UZE.mjs} +2 -2
- package/dist/lib/node-esm/{settings-YGKHGFPH.mjs → settings-SAOBPND3.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs → spaces-ready-HIUKNDZK.mjs} +4 -4
- package/dist/lib/node-esm/{state-C4IOXPZP.mjs → state-ZVEHQ4BJ.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +9 -3
- package/dist/types/src/capabilities/capabilities.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/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts +1 -0
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -2
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetailsPanel.d.ts +9 -0
- package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -0
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
- package/dist/types/src/components/ViewEditor.d.ts +8 -0
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +8 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +1 -0
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +61 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +82 -2
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +27 -2
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +47 -49
- package/src/SpacePlugin.ts +87 -4
- package/src/capabilities/app-graph-builder.ts +165 -5
- package/src/capabilities/capabilities.ts +8 -3
- package/src/capabilities/intent-resolver.ts +114 -5
- package/src/capabilities/react-surface.tsx +47 -10
- package/src/components/AwaitingObject.tsx +4 -6
- package/src/components/CollectionMain.tsx +2 -0
- package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -25
- package/src/components/MembersContainer.tsx +5 -3
- package/src/components/MenuFooter.tsx +2 -3
- package/src/components/ObjectDetailsPanel.tsx +77 -0
- package/src/components/PersistenceStatus.tsx +5 -6
- package/src/components/PopoverRenameObject.tsx +2 -2
- package/src/components/SyncStatus/SyncStatus.tsx +1 -1
- package/src/components/SyncStatus/status.ts +4 -4
- package/src/components/ViewEditor.tsx +64 -0
- package/src/components/index.ts +6 -1
- package/src/events.ts +1 -0
- package/src/translations.ts +62 -0
- package/src/types/types.ts +56 -3
- package/src/util.tsx +115 -20
- package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs.map +0 -7
- package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +0 -7
- package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +0 -7
- package/dist/lib/browser/chunk-S6NY637J.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +0 -7
- package/dist/lib/browser/chunk-XXIPJLJF.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +0 -7
- package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2THX6G4C.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AT7LGFER.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +0 -7
- /package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs.map → app-graph-serializer-H6AW7KGS.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-7S6FIC5G.mjs.map → react-root-N2J7TDRX.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs.map → schema-defs-Z6FC4AHC.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-XNWYRWNM.mjs.map → settings-4IMP5RYT.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs.map → spaces-ready-TOPG6IV4.mjs.map} +0 -0
- /package/dist/lib/browser/{state-522XTUR4.mjs.map → state-QYZAB45H.mjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs.map → app-graph-serializer-2ICUGQQT.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-HUK3ANLV.mjs.map → react-root-KW3TGJGY.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs.map → schema-defs-WHJM7UZE.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-YGKHGFPH.mjs.map → settings-SAOBPND3.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs.map → spaces-ready-HIUKNDZK.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-C4IOXPZP.mjs.map → state-ZVEHQ4BJ.mjs.map} +0 -0
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
} from "./chunk-VLBRSGJ2.mjs";
|
|
5
5
|
import {
|
|
6
6
|
SpaceCapabilities
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CEFHNVU7.mjs";
|
|
8
8
|
import {
|
|
9
9
|
COMPOSER_SPACE_LOCK,
|
|
10
10
|
getSpaceDisplayName
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XUYKJUU7.mjs";
|
|
12
12
|
import {
|
|
13
13
|
SpaceAction,
|
|
14
14
|
SpaceForm
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-SGTQ52SU.mjs";
|
|
16
16
|
import {
|
|
17
17
|
SPACE_PLUGIN,
|
|
18
18
|
meta
|
|
@@ -20,13 +20,11 @@ import {
|
|
|
20
20
|
|
|
21
21
|
// src/components/AwaitingObject.tsx
|
|
22
22
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
23
|
-
import { CheckCircle, CircleDashed, CircleNotch } from "@phosphor-icons/react";
|
|
24
23
|
import React, { useCallback, useEffect, useState } from "react";
|
|
25
24
|
import { createIntent, LayoutAction, useIntentDispatcher, useLayout } from "@dxos/app-framework";
|
|
26
25
|
import { useClient } from "@dxos/react-client";
|
|
27
26
|
import { Filter, fullyQualifiedId, useQuery } from "@dxos/react-client/echo";
|
|
28
|
-
import { Button, Toast, useTranslation } from "@dxos/react-ui";
|
|
29
|
-
import { getSize, mx } from "@dxos/react-ui-theme";
|
|
27
|
+
import { Button, Icon, Toast, useTranslation } from "@dxos/react-ui";
|
|
30
28
|
var WAIT_FOR_OBJECT_TIMEOUT = 18e4;
|
|
31
29
|
var TOAST_TIMEOUT = 24e4;
|
|
32
30
|
var AwaitingObject = ({ id }) => {
|
|
@@ -87,12 +85,16 @@ var AwaitingObject = ({ id }) => {
|
|
|
87
85
|
onOpenChange: setOpen
|
|
88
86
|
}, /* @__PURE__ */ React.createElement(Toast.Body, null, /* @__PURE__ */ React.createElement(Toast.Title, {
|
|
89
87
|
classNames: "flex items-center gap-2"
|
|
90
|
-
}, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
88
|
+
}, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
|
|
89
|
+
icon: "ph--check-circle--regular",
|
|
90
|
+
size: 5
|
|
91
|
+
}), /* @__PURE__ */ React.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
|
|
92
|
+
icon: "ph--circle-notch--regular",
|
|
93
|
+
size: 5,
|
|
94
|
+
classNames: "animate-spin"
|
|
95
|
+
}), /* @__PURE__ */ React.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
|
|
96
|
+
icon: "ph--circle-dashed--regular",
|
|
97
|
+
size: 5
|
|
96
98
|
}), /* @__PURE__ */ React.createElement("span", null, t("object not found label")))), /* @__PURE__ */ React.createElement(Toast.Description, null, t(found ? "found object description" : waiting ? "waiting for object description" : "object not found description"))), /* @__PURE__ */ React.createElement(Toast.Actions, null, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Toast.Action, {
|
|
97
99
|
altText: t("go to object alt"),
|
|
98
100
|
asChild: true
|
|
@@ -119,14 +121,14 @@ var AwaitingObject = ({ id }) => {
|
|
|
119
121
|
|
|
120
122
|
// src/components/CreateDialog/CreateObjectDialog.tsx
|
|
121
123
|
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
122
|
-
import { pipe } from "effect";
|
|
124
|
+
import { Effect, pipe } from "effect";
|
|
123
125
|
import React3, { useCallback as useCallback3, useRef, useState as useState2 } from "react";
|
|
124
126
|
import { Capabilities, LayoutAction as LayoutAction2, chain, createIntent as createIntent2, useCapabilities, useIntentDispatcher as useIntentDispatcher2, usePluginManager } from "@dxos/app-framework";
|
|
125
|
-
import { Query, Type as Type2 } from "@dxos/echo";
|
|
127
|
+
import { Obj, Query, Type as Type2 } from "@dxos/echo";
|
|
126
128
|
import { invariant } from "@dxos/invariant";
|
|
127
129
|
import { useClient as useClient2 } from "@dxos/react-client";
|
|
128
130
|
import { getSpace, isLiveObject, isSpace, useQuery as useQuery2, useSpaces } from "@dxos/react-client/echo";
|
|
129
|
-
import { Button as Button2, Dialog, Icon as
|
|
131
|
+
import { Button as Button2, Dialog, Icon as Icon3, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
130
132
|
import { cardDialogContent, cardDialogHeader } from "@dxos/react-ui-stack";
|
|
131
133
|
import { DataType } from "@dxos/schema";
|
|
132
134
|
import { isNonNullable as isNonNullable2 } from "@dxos/util";
|
|
@@ -136,7 +138,7 @@ import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking"
|
|
|
136
138
|
import React2, { useCallback as useCallback2 } from "react";
|
|
137
139
|
import { Type } from "@dxos/echo";
|
|
138
140
|
import { getTypeAnnotation } from "@dxos/echo-schema";
|
|
139
|
-
import { Icon, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
141
|
+
import { Icon as Icon2, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
140
142
|
import { Form } from "@dxos/react-ui-form";
|
|
141
143
|
import { SearchList } from "@dxos/react-ui-searchlist";
|
|
142
144
|
import { cardDialogOverflow, cardDialogPaddedOverflow, cardDialogSearchListRoot } from "@dxos/react-ui-stack";
|
|
@@ -274,7 +276,7 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
274
276
|
classNames: "flex items-center gap-2"
|
|
275
277
|
}, /* @__PURE__ */ React2.createElement("span", {
|
|
276
278
|
className: "flex gap-2 items-center grow truncate"
|
|
277
|
-
}, /* @__PURE__ */ React2.createElement(
|
|
279
|
+
}, /* @__PURE__ */ React2.createElement(Icon2, {
|
|
278
280
|
icon: resolve?.(option.typename).icon ?? "ph--placeholder--regular",
|
|
279
281
|
size: 5
|
|
280
282
|
}), t("typename label", {
|
|
@@ -288,22 +290,22 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
288
290
|
|
|
289
291
|
// src/capabilities/index.ts
|
|
290
292
|
import { lazy } from "@dxos/app-framework";
|
|
291
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
292
|
-
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-
|
|
293
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-7CZZJS3S.mjs"));
|
|
294
|
+
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-H6AW7KGS.mjs"));
|
|
293
295
|
var IdentityCreated = lazy(() => import("./identity-created-23XJJV2N.mjs"));
|
|
294
|
-
var IntentResolver = lazy(() => import("./intent-resolver-
|
|
295
|
-
var ReactRoot = lazy(() => import("./react-root-
|
|
296
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
297
|
-
var SchemaDefs = lazy(() => import("./schema-defs-
|
|
296
|
+
var IntentResolver = lazy(() => import("./intent-resolver-TIXVDYN7.mjs"));
|
|
297
|
+
var ReactRoot = lazy(() => import("./react-root-N2J7TDRX.mjs"));
|
|
298
|
+
var ReactSurface = lazy(() => import("./react-surface-TPNLWJJH.mjs"));
|
|
299
|
+
var SchemaDefs = lazy(() => import("./schema-defs-Z6FC4AHC.mjs"));
|
|
298
300
|
var SchemaTools = lazy(() => import("./schema-tools-BNP4JTD7.mjs"));
|
|
299
|
-
var SpaceSettings = lazy(() => import("./settings-
|
|
300
|
-
var SpaceState = lazy(() => import("./state-
|
|
301
|
-
var SpacesReady = lazy(() => import("./spaces-ready-
|
|
301
|
+
var SpaceSettings = lazy(() => import("./settings-4IMP5RYT.mjs"));
|
|
302
|
+
var SpaceState = lazy(() => import("./state-QYZAB45H.mjs"));
|
|
303
|
+
var SpacesReady = lazy(() => import("./spaces-ready-TOPG6IV4.mjs"));
|
|
302
304
|
|
|
303
305
|
// src/components/CreateDialog/CreateObjectDialog.tsx
|
|
304
306
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
|
|
305
307
|
var CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
|
|
306
|
-
var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, name, shouldNavigate: _shouldNavigate }) => {
|
|
308
|
+
var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, name, onCreateObject, shouldNavigate: _shouldNavigate }) => {
|
|
307
309
|
var _effect = _useSignals3();
|
|
308
310
|
try {
|
|
309
311
|
const closeRef = useRef(null);
|
|
@@ -311,7 +313,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
311
313
|
const { t } = useTranslation3(SPACE_PLUGIN);
|
|
312
314
|
const client = useClient2();
|
|
313
315
|
const spaces = useSpaces();
|
|
314
|
-
const {
|
|
316
|
+
const { dispatch } = useIntentDispatcher2();
|
|
315
317
|
const forms = useCapabilities(SpaceCapabilities.ObjectForm);
|
|
316
318
|
const [target, setTarget] = useState2(initialTarget);
|
|
317
319
|
const [typename, setTypename] = useState2(initialTypename);
|
|
@@ -321,7 +323,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
321
323
|
const resolve = useCallback3((typename2) => manager.context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename2)?.metadata ?? {}, [
|
|
322
324
|
manager
|
|
323
325
|
]);
|
|
324
|
-
const handleCreateObject = useCallback3(
|
|
326
|
+
const handleCreateObject = useCallback3(({ form, data = {} }) => Effect.gen(function* () {
|
|
325
327
|
if (!target) {
|
|
326
328
|
return;
|
|
327
329
|
}
|
|
@@ -329,18 +331,17 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
329
331
|
const space2 = isSpace(target) ? target : getSpace(target);
|
|
330
332
|
invariant(space2, "Missing space", {
|
|
331
333
|
F: __dxlog_file,
|
|
332
|
-
L:
|
|
333
|
-
S:
|
|
334
|
+
L: 76,
|
|
335
|
+
S: this,
|
|
334
336
|
A: [
|
|
335
337
|
"space",
|
|
336
338
|
"'Missing space'"
|
|
337
339
|
]
|
|
338
340
|
});
|
|
339
|
-
const
|
|
341
|
+
const { object } = yield* dispatch(form.getIntent(data, {
|
|
340
342
|
space: space2
|
|
341
343
|
}));
|
|
342
|
-
|
|
343
|
-
if (isLiveObject(object)) {
|
|
344
|
+
if (isLiveObject(object) && !Obj.instanceOf(DataType.StoredSchema, object)) {
|
|
344
345
|
const hidden = form.hidden || hiddenTypenames.includes(Type2.getTypename(form.objectSchema));
|
|
345
346
|
const addObjectIntent = createIntent2(SpaceAction.AddObject, {
|
|
346
347
|
target,
|
|
@@ -349,14 +350,15 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
349
350
|
});
|
|
350
351
|
const shouldNavigate = _shouldNavigate ?? (() => true);
|
|
351
352
|
if (shouldNavigate(object)) {
|
|
352
|
-
|
|
353
|
+
yield* dispatch(pipe(addObjectIntent, chain(LayoutAction2.Open, {
|
|
353
354
|
part: "main"
|
|
354
355
|
})));
|
|
355
356
|
} else {
|
|
356
|
-
|
|
357
|
+
yield* dispatch(addObjectIntent);
|
|
357
358
|
}
|
|
359
|
+
onCreateObject?.(object);
|
|
358
360
|
}
|
|
359
|
-
}, [
|
|
361
|
+
}).pipe(Effect.runPromise), [
|
|
360
362
|
dispatch,
|
|
361
363
|
target,
|
|
362
364
|
resolve,
|
|
@@ -383,7 +385,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
383
385
|
density: "fine",
|
|
384
386
|
variant: "ghost",
|
|
385
387
|
autoFocus: true
|
|
386
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
388
|
+
}, /* @__PURE__ */ React3.createElement(Icon3, {
|
|
387
389
|
icon: "ph--x--regular",
|
|
388
390
|
size: 4
|
|
389
391
|
})))), /* @__PURE__ */ React3.createElement(CreateObjectPanel, {
|
|
@@ -406,10 +408,10 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
406
408
|
|
|
407
409
|
// src/components/CreateDialog/CreateSpaceDialog.tsx
|
|
408
410
|
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
409
|
-
import { Effect } from "effect";
|
|
411
|
+
import { Effect as Effect2 } from "effect";
|
|
410
412
|
import React4, { useCallback as useCallback4, useRef as useRef2 } from "react";
|
|
411
413
|
import { createIntent as createIntent3, LayoutAction as LayoutAction3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
|
|
412
|
-
import { Button as Button3, Dialog as Dialog2, Icon as
|
|
414
|
+
import { Button as Button3, Dialog as Dialog2, Icon as Icon4, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
413
415
|
import { Form as Form2 } from "@dxos/react-ui-form";
|
|
414
416
|
import { cardDialogContent as cardDialogContent2, cardDialogHeader as cardDialogHeader2 } from "@dxos/react-ui-stack";
|
|
415
417
|
var CREATE_SPACE_DIALOG = `${SPACE_PLUGIN}/CreateSpaceDialog`;
|
|
@@ -424,7 +426,7 @@ var CreateSpaceDialog = () => {
|
|
|
424
426
|
const { dispatch } = useIntentDispatcher3();
|
|
425
427
|
const inputSurfaceLookup = useInputSurfaceLookup();
|
|
426
428
|
const handleCreateSpace = useCallback4(async (data) => {
|
|
427
|
-
const program =
|
|
429
|
+
const program = Effect2.gen(function* () {
|
|
428
430
|
const { space } = yield* dispatch(createIntent3(SpaceAction.Create, data));
|
|
429
431
|
yield* dispatch(createIntent3(LayoutAction3.SwitchWorkspace, {
|
|
430
432
|
part: "workspace",
|
|
@@ -437,7 +439,7 @@ var CreateSpaceDialog = () => {
|
|
|
437
439
|
}
|
|
438
440
|
}));
|
|
439
441
|
});
|
|
440
|
-
await
|
|
442
|
+
await Effect2.runPromise(program);
|
|
441
443
|
}, [
|
|
442
444
|
dispatch
|
|
443
445
|
]);
|
|
@@ -456,7 +458,7 @@ var CreateSpaceDialog = () => {
|
|
|
456
458
|
density: "fine",
|
|
457
459
|
variant: "ghost",
|
|
458
460
|
autoFocus: true
|
|
459
|
-
}, /* @__PURE__ */ React4.createElement(
|
|
461
|
+
}, /* @__PURE__ */ React4.createElement(Icon4, {
|
|
460
462
|
icon: "ph--x--regular",
|
|
461
463
|
size: 4
|
|
462
464
|
})))), /* @__PURE__ */ React4.createElement("div", {
|
|
@@ -477,39 +479,17 @@ var CreateSpaceDialog = () => {
|
|
|
477
479
|
}
|
|
478
480
|
};
|
|
479
481
|
|
|
480
|
-
// src/components/
|
|
482
|
+
// src/components/CollectionSection.tsx
|
|
481
483
|
import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
|
|
482
484
|
import React5 from "react";
|
|
483
485
|
import { useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
484
|
-
|
|
485
|
-
var CollectionMain = ({ collection }) => {
|
|
486
|
+
var CollectionSection = ({ collection }) => {
|
|
486
487
|
var _effect = _useSignals5();
|
|
487
488
|
try {
|
|
488
489
|
const { t } = useTranslation5(SPACE_PLUGIN);
|
|
489
490
|
return /* @__PURE__ */ React5.createElement("div", {
|
|
490
|
-
role: "none",
|
|
491
|
-
className: mx2(baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
|
|
492
|
-
"data-testid": "composer.firstRunMessage"
|
|
493
|
-
}, /* @__PURE__ */ React5.createElement("p", {
|
|
494
|
-
role: "alert",
|
|
495
|
-
className: mx2(descriptionMessage, "rounded-md p-8 font-normal text-lg max-is-[24rem] break-words")
|
|
496
|
-
}, collection.name ?? t("unnamed collection label")));
|
|
497
|
-
} finally {
|
|
498
|
-
_effect.f();
|
|
499
|
-
}
|
|
500
|
-
};
|
|
501
|
-
|
|
502
|
-
// src/components/CollectionSection.tsx
|
|
503
|
-
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
504
|
-
import React6 from "react";
|
|
505
|
-
import { useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
506
|
-
var CollectionSection = ({ collection }) => {
|
|
507
|
-
var _effect = _useSignals6();
|
|
508
|
-
try {
|
|
509
|
-
const { t } = useTranslation6(SPACE_PLUGIN);
|
|
510
|
-
return /* @__PURE__ */ React6.createElement("div", {
|
|
511
491
|
className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
|
|
512
|
-
}, /* @__PURE__ */
|
|
492
|
+
}, /* @__PURE__ */ React5.createElement("span", {
|
|
513
493
|
className: "truncate"
|
|
514
494
|
}, collection.name ?? t("unnamed collection label")));
|
|
515
495
|
} finally {
|
|
@@ -518,22 +498,22 @@ var CollectionSection = ({ collection }) => {
|
|
|
518
498
|
};
|
|
519
499
|
|
|
520
500
|
// src/components/JoinDialog.tsx
|
|
521
|
-
import { useSignals as
|
|
522
|
-
import
|
|
501
|
+
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
502
|
+
import React6, { useCallback as useCallback5 } from "react";
|
|
523
503
|
import { createIntent as createIntent4, LayoutAction as LayoutAction4, useAppGraph, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
|
|
524
504
|
import { Trigger } from "@dxos/async";
|
|
525
505
|
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
526
506
|
import { useClient as useClient3 } from "@dxos/react-client";
|
|
527
|
-
import { Dialog as Dialog3, useTranslation as
|
|
507
|
+
import { Dialog as Dialog3, useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
528
508
|
import { JoinPanel } from "@dxos/shell/react";
|
|
529
509
|
var JOIN_DIALOG = `${SPACE_PLUGIN}/JoinDialog`;
|
|
530
510
|
var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
531
|
-
var _effect =
|
|
511
|
+
var _effect = _useSignals6();
|
|
532
512
|
try {
|
|
533
513
|
const { dispatchPromise: dispatch } = useIntentDispatcher4();
|
|
534
514
|
const client = useClient3();
|
|
535
515
|
const { graph } = useAppGraph();
|
|
536
|
-
const { t } =
|
|
516
|
+
const { t } = useTranslation6(SPACE_PLUGIN);
|
|
537
517
|
const handleDone = useCallback5(async (result) => {
|
|
538
518
|
const spaceKey = result?.spaceKey;
|
|
539
519
|
if (!spaceKey) {
|
|
@@ -614,16 +594,16 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
614
594
|
client,
|
|
615
595
|
graph
|
|
616
596
|
]);
|
|
617
|
-
return /* @__PURE__ */
|
|
597
|
+
return /* @__PURE__ */ React6.createElement(Dialog3.Content, null, /* @__PURE__ */ React6.createElement(Dialog3.Title, {
|
|
618
598
|
classNames: "sr-only"
|
|
619
599
|
}, t("join space label", {
|
|
620
600
|
ns: "os"
|
|
621
|
-
})), /* @__PURE__ */
|
|
601
|
+
})), /* @__PURE__ */ React6.createElement(JoinPanel, {
|
|
622
602
|
...props,
|
|
623
|
-
exitActionParent: /* @__PURE__ */
|
|
603
|
+
exitActionParent: /* @__PURE__ */ React6.createElement(Dialog3.Close, {
|
|
624
604
|
asChild: true
|
|
625
605
|
}),
|
|
626
|
-
doneActionParent: /* @__PURE__ */
|
|
606
|
+
doneActionParent: /* @__PURE__ */ React6.createElement(Dialog3.Close, {
|
|
627
607
|
asChild: true
|
|
628
608
|
}),
|
|
629
609
|
onDone: handleDone
|
|
@@ -634,19 +614,17 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
634
614
|
};
|
|
635
615
|
|
|
636
616
|
// src/components/MembersContainer.tsx
|
|
637
|
-
import { useSignals as
|
|
638
|
-
import {
|
|
639
|
-
import React8, { useCallback as useCallback6, useMemo, useState as useState3 } from "react";
|
|
617
|
+
import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
|
|
618
|
+
import React7, { useCallback as useCallback6, useMemo, useState as useState3 } from "react";
|
|
640
619
|
import { QR } from "react-qr-rounded";
|
|
641
620
|
import { createIntent as createIntent5, useIntentDispatcher as useIntentDispatcher5 } from "@dxos/app-framework";
|
|
642
621
|
import { log } from "@dxos/log";
|
|
643
622
|
import { useConfig } from "@dxos/react-client";
|
|
644
623
|
import { fullyQualifiedId as fullyQualifiedId2, useSpaceInvitations } from "@dxos/react-client/echo";
|
|
645
624
|
import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
|
|
646
|
-
import { Button as Button4, Clipboard, Icon as
|
|
625
|
+
import { Button as Button4, Clipboard, Icon as Icon5, Input, useId, useTranslation as useTranslation7 } from "@dxos/react-ui";
|
|
647
626
|
import { ControlPage, ControlSection, ControlFrame, ControlFrameItem, ControlItemInput } from "@dxos/react-ui-form";
|
|
648
627
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
649
|
-
import { getSize as getSize2, mx as mx3 } from "@dxos/react-ui-theme";
|
|
650
628
|
import { DataType as DataType2 } from "@dxos/schema";
|
|
651
629
|
import { AuthCode, BifurcatedAction, Centered, Emoji, InvitationList, SpaceMemberList, Viewport } from "@dxos/shell/react";
|
|
652
630
|
import { hexToEmoji } from "@dxos/util";
|
|
@@ -660,7 +638,7 @@ var handleInvitationEvent = (invitation, subscription) => {
|
|
|
660
638
|
authCode: invitation.authCode
|
|
661
639
|
}), void 0, {
|
|
662
640
|
F: __dxlog_file2,
|
|
663
|
-
L:
|
|
641
|
+
L: 39,
|
|
664
642
|
S: void 0,
|
|
665
643
|
C: (f, a) => f(...a)
|
|
666
644
|
});
|
|
@@ -668,9 +646,9 @@ var handleInvitationEvent = (invitation, subscription) => {
|
|
|
668
646
|
}
|
|
669
647
|
};
|
|
670
648
|
var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
671
|
-
var _effect =
|
|
649
|
+
var _effect = _useSignals7();
|
|
672
650
|
try {
|
|
673
|
-
const { t } =
|
|
651
|
+
const { t } = useTranslation7(SPACE_PLUGIN);
|
|
674
652
|
const config = useConfig();
|
|
675
653
|
const { dispatchPromise: dispatch } = useIntentDispatcher5();
|
|
676
654
|
const invitations = useSpaceInvitations(space.key);
|
|
@@ -698,7 +676,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
698
676
|
description: t("invite one description", {
|
|
699
677
|
ns: "os"
|
|
700
678
|
}),
|
|
701
|
-
icon: () => /* @__PURE__ */
|
|
679
|
+
icon: () => /* @__PURE__ */ React7.createElement(Icon5, {
|
|
702
680
|
icon: "ph--user-plus--regular",
|
|
703
681
|
size: 5
|
|
704
682
|
}),
|
|
@@ -723,7 +701,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
723
701
|
description: t("invite many description", {
|
|
724
702
|
ns: "os"
|
|
725
703
|
}),
|
|
726
|
-
icon: () => /* @__PURE__ */
|
|
704
|
+
icon: () => /* @__PURE__ */ React7.createElement(Icon5, {
|
|
727
705
|
icon: "ph--users-three--regular",
|
|
728
706
|
size: 5
|
|
729
707
|
}),
|
|
@@ -753,44 +731,44 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
753
731
|
const handleBack = () => {
|
|
754
732
|
setSelectedInvitation(null);
|
|
755
733
|
};
|
|
756
|
-
return /* @__PURE__ */
|
|
734
|
+
return /* @__PURE__ */ React7.createElement(Clipboard.Provider, null, /* @__PURE__ */ React7.createElement(StackItem.Content, {
|
|
757
735
|
classNames: "block overflow-y-auto"
|
|
758
|
-
}, /* @__PURE__ */
|
|
736
|
+
}, /* @__PURE__ */ React7.createElement(ControlPage, null, /* @__PURE__ */ React7.createElement(ControlSection, {
|
|
759
737
|
title: t("members verbose label"),
|
|
760
738
|
description: t("members description")
|
|
761
|
-
}, /* @__PURE__ */
|
|
739
|
+
}, /* @__PURE__ */ React7.createElement(ControlFrame, null, /* @__PURE__ */ React7.createElement(ControlFrameItem, {
|
|
762
740
|
title: t("members label")
|
|
763
|
-
}, /* @__PURE__ */
|
|
741
|
+
}, /* @__PURE__ */ React7.createElement(SpaceMemberList, {
|
|
764
742
|
spaceKey: space.key,
|
|
765
743
|
includeSelf: true
|
|
766
|
-
})), locked && /* @__PURE__ */
|
|
744
|
+
})), locked && /* @__PURE__ */ React7.createElement(ControlFrameItem, {
|
|
767
745
|
title: t("invitations label")
|
|
768
|
-
}, /* @__PURE__ */
|
|
746
|
+
}, /* @__PURE__ */ React7.createElement("p", {
|
|
769
747
|
className: "text-description mbe-2"
|
|
770
|
-
}, t("locked space description"))), !locked && /* @__PURE__ */
|
|
748
|
+
}, t("locked space description"))), !locked && /* @__PURE__ */ React7.createElement(ControlFrameItem, {
|
|
771
749
|
title: t("invitations label")
|
|
772
|
-
}, selectedInvitation && /* @__PURE__ */
|
|
750
|
+
}, selectedInvitation && /* @__PURE__ */ React7.createElement(InvitationSection, {
|
|
773
751
|
...selectedInvitation,
|
|
774
752
|
onBack: handleBack
|
|
775
|
-
}), !selectedInvitation && /* @__PURE__ */
|
|
753
|
+
}), !selectedInvitation && /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
|
|
776
754
|
className: "text-description mbe-2"
|
|
777
|
-
}, t("space invitation description")), /* @__PURE__ */
|
|
755
|
+
}, t("space invitation description")), /* @__PURE__ */ React7.createElement(InvitationList, {
|
|
778
756
|
className: "mb-2",
|
|
779
757
|
send: handleSend,
|
|
780
758
|
invitations: visibleInvitations ?? [],
|
|
781
759
|
onClickRemove: (invitation) => invitation.cancel(),
|
|
782
760
|
createInvitationUrl
|
|
783
|
-
}), /* @__PURE__ */
|
|
761
|
+
}), /* @__PURE__ */ React7.createElement(BifurcatedAction, {
|
|
784
762
|
actions: inviteActions,
|
|
785
763
|
activeAction,
|
|
786
764
|
onChangeActiveAction: setActiveAction,
|
|
787
765
|
"data-testid": "membersContainer.createInvitation"
|
|
788
|
-
})))), /* @__PURE__ */
|
|
766
|
+
})))), /* @__PURE__ */ React7.createElement("div", {
|
|
789
767
|
className: "justify-center gap-4 p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
|
|
790
|
-
}, /* @__PURE__ */
|
|
768
|
+
}, /* @__PURE__ */ React7.createElement(ControlItemInput, {
|
|
791
769
|
title: t("space locked label"),
|
|
792
770
|
description: t("space locked description")
|
|
793
|
-
}, /* @__PURE__ */
|
|
771
|
+
}, /* @__PURE__ */ React7.createElement(Input.Switch, {
|
|
794
772
|
checked: locked,
|
|
795
773
|
onCheckedChange: handleChangeLocked,
|
|
796
774
|
classNames: "justify-self-end"
|
|
@@ -800,26 +778,26 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
800
778
|
}
|
|
801
779
|
};
|
|
802
780
|
var InvitationSection = ({ state = Invitation.State.INIT, authCode, invitationId = "never", url = "never", onBack }) => {
|
|
803
|
-
var _effect =
|
|
781
|
+
var _effect = _useSignals7();
|
|
804
782
|
try {
|
|
805
783
|
const activeView = state < 0 ? "init" : state >= Invitation.State.CANCELLED ? "complete" : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
|
|
806
|
-
return /* @__PURE__ */
|
|
784
|
+
return /* @__PURE__ */ React7.createElement(Viewport.Root, {
|
|
807
785
|
activeView
|
|
808
|
-
}, /* @__PURE__ */
|
|
786
|
+
}, /* @__PURE__ */ React7.createElement(Viewport.Views, null, /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
809
787
|
id: "init"
|
|
810
|
-
}), /* @__PURE__ */
|
|
788
|
+
}), /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
811
789
|
id: "complete"
|
|
812
|
-
}, /* @__PURE__ */
|
|
790
|
+
}, /* @__PURE__ */ React7.createElement(InvitationComplete, {
|
|
813
791
|
statusValue: state
|
|
814
|
-
})), /* @__PURE__ */
|
|
792
|
+
})), /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
815
793
|
id: "auth-code"
|
|
816
|
-
}, /* @__PURE__ */
|
|
794
|
+
}, /* @__PURE__ */ React7.createElement(InvitationAuthCode, {
|
|
817
795
|
id: invitationId,
|
|
818
796
|
code: authCode ?? "never",
|
|
819
797
|
onCancel: onBack
|
|
820
|
-
})), /* @__PURE__ */
|
|
798
|
+
})), /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
821
799
|
id: "qr-code"
|
|
822
|
-
}, /* @__PURE__ */
|
|
800
|
+
}, /* @__PURE__ */ React7.createElement(InvitationQR, {
|
|
823
801
|
id: invitationId,
|
|
824
802
|
url,
|
|
825
803
|
onCancel: onBack
|
|
@@ -829,36 +807,36 @@ var InvitationSection = ({ state = Invitation.State.INIT, authCode, invitationId
|
|
|
829
807
|
}
|
|
830
808
|
};
|
|
831
809
|
var InvitationQR = ({ id, url, onCancel }) => {
|
|
832
|
-
var _effect =
|
|
810
|
+
var _effect = _useSignals7();
|
|
833
811
|
try {
|
|
834
|
-
const { t } =
|
|
812
|
+
const { t } = useTranslation7("os");
|
|
835
813
|
const qrLabel = useId("members-container__qr-code");
|
|
836
814
|
const emoji = hexToEmoji(id);
|
|
837
|
-
return /* @__PURE__ */
|
|
815
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
|
|
838
816
|
className: "text-description"
|
|
839
817
|
}, t("qr code description", {
|
|
840
818
|
ns: SPACE_PLUGIN
|
|
841
|
-
})), /* @__PURE__ */
|
|
819
|
+
})), /* @__PURE__ */ React7.createElement("div", {
|
|
842
820
|
role: "group",
|
|
843
821
|
className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
|
|
844
|
-
}, /* @__PURE__ */
|
|
822
|
+
}, /* @__PURE__ */ React7.createElement("div", {
|
|
845
823
|
role: "none",
|
|
846
824
|
className: "is-full aspect-square relative text-description"
|
|
847
|
-
}, /* @__PURE__ */
|
|
825
|
+
}, /* @__PURE__ */ React7.createElement(QR, {
|
|
848
826
|
rounding: 100,
|
|
849
827
|
backgroundColor: "transparent",
|
|
850
828
|
color: "currentColor",
|
|
851
829
|
"aria-labelledby": qrLabel,
|
|
852
830
|
errorCorrectionLevel: "Q",
|
|
853
831
|
cutout: true
|
|
854
|
-
}, url ?? "never"), /* @__PURE__ */
|
|
832
|
+
}, url ?? "never"), /* @__PURE__ */ React7.createElement(Centered, null, /* @__PURE__ */ React7.createElement(Emoji, {
|
|
855
833
|
text: emoji
|
|
856
|
-
}))), /* @__PURE__ */
|
|
834
|
+
}))), /* @__PURE__ */ React7.createElement("span", {
|
|
857
835
|
id: qrLabel,
|
|
858
836
|
className: "sr-only"
|
|
859
|
-
}, t("qr label")), /* @__PURE__ */
|
|
837
|
+
}, t("qr label")), /* @__PURE__ */ React7.createElement(Clipboard.Button, {
|
|
860
838
|
value: url ?? "never"
|
|
861
|
-
})), /* @__PURE__ */
|
|
839
|
+
})), /* @__PURE__ */ React7.createElement(Button4, {
|
|
862
840
|
variant: "ghost",
|
|
863
841
|
onClick: onCancel
|
|
864
842
|
}, t("cancel label")));
|
|
@@ -867,22 +845,22 @@ var InvitationQR = ({ id, url, onCancel }) => {
|
|
|
867
845
|
}
|
|
868
846
|
};
|
|
869
847
|
var InvitationAuthCode = ({ id, code, onCancel }) => {
|
|
870
|
-
var _effect =
|
|
848
|
+
var _effect = _useSignals7();
|
|
871
849
|
try {
|
|
872
|
-
const { t } =
|
|
850
|
+
const { t } = useTranslation7("os");
|
|
873
851
|
const emoji = hexToEmoji(id);
|
|
874
|
-
return /* @__PURE__ */
|
|
852
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
|
|
875
853
|
className: "text-description"
|
|
876
|
-
}, t("auth other device emoji message")), emoji && /* @__PURE__ */
|
|
854
|
+
}, t("auth other device emoji message")), emoji && /* @__PURE__ */ React7.createElement(Emoji, {
|
|
877
855
|
text: emoji,
|
|
878
856
|
className: "mli-auto mlb-2 text-center"
|
|
879
|
-
}), /* @__PURE__ */
|
|
857
|
+
}), /* @__PURE__ */ React7.createElement("p", {
|
|
880
858
|
className: "text-description"
|
|
881
|
-
}, t("auth code message")), /* @__PURE__ */
|
|
859
|
+
}, t("auth code message")), /* @__PURE__ */ React7.createElement(AuthCode, {
|
|
882
860
|
code,
|
|
883
861
|
large: true,
|
|
884
862
|
classNames: "mli-auto mlb-2 text-center grow"
|
|
885
|
-
}), /* @__PURE__ */
|
|
863
|
+
}), /* @__PURE__ */ React7.createElement(Button4, {
|
|
886
864
|
variant: "ghost",
|
|
887
865
|
onClick: onCancel
|
|
888
866
|
}, t("cancel label")));
|
|
@@ -891,12 +869,16 @@ var InvitationAuthCode = ({ id, code, onCancel }) => {
|
|
|
891
869
|
}
|
|
892
870
|
};
|
|
893
871
|
var InvitationComplete = ({ statusValue }) => {
|
|
894
|
-
var _effect =
|
|
872
|
+
var _effect = _useSignals7();
|
|
895
873
|
try {
|
|
896
|
-
return statusValue > 0 ? /* @__PURE__ */
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
874
|
+
return statusValue > 0 ? /* @__PURE__ */ React7.createElement(Icon5, {
|
|
875
|
+
icon: "ph--check--regular",
|
|
876
|
+
size: 6,
|
|
877
|
+
classNames: "m-1.5"
|
|
878
|
+
}) : /* @__PURE__ */ React7.createElement(Icon5, {
|
|
879
|
+
icon: "ph--x--regular",
|
|
880
|
+
size: 6,
|
|
881
|
+
classNames: "m-1.5"
|
|
900
882
|
});
|
|
901
883
|
} finally {
|
|
902
884
|
_effect.f();
|
|
@@ -904,29 +886,29 @@ var InvitationComplete = ({ statusValue }) => {
|
|
|
904
886
|
};
|
|
905
887
|
|
|
906
888
|
// src/components/MenuFooter.tsx
|
|
907
|
-
import { useSignals as
|
|
908
|
-
import
|
|
909
|
-
import React9 from "react";
|
|
889
|
+
import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
|
|
890
|
+
import React8 from "react";
|
|
910
891
|
import { getSpace as getSpace2 } from "@dxos/client/echo";
|
|
911
892
|
import { useClient as useClient4 } from "@dxos/react-client";
|
|
912
|
-
import { DropdownMenu, toLocalizedString as toLocalizedString2, useTranslation as
|
|
893
|
+
import { DropdownMenu, Icon as Icon6, toLocalizedString as toLocalizedString2, useTranslation as useTranslation8 } from "@dxos/react-ui";
|
|
913
894
|
var MenuFooter = ({ object }) => {
|
|
914
|
-
var _effect =
|
|
895
|
+
var _effect = _useSignals8();
|
|
915
896
|
try {
|
|
916
|
-
const { t } =
|
|
897
|
+
const { t } = useTranslation8(SPACE_PLUGIN);
|
|
917
898
|
const client = useClient4();
|
|
918
899
|
const space = getSpace2(object);
|
|
919
900
|
const spaceName = space ? getSpaceDisplayName(space, {
|
|
920
901
|
personal: client.spaces.default === space
|
|
921
902
|
}) : "";
|
|
922
|
-
return space ? /* @__PURE__ */
|
|
903
|
+
return space ? /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(DropdownMenu.Separator, null), /* @__PURE__ */ React8.createElement(DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ React8.createElement("dl", {
|
|
923
904
|
className: "pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2"
|
|
924
|
-
}, /* @__PURE__ */
|
|
905
|
+
}, /* @__PURE__ */ React8.createElement("dt", {
|
|
925
906
|
className: "uppercase text-[.75em] tracking-wide font-medium mbs-px self-start"
|
|
926
|
-
}, t("location label")), /* @__PURE__ */
|
|
907
|
+
}, t("location label")), /* @__PURE__ */ React8.createElement("dd", {
|
|
927
908
|
className: "line-clamp-3"
|
|
928
|
-
}, /* @__PURE__ */
|
|
929
|
-
|
|
909
|
+
}, /* @__PURE__ */ React8.createElement(Icon6, {
|
|
910
|
+
icon: "ph--planet--regular",
|
|
911
|
+
classNames: "inline-block mie-1"
|
|
930
912
|
}), toLocalizedString2(spaceName, t)))) : null;
|
|
931
913
|
} finally {
|
|
932
914
|
_effect.f();
|
|
@@ -934,22 +916,22 @@ var MenuFooter = ({ object }) => {
|
|
|
934
916
|
};
|
|
935
917
|
|
|
936
918
|
// src/components/ObjectSettings/ObjectSettingsContainer.tsx
|
|
937
|
-
import { useSignals as
|
|
938
|
-
import
|
|
919
|
+
import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
|
|
920
|
+
import React10, { useMemo as useMemo2 } from "react";
|
|
939
921
|
import { Surface } from "@dxos/app-framework";
|
|
940
922
|
import { Clipboard as Clipboard2 } from "@dxos/react-ui";
|
|
941
923
|
import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
|
|
942
924
|
|
|
943
925
|
// src/components/ObjectSettings/BaseObjectSettings.tsx
|
|
944
|
-
import { useSignals as
|
|
945
|
-
import
|
|
946
|
-
import { Input as Input2, useTranslation as
|
|
926
|
+
import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
|
|
927
|
+
import React9, { useRef as useRef3 } from "react";
|
|
928
|
+
import { Input as Input2, useTranslation as useTranslation9 } from "@dxos/react-ui";
|
|
947
929
|
var BaseObjectSettings = ({ classNames, children, object }) => {
|
|
948
|
-
var _effect =
|
|
930
|
+
var _effect = _useSignals9();
|
|
949
931
|
try {
|
|
950
|
-
const { t } =
|
|
932
|
+
const { t } = useTranslation9(meta.id);
|
|
951
933
|
const inputRef = useRef3(null);
|
|
952
|
-
return /* @__PURE__ */
|
|
934
|
+
return /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(Input2.Root, null, /* @__PURE__ */ React9.createElement(Input2.Label, null, t("name label")), /* @__PURE__ */ React9.createElement(Input2.TextInput, {
|
|
953
935
|
ref: inputRef,
|
|
954
936
|
placeholder: t("name placeholder"),
|
|
955
937
|
// TODO(burdon): Use annotation to get the name field.
|
|
@@ -970,24 +952,24 @@ var BaseObjectSettings = ({ classNames, children, object }) => {
|
|
|
970
952
|
|
|
971
953
|
// src/components/ObjectSettings/ObjectSettingsContainer.tsx
|
|
972
954
|
var ObjectSettingsContainer = ({ object, role }) => {
|
|
973
|
-
var _effect =
|
|
955
|
+
var _effect = _useSignals10();
|
|
974
956
|
try {
|
|
975
957
|
const data = useMemo2(() => ({
|
|
976
958
|
subject: object
|
|
977
959
|
}), [
|
|
978
960
|
object
|
|
979
961
|
]);
|
|
980
|
-
return /* @__PURE__ */
|
|
962
|
+
return /* @__PURE__ */ React10.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React10.createElement(StackItem2.Content, {
|
|
981
963
|
toolbar: false
|
|
982
|
-
}, /* @__PURE__ */
|
|
964
|
+
}, /* @__PURE__ */ React10.createElement("div", {
|
|
983
965
|
role: "none",
|
|
984
966
|
className: "overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock"
|
|
985
|
-
}, /* @__PURE__ */
|
|
967
|
+
}, /* @__PURE__ */ React10.createElement(BaseObjectSettings, {
|
|
986
968
|
object
|
|
987
|
-
}, /* @__PURE__ */
|
|
969
|
+
}, /* @__PURE__ */ React10.createElement(Surface, {
|
|
988
970
|
role: "base-object-settings",
|
|
989
971
|
data
|
|
990
|
-
})), /* @__PURE__ */
|
|
972
|
+
})), /* @__PURE__ */ React10.createElement(Surface, {
|
|
991
973
|
role: "object-settings",
|
|
992
974
|
data
|
|
993
975
|
}))));
|
|
@@ -997,16 +979,15 @@ var ObjectSettingsContainer = ({ object, role }) => {
|
|
|
997
979
|
};
|
|
998
980
|
|
|
999
981
|
// src/components/PersistenceStatus.tsx
|
|
1000
|
-
import { useSignals as
|
|
1001
|
-
import {
|
|
1002
|
-
import React12, { useEffect as useEffect2, useState as useState4 } from "react";
|
|
982
|
+
import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
|
|
983
|
+
import React11, { useEffect as useEffect2, useState as useState4 } from "react";
|
|
1003
984
|
import { debounce } from "@dxos/async";
|
|
1004
|
-
import { Tooltip, useTranslation as
|
|
1005
|
-
import {
|
|
985
|
+
import { Icon as Icon7, Tooltip, useTranslation as useTranslation10 } from "@dxos/react-ui";
|
|
986
|
+
import { mx, staticPlaceholderText, warningText } from "@dxos/react-ui-theme";
|
|
1006
987
|
var PersistenceStatus = ({ db }) => {
|
|
1007
|
-
var _effect =
|
|
988
|
+
var _effect = _useSignals11();
|
|
1008
989
|
try {
|
|
1009
|
-
const { t } =
|
|
990
|
+
const { t } = useTranslation10(SPACE_PLUGIN);
|
|
1010
991
|
const [displayMessage, setDisplayMessage] = useState4(false);
|
|
1011
992
|
const [status, naturalSetStatus] = useState4(0);
|
|
1012
993
|
const [prevStatus, setPrevStatus] = useState4(0);
|
|
@@ -1023,32 +1004,38 @@ var PersistenceStatus = ({ db }) => {
|
|
|
1023
1004
|
]);
|
|
1024
1005
|
switch (status) {
|
|
1025
1006
|
case 2:
|
|
1026
|
-
return /* @__PURE__ */
|
|
1007
|
+
return /* @__PURE__ */ React11.createElement("div", {
|
|
1027
1008
|
className: "flex items-center"
|
|
1028
|
-
}, /* @__PURE__ */
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1009
|
+
}, /* @__PURE__ */ React11.createElement(Icon7, {
|
|
1010
|
+
icon: "ph--warning--regular",
|
|
1011
|
+
size: 4,
|
|
1012
|
+
classNames: "me-1"
|
|
1013
|
+
}), /* @__PURE__ */ React11.createElement("span", {
|
|
1014
|
+
className: mx("text-sm", warningText)
|
|
1032
1015
|
}, t("persistence error label")));
|
|
1033
1016
|
case 1:
|
|
1034
|
-
return /* @__PURE__ */
|
|
1017
|
+
return /* @__PURE__ */ React11.createElement("div", {
|
|
1035
1018
|
className: "flex items-center"
|
|
1036
|
-
}, /* @__PURE__ */
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1019
|
+
}, /* @__PURE__ */ React11.createElement(Icon7, {
|
|
1020
|
+
icon: "ph--arrows-counter-clockwise--regular",
|
|
1021
|
+
size: 4,
|
|
1022
|
+
classNames: "me-1"
|
|
1023
|
+
}), /* @__PURE__ */ React11.createElement("span", {
|
|
1024
|
+
className: mx("text-sm", staticPlaceholderText)
|
|
1040
1025
|
}, t("persistence pending label")));
|
|
1041
1026
|
case 0:
|
|
1042
1027
|
default:
|
|
1043
|
-
return /* @__PURE__ */
|
|
1028
|
+
return /* @__PURE__ */ React11.createElement(Tooltip.Trigger, {
|
|
1044
1029
|
delayDuration: 400,
|
|
1045
1030
|
role: "status",
|
|
1046
1031
|
content: t("persisted locally message"),
|
|
1047
1032
|
className: "flex items-center"
|
|
1048
|
-
}, /* @__PURE__ */
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1033
|
+
}, /* @__PURE__ */ React11.createElement(Icon7, {
|
|
1034
|
+
icon: "ph--check-circle--regular",
|
|
1035
|
+
size: 4,
|
|
1036
|
+
classNames: "me-1"
|
|
1037
|
+
}), displayMessage && /* @__PURE__ */ React11.createElement("span", {
|
|
1038
|
+
className: mx("text-sm", staticPlaceholderText)
|
|
1052
1039
|
}, t("persisted locally label")));
|
|
1053
1040
|
}
|
|
1054
1041
|
} finally {
|
|
@@ -1057,17 +1044,17 @@ var PersistenceStatus = ({ db }) => {
|
|
|
1057
1044
|
};
|
|
1058
1045
|
|
|
1059
1046
|
// src/components/PopoverRenameObject.tsx
|
|
1060
|
-
import { useSignals as
|
|
1061
|
-
import
|
|
1047
|
+
import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
|
|
1048
|
+
import React12, { useCallback as useCallback7, useRef as useRef4, useState as useState5 } from "react";
|
|
1062
1049
|
import { createIntent as createIntent6, LayoutAction as LayoutAction5, useIntentDispatcher as useIntentDispatcher6 } from "@dxos/app-framework";
|
|
1063
1050
|
import { log as log2 } from "@dxos/log";
|
|
1064
|
-
import { Button as Button5, Input as Input3, useTranslation as
|
|
1051
|
+
import { Button as Button5, Input as Input3, useTranslation as useTranslation11 } from "@dxos/react-ui";
|
|
1065
1052
|
var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
|
|
1066
1053
|
var POPOVER_RENAME_OBJECT = `${SPACE_PLUGIN}/PopoverRenameObject`;
|
|
1067
1054
|
var PopoverRenameObject = ({ object: obj }) => {
|
|
1068
|
-
var _effect =
|
|
1055
|
+
var _effect = _useSignals12();
|
|
1069
1056
|
try {
|
|
1070
|
-
const { t } =
|
|
1057
|
+
const { t } = useTranslation11(SPACE_PLUGIN);
|
|
1071
1058
|
const doneButton = useRef4(null);
|
|
1072
1059
|
const object = obj;
|
|
1073
1060
|
const [name, setName] = useState5(object.name || object.title || "");
|
|
@@ -1075,10 +1062,10 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
1075
1062
|
const handleDone = useCallback7(() => {
|
|
1076
1063
|
try {
|
|
1077
1064
|
object.name = name;
|
|
1078
|
-
} catch {
|
|
1065
|
+
} catch (err) {
|
|
1079
1066
|
try {
|
|
1080
1067
|
object.title = name;
|
|
1081
|
-
} catch
|
|
1068
|
+
} catch {
|
|
1082
1069
|
log2.error("Failed to rename object", {
|
|
1083
1070
|
err
|
|
1084
1071
|
}, {
|
|
@@ -1101,21 +1088,21 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
1101
1088
|
object,
|
|
1102
1089
|
name
|
|
1103
1090
|
]);
|
|
1104
|
-
return /* @__PURE__ */
|
|
1091
|
+
return /* @__PURE__ */ React12.createElement("div", {
|
|
1105
1092
|
role: "none",
|
|
1106
1093
|
className: "p-2 flex gap-2"
|
|
1107
|
-
}, /* @__PURE__ */
|
|
1094
|
+
}, /* @__PURE__ */ React12.createElement("div", {
|
|
1108
1095
|
role: "none",
|
|
1109
1096
|
className: "flex-1"
|
|
1110
|
-
}, /* @__PURE__ */
|
|
1097
|
+
}, /* @__PURE__ */ React12.createElement(Input3.Root, null, /* @__PURE__ */ React12.createElement(Input3.Label, {
|
|
1111
1098
|
srOnly: true
|
|
1112
|
-
}, t("object name label")), /* @__PURE__ */
|
|
1099
|
+
}, t("object name label")), /* @__PURE__ */ React12.createElement(Input3.TextInput, {
|
|
1113
1100
|
placeholder: t("object placeholder"),
|
|
1114
1101
|
value: name,
|
|
1115
1102
|
"data-testid": "spacePlugin.renameObject.input",
|
|
1116
1103
|
onChange: ({ target: { value } }) => setName(value),
|
|
1117
1104
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1118
|
-
}))), /* @__PURE__ */
|
|
1105
|
+
}))), /* @__PURE__ */ React12.createElement(Button5, {
|
|
1119
1106
|
ref: doneButton,
|
|
1120
1107
|
classNames: "self-stretch",
|
|
1121
1108
|
onClick: handleDone
|
|
@@ -1128,15 +1115,15 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
1128
1115
|
};
|
|
1129
1116
|
|
|
1130
1117
|
// src/components/PopoverRenameSpace.tsx
|
|
1131
|
-
import { useSignals as
|
|
1132
|
-
import
|
|
1118
|
+
import { useSignals as _useSignals13 } from "@preact-signals/safe-react/tracking";
|
|
1119
|
+
import React13, { useCallback as useCallback8, useRef as useRef5, useState as useState6 } from "react";
|
|
1133
1120
|
import { createIntent as createIntent7, LayoutAction as LayoutAction6, useIntentDispatcher as useIntentDispatcher7 } from "@dxos/app-framework";
|
|
1134
|
-
import { Button as Button6, Input as Input4, Popover, useTranslation as
|
|
1121
|
+
import { Button as Button6, Input as Input4, Popover, useTranslation as useTranslation12 } from "@dxos/react-ui";
|
|
1135
1122
|
var POPOVER_RENAME_SPACE = `${SPACE_PLUGIN}/PopoverRenameSpace`;
|
|
1136
1123
|
var PopoverRenameSpace = ({ space }) => {
|
|
1137
|
-
var _effect =
|
|
1124
|
+
var _effect = _useSignals13();
|
|
1138
1125
|
try {
|
|
1139
|
-
const { t } =
|
|
1126
|
+
const { t } = useTranslation12(SPACE_PLUGIN);
|
|
1140
1127
|
const doneButton = useRef5(null);
|
|
1141
1128
|
const [name, setName] = useState6(space.properties.name ?? "");
|
|
1142
1129
|
const { dispatchPromise: dispatch } = useIntentDispatcher7();
|
|
@@ -1154,24 +1141,24 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
1154
1141
|
space,
|
|
1155
1142
|
name
|
|
1156
1143
|
]);
|
|
1157
|
-
return /* @__PURE__ */
|
|
1144
|
+
return /* @__PURE__ */ React13.createElement("div", {
|
|
1158
1145
|
role: "none",
|
|
1159
1146
|
className: "p-2 flex gap-2"
|
|
1160
|
-
}, /* @__PURE__ */
|
|
1147
|
+
}, /* @__PURE__ */ React13.createElement("div", {
|
|
1161
1148
|
role: "none",
|
|
1162
1149
|
className: "flex-1"
|
|
1163
|
-
}, /* @__PURE__ */
|
|
1150
|
+
}, /* @__PURE__ */ React13.createElement(Input4.Root, null, /* @__PURE__ */ React13.createElement(Input4.Label, {
|
|
1164
1151
|
srOnly: true
|
|
1165
|
-
}, t("space name label")), /* @__PURE__ */
|
|
1152
|
+
}, t("space name label")), /* @__PURE__ */ React13.createElement(Input4.TextInput, {
|
|
1166
1153
|
defaultValue: space.properties.name ?? "",
|
|
1167
1154
|
placeholder: t("unnamed space label"),
|
|
1168
1155
|
onChange: ({ target: { value } }) => setName(value),
|
|
1169
1156
|
// TODO(wittjosiah): Ideally this should access the popover context to close the popover.
|
|
1170
1157
|
// Currently this is not possible because Radix does not expose the popover context.
|
|
1171
1158
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1172
|
-
}))), /* @__PURE__ */
|
|
1159
|
+
}))), /* @__PURE__ */ React13.createElement(Popover.Close, {
|
|
1173
1160
|
asChild: true
|
|
1174
|
-
}, /* @__PURE__ */
|
|
1161
|
+
}, /* @__PURE__ */ React13.createElement(Button6, {
|
|
1175
1162
|
ref: doneButton,
|
|
1176
1163
|
classNames: "self-stretch",
|
|
1177
1164
|
onClick: handleDone
|
|
@@ -1184,9 +1171,9 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
1184
1171
|
};
|
|
1185
1172
|
|
|
1186
1173
|
// src/components/SchemaContainer.tsx
|
|
1187
|
-
import { useSignals as
|
|
1188
|
-
import
|
|
1189
|
-
import { useTranslation as
|
|
1174
|
+
import { useSignals as _useSignals14 } from "@preact-signals/safe-react/tracking";
|
|
1175
|
+
import React14, { useState as useState7, useEffect as useEffect3 } from "react";
|
|
1176
|
+
import { useTranslation as useTranslation13 } from "@dxos/react-ui";
|
|
1190
1177
|
import { controlItemClasses, ControlPage as ControlPage2, ControlSection as ControlSection2 } from "@dxos/react-ui-form";
|
|
1191
1178
|
import { StackItem as StackItem3 } from "@dxos/react-ui-stack";
|
|
1192
1179
|
var useQuerySpaceSchemas = (space) => {
|
|
@@ -1203,38 +1190,38 @@ var useQuerySpaceSchemas = (space) => {
|
|
|
1203
1190
|
return schemas;
|
|
1204
1191
|
};
|
|
1205
1192
|
var SchemaContainer = ({ space }) => {
|
|
1206
|
-
var _effect =
|
|
1193
|
+
var _effect = _useSignals14();
|
|
1207
1194
|
try {
|
|
1208
|
-
const { t } =
|
|
1195
|
+
const { t } = useTranslation13(SPACE_PLUGIN);
|
|
1209
1196
|
const schemas = useQuerySpaceSchemas(space);
|
|
1210
|
-
return /* @__PURE__ */
|
|
1197
|
+
return /* @__PURE__ */ React14.createElement(StackItem3.Content, {
|
|
1211
1198
|
classNames: "block overflow-y-auto"
|
|
1212
|
-
}, /* @__PURE__ */
|
|
1199
|
+
}, /* @__PURE__ */ React14.createElement(ControlPage2, null, /* @__PURE__ */ React14.createElement(ControlSection2, {
|
|
1213
1200
|
title: t("schema verbose label"),
|
|
1214
1201
|
description: t("schema description")
|
|
1215
|
-
}, /* @__PURE__ */
|
|
1202
|
+
}, /* @__PURE__ */ React14.createElement("div", {
|
|
1216
1203
|
role: "none",
|
|
1217
1204
|
className: controlItemClasses
|
|
1218
|
-
}, schemas.length === 0 && /* @__PURE__ */
|
|
1205
|
+
}, schemas.length === 0 && /* @__PURE__ */ React14.createElement("div", {
|
|
1219
1206
|
className: "text-center plb-4"
|
|
1220
|
-
}, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */
|
|
1207
|
+
}, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */ React14.createElement("div", {
|
|
1221
1208
|
key: schema.id
|
|
1222
|
-
}, /* @__PURE__ */
|
|
1209
|
+
}, /* @__PURE__ */ React14.createElement("div", null, schema.typename)))))));
|
|
1223
1210
|
} finally {
|
|
1224
1211
|
_effect.f();
|
|
1225
1212
|
}
|
|
1226
1213
|
};
|
|
1227
1214
|
|
|
1228
1215
|
// src/components/SpacePresence.tsx
|
|
1229
|
-
import { useSignals as
|
|
1216
|
+
import { useSignals as _useSignals15 } from "@preact-signals/safe-react/tracking";
|
|
1230
1217
|
import { Option } from "effect";
|
|
1231
|
-
import
|
|
1218
|
+
import React15, { forwardRef, useCallback as useCallback9, useEffect as useEffect4, useState as useState8 } from "react";
|
|
1232
1219
|
import { useAppGraph as useAppGraph2, useCapability } from "@dxos/app-framework";
|
|
1233
1220
|
import { generateName } from "@dxos/display-name";
|
|
1234
1221
|
import { PublicKey, useClient as useClient5 } from "@dxos/react-client";
|
|
1235
1222
|
import { getSpace as getSpace3, useMembers, fullyQualifiedId as fullyQualifiedId3 } from "@dxos/react-client/echo";
|
|
1236
1223
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
1237
|
-
import { Avatar, Tooltip as Tooltip2, Popover as Popover2, useTranslation as
|
|
1224
|
+
import { Avatar, Tooltip as Tooltip2, Popover as Popover2, useTranslation as useTranslation14, List, ListItem, useDefaultValue } from "@dxos/react-ui";
|
|
1238
1225
|
import { AttentionGlyph, useAttended, useAttention } from "@dxos/react-ui-attention";
|
|
1239
1226
|
import { ComplexMap, keyToFallback } from "@dxos/util";
|
|
1240
1227
|
var REFRESH_INTERVAL = 5e3;
|
|
@@ -1242,7 +1229,7 @@ var ACTIVITY_DURATION = 3e4;
|
|
|
1242
1229
|
var noViewers = new ComplexMap(PublicKey.hash);
|
|
1243
1230
|
var getName = (identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());
|
|
1244
1231
|
var SpacePresence = ({ object, spaceKey }) => {
|
|
1245
|
-
var _effect =
|
|
1232
|
+
var _effect = _useSignals15();
|
|
1246
1233
|
try {
|
|
1247
1234
|
const spaceState = useCapability(SpaceCapabilities.MutableState);
|
|
1248
1235
|
const client = useClient5();
|
|
@@ -1272,7 +1259,7 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
1272
1259
|
lastSeen
|
|
1273
1260
|
};
|
|
1274
1261
|
}).toSorted((a, b) => a.lastSeen - b.lastSeen);
|
|
1275
|
-
return /* @__PURE__ */
|
|
1262
|
+
return /* @__PURE__ */ React15.createElement(FullPresence, {
|
|
1276
1263
|
members: membersForObject
|
|
1277
1264
|
});
|
|
1278
1265
|
} finally {
|
|
@@ -1280,46 +1267,46 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
1280
1267
|
}
|
|
1281
1268
|
};
|
|
1282
1269
|
var FullPresence = (props) => {
|
|
1283
|
-
var _effect =
|
|
1270
|
+
var _effect = _useSignals15();
|
|
1284
1271
|
try {
|
|
1285
1272
|
const { size = 9, onMemberClick } = props;
|
|
1286
1273
|
const members = useDefaultValue(props.members, () => []);
|
|
1287
1274
|
if (members.length === 0) {
|
|
1288
1275
|
return null;
|
|
1289
1276
|
}
|
|
1290
|
-
return /* @__PURE__ */
|
|
1277
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
1291
1278
|
className: "dx-avatar-group",
|
|
1292
1279
|
"data-testid": "spacePlugin.presence"
|
|
1293
|
-
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */
|
|
1280
|
+
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React15.createElement(Tooltip2.Trigger, {
|
|
1294
1281
|
key: member.identity.identityKey.toHex(),
|
|
1295
1282
|
side: "bottom",
|
|
1296
1283
|
content: getName(member.identity),
|
|
1297
1284
|
className: "grid focus:outline-none"
|
|
1298
|
-
}, /* @__PURE__ */
|
|
1285
|
+
}, /* @__PURE__ */ React15.createElement(PresenceAvatar, {
|
|
1299
1286
|
identity: member.identity,
|
|
1300
1287
|
match: member.currentlyAttended,
|
|
1301
1288
|
index: members.length - i,
|
|
1302
1289
|
onClick: () => onMemberClick?.(member),
|
|
1303
1290
|
size
|
|
1304
|
-
}))), members.length > 3 && /* @__PURE__ */
|
|
1291
|
+
}))), members.length > 3 && /* @__PURE__ */ React15.createElement(Popover2.Root, null, /* @__PURE__ */ React15.createElement(Popover2.Trigger, {
|
|
1305
1292
|
className: "grid focus:outline-none"
|
|
1306
|
-
}, /* @__PURE__ */
|
|
1293
|
+
}, /* @__PURE__ */ React15.createElement(Avatar.Root, null, /* @__PURE__ */ React15.createElement(Avatar.Content, {
|
|
1307
1294
|
status: "inactive",
|
|
1308
1295
|
style: {
|
|
1309
1296
|
zIndex: members.length - 4
|
|
1310
1297
|
},
|
|
1311
1298
|
fallback: `+${members.length - 3}`,
|
|
1312
1299
|
size
|
|
1313
|
-
}))), /* @__PURE__ */
|
|
1300
|
+
}))), /* @__PURE__ */ React15.createElement(Popover2.Portal, null, /* @__PURE__ */ React15.createElement(Popover2.Content, {
|
|
1314
1301
|
side: "bottom"
|
|
1315
|
-
}, /* @__PURE__ */
|
|
1302
|
+
}, /* @__PURE__ */ React15.createElement(Popover2.Arrow, null), /* @__PURE__ */ React15.createElement(Popover2.Viewport, {
|
|
1316
1303
|
classNames: "max-bs-56"
|
|
1317
|
-
}, /* @__PURE__ */
|
|
1304
|
+
}, /* @__PURE__ */ React15.createElement(List, null, members.map((member) => /* @__PURE__ */ React15.createElement(ListItem.Root, {
|
|
1318
1305
|
key: member.identity.identityKey.toHex(),
|
|
1319
1306
|
classNames: "flex gap-2 items-center cursor-pointer mbe-2",
|
|
1320
1307
|
onClick: () => onMemberClick?.(member),
|
|
1321
1308
|
"data-testid": "identity-list-item"
|
|
1322
|
-
}, /* @__PURE__ */
|
|
1309
|
+
}, /* @__PURE__ */ React15.createElement(PresenceAvatar, {
|
|
1323
1310
|
identity: member.identity,
|
|
1324
1311
|
size,
|
|
1325
1312
|
showName: true,
|
|
@@ -1330,11 +1317,11 @@ var FullPresence = (props) => {
|
|
|
1330
1317
|
}
|
|
1331
1318
|
};
|
|
1332
1319
|
var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, index, onClick, size }, forwardedRef) => {
|
|
1333
|
-
var _effect =
|
|
1320
|
+
var _effect = _useSignals15();
|
|
1334
1321
|
try {
|
|
1335
1322
|
const status = match ? "current" : "active";
|
|
1336
1323
|
const fallbackValue = keyToFallback(identity.identityKey);
|
|
1337
|
-
return /* @__PURE__ */
|
|
1324
|
+
return /* @__PURE__ */ React15.createElement(Avatar.Root, null, /* @__PURE__ */ React15.createElement(Avatar.Content, {
|
|
1338
1325
|
status,
|
|
1339
1326
|
hue: identity.profile?.data?.hue || fallbackValue.hue,
|
|
1340
1327
|
"data-testid": "spacePlugin.presence.member",
|
|
@@ -1348,7 +1335,7 @@ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, in
|
|
|
1348
1335
|
onClick,
|
|
1349
1336
|
fallback: identity.profile?.data?.emoji || fallbackValue.emoji,
|
|
1350
1337
|
ref: forwardedRef
|
|
1351
|
-
}), /* @__PURE__ */
|
|
1338
|
+
}), /* @__PURE__ */ React15.createElement(Avatar.Label, {
|
|
1352
1339
|
classNames: showName ? "text-sm truncate pli-2" : "sr-only"
|
|
1353
1340
|
}, getName(identity)));
|
|
1354
1341
|
} finally {
|
|
@@ -1356,7 +1343,7 @@ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, in
|
|
|
1356
1343
|
}
|
|
1357
1344
|
});
|
|
1358
1345
|
var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
1359
|
-
var _effect =
|
|
1346
|
+
var _effect = _useSignals15();
|
|
1360
1347
|
try {
|
|
1361
1348
|
const { hasAttention, isAncestor, isRelated } = useAttention(id);
|
|
1362
1349
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
@@ -1381,7 +1368,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1381
1368
|
}, [
|
|
1382
1369
|
viewers
|
|
1383
1370
|
]);
|
|
1384
|
-
return /* @__PURE__ */
|
|
1371
|
+
return /* @__PURE__ */ React15.createElement(SmallPresence, {
|
|
1385
1372
|
count: activeViewers.length,
|
|
1386
1373
|
attended: isAttended,
|
|
1387
1374
|
containsAttended
|
|
@@ -1391,16 +1378,16 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1391
1378
|
}
|
|
1392
1379
|
};
|
|
1393
1380
|
var SmallPresence = ({ count = 0, attended, containsAttended }) => {
|
|
1394
|
-
var _effect =
|
|
1381
|
+
var _effect = _useSignals15();
|
|
1395
1382
|
try {
|
|
1396
|
-
const { t } =
|
|
1397
|
-
return /* @__PURE__ */
|
|
1383
|
+
const { t } = useTranslation14(SPACE_PLUGIN);
|
|
1384
|
+
return /* @__PURE__ */ React15.createElement(Tooltip2.Trigger, {
|
|
1398
1385
|
asChild: true,
|
|
1399
1386
|
content: t("presence label", {
|
|
1400
1387
|
count
|
|
1401
1388
|
}),
|
|
1402
1389
|
side: "bottom"
|
|
1403
|
-
}, /* @__PURE__ */
|
|
1390
|
+
}, /* @__PURE__ */ React15.createElement(AttentionGlyph, {
|
|
1404
1391
|
attended,
|
|
1405
1392
|
containsAttended,
|
|
1406
1393
|
presence: count > 1 ? "many" : count === 1 ? "one" : "none",
|
|
@@ -1412,45 +1399,45 @@ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
|
|
|
1412
1399
|
};
|
|
1413
1400
|
|
|
1414
1401
|
// src/components/SpacePluginSettings.tsx
|
|
1415
|
-
import { useSignals as
|
|
1416
|
-
import
|
|
1402
|
+
import { useSignals as _useSignals16 } from "@preact-signals/safe-react/tracking";
|
|
1403
|
+
import React16 from "react";
|
|
1417
1404
|
import { createIntent as createIntent8, useIntentDispatcher as useIntentDispatcher8 } from "@dxos/app-framework";
|
|
1418
1405
|
import { useClient as useClient6 } from "@dxos/react-client";
|
|
1419
1406
|
import { useSpaces as useSpaces2 } from "@dxos/react-client/echo";
|
|
1420
|
-
import { Input as Input5, toLocalizedString as toLocalizedString3, useTranslation as
|
|
1407
|
+
import { Input as Input5, toLocalizedString as toLocalizedString3, useTranslation as useTranslation15, List as List2, ListItem as ListItem2, IconButton } from "@dxos/react-ui";
|
|
1421
1408
|
import { controlItemClasses as controlItemClasses2, ControlPage as ControlPage3, ControlSection as ControlSection3, DeprecatedFormInput } from "@dxos/react-ui-form";
|
|
1422
1409
|
var SpacePluginSettings = ({ settings }) => {
|
|
1423
|
-
var _effect =
|
|
1410
|
+
var _effect = _useSignals16();
|
|
1424
1411
|
try {
|
|
1425
|
-
const { t } =
|
|
1412
|
+
const { t } = useTranslation15(SPACE_PLUGIN);
|
|
1426
1413
|
const client = useClient6();
|
|
1427
1414
|
const spaces = useSpaces2({
|
|
1428
1415
|
all: settings.showHidden
|
|
1429
1416
|
});
|
|
1430
1417
|
const { dispatchPromise: dispatch } = useIntentDispatcher8();
|
|
1431
|
-
return /* @__PURE__ */
|
|
1418
|
+
return /* @__PURE__ */ React16.createElement(ControlPage3, null, /* @__PURE__ */ React16.createElement(ControlSection3, {
|
|
1432
1419
|
title: t("space settings label"),
|
|
1433
1420
|
description: t("space settings description")
|
|
1434
|
-
}, /* @__PURE__ */
|
|
1421
|
+
}, /* @__PURE__ */ React16.createElement("div", {
|
|
1435
1422
|
className: "pli-trimMd container-max-width"
|
|
1436
|
-
}, /* @__PURE__ */
|
|
1423
|
+
}, /* @__PURE__ */ React16.createElement(DeprecatedFormInput, {
|
|
1437
1424
|
label: t("show hidden spaces label")
|
|
1438
|
-
}, /* @__PURE__ */
|
|
1425
|
+
}, /* @__PURE__ */ React16.createElement(Input5.Switch, {
|
|
1439
1426
|
checked: settings.showHidden,
|
|
1440
1427
|
onCheckedChange: (checked) => settings.showHidden = !!checked
|
|
1441
|
-
}))), /* @__PURE__ */
|
|
1428
|
+
}))), /* @__PURE__ */ React16.createElement(List2, {
|
|
1442
1429
|
classNames: [
|
|
1443
1430
|
controlItemClasses2,
|
|
1444
1431
|
"flex flex-col gap-trimSm"
|
|
1445
1432
|
]
|
|
1446
|
-
}, spaces.map((space) => /* @__PURE__ */
|
|
1433
|
+
}, spaces.map((space) => /* @__PURE__ */ React16.createElement(ListItem2.Root, {
|
|
1447
1434
|
key: space.id,
|
|
1448
1435
|
classNames: "is-full items-center"
|
|
1449
|
-
}, /* @__PURE__ */
|
|
1436
|
+
}, /* @__PURE__ */ React16.createElement(ListItem2.Heading, {
|
|
1450
1437
|
classNames: "grow truncate !min-bs-0"
|
|
1451
1438
|
}, toLocalizedString3(getSpaceDisplayName(space, {
|
|
1452
1439
|
personal: space === client.spaces.default
|
|
1453
|
-
}), t)), /* @__PURE__ */
|
|
1440
|
+
}), t)), /* @__PURE__ */ React16.createElement(IconButton, {
|
|
1454
1441
|
icon: "ph--faders--regular",
|
|
1455
1442
|
onClick: () => dispatch(createIntent8(SpaceAction.OpenSettings, {
|
|
1456
1443
|
space
|
|
@@ -1463,15 +1450,15 @@ var SpacePluginSettings = ({ settings }) => {
|
|
|
1463
1450
|
};
|
|
1464
1451
|
|
|
1465
1452
|
// src/components/SpaceSettings/SpaceSettingsContainer.tsx
|
|
1466
|
-
import { useSignals as
|
|
1453
|
+
import { useSignals as _useSignals17 } from "@preact-signals/safe-react/tracking";
|
|
1467
1454
|
import { pipe as pipe2, Schema } from "effect";
|
|
1468
|
-
import
|
|
1455
|
+
import React17, { useCallback as useCallback10, useMemo as useMemo3, useState as useState9 } from "react";
|
|
1469
1456
|
import { chain as chain2, createIntent as createIntent9, LayoutAction as LayoutAction7, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
|
|
1470
1457
|
import { log as log3 } from "@dxos/log";
|
|
1471
1458
|
import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1472
1459
|
import { useClient as useClient7 } from "@dxos/react-client";
|
|
1473
1460
|
import { SpaceState as SpaceState2 } from "@dxos/react-client/echo";
|
|
1474
|
-
import { Button as Button7, Input as Input6, useMulticastObservable, useTranslation as
|
|
1461
|
+
import { Button as Button7, Input as Input6, useMulticastObservable, useTranslation as useTranslation16 } from "@dxos/react-ui";
|
|
1475
1462
|
import { Form as Form3, ControlItem, ControlItemInput as ControlItemInput2, ControlSection as ControlSection4, ControlPage as ControlPage4 } from "@dxos/react-ui-form";
|
|
1476
1463
|
import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
|
|
1477
1464
|
import { StackItem as StackItem4 } from "@dxos/react-ui-stack";
|
|
@@ -1482,9 +1469,9 @@ var FormSchema = SpaceForm.pipe(Schema.extend(Schema.Struct({
|
|
|
1482
1469
|
})
|
|
1483
1470
|
})));
|
|
1484
1471
|
var SpaceSettingsContainer = ({ space }) => {
|
|
1485
|
-
var _effect =
|
|
1472
|
+
var _effect = _useSignals17();
|
|
1486
1473
|
try {
|
|
1487
|
-
const { t } =
|
|
1474
|
+
const { t } = useTranslation16(SPACE_PLUGIN);
|
|
1488
1475
|
const { dispatchPromise: dispatch } = useIntentDispatcher9();
|
|
1489
1476
|
const client = useClient7();
|
|
1490
1477
|
const archived = useMulticastObservable(space.state) === SpaceState2.SPACE_INACTIVE;
|
|
@@ -1550,10 +1537,10 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1550
1537
|
onValueChange,
|
|
1551
1538
|
type
|
|
1552
1539
|
]);
|
|
1553
|
-
return /* @__PURE__ */
|
|
1540
|
+
return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
|
|
1554
1541
|
title: label,
|
|
1555
1542
|
description: t("display name description")
|
|
1556
|
-
}, /* @__PURE__ */
|
|
1543
|
+
}, /* @__PURE__ */ React17.createElement(Input6.TextInput, {
|
|
1557
1544
|
value: getValue(),
|
|
1558
1545
|
onChange: handleChange,
|
|
1559
1546
|
placeholder: t("display name input placeholder"),
|
|
@@ -1569,10 +1556,10 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1569
1556
|
onValueChange,
|
|
1570
1557
|
type
|
|
1571
1558
|
]);
|
|
1572
|
-
return /* @__PURE__ */
|
|
1559
|
+
return /* @__PURE__ */ React17.createElement(ControlItem, {
|
|
1573
1560
|
title: label,
|
|
1574
1561
|
description: t("icon description")
|
|
1575
|
-
}, /* @__PURE__ */
|
|
1562
|
+
}, /* @__PURE__ */ React17.createElement(IconPicker, {
|
|
1576
1563
|
value: getValue(),
|
|
1577
1564
|
onChange: handleChange,
|
|
1578
1565
|
onReset: handleEmojiReset,
|
|
@@ -1589,10 +1576,10 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1589
1576
|
onValueChange,
|
|
1590
1577
|
type
|
|
1591
1578
|
]);
|
|
1592
|
-
return /* @__PURE__ */
|
|
1579
|
+
return /* @__PURE__ */ React17.createElement(ControlItem, {
|
|
1593
1580
|
title: label,
|
|
1594
1581
|
description: t("hue description")
|
|
1595
|
-
}, /* @__PURE__ */
|
|
1582
|
+
}, /* @__PURE__ */ React17.createElement(HuePicker, {
|
|
1596
1583
|
value: getValue(),
|
|
1597
1584
|
onChange: handleChange,
|
|
1598
1585
|
onReset: handleHueReset,
|
|
@@ -1604,10 +1591,10 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1604
1591
|
onValueChange,
|
|
1605
1592
|
type
|
|
1606
1593
|
]);
|
|
1607
|
-
return /* @__PURE__ */
|
|
1594
|
+
return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
|
|
1608
1595
|
title: label,
|
|
1609
1596
|
description: t("edge replication description")
|
|
1610
|
-
}, /* @__PURE__ */
|
|
1597
|
+
}, /* @__PURE__ */ React17.createElement(Input6.Switch, {
|
|
1611
1598
|
checked: getValue(),
|
|
1612
1599
|
onCheckedChange: handleChange,
|
|
1613
1600
|
classNames: "justify-self-end"
|
|
@@ -1619,10 +1606,10 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1619
1606
|
type,
|
|
1620
1607
|
getValue
|
|
1621
1608
|
]);
|
|
1622
|
-
return /* @__PURE__ */
|
|
1609
|
+
return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
|
|
1623
1610
|
title: label,
|
|
1624
1611
|
description: t("archive space description")
|
|
1625
|
-
}, /* @__PURE__ */
|
|
1612
|
+
}, /* @__PURE__ */ React17.createElement(Button7, {
|
|
1626
1613
|
disabled: space === client.spaces.default,
|
|
1627
1614
|
onClick: handleChange
|
|
1628
1615
|
}, getValue() ? t("unarchive space label") : t("archive space label")));
|
|
@@ -1631,16 +1618,16 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1631
1618
|
t,
|
|
1632
1619
|
space
|
|
1633
1620
|
]);
|
|
1634
|
-
return /* @__PURE__ */
|
|
1621
|
+
return /* @__PURE__ */ React17.createElement(StackItem4.Content, {
|
|
1635
1622
|
classNames: "block overflow-y-auto pli-2"
|
|
1636
|
-
}, /* @__PURE__ */
|
|
1623
|
+
}, /* @__PURE__ */ React17.createElement(ControlPage4, null, /* @__PURE__ */ React17.createElement(ControlSection4, {
|
|
1637
1624
|
title: t("space properties settings verbose label", {
|
|
1638
1625
|
ns: SPACE_PLUGIN
|
|
1639
1626
|
}),
|
|
1640
1627
|
description: t("space properties settings description", {
|
|
1641
1628
|
ns: SPACE_PLUGIN
|
|
1642
1629
|
})
|
|
1643
|
-
}, /* @__PURE__ */
|
|
1630
|
+
}, /* @__PURE__ */ React17.createElement(Form3, {
|
|
1644
1631
|
schema: FormSchema,
|
|
1645
1632
|
values,
|
|
1646
1633
|
autoSave: true,
|
|
@@ -1655,15 +1642,15 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1655
1642
|
};
|
|
1656
1643
|
|
|
1657
1644
|
// src/components/SyncStatus/InlineSyncStatus.tsx
|
|
1658
|
-
import { useSignals as
|
|
1645
|
+
import { useSignals as _useSignals18 } from "@preact-signals/safe-react/tracking";
|
|
1659
1646
|
import { Option as Option2 } from "effect";
|
|
1660
|
-
import
|
|
1647
|
+
import React18, { useEffect as useEffect5, useState as useState10 } from "react";
|
|
1661
1648
|
import { useAppGraph as useAppGraph3 } from "@dxos/app-framework";
|
|
1662
1649
|
import { EdgeStatus } from "@dxos/protocols/proto/dxos/client/services";
|
|
1663
1650
|
import { EdgeReplicationSetting as EdgeReplicationSetting2 } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1664
1651
|
import { useClient as useClient8 } from "@dxos/react-client";
|
|
1665
1652
|
import { useSpaceSyncState } from "@dxos/react-client/echo";
|
|
1666
|
-
import { Tooltip as Tooltip3, useTranslation as
|
|
1653
|
+
import { Tooltip as Tooltip3, useTranslation as useTranslation17 } from "@dxos/react-ui";
|
|
1667
1654
|
import { AttentionGlyph as AttentionGlyph2, useAttended as useAttended2, useAttention as useAttention2 } from "@dxos/react-ui-attention";
|
|
1668
1655
|
var useEdgeStatus = () => {
|
|
1669
1656
|
const [status, setStatus] = useState10(EdgeStatus.NOT_CONNECTED);
|
|
@@ -1678,9 +1665,9 @@ var useEdgeStatus = () => {
|
|
|
1678
1665
|
return status;
|
|
1679
1666
|
};
|
|
1680
1667
|
var InlineSyncStatus = ({ space, open }) => {
|
|
1681
|
-
var _effect =
|
|
1668
|
+
var _effect = _useSignals18();
|
|
1682
1669
|
try {
|
|
1683
|
-
const { t } =
|
|
1670
|
+
const { t } = useTranslation17(SPACE_PLUGIN);
|
|
1684
1671
|
const id = space.id;
|
|
1685
1672
|
const { hasAttention, isAncestor, isRelated } = useAttention2(id);
|
|
1686
1673
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
@@ -1693,11 +1680,11 @@ var InlineSyncStatus = ({ space, open }) => {
|
|
|
1693
1680
|
const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting2.ENABLED;
|
|
1694
1681
|
const syncState = useSpaceSyncState(space);
|
|
1695
1682
|
const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
|
|
1696
|
-
return /* @__PURE__ */
|
|
1683
|
+
return /* @__PURE__ */ React18.createElement(Tooltip3.Trigger, {
|
|
1697
1684
|
asChild: true,
|
|
1698
1685
|
content: t("syncing label"),
|
|
1699
1686
|
side: "bottom"
|
|
1700
|
-
}, /* @__PURE__ */
|
|
1687
|
+
}, /* @__PURE__ */ React18.createElement(AttentionGlyph2, {
|
|
1701
1688
|
syncing,
|
|
1702
1689
|
attended: isAttended,
|
|
1703
1690
|
containsAttended,
|
|
@@ -1709,12 +1696,12 @@ var InlineSyncStatus = ({ space, open }) => {
|
|
|
1709
1696
|
};
|
|
1710
1697
|
|
|
1711
1698
|
// src/components/SyncStatus/SyncStatus.tsx
|
|
1712
|
-
import { useSignals as
|
|
1713
|
-
import
|
|
1699
|
+
import { useSignals as _useSignals19 } from "@preact-signals/safe-react/tracking";
|
|
1700
|
+
import React19, { useEffect as useEffect6, useState as useState11 } from "react";
|
|
1714
1701
|
import { StatusBar } from "@dxos/plugin-status-bar";
|
|
1715
1702
|
import { useClient as useClient9 } from "@dxos/react-client";
|
|
1716
1703
|
import { getSyncSummary, useSyncState } from "@dxos/react-client/echo";
|
|
1717
|
-
import { Icon as
|
|
1704
|
+
import { Icon as Icon8, useTranslation as useTranslation18 } from "@dxos/react-ui";
|
|
1718
1705
|
|
|
1719
1706
|
// src/components/SyncStatus/save-tracker.ts
|
|
1720
1707
|
import { Context } from "@dxos/context";
|
|
@@ -1810,7 +1797,7 @@ var getIcon = (status) => {
|
|
|
1810
1797
|
// src/components/SyncStatus/SyncStatus.tsx
|
|
1811
1798
|
var SYNC_STALLED_TIMEOUT = 5e3;
|
|
1812
1799
|
var SyncStatus = () => {
|
|
1813
|
-
var _effect =
|
|
1800
|
+
var _effect = _useSignals19();
|
|
1814
1801
|
try {
|
|
1815
1802
|
const client = useClient9();
|
|
1816
1803
|
const state = useSyncState();
|
|
@@ -1820,7 +1807,7 @@ var SyncStatus = () => {
|
|
|
1820
1807
|
setSaved(state2 === "saved");
|
|
1821
1808
|
});
|
|
1822
1809
|
}, []);
|
|
1823
|
-
return /* @__PURE__ */
|
|
1810
|
+
return /* @__PURE__ */ React19.createElement(SyncStatusIndicator, {
|
|
1824
1811
|
state,
|
|
1825
1812
|
saved
|
|
1826
1813
|
});
|
|
@@ -1829,9 +1816,9 @@ var SyncStatus = () => {
|
|
|
1829
1816
|
}
|
|
1830
1817
|
};
|
|
1831
1818
|
var SyncStatusIndicator = ({ state, saved }) => {
|
|
1832
|
-
var _effect =
|
|
1819
|
+
var _effect = _useSignals19();
|
|
1833
1820
|
try {
|
|
1834
|
-
const { t } =
|
|
1821
|
+
const { t } = useTranslation18(SPACE_PLUGIN);
|
|
1835
1822
|
const summary = getSyncSummary(state);
|
|
1836
1823
|
const offline = Object.values(state).length === 0;
|
|
1837
1824
|
const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
|
|
@@ -1858,12 +1845,12 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1858
1845
|
needsToDownload
|
|
1859
1846
|
]);
|
|
1860
1847
|
const title = t(`${status} label`);
|
|
1861
|
-
const icon = /* @__PURE__ */
|
|
1848
|
+
const icon = /* @__PURE__ */ React19.createElement(Icon8, {
|
|
1862
1849
|
icon: getIcon(status),
|
|
1863
1850
|
size: 4,
|
|
1864
1851
|
classNames
|
|
1865
1852
|
});
|
|
1866
|
-
return /* @__PURE__ */
|
|
1853
|
+
return /* @__PURE__ */ React19.createElement(StatusBar.Item, {
|
|
1867
1854
|
title
|
|
1868
1855
|
}, icon);
|
|
1869
1856
|
} finally {
|
|
@@ -1871,13 +1858,92 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1871
1858
|
}
|
|
1872
1859
|
};
|
|
1873
1860
|
|
|
1861
|
+
// src/components/ViewEditor.tsx
|
|
1862
|
+
import { useSignals as _useSignals20 } from "@preact-signals/safe-react/tracking";
|
|
1863
|
+
import React20, { useCallback as useCallback11, useMemo as useMemo4 } from "react";
|
|
1864
|
+
import { createIntent as createIntent10, useIntentDispatcher as useIntentDispatcher10 } from "@dxos/app-framework";
|
|
1865
|
+
import { Type as Type3 } from "@dxos/echo";
|
|
1866
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
1867
|
+
import { useClient as useClient10 } from "@dxos/react-client";
|
|
1868
|
+
import { Filter as Filter2, getSpace as getSpace4, useQuery as useQuery3, useSchema } from "@dxos/react-client/echo";
|
|
1869
|
+
import { ViewEditor as NativeViewEditor } from "@dxos/react-ui-form";
|
|
1870
|
+
import { DataType as DataType3 } from "@dxos/schema";
|
|
1871
|
+
var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ViewEditor.tsx";
|
|
1872
|
+
var ViewEditor = ({ view }) => {
|
|
1873
|
+
var _effect = _useSignals20();
|
|
1874
|
+
try {
|
|
1875
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher10();
|
|
1876
|
+
const client = useClient10();
|
|
1877
|
+
const space = getSpace4(view);
|
|
1878
|
+
const schema = useSchema(client, space, view.query.typename);
|
|
1879
|
+
const views = useQuery3(space, Filter2.type(DataType3.View));
|
|
1880
|
+
const currentTypename = useMemo4(() => view.query?.typename, [
|
|
1881
|
+
view.query?.typename
|
|
1882
|
+
]);
|
|
1883
|
+
const handleUpdateTypename = useCallback11((typename) => {
|
|
1884
|
+
invariant2(schema, void 0, {
|
|
1885
|
+
F: __dxlog_file6,
|
|
1886
|
+
L: 30,
|
|
1887
|
+
S: void 0,
|
|
1888
|
+
A: [
|
|
1889
|
+
"schema",
|
|
1890
|
+
""
|
|
1891
|
+
]
|
|
1892
|
+
});
|
|
1893
|
+
invariant2(Type3.isMutable(schema), void 0, {
|
|
1894
|
+
F: __dxlog_file6,
|
|
1895
|
+
L: 31,
|
|
1896
|
+
S: void 0,
|
|
1897
|
+
A: [
|
|
1898
|
+
"Type.isMutable(schema)",
|
|
1899
|
+
""
|
|
1900
|
+
]
|
|
1901
|
+
});
|
|
1902
|
+
const matchingViews = views.filter((view2) => view2.query.typename === currentTypename);
|
|
1903
|
+
for (const view2 of matchingViews) {
|
|
1904
|
+
view2.query.typename = typename;
|
|
1905
|
+
}
|
|
1906
|
+
schema.updateTypename(typename);
|
|
1907
|
+
}, [
|
|
1908
|
+
views,
|
|
1909
|
+
schema
|
|
1910
|
+
]);
|
|
1911
|
+
const handleDelete = useCallback11((fieldId) => {
|
|
1912
|
+
void dispatch(createIntent10(SpaceAction.DeleteField, {
|
|
1913
|
+
view,
|
|
1914
|
+
fieldId
|
|
1915
|
+
}));
|
|
1916
|
+
}, [
|
|
1917
|
+
dispatch,
|
|
1918
|
+
view
|
|
1919
|
+
]);
|
|
1920
|
+
if (!space || !schema) {
|
|
1921
|
+
return null;
|
|
1922
|
+
}
|
|
1923
|
+
return /* @__PURE__ */ React20.createElement(NativeViewEditor, {
|
|
1924
|
+
registry: space.db.schemaRegistry,
|
|
1925
|
+
schema,
|
|
1926
|
+
view,
|
|
1927
|
+
onTypenameChanged: Type3.isMutable(schema) ? handleUpdateTypename : void 0,
|
|
1928
|
+
onDelete: Type3.isMutable(schema) ? handleDelete : void 0,
|
|
1929
|
+
outerSpacing: false
|
|
1930
|
+
});
|
|
1931
|
+
} finally {
|
|
1932
|
+
_effect.f();
|
|
1933
|
+
}
|
|
1934
|
+
};
|
|
1935
|
+
|
|
1936
|
+
// src/components/index.ts
|
|
1937
|
+
import { lazy as lazy2 } from "react";
|
|
1938
|
+
var CollectionMain = lazy2(() => import("./CollectionMain-D2B75XBS.mjs"));
|
|
1939
|
+
var ObjectDetailsPanel = lazy2(() => import("./ObjectDetailsPanel-YPTDQKMG.mjs"));
|
|
1940
|
+
|
|
1874
1941
|
export {
|
|
1875
1942
|
AwaitingObject,
|
|
1876
1943
|
CREATE_OBJECT_DIALOG,
|
|
1877
1944
|
CreateObjectDialog,
|
|
1878
1945
|
CREATE_SPACE_DIALOG,
|
|
1879
1946
|
CreateSpaceDialog,
|
|
1880
|
-
CollectionMain,
|
|
1881
1947
|
CollectionSection,
|
|
1882
1948
|
JOIN_DIALOG,
|
|
1883
1949
|
JoinDialog,
|
|
@@ -1900,6 +1966,9 @@ export {
|
|
|
1900
1966
|
InlineSyncStatus,
|
|
1901
1967
|
SyncStatus,
|
|
1902
1968
|
SyncStatusIndicator,
|
|
1969
|
+
ViewEditor,
|
|
1970
|
+
CollectionMain,
|
|
1971
|
+
ObjectDetailsPanel,
|
|
1903
1972
|
AppGraphBuilder,
|
|
1904
1973
|
AppGraphSerializer,
|
|
1905
1974
|
IdentityCreated,
|
|
@@ -1912,4 +1981,4 @@ export {
|
|
|
1912
1981
|
SpaceState,
|
|
1913
1982
|
SpacesReady
|
|
1914
1983
|
};
|
|
1915
|
-
//# sourceMappingURL=chunk-
|
|
1984
|
+
//# sourceMappingURL=chunk-V7MJSSBQ.mjs.map
|