@dxos/plugin-space 0.8.4-staging.60fe92afc8 → 0.9.1-main.c7dcc2e112
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/neutral/{CollectionArticle-S3OF5KJ7.mjs → CollectionArticle-BMH7SZ7Q.mjs} +9 -12
- package/dist/lib/neutral/CollectionArticle-BMH7SZ7Q.mjs.map +7 -0
- package/dist/lib/neutral/{CollectionSection-A5WRHE5Z.mjs → CollectionSection-BLYTGOKH.mjs} +2 -2
- package/dist/lib/neutral/{CollectionSection-A5WRHE5Z.mjs.map → CollectionSection-BLYTGOKH.mjs.map} +3 -3
- package/dist/lib/neutral/{CreateObjectDialog-66R3K6I3.mjs → CreateObjectDialog-4VMOUKM7.mjs} +10 -10
- package/dist/lib/neutral/CreateObjectDialog-4VMOUKM7.mjs.map +7 -0
- package/dist/lib/neutral/{CreateSpaceDialog-CDGSEIJB.mjs → CreateSpaceDialog-WWNUTLVK.mjs} +6 -6
- package/dist/lib/neutral/CreateSpaceDialog-WWNUTLVK.mjs.map +7 -0
- package/dist/lib/neutral/{ImportSpaceDialog-7GKV4OTF.mjs → ImportSpaceDialog-CSSRTFAO.mjs} +4 -4
- package/dist/lib/neutral/ImportSpaceDialog-CSSRTFAO.mjs.map +7 -0
- package/dist/lib/neutral/{InlineSyncStatus-TBJKZCH7.mjs → InlineSyncStatus-UOUTAPCU.mjs} +4 -4
- package/dist/lib/neutral/InlineSyncStatus-UOUTAPCU.mjs.map +7 -0
- package/dist/lib/neutral/{JoinDialog-SSFKRFTJ.mjs → JoinDialog-QZGNRJ4P.mjs} +16 -9
- package/dist/lib/neutral/JoinDialog-QZGNRJ4P.mjs.map +7 -0
- package/dist/lib/neutral/{MembersContainer-KMCQDWCS.mjs → MembersContainer-OWCAMBKS.mjs} +5 -5
- package/dist/lib/neutral/MembersContainer-OWCAMBKS.mjs.map +7 -0
- package/dist/lib/neutral/{MenuFooter-5JT7V5FZ.mjs → MenuFooter-QCNFUIAO.mjs} +6 -6
- package/dist/lib/neutral/MenuFooter-QCNFUIAO.mjs.map +7 -0
- package/dist/lib/neutral/{ObjectCardStack-IXNU3HEN.mjs → ObjectCardStack-DHVDRNRK.mjs} +4 -4
- package/dist/lib/neutral/ObjectCardStack-DHVDRNRK.mjs.map +7 -0
- package/dist/lib/neutral/RecordArticle-JSORXRAA.mjs +102 -0
- package/dist/lib/neutral/RecordArticle-JSORXRAA.mjs.map +7 -0
- package/dist/lib/neutral/{RelatedArticle-YDNGUDAJ.mjs → RelatedArticle-YRCRBIYU.mjs} +11 -9
- package/dist/lib/neutral/RelatedArticle-YRCRBIYU.mjs.map +7 -0
- package/dist/lib/neutral/RenamePopover-XBZAKNM7.mjs +96 -0
- package/dist/lib/neutral/RenamePopover-XBZAKNM7.mjs.map +7 -0
- package/dist/lib/neutral/{SchemaContainer-Q4BP6X2M.mjs → SchemaContainer-2NK5YB5O.mjs} +2 -2
- package/dist/lib/neutral/SchemaContainer-2NK5YB5O.mjs.map +7 -0
- package/dist/lib/neutral/{SmallPresenceLive-GUF4WLUC.mjs → SmallPresenceLive-L4H7WJOA.mjs} +2 -2
- package/dist/lib/neutral/SpaceHomeArticle-ZV7EERLS.mjs +78 -0
- package/dist/lib/neutral/SpaceHomeArticle-ZV7EERLS.mjs.map +7 -0
- package/dist/lib/neutral/SpaceHomeRecent-ZR4LIIUD.mjs +83 -0
- package/dist/lib/neutral/SpaceHomeRecent-ZR4LIIUD.mjs.map +7 -0
- package/dist/lib/neutral/SpacePlugin.mjs +1 -1
- package/dist/lib/neutral/SpacePlugin.node.mjs +4 -4
- package/dist/lib/neutral/SpacePlugin.node.mjs.map +3 -3
- package/dist/lib/neutral/{SpacePresence-ACEXUS3N.mjs → SpacePresence-PDTEDHDE.mjs} +2 -2
- package/dist/lib/neutral/{SpaceSettings-YAHBOY5T.mjs → SpaceSettings-IVTCSLNT.mjs} +6 -6
- package/dist/lib/neutral/SpaceSettings-IVTCSLNT.mjs.map +7 -0
- package/dist/lib/neutral/{SpaceSettingsContainer-IB34TEOB.mjs → SpaceSettingsContainer-QAFQ4LWC.mjs} +8 -8
- package/dist/lib/neutral/SpaceSettingsContainer-QAFQ4LWC.mjs.map +7 -0
- package/dist/lib/neutral/{SyncStatus-CWOXWDDZ.mjs → SyncStatus-J7CHLO5O.mjs} +3 -3
- package/dist/lib/neutral/SyncStatus-J7CHLO5O.mjs.map +7 -0
- package/dist/lib/neutral/{add-object-QYOMCBJA.mjs → add-object-S64XELC3.mjs} +10 -10
- package/dist/lib/neutral/add-object-S64XELC3.mjs.map +7 -0
- package/dist/lib/neutral/{add-relation-HV3VCMJG.mjs → add-relation-GWSE42BU.mjs} +3 -3
- package/dist/lib/neutral/{add-type-CZVKSEIW.mjs → add-type-C3KYE6PI.mjs} +3 -3
- package/dist/lib/neutral/{app-graph-builder-SQGCUCDO.mjs → app-graph-builder-TMAD2ZTH.mjs} +128 -71
- package/dist/lib/neutral/app-graph-builder-TMAD2ZTH.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +13 -15
- package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
- package/dist/lib/neutral/capabilities/node.mjs +2 -2
- package/dist/lib/neutral/{chunk-EEXRKYOD.mjs → chunk-2LTGSUGQ.mjs} +2 -2
- package/dist/lib/neutral/{chunk-EEXRKYOD.mjs.map → chunk-2LTGSUGQ.mjs.map} +2 -2
- package/dist/lib/neutral/chunk-2RPQHHD7.mjs +17 -0
- package/dist/lib/neutral/chunk-2RPQHHD7.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5ZZS3KMK.mjs +46 -0
- package/dist/lib/neutral/chunk-5ZZS3KMK.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-K34BPPQE.mjs → chunk-DSYEB2UN.mjs} +29 -17
- package/dist/lib/neutral/chunk-DSYEB2UN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-YY62663T.mjs → chunk-F2VJ6VBV.mjs} +3 -3
- package/dist/lib/neutral/chunk-F2VJ6VBV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-JHZGRYGS.mjs → chunk-G2KHP7FX.mjs} +2 -2
- package/dist/lib/neutral/{chunk-JHZGRYGS.mjs.map → chunk-G2KHP7FX.mjs.map} +2 -2
- package/dist/lib/neutral/chunk-I5JXVBXX.mjs +8 -0
- package/dist/lib/neutral/{chunk-BBQR23DW.mjs → chunk-LY6XK5MV.mjs} +105 -128
- package/dist/lib/neutral/chunk-LY6XK5MV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7WUJENBF.mjs → chunk-PSCIOT7Q.mjs} +4 -4
- package/dist/lib/neutral/chunk-PSCIOT7Q.mjs.map +7 -0
- package/dist/lib/neutral/{close-FGQN37PK.mjs → close-YZHFYPUN.mjs} +3 -3
- package/dist/lib/neutral/components/index.mjs +7 -7
- package/dist/lib/neutral/components/index.mjs.map +3 -3
- package/dist/lib/neutral/containers/index.mjs +23 -21
- package/dist/lib/neutral/containers/index.mjs.map +3 -3
- package/dist/lib/neutral/{create-EPIFSRJA.mjs → create-XKU2W6QC.mjs} +6 -6
- package/dist/lib/neutral/create-XKU2W6QC.mjs.map +7 -0
- package/dist/lib/neutral/{delete-LIA5M3WI.mjs → delete-EFM7CAVO.mjs} +3 -3
- package/dist/lib/neutral/{delete-field-ZIGFXFHY.mjs → delete-field-ONAPFFO5.mjs} +3 -3
- package/dist/lib/neutral/{duplicate-object-X37FM6PW.mjs → duplicate-object-OJRPFV5I.mjs} +3 -3
- package/dist/lib/neutral/{export-space-VWJHVXWF.mjs → export-space-M5RNVUQX.mjs} +3 -3
- package/dist/lib/neutral/{get-share-link-3LEA5FSK.mjs → get-share-link-FUQBJPSQ.mjs} +4 -4
- package/dist/lib/neutral/hooks/index.mjs +16 -4
- package/dist/lib/neutral/hooks/index.mjs.map +3 -3
- package/dist/lib/neutral/{identity-created-57RML5XT.mjs → identity-created-QMV4DANW.mjs} +4 -4
- package/dist/lib/neutral/identity-created-QMV4DANW.mjs.map +7 -0
- package/dist/lib/neutral/{import-space-Y5L3QE3C.mjs → import-space-L3AUIARM.mjs} +3 -3
- package/dist/lib/neutral/index.mjs +12 -6
- package/dist/lib/neutral/{join-Z5K4OAIG.mjs → join-VY3QYBU7.mjs} +4 -4
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/meta.mjs +1 -1
- package/dist/lib/neutral/{migrate-G7I52UKD.mjs → migrate-WPUISBC4.mjs} +3 -3
- package/dist/lib/neutral/{navigation-handler-QQJYEMAS.mjs → navigation-handler-IKXZGMII.mjs} +4 -4
- package/dist/lib/neutral/{navigation-resolver-IFVQRCGU.mjs → navigation-resolver-VBPGMFCE.mjs} +7 -7
- package/dist/lib/neutral/navigation-resolver-VBPGMFCE.mjs.map +7 -0
- package/dist/lib/neutral/{open-CPWVZSI4.mjs → open-RRYULTSY.mjs} +3 -3
- package/dist/lib/neutral/{open-create-object-4LN4PR6N.mjs → open-create-object-BRUVFZSY.mjs} +4 -4
- package/dist/lib/neutral/{open-create-space-VPAW3F2T.mjs → open-create-space-ARLQWW65.mjs} +4 -4
- package/dist/lib/neutral/{open-import-space-VLQ5V55H.mjs → open-import-space-65H57JXX.mjs} +4 -4
- package/dist/lib/neutral/{open-members-BEXOSSBS.mjs → open-members-677P6KD3.mjs} +6 -6
- package/dist/lib/neutral/open-members-677P6KD3.mjs.map +7 -0
- package/dist/lib/neutral/{open-settings-RHDBW2K5.mjs → open-settings-PRBSGO6D.mjs} +6 -6
- package/dist/lib/neutral/open-settings-PRBSGO6D.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +3 -3
- package/dist/lib/neutral/plugin.mjs +4 -4
- package/dist/lib/neutral/{react-root-2DJPZQT4.mjs → react-root-YLYRCSAZ.mjs} +2 -2
- package/dist/lib/neutral/{react-root-2DJPZQT4.mjs.map → react-root-YLYRCSAZ.mjs.map} +3 -3
- package/dist/lib/neutral/{react-surface-LYCTOQLY.mjs → react-surface-5EQ6X4CL.mjs} +48 -70
- package/dist/lib/neutral/react-surface-5EQ6X4CL.mjs.map +7 -0
- package/dist/lib/neutral/{remove-objects-OWDMA4IF.mjs → remove-objects-PWJJI36V.mjs} +5 -5
- package/dist/lib/neutral/remove-objects-PWJJI36V.mjs.map +7 -0
- package/dist/lib/neutral/{rename-SR6BBSPU.mjs → rename-4727PKI4.mjs} +8 -7
- package/dist/lib/neutral/rename-4727PKI4.mjs.map +7 -0
- package/dist/lib/neutral/{rename-object-5H6E5AOX.mjs → rename-object-FXUAB5FN.mjs} +8 -7
- package/dist/lib/neutral/rename-object-FXUAB5FN.mjs.map +7 -0
- package/dist/lib/neutral/{repair-PSYRVSJ6.mjs → repair-HMH476U3.mjs} +3 -3
- package/dist/lib/neutral/repair-HMH476U3.mjs.map +7 -0
- package/dist/lib/neutral/{restore-field-UHDG2ZQM.mjs → restore-field-3ICSIHGA.mjs} +3 -3
- package/dist/lib/neutral/{restore-objects-2UD5P6OC.mjs → restore-objects-V2BTEWN3.mjs} +3 -3
- package/dist/lib/neutral/{settings-Q32EQCHX.mjs → settings-5IBSYBVU.mjs} +3 -3
- package/dist/lib/neutral/{settings-Q32EQCHX.mjs.map → settings-5IBSYBVU.mjs.map} +3 -3
- package/dist/lib/neutral/{share-5Y4NZA75.mjs → share-ZOZPAUGI.mjs} +3 -3
- package/dist/lib/neutral/{snapshot-H3HKOFVP.mjs → snapshot-ZC5PU55W.mjs} +3 -3
- package/dist/lib/neutral/{spaces-ready-GBF72QJH.mjs → spaces-ready-EXPCJD4N.mjs} +11 -11
- package/dist/lib/neutral/spaces-ready-EXPCJD4N.mjs.map +7 -0
- package/dist/lib/neutral/{state-DPBOZRAW.mjs → state-KMH2NUAL.mjs} +2 -2
- package/dist/lib/neutral/state-KMH2NUAL.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +1 -1
- package/dist/lib/neutral/translations.mjs +4 -2
- package/dist/lib/neutral/translations.mjs.map +3 -3
- package/dist/lib/neutral/types/index.mjs +9 -3
- package/dist/lib/neutral/{undo-mappings-OBRQOYN4.mjs → undo-mappings-P43EAUGI.mjs} +5 -5
- package/dist/lib/neutral/{undo-mappings-OBRQOYN4.mjs.map → undo-mappings-P43EAUGI.mjs.map} +3 -3
- package/dist/lib/neutral/{wait-for-object-3TAWUWTP.mjs → wait-for-object-WURK2SLQ.mjs} +3 -3
- package/dist/types/dx.config.d.ts +28 -0
- package/dist/types/dx.config.d.ts.map +1 -0
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +12 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/database.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +0 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +13 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +10 -54
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-handler/index.d.ts +1 -1
- package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +3 -33
- package/dist/types/src/capabilities/node.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/commands/database/add.d.ts.map +1 -1
- package/dist/types/src/commands/queue/query.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +20 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -1
- package/dist/types/src/constants.d.ts +1 -2
- package/dist/types/src/constants.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +20 -0
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +20 -0
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +20 -0
- package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +1 -1
- package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
- package/dist/types/src/containers/RenamePopover/RenamePopover.d.ts +12 -0
- package/dist/types/src/containers/RenamePopover/RenamePopover.d.ts.map +1 -0
- package/dist/types/src/containers/RenamePopover/index.d.ts +3 -0
- package/dist/types/src/containers/RenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeArticle/SpaceHomeArticle.d.ts +15 -0
- package/dist/types/src/containers/SpaceHomeArticle/SpaceHomeArticle.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeArticle/index.d.ts +2 -0
- package/dist/types/src/containers/SpaceHomeArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeRecent/SpaceHomeRecent.d.ts +22 -0
- package/dist/types/src/containers/SpaceHomeRecent/SpaceHomeRecent.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceHomeRecent/index.d.ts +2 -0
- package/dist/types/src/containers/SpaceHomeRecent/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +20 -0
- package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +20 -0
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +20 -0
- package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +3 -2
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +28 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/add-object.d.ts.map +1 -1
- package/dist/types/src/operations/helpers.d.ts.map +1 -1
- package/dist/types/src/operations/remove-objects.d.ts.map +1 -1
- package/dist/types/src/operations/rename-object.d.ts.map +1 -1
- package/dist/types/src/operations/rename.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +20 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/types/form.d.ts +7 -1
- package/dist/types/src/types/form.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/surface.d.ts +26 -0
- package/dist/types/src/types/surface.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +7 -0
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dx.config.ts +35 -0
- package/package.json +51 -50
- package/src/SpacePlugin.test.ts +1 -1
- package/src/SpacePlugin.ts +1 -7
- package/src/capabilities/app-graph-builder/extensions/collections.ts +44 -24
- package/src/capabilities/app-graph-builder/extensions/companions.ts +3 -3
- package/src/capabilities/app-graph-builder/extensions/database.ts +17 -14
- package/src/capabilities/app-graph-builder/extensions/settings.ts +9 -9
- package/src/capabilities/app-graph-builder/extensions/shared.ts +5 -20
- package/src/capabilities/app-graph-builder/extensions/spaces.ts +49 -26
- package/src/capabilities/identity-created.ts +3 -3
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/navigation-resolver.ts +6 -13
- package/src/capabilities/react-root.tsx +1 -1
- package/src/capabilities/react-surface.tsx +58 -88
- package/src/capabilities/repair.ts +4 -2
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/spaces-ready.ts +8 -15
- package/src/capabilities/state.ts +1 -1
- package/src/capabilities/undo-mappings.ts +3 -3
- package/src/commands/database/add.ts +4 -2
- package/src/commands/queue/query.ts +4 -3
- package/src/components/AwaitingObject/AwaitingObject.tsx +1 -1
- package/src/components/CreateObjectPanel/CreateObjectPanel.tsx +2 -2
- package/src/components/ForeignKeys/ForeignKeys.tsx +1 -1
- package/src/components/SpaceSettings/SpaceSettings.tsx +3 -3
- package/src/constants.ts +5 -6
- package/src/containers/CollectionArticle/CollectionArticle.tsx +10 -6
- package/src/containers/CollectionSection/CollectionSection.tsx +1 -1
- package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +10 -7
- package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +5 -5
- package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +3 -3
- package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +3 -3
- package/src/containers/JoinDialog/JoinDialog.tsx +13 -11
- package/src/containers/MembersContainer/MembersContainer.tsx +5 -5
- package/src/containers/MenuFooter/MenuFooter.tsx +3 -3
- package/src/containers/ObjectCardStack/ObjectCardStack.tsx +3 -3
- package/src/containers/RecordArticle/RecordArticle.tsx +67 -8
- package/src/containers/RelatedArticle/RelatedArticle.tsx +17 -13
- package/src/containers/RenamePopover/RenamePopover.tsx +112 -0
- package/src/containers/RenamePopover/index.ts +6 -0
- package/src/containers/SchemaContainer/SchemaContainer.tsx +1 -1
- package/src/containers/SpaceHomeArticle/SpaceHomeArticle.tsx +100 -0
- package/src/containers/SpaceHomeArticle/index.ts +5 -0
- package/src/containers/SpaceHomeRecent/SpaceHomeRecent.tsx +101 -0
- package/src/containers/SpaceHomeRecent/index.ts +5 -0
- package/src/containers/SpacePresence/SpacePresence.tsx +1 -1
- package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +7 -7
- package/src/containers/SyncStatus/SyncStatus.tsx +2 -2
- package/src/containers/index.ts +3 -2
- package/src/hooks/useInputSurfaceLookup.tsx +3 -2
- package/src/hooks/useRelatedObjects.ts +13 -1
- package/src/meta.ts +2 -27
- package/src/operations/add-object.ts +7 -14
- package/src/operations/create.ts +2 -2
- package/src/operations/definitions.ts +1 -1
- package/src/operations/helpers.ts +1 -1
- package/src/operations/open-members.ts +3 -3
- package/src/operations/open-settings.ts +3 -3
- package/src/operations/remove-objects.ts +3 -2
- package/src/operations/rename-object.ts +3 -2
- package/src/operations/rename.ts +3 -2
- package/src/translations.ts +3 -1
- package/src/types/capabilities.ts +8 -8
- package/src/types/events.ts +5 -5
- package/src/types/form.ts +5 -1
- package/src/types/index.ts +1 -0
- package/src/types/surface.ts +31 -0
- package/src/types/types.ts +9 -1
- package/src/util.ts +3 -3
- package/dist/lib/neutral/CollectionArticle-S3OF5KJ7.mjs.map +0 -7
- package/dist/lib/neutral/CreateObjectDialog-66R3K6I3.mjs.map +0 -7
- package/dist/lib/neutral/CreateSpaceDialog-CDGSEIJB.mjs.map +0 -7
- package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs +0 -59
- package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs.map +0 -7
- package/dist/lib/neutral/ImportSpaceDialog-7GKV4OTF.mjs.map +0 -7
- package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +0 -7
- package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +0 -7
- package/dist/lib/neutral/MembersContainer-KMCQDWCS.mjs.map +0 -7
- package/dist/lib/neutral/MenuFooter-5JT7V5FZ.mjs.map +0 -7
- package/dist/lib/neutral/ObjectCardStack-IXNU3HEN.mjs.map +0 -7
- package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs +0 -51
- package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs.map +0 -7
- package/dist/lib/neutral/RelatedArticle-YDNGUDAJ.mjs.map +0 -7
- package/dist/lib/neutral/SchemaContainer-Q4BP6X2M.mjs.map +0 -7
- package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +0 -56
- package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +0 -7
- package/dist/lib/neutral/SpaceSettings-YAHBOY5T.mjs.map +0 -7
- package/dist/lib/neutral/SpaceSettingsContainer-IB34TEOB.mjs.map +0 -7
- package/dist/lib/neutral/SyncStatus-CWOXWDDZ.mjs.map +0 -7
- package/dist/lib/neutral/add-object-QYOMCBJA.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-builder-SQGCUCDO.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-serializer-IBPPU5VR.mjs +0 -81
- package/dist/lib/neutral/app-graph-serializer-IBPPU5VR.mjs.map +0 -7
- package/dist/lib/neutral/chunk-4RTSNTDC.mjs +0 -37
- package/dist/lib/neutral/chunk-4RTSNTDC.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7WUJENBF.mjs.map +0 -7
- package/dist/lib/neutral/chunk-B7DBIARR.mjs +0 -8
- package/dist/lib/neutral/chunk-BBQR23DW.mjs.map +0 -7
- package/dist/lib/neutral/chunk-F5MESIRH.mjs +0 -19
- package/dist/lib/neutral/chunk-F5MESIRH.mjs.map +0 -7
- package/dist/lib/neutral/chunk-K34BPPQE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YY62663T.mjs.map +0 -7
- package/dist/lib/neutral/create-EPIFSRJA.mjs.map +0 -7
- package/dist/lib/neutral/identity-created-57RML5XT.mjs.map +0 -7
- package/dist/lib/neutral/navigation-resolver-IFVQRCGU.mjs.map +0 -7
- package/dist/lib/neutral/open-members-BEXOSSBS.mjs.map +0 -7
- package/dist/lib/neutral/open-settings-RHDBW2K5.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-LYCTOQLY.mjs.map +0 -7
- package/dist/lib/neutral/remove-objects-OWDMA4IF.mjs.map +0 -7
- package/dist/lib/neutral/rename-SR6BBSPU.mjs.map +0 -7
- package/dist/lib/neutral/rename-object-5H6E5AOX.mjs.map +0 -7
- package/dist/lib/neutral/repair-PSYRVSJ6.mjs.map +0 -7
- package/dist/lib/neutral/spaces-ready-GBF72QJH.mjs.map +0 -7
- package/dist/lib/neutral/state-DPBOZRAW.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -5
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
- package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts +0 -7
- package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts.map +0 -1
- package/dist/types/src/containers/EntityRenamePopover/index.d.ts +0 -2
- package/dist/types/src/containers/EntityRenamePopover/index.d.ts.map +0 -1
- package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -7
- package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +0 -1
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +0 -2
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +0 -1
- package/src/capabilities/app-graph-serializer.ts +0 -85
- package/src/containers/EntityRenamePopover/EntityRenamePopover.tsx +0 -52
- package/src/containers/EntityRenamePopover/index.ts +0 -5
- package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +0 -54
- package/src/containers/SpaceRenamePopover/index.ts +0 -5
- /package/dist/lib/neutral/{SmallPresenceLive-GUF4WLUC.mjs.map → SmallPresenceLive-L4H7WJOA.mjs.map} +0 -0
- /package/dist/lib/neutral/{SpacePresence-ACEXUS3N.mjs.map → SpacePresence-PDTEDHDE.mjs.map} +0 -0
- /package/dist/lib/neutral/{add-relation-HV3VCMJG.mjs.map → add-relation-GWSE42BU.mjs.map} +0 -0
- /package/dist/lib/neutral/{add-type-CZVKSEIW.mjs.map → add-type-C3KYE6PI.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-B7DBIARR.mjs.map → chunk-I5JXVBXX.mjs.map} +0 -0
- /package/dist/lib/neutral/{close-FGQN37PK.mjs.map → close-YZHFYPUN.mjs.map} +0 -0
- /package/dist/lib/neutral/{delete-LIA5M3WI.mjs.map → delete-EFM7CAVO.mjs.map} +0 -0
- /package/dist/lib/neutral/{delete-field-ZIGFXFHY.mjs.map → delete-field-ONAPFFO5.mjs.map} +0 -0
- /package/dist/lib/neutral/{duplicate-object-X37FM6PW.mjs.map → duplicate-object-OJRPFV5I.mjs.map} +0 -0
- /package/dist/lib/neutral/{export-space-VWJHVXWF.mjs.map → export-space-M5RNVUQX.mjs.map} +0 -0
- /package/dist/lib/neutral/{get-share-link-3LEA5FSK.mjs.map → get-share-link-FUQBJPSQ.mjs.map} +0 -0
- /package/dist/lib/neutral/{import-space-Y5L3QE3C.mjs.map → import-space-L3AUIARM.mjs.map} +0 -0
- /package/dist/lib/neutral/{join-Z5K4OAIG.mjs.map → join-VY3QYBU7.mjs.map} +0 -0
- /package/dist/lib/neutral/{migrate-G7I52UKD.mjs.map → migrate-WPUISBC4.mjs.map} +0 -0
- /package/dist/lib/neutral/{navigation-handler-QQJYEMAS.mjs.map → navigation-handler-IKXZGMII.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-CPWVZSI4.mjs.map → open-RRYULTSY.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-create-object-4LN4PR6N.mjs.map → open-create-object-BRUVFZSY.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-create-space-VPAW3F2T.mjs.map → open-create-space-ARLQWW65.mjs.map} +0 -0
- /package/dist/lib/neutral/{open-import-space-VLQ5V55H.mjs.map → open-import-space-65H57JXX.mjs.map} +0 -0
- /package/dist/lib/neutral/{restore-field-UHDG2ZQM.mjs.map → restore-field-3ICSIHGA.mjs.map} +0 -0
- /package/dist/lib/neutral/{restore-objects-2UD5P6OC.mjs.map → restore-objects-V2BTEWN3.mjs.map} +0 -0
- /package/dist/lib/neutral/{share-5Y4NZA75.mjs.map → share-ZOZPAUGI.mjs.map} +0 -0
- /package/dist/lib/neutral/{snapshot-H3HKOFVP.mjs.map → snapshot-ZC5PU55W.mjs.map} +0 -0
- /package/dist/lib/neutral/{wait-for-object-3TAWUWTP.mjs.map → wait-for-object-WURK2SLQ.mjs.map} +0 -0
package/dx.config.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Config2 } from '@dxos/app-framework/config';
|
|
6
|
+
import { trim } from '@dxos/util';
|
|
7
|
+
|
|
8
|
+
export default Config2.make({
|
|
9
|
+
plugin: {
|
|
10
|
+
key: 'org.dxos.plugin.space',
|
|
11
|
+
name: 'Spaces',
|
|
12
|
+
author: 'DXOS',
|
|
13
|
+
description: trim`
|
|
14
|
+
SpacePlugin is the core workspace container for DXOS Composer. It owns the full lifecycle of
|
|
15
|
+
collaborative spaces — creating, joining, opening, closing, and resetting them — and manages
|
|
16
|
+
the membership and invitation system that controls who can access each space.
|
|
17
|
+
|
|
18
|
+
The plugin maintains an ordered app-graph of every space and its collections, wires navigation
|
|
19
|
+
so that opening a space or object updates the layout, and tracks real-time peer presence so
|
|
20
|
+
that the UI can show which collaborators are viewing each object.
|
|
21
|
+
|
|
22
|
+
Object and schema management sit at the heart of SpacePlugin: it registers the canonical DXOS
|
|
23
|
+
schema types (Person, Task, Project, Event, …), provides the create-object dialog that all
|
|
24
|
+
other plugins populate with their own types, and exposes operations for adding, removing,
|
|
25
|
+
restoring, duplicating, and serialising objects. Import/export of space archives and schema
|
|
26
|
+
migrations are also handled here.
|
|
27
|
+
|
|
28
|
+
A full set of undo-aware operations (RemoveObjects/RestoreObjects, DeleteField/RestoreField)
|
|
29
|
+
integrates with the process manager so that destructive edits can be reversed in one step.
|
|
30
|
+
`,
|
|
31
|
+
icon: { key: 'ph--planet--regular' },
|
|
32
|
+
spec: 'PLUGIN.mdl',
|
|
33
|
+
tags: ['system'],
|
|
34
|
+
},
|
|
35
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-space",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1-main.c7dcc2e112",
|
|
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",
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"types": "dist/types/src/index.d.ts",
|
|
106
106
|
"files": [
|
|
107
107
|
"dist",
|
|
108
|
+
"dx.config.ts",
|
|
108
109
|
"src",
|
|
109
110
|
"PLUGIN.mdl"
|
|
110
111
|
],
|
|
@@ -114,46 +115,46 @@
|
|
|
114
115
|
"@effect/cli": "0.75.2",
|
|
115
116
|
"react-drag-drop-files": "^2.3.8",
|
|
116
117
|
"react-qr-rounded": "^1.0.0",
|
|
117
|
-
"@dxos/app-framework": "0.
|
|
118
|
-
"@dxos/
|
|
119
|
-
"@dxos/
|
|
120
|
-
"@dxos/cli-util": "0.
|
|
121
|
-
"@dxos/client": "0.
|
|
122
|
-
"@dxos/
|
|
123
|
-
"@dxos/context": "0.
|
|
124
|
-
"@dxos/
|
|
125
|
-
"@dxos/
|
|
126
|
-
"@dxos/echo
|
|
127
|
-
"@dxos/effect": "0.
|
|
128
|
-
"@dxos/invariant": "0.
|
|
129
|
-
"@dxos/keys": "0.
|
|
130
|
-
"@dxos/
|
|
131
|
-
"@dxos/
|
|
132
|
-
"@dxos/
|
|
133
|
-
"@dxos/
|
|
134
|
-
"@dxos/plugin-client": "0.
|
|
135
|
-
"@dxos/plugin-
|
|
136
|
-
"@dxos/plugin-
|
|
137
|
-
"@dxos/plugin-
|
|
138
|
-
"@dxos/
|
|
139
|
-
"@dxos/
|
|
140
|
-
"@dxos/react-ui": "0.
|
|
141
|
-
"@dxos/
|
|
142
|
-
"@dxos/react-ui-
|
|
143
|
-
"@dxos/react-ui-
|
|
144
|
-
"@dxos/react-ui-
|
|
145
|
-
"@dxos/react-ui-
|
|
146
|
-
"@dxos/react-ui-
|
|
147
|
-
"@dxos/react-ui-
|
|
148
|
-
"@dxos/
|
|
149
|
-
"@dxos/react-ui-pickers": "0.
|
|
150
|
-
"@dxos/react-ui-search": "0.
|
|
151
|
-
"@dxos/
|
|
152
|
-
"@dxos/
|
|
153
|
-
"@dxos/
|
|
154
|
-
"@dxos/ui-
|
|
155
|
-
"@dxos/ui-
|
|
156
|
-
"@dxos/util": "0.
|
|
118
|
+
"@dxos/app-framework": "0.9.1-main.c7dcc2e112",
|
|
119
|
+
"@dxos/async": "0.9.1-main.c7dcc2e112",
|
|
120
|
+
"@dxos/app-toolkit": "0.9.1-main.c7dcc2e112",
|
|
121
|
+
"@dxos/cli-util": "0.9.1-main.c7dcc2e112",
|
|
122
|
+
"@dxos/client": "0.9.1-main.c7dcc2e112",
|
|
123
|
+
"@dxos/client-protocol": "0.9.1-main.c7dcc2e112",
|
|
124
|
+
"@dxos/context": "0.9.1-main.c7dcc2e112",
|
|
125
|
+
"@dxos/display-name": "0.9.1-main.c7dcc2e112",
|
|
126
|
+
"@dxos/compute": "0.9.1-main.c7dcc2e112",
|
|
127
|
+
"@dxos/echo": "0.9.1-main.c7dcc2e112",
|
|
128
|
+
"@dxos/effect": "0.9.1-main.c7dcc2e112",
|
|
129
|
+
"@dxos/invariant": "0.9.1-main.c7dcc2e112",
|
|
130
|
+
"@dxos/keys": "0.9.1-main.c7dcc2e112",
|
|
131
|
+
"@dxos/log": "0.9.1-main.c7dcc2e112",
|
|
132
|
+
"@dxos/plugin-graph": "0.9.1-main.c7dcc2e112",
|
|
133
|
+
"@dxos/echo-client": "0.9.1-main.c7dcc2e112",
|
|
134
|
+
"@dxos/migrations": "0.9.1-main.c7dcc2e112",
|
|
135
|
+
"@dxos/plugin-client": "0.9.1-main.c7dcc2e112",
|
|
136
|
+
"@dxos/plugin-settings": "0.9.1-main.c7dcc2e112",
|
|
137
|
+
"@dxos/plugin-status-bar": "0.9.1-main.c7dcc2e112",
|
|
138
|
+
"@dxos/plugin-observability": "0.9.1-main.c7dcc2e112",
|
|
139
|
+
"@dxos/react-client": "0.9.1-main.c7dcc2e112",
|
|
140
|
+
"@dxos/protocols": "0.9.1-main.c7dcc2e112",
|
|
141
|
+
"@dxos/react-ui": "0.9.1-main.c7dcc2e112",
|
|
142
|
+
"@dxos/react-ui-components": "0.9.1-main.c7dcc2e112",
|
|
143
|
+
"@dxos/react-ui-form": "0.9.1-main.c7dcc2e112",
|
|
144
|
+
"@dxos/react-ui-list": "0.9.1-main.c7dcc2e112",
|
|
145
|
+
"@dxos/react-ui-attention": "0.9.1-main.c7dcc2e112",
|
|
146
|
+
"@dxos/react-ui-menu": "0.9.1-main.c7dcc2e112",
|
|
147
|
+
"@dxos/react-ui-mosaic": "0.9.1-main.c7dcc2e112",
|
|
148
|
+
"@dxos/react-ui-masonry": "0.9.1-main.c7dcc2e112",
|
|
149
|
+
"@dxos/plugin-attention": "0.9.1-main.c7dcc2e112",
|
|
150
|
+
"@dxos/react-ui-pickers": "0.9.1-main.c7dcc2e112",
|
|
151
|
+
"@dxos/react-ui-search": "0.9.1-main.c7dcc2e112",
|
|
152
|
+
"@dxos/schema": "0.9.1-main.c7dcc2e112",
|
|
153
|
+
"@dxos/types": "0.9.1-main.c7dcc2e112",
|
|
154
|
+
"@dxos/shell": "0.9.1-main.c7dcc2e112",
|
|
155
|
+
"@dxos/ui-theme": "0.9.1-main.c7dcc2e112",
|
|
156
|
+
"@dxos/ui-types": "0.9.1-main.c7dcc2e112",
|
|
157
|
+
"@dxos/util": "0.9.1-main.c7dcc2e112"
|
|
157
158
|
},
|
|
158
159
|
"devDependencies": {
|
|
159
160
|
"@atlaskit/pragmatic-drag-and-drop-hitbox": "1.1.0",
|
|
@@ -166,13 +167,13 @@
|
|
|
166
167
|
"react": "~19.2.3",
|
|
167
168
|
"react-dom": "~19.2.3",
|
|
168
169
|
"vite": "^8.0.16",
|
|
169
|
-
"@dxos/lit-ui": "0.
|
|
170
|
-
"@dxos/plugin-
|
|
171
|
-
"@dxos/plugin-
|
|
172
|
-
"@dxos/
|
|
173
|
-
"@dxos/
|
|
174
|
-
"@dxos/ui-theme": "0.
|
|
175
|
-
"@dxos/
|
|
170
|
+
"@dxos/lit-ui": "0.9.1-main.c7dcc2e112",
|
|
171
|
+
"@dxos/plugin-testing": "0.9.1-main.c7dcc2e112",
|
|
172
|
+
"@dxos/plugin-preview": "0.9.1-main.c7dcc2e112",
|
|
173
|
+
"@dxos/random": "0.9.1-main.c7dcc2e112",
|
|
174
|
+
"@dxos/storybook-utils": "0.9.1-main.c7dcc2e112",
|
|
175
|
+
"@dxos/ui-theme": "0.9.1-main.c7dcc2e112",
|
|
176
|
+
"@dxos/react-ui": "0.9.1-main.c7dcc2e112"
|
|
176
177
|
},
|
|
177
178
|
"peerDependencies": {
|
|
178
179
|
"@effect-atom/atom-react": "^0.5.0",
|
|
@@ -180,8 +181,8 @@
|
|
|
180
181
|
"effect": "3.21.3",
|
|
181
182
|
"react": "~19.2.3",
|
|
182
183
|
"react-dom": "~19.2.3",
|
|
183
|
-
"@dxos/react-ui": "0.
|
|
184
|
-
"@dxos/ui-theme": "0.
|
|
184
|
+
"@dxos/react-ui": "0.9.1-main.c7dcc2e112",
|
|
185
|
+
"@dxos/ui-theme": "0.9.1-main.c7dcc2e112"
|
|
185
186
|
},
|
|
186
187
|
"publishConfig": {
|
|
187
188
|
"access": "public"
|
package/src/SpacePlugin.test.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { SpacePlugin } from '#plugin';
|
|
|
11
11
|
|
|
12
12
|
import { meta } from './meta';
|
|
13
13
|
|
|
14
|
-
const moduleId = (name: string) => `${meta.
|
|
14
|
+
const moduleId = (name: string) => `${meta.profile.key}.module.${name}`;
|
|
15
15
|
|
|
16
16
|
describe('SpacePlugin', () => {
|
|
17
17
|
test('modules activate on the expected events', async ({ expect }) => {
|
package/src/SpacePlugin.ts
CHANGED
|
@@ -26,7 +26,6 @@ import {
|
|
|
26
26
|
} from '@dxos/types';
|
|
27
27
|
|
|
28
28
|
import {
|
|
29
|
-
AppGraphSerializer,
|
|
30
29
|
CreateObject,
|
|
31
30
|
IdentityCreated,
|
|
32
31
|
NavigationHandler,
|
|
@@ -134,11 +133,6 @@ export const SpacePlugin = Plugin.define<SpacePluginOptions>(meta).pipe(
|
|
|
134
133
|
};
|
|
135
134
|
},
|
|
136
135
|
),
|
|
137
|
-
// TODO(wittjosiah): This could probably be deferred.
|
|
138
|
-
Plugin.addModule({
|
|
139
|
-
activatesOn: AppActivationEvents.AppGraphReady,
|
|
140
|
-
activate: AppGraphSerializer,
|
|
141
|
-
}),
|
|
142
136
|
Plugin.addModule({
|
|
143
137
|
activatesOn: ClientEvents.IdentityCreated,
|
|
144
138
|
firesAfterActivation: [SpaceEvents.PersonalSpaceReady],
|
|
@@ -160,7 +154,7 @@ export const SpacePlugin = Plugin.define<SpacePluginOptions>(meta).pipe(
|
|
|
160
154
|
activate: Repair,
|
|
161
155
|
}),
|
|
162
156
|
AppPlugin.addPluginAssetModule({
|
|
163
|
-
asset: { pluginId: meta.
|
|
157
|
+
asset: { pluginId: meta.profile.key, path: 'PLUGIN.mdl', content: pluginSpec, mimeType: 'application/x-mdl' },
|
|
164
158
|
}),
|
|
165
159
|
Plugin.make,
|
|
166
160
|
);
|
|
@@ -6,15 +6,7 @@ import * as Effect from 'effect/Effect';
|
|
|
6
6
|
import * as Option from 'effect/Option';
|
|
7
7
|
|
|
8
8
|
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
9
|
-
import {
|
|
10
|
-
AppCapabilities,
|
|
11
|
-
AppNodeMatcher,
|
|
12
|
-
LayoutOperation,
|
|
13
|
-
RootCollectionAnnotation,
|
|
14
|
-
Segments,
|
|
15
|
-
getObjectPathFromObject,
|
|
16
|
-
toUrlPath,
|
|
17
|
-
} from '@dxos/app-toolkit';
|
|
9
|
+
import { AppAnnotation, AppCapabilities, AppNode, AppNodeMatcher, LayoutOperation, Paths } from '@dxos/app-toolkit';
|
|
18
10
|
import { SpaceState, isSpace } from '@dxos/client/echo';
|
|
19
11
|
import { Operation } from '@dxos/compute';
|
|
20
12
|
import { Annotation, Collection, Obj, Type } from '@dxos/echo';
|
|
@@ -32,9 +24,6 @@ import {
|
|
|
32
24
|
CREATE_OBJECT_IN_COLLECTION_LABEL,
|
|
33
25
|
EXPOSE_OBJECT_LABEL,
|
|
34
26
|
REMOVE_FROM_COLLECTION_LABEL,
|
|
35
|
-
createObjectNode,
|
|
36
|
-
getCollectionGraphNodePartials,
|
|
37
|
-
getDynamicLabel,
|
|
38
27
|
} from './shared';
|
|
39
28
|
|
|
40
29
|
//
|
|
@@ -61,22 +50,24 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
|
|
|
61
50
|
}
|
|
62
51
|
|
|
63
52
|
get(Obj.atom(space.properties));
|
|
64
|
-
const collectionRef = Annotation.get(space.properties, RootCollectionAnnotation).pipe(
|
|
53
|
+
const collectionRef = Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation).pipe(
|
|
54
|
+
Option.getOrUndefined,
|
|
55
|
+
);
|
|
65
56
|
if (collectionRef) {
|
|
66
57
|
get(Obj.atom(collectionRef));
|
|
67
58
|
}
|
|
68
59
|
const rootCollection = collectionRef?.target;
|
|
69
60
|
const collectionPartials = rootCollection
|
|
70
|
-
? getCollectionGraphNodePartials({ db: space.db, collection: rootCollection })
|
|
61
|
+
? AppNode.getCollectionGraphNodePartials({ db: space.db, collection: rootCollection })
|
|
71
62
|
: undefined;
|
|
72
63
|
|
|
73
64
|
return Effect.succeed([
|
|
74
65
|
Node.make({
|
|
75
|
-
id: Segments.collections,
|
|
66
|
+
id: Paths.Segments.collections,
|
|
76
67
|
type: COLLECTIONS_SECTION_TYPE,
|
|
77
68
|
data: null,
|
|
78
69
|
properties: {
|
|
79
|
-
label: ['collections-section.label', { ns: meta.
|
|
70
|
+
label: ['collections-section.label', { ns: meta.profile.key }],
|
|
80
71
|
icon: 'ph--folder--regular',
|
|
81
72
|
iconHue: 'amber',
|
|
82
73
|
role: 'branch',
|
|
@@ -104,7 +95,9 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
|
|
|
104
95
|
const ephemeralState = get(ephemeralAtom);
|
|
105
96
|
|
|
106
97
|
get(Obj.atom(space.properties));
|
|
107
|
-
const collectionRef = Annotation.get(space.properties, RootCollectionAnnotation).pipe(
|
|
98
|
+
const collectionRef = Annotation.get(space.properties, AppAnnotation.RootCollectionAnnotation).pipe(
|
|
99
|
+
Option.getOrUndefined,
|
|
100
|
+
);
|
|
108
101
|
const collection = collectionRef ? get(Obj.atom(collectionRef)) : undefined;
|
|
109
102
|
if (!collection) {
|
|
110
103
|
return Effect.succeed([]);
|
|
@@ -122,7 +115,8 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
|
|
|
122
115
|
return Effect.succeed(
|
|
123
116
|
objects
|
|
124
117
|
.map((object: Obj.Unknown) =>
|
|
125
|
-
|
|
118
|
+
AppNode.makeObject({
|
|
119
|
+
get,
|
|
126
120
|
db: space.db,
|
|
127
121
|
object,
|
|
128
122
|
navigable: ephemeralState.navigableCollections,
|
|
@@ -158,7 +152,8 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
|
|
|
158
152
|
.map(
|
|
159
153
|
(object: Obj.Unknown) =>
|
|
160
154
|
db &&
|
|
161
|
-
|
|
155
|
+
AppNode.makeObject({
|
|
156
|
+
get,
|
|
162
157
|
object,
|
|
163
158
|
db,
|
|
164
159
|
navigable: ephemeralState.navigableCollections,
|
|
@@ -211,6 +206,31 @@ export const createCollectionExtensions = Effect.fnUntraced(function* ({
|
|
|
211
206
|
);
|
|
212
207
|
},
|
|
213
208
|
}),
|
|
209
|
+
|
|
210
|
+
// Action on the collections section header to create a new collection.
|
|
211
|
+
GraphBuilder.createExtension({
|
|
212
|
+
id: 'collectionsSectionActions',
|
|
213
|
+
match: (node) => {
|
|
214
|
+
const space = isSpace(node.properties.space) ? node.properties.space : undefined;
|
|
215
|
+
return node.type === COLLECTIONS_SECTION_TYPE && space ? Option.some(space) : Option.none();
|
|
216
|
+
},
|
|
217
|
+
actions: (space) =>
|
|
218
|
+
Effect.succeed([
|
|
219
|
+
Node.makeAction({
|
|
220
|
+
id: 'create-collection',
|
|
221
|
+
data: () =>
|
|
222
|
+
Operation.invoke(SpaceOperation.OpenCreateObject, {
|
|
223
|
+
target: space.db,
|
|
224
|
+
typename: Type.getTypename(Collection.Collection),
|
|
225
|
+
}),
|
|
226
|
+
properties: {
|
|
227
|
+
label: ['add-object.label', { ns: Type.getTypename(Collection.Collection) }],
|
|
228
|
+
icon: 'ph--plus--regular',
|
|
229
|
+
disposition: 'list-item-primary',
|
|
230
|
+
},
|
|
231
|
+
}),
|
|
232
|
+
]),
|
|
233
|
+
}),
|
|
214
234
|
]);
|
|
215
235
|
});
|
|
216
236
|
|
|
@@ -259,7 +279,7 @@ const constructObjectActions = ({
|
|
|
259
279
|
data: (params?: Node.InvokeProps) =>
|
|
260
280
|
Operation.invoke(SpaceOperation.RenameObject, { object, caller: `${params?.caller}:${params?.parent?.id}` }),
|
|
261
281
|
properties: {
|
|
262
|
-
label: getDynamicLabel('rename-object.label', typename, { defaultValue: 'Rename' }),
|
|
282
|
+
label: AppNode.getDynamicLabel('rename-object.label', typename, { defaultValue: 'Rename' }),
|
|
263
283
|
icon: 'ph--pencil-simple-line--regular',
|
|
264
284
|
disposition: 'list-item',
|
|
265
285
|
testId: 'spacePlugin.renameObject',
|
|
@@ -282,7 +302,7 @@ const constructObjectActions = ({
|
|
|
282
302
|
|
|
283
303
|
if (isActive) {
|
|
284
304
|
yield* Operation.invoke(LayoutOperation.Open, {
|
|
285
|
-
subject: [getObjectPathFromObject(object)],
|
|
305
|
+
subject: [Paths.getObjectPathFromObject(object)],
|
|
286
306
|
});
|
|
287
307
|
}
|
|
288
308
|
}
|
|
@@ -304,7 +324,7 @@ const constructObjectActions = ({
|
|
|
304
324
|
target: parentCollection,
|
|
305
325
|
}),
|
|
306
326
|
properties: {
|
|
307
|
-
label: getDynamicLabel('delete-object.label', typename, { defaultValue: 'Delete' }),
|
|
327
|
+
label: AppNode.getDynamicLabel('delete-object.label', typename, { defaultValue: 'Delete' }),
|
|
308
328
|
icon: 'ph--trash--regular',
|
|
309
329
|
disposition: 'list-item',
|
|
310
330
|
disabled: !deletable,
|
|
@@ -317,7 +337,7 @@ const constructObjectActions = ({
|
|
|
317
337
|
id: 'copyLink',
|
|
318
338
|
data: () =>
|
|
319
339
|
Effect.promise(async () => {
|
|
320
|
-
const url = new URL(toUrlPath(nodeId), shareableLinkOrigin);
|
|
340
|
+
const url = new URL(Paths.toUrlPath(nodeId), shareableLinkOrigin);
|
|
321
341
|
await navigator.clipboard.writeText(url.toString());
|
|
322
342
|
}),
|
|
323
343
|
properties: {
|
|
@@ -331,7 +351,7 @@ const constructObjectActions = ({
|
|
|
331
351
|
: []),
|
|
332
352
|
Node.makeAction({
|
|
333
353
|
id: LayoutOperation.Expose.meta.key,
|
|
334
|
-
data: () => Operation.invoke(LayoutOperation.Expose, { subject: getObjectPathFromObject(object) }),
|
|
354
|
+
data: () => Operation.invoke(LayoutOperation.Expose, { subject: Paths.getObjectPathFromObject(object) }),
|
|
335
355
|
properties: {
|
|
336
356
|
label: EXPOSE_OBJECT_LABEL,
|
|
337
357
|
icon: 'ph--eye--regular',
|
|
@@ -31,7 +31,7 @@ export const createCompanionExtensions: () => Effect.Effect<GraphBuilder.Builder
|
|
|
31
31
|
Effect.succeed([
|
|
32
32
|
AppNode.makeCompanion({
|
|
33
33
|
id: linkedSegment('settings'),
|
|
34
|
-
label: ['object-properties.label', { ns: meta.
|
|
34
|
+
label: ['object-properties.label', { ns: meta.profile.key }],
|
|
35
35
|
icon: 'ph--sliders--regular',
|
|
36
36
|
data: 'settings', // TODO(burdon): Change to 'object-properties'.
|
|
37
37
|
position: 'last',
|
|
@@ -47,7 +47,7 @@ export const createCompanionExtensions: () => Effect.Effect<GraphBuilder.Builder
|
|
|
47
47
|
Effect.succeed([
|
|
48
48
|
AppNode.makeCompanion({
|
|
49
49
|
id: linkedSegment('related'),
|
|
50
|
-
label: ['companion-related.label', { ns: meta.
|
|
50
|
+
label: ['companion-related.label', { ns: meta.profile.key }],
|
|
51
51
|
icon: 'ph--graph--regular',
|
|
52
52
|
data: 'related',
|
|
53
53
|
position: 'last',
|
|
@@ -79,7 +79,7 @@ export const createCompanionExtensions: () => Effect.Effect<GraphBuilder.Builder
|
|
|
79
79
|
Effect.succeed([
|
|
80
80
|
AppNode.makeCompanion({
|
|
81
81
|
id: linkedSegment('selected-objects'),
|
|
82
|
-
label: ['companion-selected-objects.label', { ns: meta.
|
|
82
|
+
label: ['companion-selected-objects.label', { ns: meta.profile.key }],
|
|
83
83
|
icon: 'ph--tree-view--regular',
|
|
84
84
|
data: 'selected-objects',
|
|
85
85
|
}),
|
|
@@ -8,7 +8,7 @@ import * as Match from 'effect/Match';
|
|
|
8
8
|
import * as Option from 'effect/Option';
|
|
9
9
|
|
|
10
10
|
import { Capability, type CapabilityManager } from '@dxos/app-framework';
|
|
11
|
-
import { AppNode, AppNodeMatcher, LayoutOperation,
|
|
11
|
+
import { AppNode, AppNodeMatcher, LayoutOperation, Paths } from '@dxos/app-toolkit';
|
|
12
12
|
import { type Space, SpaceState, isSpace } from '@dxos/client/echo';
|
|
13
13
|
import { Operation } from '@dxos/compute';
|
|
14
14
|
import { Annotation, Collection, Entity, Filter, Obj, Query, Scope, Type } from '@dxos/echo';
|
|
@@ -32,9 +32,7 @@ import {
|
|
|
32
32
|
TYPES_SECTION_TYPE,
|
|
33
33
|
TYPE_COLLECTION_TYPE,
|
|
34
34
|
buildViewIndex,
|
|
35
|
-
createObjectNode,
|
|
36
35
|
downloadBlob,
|
|
37
|
-
getDynamicLabel,
|
|
38
36
|
} from './shared';
|
|
39
37
|
|
|
40
38
|
//
|
|
@@ -58,9 +56,9 @@ export const createDatabaseExtensions = Effect.fnUntraced(function* () {
|
|
|
58
56
|
|
|
59
57
|
return Effect.succeed([
|
|
60
58
|
AppNode.makeSection({
|
|
61
|
-
id: Segments.types,
|
|
59
|
+
id: Paths.Segments.types,
|
|
62
60
|
type: TYPES_SECTION_TYPE,
|
|
63
|
-
label: ['types-section.label', { ns: meta.
|
|
61
|
+
label: ['types-section.label', { ns: meta.profile.key }],
|
|
64
62
|
icon: 'ph--database--regular',
|
|
65
63
|
space,
|
|
66
64
|
position: 'last',
|
|
@@ -130,7 +128,7 @@ export const createDatabaseExtensions = Effect.fnUntraced(function* () {
|
|
|
130
128
|
const client = get(capabilities.atom(ClientCapabilities.Client)).at(0);
|
|
131
129
|
const schemas = client ? get(client.graph.registry.query(Filter.type(Type.Type)).atom) : [];
|
|
132
130
|
|
|
133
|
-
const slug = getTypeSlug(schema);
|
|
131
|
+
const slug = Paths.getTypeSlug(schema);
|
|
134
132
|
const typeUri = Type.getURI(schema);
|
|
135
133
|
|
|
136
134
|
// {All} virtual node.
|
|
@@ -139,7 +137,7 @@ export const createDatabaseExtensions = Effect.fnUntraced(function* () {
|
|
|
139
137
|
type: TYPE_COLLECTION_TYPE,
|
|
140
138
|
data: { space, typeUri },
|
|
141
139
|
properties: {
|
|
142
|
-
label: ['type-collection-all.label', { ns: meta.
|
|
140
|
+
label: ['type-collection-all.label', { ns: meta.profile.key }],
|
|
143
141
|
icon: 'ph--list--regular',
|
|
144
142
|
iconHue: 'neutral',
|
|
145
143
|
role: 'branch',
|
|
@@ -157,7 +155,8 @@ export const createDatabaseExtensions = Effect.fnUntraced(function* () {
|
|
|
157
155
|
const viewNodes = viewIndex
|
|
158
156
|
.getViewsForTypeUri(typeUri)
|
|
159
157
|
.map((object: Obj.Unknown) =>
|
|
160
|
-
|
|
158
|
+
AppNode.makeObject({
|
|
159
|
+
get,
|
|
161
160
|
db: space.db,
|
|
162
161
|
object,
|
|
163
162
|
droppable: false,
|
|
@@ -190,7 +189,8 @@ export const createDatabaseExtensions = Effect.fnUntraced(function* () {
|
|
|
190
189
|
objects
|
|
191
190
|
.map((object: Obj.Unknown) => {
|
|
192
191
|
get(Obj.atom(object));
|
|
193
|
-
return
|
|
192
|
+
return AppNode.makeObject({
|
|
193
|
+
get,
|
|
194
194
|
db: space.db,
|
|
195
195
|
object,
|
|
196
196
|
droppable: false,
|
|
@@ -254,7 +254,7 @@ const createSchemaNode = ({
|
|
|
254
254
|
const typename = Type.getTypename(schema);
|
|
255
255
|
// The node id doubles as the `types/<slug>` path segment, so it must be slash- and colon-free:
|
|
256
256
|
// a stored schema's entity id, or a static schema's typename.
|
|
257
|
-
const slug = getTypeSlug(schema);
|
|
257
|
+
const slug = Paths.getTypeSlug(schema);
|
|
258
258
|
const iconAnnotation =
|
|
259
259
|
Type.getDatabase(schema) == null
|
|
260
260
|
? Option.getOrUndefined(Annotation.IconAnnotation.get(Type.getSchema(schema)))
|
|
@@ -275,7 +275,7 @@ const createSchemaNode = ({
|
|
|
275
275
|
},
|
|
276
276
|
),
|
|
277
277
|
Match.orElse(() => ({
|
|
278
|
-
label: getDynamicLabel('typename.label', typename, { count: 2, defaultValue: typename }),
|
|
278
|
+
label: AppNode.getDynamicLabel('typename.label', typename, { count: 2, defaultValue: typename }),
|
|
279
279
|
nodeId: slug,
|
|
280
280
|
})),
|
|
281
281
|
);
|
|
@@ -351,7 +351,10 @@ const createSchemaActions = ({
|
|
|
351
351
|
properties: {
|
|
352
352
|
// Static plugin types carry a per-typename `add-object.label` (e.g. "Add event");
|
|
353
353
|
// database types have no such namespace, so fall back to the plugin's generic label.
|
|
354
|
-
label: getDynamicLabel(
|
|
354
|
+
label: AppNode.getDynamicLabel(
|
|
355
|
+
'add-object.label',
|
|
356
|
+
Type.getDatabase(type) != null ? meta.profile.key : typename,
|
|
357
|
+
),
|
|
355
358
|
icon: 'ph--plus--regular',
|
|
356
359
|
disposition: 'list-item-primary',
|
|
357
360
|
testId: 'spacePlugin.createObject',
|
|
@@ -384,7 +387,7 @@ const createSchemaActions = ({
|
|
|
384
387
|
})
|
|
385
388
|
: Effect.fail(new Error('Cannot rename immutable schema')),
|
|
386
389
|
properties: {
|
|
387
|
-
label: getDynamicLabel('rename-object.label', Type.getTypename(Type.Type)),
|
|
390
|
+
label: AppNode.getDynamicLabel('rename-object.label', Type.getTypename(Type.Type)),
|
|
388
391
|
icon: 'ph--pencil-simple-line--regular',
|
|
389
392
|
disabled: Type.getDatabase(type) == null,
|
|
390
393
|
disposition: 'list-item',
|
|
@@ -400,7 +403,7 @@ const createSchemaActions = ({
|
|
|
400
403
|
})
|
|
401
404
|
: Effect.succeed(undefined),
|
|
402
405
|
properties: {
|
|
403
|
-
label: getDynamicLabel('delete-object.label', Type.getTypename(Type.Type)),
|
|
406
|
+
label: AppNode.getDynamicLabel('delete-object.label', Type.getTypename(Type.Type)),
|
|
404
407
|
icon: 'ph--trash--regular',
|
|
405
408
|
disposition: 'list-item',
|
|
406
409
|
disabled: !deletable,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
|
-
import { AppNode, AppNodeMatcher,
|
|
7
|
+
import { AppNode, AppNodeMatcher, AppSpace } from '@dxos/app-toolkit';
|
|
8
8
|
import { GraphBuilder, Node } from '@dxos/plugin-graph';
|
|
9
9
|
|
|
10
10
|
import { meta } from '#meta';
|
|
@@ -31,7 +31,7 @@ export const createSettingsExtensions = Effect.fnUntraced(function* () {
|
|
|
31
31
|
AppNode.makeSection({
|
|
32
32
|
id: SETTINGS_SECTION_ID,
|
|
33
33
|
type: SETTINGS_SECTION_TYPE,
|
|
34
|
-
label: ['settings-section.label', { ns: meta.
|
|
34
|
+
label: ['settings-section.label', { ns: meta.profile.key }],
|
|
35
35
|
icon: 'ph--sliders--regular',
|
|
36
36
|
iconHue: 'indigo',
|
|
37
37
|
space,
|
|
@@ -45,14 +45,14 @@ export const createSettingsExtensions = Effect.fnUntraced(function* () {
|
|
|
45
45
|
id: 'settingsSections',
|
|
46
46
|
match: AppNodeMatcher.whenSpaceSettings,
|
|
47
47
|
connector: (space) => {
|
|
48
|
-
const personal = isPersonalSpace(space);
|
|
48
|
+
const personal = AppSpace.isPersonalSpace(space);
|
|
49
49
|
return Effect.succeed([
|
|
50
50
|
Node.make({
|
|
51
51
|
id: 'general',
|
|
52
|
-
type: `${meta.
|
|
53
|
-
data: `${meta.
|
|
52
|
+
type: `${meta.profile.key}.general`,
|
|
53
|
+
data: `${meta.profile.key}.general`,
|
|
54
54
|
properties: {
|
|
55
|
-
label: ['space-settings-properties.label', { ns: meta.
|
|
55
|
+
label: ['space-settings-properties.label', { ns: meta.profile.key }],
|
|
56
56
|
icon: 'ph--brackets-curly--regular',
|
|
57
57
|
iconHue: 'indigo',
|
|
58
58
|
space,
|
|
@@ -63,10 +63,10 @@ export const createSettingsExtensions = Effect.fnUntraced(function* () {
|
|
|
63
63
|
? [
|
|
64
64
|
Node.make({
|
|
65
65
|
id: 'members',
|
|
66
|
-
type: `${meta.
|
|
67
|
-
data: `${meta.
|
|
66
|
+
type: `${meta.profile.key}.members`,
|
|
67
|
+
data: `${meta.profile.key}.members`,
|
|
68
68
|
properties: {
|
|
69
|
-
label: ['members-panel.label', { ns: meta.
|
|
69
|
+
label: ['members-panel.label', { ns: meta.profile.key }],
|
|
70
70
|
icon: 'ph--users--regular',
|
|
71
71
|
iconHue: 'indigo',
|
|
72
72
|
space,
|
|
@@ -17,36 +17,21 @@ import { type Label } from '@dxos/ui-types/translations';
|
|
|
17
17
|
|
|
18
18
|
import { meta } from '#meta';
|
|
19
19
|
|
|
20
|
-
export {
|
|
21
|
-
ACCEPT_ECHO_CLASS,
|
|
22
|
-
CACHEABLE_PROPS,
|
|
23
|
-
CAN_DROP_OBJECT,
|
|
24
|
-
blockInstructionCache,
|
|
25
|
-
buildCollectionPartials,
|
|
26
|
-
collectionPartialsCache,
|
|
27
|
-
createFactory,
|
|
28
|
-
createObjectNode,
|
|
29
|
-
getAcceptPersistenceKey,
|
|
30
|
-
getCollectionGraphNodePartials,
|
|
31
|
-
getDynamicLabel,
|
|
32
|
-
rearrangeCache,
|
|
33
|
-
} from '@dxos/app-toolkit';
|
|
34
|
-
|
|
35
20
|
//
|
|
36
21
|
// Virtual Node Types
|
|
37
22
|
//
|
|
38
23
|
|
|
39
|
-
export const TYPES_SECTION_TYPE = `${meta.
|
|
40
|
-
export const COLLECTIONS_SECTION_TYPE = `${meta.
|
|
41
|
-
export const TYPE_COLLECTION_TYPE = `${meta.
|
|
42
|
-
export const STATIC_SCHEMA_TYPE = `${meta.
|
|
24
|
+
export const TYPES_SECTION_TYPE = `${meta.profile.key}.types`;
|
|
25
|
+
export const COLLECTIONS_SECTION_TYPE = `${meta.profile.key}.collections`;
|
|
26
|
+
export const TYPE_COLLECTION_TYPE = `${meta.profile.key}.type-collection`;
|
|
27
|
+
export const STATIC_SCHEMA_TYPE = `${meta.profile.key}.static-schema`;
|
|
43
28
|
|
|
44
29
|
//
|
|
45
30
|
// Constants
|
|
46
31
|
//
|
|
47
32
|
|
|
48
33
|
/** Shared translation namespace descriptor. */
|
|
49
|
-
export const META_NS: { ns: string } = { ns: meta.
|
|
34
|
+
export const META_NS: { ns: string } = { ns: meta.profile.key };
|
|
50
35
|
|
|
51
36
|
//
|
|
52
37
|
// Stable Callbacks
|