@dxos/plugin-space 0.8.3 → 0.8.4-main.f9ba587
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-M2RH72VL.mjs → app-graph-builder-PMDF6PJV.mjs} +9 -9
- package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs.map → app-graph-builder-PMDF6PJV.mjs.map} +3 -3
- package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-UKYMBX4O.mjs} +13 -13
- package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-6VLSHG4A.mjs} +10 -10
- package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +7 -0
- package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-C7KGJTAL.mjs} +3 -3
- package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
- package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-GVTXQCIW.mjs} +53 -54
- package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-S6NY637J.mjs} +3 -3
- package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-VLBRSGJ2.mjs} +4 -4
- package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-WBSEOLEM.mjs} +6 -6
- package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +7 -0
- package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-XXIPJLJF.mjs} +3 -3
- package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-23XJJV2N.mjs} +4 -4
- package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +13 -13
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-WK5WYFH3.mjs} +15 -15
- package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-7S6FIC5G.mjs} +8 -8
- package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-6C3YJNDK.mjs} +12 -12
- package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-K3B3OAH4.mjs} +4 -4
- package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs → schema-tools-BNP4JTD7.mjs} +3 -3
- package/dist/lib/browser/{settings-K54STC5A.mjs → settings-XNWYRWNM.mjs} +4 -4
- package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-K7NSNBHM.mjs} +7 -7
- package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-522XTUR4.mjs} +4 -4
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-TO72W6MI.mjs} +9 -9
- package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs.map → app-graph-builder-TO72W6MI.mjs.map} +3 -3
- package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-LA3IZDXJ.mjs} +13 -13
- package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-2THX6G4C.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-72QMMRKC.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-AT7LGFER.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-HJJHLWKY.mjs} +6 -6
- package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-OUBADVJE.mjs} +53 -54
- package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-SSLBYZEY.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-SXD6T2N4.mjs} +10 -10
- package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-IJQO6GCR.mjs} +4 -4
- package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +13 -13
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-HSR27ME4.mjs} +15 -15
- package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-HUK3ANLV.mjs} +8 -8
- package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-AGAWX7DD.mjs} +12 -12
- package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-4MCDG4DV.mjs} +4 -4
- package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs → schema-tools-KWW5PTML.mjs} +3 -3
- package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-YGKHGFPH.mjs} +4 -4
- package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-UM2P3DCR.mjs} +7 -7
- package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-C4IOXPZP.mjs} +4 -4
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts +1 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +151 -410
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +50 -50
- package/src/SpacePlugin.ts +3 -3
- package/src/capabilities/app-graph-builder.ts +1 -2
- package/src/capabilities/app-graph-serializer.ts +6 -6
- package/src/capabilities/identity-created.ts +2 -4
- package/src/capabilities/intent-resolver.ts +5 -5
- package/src/capabilities/react-surface.tsx +3 -3
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +4 -4
- package/src/components/MembersContainer.stories.tsx +4 -4
- package/src/components/MembersContainer.tsx +1 -2
- package/src/components/SpacePresence.stories.tsx +2 -2
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +2 -2
- package/src/components/SyncStatus/SyncStatus.stories.tsx +8 -15
- package/src/components/SyncStatus/save-tracker.ts +3 -3
- package/src/translations.ts +9 -7
- package/src/util.tsx +1 -1
- package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
- package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
- package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
- package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
- package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
- package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
- package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
- package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
- package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
- package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
- package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
- package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
- package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
- package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
- package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
- package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
- package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
- package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
- package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
- package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
- package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
- package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
- package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -278
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
- package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
- package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
- package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
- package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
- package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
- package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
- package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
- package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
- package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
- package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
- package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
- package/dist/lib/node/state-M35DK75Z.cjs +0 -61
- package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -48
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-YMCZR6EZ.mjs.map → chunk-C7KGJTAL.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-TW7O2EPP.mjs.map → chunk-S6NY637J.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-VLBRSGJ2.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-BXNL6SDI.mjs.map → chunk-XXIPJLJF.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-7S6FIC5G.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-defs-WREJNMIC.mjs.map → schema-defs-K3B3OAH4.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs.map → schema-tools-BNP4JTD7.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-XNWYRWNM.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs.map → spaces-ready-K7NSNBHM.mjs.map} +0 -0
- /package/dist/lib/browser/{state-HRZ4VRXU.mjs.map → state-522XTUR4.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs.map → chunk-2THX6G4C.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-3CP67AYY.mjs.map → chunk-72QMMRKC.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-BSLREHIX.mjs.map → chunk-AT7LGFER.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-SSLBYZEY.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-HUK3ANLV.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs.map → schema-defs-4MCDG4DV.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs.map → schema-tools-KWW5PTML.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-YGKHGFPH.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs.map → spaces-ready-UM2P3DCR.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-XQNDCN37.mjs.map → state-C4IOXPZP.mjs.map} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-space",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.4-main.f9ba587",
|
|
4
4
|
"description": "DXOS Surface plugin for DXOS ECHO Spaces",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -33,78 +33,78 @@
|
|
|
33
33
|
"src"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@automerge/automerge": "3.0.0
|
|
36
|
+
"@automerge/automerge": "3.0.0",
|
|
37
37
|
"@preact-signals/safe-react": "^0.9.0",
|
|
38
38
|
"@preact/signals-core": "^1.9.0",
|
|
39
|
-
"effect": "3.
|
|
39
|
+
"effect": "3.16.13",
|
|
40
40
|
"jszip": "^3.10.1",
|
|
41
41
|
"localforage": "^1.10.0",
|
|
42
42
|
"react-drag-drop-files": "^2.3.8",
|
|
43
43
|
"react-is": "~18.2.0",
|
|
44
44
|
"react-qr-rounded": "^1.0.0",
|
|
45
|
-
"@dxos/ai": "0.8.
|
|
46
|
-
"@dxos/app-framework": "0.8.
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/artifact": "0.8.
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/display-name": "0.8.
|
|
52
|
-
"@dxos/echo": "0.8.
|
|
53
|
-
"@dxos/echo-
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/keys": "0.8.
|
|
58
|
-
"@dxos/live-object": "0.8.
|
|
59
|
-
"@dxos/
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/migrations": "0.8.
|
|
62
|
-
"@dxos/plugin-attention": "0.8.
|
|
63
|
-
"@dxos/plugin-
|
|
64
|
-
"@dxos/plugin-
|
|
65
|
-
"@dxos/plugin-graph": "0.8.
|
|
66
|
-
"@dxos/plugin-observability": "0.8.
|
|
67
|
-
"@dxos/plugin-status-bar": "0.8.
|
|
68
|
-
"@dxos/protocols": "0.8.
|
|
69
|
-
"@dxos/react-
|
|
70
|
-
"@dxos/react-ui-
|
|
71
|
-
"@dxos/react-
|
|
72
|
-
"@dxos/react-ui-
|
|
73
|
-
"@dxos/react-ui-list": "0.8.
|
|
74
|
-
"@dxos/react-ui-pickers": "0.8.
|
|
75
|
-
"@dxos/react-ui-
|
|
76
|
-
"@dxos/react-ui-
|
|
77
|
-
"@dxos/react-ui-syntax-highlighter": "0.8.
|
|
78
|
-
"@dxos/react-ui-
|
|
79
|
-
"@dxos/
|
|
80
|
-
"@dxos/schema": "0.8.
|
|
81
|
-
"@dxos/
|
|
82
|
-
"@dxos/util": "0.8.
|
|
45
|
+
"@dxos/ai": "0.8.4-main.f9ba587",
|
|
46
|
+
"@dxos/app-framework": "0.8.4-main.f9ba587",
|
|
47
|
+
"@dxos/async": "0.8.4-main.f9ba587",
|
|
48
|
+
"@dxos/artifact": "0.8.4-main.f9ba587",
|
|
49
|
+
"@dxos/context": "0.8.4-main.f9ba587",
|
|
50
|
+
"@dxos/client": "0.8.4-main.f9ba587",
|
|
51
|
+
"@dxos/display-name": "0.8.4-main.f9ba587",
|
|
52
|
+
"@dxos/echo": "0.8.4-main.f9ba587",
|
|
53
|
+
"@dxos/echo-schema": "0.8.4-main.f9ba587",
|
|
54
|
+
"@dxos/echo-signals": "0.8.4-main.f9ba587",
|
|
55
|
+
"@dxos/effect": "0.8.4-main.f9ba587",
|
|
56
|
+
"@dxos/invariant": "0.8.4-main.f9ba587",
|
|
57
|
+
"@dxos/keys": "0.8.4-main.f9ba587",
|
|
58
|
+
"@dxos/live-object": "0.8.4-main.f9ba587",
|
|
59
|
+
"@dxos/local-storage": "0.8.4-main.f9ba587",
|
|
60
|
+
"@dxos/log": "0.8.4-main.f9ba587",
|
|
61
|
+
"@dxos/migrations": "0.8.4-main.f9ba587",
|
|
62
|
+
"@dxos/plugin-attention": "0.8.4-main.f9ba587",
|
|
63
|
+
"@dxos/plugin-client": "0.8.4-main.f9ba587",
|
|
64
|
+
"@dxos/plugin-deck": "0.8.4-main.f9ba587",
|
|
65
|
+
"@dxos/plugin-graph": "0.8.4-main.f9ba587",
|
|
66
|
+
"@dxos/plugin-observability": "0.8.4-main.f9ba587",
|
|
67
|
+
"@dxos/plugin-status-bar": "0.8.4-main.f9ba587",
|
|
68
|
+
"@dxos/protocols": "0.8.4-main.f9ba587",
|
|
69
|
+
"@dxos/react-client": "0.8.4-main.f9ba587",
|
|
70
|
+
"@dxos/react-ui-attention": "0.8.4-main.f9ba587",
|
|
71
|
+
"@dxos/react-ui-editor": "0.8.4-main.f9ba587",
|
|
72
|
+
"@dxos/react-ui-form": "0.8.4-main.f9ba587",
|
|
73
|
+
"@dxos/react-ui-list": "0.8.4-main.f9ba587",
|
|
74
|
+
"@dxos/react-ui-pickers": "0.8.4-main.f9ba587",
|
|
75
|
+
"@dxos/react-ui-stack": "0.8.4-main.f9ba587",
|
|
76
|
+
"@dxos/react-ui-searchlist": "0.8.4-main.f9ba587",
|
|
77
|
+
"@dxos/react-ui-syntax-highlighter": "0.8.4-main.f9ba587",
|
|
78
|
+
"@dxos/react-ui-theme": "0.8.4-main.f9ba587",
|
|
79
|
+
"@dxos/shell": "0.8.4-main.f9ba587",
|
|
80
|
+
"@dxos/schema": "0.8.4-main.f9ba587",
|
|
81
|
+
"@dxos/react-ui-tabs": "0.8.4-main.f9ba587",
|
|
82
|
+
"@dxos/util": "0.8.4-main.f9ba587"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@babel/core": "^7.18.13",
|
|
86
|
-
"@effect-rx/rx-react": "
|
|
87
|
-
"@effect/platform": "0.
|
|
86
|
+
"@effect-rx/rx-react": "0.38.0",
|
|
87
|
+
"@effect/platform": "0.88.0",
|
|
88
88
|
"@phosphor-icons/react": "^2.1.5",
|
|
89
89
|
"@types/react": "~18.2.0",
|
|
90
90
|
"@types/react-dom": "~18.2.0",
|
|
91
91
|
"react": "~18.2.0",
|
|
92
92
|
"react-dom": "~18.2.0",
|
|
93
93
|
"vite": "5.4.7",
|
|
94
|
-
"@dxos/random": "0.8.
|
|
95
|
-
"@dxos/react-ui": "0.8.
|
|
96
|
-
"@dxos/react-ui-theme": "0.8.
|
|
97
|
-
"@dxos/storybook-utils": "0.8.
|
|
94
|
+
"@dxos/random": "0.8.4-main.f9ba587",
|
|
95
|
+
"@dxos/react-ui": "0.8.4-main.f9ba587",
|
|
96
|
+
"@dxos/react-ui-theme": "0.8.4-main.f9ba587",
|
|
97
|
+
"@dxos/storybook-utils": "0.8.4-main.f9ba587"
|
|
98
98
|
},
|
|
99
99
|
"peerDependencies": {
|
|
100
100
|
"@effect-rx/rx-react": "^0.34.1",
|
|
101
|
-
"@effect/platform": "0.80.12",
|
|
101
|
+
"@effect/platform": "^0.80.12",
|
|
102
102
|
"@phosphor-icons/react": "^2.1.5",
|
|
103
103
|
"effect": "^3.13.3",
|
|
104
104
|
"react": "~18.2.0",
|
|
105
105
|
"react-dom": "~18.2.0",
|
|
106
|
-
"@dxos/react-ui
|
|
107
|
-
"@dxos/react-ui": "0.8.
|
|
106
|
+
"@dxos/react-ui": "0.8.4-main.f9ba587",
|
|
107
|
+
"@dxos/react-ui-theme": "0.8.4-main.f9ba587"
|
|
108
108
|
},
|
|
109
109
|
"publishConfig": {
|
|
110
110
|
"access": "public"
|
package/src/SpacePlugin.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { Ref, Type } from '@dxos/echo';
|
|
|
18
18
|
import { AttentionEvents } from '@dxos/plugin-attention';
|
|
19
19
|
import { ClientEvents } from '@dxos/plugin-client';
|
|
20
20
|
import { DataType } from '@dxos/schema';
|
|
21
|
-
import {
|
|
21
|
+
import { translations as shellTranslations } from '@dxos/shell/react';
|
|
22
22
|
|
|
23
23
|
import {
|
|
24
24
|
AppGraphBuilder,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
} from './capabilities';
|
|
37
37
|
import { SpaceEvents } from './events';
|
|
38
38
|
import { meta } from './meta';
|
|
39
|
-
import translations from './translations';
|
|
39
|
+
import { translations } from './translations';
|
|
40
40
|
import { CollectionAction, defineObjectForm } from './types';
|
|
41
41
|
|
|
42
42
|
export type SpacePluginOptions = {
|
|
@@ -85,7 +85,7 @@ export const SpacePlugin = ({
|
|
|
85
85
|
defineModule({
|
|
86
86
|
id: `${meta.id}/module/translations`,
|
|
87
87
|
activatesOn: Events.SetupTranslations,
|
|
88
|
-
activate: () => contributes(Capabilities.Translations, [...translations,
|
|
88
|
+
activate: () => contributes(Capabilities.Translations, [...translations, ...shellTranslations]),
|
|
89
89
|
}),
|
|
90
90
|
defineModule({
|
|
91
91
|
id: `${meta.id}/module/metadata`,
|
|
@@ -322,8 +322,7 @@ export default (context: PluginContext) => {
|
|
|
322
322
|
|
|
323
323
|
const collection = get(
|
|
324
324
|
rxFromSignal(
|
|
325
|
-
() =>
|
|
326
|
-
space.properties[Type.getTypename(DataType.Collection)]?.target as DataType.Collection | undefined,
|
|
325
|
+
() => space.properties[DataType.Collection.typename]?.target as DataType.Collection | undefined,
|
|
327
326
|
),
|
|
328
327
|
);
|
|
329
328
|
if (!collection) {
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Capabilities, contributes, createIntent
|
|
5
|
+
import { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';
|
|
6
6
|
import { isSpace } from '@dxos/client/echo';
|
|
7
7
|
import { Obj, Type } from '@dxos/echo';
|
|
8
8
|
import { DataType } from '@dxos/schema';
|
|
9
9
|
|
|
10
10
|
import { SPACE_PLUGIN } from '../meta';
|
|
11
|
-
import translations from '../translations';
|
|
11
|
+
import { translations } from '../translations';
|
|
12
12
|
import { SPACE_TYPE, SpaceAction } from '../types';
|
|
13
13
|
import { SPACES } from '../util';
|
|
14
14
|
|
|
@@ -23,8 +23,8 @@ export default (context: PluginContext) =>
|
|
|
23
23
|
inputType: SPACES,
|
|
24
24
|
outputType: DIRECTORY_TYPE,
|
|
25
25
|
serialize: (node) => ({
|
|
26
|
-
name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],
|
|
27
|
-
data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],
|
|
26
|
+
name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'] ?? 'Spaces',
|
|
27
|
+
data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'] ?? 'Spaces',
|
|
28
28
|
type: DIRECTORY_TYPE,
|
|
29
29
|
}),
|
|
30
30
|
deserialize: () => {
|
|
@@ -49,8 +49,8 @@ export default (context: PluginContext) =>
|
|
|
49
49
|
inputType: COLLECTION_TYPE,
|
|
50
50
|
outputType: DIRECTORY_TYPE,
|
|
51
51
|
serialize: (node) => ({
|
|
52
|
-
name: node.data.name ?? translations[0]['en-US'][
|
|
53
|
-
data: node.data.name ?? translations[0]['en-US'][
|
|
52
|
+
name: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['object name placeholder'],
|
|
53
|
+
data: node.data.name ?? translations[0]['en-US'][SPACE_PLUGIN]['object name placeholder'],
|
|
54
54
|
type: DIRECTORY_TYPE,
|
|
55
55
|
}),
|
|
56
56
|
deserialize: async (data, ancestors) => {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { contributes, type PluginContext, Capabilities } from '@dxos/app-framework';
|
|
6
|
-
import { Obj, Ref
|
|
6
|
+
import { Obj, Ref } from '@dxos/echo';
|
|
7
7
|
import { Migrations } from '@dxos/migrations';
|
|
8
8
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
9
9
|
import { DataType } from '@dxos/schema';
|
|
@@ -16,9 +16,7 @@ export default async (context: PluginContext) => {
|
|
|
16
16
|
await defaultSpace.waitUntilReady();
|
|
17
17
|
|
|
18
18
|
// Create root collection structure.
|
|
19
|
-
defaultSpace.properties[
|
|
20
|
-
Obj.make(DataType.Collection, { objects: [] }),
|
|
21
|
-
);
|
|
19
|
+
defaultSpace.properties[DataType.Collection.typename] = Ref.make(Obj.make(DataType.Collection, { objects: [] }));
|
|
22
20
|
if (Migrations.versionProperty) {
|
|
23
21
|
defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;
|
|
24
22
|
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
createIntent,
|
|
13
13
|
createResolver,
|
|
14
14
|
} from '@dxos/app-framework';
|
|
15
|
-
import { Obj, Ref, Relation, Type } from '@dxos/echo';
|
|
15
|
+
import { Obj, Ref, Relation, type Type } from '@dxos/echo';
|
|
16
16
|
import { invariant } from '@dxos/invariant';
|
|
17
17
|
import { Migrations } from '@dxos/migrations';
|
|
18
18
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
@@ -76,7 +76,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
|
|
|
76
76
|
}
|
|
77
77
|
await space.waitUntilReady();
|
|
78
78
|
const collection = Obj.make(DataType.Collection, { objects: [] });
|
|
79
|
-
space.properties[
|
|
79
|
+
space.properties[DataType.Collection.typename] = Ref.make(collection);
|
|
80
80
|
|
|
81
81
|
if (Migrations.versionProperty) {
|
|
82
82
|
space.properties[Migrations.versionProperty] = Migrations.targetVersion;
|
|
@@ -381,13 +381,13 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
|
|
|
381
381
|
} else if (isSpace(target) && hidden) {
|
|
382
382
|
space.db.add(object);
|
|
383
383
|
} else if (isSpace(target)) {
|
|
384
|
-
const collection = space.properties[
|
|
384
|
+
const collection = space.properties[DataType.Collection.typename]?.target;
|
|
385
385
|
if (Obj.instanceOf(DataType.Collection, collection)) {
|
|
386
386
|
collection.objects.push(Ref.make(object));
|
|
387
387
|
} else {
|
|
388
388
|
// TODO(wittjosiah): Can't add non-echo objects by including in a collection because of types.
|
|
389
389
|
const collection = Obj.make(DataType.Collection, { objects: [Ref.make(object)] });
|
|
390
|
-
space.properties[
|
|
390
|
+
space.properties[DataType.Collection.typename] = Ref.make(collection);
|
|
391
391
|
}
|
|
392
392
|
}
|
|
393
393
|
|
|
@@ -444,7 +444,7 @@ export default ({ context, observability, createInvitationUrl }: IntentResolverO
|
|
|
444
444
|
|
|
445
445
|
if (!undo) {
|
|
446
446
|
const parentCollection: DataType.Collection =
|
|
447
|
-
target ?? space.properties[
|
|
447
|
+
target ?? space.properties[DataType.Collection.typename]?.target;
|
|
448
448
|
const nestedObjectsList = await Promise.all(objects.map((obj) => getNestedObjects(obj, resolve)));
|
|
449
449
|
|
|
450
450
|
const deletionData = {
|
|
@@ -59,7 +59,7 @@ type ReactSurfaceOptions = {
|
|
|
59
59
|
createInvitationUrl: (invitationCode: string) => string;
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
const OMIT = [
|
|
62
|
+
const OMIT = [DataType.Collection.typename, DataType.QueryCollection.typename];
|
|
63
63
|
|
|
64
64
|
export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
|
|
65
65
|
contributes(Capabilities.ReactSurface, [
|
|
@@ -73,7 +73,7 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
|
|
|
73
73
|
<Surface
|
|
74
74
|
data={{
|
|
75
75
|
id: data.subject.id,
|
|
76
|
-
subject: data.subject.properties[
|
|
76
|
+
subject: data.subject.properties[DataType.Collection.typename]?.target,
|
|
77
77
|
}}
|
|
78
78
|
role={role}
|
|
79
79
|
{...rest}
|
|
@@ -328,7 +328,7 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
|
|
|
328
328
|
const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);
|
|
329
329
|
const object = isSpace(data.subject)
|
|
330
330
|
? data.subject.state.get() === SpaceState.SPACE_READY
|
|
331
|
-
? (space?.properties[
|
|
331
|
+
? (space?.properties[DataType.Collection.typename]?.target as DataType.Collection)
|
|
332
332
|
: undefined
|
|
333
333
|
: data.subject;
|
|
334
334
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import '@dxos-theme';
|
|
6
6
|
|
|
7
|
-
import { type Meta, type StoryObj } from '@storybook/react';
|
|
7
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
8
8
|
import React, { useEffect } from 'react';
|
|
9
9
|
|
|
10
10
|
import { Filter, Obj, Type } from '@dxos/echo';
|
|
@@ -12,11 +12,11 @@ import { useQuery, useSpace } from '@dxos/react-client/echo';
|
|
|
12
12
|
import { withClientProvider } from '@dxos/react-client/testing';
|
|
13
13
|
import { Dialog } from '@dxos/react-ui';
|
|
14
14
|
import { DataType } from '@dxos/schema';
|
|
15
|
-
import {
|
|
15
|
+
import { translations as shellTranslations } from '@dxos/shell/react';
|
|
16
16
|
import { withLayout, withTheme } from '@dxos/storybook-utils';
|
|
17
17
|
|
|
18
18
|
import { CreateObjectDialog, type CreateObjectDialogProps } from './CreateObjectDialog';
|
|
19
|
-
import translations from '../../translations';
|
|
19
|
+
import { translations } from '../../translations';
|
|
20
20
|
|
|
21
21
|
const Story = (args: CreateObjectDialogProps) => {
|
|
22
22
|
return (
|
|
@@ -39,7 +39,7 @@ const meta: Meta<typeof CreateObjectDialog> = {
|
|
|
39
39
|
withLayout(),
|
|
40
40
|
],
|
|
41
41
|
parameters: {
|
|
42
|
-
translations: [...translations,
|
|
42
|
+
translations: [...translations, ...shellTranslations],
|
|
43
43
|
},
|
|
44
44
|
args: {},
|
|
45
45
|
};
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import '@dxos-theme';
|
|
6
6
|
|
|
7
|
-
import { type StoryObj, type Meta } from '@storybook/react';
|
|
7
|
+
import { type StoryObj, type Meta } from '@storybook/react-vite';
|
|
8
8
|
|
|
9
9
|
import { withClientProvider } from '@dxos/react-client/testing';
|
|
10
|
-
import {
|
|
10
|
+
import { translations as shellTranslations } from '@dxos/shell/react';
|
|
11
11
|
import { withTheme, withLayout } from '@dxos/storybook-utils';
|
|
12
12
|
|
|
13
13
|
import { MembersContainer } from './MembersContainer';
|
|
14
|
-
import translations from '../translations';
|
|
14
|
+
import { translations } from '../translations';
|
|
15
15
|
|
|
16
16
|
const meta: Meta = {
|
|
17
17
|
title: 'plugins/plugin-space/MembersContainer',
|
|
@@ -19,7 +19,7 @@ const meta: Meta = {
|
|
|
19
19
|
decorators: [withClientProvider({ createIdentity: true, createSpace: true }), withTheme, withLayout()],
|
|
20
20
|
parameters: {
|
|
21
21
|
layout: 'fullscreen',
|
|
22
|
-
translations: [...translations,
|
|
22
|
+
translations: [...translations, ...shellTranslations],
|
|
23
23
|
},
|
|
24
24
|
};
|
|
25
25
|
|
|
@@ -7,7 +7,6 @@ import React, { type Dispatch, type SetStateAction, useCallback, useMemo, useSta
|
|
|
7
7
|
import { QR } from 'react-qr-rounded';
|
|
8
8
|
|
|
9
9
|
import { createIntent, useIntentDispatcher } from '@dxos/app-framework';
|
|
10
|
-
import { Type } from '@dxos/echo';
|
|
11
10
|
import { log } from '@dxos/log';
|
|
12
11
|
import { useConfig } from '@dxos/react-client';
|
|
13
12
|
import { fullyQualifiedId, useSpaceInvitations, type Space } from '@dxos/react-client/echo';
|
|
@@ -67,7 +66,7 @@ export const MembersContainer = ({
|
|
|
67
66
|
};
|
|
68
67
|
|
|
69
68
|
// TODO(wittjosiah): Track which was the most recently viewed object.
|
|
70
|
-
const target = space.properties[
|
|
69
|
+
const target = space.properties[DataType.Collection.typename]?.target?.objects[0]?.target;
|
|
71
70
|
|
|
72
71
|
const locked = space.properties[COMPOSER_SPACE_LOCK];
|
|
73
72
|
const handleChangeLocked = useCallback(() => {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import '@dxos-theme';
|
|
6
6
|
|
|
7
|
-
import { type Meta } from '@storybook/react';
|
|
7
|
+
import { type Meta } from '@storybook/react-vite';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
|
|
10
10
|
import { IdentityDid, PublicKey } from '@dxos/keys';
|
|
@@ -12,7 +12,7 @@ import { HaloSpaceMember, SpaceMember } from '@dxos/react-client/echo';
|
|
|
12
12
|
import { withLayout, withTheme } from '@dxos/storybook-utils';
|
|
13
13
|
|
|
14
14
|
import { FullPresence, type MemberPresenceProps, SmallPresence, type Member } from './SpacePresence';
|
|
15
|
-
import translations from '../translations';
|
|
15
|
+
import { translations } from '../translations';
|
|
16
16
|
|
|
17
17
|
const nViewers = (n: number, currentlyAttended = true): Member[] =>
|
|
18
18
|
Array.from({ length: n }, () => ({
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import '@dxos-theme';
|
|
6
6
|
|
|
7
|
-
import { type Meta, type StoryObj } from '@storybook/react';
|
|
7
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
|
|
10
10
|
import { useClientProvider, withClientProvider } from '@dxos/react-client/testing';
|
|
11
11
|
import { withTheme } from '@dxos/storybook-utils';
|
|
12
12
|
|
|
13
13
|
import { SpaceSettingsContainer, type SpaceSettingsContainerProps } from './SpaceSettingsContainer';
|
|
14
|
-
import translations from '../../translations';
|
|
14
|
+
import { translations } from '../../translations';
|
|
15
15
|
|
|
16
16
|
const Story = (args: Partial<SpaceSettingsContainerProps>) => {
|
|
17
17
|
const { space } = useClientProvider();
|
|
@@ -4,28 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
import '@dxos-theme';
|
|
6
6
|
|
|
7
|
-
import { type Meta, type StoryObj } from '@storybook/react';
|
|
8
|
-
import React from 'react';
|
|
7
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
9
8
|
|
|
10
|
-
import { withTheme
|
|
9
|
+
import { withTheme } from '@dxos/storybook-utils';
|
|
11
10
|
|
|
12
11
|
import { SyncStatusIndicator } from './SyncStatus';
|
|
13
|
-
import translations from '../../translations';
|
|
14
|
-
|
|
15
|
-
const DefaultStory = (props: any) => {
|
|
16
|
-
return (
|
|
17
|
-
<div className='flex flex-col-reverse p-4'>
|
|
18
|
-
<SyncStatusIndicator {...props} />
|
|
19
|
-
</div>
|
|
20
|
-
);
|
|
21
|
-
};
|
|
12
|
+
import { translations } from '../../translations';
|
|
22
13
|
|
|
23
14
|
const meta: Meta = {
|
|
24
15
|
title: 'plugins/plugin-space/SyncStatusIndicator',
|
|
25
16
|
component: SyncStatusIndicator,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
decorators: [withTheme],
|
|
18
|
+
parameters: {
|
|
19
|
+
translations,
|
|
20
|
+
layout: 'centered',
|
|
21
|
+
},
|
|
29
22
|
};
|
|
30
23
|
|
|
31
24
|
export default meta;
|
|
@@ -46,15 +46,15 @@ const createSpaceSaveTracker = (space: Space, cb: (state: 'saved' | 'saving') =>
|
|
|
46
46
|
|
|
47
47
|
let hasUnsavedChanges = false;
|
|
48
48
|
let lastFlushPromise: Promise<void> | undefined;
|
|
49
|
-
space.
|
|
49
|
+
space.db.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {
|
|
50
50
|
hasUnsavedChanges = unsavedDocuments.length > 0;
|
|
51
51
|
});
|
|
52
|
-
space.
|
|
52
|
+
space.db.saveStateChanged.debounce(500).on(ctx, () => {
|
|
53
53
|
if (hasUnsavedChanges) {
|
|
54
54
|
lastFlushPromise = undefined;
|
|
55
55
|
cb('saving');
|
|
56
56
|
} else {
|
|
57
|
-
const flushPromise = space.
|
|
57
|
+
const flushPromise = space.db.flush();
|
|
58
58
|
lastFlushPromise = flushPromise;
|
|
59
59
|
void flushPromise.then(() => {
|
|
60
60
|
if (lastFlushPromise === flushPromise) {
|
package/src/translations.ts
CHANGED
|
@@ -2,29 +2,30 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { type Resource } from '@dxos/react-ui';
|
|
6
6
|
import { DataType } from '@dxos/schema';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { meta } from './meta';
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// TODO(burdon): Change to single Resource?
|
|
11
|
+
export const translations = [
|
|
11
12
|
{
|
|
12
13
|
'en-US': {
|
|
13
|
-
[
|
|
14
|
+
[DataType.Collection.typename]: {
|
|
14
15
|
'typename label': 'Collection',
|
|
15
16
|
'typename label_zero': 'Collections',
|
|
16
17
|
'typename label_one': 'Collection',
|
|
17
18
|
'typename label_other': 'Collections',
|
|
18
19
|
'object name placeholder': 'New collection',
|
|
19
20
|
},
|
|
20
|
-
[
|
|
21
|
+
[DataType.QueryCollection.typename]: {
|
|
21
22
|
'typename label': 'Smart Collection',
|
|
22
23
|
'typename label_zero': 'Smart Collections',
|
|
23
24
|
'typename label_one': 'Smart Collection',
|
|
24
25
|
'typename label_other': 'Smart Collections',
|
|
25
26
|
'object name placeholder': 'New smart collection',
|
|
26
27
|
},
|
|
27
|
-
[
|
|
28
|
+
[meta.id]: {
|
|
28
29
|
'plugin name': 'Spaces',
|
|
29
30
|
'first run message': 'Nothing selected.',
|
|
30
31
|
'create space label': 'Create space',
|
|
@@ -51,6 +52,7 @@ export default [
|
|
|
51
52
|
'confirm restore title': 'Overwrite files in this space?',
|
|
52
53
|
'confirm restore body': 'Restoring from a backup will overwrite the contents of any documents that match.',
|
|
53
54
|
'upload file message': 'Drag file here or click to browse',
|
|
55
|
+
'object name placeholder': 'Object',
|
|
54
56
|
'object placeholder': 'Type a title here…',
|
|
55
57
|
'personal space label': 'Personal Space',
|
|
56
58
|
'spaces label': 'Spaces',
|
|
@@ -167,4 +169,4 @@ export default [
|
|
|
167
169
|
},
|
|
168
170
|
},
|
|
169
171
|
},
|
|
170
|
-
];
|
|
172
|
+
] as const satisfies Resource[];
|
package/src/util.tsx
CHANGED
|
@@ -190,7 +190,7 @@ export const constructSpaceNode = ({
|
|
|
190
190
|
}) => {
|
|
191
191
|
const hasPendingMigration = checkPendingMigration(space);
|
|
192
192
|
const collection =
|
|
193
|
-
space.state.get() === SpaceState.SPACE_READY && space.properties[
|
|
193
|
+
space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
|
|
194
194
|
const partials =
|
|
195
195
|
space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)
|
|
196
196
|
? getCollectionGraphNodePartials({ collection, space, resolve })
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-serializer.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginContext } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { Obj, Type } from '@dxos/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport translations from '../translations';\nimport { SPACE_TYPE, SpaceAction } from '../types';\nimport { SPACES } from '../util';\n\nconst COLLECTION_TYPE = Type.getTypename(DataType.Collection);\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(createIntent(SpaceAction.Create, { name: data.name, edgeReplication: true }));\n return result.data?.space;\n },\n },\n {\n inputType: COLLECTION_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][COLLECTION_TYPE]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][COLLECTION_TYPE]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ??\n space?.properties[COLLECTION_TYPE]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n createIntent(SpaceAction.AddObject, {\n target: collection,\n object: Obj.make(DataType.Collection, { name: data.name, objects: [] }),\n }),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;AAIA,SAASA,cAAcC,aAAaC,oBAAwC;AAC5E,SAASC,eAAe;AACxB,SAASC,KAAKC,YAAY;AAC1B,SAASC,gBAAgB;AAOzB,IAAMC,kBAAkBC,KAAKC,YAAYC,SAASC,UAAU;AAG5D,IAAMC,iBAAiB;AAEvB,IAAA,+BAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,cAAA;MAC7CC,MAAMF,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,cAAA;MAC7CE,MAAMd;IACR;IACAe,aAAa,MAAA;IAEb;EACF;EACA;IACEV,WAAWW;IACXT,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKI,WAAWP,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,qBAAA;MAC1EC,MAAMJ,KAAKI,KAAKI,WAAWP,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,qBAAA;MAC1EE,MAAMd;IACR;IACAe,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKlB,QAAQmB,cAAcjB,aAAakB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SAASI,aAAaC,YAAYC,QAAQ;QAAEf,MAAMG,KAAKH;QAAMgB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEtB,WAAWV;IACXY,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKH,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAAShB,eAAAA,EAAiB,yBAAA;MAClEkB,MAAMJ,KAAKI,KAAKH,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAAShB,eAAAA,EAAiB,yBAAA;MAClEmB,MAAMd;IACR;IACAe,aAAa,OAAOF,MAAMe,cAAAA;AACxB,YAAMD,QAAQC,UAAUC,KAAKC,OAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaC,IAAIC,WAAWrC,SAASC,YAAYkC,QAAAA,CAAAA,KACrEN,OAAOV,WAAWtB,eAAAA,GAAkByC;AACtC,UAAI,CAACT,SAAS,CAACI,YAAY;AACzB;MACF;AAEA,YAAM,EAAEb,iBAAiBC,SAAQ,IAAKlB,QAAQmB,cAAcjB,aAAakB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACnBI,aAAaC,YAAYa,WAAW;QAClCD,QAAQL;QACRO,QAAQJ,IAAIK,KAAKzC,SAASC,YAAY;UAAEW,MAAMG,KAAKH;UAAM8B,SAAS,CAAA;QAAG,CAAA;MACvE,CAAA,CAAA;AAGF,aAAOlB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "createIntent", "isSpace", "Obj", "Type", "DataType", "COLLECTION_TYPE", "Type", "getTypename", "DataType", "Collection", "DIRECTORY_TYPE", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "SPACE_PLUGIN", "data", "type", "deserialize", "SPACE_TYPE", "properties", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "Obj", "instanceOf", "target", "AddObject", "object", "make", "objects"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [Type.getTypename(DataType.Collection)]: {\n 'typename label': 'Collection',\n 'typename label_zero': 'Collections',\n 'typename label_one': 'Collection',\n 'typename label_other': 'Collections',\n 'object name placeholder': 'New collection',\n },\n [Type.getTypename(DataType.QueryCollection)]: {\n 'typename label': 'Smart Collection',\n 'typename label_zero': 'Smart Collections',\n 'typename label_one': 'Smart Collection',\n 'typename label_other': 'Smart Collections',\n 'object name placeholder': 'New smart collection',\n },\n [SPACE_PLUGIN]: {\n 'plugin name': 'Spaces',\n 'first run message': 'Nothing selected.',\n 'create space label': 'Create space',\n 'join space label': 'Join space',\n 'empty space message': 'No documents',\n 'empty tree message': 'No spaces',\n 'unnamed space label': 'New space',\n 'closed space label': 'Closed',\n 'loading space label': 'Loading space…',\n 'lock space label': 'Lock space',\n 'unlock space label': 'Unlock space',\n 'rename space label': 'Rename space',\n 'active space label': 'Active space:',\n 'space name label': 'Space name',\n 'object name label': 'Item name',\n 'close space label': 'Close space',\n 'open space label': 'Open space',\n 'export data label': 'Export data',\n 'import data label': 'Import data',\n 'migrate space label': 'Migrate space',\n 'share space label': 'Share current space',\n 'save space to disk label': 'Save to disk',\n 'load space from disk label': 'Load from disk',\n 'confirm restore title': 'Overwrite files in this space?',\n 'confirm restore body': 'Restoring from a backup will overwrite the contents of any documents that match.',\n 'upload file message': 'Drag file here or click to browse',\n 'object placeholder': 'Type a title here…',\n 'personal space label': 'Personal Space',\n 'spaces label': 'Spaces',\n 'space settings label': 'Spaces',\n 'space settings description':\n 'Each space has its own settings you can configure, where you can adjust its properties, membership, integrations, and other items specific to that space.',\n 'show hidden spaces label': 'Show archived spaces',\n 'save files to directory label': 'Save files to disk',\n 'select path label': 'Select path',\n 'rename collection label': 'Rename collection',\n 'rename object label': 'Rename item',\n 'duplicate object label': 'Duplicate item',\n 'delete collection label': 'Delete collection',\n 'delete object label': 'Delete item',\n 'collection deleted label': 'Collection deleted',\n 'object deleted label': 'Item deleted',\n 'objects deleted label': 'Items deleted',\n 'go to object label': 'Open item',\n 'found object label': 'Ready.',\n 'found object description': 'The requested item is now available.',\n 'waiting for object label': 'Loading…',\n 'waiting for object description': 'The requested item is still being synchronized.',\n 'object not found label': 'Nothing found.',\n 'object not found description':\n 'The requested item has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'missing object message': 'Item not available.',\n 'missing object description':\n 'The requested item has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'create object in space label': 'Add to space',\n 'create object in collection label': 'Add to collection',\n 'create object in smart collection label': 'Add to smart collection',\n 'space members label': 'Space members',\n 'active space members heading': 'Online ({{count}})',\n 'inactive space members heading': 'Offline ({{count}})',\n 'presence label_zero': 'No other viewers',\n 'presence label_one': '1 other viewer',\n 'presence label_other': '{{count}} other viewers',\n 'persisted locally label': 'Changes saved locally.',\n 'persisted locally message': 'All changes have been saved to disk on this device.',\n 'persistence pending label': 'Saving…',\n 'persistence error label': 'Error saving changes.',\n 'more actions label': 'More actions',\n 'invitations heading': 'Invitations',\n 'keyshortcuts label': 'Keyboard shortcuts',\n 'menu footer label': 'Details',\n 'location label': 'Located in',\n 'space limit label': 'Space Limit Reached',\n 'space limit description':\n 'This space has reached the maximum number of items for the beta. This limit includes deleted items currently, but those can be permanently removed with the cleanup action.',\n 'space limit close label': 'Close',\n 'remove deleted objects label': 'Cleanup',\n 'remove deleted objects alt': 'Permanently remove deleted items to free up space.',\n 'copy link label': 'Copy link',\n 'default on space create label': 'On space create',\n 'sync status title': 'Sync status',\n 'dismiss label': 'Dismiss',\n 'join success label': 'Successfully joined space',\n 'name label': 'Name',\n 'name placeholder': 'Name',\n 'object settings label': 'Details',\n 'edge replication label': 'Enable EDGE Replication',\n 'saving locally label': 'Writing to disk',\n 'downloading label': 'Replicating from peers',\n 'uploading label': 'Replicating to peers',\n 'offline persisted label': 'Saved to disk (offline)',\n 'remote synced label': 'Synced with peers',\n 'syncing label': 'Space syncing',\n 'show all label': 'Show all',\n 'no sync status label': 'No space with missing items.',\n 'create space dialog title': 'Create Space',\n 'create object dialog title': 'Create {{object}}',\n 'space input placeholder': 'Select space',\n 'schema input placeholder': 'Select item type',\n 'creating object type label': 'Type',\n 'creating in space label': 'Location',\n 'creating in collection label': 'In Collection',\n 'clear input label': 'Clear',\n 'expose object label': 'Expose in navtree',\n 'advanced settings label': 'Advanced',\n 'foreign keys': 'Foreign Keys',\n 'add key': 'Add Key',\n 'open space settings label': 'Open settings',\n\n 'members panel label': 'Members',\n 'members verbose label': 'Manage space members',\n 'members description': 'You can view the current status of space members here as well as invite new members.',\n 'members label': 'Members',\n 'invitations label': 'Invitations',\n 'space invitation description': 'Manage invitations to the space.',\n 'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',\n 'locked space description': 'This space is locked, unlock it to invite new members.',\n 'space locked label': 'Lock space',\n 'space locked description': 'Locking a space prevents new members from being invited to the space.',\n\n 'settings panel label': 'Space Settings',\n 'open current space settings label': 'Open current space settings',\n 'space settings properties label': 'General settings',\n 'space properties settings verbose label': 'Manage space properties',\n 'space properties settings description': 'You can configure how this space is displayed in the app here.',\n 'space settings schema label': 'Schema',\n 'schema verbose label': 'Manage schema',\n 'schema description': 'You can manage all of the schema stored within this space here.',\n 'no schemas found message': 'No schemas found',\n 'display name input placeholder': 'Space name',\n 'display name description': 'Name of the space as it appears in the app.',\n 'icon description': 'Icon used to represent the space in the app.',\n 'hue description': 'Color used to represent the space in the app.',\n 'edge replication description':\n \"Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.\",\n 'archive space description':\n 'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',\n 'archive space label': 'Archive',\n 'unarchive space label': 'Unarchive',\n },\n },\n },\n];\n"],
|
|
5
|
-
"mappings": ";;;;;AAIA,SAASA,YAAY;AACrB,SAASC,gBAAgB;AAIzB,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,KAAKC,YAAYC,SAASC,UAAU,CAAA,GAAI;QACvC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;MAC7B;MACA,CAACH,KAAKC,YAAYC,SAASE,eAAe,CAAA,GAAI;QAC5C,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;MAC7B;MACA,CAACC,YAAAA,GAAe;QACd,eAAe;QACf,qBAAqB;QACrB,sBAAsB;QACtB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,uBAAuB;QACvB,qBAAqB;QACrB,4BAA4B;QAC5B,8BAA8B;QAC9B,yBAAyB;QACzB,wBAAwB;QACxB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,gBAAgB;QAChB,wBAAwB;QACxB,8BACE;QACF,4BAA4B;QAC5B,iCAAiC;QACjC,qBAAqB;QACrB,2BAA2B;QAC3B,uBAAuB;QACvB,0BAA0B;QAC1B,2BAA2B;QAC3B,uBAAuB;QACvB,4BAA4B;QAC5B,wBAAwB;QACxB,yBAAyB;QACzB,sBAAsB;QACtB,sBAAsB;QACtB,4BAA4B;QAC5B,4BAA4B;QAC5B,kCAAkC;QAClC,0BAA0B;QAC1B,gCACE;QACF,0BAA0B;QAC1B,8BACE;QACF,gCAAgC;QAChC,qCAAqC;QACrC,2CAA2C;QAC3C,uBAAuB;QACvB,gCAAgC;QAChC,kCAAkC;QAClC,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,6BAA6B;QAC7B,6BAA6B;QAC7B,2BAA2B;QAC3B,sBAAsB;QACtB,uBAAuB;QACvB,sBAAsB;QACtB,qBAAqB;QACrB,kBAAkB;QAClB,qBAAqB;QACrB,2BACE;QACF,2BAA2B;QAC3B,gCAAgC;QAChC,8BAA8B;QAC9B,mBAAmB;QACnB,iCAAiC;QACjC,qBAAqB;QACrB,iBAAiB;QACjB,sBAAsB;QACtB,cAAc;QACd,oBAAoB;QACpB,yBAAyB;QACzB,0BAA0B;QAC1B,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;QACnB,2BAA2B;QAC3B,uBAAuB;QACvB,iBAAiB;QACjB,kBAAkB;QAClB,wBAAwB;QACxB,6BAA6B;QAC7B,8BAA8B;QAC9B,2BAA2B;QAC3B,4BAA4B;QAC5B,8BAA8B;QAC9B,2BAA2B;QAC3B,gCAAgC;QAChC,qBAAqB;QACrB,uBAAuB;QACvB,2BAA2B;QAC3B,gBAAgB;QAChB,WAAW;QACX,6BAA6B;QAE7B,uBAAuB;QACvB,yBAAyB;QACzB,uBAAuB;QACvB,iBAAiB;QACjB,qBAAqB;QACrB,gCAAgC;QAChC,uBAAuB;QACvB,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;QAE5B,wBAAwB;QACxB,qCAAqC;QACrC,mCAAmC;QACnC,2CAA2C;QAC3C,yCAAyC;QACzC,+BAA+B;QAC/B,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,kCAAkC;QAClC,4BAA4B;QAC5B,oBAAoB;QACpB,mBAAmB;QACnB,gCACE;QACF,6BACE;QACF,uBAAuB;QACvB,yBAAyB;MAC3B;IACF;EACF;;",
|
|
6
|
-
"names": ["Type", "DataType", "Type", "getTypename", "DataType", "Collection", "QueryCollection", "SPACE_PLUGIN"]
|
|
7
|
-
}
|