@dxos/plugin-space 0.8.3 → 0.8.4-main.1da679c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs +31 -0
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs +90 -0
- package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs.map +7 -0
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +68 -0
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs → app-graph-builder-FC4D5PF6.mjs} +190 -36
- package/dist/lib/browser/app-graph-builder-FC4D5PF6.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-NI4BCIQO.mjs} +15 -15
- package/dist/lib/browser/app-graph-serializer-NI4BCIQO.mjs.map +7 -0
- package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-CBYL62HG.mjs} +5 -4
- package/dist/lib/browser/chunk-CBYL62HG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-ELJDGQTO.mjs} +6 -6
- package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-ELJDGQTO.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
- package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-IIY4XVBZ.mjs} +440 -376
- package/dist/lib/browser/chunk-IIY4XVBZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-S33AYKSS.mjs} +189 -34
- package/dist/lib/browser/chunk-S33AYKSS.mjs.map +7 -0
- package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-TUQZO5P4.mjs} +4 -3
- package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-URST7EEN.mjs} +68 -8
- package/dist/lib/browser/chunk-URST7EEN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-WZYRDFW7.mjs} +76 -14
- package/dist/lib/browser/chunk-WZYRDFW7.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-PW2BA46S.mjs} +7 -7
- package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +95 -24
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-2RWP2F23.mjs} +183 -28
- package/dist/lib/browser/intent-resolver-2RWP2F23.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-QUDHNVV5.mjs} +10 -10
- package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-QUDHNVV5.mjs.map} +2 -2
- package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-S47ZR44T.mjs} +59 -27
- package/dist/lib/browser/react-surface-S47ZR44T.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-ATNBAQEU.mjs} +6 -6
- package/dist/lib/browser/schema-defs-ATNBAQEU.mjs.map +7 -0
- package/dist/lib/browser/{settings-K54STC5A.mjs → settings-NTC766QW.mjs} +6 -6
- package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-NTC766QW.mjs.map} +1 -1
- package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-NX7NRVSB.mjs} +19 -17
- package/dist/lib/browser/spaces-ready-NX7NRVSB.mjs.map +7 -0
- package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-LAGTPHDQ.mjs} +6 -6
- package/dist/lib/browser/state-LAGTPHDQ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs +32 -0
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs +91 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs.map +7 -0
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +70 -0
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-KREU52XR.mjs} +190 -36
- package/dist/lib/node-esm/app-graph-builder-KREU52XR.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-L3IXSQ2I.mjs} +15 -15
- package/dist/lib/node-esm/app-graph-serializer-L3IXSQ2I.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-FJZNSJC4.mjs} +5 -4
- package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-HC677WUJ.mjs} +4 -3
- package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-LGNPMOXU.mjs} +76 -14
- package/dist/lib/node-esm/chunk-LGNPMOXU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-Q6AAQLQG.mjs} +6 -6
- package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-Q6AAQLQG.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-QUPBTNWJ.mjs} +440 -376
- package/dist/lib/node-esm/chunk-QUPBTNWJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-RXDT5LA5.mjs} +68 -8
- package/dist/lib/node-esm/chunk-RXDT5LA5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-TEUN2E4F.mjs} +189 -34
- package/dist/lib/node-esm/chunk-TEUN2E4F.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-MWTLGQRU.mjs} +7 -7
- package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +95 -24
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-ORRPXJMN.mjs} +183 -28
- package/dist/lib/node-esm/intent-resolver-ORRPXJMN.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-2WBNW4VQ.mjs} +10 -10
- package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-2WBNW4VQ.mjs.map} +2 -2
- package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-MI5G3TD6.mjs} +59 -27
- package/dist/lib/node-esm/react-surface-MI5G3TD6.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-7LEPK3R6.mjs} +6 -6
- package/dist/lib/node-esm/schema-defs-7LEPK3R6.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-RWOW2SE5.mjs} +6 -6
- package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-RWOW2SE5.mjs.map} +1 -1
- package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-KD57IOYI.mjs} +19 -17
- package/dist/lib/node-esm/spaces-ready-KD57IOYI.mjs.map +7 -0
- package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-JKO4JKA2.mjs} +6 -6
- package/dist/lib/node-esm/state-JKO4JKA2.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -2
- 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/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +9 -3
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/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/schema-defs.d.ts +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
- 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/CollectionMain.d.ts +1 -0
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +4 -3
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1584 -3
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -3
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts +3 -2
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts +1584 -4
- package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetailsPanel.d.ts +9 -0
- package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/RecordMain.d.ts +7 -0
- package/dist/types/src/components/RecordMain.d.ts.map +1 -0
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +1411 -2
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1417 -3
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1418 -4
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
- package/dist/types/src/components/ViewEditor.d.ts +8 -0
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +14 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +1 -0
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1402 -410
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +82 -22
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +32 -5
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -53
- package/src/SpacePlugin.ts +81 -16
- package/src/capabilities/app-graph-builder.ts +232 -22
- package/src/capabilities/app-graph-serializer.ts +6 -6
- package/src/capabilities/capabilities.ts +9 -3
- package/src/capabilities/identity-created.ts +3 -5
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/intent-resolver.ts +136 -15
- package/src/capabilities/react-root.tsx +2 -1
- package/src/capabilities/react-surface.tsx +73 -22
- package/src/capabilities/schema-defs.ts +3 -2
- package/src/capabilities/spaces-ready.ts +10 -7
- package/src/capabilities/state.ts +3 -2
- package/src/components/AwaitingObject.tsx +5 -7
- package/src/components/CollectionMain.tsx +2 -0
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +9 -8
- package/src/components/CreateDialog/CreateObjectDialog.tsx +47 -33
- package/src/components/CreateDialog/CreateObjectPanel.tsx +18 -7
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +1 -1
- package/src/components/JoinDialog.tsx +1 -1
- package/src/components/MembersContainer.stories.tsx +35 -10
- package/src/components/MembersContainer.tsx +13 -13
- package/src/components/MenuFooter.tsx +2 -3
- package/src/components/ObjectDetailsPanel.tsx +79 -0
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -1
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
- package/src/components/PersistenceStatus.tsx +5 -6
- package/src/components/PopoverRenameObject.tsx +7 -13
- package/src/components/PopoverRenameSpace.tsx +1 -1
- package/src/components/RecordMain.tsx +43 -0
- package/src/components/SchemaContainer.tsx +2 -2
- package/src/components/SpacePluginSettings.tsx +6 -7
- package/src/components/SpacePresence.stories.tsx +8 -5
- package/src/components/SpacePresence.tsx +7 -7
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -6
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +8 -8
- package/src/components/SyncStatus/SyncStatus.stories.tsx +12 -18
- package/src/components/SyncStatus/SyncStatus.tsx +4 -3
- package/src/components/SyncStatus/save-tracker.ts +3 -3
- package/src/components/SyncStatus/status.ts +4 -4
- package/src/components/ViewEditor.tsx +59 -0
- package/src/components/index.ts +7 -1
- package/src/events.ts +2 -1
- package/src/hooks/useActiveSpace.ts +2 -2
- package/src/hooks/useInputSurfaceLookup.tsx +1 -1
- package/src/translations.ts +74 -9
- package/src/types/types.ts +66 -9
- package/src/util.tsx +177 -33
- package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
- package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
- package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +0 -7
- package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
- package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +0 -7
- package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +0 -7
- package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
- package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-WREJNMIC.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-ILTVSSS3.mjs +0 -124
- package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +0 -7
- package/dist/lib/browser/state-HRZ4VRXU.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
- package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
- package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
- package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
- package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
- package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
- package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
- package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
- package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
- package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
- package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
- package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
- package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
- package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
- package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
- package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
- package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
- package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -278
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
- package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
- package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
- package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
- package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
- package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
- package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
- package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
- package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
- package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
- package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
- package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
- package/dist/lib/node/state-M35DK75Z.cjs +0 -61
- package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -48
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs.map +0 -7
- package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs +0 -126
- package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +0 -7
- package/dist/lib/node-esm/state-XQNDCN37.mjs.map +0 -7
- 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/src/capabilities/schema-tool.test.ts +0 -44
- package/src/capabilities/schema-tools.ts +0 -125
- /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SPACE_PLUGIN
|
|
3
|
+
} from "./chunk-FBCGT5YY.mjs";
|
|
4
|
+
|
|
5
|
+
// src/components/CollectionMain.tsx
|
|
6
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { useTranslation } from "@dxos/react-ui";
|
|
9
|
+
import { baseSurface, descriptionMessage, mx } from "@dxos/react-ui-theme";
|
|
10
|
+
var CollectionMain = ({ collection }) => {
|
|
11
|
+
var _effect = _useSignals();
|
|
12
|
+
try {
|
|
13
|
+
const { t } = useTranslation(SPACE_PLUGIN);
|
|
14
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
15
|
+
role: "none",
|
|
16
|
+
className: mx(baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
|
|
17
|
+
"data-testid": "composer.firstRunMessage"
|
|
18
|
+
}, /* @__PURE__ */ React.createElement("p", {
|
|
19
|
+
role: "alert",
|
|
20
|
+
className: mx(descriptionMessage, "rounded-md p-8 font-normal text-lg max-is-[24rem] break-words")
|
|
21
|
+
}, collection.name ?? t("unnamed collection label")));
|
|
22
|
+
} finally {
|
|
23
|
+
_effect.f();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var CollectionMain_default = CollectionMain;
|
|
27
|
+
export {
|
|
28
|
+
CollectionMain,
|
|
29
|
+
CollectionMain_default as default
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=CollectionMain-D2B75XBS.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/CollectionMain.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { baseSurface, descriptionMessage, mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const CollectionMain = ({ collection }: { collection: DataType.Collection }) => {\n const { t } = useTranslation(SPACE_PLUGIN);\n\n return (\n <div\n role='none'\n className={mx(baseSurface, 'min-bs-screen is-full flex items-center justify-center p-8')}\n data-testid='composer.firstRunMessage'\n >\n <p\n role='alert'\n className={mx(descriptionMessage, 'rounded-md p-8 font-normal text-lg max-is-[24rem] break-words')}\n >\n {collection.name ?? t('unnamed collection label')}\n </p>\n </div>\n );\n};\n\nexport default CollectionMain;\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,sBAAsB;AAC/B,SAASC,aAAaC,oBAAoBC,UAAU;AAK7C,IAAMC,iBAAiB,CAAC,EAAEC,WAAU,MAAuC;;;AAChF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,YAAAA;AAE7B,WACE,sBAAA,cAACC,OAAAA;MACCC,MAAK;MACLC,WAAWC,GAAGC,aAAa,4DAAA;MAC3BC,eAAY;OAEZ,sBAAA,cAACC,KAAAA;MACCL,MAAK;MACLC,WAAWC,GAAGI,oBAAoB,+DAAA;OAEjCX,WAAWY,QAAQX,EAAE,0BAAA,CAAA,CAAA;;;;AAI9B;AAEA,IAAA,yBAAeF;",
|
|
6
|
+
"names": ["React", "useTranslation", "baseSurface", "descriptionMessage", "mx", "CollectionMain", "collection", "t", "useTranslation", "SPACE_PLUGIN", "div", "role", "className", "mx", "baseSurface", "data-testid", "p", "descriptionMessage", "name"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SPACE_PLUGIN
|
|
3
|
+
} from "./chunk-FBCGT5YY.mjs";
|
|
4
|
+
|
|
5
|
+
// src/components/ObjectDetailsPanel.tsx
|
|
6
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
7
|
+
import React, { useCallback } from "react";
|
|
8
|
+
import { setValue } from "@dxos/echo-schema";
|
|
9
|
+
import { invariant } from "@dxos/invariant";
|
|
10
|
+
import { useClient } from "@dxos/react-client";
|
|
11
|
+
import { Filter, getSpace, useQuery, useSchema } from "@dxos/react-client/echo";
|
|
12
|
+
import { Callout, useTranslation } from "@dxos/react-ui";
|
|
13
|
+
import { useSelected } from "@dxos/react-ui-attention";
|
|
14
|
+
import { Form, useRefQueryLookupHandler } from "@dxos/react-ui-form";
|
|
15
|
+
import { typenameFromQuery } from "@dxos/schema";
|
|
16
|
+
import { isNonNullable } from "@dxos/util";
|
|
17
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ObjectDetailsPanel.tsx";
|
|
18
|
+
var ObjectDetailsPanel = ({ objectId, view }) => {
|
|
19
|
+
var _effect = _useSignals();
|
|
20
|
+
try {
|
|
21
|
+
const { t } = useTranslation(SPACE_PLUGIN);
|
|
22
|
+
const client = useClient();
|
|
23
|
+
const space = getSpace(view);
|
|
24
|
+
const typename = view.query ? typenameFromQuery(view.query) : void 0;
|
|
25
|
+
const schema = useSchema(client, space, typename);
|
|
26
|
+
const queriedObjects = useQuery(space, schema ? Filter.type(schema) : Filter.nothing());
|
|
27
|
+
const selectedRows = useSelected(objectId, "multi");
|
|
28
|
+
const selectedObjects = selectedRows.map((id) => queriedObjects.find((obj) => obj.id === id)).filter(isNonNullable);
|
|
29
|
+
const handleRefQueryLookup = useRefQueryLookupHandler({
|
|
30
|
+
space
|
|
31
|
+
});
|
|
32
|
+
const handleSave = useCallback((values, { changed }) => {
|
|
33
|
+
const id = values.id;
|
|
34
|
+
invariant(typeof id === "string", void 0, {
|
|
35
|
+
F: __dxlog_file,
|
|
36
|
+
L: 38,
|
|
37
|
+
S: void 0,
|
|
38
|
+
A: [
|
|
39
|
+
"typeof id === 'string'",
|
|
40
|
+
""
|
|
41
|
+
]
|
|
42
|
+
});
|
|
43
|
+
const object = queriedObjects.find((obj) => obj.id === id);
|
|
44
|
+
invariant(object, void 0, {
|
|
45
|
+
F: __dxlog_file,
|
|
46
|
+
L: 40,
|
|
47
|
+
S: void 0,
|
|
48
|
+
A: [
|
|
49
|
+
"object",
|
|
50
|
+
""
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
const changedPaths = Object.keys(changed).filter((path) => changed[path]);
|
|
54
|
+
for (const path of changedPaths) {
|
|
55
|
+
const value = values[path];
|
|
56
|
+
setValue(object, path, value);
|
|
57
|
+
}
|
|
58
|
+
}, [
|
|
59
|
+
queriedObjects
|
|
60
|
+
]);
|
|
61
|
+
if (selectedObjects.length === 0) {
|
|
62
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
63
|
+
role: "none",
|
|
64
|
+
className: "plb-cardSpacingBlock pli-cardSpacingInline"
|
|
65
|
+
}, /* @__PURE__ */ React.createElement(Callout.Root, {
|
|
66
|
+
classNames: "is-full"
|
|
67
|
+
}, /* @__PURE__ */ React.createElement(Callout.Title, null, t("row details no selection label"))));
|
|
68
|
+
}
|
|
69
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
70
|
+
role: "none",
|
|
71
|
+
className: "bs-full is-full flex flex-col p-2 gap-1 overflow-y-auto"
|
|
72
|
+
}, schema && selectedObjects.map((object) => /* @__PURE__ */ React.createElement("div", {
|
|
73
|
+
key: object.id,
|
|
74
|
+
className: "border border-separator rounded"
|
|
75
|
+
}, /* @__PURE__ */ React.createElement(Form, {
|
|
76
|
+
autoSave: true,
|
|
77
|
+
schema,
|
|
78
|
+
values: object,
|
|
79
|
+
onSave: handleSave,
|
|
80
|
+
onQueryRefOptions: handleRefQueryLookup
|
|
81
|
+
}))));
|
|
82
|
+
} finally {
|
|
83
|
+
_effect.f();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
var ObjectDetailsPanel_default = ObjectDetailsPanel;
|
|
87
|
+
export {
|
|
88
|
+
ObjectDetailsPanel_default as default
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=ObjectDetailsPanel-J7KGPJJK.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ObjectDetailsPanel.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { type JsonPath, setValue } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getSpace, useQuery, useSchema } from '@dxos/react-client/echo';\nimport { Callout, useTranslation } from '@dxos/react-ui';\nimport { useSelected } from '@dxos/react-ui-attention';\nimport { Form, useRefQueryLookupHandler } from '@dxos/react-ui-form';\nimport { type DataType } from '@dxos/schema';\nimport { typenameFromQuery } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\n\ntype RowDetailsPanelProps = { objectId: string; view: DataType.View };\n\nconst ObjectDetailsPanel = ({ objectId, view }: RowDetailsPanelProps) => {\n const { t } = useTranslation(SPACE_PLUGIN);\n const client = useClient();\n const space = getSpace(view);\n const typename = view.query ? typenameFromQuery(view.query) : undefined;\n const schema = useSchema(client, space, typename);\n\n const queriedObjects = useQuery(space, schema ? Filter.type(schema) : Filter.nothing());\n const selectedRows = useSelected(objectId, 'multi');\n const selectedObjects = selectedRows.map((id) => queriedObjects.find((obj) => obj.id === id)).filter(isNonNullable);\n\n const handleRefQueryLookup = useRefQueryLookupHandler({ space });\n\n const handleSave = useCallback(\n (values: any, { changed }: { changed: Record<JsonPath, boolean> }) => {\n const id = values.id;\n invariant(typeof id === 'string');\n const object = queriedObjects.find((obj) => obj.id === id);\n invariant(object);\n\n const changedPaths = Object.keys(changed).filter((path) => changed[path as JsonPath]) as JsonPath[];\n for (const path of changedPaths) {\n const value = values[path];\n setValue(object, path, value);\n }\n },\n [queriedObjects],\n );\n\n if (selectedObjects.length === 0) {\n return (\n <div role='none' className='plb-cardSpacingBlock pli-cardSpacingInline'>\n <Callout.Root classNames='is-full'>\n <Callout.Title>{t('row details no selection label')}</Callout.Title>\n </Callout.Root>\n </div>\n );\n }\n\n return (\n <div role='none' className='bs-full is-full flex flex-col p-2 gap-1 overflow-y-auto'>\n {schema &&\n selectedObjects.map((object) => (\n <div key={object.id} className='border border-separator rounded'>\n <Form\n autoSave\n schema={schema}\n values={object}\n onSave={handleSave}\n onQueryRefOptions={handleRefQueryLookup}\n />\n </div>\n ))}\n </div>\n );\n};\n\nexport default ObjectDetailsPanel;\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,OAAOA,SAASC,mBAAmB;AAEnC,SAAwBC,gBAAgB;AACxC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,UAAUC,UAAUC,iBAAiB;AACtD,SAASC,SAASC,sBAAsB;AACxC,SAASC,mBAAmB;AAC5B,SAASC,MAAMC,gCAAgC;AAE/C,SAASC,yBAAyB;AAClC,SAASC,qBAAqB;;AAM9B,IAAMC,qBAAqB,CAAC,EAAEC,UAAUC,KAAI,MAAwB;;;AAClE,UAAM,EAAEC,EAAC,IAAKC,eAAeC,YAAAA;AAC7B,UAAMC,SAASC,UAAAA;AACf,UAAMC,QAAQC,SAASP,IAAAA;AACvB,UAAMQ,WAAWR,KAAKS,QAAQC,kBAAkBV,KAAKS,KAAK,IAAIE;AAC9D,UAAMC,SAASC,UAAUT,QAAQE,OAAOE,QAAAA;AAExC,UAAMM,iBAAiBC,SAAST,OAAOM,SAASI,OAAOC,KAAKL,MAAAA,IAAUI,OAAOE,QAAO,CAAA;AACpF,UAAMC,eAAeC,YAAYrB,UAAU,OAAA;AAC3C,UAAMsB,kBAAkBF,aAAaG,IAAI,CAACC,OAAOT,eAAeU,KAAK,CAACC,QAAQA,IAAIF,OAAOA,EAAAA,CAAAA,EAAKG,OAAOC,aAAAA;AAErG,UAAMC,uBAAuBC,yBAAyB;MAAEvB;IAAM,CAAA;AAE9D,UAAMwB,aAAaC,YACjB,CAACC,QAAa,EAAEC,QAAO,MAA0C;AAC/D,YAAMV,KAAKS,OAAOT;AAClBW,gBAAU,OAAOX,OAAO,UAAA,QAAA;;;;;;;;;AACxB,YAAMY,SAASrB,eAAeU,KAAK,CAACC,QAAQA,IAAIF,OAAOA,EAAAA;AACvDW,gBAAUC,QAAAA,QAAAA;;;;;;;;;AAEV,YAAMC,eAAeC,OAAOC,KAAKL,OAAAA,EAASP,OAAO,CAACa,SAASN,QAAQM,IAAAA,CAAiB;AACpF,iBAAWA,QAAQH,cAAc;AAC/B,cAAMI,QAAQR,OAAOO,IAAAA;AACrBE,iBAASN,QAAQI,MAAMC,KAAAA;MACzB;IACF,GACA;MAAC1B;KAAe;AAGlB,QAAIO,gBAAgBqB,WAAW,GAAG;AAChC,aACE,sBAAA,cAACC,OAAAA;QAAIC,MAAK;QAAOC,WAAU;SACzB,sBAAA,cAACC,QAAQC,MAAI;QAACC,YAAW;SACvB,sBAAA,cAACF,QAAQG,OAAK,MAAEhD,EAAE,gCAAA,CAAA,CAAA,CAAA;IAI1B;AAEA,WACE,sBAAA,cAAC0C,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACxBjC,UACCS,gBAAgBC,IAAI,CAACa,WACnB,sBAAA,cAACQ,OAAAA;MAAIO,KAAKf,OAAOZ;MAAIsB,WAAU;OAC7B,sBAAA,cAACM,MAAAA;MACCC,UAAAA;MACAxC;MACAoB,QAAQG;MACRkB,QAAQvB;MACRwB,mBAAmB1B;;;;;AAMjC;AAEA,IAAA,6BAAe9B;",
|
|
6
|
+
"names": ["React", "useCallback", "setValue", "invariant", "useClient", "Filter", "getSpace", "useQuery", "useSchema", "Callout", "useTranslation", "useSelected", "Form", "useRefQueryLookupHandler", "typenameFromQuery", "isNonNullable", "ObjectDetailsPanel", "objectId", "view", "t", "useTranslation", "SPACE_PLUGIN", "client", "useClient", "space", "getSpace", "typename", "query", "typenameFromQuery", "undefined", "schema", "useSchema", "queriedObjects", "useQuery", "Filter", "type", "nothing", "selectedRows", "useSelected", "selectedObjects", "map", "id", "find", "obj", "filter", "isNonNullable", "handleRefQueryLookup", "useRefQueryLookupHandler", "handleSave", "useCallback", "values", "changed", "invariant", "object", "changedPaths", "Object", "keys", "path", "value", "setValue", "length", "div", "role", "className", "Callout", "Root", "classNames", "Title", "key", "Form", "autoSave", "onSave", "onQueryRefOptions"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// src/components/RecordMain.tsx
|
|
2
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
3
|
+
import React, { useCallback } from "react";
|
|
4
|
+
import { Obj } from "@dxos/echo";
|
|
5
|
+
import { setValue } from "@dxos/echo-schema";
|
|
6
|
+
import { invariant } from "@dxos/invariant";
|
|
7
|
+
import { getSpace } from "@dxos/react-client/echo";
|
|
8
|
+
import { Form, useRefQueryLookupHandler } from "@dxos/react-ui-form";
|
|
9
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/RecordMain.tsx";
|
|
10
|
+
var RecordMain = ({ record }) => {
|
|
11
|
+
var _effect = _useSignals();
|
|
12
|
+
try {
|
|
13
|
+
const space = getSpace(record);
|
|
14
|
+
const schema = Obj.getSchema(record);
|
|
15
|
+
invariant(schema, "Record has no schema.", {
|
|
16
|
+
F: __dxlog_file,
|
|
17
|
+
L: 16,
|
|
18
|
+
S: void 0,
|
|
19
|
+
A: [
|
|
20
|
+
"schema",
|
|
21
|
+
"'Record has no schema.'"
|
|
22
|
+
]
|
|
23
|
+
});
|
|
24
|
+
const handleRefQueryLookup = useRefQueryLookupHandler({
|
|
25
|
+
space
|
|
26
|
+
});
|
|
27
|
+
const handleSave = useCallback((values, { changed }) => {
|
|
28
|
+
const id = values.id;
|
|
29
|
+
invariant(typeof id === "string", void 0, {
|
|
30
|
+
F: __dxlog_file,
|
|
31
|
+
L: 23,
|
|
32
|
+
S: void 0,
|
|
33
|
+
A: [
|
|
34
|
+
"typeof id === 'string'",
|
|
35
|
+
""
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
const changedPaths = Object.keys(changed).filter((path) => changed[path]);
|
|
39
|
+
for (const path of changedPaths) {
|
|
40
|
+
const value = values[path];
|
|
41
|
+
setValue(record, path, value);
|
|
42
|
+
}
|
|
43
|
+
}, [
|
|
44
|
+
record
|
|
45
|
+
]);
|
|
46
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
47
|
+
role: "none",
|
|
48
|
+
className: "container-max-width flex flex-col p-2 gap-1 overflow-y-auto"
|
|
49
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
50
|
+
key: record.id,
|
|
51
|
+
className: "border border-separator rounded"
|
|
52
|
+
}, /* @__PURE__ */ React.createElement(Form, {
|
|
53
|
+
autoSave: true,
|
|
54
|
+
schema,
|
|
55
|
+
values: record,
|
|
56
|
+
onSave: handleSave,
|
|
57
|
+
onQueryRefOptions: handleRefQueryLookup
|
|
58
|
+
})));
|
|
59
|
+
} finally {
|
|
60
|
+
_effect.f();
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var RecordMain_default = RecordMain;
|
|
64
|
+
export {
|
|
65
|
+
RecordMain,
|
|
66
|
+
RecordMain_default as default
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=RecordMain-TEBGAVSL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/RecordMain.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { type JsonPath, setValue } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Form, useRefQueryLookupHandler } from '@dxos/react-ui-form';\n\nexport const RecordMain = ({ record }: { record: Obj.Any }) => {\n const space = getSpace(record);\n const schema = Obj.getSchema(record);\n invariant(schema, 'Record has no schema.');\n\n const handleRefQueryLookup = useRefQueryLookupHandler({ space });\n\n const handleSave = useCallback(\n (values: any, { changed }: { changed: Record<JsonPath, boolean> }) => {\n const id = values.id;\n invariant(typeof id === 'string');\n\n const changedPaths = Object.keys(changed).filter((path) => changed[path as JsonPath]) as JsonPath[];\n for (const path of changedPaths) {\n const value = values[path];\n setValue(record, path, value);\n }\n },\n [record],\n );\n\n return (\n <div role='none' className='container-max-width flex flex-col p-2 gap-1 overflow-y-auto'>\n <div key={record.id} className='border border-separator rounded'>\n <Form autoSave schema={schema} values={record} onSave={handleSave} onQueryRefOptions={handleRefQueryLookup} />\n </div>\n </div>\n );\n};\n\nexport default RecordMain;\n"],
|
|
5
|
+
"mappings": ";;AAIA,OAAOA,SAASC,mBAAmB;AAEnC,SAASC,WAAW;AACpB,SAAwBC,gBAAgB;AACxC,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,MAAMC,gCAAgC;;AAExC,IAAMC,aAAa,CAAC,EAAEC,OAAM,MAAuB;;;AACxD,UAAMC,QAAQL,SAASI,MAAAA;AACvB,UAAME,SAAST,IAAIU,UAAUH,MAAAA;AAC7BL,cAAUO,QAAQ,yBAAA;;;;;;;;;AAElB,UAAME,uBAAuBN,yBAAyB;MAAEG;IAAM,CAAA;AAE9D,UAAMI,aAAab,YACjB,CAACc,QAAa,EAAEC,QAAO,MAA0C;AAC/D,YAAMC,KAAKF,OAAOE;AAClBb,gBAAU,OAAOa,OAAO,UAAA,QAAA;;;;;;;;;AAExB,YAAMC,eAAeC,OAAOC,KAAKJ,OAAAA,EAASK,OAAO,CAACC,SAASN,QAAQM,IAAAA,CAAiB;AACpF,iBAAWA,QAAQJ,cAAc;AAC/B,cAAMK,QAAQR,OAAOO,IAAAA;AACrBnB,iBAASM,QAAQa,MAAMC,KAAAA;MACzB;IACF,GACA;MAACd;KAAO;AAGV,WACE,sBAAA,cAACe,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACzB,sBAAA,cAACF,OAAAA;MAAIG,KAAKlB,OAAOQ;MAAIS,WAAU;OAC7B,sBAAA,cAACpB,MAAAA;MAAKsB,UAAAA;MAASjB;MAAgBI,QAAQN;MAAQoB,QAAQf;MAAYgB,mBAAmBjB;;;;;AAI9F;AAEA,IAAA,qBAAeL;",
|
|
6
|
+
"names": ["React", "useCallback", "Obj", "setValue", "invariant", "getSpace", "Form", "useRefQueryLookupHandler", "RecordMain", "record", "space", "schema", "getSchema", "handleRefQueryLookup", "handleSave", "values", "changed", "id", "changedPaths", "Object", "keys", "filter", "path", "value", "div", "role", "className", "key", "autoSave", "onSave", "onQueryRefOptions"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getActiveSpace
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ELJDGQTO.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SpaceCapabilities
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TUQZO5P4.mjs";
|
|
7
7
|
import {
|
|
8
8
|
SHARED,
|
|
9
9
|
SPACES,
|
|
@@ -11,30 +11,32 @@ import {
|
|
|
11
11
|
constructSpaceActions,
|
|
12
12
|
constructSpaceNode,
|
|
13
13
|
createObjectNode,
|
|
14
|
+
createStaticSchemaActions,
|
|
15
|
+
createStaticSchemaNode,
|
|
14
16
|
rxFromQuery
|
|
15
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-S33AYKSS.mjs";
|
|
16
18
|
import {
|
|
17
19
|
SPACE_TYPE,
|
|
18
20
|
SpaceAction
|
|
19
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-URST7EEN.mjs";
|
|
20
22
|
import {
|
|
21
23
|
SPACE_PLUGIN
|
|
22
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-FBCGT5YY.mjs";
|
|
23
25
|
|
|
24
|
-
//
|
|
26
|
+
// src/capabilities/app-graph-builder.ts
|
|
25
27
|
import { Rx } from "@effect-rx/rx-react";
|
|
26
|
-
import { Array, Option, pipe } from "effect";
|
|
28
|
+
import { Array, Option, Schema, pipe } from "effect";
|
|
27
29
|
import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
|
|
28
|
-
import {
|
|
30
|
+
import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
|
|
29
31
|
import { Filter, Obj, Query, Type } from "@dxos/echo";
|
|
30
32
|
import { log } from "@dxos/log";
|
|
31
33
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
32
|
-
import {
|
|
33
|
-
import { createExtension, rxFromObservable,
|
|
34
|
-
import { DataType } from "@dxos/schema";
|
|
34
|
+
import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
35
|
+
import { ROOT_ID, createExtension, rxFromObservable, rxFromSignal } from "@dxos/plugin-graph";
|
|
36
|
+
import { DataType, typenameFromQuery } from "@dxos/schema";
|
|
35
37
|
import { isNonNullable } from "@dxos/util";
|
|
36
|
-
var __dxlog_file = "/
|
|
37
|
-
var app_graph_builder_default = (context) => {
|
|
38
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
|
|
39
|
+
var app_graph_builder_default = ((context) => {
|
|
38
40
|
const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
|
|
39
41
|
const spacesNode = {
|
|
40
42
|
id: SPACES,
|
|
@@ -68,7 +70,7 @@ var app_graph_builder_default = (context) => {
|
|
|
68
70
|
} else {
|
|
69
71
|
log.warn("spaces order object not found", void 0, {
|
|
70
72
|
F: __dxlog_file,
|
|
71
|
-
L:
|
|
73
|
+
L: 71,
|
|
72
74
|
S: void 0,
|
|
73
75
|
C: (f, a) => f(...a)
|
|
74
76
|
});
|
|
@@ -251,7 +253,7 @@ var app_graph_builder_default = (context) => {
|
|
|
251
253
|
if (spaceState !== SpaceState.SPACE_READY) {
|
|
252
254
|
return [];
|
|
253
255
|
}
|
|
254
|
-
const collection = get(rxFromSignal(() => space.properties[
|
|
256
|
+
const collection = get(rxFromSignal(() => space.properties[DataType.Collection.typename]?.target));
|
|
255
257
|
if (!collection) {
|
|
256
258
|
return [];
|
|
257
259
|
}
|
|
@@ -284,8 +286,9 @@ var app_graph_builder_default = (context) => {
|
|
|
284
286
|
let query;
|
|
285
287
|
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
|
|
286
288
|
const space = getSpace(collection);
|
|
287
|
-
|
|
288
|
-
|
|
289
|
+
const typename = typenameFromQuery(collection.query);
|
|
290
|
+
return typename && space ? Option.some({
|
|
291
|
+
typename,
|
|
289
292
|
space
|
|
290
293
|
}) : Option.none();
|
|
291
294
|
}), Option.map(({ typename, space }) => {
|
|
@@ -299,7 +302,7 @@ var app_graph_builder_default = (context) => {
|
|
|
299
302
|
Query.select(Filter.typename(typename)).referencedBy(DataType.Collection, "objects").reference("objects")
|
|
300
303
|
));
|
|
301
304
|
}
|
|
302
|
-
return get(rxFromQuery(query)).map((object) => get(rxFromSignal(() => createObjectNode({
|
|
305
|
+
return get(rxFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(rxFromSignal(() => createObjectNode({
|
|
303
306
|
object,
|
|
304
307
|
space,
|
|
305
308
|
resolve,
|
|
@@ -309,26 +312,177 @@ var app_graph_builder_default = (context) => {
|
|
|
309
312
|
}), Option.getOrElse(() => [])));
|
|
310
313
|
}
|
|
311
314
|
}),
|
|
312
|
-
//
|
|
315
|
+
// Static schema records.
|
|
313
316
|
createExtension({
|
|
314
|
-
id: `${SPACE_PLUGIN}/
|
|
315
|
-
|
|
316
|
-
const
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
return
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
317
|
+
id: `${SPACE_PLUGIN}/static-schemas`,
|
|
318
|
+
connector: (node) => {
|
|
319
|
+
const client = context.getCapability(ClientCapabilities.Client);
|
|
320
|
+
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) && typenameFromQuery(node2.data.query) === DataType.StoredSchema.typename ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
|
|
321
|
+
const space = getSpace(collection);
|
|
322
|
+
return space?.properties.staticRecords ? Option.some(space) : Option.none();
|
|
323
|
+
}), Option.map((space) => {
|
|
324
|
+
return get(rxFromSignal(() => space.properties.staticRecords ?? [])).map((typename) => client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename)).filter(isNonNullable).map((schema) => createStaticSchemaNode({
|
|
325
|
+
schema,
|
|
326
|
+
space
|
|
327
|
+
}));
|
|
328
|
+
}), Option.getOrElse(() => [])));
|
|
329
|
+
}
|
|
330
|
+
}),
|
|
331
|
+
// Create static schema actions.
|
|
332
|
+
createExtension({
|
|
333
|
+
id: `${SPACE_PLUGIN}/static-schema-actions`,
|
|
334
|
+
actions: (node) => {
|
|
335
|
+
let query;
|
|
336
|
+
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
|
|
337
|
+
const space = isSpace(node2.properties.space) ? node2.properties.space : void 0;
|
|
338
|
+
return space && Schema.isSchema(node2.data) ? Option.some({
|
|
339
|
+
space,
|
|
340
|
+
schema: node2.data
|
|
341
|
+
}) : Option.none();
|
|
342
|
+
}), Option.map(({ space, schema }) => {
|
|
343
|
+
if (!query) {
|
|
344
|
+
query = space.db.query(Filter.type(DataType.View));
|
|
345
|
+
}
|
|
346
|
+
const views = get(rxFromQuery(query));
|
|
347
|
+
const filteredViews = get(rxFromSignal(() => (
|
|
348
|
+
// TODO(wittjosiah): Remove cast.
|
|
349
|
+
views.filter((view) => typenameFromQuery(view.query) === Type.getTypename(schema))
|
|
350
|
+
)));
|
|
351
|
+
const deletable = filteredViews.length === 0;
|
|
352
|
+
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
353
|
+
if (!dispatcher) {
|
|
354
|
+
return [];
|
|
355
|
+
}
|
|
356
|
+
return createStaticSchemaActions({
|
|
357
|
+
schema,
|
|
358
|
+
space,
|
|
326
359
|
dispatch: dispatcher.dispatchPromise,
|
|
327
|
-
|
|
328
|
-
|
|
360
|
+
deletable
|
|
361
|
+
});
|
|
362
|
+
}), Option.getOrElse(() => [])));
|
|
363
|
+
}
|
|
364
|
+
}),
|
|
365
|
+
// Create nodes for schema views.
|
|
366
|
+
createExtension({
|
|
367
|
+
id: `${SPACE_PLUGIN}/schema-views`,
|
|
368
|
+
connector: (node) => {
|
|
369
|
+
let query;
|
|
370
|
+
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
|
|
371
|
+
const space = getSpace(node2.data) ?? (isSpace(node2.properties.space) ? node2.properties.space : void 0);
|
|
372
|
+
return space && (Obj.instanceOf(DataType.StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
|
|
373
|
+
space,
|
|
374
|
+
schema: node2.data
|
|
375
|
+
}) : Option.none();
|
|
376
|
+
}), Option.map(({ space, schema }) => {
|
|
377
|
+
if (!query) {
|
|
378
|
+
query = space.db.query(Filter.type(DataType.View));
|
|
379
|
+
}
|
|
380
|
+
const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
|
|
381
|
+
return get(rxFromQuery(query)).filter((view) => typenameFromQuery(view.query) === typename).map((view) => get(rxFromSignal(() => createObjectNode({
|
|
382
|
+
object: view,
|
|
383
|
+
space,
|
|
384
|
+
resolve,
|
|
385
|
+
droppable: false
|
|
386
|
+
})))).filter(isNonNullable);
|
|
387
|
+
}), Option.getOrElse(() => [])));
|
|
388
|
+
}
|
|
389
|
+
}),
|
|
390
|
+
// Create record nodes.
|
|
391
|
+
createExtension({
|
|
392
|
+
id: `${SPACE_PLUGIN}/records`,
|
|
393
|
+
resolver: (id) => {
|
|
394
|
+
let query;
|
|
395
|
+
return Rx.make((get) => {
|
|
396
|
+
const client = context.getCapability(ClientCapabilities.Client);
|
|
397
|
+
const { spaceId, objectId } = parseId(id);
|
|
398
|
+
if (!spaceId || !objectId) {
|
|
399
|
+
return null;
|
|
400
|
+
}
|
|
401
|
+
const space = client.spaces.get(spaceId);
|
|
402
|
+
if (!space) {
|
|
403
|
+
return null;
|
|
404
|
+
}
|
|
405
|
+
if (!query) {
|
|
406
|
+
query = space.db.query(Filter.ids(objectId));
|
|
407
|
+
}
|
|
408
|
+
const object = get(rxFromQuery(query)).at(0);
|
|
409
|
+
if (!object) {
|
|
410
|
+
return null;
|
|
411
|
+
}
|
|
412
|
+
return createObjectNode({
|
|
413
|
+
object,
|
|
414
|
+
space,
|
|
415
|
+
resolve,
|
|
416
|
+
disposition: "hidden"
|
|
329
417
|
});
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
}),
|
|
421
|
+
// Create collection actions and action groups.
|
|
422
|
+
createExtension({
|
|
423
|
+
id: `${SPACE_PLUGIN}/object-actions`,
|
|
424
|
+
actions: (node) => {
|
|
425
|
+
let query;
|
|
426
|
+
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
|
|
427
|
+
const space = getSpace(node2.data);
|
|
428
|
+
return space && Obj.isObject(node2.data) ? Option.some({
|
|
429
|
+
space,
|
|
430
|
+
object: node2.data
|
|
431
|
+
}) : Option.none();
|
|
432
|
+
}), Option.flatMap(({ space, object }) => {
|
|
433
|
+
const isSchema = Obj.instanceOf(DataType.StoredSchema, object);
|
|
434
|
+
if (!query && isSchema) {
|
|
435
|
+
query = space.db.query(Filter.type(DataType.View));
|
|
436
|
+
}
|
|
437
|
+
let deletable = !isSchema && // Don't allow the Records smart collection to be deleted.
|
|
438
|
+
!(Obj.instanceOf(DataType.QueryCollection, object) && typenameFromQuery(object.query) === DataType.StoredSchema.typename);
|
|
439
|
+
if (isSchema && query) {
|
|
440
|
+
const views = get(rxFromQuery(query));
|
|
441
|
+
const filteredViews = get(rxFromSignal(() => views.filter((view) => typenameFromQuery(view.query) === object.typename)));
|
|
442
|
+
deletable = filteredViews.length === 0;
|
|
443
|
+
}
|
|
444
|
+
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
445
|
+
const [appGraph] = get(context.capabilities(Capabilities.AppGraph));
|
|
446
|
+
const [state] = get(context.capabilities(SpaceCapabilities.State));
|
|
447
|
+
const objectForms = get(context.capabilities(SpaceCapabilities.ObjectForm));
|
|
448
|
+
if (!dispatcher || !appGraph || !state) {
|
|
449
|
+
return Option.none();
|
|
450
|
+
} else {
|
|
451
|
+
return Option.some({
|
|
452
|
+
object,
|
|
453
|
+
graph: appGraph.graph,
|
|
454
|
+
dispatch: dispatcher.dispatchPromise,
|
|
455
|
+
objectForms,
|
|
456
|
+
deletable,
|
|
457
|
+
navigable: get(rxFromSignal(() => state.navigableCollections))
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
}), Option.map((params) => constructObjectActions(params)), Option.getOrElse(() => [])));
|
|
461
|
+
}
|
|
462
|
+
}),
|
|
463
|
+
// View selected objects.
|
|
464
|
+
createExtension({
|
|
465
|
+
id: `${SPACE_PLUGIN}/selected-objects`,
|
|
466
|
+
connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
467
|
+
{
|
|
468
|
+
id: [
|
|
469
|
+
node2.id,
|
|
470
|
+
"selected-objects"
|
|
471
|
+
].join(ATTENDABLE_PATH_SEPARATOR),
|
|
472
|
+
type: PLANK_COMPANION_TYPE,
|
|
473
|
+
data: "selected-objects",
|
|
474
|
+
properties: {
|
|
475
|
+
label: [
|
|
476
|
+
"companion selected objects label",
|
|
477
|
+
{
|
|
478
|
+
ns: SPACE_PLUGIN
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
icon: "ph--tree-view--regular",
|
|
482
|
+
disposition: "hidden"
|
|
483
|
+
}
|
|
330
484
|
}
|
|
331
|
-
|
|
485
|
+
]), Option.getOrElse(() => [])))
|
|
332
486
|
}),
|
|
333
487
|
// Object settings plank companion.
|
|
334
488
|
createExtension({
|
|
@@ -356,8 +510,8 @@ var app_graph_builder_default = (context) => {
|
|
|
356
510
|
]), Option.getOrElse(() => [])))
|
|
357
511
|
})
|
|
358
512
|
]);
|
|
359
|
-
};
|
|
513
|
+
});
|
|
360
514
|
export {
|
|
361
515
|
app_graph_builder_default as default
|
|
362
516
|
};
|
|
363
|
-
//# sourceMappingURL=app-graph-builder-
|
|
517
|
+
//# sourceMappingURL=app-graph-builder-FC4D5PF6.mjs.map
|