@dxos/plugin-space 0.8.4-main.2e9d522 → 0.8.4-main.3c1ae3b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionArticle-WTHWY4YS.mjs} +10 -10
- package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +7 -0
- package/dist/lib/browser/ObjectCardStack-TE7AWPMH.mjs +144 -0
- package/dist/lib/browser/ObjectCardStack-TE7AWPMH.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetails-666IBRHE.mjs +144 -0
- package/dist/lib/browser/ObjectDetails-666IBRHE.mjs.map +7 -0
- package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs +116 -0
- package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-USKWFIDK.mjs +551 -0
- package/dist/lib/browser/app-graph-builder-USKWFIDK.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs → app-graph-serializer-SXIQ425K.mjs} +19 -19
- package/dist/lib/browser/app-graph-serializer-SXIQ425K.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VLBRSGJ2.mjs → chunk-5CSSKOWR.mjs} +42 -16
- package/dist/lib/browser/chunk-5CSSKOWR.mjs.map +7 -0
- package/dist/lib/browser/chunk-C6DAPIFF.mjs +20 -0
- package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +7 -0
- package/dist/lib/browser/chunk-E4BEMEZ3.mjs +399 -0
- package/dist/lib/browser/chunk-E4BEMEZ3.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XUYKJUU7.mjs → chunk-IJCMB5B5.mjs} +269 -145
- package/dist/lib/browser/chunk-IJCMB5B5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QACNNDOT.mjs → chunk-POFUXISV.mjs} +69 -62
- package/dist/lib/browser/chunk-POFUXISV.mjs.map +7 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
- package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
- package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
- package/dist/lib/browser/{chunk-V7MJSSBQ.mjs → chunk-XKQCDLXX.mjs} +734 -615
- package/dist/lib/browser/chunk-XKQCDLXX.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-NAXTPQXE.mjs} +6 -6
- package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +92 -139
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-TIXVDYN7.mjs → intent-resolver-QEIM7NQT.mjs} +118 -109
- package/dist/lib/browser/intent-resolver-QEIM7NQT.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-T6ZETLD2.mjs +30 -0
- package/dist/lib/browser/react-root-T6ZETLD2.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-TPNLWJJH.mjs → react-surface-MLN5BZ2G.mjs} +120 -120
- package/dist/lib/browser/react-surface-MLN5BZ2G.mjs.map +7 -0
- package/dist/lib/browser/repair-CNLE35NF.mjs +44 -0
- package/dist/lib/browser/repair-CNLE35NF.mjs.map +7 -0
- package/dist/lib/browser/{settings-4IMP5RYT.mjs → settings-EGTCHS7U.mjs} +5 -5
- package/dist/lib/browser/{settings-4IMP5RYT.mjs.map → settings-EGTCHS7U.mjs.map} +1 -1
- package/dist/lib/browser/{spaces-ready-TOPG6IV4.mjs → spaces-ready-YS4BBZXW.mjs} +29 -20
- package/dist/lib/browser/spaces-ready-YS4BBZXW.mjs.map +7 -0
- package/dist/lib/browser/{state-QYZAB45H.mjs → state-C7N6EDDZ.mjs} +7 -7
- package/dist/lib/browser/state-C7N6EDDZ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +10 -4
- package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionArticle-KHXYT3SH.mjs} +10 -10
- package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectCardStack-AAKMAQ6T.mjs +145 -0
- package/dist/lib/node-esm/ObjectCardStack-AAKMAQ6T.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetails-TZ5YKXGN.mjs +145 -0
- package/dist/lib/node-esm/ObjectDetails-TZ5YKXGN.mjs.map +7 -0
- package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs +117 -0
- package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-QRQ5EQLB.mjs +552 -0
- package/dist/lib/node-esm/app-graph-builder-QRQ5EQLB.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs → app-graph-serializer-P2X4W7LI.mjs} +19 -19
- package/dist/lib/node-esm/app-graph-serializer-P2X4W7LI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs → chunk-3D4NGZPW.mjs} +269 -145
- package/dist/lib/node-esm/chunk-3D4NGZPW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-P442DOQ3.mjs → chunk-AX3UGL5D.mjs} +69 -62
- package/dist/lib/node-esm/chunk-AX3UGL5D.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-QQQE2ZCX.mjs +400 -0
- package/dist/lib/node-esm/chunk-QQQE2ZCX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SSLBYZEY.mjs → chunk-UMZ7G6G4.mjs} +41 -16
- package/dist/lib/node-esm/chunk-UMZ7G6G4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WWGV5FJM.mjs +21 -0
- package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6X5DLJM5.mjs → chunk-XD532BVR.mjs} +734 -615
- package/dist/lib/node-esm/chunk-XD532BVR.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-OXLKCJE3.mjs} +6 -6
- package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +92 -139
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MHGHRGDT.mjs → intent-resolver-ZWCBVABN.mjs} +118 -109
- package/dist/lib/node-esm/intent-resolver-ZWCBVABN.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs → react-root-SKB4UJ4K.mjs} +13 -12
- package/dist/lib/node-esm/react-root-SKB4UJ4K.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-UUIUUD6P.mjs → react-surface-BVZGNSBB.mjs} +120 -120
- package/dist/lib/node-esm/react-surface-BVZGNSBB.mjs.map +7 -0
- package/dist/lib/node-esm/repair-EHZS6MFY.mjs +45 -0
- package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-SAOBPND3.mjs → settings-N3F6JCIR.mjs} +5 -5
- package/dist/lib/node-esm/{settings-SAOBPND3.mjs.map → settings-N3F6JCIR.mjs.map} +1 -1
- package/dist/lib/node-esm/{spaces-ready-HIUKNDZK.mjs → spaces-ready-U2K5P4LB.mjs} +29 -20
- package/dist/lib/node-esm/spaces-ready-U2K5P4LB.mjs.map +7 -0
- package/dist/lib/node-esm/{state-ZVEHQ4BJ.mjs → state-45TXZQJ6.mjs} +7 -7
- package/dist/lib/node-esm/state-45TXZQJ6.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +10 -4
- package/dist/types/src/SpacePlugin.d.ts +1 -1
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +14 -8
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +11 -12
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts +2 -2
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair.d.ts +4 -0
- package/dist/types/src/capabilities/repair.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +1 -1
- 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/CollectionArticle.d.ts +6 -0
- package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
- package/dist/types/src/components/CollectionSection.d.ts +3 -4
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1588 -4
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +18 -9
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
- package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
- package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
- package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
- package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +3 -2
- package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1591 -0
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
- package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts +8 -0
- package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
- package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts +9 -0
- package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectCardStack/index.d.ts +3 -0
- package/dist/types/src/components/ObjectCardStack/index.d.ts.map +1 -0
- package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +1424 -0
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts +8 -0
- package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +8 -0
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
- package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
- package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/components/RecordArticle.d.ts +5 -0
- package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
- package/dist/types/src/components/RecordArticle.stories.d.ts +1591 -0
- package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
- package/dist/types/src/components/SchemaContainer.d.ts +2 -2
- 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 → SpacePresence/SpacePresence.d.ts} +6 -5
- package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
- package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +1421 -0
- package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
- package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
- package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
- package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
- package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1421 -4
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1422 -5
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor.d.ts +3 -4
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +10 -12
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/helpers/index.d.ts +2 -0
- package/dist/types/src/helpers/index.d.ts.map +1 -0
- package/dist/types/src/helpers/query.d.ts +7 -0
- package/dist/types/src/helpers/query.d.ts.map +1 -0
- package/dist/types/src/helpers/query.test.d.ts +2 -0
- package/dist/types/src/helpers/query.test.d.ts.map +1 -0
- 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.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/usePath.d.ts +1 -1
- package/dist/types/src/hooks/usePath.d.ts.map +1 -1
- package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
- package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1261 -67
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/form.d.ts +22 -0
- package/dist/types/src/types/form.d.ts.map +1 -0
- 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/types.d.ts +96 -157
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +25 -36
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +70 -59
- package/src/SpacePlugin.ts +182 -222
- package/src/capabilities/app-graph-builder.ts +271 -246
- package/src/capabilities/app-graph-serializer.ts +12 -12
- package/src/capabilities/capabilities.ts +28 -17
- package/src/capabilities/identity-created.ts +3 -3
- package/src/capabilities/index.ts +1 -2
- package/src/capabilities/intent-resolver.ts +92 -81
- package/src/capabilities/react-root.tsx +6 -4
- package/src/capabilities/react-surface.tsx +127 -155
- package/src/capabilities/repair.ts +57 -0
- package/src/capabilities/spaces-ready.ts +38 -17
- package/src/capabilities/state.ts +5 -4
- package/src/components/AwaitingObject.tsx +12 -14
- package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
- package/src/components/CollectionSection.tsx +8 -6
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +17 -16
- package/src/components/CreateDialog/CreateObjectDialog.tsx +74 -46
- package/src/components/CreateDialog/CreateObjectPanel.tsx +65 -43
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +45 -22
- package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
- package/src/components/JoinDialog/index.ts +5 -0
- package/src/components/MembersContainer/MembersContainer.stories.tsx +56 -0
- package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +22 -21
- package/src/components/MembersContainer/index.ts +5 -0
- package/src/components/MenuFooter.tsx +2 -2
- package/src/components/ObjectCardStack/ObjectCardStack.tsx +64 -0
- package/src/components/ObjectCardStack/ObjectForm.tsx +90 -0
- package/src/components/ObjectCardStack/index.ts +7 -0
- package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +63 -0
- package/src/components/ObjectDetails/BaseObjectSettings.tsx +118 -0
- package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +8 -8
- package/src/components/ObjectDetails/ObjectDetails.tsx +35 -0
- package/src/components/ObjectDetails/index.ts +7 -0
- package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +10 -16
- package/src/components/ObjectRenamePopover/index.ts +5 -0
- package/src/components/RecordArticle.stories.tsx +115 -0
- package/src/components/RecordArticle.tsx +114 -0
- package/src/components/SchemaContainer.tsx +26 -29
- package/src/components/SpacePluginSettings.tsx +16 -11
- package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +24 -23
- package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +22 -17
- package/src/components/SpacePresence/index.ts +5 -0
- package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
- package/src/components/SpaceRenamePopover/index.ts +5 -0
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +190 -155
- package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
- package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
- package/src/components/SyncStatus/SyncStatus.tsx +109 -12
- package/src/components/ViewEditor.tsx +56 -23
- package/src/components/index.ts +7 -7
- package/src/events.ts +7 -7
- package/src/helpers/index.ts +5 -0
- package/src/helpers/query.test.ts +24 -0
- package/src/helpers/query.ts +152 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useActiveSpace.ts +3 -2
- package/src/hooks/useInputSurfaceLookup.tsx +9 -13
- package/src/hooks/usePath.ts +1 -1
- package/src/hooks/useTypeOptions.ts +25 -0
- package/src/index.ts +1 -0
- package/src/meta.ts +6 -3
- package/src/translations.ts +68 -58
- package/src/types/form.ts +69 -0
- package/src/types/index.ts +1 -0
- package/src/types/types.ts +51 -52
- package/src/util.tsx +269 -147
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs +0 -88
- package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs +0 -479
- package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-H6AW7KGS.mjs.map +0 -7
- package/dist/lib/browser/chunk-CEFHNVU7.mjs +0 -20
- package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +0 -7
- package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
- package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
- package/dist/lib/browser/chunk-JS3MMC42.mjs +0 -19
- package/dist/lib/browser/chunk-JS3MMC42.mjs.map +0 -7
- package/dist/lib/browser/chunk-QACNNDOT.mjs.map +0 -7
- package/dist/lib/browser/chunk-SGTQ52SU.mjs +0 -338
- package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +0 -7
- package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
- package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +0 -7
- package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +0 -7
- package/dist/lib/browser/react-root-N2J7TDRX.mjs +0 -29
- package/dist/lib/browser/react-root-N2J7TDRX.mjs.map +0 -7
- package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs +0 -26
- package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
- package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-TOPG6IV4.mjs.map +0 -7
- package/dist/lib/browser/state-QYZAB45H.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs +0 -89
- package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs +0 -480
- package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-2ICUGQQT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5HHYE264.mjs +0 -20
- package/dist/lib/node-esm/chunk-5HHYE264.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5T3ZH23B.mjs +0 -21
- package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
- package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JH6F4C3I.mjs +0 -339
- package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-KW3TGJGY.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs +0 -27
- package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs.map +0 -7
- package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
- package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-HIUKNDZK.mjs.map +0 -7
- package/dist/lib/node-esm/state-ZVEHQ4BJ.mjs.map +0 -7
- package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
- package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
- package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
- package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
- package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
- package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
- package/dist/types/src/components/CollectionMain.d.ts +0 -7
- package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
- package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
- package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts +0 -2
- package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
- package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
- package/src/capabilities/schema-defs.ts +0 -30
- package/src/capabilities/schema-tool.test.ts +0 -44
- package/src/capabilities/schema-tools.ts +0 -125
- package/src/components/MembersContainer.stories.tsx +0 -30
- package/src/components/ObjectDetailsPanel.tsx +0 -77
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -80
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -47
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -36
- package/src/components/ObjectSettings/index.ts +0 -5
- package/src/components/PersistenceStatus.tsx +0 -83
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AwaitingObject
|
|
3
|
+
} from "./chunk-XKQCDLXX.mjs";
|
|
4
|
+
import "./chunk-5CSSKOWR.mjs";
|
|
5
|
+
import {
|
|
6
|
+
SpaceCapabilities
|
|
7
|
+
} from "./chunk-C6DAPIFF.mjs";
|
|
8
|
+
import "./chunk-IJCMB5B5.mjs";
|
|
9
|
+
import "./chunk-E4BEMEZ3.mjs";
|
|
10
|
+
import {
|
|
11
|
+
meta
|
|
12
|
+
} from "./chunk-VZBIIYFM.mjs";
|
|
13
|
+
|
|
14
|
+
// src/capabilities/react-root.tsx
|
|
15
|
+
import React from "react";
|
|
16
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
17
|
+
import { useCapability } from "@dxos/app-framework/react";
|
|
18
|
+
var react_root_default = (() => contributes(Capabilities.ReactRoot, {
|
|
19
|
+
id: meta.id,
|
|
20
|
+
root: () => {
|
|
21
|
+
const state = useCapability(SpaceCapabilities.State);
|
|
22
|
+
return state.awaiting ? /* @__PURE__ */ React.createElement(AwaitingObject, {
|
|
23
|
+
id: state.awaiting
|
|
24
|
+
}) : null;
|
|
25
|
+
}
|
|
26
|
+
}));
|
|
27
|
+
export {
|
|
28
|
+
react_root_default as default
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=react-root-T6ZETLD2.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-root.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/react';\n\nimport { AwaitingObject } from '../components';\nimport { meta } from '../meta';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactRoot, {\n id: meta.id,\n root: () => {\n const state = useCapability(SpaceCapabilities.State);\n return state.awaiting ? <AwaitingObject id={state.awaiting} /> : null;\n },\n });\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,mBAAmB;AAC1C,SAASC,qBAAqB;AAO9B,IAAA,sBAAe,MACbC,YAAYC,aAAaC,WAAW;EAClCC,IAAIC,KAAKD;EACTE,MAAM,MAAA;AACJ,UAAMC,QAAQC,cAAcC,kBAAkBC,KAAK;AACnD,WAAOH,MAAMI,WAAW,sBAAA,cAACC,gBAAAA;MAAeR,IAAIG,MAAMI;SAAe;EACnE;AACF,CAAA;",
|
|
6
|
+
"names": ["React", "Capabilities", "contributes", "useCapability", "contributes", "Capabilities", "ReactRoot", "id", "meta", "root", "state", "useCapability", "SpaceCapabilities", "State", "awaiting", "AwaitingObject"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CREATE_OBJECT_DIALOG,
|
|
3
3
|
CREATE_SPACE_DIALOG,
|
|
4
|
-
|
|
4
|
+
CollectionArticle,
|
|
5
5
|
CollectionSection,
|
|
6
6
|
CreateObjectDialog,
|
|
7
7
|
CreateSpaceDialog,
|
|
@@ -10,53 +10,53 @@ import {
|
|
|
10
10
|
JoinDialog,
|
|
11
11
|
MembersContainer,
|
|
12
12
|
MenuFooter,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
OBJECT_RENAME_POPOVER,
|
|
14
|
+
ObjectCardStack,
|
|
15
|
+
ObjectDetails,
|
|
16
|
+
ObjectRenamePopover,
|
|
17
|
+
RecordArticle,
|
|
18
|
+
SPACE_RENAME_POPOVER,
|
|
19
19
|
SchemaContainer,
|
|
20
20
|
SmallPresenceLive,
|
|
21
21
|
SpacePluginSettings,
|
|
22
22
|
SpacePresence,
|
|
23
|
+
SpaceRenamePopover,
|
|
23
24
|
SpaceSettingsContainer,
|
|
24
25
|
SyncStatus,
|
|
25
26
|
ViewEditor
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import
|
|
27
|
+
} from "./chunk-XKQCDLXX.mjs";
|
|
28
|
+
import {
|
|
29
|
+
useTypeOptions
|
|
30
|
+
} from "./chunk-5CSSKOWR.mjs";
|
|
28
31
|
import {
|
|
29
32
|
SpaceCapabilities
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
33
|
+
} from "./chunk-C6DAPIFF.mjs";
|
|
34
|
+
import "./chunk-IJCMB5B5.mjs";
|
|
32
35
|
import {
|
|
33
36
|
HueAnnotationId,
|
|
34
|
-
IconAnnotationId
|
|
35
|
-
|
|
37
|
+
IconAnnotationId,
|
|
38
|
+
TypeInputOptionsAnnotationId
|
|
39
|
+
} from "./chunk-E4BEMEZ3.mjs";
|
|
36
40
|
import {
|
|
37
|
-
|
|
38
|
-
} from "./chunk-
|
|
41
|
+
meta
|
|
42
|
+
} from "./chunk-VZBIIYFM.mjs";
|
|
39
43
|
|
|
40
44
|
// src/capabilities/react-surface.tsx
|
|
41
|
-
import
|
|
42
|
-
import
|
|
43
|
-
import {
|
|
45
|
+
import * as Option from "effect/Option";
|
|
46
|
+
import React, { useCallback } from "react";
|
|
47
|
+
import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
|
|
48
|
+
import { Surface, useCapability, useLayout } from "@dxos/app-framework/react";
|
|
49
|
+
import { Obj } from "@dxos/echo";
|
|
44
50
|
import { findAnnotation } from "@dxos/effect";
|
|
45
51
|
import { SettingsStore } from "@dxos/local-storage";
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import { Input, useTranslation } from "@dxos/react-ui";
|
|
50
|
-
import { SelectInput } from "@dxos/react-ui-form";
|
|
52
|
+
import { SpaceState, getSpace, isLiveObject, isSpace, parseId, useSpace } from "@dxos/react-client/echo";
|
|
53
|
+
import { Input } from "@dxos/react-ui";
|
|
54
|
+
import { SelectField } from "@dxos/react-ui-form";
|
|
51
55
|
import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
|
|
52
|
-
import {
|
|
53
|
-
var
|
|
54
|
-
DataType.Collection.typename,
|
|
55
|
-
DataType.QueryCollection.typename
|
|
56
|
-
];
|
|
57
|
-
var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
|
|
56
|
+
import { Collection, ViewAnnotation } from "@dxos/schema";
|
|
57
|
+
var react_surface_default = (({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
|
|
58
58
|
createSurface({
|
|
59
|
-
id: `${
|
|
59
|
+
id: `${meta.id}/article`,
|
|
60
60
|
role: "article",
|
|
61
61
|
filter: (data) => (
|
|
62
62
|
// TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
|
|
@@ -65,43 +65,53 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
65
65
|
component: ({ data, role, ...rest }) => /* @__PURE__ */ React.createElement(Surface, {
|
|
66
66
|
data: {
|
|
67
67
|
id: data.subject.id,
|
|
68
|
-
subject: data.subject.properties[
|
|
68
|
+
subject: data.subject.properties[Collection.Collection.typename]?.target
|
|
69
69
|
},
|
|
70
70
|
role,
|
|
71
71
|
...rest
|
|
72
72
|
})
|
|
73
73
|
}),
|
|
74
74
|
createSurface({
|
|
75
|
-
id: `${
|
|
75
|
+
id: `${meta.id}/record-article`,
|
|
76
|
+
role: "article",
|
|
77
|
+
position: "fallback",
|
|
78
|
+
filter: (data) => Obj.isObject(data.subject),
|
|
79
|
+
component: ({ data }) => /* @__PURE__ */ React.createElement(RecordArticle, {
|
|
80
|
+
subject: data.subject
|
|
81
|
+
})
|
|
82
|
+
}),
|
|
83
|
+
createSurface({
|
|
84
|
+
id: `${meta.id}/collection-fallback`,
|
|
76
85
|
role: "article",
|
|
77
86
|
position: "fallback",
|
|
78
|
-
filter: (data) => Obj.instanceOf(
|
|
79
|
-
component: ({ data }) => /* @__PURE__ */ React.createElement(
|
|
80
|
-
|
|
87
|
+
filter: (data) => Obj.instanceOf(Collection.Collection, data.subject),
|
|
88
|
+
component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionArticle, {
|
|
89
|
+
subject: data.subject
|
|
81
90
|
})
|
|
82
91
|
}),
|
|
83
92
|
createSurface({
|
|
84
|
-
id: `${
|
|
93
|
+
id: `${meta.id}/plugin-settings`,
|
|
85
94
|
role: "article",
|
|
86
|
-
filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix ===
|
|
95
|
+
filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
|
|
87
96
|
component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(SpacePluginSettings, {
|
|
88
97
|
settings: subject.value
|
|
89
98
|
})
|
|
90
99
|
}),
|
|
91
100
|
createSurface({
|
|
92
|
-
id: `${
|
|
101
|
+
id: `${meta.id}/companion/object-settings`,
|
|
93
102
|
role: "article",
|
|
94
103
|
filter: (data) => Obj.isObject(data.companionTo) && data.subject === "settings",
|
|
95
|
-
component: ({ data, role }) => /* @__PURE__ */ React.createElement(
|
|
104
|
+
component: ({ ref, data, role }) => /* @__PURE__ */ React.createElement(ObjectDetails, {
|
|
96
105
|
object: data.companionTo,
|
|
97
|
-
role
|
|
106
|
+
role,
|
|
107
|
+
ref
|
|
98
108
|
})
|
|
99
109
|
}),
|
|
100
110
|
createSurface({
|
|
101
|
-
id: `${
|
|
111
|
+
id: `${meta.id}/space-settings-properties`,
|
|
102
112
|
role: "article",
|
|
103
|
-
filter: (data) => data.subject === `${
|
|
104
|
-
component: () => {
|
|
113
|
+
filter: (data) => data.subject === `${meta.id}/properties`,
|
|
114
|
+
component: ({ ref }) => {
|
|
105
115
|
const layout = useLayout();
|
|
106
116
|
const { spaceId } = parseId(layout.workspace);
|
|
107
117
|
const space = useSpace(spaceId);
|
|
@@ -109,15 +119,16 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
109
119
|
return null;
|
|
110
120
|
}
|
|
111
121
|
return /* @__PURE__ */ React.createElement(SpaceSettingsContainer, {
|
|
112
|
-
space
|
|
122
|
+
space,
|
|
123
|
+
ref
|
|
113
124
|
});
|
|
114
125
|
}
|
|
115
126
|
}),
|
|
116
127
|
createSurface({
|
|
117
|
-
id: `${
|
|
128
|
+
id: `${meta.id}/space-settings-members`,
|
|
118
129
|
role: "article",
|
|
119
130
|
position: "hoist",
|
|
120
|
-
filter: (data) => data.subject === `${
|
|
131
|
+
filter: (data) => data.subject === `${meta.id}/members`,
|
|
121
132
|
component: () => {
|
|
122
133
|
const layout = useLayout();
|
|
123
134
|
const { spaceId } = parseId(layout.workspace);
|
|
@@ -132,9 +143,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
132
143
|
}
|
|
133
144
|
}),
|
|
134
145
|
createSurface({
|
|
135
|
-
id: `${
|
|
146
|
+
id: `${meta.id}/space-settings-schema`,
|
|
136
147
|
role: "article",
|
|
137
|
-
filter: (data) => data.subject === `${
|
|
148
|
+
filter: (data) => data.subject === `${meta.id}/schema`,
|
|
138
149
|
component: () => {
|
|
139
150
|
const layout = useLayout();
|
|
140
151
|
const { spaceId } = parseId(layout.workspace);
|
|
@@ -148,13 +159,20 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
148
159
|
}
|
|
149
160
|
}),
|
|
150
161
|
createSurface({
|
|
151
|
-
id: `${
|
|
162
|
+
id: `${meta.id}/selected-objects`,
|
|
152
163
|
role: "article",
|
|
153
|
-
filter: (data) =>
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
164
|
+
filter: (data) => {
|
|
165
|
+
if (data.subject !== "selected-objects" || !Obj.isObject(data.companionTo)) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
const schema = Obj.getSchema(data.companionTo);
|
|
169
|
+
return Option.fromNullable(schema).pipe(Option.flatMap((schema2) => ViewAnnotation.get(schema2)), Option.getOrElse(() => false));
|
|
170
|
+
},
|
|
171
|
+
component: ({ data, ref }) => /* @__PURE__ */ React.createElement(ObjectCardStack, {
|
|
172
|
+
key: Obj.getDXN(data.companionTo).toString(),
|
|
173
|
+
objectId: Obj.getDXN(data.companionTo).toString(),
|
|
174
|
+
view: data.companionTo.view.target,
|
|
175
|
+
ref
|
|
158
176
|
})
|
|
159
177
|
}),
|
|
160
178
|
createSurface({
|
|
@@ -176,14 +194,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
176
194
|
component: ({ data }) => /* @__PURE__ */ React.createElement(CreateObjectDialog, data.props)
|
|
177
195
|
}),
|
|
178
196
|
createSurface({
|
|
179
|
-
id: `${
|
|
197
|
+
id: `${meta.id}/create-initial-space-form-[hue]`,
|
|
180
198
|
role: "form-input",
|
|
181
199
|
filter: (data) => {
|
|
182
200
|
const annotation = findAnnotation(data.schema.ast, HueAnnotationId);
|
|
183
201
|
return !!annotation;
|
|
184
202
|
},
|
|
185
203
|
component: ({ data: _, ...inputProps }) => {
|
|
186
|
-
const { label,
|
|
204
|
+
const { label, readonly, type, getValue, onValueChange } = inputProps;
|
|
187
205
|
const handleChange = useCallback((nextHue) => onValueChange(type, nextHue), [
|
|
188
206
|
onValueChange
|
|
189
207
|
]);
|
|
@@ -191,7 +209,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
191
209
|
onValueChange
|
|
192
210
|
]);
|
|
193
211
|
return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(HuePicker, {
|
|
194
|
-
disabled,
|
|
212
|
+
disabled: !!readonly,
|
|
195
213
|
value: getValue() ?? "",
|
|
196
214
|
onChange: handleChange,
|
|
197
215
|
onReset: handleReset
|
|
@@ -199,14 +217,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
199
217
|
}
|
|
200
218
|
}),
|
|
201
219
|
createSurface({
|
|
202
|
-
id: `${
|
|
220
|
+
id: `${meta.id}/create-initial-space-form-[icon]`,
|
|
203
221
|
role: "form-input",
|
|
204
222
|
filter: (data) => {
|
|
205
223
|
const annotation = findAnnotation(data.schema.ast, IconAnnotationId);
|
|
206
224
|
return !!annotation;
|
|
207
225
|
},
|
|
208
226
|
component: ({ data: _, ...inputProps }) => {
|
|
209
|
-
const { label,
|
|
227
|
+
const { label, readonly, type, getValue, onValueChange } = inputProps;
|
|
210
228
|
const handleChange = useCallback((nextIcon) => onValueChange(type, nextIcon), [
|
|
211
229
|
onValueChange
|
|
212
230
|
]);
|
|
@@ -214,7 +232,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
214
232
|
onValueChange
|
|
215
233
|
]);
|
|
216
234
|
return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(IconPicker, {
|
|
217
|
-
disabled,
|
|
235
|
+
disabled: !!readonly,
|
|
218
236
|
value: getValue() ?? "",
|
|
219
237
|
onChange: handleChange,
|
|
220
238
|
onReset: handleReset
|
|
@@ -222,85 +240,67 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
222
240
|
}
|
|
223
241
|
}),
|
|
224
242
|
createSurface({
|
|
225
|
-
id: `${
|
|
243
|
+
id: `${meta.id}/typename-form-input`,
|
|
226
244
|
role: "form-input",
|
|
227
245
|
filter: (data) => {
|
|
228
246
|
if (data.prop !== "typename") {
|
|
229
247
|
return false;
|
|
230
248
|
}
|
|
231
|
-
const annotation = findAnnotation(data.schema.ast,
|
|
249
|
+
const annotation = findAnnotation(data.schema.ast, TypeInputOptionsAnnotationId);
|
|
232
250
|
return !!annotation;
|
|
233
251
|
},
|
|
234
252
|
component: ({ data: { schema, target }, ...inputProps }) => {
|
|
235
|
-
const { t } = useTranslation();
|
|
236
|
-
const client = useClient();
|
|
237
253
|
const props = inputProps;
|
|
238
254
|
const space = isSpace(target) ? target : getSpace(target);
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
|
|
244
|
-
const whitelistedTypenames = useMemo(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))), [
|
|
245
|
-
schemaWhitelists
|
|
246
|
-
]);
|
|
247
|
-
const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);
|
|
248
|
-
const objectFormTypenames = useMemo(() => new Set(objectForms.map((form) => Type.getTypename(form.objectSchema)).filter((typename) => !OMIT.includes(typename) && !typename.endsWith("View"))), [
|
|
249
|
-
objectForms
|
|
250
|
-
]);
|
|
251
|
-
const fixed = client.graph.schemaRegistry.schemas.filter((schema2) => {
|
|
252
|
-
const limitedStatic = annotation.includes("limited-static") && whitelistedTypenames.has(Type.getTypename(schema2));
|
|
253
|
-
const unusedStatic = annotation.includes("unused-static") && whitelistedTypenames.has(Type.getTypename(schema2)) && !space.properties.staticRecords?.includes(Type.getTypename(schema2));
|
|
254
|
-
const objectForm = annotation.includes("object-form") && objectFormTypenames.has(Type.getTypename(schema2));
|
|
255
|
-
return annotation.includes("static") || limitedStatic || unusedStatic || objectForm;
|
|
255
|
+
const annotation = findAnnotation(schema.ast, TypeInputOptionsAnnotationId);
|
|
256
|
+
const options = useTypeOptions({
|
|
257
|
+
space,
|
|
258
|
+
annotation
|
|
256
259
|
});
|
|
257
|
-
|
|
258
|
-
const typenames = Array.from(/* @__PURE__ */ new Set([
|
|
259
|
-
...annotation.includes("limited-static") || annotation.includes("unused-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
|
|
260
|
-
...annotation.includes("dynamic") ? dynamic.map((schema2) => schema2.typename) : []
|
|
261
|
-
])).sort();
|
|
262
|
-
const options = useMemo(() => typenames.map((typename) => ({
|
|
263
|
-
value: typename,
|
|
264
|
-
label: t("typename label", {
|
|
265
|
-
ns: typename,
|
|
266
|
-
defaultValue: typename
|
|
267
|
-
})
|
|
268
|
-
})).toSorted((a, b) => a.label.localeCompare(b.label)), [
|
|
269
|
-
t,
|
|
270
|
-
typenames
|
|
271
|
-
]);
|
|
272
|
-
return /* @__PURE__ */ React.createElement(SelectInput, {
|
|
260
|
+
return /* @__PURE__ */ React.createElement(SelectField, {
|
|
273
261
|
...props,
|
|
274
262
|
options
|
|
275
263
|
});
|
|
276
264
|
}
|
|
277
265
|
}),
|
|
278
266
|
createSurface({
|
|
279
|
-
id: `${
|
|
267
|
+
id: `${meta.id}/object-settings`,
|
|
280
268
|
role: "object-settings",
|
|
281
|
-
filter: (data) =>
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
269
|
+
filter: (data) => {
|
|
270
|
+
if (!Obj.isObject(data.subject)) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
const schema = Obj.getSchema(data.subject);
|
|
274
|
+
return Option.fromNullable(schema).pipe(Option.flatMap((schema2) => ViewAnnotation.get(schema2)), Option.getOrElse(() => false));
|
|
275
|
+
},
|
|
276
|
+
component: ({ data }) => {
|
|
277
|
+
const view = data.subject.view.target;
|
|
278
|
+
if (!view) {
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
return /* @__PURE__ */ React.createElement(ViewEditor, {
|
|
282
|
+
view
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
285
|
}),
|
|
286
286
|
createSurface({
|
|
287
|
-
id:
|
|
287
|
+
id: SPACE_RENAME_POPOVER,
|
|
288
288
|
role: "card--popover",
|
|
289
|
-
filter: (data) => data.component ===
|
|
290
|
-
component: ({ data }) => /* @__PURE__ */ React.createElement(
|
|
289
|
+
filter: (data) => data.component === SPACE_RENAME_POPOVER && isSpace(data.props),
|
|
290
|
+
component: ({ data }) => /* @__PURE__ */ React.createElement(SpaceRenamePopover, {
|
|
291
291
|
space: data.props
|
|
292
292
|
})
|
|
293
293
|
}),
|
|
294
294
|
createSurface({
|
|
295
|
-
id:
|
|
295
|
+
id: OBJECT_RENAME_POPOVER,
|
|
296
296
|
role: "card--popover",
|
|
297
|
-
filter: (data) => data.component ===
|
|
298
|
-
component: ({ data }) => /* @__PURE__ */ React.createElement(
|
|
297
|
+
filter: (data) => data.component === OBJECT_RENAME_POPOVER && isLiveObject(data.props),
|
|
298
|
+
component: ({ data }) => /* @__PURE__ */ React.createElement(ObjectRenamePopover, {
|
|
299
299
|
object: data.props
|
|
300
300
|
})
|
|
301
301
|
}),
|
|
302
302
|
createSurface({
|
|
303
|
-
id: `${
|
|
303
|
+
id: `${meta.id}/menu-footer`,
|
|
304
304
|
role: "menu-footer",
|
|
305
305
|
filter: (data) => Obj.isObject(data.subject),
|
|
306
306
|
component: ({ data }) => /* @__PURE__ */ React.createElement(MenuFooter, {
|
|
@@ -308,7 +308,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
308
308
|
})
|
|
309
309
|
}),
|
|
310
310
|
createSurface({
|
|
311
|
-
id: `${
|
|
311
|
+
id: `${meta.id}/navtree-presence`,
|
|
312
312
|
role: "navtree-item-end",
|
|
313
313
|
filter: (data) => typeof data.id === "string" && Obj.isObject(data.subject),
|
|
314
314
|
component: ({ data }) => {
|
|
@@ -322,7 +322,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
322
322
|
}),
|
|
323
323
|
// TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
|
|
324
324
|
createSurface({
|
|
325
|
-
id: `${
|
|
325
|
+
id: `${meta.id}/navtree-presence-fallback`,
|
|
326
326
|
role: "navtree-item-end",
|
|
327
327
|
position: "fallback",
|
|
328
328
|
filter: (data) => typeof data.id === "string",
|
|
@@ -333,7 +333,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
333
333
|
}),
|
|
334
334
|
// TODO(wittjosiah): Broken?
|
|
335
335
|
createSurface({
|
|
336
|
-
id: `${
|
|
336
|
+
id: `${meta.id}/navtree-sync-status`,
|
|
337
337
|
role: "navtree-item-end",
|
|
338
338
|
filter: (data) => isSpace(data.subject),
|
|
339
339
|
component: ({ data }) => /* @__PURE__ */ React.createElement(InlineSyncStatus, {
|
|
@@ -342,33 +342,33 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
|
|
|
342
342
|
})
|
|
343
343
|
}),
|
|
344
344
|
createSurface({
|
|
345
|
-
id: `${
|
|
345
|
+
id: `${meta.id}/navbar-presence`,
|
|
346
346
|
role: "navbar-end",
|
|
347
347
|
position: "hoist",
|
|
348
348
|
filter: (data) => isSpace(data.subject) || Obj.isObject(data.subject),
|
|
349
349
|
component: ({ data }) => {
|
|
350
350
|
const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);
|
|
351
|
-
const object = isSpace(data.subject) ? data.subject.state.get() === SpaceState.SPACE_READY ? space?.properties[
|
|
351
|
+
const object = isSpace(data.subject) ? data.subject.state.get() === SpaceState.SPACE_READY ? space?.properties[Collection.Collection.typename]?.target : void 0 : data.subject;
|
|
352
352
|
return object ? /* @__PURE__ */ React.createElement(SpacePresence, {
|
|
353
353
|
object
|
|
354
354
|
}) : null;
|
|
355
355
|
}
|
|
356
356
|
}),
|
|
357
357
|
createSurface({
|
|
358
|
-
id: `${
|
|
358
|
+
id: `${meta.id}/collection-section`,
|
|
359
359
|
role: "section",
|
|
360
|
-
filter: (data) => Obj.instanceOf(
|
|
360
|
+
filter: (data) => Obj.instanceOf(Collection.Collection, data.subject),
|
|
361
361
|
component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
|
|
362
|
-
|
|
362
|
+
subject: data.subject
|
|
363
363
|
})
|
|
364
364
|
}),
|
|
365
365
|
createSurface({
|
|
366
|
-
id: `${
|
|
366
|
+
id: `${meta.id}/status`,
|
|
367
367
|
role: "status",
|
|
368
368
|
component: () => /* @__PURE__ */ React.createElement(SyncStatus, null)
|
|
369
369
|
})
|
|
370
|
-
]);
|
|
370
|
+
]));
|
|
371
371
|
export {
|
|
372
372
|
react_surface_default as default
|
|
373
373
|
};
|
|
374
|
-
//# sourceMappingURL=react-surface-
|
|
374
|
+
//# sourceMappingURL=react-surface-MLN5BZ2G.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Surface, useCapability, useLayout } from '@dxos/app-framework/react';\nimport { Obj, type Ref } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { type Space, SpaceState, getSpace, isLiveObject, isSpace, parseId, useSpace } from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type FormFieldComponentProps, SelectField } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { Collection, type View, ViewAnnotation } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CollectionArticle,\n CollectionSection,\n CreateObjectDialog,\n type CreateObjectDialogProps,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n OBJECT_RENAME_POPOVER,\n ObjectCardStack,\n ObjectDetails,\n ObjectRenamePopover,\n RecordArticle,\n SPACE_RENAME_POPOVER,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceRenamePopover,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n} from '../components';\nimport { useTypeOptions } from '../hooks';\nimport { meta } from '../meta';\nimport {\n HueAnnotationId,\n IconAnnotationId,\n type SpaceSettingsProps,\n type TypeInputOptions,\n TypeInputOptionsAnnotationId,\n} from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[Collection.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${meta.id}/record-article`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <RecordArticle subject={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Collection.Collection } => Obj.instanceOf(Collection.Collection, data.subject),\n component: ({ data }) => <CollectionArticle subject={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ ref, data, role }) => <ObjectDetails object={data.companionTo} role={role} ref={ref} />,\n }),\n createSurface({\n id: `${meta.id}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/properties`,\n component: ({ ref }) => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} ref={ref} />;\n },\n }),\n createSurface({\n id: `${meta.id}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${meta.id}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Obj<{ view: Ref.Ref<View.View> }>; subject: 'selected-objects' } => {\n if (data.subject !== 'selected-objects' || !Obj.isObject(data.companionTo)) {\n return false;\n }\n\n // TODO(burdon): Check companionTo.view.target is valid.\n const schema = Obj.getSchema(data.companionTo);\n return Option.fromNullable(schema).pipe(\n Option.flatMap((schema) => ViewAnnotation.get(schema)),\n Option.getOrElse(() => false),\n );\n },\n component: ({ data, ref }) => (\n <ObjectCardStack\n key={Obj.getDXN(data.companionTo).toString()}\n objectId={Obj.getDXN(data.companionTo).toString()}\n view={data.companionTo.view.target!}\n ref={ref}\n />\n ),\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${meta.id}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${meta.id}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as FormFieldComponentProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${meta.id}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is {\n prop: string;\n schema: Schema.Schema.Any;\n target: Space | Collection.Collection | undefined;\n } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypeInputOptionsAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const props = inputProps as any as FormFieldComponentProps;\n const space = isSpace(target) ? target : getSpace(target);\n const annotation = findAnnotation<TypeInputOptions>(schema.ast, TypeInputOptionsAnnotationId)!;\n const options = useTypeOptions({ space, annotation });\n\n return <SelectField {...props} options={options} />;\n },\n }),\n createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: { view: Ref.Ref<View.View> } } => {\n if (!Obj.isObject(data.subject)) {\n return false;\n }\n\n const schema = Obj.getSchema(data.subject);\n return Option.fromNullable(schema).pipe(\n Option.flatMap((schema) => ViewAnnotation.get(schema)),\n Option.getOrElse(() => false),\n );\n },\n component: ({ data }) => {\n const view = data.subject.view.target;\n if (!view) {\n return null;\n }\n\n return <ViewEditor view={view} />;\n },\n }),\n createSurface({\n id: SPACE_RENAME_POPOVER,\n role: 'card--popover',\n filter: (data): data is { props: Space } => data.component === SPACE_RENAME_POPOVER && isSpace(data.props),\n component: ({ data }) => <SpaceRenamePopover space={data.props} />,\n }),\n createSurface({\n id: OBJECT_RENAME_POPOVER,\n role: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === OBJECT_RENAME_POPOVER && isLiveObject(data.props),\n component: ({ data }) => <ObjectRenamePopover object={data.props} />,\n }),\n createSurface({\n id: `${meta.id}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${meta.id}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${meta.id}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${meta.id}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[Collection.Collection.typename]?.target as Collection.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${meta.id}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: Collection.Collection } => Obj.instanceOf(Collection.Collection, data.subject),\n component: ({ data }) => <CollectionSection subject={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Option", "React", "useCallback", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "useLayout", "Obj", "findAnnotation", "SettingsStore", "SpaceState", "getSpace", "isLiveObject", "isSpace", "parseId", "useSpace", "Input", "SelectField", "HuePicker", "IconPicker", "Collection", "ViewAnnotation", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "Collection", "typename", "target", "position", "Obj", "isObject", "RecordArticle", "instanceOf", "CollectionArticle", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "companionTo", "ref", "ObjectDetails", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "schema", "getSchema", "fromNullable", "pipe", "flatMap", "ViewAnnotation", "getOrElse", "ObjectCardStack", "key", "getDXN", "toString", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "ast", "HueAnnotationId", "_", "inputProps", "label", "readonly", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "disabled", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypeInputOptionsAnnotationId", "getSpace", "options", "useTypeOptions", "SelectField", "ViewEditor", "SPACE_RENAME_POPOVER", "SpaceRenamePopover", "OBJECT_RENAME_POPOVER", "isLiveObject", "ObjectRenamePopover", "MenuFooter", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SpaceCapabilities
|
|
3
|
+
} from "./chunk-C6DAPIFF.mjs";
|
|
4
|
+
import "./chunk-VZBIIYFM.mjs";
|
|
5
|
+
|
|
6
|
+
// src/capabilities/repair.ts
|
|
7
|
+
import { contributes } from "@dxos/app-framework";
|
|
8
|
+
import { Obj, Ref, Type } from "@dxos/echo";
|
|
9
|
+
import { Collection } from "@dxos/schema";
|
|
10
|
+
var repair_default = (() => contributes(SpaceCapabilities.Repair, async ({ space }) => {
|
|
11
|
+
await removeQueryCollections(space);
|
|
12
|
+
await ensureSystemCollection(space);
|
|
13
|
+
}));
|
|
14
|
+
var removeQueryCollections = async (space) => {
|
|
15
|
+
const rootCollection = await space.properties[Collection.Collection.typename]?.load();
|
|
16
|
+
if (!rootCollection) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));
|
|
20
|
+
const queryCollections = objects.filter((object) => Obj.getTypename(object) === "dxos.org/type/QueryCollection");
|
|
21
|
+
if (queryCollections.length === 0) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
rootCollection.objects = objects.filter((object) => Obj.getTypename(object) !== "dxos.org/type/QueryCollection").map((object) => Ref.make(object));
|
|
25
|
+
queryCollections.forEach((object) => space.db.remove(object));
|
|
26
|
+
};
|
|
27
|
+
var ensureSystemCollection = async (space) => {
|
|
28
|
+
const rootCollection = await space.properties[Collection.Collection.typename]?.load();
|
|
29
|
+
if (!rootCollection) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));
|
|
33
|
+
const records = objects.find((object) => Obj.instanceOf(Collection.Managed, object) && object.key === Type.getTypename(Type.PersistentType));
|
|
34
|
+
if (records) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
rootCollection.objects.push(Ref.make(Collection.makeManaged({
|
|
38
|
+
key: Type.getTypename(Type.PersistentType)
|
|
39
|
+
})));
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
repair_default as default
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=repair-CNLE35NF.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/repair.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default () =>\n contributes(SpaceCapabilities.Repair, async ({ space }) => {\n await removeQueryCollections(space);\n await ensureSystemCollection(space);\n });\n\n/**\n * Remove all existing query collections from the root collection.\n */\nconst removeQueryCollections = async (space: Space) => {\n const rootCollection: Collection.Collection = await space.properties[Collection.Collection.typename]?.load();\n if (!rootCollection) {\n return;\n }\n\n const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));\n const queryCollections = objects.filter((object) => Obj.getTypename(object) === 'dxos.org/type/QueryCollection');\n if (queryCollections.length === 0) {\n return;\n }\n\n rootCollection.objects = objects\n .filter((object) => Obj.getTypename(object) !== 'dxos.org/type/QueryCollection')\n .map((object) => Ref.make(object));\n queryCollections.forEach((object) => space.db.remove(object));\n};\n\n/**\n * Ensure the root collection has a system collection for StoredSchema.\n */\nconst ensureSystemCollection = async (space: Space) => {\n const rootCollection: Collection.Collection = await space.properties[Collection.Collection.typename]?.load();\n if (!rootCollection) {\n return;\n }\n\n const objects = await Promise.all(rootCollection.objects.map((ref) => ref.load()));\n const records = objects.find(\n (object) => Obj.instanceOf(Collection.Managed, object) && object.key === Type.getTypename(Type.PersistentType),\n );\n if (records) {\n return;\n }\n\n rootCollection.objects.push(Ref.make(Collection.makeManaged({ key: Type.getTypename(Type.PersistentType) })));\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,KAAKC,KAAKC,YAAY;AAE/B,SAASC,kBAAkB;AAI3B,IAAA,kBAAe,MACbC,YAAYC,kBAAkBC,QAAQ,OAAO,EAAEC,MAAK,MAAE;AACpD,QAAMC,uBAAuBD,KAAAA;AAC7B,QAAME,uBAAuBF,KAAAA;AAC/B,CAAA;AAKF,IAAMC,yBAAyB,OAAOD,UAAAA;AACpC,QAAMG,iBAAwC,MAAMH,MAAMI,WAAWC,WAAWA,WAAWC,QAAQ,GAAGC,KAAAA;AACtG,MAAI,CAACJ,gBAAgB;AACnB;EACF;AAEA,QAAMK,UAAU,MAAMC,QAAQC,IAAIP,eAAeK,QAAQG,IAAI,CAACC,QAAQA,IAAIL,KAAI,CAAA,CAAA;AAC9E,QAAMM,mBAAmBL,QAAQM,OAAO,CAACC,WAAWC,IAAIC,YAAYF,MAAAA,MAAY,+BAAA;AAChF,MAAIF,iBAAiBK,WAAW,GAAG;AACjC;EACF;AAEAf,iBAAeK,UAAUA,QACtBM,OAAO,CAACC,WAAWC,IAAIC,YAAYF,MAAAA,MAAY,+BAAA,EAC/CJ,IAAI,CAACI,WAAWI,IAAIC,KAAKL,MAAAA,CAAAA;AAC5BF,mBAAiBQ,QAAQ,CAACN,WAAWf,MAAMsB,GAAGC,OAAOR,MAAAA,CAAAA;AACvD;AAKA,IAAMb,yBAAyB,OAAOF,UAAAA;AACpC,QAAMG,iBAAwC,MAAMH,MAAMI,WAAWC,WAAWA,WAAWC,QAAQ,GAAGC,KAAAA;AACtG,MAAI,CAACJ,gBAAgB;AACnB;EACF;AAEA,QAAMK,UAAU,MAAMC,QAAQC,IAAIP,eAAeK,QAAQG,IAAI,CAACC,QAAQA,IAAIL,KAAI,CAAA,CAAA;AAC9E,QAAMiB,UAAUhB,QAAQiB,KACtB,CAACV,WAAWC,IAAIU,WAAWrB,WAAWsB,SAASZ,MAAAA,KAAWA,OAAOa,QAAQC,KAAKZ,YAAYY,KAAKC,cAAc,CAAA;AAE/G,MAAIN,SAAS;AACX;EACF;AAEArB,iBAAeK,QAAQuB,KAAKZ,IAAIC,KAAKf,WAAW2B,YAAY;IAAEJ,KAAKC,KAAKZ,YAAYY,KAAKC,cAAc;EAAE,CAAA,CAAA,CAAA;AAC3G;",
|
|
6
|
+
"names": ["contributes", "Obj", "Ref", "Type", "Collection", "contributes", "SpaceCapabilities", "Repair", "space", "removeQueryCollections", "ensureSystemCollection", "rootCollection", "properties", "Collection", "typename", "load", "objects", "Promise", "all", "map", "ref", "queryCollections", "filter", "object", "Obj", "getTypename", "length", "Ref", "make", "forEach", "db", "remove", "records", "find", "instanceOf", "Managed", "key", "Type", "PersistentType", "push", "makeManaged"]
|
|
7
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SpaceSettingsSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-E4BEMEZ3.mjs";
|
|
4
4
|
import {
|
|
5
5
|
meta
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VZBIIYFM.mjs";
|
|
7
7
|
|
|
8
8
|
// src/capabilities/settings.ts
|
|
9
9
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
10
10
|
import { live } from "@dxos/live-object";
|
|
11
|
-
var settings_default = () => {
|
|
11
|
+
var settings_default = (() => {
|
|
12
12
|
const settings = live({
|
|
13
13
|
showHidden: false
|
|
14
14
|
});
|
|
@@ -17,8 +17,8 @@ var settings_default = () => {
|
|
|
17
17
|
schema: SpaceSettingsSchema,
|
|
18
18
|
value: settings
|
|
19
19
|
});
|
|
20
|
-
};
|
|
20
|
+
});
|
|
21
21
|
export {
|
|
22
22
|
settings_default as default
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=settings-
|
|
24
|
+
//# sourceMappingURL=settings-EGTCHS7U.mjs.map
|