@dxos/plugin-space 0.8.2-main.f11618f → 0.8.2-staging.42af850
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-DCWUULKX.mjs +328 -0
- package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-MLU7XI2P.mjs} +6 -6
- package/dist/lib/browser/app-graph-serializer-MLU7XI2P.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KVRYWFZU.mjs → chunk-3LN4LJN6.mjs} +3 -8
- package/dist/lib/{node-esm/chunk-PIYAWT5N.mjs.map → browser/chunk-3LN4LJN6.mjs.map} +3 -3
- package/dist/lib/browser/chunk-7Y4M7GXO.mjs +94 -0
- package/dist/lib/browser/chunk-7Y4M7GXO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-N5QMRLKI.mjs} +24 -38
- package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +7 -0
- package/dist/lib/browser/chunk-Q4BTFH2P.mjs +1900 -0
- package/dist/lib/browser/chunk-Q4BTFH2P.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-VEBKN45O.mjs} +3 -4
- package/dist/lib/browser/chunk-VEBKN45O.mjs.map +7 -0
- package/dist/lib/browser/chunk-W46VVHFM.mjs +288 -0
- package/dist/lib/browser/chunk-W46VVHFM.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-O63SIYOF.mjs} +3 -3
- package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +27 -26
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-KBF3YU6I.mjs} +33 -35
- package/dist/lib/browser/intent-resolver-KBF3YU6I.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-PVKJE4EZ.mjs} +6 -5
- package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-252P4NCK.mjs} +6 -13
- package/dist/lib/browser/react-surface-252P4NCK.mjs.map +7 -0
- package/dist/lib/browser/schema-defs-JMN74RNK.mjs +26 -0
- package/dist/lib/browser/schema-defs-JMN74RNK.mjs.map +7 -0
- package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-JIEMHUXV.mjs} +26 -26
- package/dist/lib/browser/schema-tools-JIEMHUXV.mjs.map +7 -0
- package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-2IN2WLUK.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-L4QAGTDE.mjs} +18 -17
- package/dist/lib/browser/spaces-ready-L4QAGTDE.mjs.map +7 -0
- package/dist/lib/browser/{state-CYV6QCTN.mjs → state-6HOSHLIN.mjs} +3 -3
- package/dist/lib/browser/state-6HOSHLIN.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -7
- package/dist/lib/node/app-graph-builder-WC445X77.cjs +328 -0
- package/dist/lib/node/app-graph-builder-WC445X77.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-UPQOQVMJ.cjs} +22 -22
- package/dist/lib/node/app-graph-serializer-UPQOQVMJ.cjs.map +7 -0
- package/dist/lib/node/chunk-5WLAXYE3.cjs +125 -0
- package/dist/lib/node/chunk-5WLAXYE3.cjs.map +7 -0
- package/dist/lib/node/{chunk-IKIDS6XF.cjs → chunk-7GQGM4ZF.cjs} +7 -13
- package/dist/lib/node/{chunk-IKIDS6XF.cjs.map → chunk-7GQGM4ZF.cjs.map} +3 -3
- package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-COQYISES.cjs} +46 -61
- package/dist/lib/node/chunk-COQYISES.cjs.map +7 -0
- package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-DXL5TDFP.cjs} +7 -8
- package/dist/lib/node/chunk-DXL5TDFP.cjs.map +7 -0
- package/dist/lib/node/chunk-FXHI7JNY.cjs +315 -0
- package/dist/lib/node/chunk-FXHI7JNY.cjs.map +7 -0
- package/dist/lib/node/chunk-Q3YZEYZT.cjs +1904 -0
- package/dist/lib/node/chunk-Q3YZEYZT.cjs.map +7 -0
- package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-UXEAUGC7.cjs} +7 -7
- package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +7 -0
- package/dist/lib/node/index.cjs +77 -78
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-SVFJKUH7.cjs} +80 -81
- package/dist/lib/node/intent-resolver-SVFJKUH7.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-DDPDUMCG.cjs} +11 -10
- package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-DDPDUMCG.cjs.map} +1 -1
- package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-JUIU37BX.cjs} +44 -49
- package/dist/lib/node/react-surface-JUIU37BX.cjs.map +7 -0
- package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-XLFBG3XK.cjs} +14 -12
- package/dist/lib/node/schema-defs-XLFBG3XK.cjs.map +7 -0
- package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-ZG6Z2QRC.cjs} +32 -32
- package/dist/lib/node/schema-tools-ZG6Z2QRC.cjs.map +7 -0
- package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-FOH7EB5C.cjs} +6 -6
- package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-VXQYCBII.cjs} +26 -25
- package/dist/lib/node/spaces-ready-VXQYCBII.cjs.map +7 -0
- package/dist/lib/node/{state-JLN7TGRR.cjs → state-ZT3MTZXB.cjs} +7 -7
- package/dist/lib/node/state-ZT3MTZXB.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +12 -18
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs +329 -0
- package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-UCMSLPIA.mjs} +6 -6
- package/dist/lib/node-esm/app-graph-serializer-UCMSLPIA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PIYAWT5N.mjs → chunk-4X4Y63ND.mjs} +3 -8
- package/dist/lib/{browser/chunk-KVRYWFZU.mjs.map → node-esm/chunk-4X4Y63ND.mjs.map} +3 -3
- package/dist/lib/node-esm/chunk-FTELJGEG.mjs +289 -0
- package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-GH2FGJXH.mjs +96 -0
- package/dist/lib/node-esm/chunk-GH2FGJXH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HL2Z2GNW.mjs +1901 -0
- package/dist/lib/node-esm/chunk-HL2Z2GNW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-OSPEGYX3.mjs} +3 -4
- package/dist/lib/node-esm/chunk-OSPEGYX3.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-XAZNQ3QN.mjs} +24 -38
- package/dist/lib/node-esm/chunk-XAZNQ3QN.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-ZECO4NH3.mjs} +3 -3
- package/dist/lib/node-esm/identity-created-ZECO4NH3.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +27 -26
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-K2UDBF2R.mjs} +33 -35
- package/dist/lib/node-esm/intent-resolver-K2UDBF2R.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-6F7B3OVO.mjs} +6 -5
- package/dist/lib/{browser/react-root-XKAUZ3X2.mjs.map → node-esm/react-root-6F7B3OVO.mjs.map} +1 -1
- package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-NP3Y6BNZ.mjs} +6 -13
- package/dist/lib/node-esm/react-surface-NP3Y6BNZ.mjs.map +7 -0
- package/dist/lib/node-esm/schema-defs-QZJS6UXN.mjs +27 -0
- package/dist/lib/node-esm/schema-defs-QZJS6UXN.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-2Y4D42PD.mjs} +26 -26
- package/dist/lib/node-esm/schema-tools-2Y4D42PD.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-Q4XDFSYD.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-JHKPD4PH.mjs} +18 -17
- package/dist/lib/node-esm/spaces-ready-JHKPD4PH.mjs.map +7 -0
- package/dist/lib/node-esm/{state-YZPY5T5A.mjs → state-4ATRHSKA.mjs} +3 -3
- package/dist/lib/node-esm/state-4ATRHSKA.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +1 -7
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -8
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts +2 -2
- package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +8 -184
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +4 -0
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
- package/dist/types/src/capabilities/schema-tools.d.ts +3 -3
- package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts +2 -2
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +2 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.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.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts +2 -2
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts +4 -0
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -0
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/usePath.d.ts +3 -2
- package/dist/types/src/hooks/usePath.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -263
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/collection.d.ts +9 -8
- package/dist/types/src/types/collection.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +0 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +161 -160
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +10 -16
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -48
- package/src/SpacePlugin.tsx +8 -7
- package/src/capabilities/app-graph-builder.ts +376 -268
- package/src/capabilities/app-graph-serializer.ts +4 -4
- package/src/capabilities/capabilities.ts +0 -9
- package/src/capabilities/identity-created.ts +3 -3
- package/src/capabilities/index.ts +2 -2
- package/src/capabilities/intent-resolver.ts +22 -29
- package/src/capabilities/react-surface.tsx +15 -23
- package/src/capabilities/schema-defs.ts +30 -0
- package/src/capabilities/schema-tool.test.ts +2 -3
- package/src/capabilities/schema-tools.ts +29 -29
- package/src/capabilities/spaces-ready.ts +15 -13
- package/src/capabilities/state.ts +3 -3
- package/src/components/AwaitingObject.tsx +1 -1
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -2
- package/src/components/CreateDialog/CreateObjectDialog.tsx +1 -1
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
- package/src/components/MembersContainer.stories.tsx +1 -5
- package/src/components/MenuFooter.tsx +2 -2
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -4
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
- package/src/components/PersistenceStatus.tsx +11 -14
- package/src/components/PopoverRenameObject.tsx +1 -1
- package/src/components/PopoverRenameSpace.tsx +1 -1
- package/src/components/SpacePresence.stories.tsx +1 -1
- package/src/components/SpacePresence.tsx +34 -43
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
- package/src/components/SyncStatus/InlineSyncStatus.tsx +10 -17
- package/src/components/index.ts +0 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useActiveSpace.ts +20 -0
- package/src/hooks/useInputSurfaceLookup.tsx +2 -2
- package/src/hooks/usePath.ts +9 -6
- package/src/index.ts +3 -2
- package/src/translations.ts +1 -2
- package/src/types/collection.ts +6 -4
- package/src/types/index.ts +0 -1
- package/src/types/types.ts +119 -112
- package/src/util.tsx +36 -73
- package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs +0 -369
- package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-UUJH7JRN.mjs.map +0 -7
- package/dist/lib/browser/chunk-4226DMDP.mjs +0 -1937
- package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
- package/dist/lib/browser/chunk-DIJ7LMCS.mjs.map +0 -7
- package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
- package/dist/lib/browser/chunk-O7WGQVLQ.mjs +0 -306
- package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
- package/dist/lib/browser/identity-created-NRVE4XLL.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-NP55M7C7.mjs.map +0 -7
- package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
- package/dist/lib/browser/schema-FHTA26SW.mjs +0 -24
- package/dist/lib/browser/schema-FHTA26SW.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-ERNSICUW.mjs.map +0 -7
- package/dist/lib/browser/state-CYV6QCTN.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-LLIV422L.cjs +0 -371
- package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-M6Z2OPA4.cjs.map +0 -7
- package/dist/lib/node/chunk-EQ5BPSQ7.cjs +0 -334
- package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
- package/dist/lib/node/chunk-UOCR4G2D.cjs.map +0 -7
- package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
- package/dist/lib/node/chunk-ZMQO74LX.cjs +0 -1932
- package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
- package/dist/lib/node/identity-created-YDTRMOMX.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-3J52ARFL.cjs.map +0 -7
- package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
- package/dist/lib/node/schema-PPJ5BZ3A.cjs.map +0 -7
- package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-6EBR4SM4.cjs.map +0 -7
- package/dist/lib/node/state-JLN7TGRR.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs +0 -370
- package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-J3B4WSXU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +0 -307
- package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OLISVDCF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PQI4D4SH.mjs +0 -1938
- package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-EC6SVYB5.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-MXQIFIRC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
- package/dist/lib/node-esm/schema-OUZKVYM5.mjs +0 -25
- package/dist/lib/node-esm/schema-OUZKVYM5.mjs.map +0 -7
- package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-5PXESKHX.mjs.map +0 -7
- package/dist/lib/node-esm/state-YZPY5T5A.mjs.map +0 -7
- package/dist/types/src/capabilities/schema.d.ts +0 -4
- package/dist/types/src/capabilities/schema.d.ts.map +0 -1
- package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
- package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
- package/dist/types/src/types/thread.d.ts +0 -352
- package/dist/types/src/types/thread.d.ts.map +0 -1
- package/src/capabilities/schema.ts +0 -27
- package/src/components/PopoverAddSpace.tsx +0 -52
- package/src/types/thread.ts +0 -24
- /package/dist/lib/{node-esm/react-root-ZBCJCEFS.mjs.map → browser/react-root-PVKJE4EZ.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-MVT32NP6.mjs.map → settings-2IN2WLUK.mjs.map} +0 -0
- /package/dist/lib/node/{settings-JLV7YT6Q.cjs.map → settings-FOH7EB5C.cjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-AILIMHTE.mjs.map → settings-Q4XDFSYD.mjs.map} +0 -0
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
import { Planet } from '@phosphor-icons/react';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import { type
|
|
8
|
+
import { type AnyLiveObject, getSpace } from '@dxos/client/echo';
|
|
9
9
|
import { useClient } from '@dxos/react-client';
|
|
10
10
|
import { DropdownMenu, toLocalizedString, useTranslation } from '@dxos/react-ui';
|
|
11
11
|
|
|
12
12
|
import { SPACE_PLUGIN } from '../meta';
|
|
13
13
|
import { getSpaceDisplayName } from '../util';
|
|
14
14
|
|
|
15
|
-
export const MenuFooter = ({ object }: { object:
|
|
15
|
+
export const MenuFooter = ({ object }: { object: AnyLiveObject<any> }) => {
|
|
16
16
|
const { t } = useTranslation(SPACE_PLUGIN);
|
|
17
17
|
const client = useClient();
|
|
18
18
|
const space = getSpace(object);
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import React, { useCallback, useState } from 'react';
|
|
6
6
|
|
|
7
|
-
import {
|
|
8
|
-
import { getMeta, type
|
|
7
|
+
import { ForeignKey } from '@dxos/echo-schema';
|
|
8
|
+
import { getMeta, type AnyLiveObject } from '@dxos/react-client/echo';
|
|
9
9
|
import { IconButton, useTranslation } from '@dxos/react-ui';
|
|
10
10
|
import { Form } from '@dxos/react-ui-form';
|
|
11
11
|
|
|
@@ -18,7 +18,7 @@ const initialValues = {
|
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
export type AdvancedObjectSettingsProps = {
|
|
21
|
-
object:
|
|
21
|
+
object: AnyLiveObject<any>;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
export const AdvancedObjectSettings = ({ object }: AdvancedObjectSettingsProps) => {
|
|
@@ -66,7 +66,7 @@ export const AdvancedObjectSettings = ({ object }: AdvancedObjectSettingsProps)
|
|
|
66
66
|
{!adding && <ForeignKeys keys={keys} onDelete={handleDelete} />}
|
|
67
67
|
</div>
|
|
68
68
|
|
|
69
|
-
{adding && <Form schema={
|
|
69
|
+
{adding && <Form schema={ForeignKey} values={initialValues} onSave={handleSave} onCancel={handleCancel} />}
|
|
70
70
|
</>
|
|
71
71
|
);
|
|
72
72
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import React, { type PropsWithChildren, useRef } from 'react';
|
|
6
6
|
|
|
7
|
-
import { type
|
|
7
|
+
import { type AnyLiveObject } from '@dxos/react-client/echo';
|
|
8
8
|
import { Input, type ThemedClassName, useTranslation } from '@dxos/react-ui';
|
|
9
9
|
import { mx } from '@dxos/react-ui-theme';
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ import { meta } from '../../meta';
|
|
|
12
12
|
|
|
13
13
|
export type BaseObjectSettingsProps = ThemedClassName<
|
|
14
14
|
PropsWithChildren<{
|
|
15
|
-
object:
|
|
15
|
+
object: AnyLiveObject<any>;
|
|
16
16
|
}>
|
|
17
17
|
>;
|
|
18
18
|
|
|
@@ -5,15 +5,14 @@
|
|
|
5
5
|
import React, { useMemo } from 'react';
|
|
6
6
|
|
|
7
7
|
import { Surface } from '@dxos/app-framework';
|
|
8
|
-
import { type
|
|
8
|
+
import { type AnyLiveObject } from '@dxos/react-client/echo';
|
|
9
9
|
import { Clipboard } from '@dxos/react-ui';
|
|
10
10
|
import { StackItem } from '@dxos/react-ui-stack';
|
|
11
11
|
|
|
12
|
-
import { AdvancedObjectSettings } from './AdvancedObjectSettings';
|
|
13
12
|
import { BaseObjectSettings } from './BaseObjectSettings';
|
|
14
13
|
|
|
15
14
|
export type ObjectSettingsContainerProps = {
|
|
16
|
-
object:
|
|
15
|
+
object: AnyLiveObject<any>;
|
|
17
16
|
role: string;
|
|
18
17
|
};
|
|
19
18
|
|
|
@@ -28,7 +27,8 @@ export const ObjectSettingsContainer = ({ object, role }: ObjectSettingsContaine
|
|
|
28
27
|
<Surface role='base-object-settings' data={data} />
|
|
29
28
|
</BaseObjectSettings>
|
|
30
29
|
<Surface role='object-settings' data={data} />
|
|
31
|
-
|
|
30
|
+
{/* TODO(wittjosiah): Remove? */}
|
|
31
|
+
{/* <AdvancedObjectSettings object={object} /> */}
|
|
32
32
|
</div>
|
|
33
33
|
</StackItem.Content>
|
|
34
34
|
</Clipboard.Provider>
|
|
@@ -68,20 +68,17 @@ export const PersistenceStatus = ({ db }: { db: EchoDatabase }) => {
|
|
|
68
68
|
case Status.PERSISTED_LOCALLY:
|
|
69
69
|
default:
|
|
70
70
|
return (
|
|
71
|
-
<Tooltip.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
</Tooltip.Content>
|
|
83
|
-
</Tooltip.Portal>
|
|
84
|
-
</Tooltip.Root>
|
|
71
|
+
<Tooltip.Trigger
|
|
72
|
+
delayDuration={400}
|
|
73
|
+
role='status'
|
|
74
|
+
content={t('persisted locally message')}
|
|
75
|
+
className='flex items-center'
|
|
76
|
+
>
|
|
77
|
+
<CheckCircle className={mx(getSize(4), 'me-1')} />
|
|
78
|
+
{displayMessage && (
|
|
79
|
+
<span className={mx('text-sm', staticPlaceholderText)}>{t('persisted locally label')}</span>
|
|
80
|
+
)}
|
|
81
|
+
</Tooltip.Trigger>
|
|
85
82
|
);
|
|
86
83
|
}
|
|
87
84
|
};
|
|
@@ -41,7 +41,7 @@ export const PopoverRenameObject = ({ object: obj }: { object: Live<any> }) => {
|
|
|
41
41
|
}, [object, name]);
|
|
42
42
|
|
|
43
43
|
return (
|
|
44
|
-
<div role='none' className='p-
|
|
44
|
+
<div role='none' className='p-2 flex gap-2'>
|
|
45
45
|
<div role='none' className='flex-1'>
|
|
46
46
|
<Input.Root>
|
|
47
47
|
<Input.Label srOnly>{t('object name label')}</Input.Label>
|
|
@@ -30,7 +30,7 @@ export const PopoverRenameSpace = ({ space }: { space: Space }) => {
|
|
|
30
30
|
|
|
31
31
|
// TODO(thure): Why does the input value need to be uncontrolled to work?
|
|
32
32
|
return (
|
|
33
|
-
<div role='none' className='p-
|
|
33
|
+
<div role='none' className='p-2 flex gap-2'>
|
|
34
34
|
<div role='none' className='flex-1'>
|
|
35
35
|
<Input.Root>
|
|
36
36
|
<Input.Label srOnly>{t('space name label')}</Input.Label>
|
|
@@ -100,7 +100,7 @@ export const Small = () => {
|
|
|
100
100
|
|
|
101
101
|
const meta: Meta = {
|
|
102
102
|
title: 'plugins/plugin-space/SpacePresence',
|
|
103
|
-
decorators: [withTheme, withLayout(
|
|
103
|
+
decorators: [withTheme, withLayout()],
|
|
104
104
|
parameters: { translations },
|
|
105
105
|
};
|
|
106
106
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { Option } from 'effect';
|
|
5
6
|
import React, { forwardRef, useCallback, useEffect, useState } from 'react';
|
|
6
7
|
|
|
7
8
|
import { useAppGraph, useCapability } from '@dxos/app-framework';
|
|
@@ -16,6 +17,7 @@ import {
|
|
|
16
17
|
type Size,
|
|
17
18
|
type ThemedClassName,
|
|
18
19
|
Tooltip,
|
|
20
|
+
Popover,
|
|
19
21
|
useTranslation,
|
|
20
22
|
List,
|
|
21
23
|
ListItem,
|
|
@@ -115,28 +117,25 @@ export const FullPresence = (props: MemberPresenceProps) => {
|
|
|
115
117
|
return (
|
|
116
118
|
<div className='dx-avatar-group' data-testid='spacePlugin.presence'>
|
|
117
119
|
{members.slice(0, 3).map((member, i) => (
|
|
118
|
-
<Tooltip.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
</Tooltip.Content>
|
|
133
|
-
</Tooltip.Portal>
|
|
134
|
-
</Tooltip.Root>
|
|
120
|
+
<Tooltip.Trigger
|
|
121
|
+
key={member.identity.identityKey.toHex()}
|
|
122
|
+
side='bottom'
|
|
123
|
+
content={getName(member.identity)}
|
|
124
|
+
className='grid focus:outline-none'
|
|
125
|
+
>
|
|
126
|
+
<PresenceAvatar
|
|
127
|
+
identity={member.identity}
|
|
128
|
+
match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.
|
|
129
|
+
index={members.length - i}
|
|
130
|
+
onClick={() => onMemberClick?.(member)}
|
|
131
|
+
size={size}
|
|
132
|
+
/>
|
|
133
|
+
</Tooltip.Trigger>
|
|
135
134
|
))}
|
|
136
135
|
|
|
137
136
|
{members.length > 3 && (
|
|
138
|
-
<
|
|
139
|
-
<
|
|
137
|
+
<Popover.Root>
|
|
138
|
+
<Popover.Trigger className='grid focus:outline-none'>
|
|
140
139
|
<Avatar.Root>
|
|
141
140
|
{/* TODO(wittjosiah): Make text fit. */}
|
|
142
141
|
<Avatar.Content
|
|
@@ -146,10 +145,10 @@ export const FullPresence = (props: MemberPresenceProps) => {
|
|
|
146
145
|
size={size}
|
|
147
146
|
/>
|
|
148
147
|
</Avatar.Root>
|
|
149
|
-
</
|
|
150
|
-
<
|
|
151
|
-
<
|
|
152
|
-
<
|
|
148
|
+
</Popover.Trigger>
|
|
149
|
+
<Popover.Portal>
|
|
150
|
+
<Popover.Content side='bottom'>
|
|
151
|
+
<Popover.Arrow />
|
|
153
152
|
<List classNames='max-h-56 overflow-y-auto'>
|
|
154
153
|
{members.map((member) => (
|
|
155
154
|
<ListItem.Root
|
|
@@ -163,9 +162,9 @@ export const FullPresence = (props: MemberPresenceProps) => {
|
|
|
163
162
|
</ListItem.Root>
|
|
164
163
|
))}
|
|
165
164
|
</List>
|
|
166
|
-
</
|
|
167
|
-
</
|
|
168
|
-
</
|
|
165
|
+
</Popover.Content>
|
|
166
|
+
</Popover.Portal>
|
|
167
|
+
</Popover.Root>
|
|
169
168
|
)}
|
|
170
169
|
</div>
|
|
171
170
|
);
|
|
@@ -219,7 +218,7 @@ export const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps)
|
|
|
219
218
|
const attended = useAttended();
|
|
220
219
|
const startOfAttention = attended.at(-1);
|
|
221
220
|
const path = usePath(graph, startOfAttention);
|
|
222
|
-
const containsAttended = !open && !isAttended && id && path ? path.includes(id) : false;
|
|
221
|
+
const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;
|
|
223
222
|
|
|
224
223
|
const getActiveViewers = (viewers: ComplexMap<PublicKey, ObjectViewerProps>): ObjectViewerProps[] => {
|
|
225
224
|
const moment = Date.now();
|
|
@@ -251,21 +250,13 @@ export const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPr
|
|
|
251
250
|
const { t } = useTranslation(SPACE_PLUGIN);
|
|
252
251
|
|
|
253
252
|
return (
|
|
254
|
-
<Tooltip.
|
|
255
|
-
<
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
</Tooltip.Trigger>
|
|
263
|
-
<Tooltip.Portal>
|
|
264
|
-
<Tooltip.Content side='bottom'>
|
|
265
|
-
<span>{t('presence label', { count })}</span>
|
|
266
|
-
<Tooltip.Arrow />
|
|
267
|
-
</Tooltip.Content>
|
|
268
|
-
</Tooltip.Portal>
|
|
269
|
-
</Tooltip.Root>
|
|
253
|
+
<Tooltip.Trigger asChild content={t('presence label', { count })} side='bottom'>
|
|
254
|
+
<AttentionGlyph
|
|
255
|
+
attended={attended}
|
|
256
|
+
containsAttended={containsAttended}
|
|
257
|
+
presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}
|
|
258
|
+
classNames='self-center mie-1'
|
|
259
|
+
/>
|
|
260
|
+
</Tooltip.Trigger>
|
|
270
261
|
);
|
|
271
262
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { pipe, Schema
|
|
5
|
+
import { pipe, Schema } from 'effect';
|
|
6
6
|
import React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';
|
|
7
7
|
|
|
8
8
|
import { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
|
|
@@ -25,7 +25,9 @@ import { StackItem } from '@dxos/react-ui-stack';
|
|
|
25
25
|
import { SPACE_PLUGIN } from '../../meta';
|
|
26
26
|
import { SpaceAction, SpaceForm } from '../../types';
|
|
27
27
|
|
|
28
|
-
const FormSchema = SpaceForm.pipe(
|
|
28
|
+
const FormSchema = SpaceForm.pipe(
|
|
29
|
+
Schema.extend(Schema.Struct({ archived: Schema.Boolean.annotations({ title: 'Archive space' }) })),
|
|
30
|
+
);
|
|
29
31
|
|
|
30
32
|
export type SpaceSettingsContainerProps = {
|
|
31
33
|
space: Space;
|
|
@@ -54,7 +56,7 @@ export const SpaceSettingsContainer = ({ space }: SpaceSettingsContainerProps) =
|
|
|
54
56
|
);
|
|
55
57
|
|
|
56
58
|
const handleSave = useCallback(
|
|
57
|
-
(properties:
|
|
59
|
+
(properties: Schema.Schema.Type<typeof FormSchema>) => {
|
|
58
60
|
void toggleEdgeReplication(properties.edgeReplication);
|
|
59
61
|
if (properties.name !== space.properties.name) {
|
|
60
62
|
space.properties.name = properties.name;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { Option } from 'effect';
|
|
5
6
|
import React, { useEffect, useState } from 'react';
|
|
6
7
|
|
|
7
8
|
import { useAppGraph } from '@dxos/app-framework';
|
|
@@ -40,7 +41,7 @@ export const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean
|
|
|
40
41
|
const attended = useAttended();
|
|
41
42
|
const startOfAttention = attended.at(-1);
|
|
42
43
|
const path = usePath(graph, startOfAttention);
|
|
43
|
-
const containsAttended = !open && !isAttended && id && path ? path.includes(id) : false;
|
|
44
|
+
const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;
|
|
44
45
|
|
|
45
46
|
const connectedToEdge = useEdgeStatus() === EdgeStatus.CONNECTED;
|
|
46
47
|
// TODO(wittjosiah): This is not reactive.
|
|
@@ -49,21 +50,13 @@ export const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean
|
|
|
49
50
|
const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
|
|
50
51
|
|
|
51
52
|
return (
|
|
52
|
-
<Tooltip.
|
|
53
|
-
<
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
</Tooltip.Trigger>
|
|
61
|
-
<Tooltip.Portal>
|
|
62
|
-
<Tooltip.Content side='bottom' classNames='z-[70]'>
|
|
63
|
-
<span>{t('syncing label')}</span>
|
|
64
|
-
<Tooltip.Arrow />
|
|
65
|
-
</Tooltip.Content>
|
|
66
|
-
</Tooltip.Portal>
|
|
67
|
-
</Tooltip.Root>
|
|
53
|
+
<Tooltip.Trigger asChild content={t('syncing label')} side='bottom'>
|
|
54
|
+
<AttentionGlyph
|
|
55
|
+
syncing={syncing}
|
|
56
|
+
attended={isAttended}
|
|
57
|
+
containsAttended={containsAttended}
|
|
58
|
+
classNames='self-center mie-1'
|
|
59
|
+
/>
|
|
60
|
+
</Tooltip.Trigger>
|
|
68
61
|
);
|
|
69
62
|
};
|
package/src/components/index.ts
CHANGED
|
@@ -11,7 +11,6 @@ export * from './MembersContainer';
|
|
|
11
11
|
export * from './MenuFooter';
|
|
12
12
|
export * from './ObjectSettings';
|
|
13
13
|
export * from './PersistenceStatus';
|
|
14
|
-
export * from './PopoverAddSpace';
|
|
15
14
|
export * from './PopoverRenameObject';
|
|
16
15
|
export * from './PopoverRenameSpace';
|
|
17
16
|
export * from './SchemaContainer';
|
package/src/hooks/index.ts
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Capabilities, useLayout, type PluginContext } from '@dxos/app-framework';
|
|
6
|
+
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
7
|
+
import { parseId, useSpace } from '@dxos/react-client/echo';
|
|
8
|
+
|
|
9
|
+
export const getActiveSpace = (context: PluginContext) => {
|
|
10
|
+
const layout = context.getCapability(Capabilities.Layout);
|
|
11
|
+
const client = context.getCapability(ClientCapabilities.Client);
|
|
12
|
+
const { spaceId } = parseId(layout.workspace);
|
|
13
|
+
return spaceId ? client.spaces.get(spaceId) : undefined;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const useActiveSpace = () => {
|
|
17
|
+
const layout = useLayout();
|
|
18
|
+
const { spaceId } = parseId(layout.workspace);
|
|
19
|
+
return useSpace(spaceId);
|
|
20
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { type Schema
|
|
5
|
+
import { type Schema } from 'effect';
|
|
6
6
|
import React, { useCallback } from 'react';
|
|
7
7
|
|
|
8
8
|
import { usePluginManager, isSurfaceAvailable, Surface } from '@dxos/app-framework';
|
|
@@ -18,7 +18,7 @@ export const useInputSurfaceLookup = (baseData?: Record<string, any>) => {
|
|
|
18
18
|
const pluginManager = usePluginManager();
|
|
19
19
|
|
|
20
20
|
return useCallback(
|
|
21
|
-
({ prop, schema, inputProps }: { prop: string; schema:
|
|
21
|
+
({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {
|
|
22
22
|
const composedData = { prop, schema, ...baseData };
|
|
23
23
|
if (!isSurfaceAvailable(pluginManager.context, { role: 'form-input', data: composedData })) {
|
|
24
24
|
return undefined;
|
package/src/hooks/usePath.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { Option } from 'effect';
|
|
5
6
|
import { useEffect, useState } from 'react';
|
|
6
7
|
|
|
7
|
-
import { type
|
|
8
|
+
import { type ReadableGraph } from '@dxos/plugin-graph';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* React hook to get a path from the graph.
|
|
@@ -15,15 +16,17 @@ import { type Graph } from '@dxos/plugin-graph';
|
|
|
15
16
|
* @returns Path if found, undefined otherwise.
|
|
16
17
|
*/
|
|
17
18
|
// TODO(wittjosiah): Factor out.
|
|
18
|
-
export const usePath = (graph:
|
|
19
|
-
const [pathState, setPathState] = useState<string[]
|
|
19
|
+
export const usePath = (graph: ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {
|
|
20
|
+
const [pathState, setPathState] = useState<Option.Option<string[]>>(
|
|
21
|
+
id ? graph.getPath({ target: id }) : Option.none(),
|
|
22
|
+
);
|
|
20
23
|
|
|
21
24
|
useEffect(() => {
|
|
22
25
|
if (!id && pathState) {
|
|
23
|
-
setPathState(
|
|
26
|
+
setPathState(Option.none());
|
|
24
27
|
}
|
|
25
28
|
|
|
26
|
-
if (pathState
|
|
29
|
+
if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {
|
|
27
30
|
return;
|
|
28
31
|
}
|
|
29
32
|
|
|
@@ -32,7 +35,7 @@ export const usePath = (graph: Graph, id?: string, timeout?: number): string[] |
|
|
|
32
35
|
try {
|
|
33
36
|
const path = await graph.waitForPath({ target: id }, { timeout });
|
|
34
37
|
if (path) {
|
|
35
|
-
setPathState(path);
|
|
38
|
+
setPathState(Option.some(path));
|
|
36
39
|
}
|
|
37
40
|
} catch {}
|
|
38
41
|
});
|
package/src/index.ts
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
export { SpaceCapabilities
|
|
6
|
-
export { SpaceEvents
|
|
5
|
+
export { SpaceCapabilities } from './capabilities';
|
|
6
|
+
export { SpaceEvents } from './events';
|
|
7
7
|
|
|
8
8
|
export * from './components';
|
|
9
|
+
export * from './hooks';
|
|
9
10
|
export * from './meta';
|
|
10
11
|
export * from './SpacePlugin';
|
|
11
12
|
export * from './util';
|
package/src/translations.ts
CHANGED
|
@@ -15,7 +15,6 @@ export default [
|
|
|
15
15
|
[SPACE_PLUGIN]: {
|
|
16
16
|
'plugin name': 'Spaces',
|
|
17
17
|
'first run message': 'Nothing selected.',
|
|
18
|
-
'add space label': 'Create or join a space',
|
|
19
18
|
'create space label': 'Create space',
|
|
20
19
|
'join space label': 'Join space',
|
|
21
20
|
'empty space message': 'No documents',
|
|
@@ -95,7 +94,7 @@ export default [
|
|
|
95
94
|
'join success label': 'Successfully joined space',
|
|
96
95
|
'name label': 'Name',
|
|
97
96
|
'name placeholder': 'Name',
|
|
98
|
-
'object settings label': '
|
|
97
|
+
'object settings label': 'Details',
|
|
99
98
|
'edge replication label': 'Enable EDGE Replication',
|
|
100
99
|
'saving locally label': 'Writing to disk',
|
|
101
100
|
'downloading label': 'Replicating from peers',
|
package/src/types/collection.ts
CHANGED
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Schema } from 'effect';
|
|
6
|
+
|
|
7
|
+
import { Expando, Ref, TypedObject } from '@dxos/echo-schema';
|
|
6
8
|
|
|
7
9
|
export class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({
|
|
8
|
-
name:
|
|
9
|
-
objects:
|
|
10
|
+
name: Schema.optional(Schema.String),
|
|
11
|
+
objects: Schema.mutable(Schema.Array(Ref(Expando))),
|
|
10
12
|
// Key is schema typename and value is reference to a view object of the associated schema.
|
|
11
13
|
// Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).
|
|
12
14
|
// This also leaves open a future where this key could be changed to allow for multiple stack views per section.
|
|
13
15
|
// TODO(wittjosiah): Any way to make this more type safe?
|
|
14
16
|
// TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?
|
|
15
|
-
views:
|
|
17
|
+
views: Schema.mutable(Schema.Record({ key: Schema.String, value: Ref(Expando) })),
|
|
16
18
|
}) {}
|