@dxos/plugin-space 0.8.4-main.84f28bd → 0.8.4-main.ae835ea
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-HTKSZCRR.mjs +31 -0
- package/dist/lib/browser/CollectionMain-HTKSZCRR.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs +145 -0
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs.map +7 -0
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs +146 -0
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs.map +7 -0
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs +99 -0
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs +520 -0
- package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs → app-graph-serializer-3R5NVV7U.mjs} +14 -14
- package/dist/lib/browser/app-graph-serializer-3R5NVV7U.mjs.map +7 -0
- package/dist/lib/browser/chunk-2NS3VPSY.mjs +20 -0
- package/dist/lib/browser/chunk-2NS3VPSY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6VLSHG4A.mjs → chunk-4V4JNJ33.mjs} +80 -10
- package/dist/lib/browser/chunk-4V4JNJ33.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GVTXQCIW.mjs → chunk-ENBBJSNE.mjs} +482 -448
- package/dist/lib/browser/chunk-ENBBJSNE.mjs.map +7 -0
- package/dist/lib/browser/chunk-HS2VD6DN.mjs +166 -0
- package/dist/lib/browser/chunk-HS2VD6DN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WBSEOLEM.mjs → chunk-OWNBEI5J.mjs} +221 -57
- package/dist/lib/browser/chunk-OWNBEI5J.mjs.map +7 -0
- package/dist/lib/browser/{chunk-S6NY637J.mjs → chunk-SLDQWMQ2.mjs} +77 -12
- package/dist/lib/browser/chunk-SLDQWMQ2.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/{identity-created-23XJJV2N.mjs → identity-created-PW2BA46S.mjs} +4 -4
- package/dist/lib/browser/{identity-created-23XJJV2N.mjs.map → identity-created-PW2BA46S.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +109 -40
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-WK5WYFH3.mjs → intent-resolver-MBVOLXFQ.mjs} +194 -32
- package/dist/lib/browser/intent-resolver-MBVOLXFQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-7S6FIC5G.mjs → react-root-NKEKCEYM.mjs} +11 -11
- package/dist/lib/browser/react-root-NKEKCEYM.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-6C3YJNDK.mjs → react-surface-PYSN2MBY.mjs} +78 -77
- package/dist/lib/browser/react-surface-PYSN2MBY.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs → schema-defs-DWYK7TYW.mjs} +5 -5
- package/dist/lib/browser/schema-defs-DWYK7TYW.mjs.map +7 -0
- package/dist/lib/browser/{settings-XNWYRWNM.mjs → settings-ZUCC3ZLB.mjs} +5 -5
- package/dist/lib/browser/{settings-XNWYRWNM.mjs.map → settings-ZUCC3ZLB.mjs.map} +1 -1
- package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs → spaces-ready-HTWWJHLR.mjs} +18 -16
- package/dist/lib/browser/spaces-ready-HTWWJHLR.mjs.map +7 -0
- package/dist/lib/browser/{state-522XTUR4.mjs → state-ISVAKMO7.mjs} +7 -7
- package/dist/lib/browser/state-ISVAKMO7.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs +32 -0
- package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs +146 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs +147 -0
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs.map +7 -0
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs +100 -0
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-TO72W6MI.mjs → app-graph-builder-B23W62HY.mjs} +215 -58
- package/dist/lib/node-esm/app-graph-builder-B23W62HY.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs → app-graph-serializer-3Z3EXEEF.mjs} +14 -14
- package/dist/lib/node-esm/app-graph-serializer-3Z3EXEEF.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-SXD6T2N4.mjs → chunk-G4PDWB7G.mjs} +80 -10
- package/dist/lib/node-esm/chunk-G4PDWB7G.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-OUBADVJE.mjs → chunk-KKPCCA5O.mjs} +482 -448
- package/dist/lib/node-esm/chunk-KKPCCA5O.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs +167 -0
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HJJHLWKY.mjs → chunk-XEVIWD3O.mjs} +221 -57
- package/dist/lib/node-esm/chunk-XEVIWD3O.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2THX6G4C.mjs → chunk-YFQXFQGT.mjs} +77 -12
- package/dist/lib/node-esm/chunk-YFQXFQGT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs +21 -0
- package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-MWTLGQRU.mjs} +4 -4
- package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs.map → identity-created-MWTLGQRU.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +109 -40
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-HSR27ME4.mjs → intent-resolver-IWI47NTW.mjs} +194 -32
- package/dist/lib/node-esm/intent-resolver-IWI47NTW.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-HUK3ANLV.mjs → react-root-LX7SIG6M.mjs} +11 -11
- package/dist/lib/node-esm/react-root-LX7SIG6M.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-AGAWX7DD.mjs → react-surface-6SVGOZNJ.mjs} +78 -77
- package/dist/lib/node-esm/react-surface-6SVGOZNJ.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs → schema-defs-EOG2UPJU.mjs} +5 -5
- package/dist/lib/node-esm/schema-defs-EOG2UPJU.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-YGKHGFPH.mjs → settings-ZDJNLFGW.mjs} +5 -5
- package/dist/lib/node-esm/{settings-YGKHGFPH.mjs.map → settings-ZDJNLFGW.mjs.map} +1 -1
- package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs → spaces-ready-VUGYPF4L.mjs} +18 -16
- package/dist/lib/node-esm/spaces-ready-VUGYPF4L.mjs.map +7 -0
- package/dist/lib/node-esm/{state-C4IOXPZP.mjs → state-QZ4Q6ZRL.mjs} +7 -7
- package/dist/lib/node-esm/state-QZ4Q6ZRL.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -2
- 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 +12 -5
- 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 +5 -4
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1664 -4
- 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/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 +1 -1
- package/dist/types/src/components/JoinDialog.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 +1664 -5
- 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/ObjectDetailsPanel.d.ts +9 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1500 -0
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/RecordMain.d.ts +8 -0
- package/dist/types/src/components/RecordMain.d.ts.map +1 -0
- package/dist/types/src/components/RecordMain.stories.d.ts +1667 -0
- package/dist/types/src/components/RecordMain.stories.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 +1492 -4
- 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 +1497 -4
- 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 +1498 -5
- 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 +13 -2
- 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/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 +1 -1
- 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/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1342 -11
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +128 -66
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +37 -7
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +63 -60
- package/src/SpacePlugin.ts +201 -139
- package/src/capabilities/app-graph-builder.ts +265 -47
- package/src/capabilities/app-graph-serializer.ts +7 -7
- package/src/capabilities/capabilities.ts +20 -9
- package/src/capabilities/identity-created.ts +1 -1
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/intent-resolver.ts +147 -21
- package/src/capabilities/react-root.tsx +4 -3
- package/src/capabilities/react-surface.tsx +79 -99
- package/src/capabilities/schema-defs.ts +3 -2
- package/src/capabilities/spaces-ready.ts +11 -8
- package/src/capabilities/state.ts +5 -4
- package/src/components/AwaitingObject.tsx +7 -9
- package/src/components/CollectionMain.tsx +4 -2
- package/src/components/CollectionSection.tsx +2 -2
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -10
- package/src/components/CreateDialog/CreateObjectDialog.tsx +51 -36
- package/src/components/CreateDialog/CreateObjectPanel.tsx +22 -11
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
- package/src/components/JoinDialog.tsx +7 -7
- package/src/components/MembersContainer.stories.tsx +36 -10
- package/src/components/MembersContainer.tsx +18 -17
- package/src/components/MenuFooter.tsx +4 -5
- package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +52 -0
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +75 -0
- package/src/components/ObjectDetailsPanel/index.ts +7 -0
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -3
- package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +86 -26
- package/src/components/ObjectSettings/ForeignKeys.tsx +3 -3
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
- package/src/components/ObjectSettings/index.ts +3 -1
- package/src/components/PersistenceStatus.tsx +7 -8
- package/src/components/PopoverRenameObject.tsx +10 -16
- package/src/components/PopoverRenameSpace.tsx +4 -4
- package/src/components/RecordMain.stories.tsx +116 -0
- package/src/components/RecordMain.tsx +83 -0
- package/src/components/SchemaContainer.tsx +5 -5
- package/src/components/SpacePluginSettings.tsx +8 -9
- package/src/components/SpacePresence.stories.tsx +23 -22
- package/src/components/SpacePresence.tsx +10 -10
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +19 -18
- package/src/components/SyncStatus/InlineSyncStatus.tsx +7 -7
- package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
- package/src/components/SyncStatus/SyncStatus.tsx +98 -7
- package/src/components/SyncStatus/status.ts +4 -4
- package/src/components/ViewEditor.tsx +58 -0
- package/src/components/index.ts +8 -2
- package/src/events.ts +7 -6
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useActiveSpace.ts +2 -2
- package/src/hooks/useInputSurfaceLookup.tsx +2 -2
- package/src/hooks/usePath.ts +1 -1
- package/src/hooks/useTypeOptions.ts +59 -0
- package/src/meta.ts +6 -3
- package/src/translations.ts +77 -5
- package/src/types/types.ts +78 -16
- package/src/util.tsx +215 -57
- package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs +0 -363
- package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +0 -7
- package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +0 -7
- package/dist/lib/browser/chunk-C7KGJTAL.mjs +0 -18
- package/dist/lib/browser/chunk-C7KGJTAL.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-GVTXQCIW.mjs.map +0 -7
- package/dist/lib/browser/chunk-S6NY637J.mjs.map +0 -7
- package/dist/lib/browser/chunk-VLBRSGJ2.mjs +0 -94
- package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +0 -7
- package/dist/lib/browser/chunk-XXIPJLJF.mjs +0 -19
- package/dist/lib/browser/chunk-XXIPJLJF.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +0 -7
- package/dist/lib/browser/react-root-7S6FIC5G.mjs.map +0 -7
- package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-K3B3OAH4.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-K7NSNBHM.mjs.map +0 -7
- package/dist/lib/browser/state-522XTUR4.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2THX6G4C.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-72QMMRKC.mjs +0 -19
- package/dist/lib/node-esm/chunk-72QMMRKC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AT7LGFER.mjs +0 -20
- package/dist/lib/node-esm/chunk-AT7LGFER.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HJJHLWKY.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-OUBADVJE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SSLBYZEY.mjs +0 -96
- package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-HUK3ANLV.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-4MCDG4DV.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-UM2P3DCR.mjs.map +0 -7
- package/dist/lib/node-esm/state-C4IOXPZP.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
|
@@ -1,32 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useInputSurfaceLookup,
|
|
3
3
|
usePath
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HS2VD6DN.mjs";
|
|
5
5
|
import {
|
|
6
6
|
SpaceCapabilities
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2NS3VPSY.mjs";
|
|
8
8
|
import {
|
|
9
9
|
COMPOSER_SPACE_LOCK,
|
|
10
10
|
getSpaceDisplayName
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OWNBEI5J.mjs";
|
|
12
12
|
import {
|
|
13
13
|
SpaceAction,
|
|
14
14
|
SpaceForm
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-SLDQWMQ2.mjs";
|
|
16
16
|
import {
|
|
17
|
-
SPACE_PLUGIN,
|
|
18
17
|
meta
|
|
19
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-VZBIIYFM.mjs";
|
|
20
19
|
|
|
21
20
|
// src/components/AwaitingObject.tsx
|
|
22
21
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
23
|
-
import { CheckCircle, CircleDashed, CircleNotch } from "@phosphor-icons/react";
|
|
24
22
|
import React, { useCallback, useEffect, useState } from "react";
|
|
25
|
-
import {
|
|
23
|
+
import { LayoutAction, createIntent, useIntentDispatcher, useLayout } from "@dxos/app-framework";
|
|
26
24
|
import { useClient } from "@dxos/react-client";
|
|
27
25
|
import { Filter, fullyQualifiedId, useQuery } from "@dxos/react-client/echo";
|
|
28
|
-
import { Button, Toast, useTranslation } from "@dxos/react-ui";
|
|
29
|
-
import { getSize, mx } from "@dxos/react-ui-theme";
|
|
26
|
+
import { Button, Icon, Toast, useTranslation } from "@dxos/react-ui";
|
|
30
27
|
var WAIT_FOR_OBJECT_TIMEOUT = 18e4;
|
|
31
28
|
var TOAST_TIMEOUT = 24e4;
|
|
32
29
|
var AwaitingObject = ({ id }) => {
|
|
@@ -35,7 +32,7 @@ var AwaitingObject = ({ id }) => {
|
|
|
35
32
|
const [open, setOpen] = useState(true);
|
|
36
33
|
const [waiting, setWaiting] = useState(true);
|
|
37
34
|
const [found, setFound] = useState(false);
|
|
38
|
-
const { t } = useTranslation(
|
|
35
|
+
const { t } = useTranslation(meta.id);
|
|
39
36
|
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
40
37
|
const layout = useLayout();
|
|
41
38
|
const client = useClient();
|
|
@@ -87,12 +84,16 @@ var AwaitingObject = ({ id }) => {
|
|
|
87
84
|
onOpenChange: setOpen
|
|
88
85
|
}, /* @__PURE__ */ React.createElement(Toast.Body, null, /* @__PURE__ */ React.createElement(Toast.Title, {
|
|
89
86
|
classNames: "flex items-center gap-2"
|
|
90
|
-
}, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
}, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
|
|
88
|
+
icon: "ph--check-circle--regular",
|
|
89
|
+
size: 5
|
|
90
|
+
}), /* @__PURE__ */ React.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
|
|
91
|
+
icon: "ph--circle-notch--regular",
|
|
92
|
+
size: 5,
|
|
93
|
+
classNames: "animate-spin"
|
|
94
|
+
}), /* @__PURE__ */ React.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
|
|
95
|
+
icon: "ph--circle-dashed--regular",
|
|
96
|
+
size: 5
|
|
96
97
|
}), /* @__PURE__ */ React.createElement("span", null, t("object not found label")))), /* @__PURE__ */ React.createElement(Toast.Description, null, t(found ? "found object description" : waiting ? "waiting for object description" : "object not found description"))), /* @__PURE__ */ React.createElement(Toast.Actions, null, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Toast.Action, {
|
|
97
98
|
altText: t("go to object alt"),
|
|
98
99
|
asChild: true
|
|
@@ -119,34 +120,43 @@ var AwaitingObject = ({ id }) => {
|
|
|
119
120
|
|
|
120
121
|
// src/components/CreateDialog/CreateObjectDialog.tsx
|
|
121
122
|
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
122
|
-
import
|
|
123
|
+
import * as Effect from "effect/Effect";
|
|
124
|
+
import * as Function from "effect/Function";
|
|
123
125
|
import React3, { useCallback as useCallback3, useRef, useState as useState2 } from "react";
|
|
124
126
|
import { Capabilities, LayoutAction as LayoutAction2, chain, createIntent as createIntent2, useCapabilities, useIntentDispatcher as useIntentDispatcher2, usePluginManager } from "@dxos/app-framework";
|
|
125
|
-
import { Query, Type as Type2 } from "@dxos/echo";
|
|
127
|
+
import { Obj, Query, Type as Type2 } from "@dxos/echo";
|
|
126
128
|
import { invariant } from "@dxos/invariant";
|
|
127
129
|
import { useClient as useClient2 } from "@dxos/react-client";
|
|
128
130
|
import { getSpace, isLiveObject, isSpace, useQuery as useQuery2, useSpaces } from "@dxos/react-client/echo";
|
|
129
|
-
import { Button as Button2, Dialog, Icon as
|
|
131
|
+
import { Button as Button2, Dialog, Icon as Icon3, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
130
132
|
import { cardDialogContent, cardDialogHeader } from "@dxos/react-ui-stack";
|
|
131
|
-
import { DataType } from "@dxos/schema";
|
|
133
|
+
import { DataType, getTypenameFromQuery } from "@dxos/schema";
|
|
132
134
|
import { isNonNullable as isNonNullable2 } from "@dxos/util";
|
|
133
135
|
|
|
134
136
|
// src/components/CreateDialog/CreateObjectPanel.tsx
|
|
135
137
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
138
|
+
import * as Option from "effect/Option";
|
|
136
139
|
import React2, { useCallback as useCallback2 } from "react";
|
|
137
140
|
import { Type } from "@dxos/echo";
|
|
138
|
-
import { getTypeAnnotation } from "@dxos/echo
|
|
139
|
-
import { Icon, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
141
|
+
import { ViewAnnotation, getTypeAnnotation } from "@dxos/echo/internal";
|
|
142
|
+
import { Icon as Icon2, toLocalizedString, useDefaultValue, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
140
143
|
import { Form } from "@dxos/react-ui-form";
|
|
141
144
|
import { SearchList } from "@dxos/react-ui-searchlist";
|
|
142
145
|
import { cardDialogOverflow, cardDialogPaddedOverflow, cardDialogSearchListRoot } from "@dxos/react-ui-stack";
|
|
143
146
|
import { isNonNullable } from "@dxos/util";
|
|
144
|
-
var CreateObjectPanel = ({ forms, spaces, typename, target,
|
|
147
|
+
var CreateObjectPanel = ({ forms, spaces, typename, target, views, initialFormValues: _initialFormValues, defaultSpaceId, resolve, onTargetChange, onTypenameChange, onCreateObject }) => {
|
|
145
148
|
var _effect = _useSignals2();
|
|
146
149
|
try {
|
|
147
|
-
const { t } = useTranslation2(
|
|
150
|
+
const { t } = useTranslation2(meta.id);
|
|
151
|
+
const initialFormValues = useDefaultValue(_initialFormValues, () => ({}));
|
|
148
152
|
const form = forms.find((form2) => Type.getTypename(form2.objectSchema) === typename);
|
|
149
|
-
const options = forms.
|
|
153
|
+
const options = forms.filter((form2) => {
|
|
154
|
+
if (views == null) {
|
|
155
|
+
return true;
|
|
156
|
+
} else {
|
|
157
|
+
return views === ViewAnnotation.get(form2.objectSchema).pipe(Option.getOrElse(() => false));
|
|
158
|
+
}
|
|
159
|
+
}).map((form2) => getTypeAnnotation(form2.objectSchema)).filter(isNonNullable).sort((a, b) => {
|
|
150
160
|
const nameA = t("typename label", {
|
|
151
161
|
ns: a.typename,
|
|
152
162
|
defaultValue: a.typename
|
|
@@ -198,9 +208,7 @@ var CreateObjectPanel = ({ forms, spaces, typename, target, name: initialName, d
|
|
|
198
208
|
className: cardDialogOverflow
|
|
199
209
|
}, /* @__PURE__ */ React2.createElement(Form, {
|
|
200
210
|
autoFocus: true,
|
|
201
|
-
values:
|
|
202
|
-
name: initialName
|
|
203
|
-
},
|
|
211
|
+
values: initialFormValues,
|
|
204
212
|
schema: form.formSchema,
|
|
205
213
|
testId: "create-object-form",
|
|
206
214
|
onSave: handleCreateObject,
|
|
@@ -214,7 +222,7 @@ var CreateObjectPanel = ({ forms, spaces, typename, target, name: initialName, d
|
|
|
214
222
|
var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
|
|
215
223
|
var _effect = _useSignals2();
|
|
216
224
|
try {
|
|
217
|
-
const { t } = useTranslation2(
|
|
225
|
+
const { t } = useTranslation2(meta.id);
|
|
218
226
|
return /* @__PURE__ */ React2.createElement(SearchList.Root, {
|
|
219
227
|
label: t("space input label"),
|
|
220
228
|
classNames: cardDialogSearchListRoot
|
|
@@ -254,7 +262,7 @@ var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
|
|
|
254
262
|
var SelectSchema = ({ options, resolve, onChange }) => {
|
|
255
263
|
var _effect = _useSignals2();
|
|
256
264
|
try {
|
|
257
|
-
const { t } = useTranslation2(
|
|
265
|
+
const { t } = useTranslation2(meta.id);
|
|
258
266
|
return /* @__PURE__ */ React2.createElement(SearchList.Root, {
|
|
259
267
|
label: t("schema input label"),
|
|
260
268
|
classNames: cardDialogSearchListRoot
|
|
@@ -274,7 +282,7 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
274
282
|
classNames: "flex items-center gap-2"
|
|
275
283
|
}, /* @__PURE__ */ React2.createElement("span", {
|
|
276
284
|
className: "flex gap-2 items-center grow truncate"
|
|
277
|
-
}, /* @__PURE__ */ React2.createElement(
|
|
285
|
+
}, /* @__PURE__ */ React2.createElement(Icon2, {
|
|
278
286
|
icon: resolve?.(option.typename).icon ?? "ph--placeholder--regular",
|
|
279
287
|
size: 5
|
|
280
288
|
}), t("typename label", {
|
|
@@ -286,42 +294,28 @@ var SelectSchema = ({ options, resolve, onChange }) => {
|
|
|
286
294
|
}
|
|
287
295
|
};
|
|
288
296
|
|
|
289
|
-
// src/capabilities/index.ts
|
|
290
|
-
import { lazy } from "@dxos/app-framework";
|
|
291
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-PMDF6PJV.mjs"));
|
|
292
|
-
var AppGraphSerializer = lazy(() => import("./app-graph-serializer-UKYMBX4O.mjs"));
|
|
293
|
-
var IdentityCreated = lazy(() => import("./identity-created-23XJJV2N.mjs"));
|
|
294
|
-
var IntentResolver = lazy(() => import("./intent-resolver-WK5WYFH3.mjs"));
|
|
295
|
-
var ReactRoot = lazy(() => import("./react-root-7S6FIC5G.mjs"));
|
|
296
|
-
var ReactSurface = lazy(() => import("./react-surface-6C3YJNDK.mjs"));
|
|
297
|
-
var SchemaDefs = lazy(() => import("./schema-defs-K3B3OAH4.mjs"));
|
|
298
|
-
var SchemaTools = lazy(() => import("./schema-tools-BNP4JTD7.mjs"));
|
|
299
|
-
var SpaceSettings = lazy(() => import("./settings-XNWYRWNM.mjs"));
|
|
300
|
-
var SpaceState = lazy(() => import("./state-522XTUR4.mjs"));
|
|
301
|
-
var SpacesReady = lazy(() => import("./spaces-ready-K7NSNBHM.mjs"));
|
|
302
|
-
|
|
303
297
|
// src/components/CreateDialog/CreateObjectDialog.tsx
|
|
304
298
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
|
|
305
|
-
var CREATE_OBJECT_DIALOG = `${
|
|
306
|
-
var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename,
|
|
299
|
+
var CREATE_OBJECT_DIALOG = `${meta.id}/CreateObjectDialog`;
|
|
300
|
+
var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, views, initialFormValues, onCreateObject, shouldNavigate: _shouldNavigate }) => {
|
|
307
301
|
var _effect = _useSignals3();
|
|
308
302
|
try {
|
|
309
303
|
const closeRef = useRef(null);
|
|
310
304
|
const manager = usePluginManager();
|
|
311
|
-
const { t } = useTranslation3(
|
|
305
|
+
const { t } = useTranslation3(meta.id);
|
|
312
306
|
const client = useClient2();
|
|
313
307
|
const spaces = useSpaces();
|
|
314
|
-
const {
|
|
308
|
+
const { dispatch } = useIntentDispatcher2();
|
|
315
309
|
const forms = useCapabilities(SpaceCapabilities.ObjectForm);
|
|
316
310
|
const [target, setTarget] = useState2(initialTarget);
|
|
317
311
|
const [typename, setTypename] = useState2(initialTypename);
|
|
318
312
|
const space = isSpace(target) ? target : getSpace(target);
|
|
319
313
|
const queryCollections = useQuery2(space, Query.type(DataType.QueryCollection));
|
|
320
|
-
const hiddenTypenames = queryCollections.map((collection) => collection.query
|
|
314
|
+
const hiddenTypenames = queryCollections.map((collection) => getTypenameFromQuery(collection.query)).filter(isNonNullable2);
|
|
321
315
|
const resolve = useCallback3((typename2) => manager.context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename2)?.metadata ?? {}, [
|
|
322
316
|
manager
|
|
323
317
|
]);
|
|
324
|
-
const handleCreateObject = useCallback3(
|
|
318
|
+
const handleCreateObject = useCallback3(({ form, data = {} }) => Effect.gen(function* () {
|
|
325
319
|
if (!target) {
|
|
326
320
|
return;
|
|
327
321
|
}
|
|
@@ -329,18 +323,17 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
329
323
|
const space2 = isSpace(target) ? target : getSpace(target);
|
|
330
324
|
invariant(space2, "Missing space", {
|
|
331
325
|
F: __dxlog_file,
|
|
332
|
-
L:
|
|
333
|
-
S:
|
|
326
|
+
L: 84,
|
|
327
|
+
S: this,
|
|
334
328
|
A: [
|
|
335
329
|
"space",
|
|
336
330
|
"'Missing space'"
|
|
337
331
|
]
|
|
338
332
|
});
|
|
339
|
-
const
|
|
333
|
+
const { object } = yield* dispatch(form.getIntent(data, {
|
|
340
334
|
space: space2
|
|
341
335
|
}));
|
|
342
|
-
|
|
343
|
-
if (isLiveObject(object)) {
|
|
336
|
+
if (isLiveObject(object) && !Obj.instanceOf(DataType.StoredSchema, object)) {
|
|
344
337
|
const hidden = form.hidden || hiddenTypenames.includes(Type2.getTypename(form.objectSchema));
|
|
345
338
|
const addObjectIntent = createIntent2(SpaceAction.AddObject, {
|
|
346
339
|
target,
|
|
@@ -349,14 +342,15 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
349
342
|
});
|
|
350
343
|
const shouldNavigate = _shouldNavigate ?? (() => true);
|
|
351
344
|
if (shouldNavigate(object)) {
|
|
352
|
-
|
|
345
|
+
yield* dispatch(Function.pipe(addObjectIntent, chain(LayoutAction2.Open, {
|
|
353
346
|
part: "main"
|
|
354
347
|
})));
|
|
355
348
|
} else {
|
|
356
|
-
|
|
349
|
+
yield* dispatch(addObjectIntent);
|
|
357
350
|
}
|
|
351
|
+
onCreateObject?.(object);
|
|
358
352
|
}
|
|
359
|
-
}, [
|
|
353
|
+
}).pipe(Effect.runPromise), [
|
|
360
354
|
dispatch,
|
|
361
355
|
target,
|
|
362
356
|
resolve,
|
|
@@ -374,7 +368,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
374
368
|
}, /* @__PURE__ */ React3.createElement(Dialog.Title, null, t("create object dialog title", {
|
|
375
369
|
object: t("typename label", {
|
|
376
370
|
ns: typename,
|
|
377
|
-
defaultValue: "Item"
|
|
371
|
+
defaultValue: views ? "View" : "Item"
|
|
378
372
|
})
|
|
379
373
|
})), /* @__PURE__ */ React3.createElement(Dialog.Close, {
|
|
380
374
|
asChild: true
|
|
@@ -383,15 +377,16 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
383
377
|
density: "fine",
|
|
384
378
|
variant: "ghost",
|
|
385
379
|
autoFocus: true
|
|
386
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
380
|
+
}, /* @__PURE__ */ React3.createElement(Icon3, {
|
|
387
381
|
icon: "ph--x--regular",
|
|
388
382
|
size: 4
|
|
389
383
|
})))), /* @__PURE__ */ React3.createElement(CreateObjectPanel, {
|
|
390
384
|
forms,
|
|
391
385
|
spaces,
|
|
392
386
|
target,
|
|
387
|
+
views,
|
|
393
388
|
typename,
|
|
394
|
-
|
|
389
|
+
initialFormValues,
|
|
395
390
|
defaultSpaceId: client.spaces.default.id,
|
|
396
391
|
resolve,
|
|
397
392
|
onTargetChange: setTarget,
|
|
@@ -406,13 +401,13 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
|
|
|
406
401
|
|
|
407
402
|
// src/components/CreateDialog/CreateSpaceDialog.tsx
|
|
408
403
|
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
409
|
-
import
|
|
404
|
+
import * as Effect2 from "effect/Effect";
|
|
410
405
|
import React4, { useCallback as useCallback4, useRef as useRef2 } from "react";
|
|
411
|
-
import {
|
|
412
|
-
import { Button as Button3, Dialog as Dialog2, Icon as
|
|
406
|
+
import { LayoutAction as LayoutAction3, createIntent as createIntent3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
|
|
407
|
+
import { Button as Button3, Dialog as Dialog2, Icon as Icon4, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
413
408
|
import { Form as Form2 } from "@dxos/react-ui-form";
|
|
414
409
|
import { cardDialogContent as cardDialogContent2, cardDialogHeader as cardDialogHeader2 } from "@dxos/react-ui-stack";
|
|
415
|
-
var CREATE_SPACE_DIALOG = `${
|
|
410
|
+
var CREATE_SPACE_DIALOG = `${meta.id}/CreateSpaceDialog`;
|
|
416
411
|
var initialValues = {
|
|
417
412
|
edgeReplication: true
|
|
418
413
|
};
|
|
@@ -420,11 +415,11 @@ var CreateSpaceDialog = () => {
|
|
|
420
415
|
var _effect = _useSignals4();
|
|
421
416
|
try {
|
|
422
417
|
const closeRef = useRef2(null);
|
|
423
|
-
const { t } = useTranslation4(
|
|
418
|
+
const { t } = useTranslation4(meta.id);
|
|
424
419
|
const { dispatch } = useIntentDispatcher3();
|
|
425
420
|
const inputSurfaceLookup = useInputSurfaceLookup();
|
|
426
421
|
const handleCreateSpace = useCallback4(async (data) => {
|
|
427
|
-
const program =
|
|
422
|
+
const program = Effect2.gen(function* () {
|
|
428
423
|
const { space } = yield* dispatch(createIntent3(SpaceAction.Create, data));
|
|
429
424
|
yield* dispatch(createIntent3(LayoutAction3.SwitchWorkspace, {
|
|
430
425
|
part: "workspace",
|
|
@@ -437,7 +432,7 @@ var CreateSpaceDialog = () => {
|
|
|
437
432
|
}
|
|
438
433
|
}));
|
|
439
434
|
});
|
|
440
|
-
await
|
|
435
|
+
await Effect2.runPromise(program);
|
|
441
436
|
}, [
|
|
442
437
|
dispatch
|
|
443
438
|
]);
|
|
@@ -456,7 +451,7 @@ var CreateSpaceDialog = () => {
|
|
|
456
451
|
density: "fine",
|
|
457
452
|
variant: "ghost",
|
|
458
453
|
autoFocus: true
|
|
459
|
-
}, /* @__PURE__ */ React4.createElement(
|
|
454
|
+
}, /* @__PURE__ */ React4.createElement(Icon4, {
|
|
460
455
|
icon: "ph--x--regular",
|
|
461
456
|
size: 4
|
|
462
457
|
})))), /* @__PURE__ */ React4.createElement("div", {
|
|
@@ -477,39 +472,17 @@ var CreateSpaceDialog = () => {
|
|
|
477
472
|
}
|
|
478
473
|
};
|
|
479
474
|
|
|
480
|
-
// src/components/
|
|
475
|
+
// src/components/CollectionSection.tsx
|
|
481
476
|
import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
|
|
482
477
|
import React5 from "react";
|
|
483
478
|
import { useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
484
|
-
|
|
485
|
-
var CollectionMain = ({ collection }) => {
|
|
479
|
+
var CollectionSection = ({ collection }) => {
|
|
486
480
|
var _effect = _useSignals5();
|
|
487
481
|
try {
|
|
488
|
-
const { t } = useTranslation5(
|
|
482
|
+
const { t } = useTranslation5(meta.id);
|
|
489
483
|
return /* @__PURE__ */ React5.createElement("div", {
|
|
490
|
-
role: "none",
|
|
491
|
-
className: mx2(baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
|
|
492
|
-
"data-testid": "composer.firstRunMessage"
|
|
493
|
-
}, /* @__PURE__ */ React5.createElement("p", {
|
|
494
|
-
role: "alert",
|
|
495
|
-
className: mx2(descriptionMessage, "rounded-md p-8 font-normal text-lg max-is-[24rem] break-words")
|
|
496
|
-
}, collection.name ?? t("unnamed collection label")));
|
|
497
|
-
} finally {
|
|
498
|
-
_effect.f();
|
|
499
|
-
}
|
|
500
|
-
};
|
|
501
|
-
|
|
502
|
-
// src/components/CollectionSection.tsx
|
|
503
|
-
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
504
|
-
import React6 from "react";
|
|
505
|
-
import { useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
506
|
-
var CollectionSection = ({ collection }) => {
|
|
507
|
-
var _effect = _useSignals6();
|
|
508
|
-
try {
|
|
509
|
-
const { t } = useTranslation6(SPACE_PLUGIN);
|
|
510
|
-
return /* @__PURE__ */ React6.createElement("div", {
|
|
511
484
|
className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
|
|
512
|
-
}, /* @__PURE__ */
|
|
485
|
+
}, /* @__PURE__ */ React5.createElement("span", {
|
|
513
486
|
className: "truncate"
|
|
514
487
|
}, collection.name ?? t("unnamed collection label")));
|
|
515
488
|
} finally {
|
|
@@ -518,22 +491,22 @@ var CollectionSection = ({ collection }) => {
|
|
|
518
491
|
};
|
|
519
492
|
|
|
520
493
|
// src/components/JoinDialog.tsx
|
|
521
|
-
import { useSignals as
|
|
522
|
-
import
|
|
523
|
-
import {
|
|
494
|
+
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
495
|
+
import React6, { useCallback as useCallback5 } from "react";
|
|
496
|
+
import { LayoutAction as LayoutAction4, createIntent as createIntent4, useAppGraph, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
|
|
524
497
|
import { Trigger } from "@dxos/async";
|
|
525
498
|
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
526
499
|
import { useClient as useClient3 } from "@dxos/react-client";
|
|
527
|
-
import { Dialog as Dialog3, useTranslation as
|
|
500
|
+
import { Dialog as Dialog3, useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
528
501
|
import { JoinPanel } from "@dxos/shell/react";
|
|
529
|
-
var JOIN_DIALOG = `${
|
|
502
|
+
var JOIN_DIALOG = `${meta.id}/JoinDialog`;
|
|
530
503
|
var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
531
|
-
var _effect =
|
|
504
|
+
var _effect = _useSignals6();
|
|
532
505
|
try {
|
|
533
506
|
const { dispatchPromise: dispatch } = useIntentDispatcher4();
|
|
534
507
|
const client = useClient3();
|
|
535
508
|
const { graph } = useAppGraph();
|
|
536
|
-
const { t } =
|
|
509
|
+
const { t } = useTranslation6(meta.id);
|
|
537
510
|
const handleDone = useCallback5(async (result) => {
|
|
538
511
|
const spaceKey = result?.spaceKey;
|
|
539
512
|
if (!spaceKey) {
|
|
@@ -543,18 +516,18 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
543
516
|
dispatch(createIntent4(LayoutAction4.AddToast, {
|
|
544
517
|
part: "toast",
|
|
545
518
|
subject: {
|
|
546
|
-
id: `${
|
|
519
|
+
id: `${meta.id}/join-success`,
|
|
547
520
|
duration: 5e3,
|
|
548
521
|
title: [
|
|
549
522
|
"join success label",
|
|
550
523
|
{
|
|
551
|
-
ns:
|
|
524
|
+
ns: meta.id
|
|
552
525
|
}
|
|
553
526
|
],
|
|
554
527
|
closeLabel: [
|
|
555
528
|
"dismiss label",
|
|
556
529
|
{
|
|
557
|
-
ns:
|
|
530
|
+
ns: meta.id
|
|
558
531
|
}
|
|
559
532
|
]
|
|
560
533
|
}
|
|
@@ -614,16 +587,16 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
614
587
|
client,
|
|
615
588
|
graph
|
|
616
589
|
]);
|
|
617
|
-
return /* @__PURE__ */
|
|
590
|
+
return /* @__PURE__ */ React6.createElement(Dialog3.Content, null, /* @__PURE__ */ React6.createElement(Dialog3.Title, {
|
|
618
591
|
classNames: "sr-only"
|
|
619
592
|
}, t("join space label", {
|
|
620
593
|
ns: "os"
|
|
621
|
-
})), /* @__PURE__ */
|
|
594
|
+
})), /* @__PURE__ */ React6.createElement(JoinPanel, {
|
|
622
595
|
...props,
|
|
623
|
-
exitActionParent: /* @__PURE__ */
|
|
596
|
+
exitActionParent: /* @__PURE__ */ React6.createElement(Dialog3.Close, {
|
|
624
597
|
asChild: true
|
|
625
598
|
}),
|
|
626
|
-
doneActionParent: /* @__PURE__ */
|
|
599
|
+
doneActionParent: /* @__PURE__ */ React6.createElement(Dialog3.Close, {
|
|
627
600
|
asChild: true
|
|
628
601
|
}),
|
|
629
602
|
onDone: handleDone
|
|
@@ -634,19 +607,17 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
|
|
|
634
607
|
};
|
|
635
608
|
|
|
636
609
|
// src/components/MembersContainer.tsx
|
|
637
|
-
import { useSignals as
|
|
638
|
-
import {
|
|
639
|
-
import React8, { useCallback as useCallback6, useMemo, useState as useState3 } from "react";
|
|
610
|
+
import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
|
|
611
|
+
import React7, { useCallback as useCallback6, useMemo, useState as useState3 } from "react";
|
|
640
612
|
import { QR } from "react-qr-rounded";
|
|
641
613
|
import { createIntent as createIntent5, useIntentDispatcher as useIntentDispatcher5 } from "@dxos/app-framework";
|
|
642
614
|
import { log } from "@dxos/log";
|
|
643
615
|
import { useConfig } from "@dxos/react-client";
|
|
644
616
|
import { fullyQualifiedId as fullyQualifiedId2, useSpaceInvitations } from "@dxos/react-client/echo";
|
|
645
617
|
import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
|
|
646
|
-
import { Button as Button4, Clipboard, Icon as
|
|
647
|
-
import {
|
|
618
|
+
import { Button as Button4, Clipboard, Icon as Icon5, Input, useId, useTranslation as useTranslation7 } from "@dxos/react-ui";
|
|
619
|
+
import { ControlFrame, ControlFrameItem, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
|
|
648
620
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
649
|
-
import { getSize as getSize2, mx as mx3 } from "@dxos/react-ui-theme";
|
|
650
621
|
import { DataType as DataType2 } from "@dxos/schema";
|
|
651
622
|
import { AuthCode, BifurcatedAction, Centered, Emoji, InvitationList, SpaceMemberList, Viewport } from "@dxos/shell/react";
|
|
652
623
|
import { hexToEmoji } from "@dxos/util";
|
|
@@ -660,7 +631,7 @@ var handleInvitationEvent = (invitation, subscription) => {
|
|
|
660
631
|
authCode: invitation.authCode
|
|
661
632
|
}), void 0, {
|
|
662
633
|
F: __dxlog_file2,
|
|
663
|
-
L:
|
|
634
|
+
L: 39,
|
|
664
635
|
S: void 0,
|
|
665
636
|
C: (f, a) => f(...a)
|
|
666
637
|
});
|
|
@@ -668,9 +639,9 @@ var handleInvitationEvent = (invitation, subscription) => {
|
|
|
668
639
|
}
|
|
669
640
|
};
|
|
670
641
|
var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
671
|
-
var _effect =
|
|
642
|
+
var _effect = _useSignals7();
|
|
672
643
|
try {
|
|
673
|
-
const { t } =
|
|
644
|
+
const { t } = useTranslation7(meta.id);
|
|
674
645
|
const config = useConfig();
|
|
675
646
|
const { dispatchPromise: dispatch } = useIntentDispatcher5();
|
|
676
647
|
const invitations = useSpaceInvitations(space.key);
|
|
@@ -698,10 +669,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
698
669
|
description: t("invite one description", {
|
|
699
670
|
ns: "os"
|
|
700
671
|
}),
|
|
701
|
-
icon:
|
|
702
|
-
icon: "ph--user-plus--regular",
|
|
703
|
-
size: 5
|
|
704
|
-
}),
|
|
672
|
+
icon: "ph--user-plus--regular",
|
|
705
673
|
testId: "membersContainer.inviteOne",
|
|
706
674
|
onClick: async () => {
|
|
707
675
|
const { data: invitation } = await dispatch(createIntent5(SpaceAction.Share, {
|
|
@@ -723,10 +691,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
723
691
|
description: t("invite many description", {
|
|
724
692
|
ns: "os"
|
|
725
693
|
}),
|
|
726
|
-
icon:
|
|
727
|
-
icon: "ph--users-three--regular",
|
|
728
|
-
size: 5
|
|
729
|
-
}),
|
|
694
|
+
icon: "ph--users-three--regular",
|
|
730
695
|
testId: "membersContainer.inviteMany",
|
|
731
696
|
onClick: async () => {
|
|
732
697
|
const { data: invitation } = await dispatch(createIntent5(SpaceAction.Share, {
|
|
@@ -753,44 +718,44 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
753
718
|
const handleBack = () => {
|
|
754
719
|
setSelectedInvitation(null);
|
|
755
720
|
};
|
|
756
|
-
return /* @__PURE__ */
|
|
757
|
-
|
|
758
|
-
}, /* @__PURE__ */
|
|
721
|
+
return /* @__PURE__ */ React7.createElement(Clipboard.Provider, null, /* @__PURE__ */ React7.createElement(StackItem.Content, {
|
|
722
|
+
scrollable: true
|
|
723
|
+
}, /* @__PURE__ */ React7.createElement(ControlPage, null, /* @__PURE__ */ React7.createElement(ControlSection, {
|
|
759
724
|
title: t("members verbose label"),
|
|
760
725
|
description: t("members description")
|
|
761
|
-
}, /* @__PURE__ */
|
|
726
|
+
}, /* @__PURE__ */ React7.createElement(ControlFrame, null, /* @__PURE__ */ React7.createElement(ControlFrameItem, {
|
|
762
727
|
title: t("members label")
|
|
763
|
-
}, /* @__PURE__ */
|
|
728
|
+
}, /* @__PURE__ */ React7.createElement(SpaceMemberList, {
|
|
764
729
|
spaceKey: space.key,
|
|
765
730
|
includeSelf: true
|
|
766
|
-
})), locked && /* @__PURE__ */
|
|
731
|
+
})), locked && /* @__PURE__ */ React7.createElement(ControlFrameItem, {
|
|
767
732
|
title: t("invitations label")
|
|
768
|
-
}, /* @__PURE__ */
|
|
733
|
+
}, /* @__PURE__ */ React7.createElement("p", {
|
|
769
734
|
className: "text-description mbe-2"
|
|
770
|
-
}, t("locked space description"))), !locked && /* @__PURE__ */
|
|
735
|
+
}, t("locked space description"))), !locked && /* @__PURE__ */ React7.createElement(ControlFrameItem, {
|
|
771
736
|
title: t("invitations label")
|
|
772
|
-
}, selectedInvitation && /* @__PURE__ */
|
|
737
|
+
}, selectedInvitation && /* @__PURE__ */ React7.createElement(InvitationSection, {
|
|
773
738
|
...selectedInvitation,
|
|
774
739
|
onBack: handleBack
|
|
775
|
-
}), !selectedInvitation && /* @__PURE__ */
|
|
740
|
+
}), !selectedInvitation && /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
|
|
776
741
|
className: "text-description mbe-2"
|
|
777
|
-
}, t("space invitation description")), /* @__PURE__ */
|
|
742
|
+
}, t("space invitation description")), /* @__PURE__ */ React7.createElement(InvitationList, {
|
|
778
743
|
className: "mb-2",
|
|
779
744
|
send: handleSend,
|
|
780
745
|
invitations: visibleInvitations ?? [],
|
|
781
746
|
onClickRemove: (invitation) => invitation.cancel(),
|
|
782
747
|
createInvitationUrl
|
|
783
|
-
}), /* @__PURE__ */
|
|
748
|
+
}), /* @__PURE__ */ React7.createElement(BifurcatedAction, {
|
|
784
749
|
actions: inviteActions,
|
|
785
750
|
activeAction,
|
|
786
751
|
onChangeActiveAction: setActiveAction,
|
|
787
752
|
"data-testid": "membersContainer.createInvitation"
|
|
788
|
-
})))), /* @__PURE__ */
|
|
789
|
-
className: "justify-center
|
|
790
|
-
}, /* @__PURE__ */
|
|
753
|
+
})))), /* @__PURE__ */ React7.createElement("div", {
|
|
754
|
+
className: "justify-center p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
|
|
755
|
+
}, /* @__PURE__ */ React7.createElement(ControlItemInput, {
|
|
791
756
|
title: t("space locked label"),
|
|
792
757
|
description: t("space locked description")
|
|
793
|
-
}, /* @__PURE__ */
|
|
758
|
+
}, /* @__PURE__ */ React7.createElement(Input.Switch, {
|
|
794
759
|
checked: locked,
|
|
795
760
|
onCheckedChange: handleChangeLocked,
|
|
796
761
|
classNames: "justify-self-end"
|
|
@@ -800,26 +765,26 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
|
|
|
800
765
|
}
|
|
801
766
|
};
|
|
802
767
|
var InvitationSection = ({ state = Invitation.State.INIT, authCode, invitationId = "never", url = "never", onBack }) => {
|
|
803
|
-
var _effect =
|
|
768
|
+
var _effect = _useSignals7();
|
|
804
769
|
try {
|
|
805
770
|
const activeView = state < 0 ? "init" : state >= Invitation.State.CANCELLED ? "complete" : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
|
|
806
|
-
return /* @__PURE__ */
|
|
771
|
+
return /* @__PURE__ */ React7.createElement(Viewport.Root, {
|
|
807
772
|
activeView
|
|
808
|
-
}, /* @__PURE__ */
|
|
773
|
+
}, /* @__PURE__ */ React7.createElement(Viewport.Views, null, /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
809
774
|
id: "init"
|
|
810
|
-
}), /* @__PURE__ */
|
|
775
|
+
}), /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
811
776
|
id: "complete"
|
|
812
|
-
}, /* @__PURE__ */
|
|
777
|
+
}, /* @__PURE__ */ React7.createElement(InvitationComplete, {
|
|
813
778
|
statusValue: state
|
|
814
|
-
})), /* @__PURE__ */
|
|
779
|
+
})), /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
815
780
|
id: "auth-code"
|
|
816
|
-
}, /* @__PURE__ */
|
|
781
|
+
}, /* @__PURE__ */ React7.createElement(InvitationAuthCode, {
|
|
817
782
|
id: invitationId,
|
|
818
783
|
code: authCode ?? "never",
|
|
819
784
|
onCancel: onBack
|
|
820
|
-
})), /* @__PURE__ */
|
|
785
|
+
})), /* @__PURE__ */ React7.createElement(Viewport.View, {
|
|
821
786
|
id: "qr-code"
|
|
822
|
-
}, /* @__PURE__ */
|
|
787
|
+
}, /* @__PURE__ */ React7.createElement(InvitationQR, {
|
|
823
788
|
id: invitationId,
|
|
824
789
|
url,
|
|
825
790
|
onCancel: onBack
|
|
@@ -829,36 +794,36 @@ var InvitationSection = ({ state = Invitation.State.INIT, authCode, invitationId
|
|
|
829
794
|
}
|
|
830
795
|
};
|
|
831
796
|
var InvitationQR = ({ id, url, onCancel }) => {
|
|
832
|
-
var _effect =
|
|
797
|
+
var _effect = _useSignals7();
|
|
833
798
|
try {
|
|
834
|
-
const { t } =
|
|
799
|
+
const { t } = useTranslation7("os");
|
|
835
800
|
const qrLabel = useId("members-container__qr-code");
|
|
836
801
|
const emoji = hexToEmoji(id);
|
|
837
|
-
return /* @__PURE__ */
|
|
802
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
|
|
838
803
|
className: "text-description"
|
|
839
804
|
}, t("qr code description", {
|
|
840
|
-
ns:
|
|
841
|
-
})), /* @__PURE__ */
|
|
805
|
+
ns: meta.id
|
|
806
|
+
})), /* @__PURE__ */ React7.createElement("div", {
|
|
842
807
|
role: "group",
|
|
843
808
|
className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
|
|
844
|
-
}, /* @__PURE__ */
|
|
809
|
+
}, /* @__PURE__ */ React7.createElement("div", {
|
|
845
810
|
role: "none",
|
|
846
811
|
className: "is-full aspect-square relative text-description"
|
|
847
|
-
}, /* @__PURE__ */
|
|
812
|
+
}, /* @__PURE__ */ React7.createElement(QR, {
|
|
848
813
|
rounding: 100,
|
|
849
814
|
backgroundColor: "transparent",
|
|
850
815
|
color: "currentColor",
|
|
851
816
|
"aria-labelledby": qrLabel,
|
|
852
817
|
errorCorrectionLevel: "Q",
|
|
853
818
|
cutout: true
|
|
854
|
-
}, url ?? "never"), /* @__PURE__ */
|
|
819
|
+
}, url ?? "never"), /* @__PURE__ */ React7.createElement(Centered, null, /* @__PURE__ */ React7.createElement(Emoji, {
|
|
855
820
|
text: emoji
|
|
856
|
-
}))), /* @__PURE__ */
|
|
821
|
+
}))), /* @__PURE__ */ React7.createElement("span", {
|
|
857
822
|
id: qrLabel,
|
|
858
823
|
className: "sr-only"
|
|
859
|
-
}, t("qr label")), /* @__PURE__ */
|
|
824
|
+
}, t("qr label")), /* @__PURE__ */ React7.createElement(Clipboard.Button, {
|
|
860
825
|
value: url ?? "never"
|
|
861
|
-
})), /* @__PURE__ */
|
|
826
|
+
})), /* @__PURE__ */ React7.createElement(Button4, {
|
|
862
827
|
variant: "ghost",
|
|
863
828
|
onClick: onCancel
|
|
864
829
|
}, t("cancel label")));
|
|
@@ -867,22 +832,22 @@ var InvitationQR = ({ id, url, onCancel }) => {
|
|
|
867
832
|
}
|
|
868
833
|
};
|
|
869
834
|
var InvitationAuthCode = ({ id, code, onCancel }) => {
|
|
870
|
-
var _effect =
|
|
835
|
+
var _effect = _useSignals7();
|
|
871
836
|
try {
|
|
872
|
-
const { t } =
|
|
837
|
+
const { t } = useTranslation7("os");
|
|
873
838
|
const emoji = hexToEmoji(id);
|
|
874
|
-
return /* @__PURE__ */
|
|
839
|
+
return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
|
|
875
840
|
className: "text-description"
|
|
876
|
-
}, t("auth other device emoji message")), emoji && /* @__PURE__ */
|
|
841
|
+
}, t("auth other device emoji message")), emoji && /* @__PURE__ */ React7.createElement(Emoji, {
|
|
877
842
|
text: emoji,
|
|
878
843
|
className: "mli-auto mlb-2 text-center"
|
|
879
|
-
}), /* @__PURE__ */
|
|
844
|
+
}), /* @__PURE__ */ React7.createElement("p", {
|
|
880
845
|
className: "text-description"
|
|
881
|
-
}, t("auth code message")), /* @__PURE__ */
|
|
846
|
+
}, t("auth code message")), /* @__PURE__ */ React7.createElement(AuthCode, {
|
|
882
847
|
code,
|
|
883
848
|
large: true,
|
|
884
849
|
classNames: "mli-auto mlb-2 text-center grow"
|
|
885
|
-
}), /* @__PURE__ */
|
|
850
|
+
}), /* @__PURE__ */ React7.createElement(Button4, {
|
|
886
851
|
variant: "ghost",
|
|
887
852
|
onClick: onCancel
|
|
888
853
|
}, t("cancel label")));
|
|
@@ -891,12 +856,16 @@ var InvitationAuthCode = ({ id, code, onCancel }) => {
|
|
|
891
856
|
}
|
|
892
857
|
};
|
|
893
858
|
var InvitationComplete = ({ statusValue }) => {
|
|
894
|
-
var _effect =
|
|
859
|
+
var _effect = _useSignals7();
|
|
895
860
|
try {
|
|
896
|
-
return statusValue > 0 ? /* @__PURE__ */
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
861
|
+
return statusValue > 0 ? /* @__PURE__ */ React7.createElement(Icon5, {
|
|
862
|
+
icon: "ph--check--regular",
|
|
863
|
+
size: 6,
|
|
864
|
+
classNames: "m-1.5"
|
|
865
|
+
}) : /* @__PURE__ */ React7.createElement(Icon5, {
|
|
866
|
+
icon: "ph--x--regular",
|
|
867
|
+
size: 6,
|
|
868
|
+
classNames: "m-1.5"
|
|
900
869
|
});
|
|
901
870
|
} finally {
|
|
902
871
|
_effect.f();
|
|
@@ -904,109 +873,45 @@ var InvitationComplete = ({ statusValue }) => {
|
|
|
904
873
|
};
|
|
905
874
|
|
|
906
875
|
// src/components/MenuFooter.tsx
|
|
907
|
-
import { useSignals as
|
|
908
|
-
import
|
|
909
|
-
import React9 from "react";
|
|
876
|
+
import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
|
|
877
|
+
import React8 from "react";
|
|
910
878
|
import { getSpace as getSpace2 } from "@dxos/client/echo";
|
|
911
879
|
import { useClient as useClient4 } from "@dxos/react-client";
|
|
912
|
-
import { DropdownMenu, toLocalizedString as toLocalizedString2, useTranslation as
|
|
880
|
+
import { DropdownMenu, Icon as Icon6, toLocalizedString as toLocalizedString2, useTranslation as useTranslation8 } from "@dxos/react-ui";
|
|
913
881
|
var MenuFooter = ({ object }) => {
|
|
914
|
-
var _effect =
|
|
882
|
+
var _effect = _useSignals8();
|
|
915
883
|
try {
|
|
916
|
-
const { t } =
|
|
884
|
+
const { t } = useTranslation8(meta.id);
|
|
917
885
|
const client = useClient4();
|
|
918
886
|
const space = getSpace2(object);
|
|
919
887
|
const spaceName = space ? getSpaceDisplayName(space, {
|
|
920
888
|
personal: client.spaces.default === space
|
|
921
889
|
}) : "";
|
|
922
|
-
return space ? /* @__PURE__ */
|
|
890
|
+
return space ? /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(DropdownMenu.Separator, null), /* @__PURE__ */ React8.createElement(DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ React8.createElement("dl", {
|
|
923
891
|
className: "pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2"
|
|
924
|
-
}, /* @__PURE__ */
|
|
892
|
+
}, /* @__PURE__ */ React8.createElement("dt", {
|
|
925
893
|
className: "uppercase text-[.75em] tracking-wide font-medium mbs-px self-start"
|
|
926
|
-
}, t("location label")), /* @__PURE__ */
|
|
894
|
+
}, t("location label")), /* @__PURE__ */ React8.createElement("dd", {
|
|
927
895
|
className: "line-clamp-3"
|
|
928
|
-
}, /* @__PURE__ */
|
|
929
|
-
|
|
896
|
+
}, /* @__PURE__ */ React8.createElement(Icon6, {
|
|
897
|
+
icon: "ph--planet--regular",
|
|
898
|
+
classNames: "inline-block mie-1"
|
|
930
899
|
}), toLocalizedString2(spaceName, t)))) : null;
|
|
931
900
|
} finally {
|
|
932
901
|
_effect.f();
|
|
933
902
|
}
|
|
934
903
|
};
|
|
935
904
|
|
|
936
|
-
// src/components/ObjectSettings/ObjectSettingsContainer.tsx
|
|
937
|
-
import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
|
|
938
|
-
import React11, { useMemo as useMemo2 } from "react";
|
|
939
|
-
import { Surface } from "@dxos/app-framework";
|
|
940
|
-
import { Clipboard as Clipboard2 } from "@dxos/react-ui";
|
|
941
|
-
import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
|
|
942
|
-
|
|
943
|
-
// src/components/ObjectSettings/BaseObjectSettings.tsx
|
|
944
|
-
import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
|
|
945
|
-
import React10, { useRef as useRef3 } from "react";
|
|
946
|
-
import { Input as Input2, useTranslation as useTranslation10 } from "@dxos/react-ui";
|
|
947
|
-
var BaseObjectSettings = ({ classNames, children, object }) => {
|
|
948
|
-
var _effect = _useSignals10();
|
|
949
|
-
try {
|
|
950
|
-
const { t } = useTranslation10(meta.id);
|
|
951
|
-
const inputRef = useRef3(null);
|
|
952
|
-
return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement(Input2.Root, null, /* @__PURE__ */ React10.createElement(Input2.Label, null, t("name label")), /* @__PURE__ */ React10.createElement(Input2.TextInput, {
|
|
953
|
-
ref: inputRef,
|
|
954
|
-
placeholder: t("name placeholder"),
|
|
955
|
-
// TODO(burdon): Use annotation to get the name field.
|
|
956
|
-
value: object.name ?? "",
|
|
957
|
-
onChange: (event) => {
|
|
958
|
-
object.name = event.target.value;
|
|
959
|
-
},
|
|
960
|
-
onKeyDown: (event) => {
|
|
961
|
-
if (event.key === "Enter") {
|
|
962
|
-
inputRef.current?.blur();
|
|
963
|
-
}
|
|
964
|
-
}
|
|
965
|
-
})), children);
|
|
966
|
-
} finally {
|
|
967
|
-
_effect.f();
|
|
968
|
-
}
|
|
969
|
-
};
|
|
970
|
-
|
|
971
|
-
// src/components/ObjectSettings/ObjectSettingsContainer.tsx
|
|
972
|
-
var ObjectSettingsContainer = ({ object, role }) => {
|
|
973
|
-
var _effect = _useSignals11();
|
|
974
|
-
try {
|
|
975
|
-
const data = useMemo2(() => ({
|
|
976
|
-
subject: object
|
|
977
|
-
}), [
|
|
978
|
-
object
|
|
979
|
-
]);
|
|
980
|
-
return /* @__PURE__ */ React11.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React11.createElement(StackItem2.Content, {
|
|
981
|
-
toolbar: false
|
|
982
|
-
}, /* @__PURE__ */ React11.createElement("div", {
|
|
983
|
-
role: "none",
|
|
984
|
-
className: "overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock"
|
|
985
|
-
}, /* @__PURE__ */ React11.createElement(BaseObjectSettings, {
|
|
986
|
-
object
|
|
987
|
-
}, /* @__PURE__ */ React11.createElement(Surface, {
|
|
988
|
-
role: "base-object-settings",
|
|
989
|
-
data
|
|
990
|
-
})), /* @__PURE__ */ React11.createElement(Surface, {
|
|
991
|
-
role: "object-settings",
|
|
992
|
-
data
|
|
993
|
-
}))));
|
|
994
|
-
} finally {
|
|
995
|
-
_effect.f();
|
|
996
|
-
}
|
|
997
|
-
};
|
|
998
|
-
|
|
999
905
|
// src/components/PersistenceStatus.tsx
|
|
1000
|
-
import { useSignals as
|
|
1001
|
-
import {
|
|
1002
|
-
import React12, { useEffect as useEffect2, useState as useState4 } from "react";
|
|
906
|
+
import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
|
|
907
|
+
import React9, { useEffect as useEffect2, useState as useState4 } from "react";
|
|
1003
908
|
import { debounce } from "@dxos/async";
|
|
1004
|
-
import { Tooltip, useTranslation as
|
|
1005
|
-
import {
|
|
909
|
+
import { Icon as Icon7, Tooltip, useTranslation as useTranslation9 } from "@dxos/react-ui";
|
|
910
|
+
import { mx, staticPlaceholderText, warningText } from "@dxos/react-ui-theme";
|
|
1006
911
|
var PersistenceStatus = ({ db }) => {
|
|
1007
|
-
var _effect =
|
|
912
|
+
var _effect = _useSignals9();
|
|
1008
913
|
try {
|
|
1009
|
-
const { t } =
|
|
914
|
+
const { t } = useTranslation9(meta.id);
|
|
1010
915
|
const [displayMessage, setDisplayMessage] = useState4(false);
|
|
1011
916
|
const [status, naturalSetStatus] = useState4(0);
|
|
1012
917
|
const [prevStatus, setPrevStatus] = useState4(0);
|
|
@@ -1023,32 +928,38 @@ var PersistenceStatus = ({ db }) => {
|
|
|
1023
928
|
]);
|
|
1024
929
|
switch (status) {
|
|
1025
930
|
case 2:
|
|
1026
|
-
return /* @__PURE__ */
|
|
931
|
+
return /* @__PURE__ */ React9.createElement("div", {
|
|
1027
932
|
className: "flex items-center"
|
|
1028
|
-
}, /* @__PURE__ */
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
933
|
+
}, /* @__PURE__ */ React9.createElement(Icon7, {
|
|
934
|
+
icon: "ph--warning--regular",
|
|
935
|
+
size: 4,
|
|
936
|
+
classNames: "me-1"
|
|
937
|
+
}), /* @__PURE__ */ React9.createElement("span", {
|
|
938
|
+
className: mx("text-sm", warningText)
|
|
1032
939
|
}, t("persistence error label")));
|
|
1033
940
|
case 1:
|
|
1034
|
-
return /* @__PURE__ */
|
|
941
|
+
return /* @__PURE__ */ React9.createElement("div", {
|
|
1035
942
|
className: "flex items-center"
|
|
1036
|
-
}, /* @__PURE__ */
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
943
|
+
}, /* @__PURE__ */ React9.createElement(Icon7, {
|
|
944
|
+
icon: "ph--arrows-counter-clockwise--regular",
|
|
945
|
+
size: 4,
|
|
946
|
+
classNames: "me-1"
|
|
947
|
+
}), /* @__PURE__ */ React9.createElement("span", {
|
|
948
|
+
className: mx("text-sm", staticPlaceholderText)
|
|
1040
949
|
}, t("persistence pending label")));
|
|
1041
950
|
case 0:
|
|
1042
951
|
default:
|
|
1043
|
-
return /* @__PURE__ */
|
|
952
|
+
return /* @__PURE__ */ React9.createElement(Tooltip.Trigger, {
|
|
1044
953
|
delayDuration: 400,
|
|
1045
954
|
role: "status",
|
|
1046
955
|
content: t("persisted locally message"),
|
|
1047
956
|
className: "flex items-center"
|
|
1048
|
-
}, /* @__PURE__ */
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
957
|
+
}, /* @__PURE__ */ React9.createElement(Icon7, {
|
|
958
|
+
icon: "ph--check-circle--regular",
|
|
959
|
+
size: 4,
|
|
960
|
+
classNames: "me-1"
|
|
961
|
+
}), displayMessage && /* @__PURE__ */ React9.createElement("span", {
|
|
962
|
+
className: mx("text-sm", staticPlaceholderText)
|
|
1052
963
|
}, t("persisted locally label")));
|
|
1053
964
|
}
|
|
1054
965
|
} finally {
|
|
@@ -1057,37 +968,33 @@ var PersistenceStatus = ({ db }) => {
|
|
|
1057
968
|
};
|
|
1058
969
|
|
|
1059
970
|
// src/components/PopoverRenameObject.tsx
|
|
1060
|
-
import { useSignals as
|
|
1061
|
-
import
|
|
1062
|
-
import {
|
|
971
|
+
import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
|
|
972
|
+
import React10, { useCallback as useCallback7, useRef as useRef3, useState as useState5 } from "react";
|
|
973
|
+
import { LayoutAction as LayoutAction5, createIntent as createIntent6, useIntentDispatcher as useIntentDispatcher6 } from "@dxos/app-framework";
|
|
974
|
+
import { Obj as Obj2 } from "@dxos/echo";
|
|
1063
975
|
import { log as log2 } from "@dxos/log";
|
|
1064
|
-
import { Button as Button5, Input as
|
|
976
|
+
import { Button as Button5, Input as Input2, useTranslation as useTranslation10 } from "@dxos/react-ui";
|
|
1065
977
|
var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
|
|
1066
|
-
var POPOVER_RENAME_OBJECT = `${
|
|
1067
|
-
var PopoverRenameObject = ({ object
|
|
1068
|
-
var _effect =
|
|
978
|
+
var POPOVER_RENAME_OBJECT = `${meta.id}/PopoverRenameObject`;
|
|
979
|
+
var PopoverRenameObject = ({ object }) => {
|
|
980
|
+
var _effect = _useSignals10();
|
|
1069
981
|
try {
|
|
1070
|
-
const { t } =
|
|
1071
|
-
const doneButton =
|
|
1072
|
-
const
|
|
1073
|
-
const [name, setName] = useState5(object.name || object.title || "");
|
|
982
|
+
const { t } = useTranslation10(meta.id);
|
|
983
|
+
const doneButton = useRef3(null);
|
|
984
|
+
const [name, setName] = useState5(Obj2.getLabel(object));
|
|
1074
985
|
const { dispatchPromise: dispatch } = useIntentDispatcher6();
|
|
1075
986
|
const handleDone = useCallback7(() => {
|
|
1076
987
|
try {
|
|
1077
|
-
|
|
1078
|
-
} catch {
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
}
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
S: void 0,
|
|
1088
|
-
C: (f, a) => f(...a)
|
|
1089
|
-
});
|
|
1090
|
-
}
|
|
988
|
+
name && Obj2.setLabel(object, name);
|
|
989
|
+
} catch (err) {
|
|
990
|
+
log2.error("Failed to rename object", {
|
|
991
|
+
err
|
|
992
|
+
}, {
|
|
993
|
+
F: __dxlog_file3,
|
|
994
|
+
L: 27,
|
|
995
|
+
S: void 0,
|
|
996
|
+
C: (f, a) => f(...a)
|
|
997
|
+
});
|
|
1091
998
|
}
|
|
1092
999
|
void dispatch(createIntent6(LayoutAction5.UpdatePopover, {
|
|
1093
1000
|
part: "popover",
|
|
@@ -1101,21 +1008,21 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
1101
1008
|
object,
|
|
1102
1009
|
name
|
|
1103
1010
|
]);
|
|
1104
|
-
return /* @__PURE__ */
|
|
1011
|
+
return /* @__PURE__ */ React10.createElement("div", {
|
|
1105
1012
|
role: "none",
|
|
1106
1013
|
className: "p-2 flex gap-2"
|
|
1107
|
-
}, /* @__PURE__ */
|
|
1014
|
+
}, /* @__PURE__ */ React10.createElement("div", {
|
|
1108
1015
|
role: "none",
|
|
1109
1016
|
className: "flex-1"
|
|
1110
|
-
}, /* @__PURE__ */
|
|
1017
|
+
}, /* @__PURE__ */ React10.createElement(Input2.Root, null, /* @__PURE__ */ React10.createElement(Input2.Label, {
|
|
1111
1018
|
srOnly: true
|
|
1112
|
-
}, t("object name label")), /* @__PURE__ */
|
|
1019
|
+
}, t("object name label")), /* @__PURE__ */ React10.createElement(Input2.TextInput, {
|
|
1113
1020
|
placeholder: t("object placeholder"),
|
|
1114
1021
|
value: name,
|
|
1115
1022
|
"data-testid": "spacePlugin.renameObject.input",
|
|
1116
1023
|
onChange: ({ target: { value } }) => setName(value),
|
|
1117
1024
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1118
|
-
}))), /* @__PURE__ */
|
|
1025
|
+
}))), /* @__PURE__ */ React10.createElement(Button5, {
|
|
1119
1026
|
ref: doneButton,
|
|
1120
1027
|
classNames: "self-stretch",
|
|
1121
1028
|
onClick: handleDone
|
|
@@ -1128,16 +1035,16 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
1128
1035
|
};
|
|
1129
1036
|
|
|
1130
1037
|
// src/components/PopoverRenameSpace.tsx
|
|
1131
|
-
import { useSignals as
|
|
1132
|
-
import
|
|
1133
|
-
import {
|
|
1134
|
-
import { Button as Button6, Input as
|
|
1135
|
-
var POPOVER_RENAME_SPACE = `${
|
|
1038
|
+
import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
|
|
1039
|
+
import React11, { useCallback as useCallback8, useRef as useRef4, useState as useState6 } from "react";
|
|
1040
|
+
import { LayoutAction as LayoutAction6, createIntent as createIntent7, useIntentDispatcher as useIntentDispatcher7 } from "@dxos/app-framework";
|
|
1041
|
+
import { Button as Button6, Input as Input3, Popover, useTranslation as useTranslation11 } from "@dxos/react-ui";
|
|
1042
|
+
var POPOVER_RENAME_SPACE = `${meta.id}/PopoverRenameSpace`;
|
|
1136
1043
|
var PopoverRenameSpace = ({ space }) => {
|
|
1137
|
-
var _effect =
|
|
1044
|
+
var _effect = _useSignals11();
|
|
1138
1045
|
try {
|
|
1139
|
-
const { t } =
|
|
1140
|
-
const doneButton =
|
|
1046
|
+
const { t } = useTranslation11(meta.id);
|
|
1047
|
+
const doneButton = useRef4(null);
|
|
1141
1048
|
const [name, setName] = useState6(space.properties.name ?? "");
|
|
1142
1049
|
const { dispatchPromise: dispatch } = useIntentDispatcher7();
|
|
1143
1050
|
const handleDone = useCallback8(() => {
|
|
@@ -1154,24 +1061,24 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
1154
1061
|
space,
|
|
1155
1062
|
name
|
|
1156
1063
|
]);
|
|
1157
|
-
return /* @__PURE__ */
|
|
1064
|
+
return /* @__PURE__ */ React11.createElement("div", {
|
|
1158
1065
|
role: "none",
|
|
1159
1066
|
className: "p-2 flex gap-2"
|
|
1160
|
-
}, /* @__PURE__ */
|
|
1067
|
+
}, /* @__PURE__ */ React11.createElement("div", {
|
|
1161
1068
|
role: "none",
|
|
1162
1069
|
className: "flex-1"
|
|
1163
|
-
}, /* @__PURE__ */
|
|
1070
|
+
}, /* @__PURE__ */ React11.createElement(Input3.Root, null, /* @__PURE__ */ React11.createElement(Input3.Label, {
|
|
1164
1071
|
srOnly: true
|
|
1165
|
-
}, t("space name label")), /* @__PURE__ */
|
|
1072
|
+
}, t("space name label")), /* @__PURE__ */ React11.createElement(Input3.TextInput, {
|
|
1166
1073
|
defaultValue: space.properties.name ?? "",
|
|
1167
1074
|
placeholder: t("unnamed space label"),
|
|
1168
1075
|
onChange: ({ target: { value } }) => setName(value),
|
|
1169
1076
|
// TODO(wittjosiah): Ideally this should access the popover context to close the popover.
|
|
1170
1077
|
// Currently this is not possible because Radix does not expose the popover context.
|
|
1171
1078
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1172
|
-
}))), /* @__PURE__ */
|
|
1079
|
+
}))), /* @__PURE__ */ React11.createElement(Popover.Close, {
|
|
1173
1080
|
asChild: true
|
|
1174
|
-
}, /* @__PURE__ */
|
|
1081
|
+
}, /* @__PURE__ */ React11.createElement(Button6, {
|
|
1175
1082
|
ref: doneButton,
|
|
1176
1083
|
classNames: "self-stretch",
|
|
1177
1084
|
onClick: handleDone
|
|
@@ -1184,11 +1091,11 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
1184
1091
|
};
|
|
1185
1092
|
|
|
1186
1093
|
// src/components/SchemaContainer.tsx
|
|
1187
|
-
import { useSignals as
|
|
1188
|
-
import
|
|
1189
|
-
import { useTranslation as
|
|
1190
|
-
import {
|
|
1191
|
-
import { StackItem as
|
|
1094
|
+
import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
|
|
1095
|
+
import React12, { useEffect as useEffect3, useState as useState7 } from "react";
|
|
1096
|
+
import { useTranslation as useTranslation12 } from "@dxos/react-ui";
|
|
1097
|
+
import { ControlPage as ControlPage2, ControlSection as ControlSection2, controlItemClasses } from "@dxos/react-ui-form";
|
|
1098
|
+
import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
|
|
1192
1099
|
var useQuerySpaceSchemas = (space) => {
|
|
1193
1100
|
const [schemas, setSchemas] = useState7([]);
|
|
1194
1101
|
useEffect3(() => {
|
|
@@ -1203,38 +1110,38 @@ var useQuerySpaceSchemas = (space) => {
|
|
|
1203
1110
|
return schemas;
|
|
1204
1111
|
};
|
|
1205
1112
|
var SchemaContainer = ({ space }) => {
|
|
1206
|
-
var _effect =
|
|
1113
|
+
var _effect = _useSignals12();
|
|
1207
1114
|
try {
|
|
1208
|
-
const { t } =
|
|
1115
|
+
const { t } = useTranslation12(meta.id);
|
|
1209
1116
|
const schemas = useQuerySpaceSchemas(space);
|
|
1210
|
-
return /* @__PURE__ */
|
|
1211
|
-
|
|
1212
|
-
}, /* @__PURE__ */
|
|
1117
|
+
return /* @__PURE__ */ React12.createElement(StackItem2.Content, {
|
|
1118
|
+
scrollable: true
|
|
1119
|
+
}, /* @__PURE__ */ React12.createElement(ControlPage2, null, /* @__PURE__ */ React12.createElement(ControlSection2, {
|
|
1213
1120
|
title: t("schema verbose label"),
|
|
1214
1121
|
description: t("schema description")
|
|
1215
|
-
}, /* @__PURE__ */
|
|
1122
|
+
}, /* @__PURE__ */ React12.createElement("div", {
|
|
1216
1123
|
role: "none",
|
|
1217
1124
|
className: controlItemClasses
|
|
1218
|
-
}, schemas.length === 0 && /* @__PURE__ */
|
|
1125
|
+
}, schemas.length === 0 && /* @__PURE__ */ React12.createElement("div", {
|
|
1219
1126
|
className: "text-center plb-4"
|
|
1220
|
-
}, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */
|
|
1127
|
+
}, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */ React12.createElement("div", {
|
|
1221
1128
|
key: schema.id
|
|
1222
|
-
}, /* @__PURE__ */
|
|
1129
|
+
}, /* @__PURE__ */ React12.createElement("div", null, schema.typename)))))));
|
|
1223
1130
|
} finally {
|
|
1224
1131
|
_effect.f();
|
|
1225
1132
|
}
|
|
1226
1133
|
};
|
|
1227
1134
|
|
|
1228
1135
|
// src/components/SpacePresence.tsx
|
|
1229
|
-
import { useSignals as
|
|
1230
|
-
import
|
|
1231
|
-
import
|
|
1136
|
+
import { useSignals as _useSignals13 } from "@preact-signals/safe-react/tracking";
|
|
1137
|
+
import * as Option2 from "effect/Option";
|
|
1138
|
+
import React13, { forwardRef, useCallback as useCallback9, useEffect as useEffect4, useState as useState8 } from "react";
|
|
1232
1139
|
import { useAppGraph as useAppGraph2, useCapability } from "@dxos/app-framework";
|
|
1233
1140
|
import { generateName } from "@dxos/display-name";
|
|
1234
1141
|
import { PublicKey, useClient as useClient5 } from "@dxos/react-client";
|
|
1235
|
-
import { getSpace as getSpace3, useMembers
|
|
1142
|
+
import { fullyQualifiedId as fullyQualifiedId3, getSpace as getSpace3, useMembers } from "@dxos/react-client/echo";
|
|
1236
1143
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
1237
|
-
import { Avatar,
|
|
1144
|
+
import { Avatar, List, ListItem, Popover as Popover2, Tooltip as Tooltip2, useDefaultValue as useDefaultValue2, useTranslation as useTranslation13 } from "@dxos/react-ui";
|
|
1238
1145
|
import { AttentionGlyph, useAttended, useAttention } from "@dxos/react-ui-attention";
|
|
1239
1146
|
import { ComplexMap, keyToFallback } from "@dxos/util";
|
|
1240
1147
|
var REFRESH_INTERVAL = 5e3;
|
|
@@ -1242,7 +1149,7 @@ var ACTIVITY_DURATION = 3e4;
|
|
|
1242
1149
|
var noViewers = new ComplexMap(PublicKey.hash);
|
|
1243
1150
|
var getName = (identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());
|
|
1244
1151
|
var SpacePresence = ({ object, spaceKey }) => {
|
|
1245
|
-
var _effect =
|
|
1152
|
+
var _effect = _useSignals13();
|
|
1246
1153
|
try {
|
|
1247
1154
|
const spaceState = useCapability(SpaceCapabilities.MutableState);
|
|
1248
1155
|
const client = useClient5();
|
|
@@ -1272,7 +1179,7 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
1272
1179
|
lastSeen
|
|
1273
1180
|
};
|
|
1274
1181
|
}).toSorted((a, b) => a.lastSeen - b.lastSeen);
|
|
1275
|
-
return /* @__PURE__ */
|
|
1182
|
+
return /* @__PURE__ */ React13.createElement(FullPresence, {
|
|
1276
1183
|
members: membersForObject
|
|
1277
1184
|
});
|
|
1278
1185
|
} finally {
|
|
@@ -1280,46 +1187,46 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
1280
1187
|
}
|
|
1281
1188
|
};
|
|
1282
1189
|
var FullPresence = (props) => {
|
|
1283
|
-
var _effect =
|
|
1190
|
+
var _effect = _useSignals13();
|
|
1284
1191
|
try {
|
|
1285
1192
|
const { size = 9, onMemberClick } = props;
|
|
1286
|
-
const members =
|
|
1193
|
+
const members = useDefaultValue2(props.members, () => []);
|
|
1287
1194
|
if (members.length === 0) {
|
|
1288
1195
|
return null;
|
|
1289
1196
|
}
|
|
1290
|
-
return /* @__PURE__ */
|
|
1197
|
+
return /* @__PURE__ */ React13.createElement("div", {
|
|
1291
1198
|
className: "dx-avatar-group",
|
|
1292
1199
|
"data-testid": "spacePlugin.presence"
|
|
1293
|
-
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */
|
|
1200
|
+
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React13.createElement(Tooltip2.Trigger, {
|
|
1294
1201
|
key: member.identity.identityKey.toHex(),
|
|
1295
1202
|
side: "bottom",
|
|
1296
1203
|
content: getName(member.identity),
|
|
1297
1204
|
className: "grid focus:outline-none"
|
|
1298
|
-
}, /* @__PURE__ */
|
|
1205
|
+
}, /* @__PURE__ */ React13.createElement(PresenceAvatar, {
|
|
1299
1206
|
identity: member.identity,
|
|
1300
1207
|
match: member.currentlyAttended,
|
|
1301
1208
|
index: members.length - i,
|
|
1302
1209
|
onClick: () => onMemberClick?.(member),
|
|
1303
1210
|
size
|
|
1304
|
-
}))), members.length > 3 && /* @__PURE__ */
|
|
1211
|
+
}))), members.length > 3 && /* @__PURE__ */ React13.createElement(Popover2.Root, null, /* @__PURE__ */ React13.createElement(Popover2.Trigger, {
|
|
1305
1212
|
className: "grid focus:outline-none"
|
|
1306
|
-
}, /* @__PURE__ */
|
|
1213
|
+
}, /* @__PURE__ */ React13.createElement(Avatar.Root, null, /* @__PURE__ */ React13.createElement(Avatar.Content, {
|
|
1307
1214
|
status: "inactive",
|
|
1308
1215
|
style: {
|
|
1309
1216
|
zIndex: members.length - 4
|
|
1310
1217
|
},
|
|
1311
1218
|
fallback: `+${members.length - 3}`,
|
|
1312
1219
|
size
|
|
1313
|
-
}))), /* @__PURE__ */
|
|
1220
|
+
}))), /* @__PURE__ */ React13.createElement(Popover2.Portal, null, /* @__PURE__ */ React13.createElement(Popover2.Content, {
|
|
1314
1221
|
side: "bottom"
|
|
1315
|
-
}, /* @__PURE__ */
|
|
1222
|
+
}, /* @__PURE__ */ React13.createElement(Popover2.Arrow, null), /* @__PURE__ */ React13.createElement(Popover2.Viewport, {
|
|
1316
1223
|
classNames: "max-bs-56"
|
|
1317
|
-
}, /* @__PURE__ */
|
|
1224
|
+
}, /* @__PURE__ */ React13.createElement(List, null, members.map((member) => /* @__PURE__ */ React13.createElement(ListItem.Root, {
|
|
1318
1225
|
key: member.identity.identityKey.toHex(),
|
|
1319
1226
|
classNames: "flex gap-2 items-center cursor-pointer mbe-2",
|
|
1320
1227
|
onClick: () => onMemberClick?.(member),
|
|
1321
1228
|
"data-testid": "identity-list-item"
|
|
1322
|
-
}, /* @__PURE__ */
|
|
1229
|
+
}, /* @__PURE__ */ React13.createElement(PresenceAvatar, {
|
|
1323
1230
|
identity: member.identity,
|
|
1324
1231
|
size,
|
|
1325
1232
|
showName: true,
|
|
@@ -1330,11 +1237,11 @@ var FullPresence = (props) => {
|
|
|
1330
1237
|
}
|
|
1331
1238
|
};
|
|
1332
1239
|
var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, index, onClick, size }, forwardedRef) => {
|
|
1333
|
-
var _effect =
|
|
1240
|
+
var _effect = _useSignals13();
|
|
1334
1241
|
try {
|
|
1335
1242
|
const status = match ? "current" : "active";
|
|
1336
1243
|
const fallbackValue = keyToFallback(identity.identityKey);
|
|
1337
|
-
return /* @__PURE__ */
|
|
1244
|
+
return /* @__PURE__ */ React13.createElement(Avatar.Root, null, /* @__PURE__ */ React13.createElement(Avatar.Content, {
|
|
1338
1245
|
status,
|
|
1339
1246
|
hue: identity.profile?.data?.hue || fallbackValue.hue,
|
|
1340
1247
|
"data-testid": "spacePlugin.presence.member",
|
|
@@ -1348,7 +1255,7 @@ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, in
|
|
|
1348
1255
|
onClick,
|
|
1349
1256
|
fallback: identity.profile?.data?.emoji || fallbackValue.emoji,
|
|
1350
1257
|
ref: forwardedRef
|
|
1351
|
-
}), /* @__PURE__ */
|
|
1258
|
+
}), /* @__PURE__ */ React13.createElement(Avatar.Label, {
|
|
1352
1259
|
classNames: showName ? "text-sm truncate pli-2" : "sr-only"
|
|
1353
1260
|
}, getName(identity)));
|
|
1354
1261
|
} finally {
|
|
@@ -1356,7 +1263,7 @@ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, in
|
|
|
1356
1263
|
}
|
|
1357
1264
|
});
|
|
1358
1265
|
var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
1359
|
-
var _effect =
|
|
1266
|
+
var _effect = _useSignals13();
|
|
1360
1267
|
try {
|
|
1361
1268
|
const { hasAttention, isAncestor, isRelated } = useAttention(id);
|
|
1362
1269
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
@@ -1364,7 +1271,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1364
1271
|
const attended = useAttended();
|
|
1365
1272
|
const startOfAttention = attended.at(-1);
|
|
1366
1273
|
const path = usePath(graph, startOfAttention);
|
|
1367
|
-
const containsAttended = !open && !isAttended && id &&
|
|
1274
|
+
const containsAttended = !open && !isAttended && id && Option2.isSome(path) ? path.value.includes(id) : false;
|
|
1368
1275
|
const getActiveViewers = (viewers2) => {
|
|
1369
1276
|
const moment = Date.now();
|
|
1370
1277
|
return Array.from(viewers2.values()).filter((viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION);
|
|
@@ -1381,7 +1288,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1381
1288
|
}, [
|
|
1382
1289
|
viewers
|
|
1383
1290
|
]);
|
|
1384
|
-
return /* @__PURE__ */
|
|
1291
|
+
return /* @__PURE__ */ React13.createElement(SmallPresence, {
|
|
1385
1292
|
count: activeViewers.length,
|
|
1386
1293
|
attended: isAttended,
|
|
1387
1294
|
containsAttended
|
|
@@ -1391,16 +1298,16 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
|
|
|
1391
1298
|
}
|
|
1392
1299
|
};
|
|
1393
1300
|
var SmallPresence = ({ count = 0, attended, containsAttended }) => {
|
|
1394
|
-
var _effect =
|
|
1301
|
+
var _effect = _useSignals13();
|
|
1395
1302
|
try {
|
|
1396
|
-
const { t } =
|
|
1397
|
-
return /* @__PURE__ */
|
|
1303
|
+
const { t } = useTranslation13(meta.id);
|
|
1304
|
+
return /* @__PURE__ */ React13.createElement(Tooltip2.Trigger, {
|
|
1398
1305
|
asChild: true,
|
|
1399
1306
|
content: t("presence label", {
|
|
1400
1307
|
count
|
|
1401
1308
|
}),
|
|
1402
1309
|
side: "bottom"
|
|
1403
|
-
}, /* @__PURE__ */
|
|
1310
|
+
}, /* @__PURE__ */ React13.createElement(AttentionGlyph, {
|
|
1404
1311
|
attended,
|
|
1405
1312
|
containsAttended,
|
|
1406
1313
|
presence: count > 1 ? "many" : count === 1 ? "one" : "none",
|
|
@@ -1412,45 +1319,43 @@ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
|
|
|
1412
1319
|
};
|
|
1413
1320
|
|
|
1414
1321
|
// src/components/SpacePluginSettings.tsx
|
|
1415
|
-
import { useSignals as
|
|
1416
|
-
import
|
|
1322
|
+
import { useSignals as _useSignals14 } from "@preact-signals/safe-react/tracking";
|
|
1323
|
+
import React14 from "react";
|
|
1417
1324
|
import { createIntent as createIntent8, useIntentDispatcher as useIntentDispatcher8 } from "@dxos/app-framework";
|
|
1418
1325
|
import { useClient as useClient6 } from "@dxos/react-client";
|
|
1419
1326
|
import { useSpaces as useSpaces2 } from "@dxos/react-client/echo";
|
|
1420
|
-
import { Input as
|
|
1421
|
-
import {
|
|
1327
|
+
import { IconButton, Input as Input4, List as List2, ListItem as ListItem2, toLocalizedString as toLocalizedString3, useTranslation as useTranslation14 } from "@dxos/react-ui";
|
|
1328
|
+
import { ControlGroup, ControlItemInput as ControlItemInput2, ControlPage as ControlPage3, ControlSection as ControlSection3, controlItemClasses as controlItemClasses2 } from "@dxos/react-ui-form";
|
|
1422
1329
|
var SpacePluginSettings = ({ settings }) => {
|
|
1423
|
-
var _effect =
|
|
1330
|
+
var _effect = _useSignals14();
|
|
1424
1331
|
try {
|
|
1425
|
-
const { t } =
|
|
1332
|
+
const { t } = useTranslation14(meta.id);
|
|
1426
1333
|
const client = useClient6();
|
|
1427
1334
|
const spaces = useSpaces2({
|
|
1428
1335
|
all: settings.showHidden
|
|
1429
1336
|
});
|
|
1430
1337
|
const { dispatchPromise: dispatch } = useIntentDispatcher8();
|
|
1431
|
-
return /* @__PURE__ */
|
|
1338
|
+
return /* @__PURE__ */ React14.createElement(ControlPage3, null, /* @__PURE__ */ React14.createElement(ControlSection3, {
|
|
1432
1339
|
title: t("space settings label"),
|
|
1433
1340
|
description: t("space settings description")
|
|
1434
|
-
}, /* @__PURE__ */
|
|
1435
|
-
|
|
1436
|
-
}, /* @__PURE__ */
|
|
1437
|
-
label: t("show hidden spaces label")
|
|
1438
|
-
}, /* @__PURE__ */ React17.createElement(Input5.Switch, {
|
|
1341
|
+
}, /* @__PURE__ */ React14.createElement(ControlGroup, null, /* @__PURE__ */ React14.createElement(ControlItemInput2, {
|
|
1342
|
+
title: t("show hidden spaces label")
|
|
1343
|
+
}, /* @__PURE__ */ React14.createElement(Input4.Switch, {
|
|
1439
1344
|
checked: settings.showHidden,
|
|
1440
1345
|
onCheckedChange: (checked) => settings.showHidden = !!checked
|
|
1441
|
-
}))), /* @__PURE__ */
|
|
1346
|
+
}))), /* @__PURE__ */ React14.createElement(List2, {
|
|
1442
1347
|
classNames: [
|
|
1443
1348
|
controlItemClasses2,
|
|
1444
1349
|
"flex flex-col gap-trimSm"
|
|
1445
1350
|
]
|
|
1446
|
-
}, spaces.map((space) => /* @__PURE__ */
|
|
1351
|
+
}, spaces.map((space) => /* @__PURE__ */ React14.createElement(ListItem2.Root, {
|
|
1447
1352
|
key: space.id,
|
|
1448
1353
|
classNames: "is-full items-center"
|
|
1449
|
-
}, /* @__PURE__ */
|
|
1354
|
+
}, /* @__PURE__ */ React14.createElement(ListItem2.Heading, {
|
|
1450
1355
|
classNames: "grow truncate !min-bs-0"
|
|
1451
1356
|
}, toLocalizedString3(getSpaceDisplayName(space, {
|
|
1452
1357
|
personal: space === client.spaces.default
|
|
1453
|
-
}), t)), /* @__PURE__ */
|
|
1358
|
+
}), t)), /* @__PURE__ */ React14.createElement(IconButton, {
|
|
1454
1359
|
icon: "ph--faders--regular",
|
|
1455
1360
|
onClick: () => dispatch(createIntent8(SpaceAction.OpenSettings, {
|
|
1456
1361
|
space
|
|
@@ -1463,18 +1368,19 @@ var SpacePluginSettings = ({ settings }) => {
|
|
|
1463
1368
|
};
|
|
1464
1369
|
|
|
1465
1370
|
// src/components/SpaceSettings/SpaceSettingsContainer.tsx
|
|
1466
|
-
import { useSignals as
|
|
1467
|
-
import
|
|
1468
|
-
import
|
|
1469
|
-
import {
|
|
1371
|
+
import { useSignals as _useSignals15 } from "@preact-signals/safe-react/tracking";
|
|
1372
|
+
import * as Function2 from "effect/Function";
|
|
1373
|
+
import * as Schema from "effect/Schema";
|
|
1374
|
+
import React15, { useCallback as useCallback10, useMemo as useMemo2, useState as useState9 } from "react";
|
|
1375
|
+
import { LayoutAction as LayoutAction7, chain as chain2, createIntent as createIntent9, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
|
|
1470
1376
|
import { log as log3 } from "@dxos/log";
|
|
1471
1377
|
import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1472
1378
|
import { useClient as useClient7 } from "@dxos/react-client";
|
|
1473
|
-
import { SpaceState
|
|
1474
|
-
import { Button as Button7, Input as
|
|
1475
|
-
import {
|
|
1379
|
+
import { SpaceState } from "@dxos/react-client/echo";
|
|
1380
|
+
import { Button as Button7, Input as Input5, useMulticastObservable, useTranslation as useTranslation15 } from "@dxos/react-ui";
|
|
1381
|
+
import { ControlItem, ControlItemInput as ControlItemInput3, ControlPage as ControlPage4, ControlSection as ControlSection4, Form as Form3 } from "@dxos/react-ui-form";
|
|
1476
1382
|
import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
|
|
1477
|
-
import { StackItem as
|
|
1383
|
+
import { StackItem as StackItem3 } from "@dxos/react-ui-stack";
|
|
1478
1384
|
var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx";
|
|
1479
1385
|
var FormSchema = SpaceForm.pipe(Schema.extend(Schema.Struct({
|
|
1480
1386
|
archived: Schema.Boolean.annotations({
|
|
@@ -1482,19 +1388,19 @@ var FormSchema = SpaceForm.pipe(Schema.extend(Schema.Struct({
|
|
|
1482
1388
|
})
|
|
1483
1389
|
})));
|
|
1484
1390
|
var SpaceSettingsContainer = ({ space }) => {
|
|
1485
|
-
var _effect =
|
|
1391
|
+
var _effect = _useSignals15();
|
|
1486
1392
|
try {
|
|
1487
|
-
const { t } =
|
|
1393
|
+
const { t } = useTranslation15(meta.id);
|
|
1488
1394
|
const { dispatchPromise: dispatch } = useIntentDispatcher9();
|
|
1489
1395
|
const client = useClient7();
|
|
1490
|
-
const archived = useMulticastObservable(space.state) ===
|
|
1396
|
+
const archived = useMulticastObservable(space.state) === SpaceState.SPACE_INACTIVE;
|
|
1491
1397
|
const [edgeReplication, setEdgeReplication] = useState9(space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED);
|
|
1492
1398
|
const toggleEdgeReplication = useCallback10(async (next) => {
|
|
1493
1399
|
setEdgeReplication(next);
|
|
1494
1400
|
await space?.internal.setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED).catch((err) => {
|
|
1495
1401
|
log3.catch(err, void 0, {
|
|
1496
1402
|
F: __dxlog_file4,
|
|
1497
|
-
L:
|
|
1403
|
+
L: 52,
|
|
1498
1404
|
S: void 0,
|
|
1499
1405
|
C: (f, a) => f(...a)
|
|
1500
1406
|
});
|
|
@@ -1515,7 +1421,7 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1515
1421
|
space.properties.hue = properties.hue;
|
|
1516
1422
|
}
|
|
1517
1423
|
if (properties.archived && !archived) {
|
|
1518
|
-
void dispatch(
|
|
1424
|
+
void dispatch(Function2.pipe(createIntent9(SpaceAction.Close, {
|
|
1519
1425
|
space
|
|
1520
1426
|
}), chain2(LayoutAction7.SwitchWorkspace, {
|
|
1521
1427
|
part: "workspace",
|
|
@@ -1531,7 +1437,7 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1531
1437
|
toggleEdgeReplication,
|
|
1532
1438
|
archived
|
|
1533
1439
|
]);
|
|
1534
|
-
const values =
|
|
1440
|
+
const values = useMemo2(() => ({
|
|
1535
1441
|
name: space.properties.name,
|
|
1536
1442
|
icon: space.properties.icon,
|
|
1537
1443
|
hue: space.properties.hue,
|
|
@@ -1544,16 +1450,16 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1544
1450
|
edgeReplication,
|
|
1545
1451
|
archived
|
|
1546
1452
|
]);
|
|
1547
|
-
const customElements =
|
|
1453
|
+
const customElements = useMemo2(() => ({
|
|
1548
1454
|
name: ({ type, label, getValue, onValueChange }) => {
|
|
1549
1455
|
const handleChange = useCallback10(({ target: { value } }) => onValueChange(type, value), [
|
|
1550
1456
|
onValueChange,
|
|
1551
1457
|
type
|
|
1552
1458
|
]);
|
|
1553
|
-
return /* @__PURE__ */
|
|
1459
|
+
return /* @__PURE__ */ React15.createElement(ControlItemInput3, {
|
|
1554
1460
|
title: label,
|
|
1555
1461
|
description: t("display name description")
|
|
1556
|
-
}, /* @__PURE__ */
|
|
1462
|
+
}, /* @__PURE__ */ React15.createElement(Input5.TextInput, {
|
|
1557
1463
|
value: getValue(),
|
|
1558
1464
|
onChange: handleChange,
|
|
1559
1465
|
placeholder: t("display name input placeholder"),
|
|
@@ -1561,21 +1467,21 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1561
1467
|
}));
|
|
1562
1468
|
},
|
|
1563
1469
|
icon: ({ type, label, getValue, onValueChange }) => {
|
|
1564
|
-
const handleChange = useCallback10((
|
|
1470
|
+
const handleChange = useCallback10((icon) => onValueChange(type, icon), [
|
|
1565
1471
|
onValueChange,
|
|
1566
1472
|
type
|
|
1567
1473
|
]);
|
|
1568
|
-
const
|
|
1474
|
+
const handleReset = useCallback10(() => onValueChange(type, void 0), [
|
|
1569
1475
|
onValueChange,
|
|
1570
1476
|
type
|
|
1571
1477
|
]);
|
|
1572
|
-
return /* @__PURE__ */
|
|
1478
|
+
return /* @__PURE__ */ React15.createElement(ControlItem, {
|
|
1573
1479
|
title: label,
|
|
1574
1480
|
description: t("icon description")
|
|
1575
|
-
}, /* @__PURE__ */
|
|
1481
|
+
}, /* @__PURE__ */ React15.createElement(IconPicker, {
|
|
1576
1482
|
value: getValue(),
|
|
1577
1483
|
onChange: handleChange,
|
|
1578
|
-
onReset:
|
|
1484
|
+
onReset: handleReset,
|
|
1579
1485
|
classNames: "justify-self-end",
|
|
1580
1486
|
iconSize: 5
|
|
1581
1487
|
}));
|
|
@@ -1585,17 +1491,17 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1585
1491
|
onValueChange,
|
|
1586
1492
|
type
|
|
1587
1493
|
]);
|
|
1588
|
-
const
|
|
1494
|
+
const handleReset = useCallback10(() => onValueChange(type, void 0), [
|
|
1589
1495
|
onValueChange,
|
|
1590
1496
|
type
|
|
1591
1497
|
]);
|
|
1592
|
-
return /* @__PURE__ */
|
|
1498
|
+
return /* @__PURE__ */ React15.createElement(ControlItem, {
|
|
1593
1499
|
title: label,
|
|
1594
1500
|
description: t("hue description")
|
|
1595
|
-
}, /* @__PURE__ */
|
|
1501
|
+
}, /* @__PURE__ */ React15.createElement(HuePicker, {
|
|
1596
1502
|
value: getValue(),
|
|
1597
1503
|
onChange: handleChange,
|
|
1598
|
-
onReset:
|
|
1504
|
+
onReset: handleReset,
|
|
1599
1505
|
classNames: "[--hue-preview-size:1.25rem] justify-self-end"
|
|
1600
1506
|
}));
|
|
1601
1507
|
},
|
|
@@ -1604,10 +1510,10 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1604
1510
|
onValueChange,
|
|
1605
1511
|
type
|
|
1606
1512
|
]);
|
|
1607
|
-
return /* @__PURE__ */
|
|
1513
|
+
return /* @__PURE__ */ React15.createElement(ControlItemInput3, {
|
|
1608
1514
|
title: label,
|
|
1609
1515
|
description: t("edge replication description")
|
|
1610
|
-
}, /* @__PURE__ */
|
|
1516
|
+
}, /* @__PURE__ */ React15.createElement(Input5.Switch, {
|
|
1611
1517
|
checked: getValue(),
|
|
1612
1518
|
onCheckedChange: handleChange,
|
|
1613
1519
|
classNames: "justify-self-end"
|
|
@@ -1619,10 +1525,10 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1619
1525
|
type,
|
|
1620
1526
|
getValue
|
|
1621
1527
|
]);
|
|
1622
|
-
return /* @__PURE__ */
|
|
1528
|
+
return /* @__PURE__ */ React15.createElement(ControlItemInput3, {
|
|
1623
1529
|
title: label,
|
|
1624
1530
|
description: t("archive space description")
|
|
1625
|
-
}, /* @__PURE__ */
|
|
1531
|
+
}, /* @__PURE__ */ React15.createElement(Button7, {
|
|
1626
1532
|
disabled: space === client.spaces.default,
|
|
1627
1533
|
onClick: handleChange
|
|
1628
1534
|
}, getValue() ? t("unarchive space label") : t("archive space label")));
|
|
@@ -1631,23 +1537,23 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1631
1537
|
t,
|
|
1632
1538
|
space
|
|
1633
1539
|
]);
|
|
1634
|
-
return /* @__PURE__ */
|
|
1635
|
-
|
|
1636
|
-
}, /* @__PURE__ */
|
|
1540
|
+
return /* @__PURE__ */ React15.createElement(StackItem3.Content, {
|
|
1541
|
+
scrollable: true
|
|
1542
|
+
}, /* @__PURE__ */ React15.createElement(ControlPage4, null, /* @__PURE__ */ React15.createElement(ControlSection4, {
|
|
1637
1543
|
title: t("space properties settings verbose label", {
|
|
1638
|
-
ns:
|
|
1544
|
+
ns: meta.id
|
|
1639
1545
|
}),
|
|
1640
1546
|
description: t("space properties settings description", {
|
|
1641
|
-
ns:
|
|
1547
|
+
ns: meta.id
|
|
1642
1548
|
})
|
|
1643
|
-
}, /* @__PURE__ */
|
|
1549
|
+
}, /* @__PURE__ */ React15.createElement(Form3, {
|
|
1644
1550
|
schema: FormSchema,
|
|
1645
1551
|
values,
|
|
1646
1552
|
autoSave: true,
|
|
1647
1553
|
onSave: handleSave,
|
|
1648
1554
|
Custom: customElements,
|
|
1649
1555
|
outerSpacing: false,
|
|
1650
|
-
classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]
|
|
1556
|
+
classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
|
|
1651
1557
|
}))));
|
|
1652
1558
|
} finally {
|
|
1653
1559
|
_effect.f();
|
|
@@ -1655,22 +1561,22 @@ var SpaceSettingsContainer = ({ space }) => {
|
|
|
1655
1561
|
};
|
|
1656
1562
|
|
|
1657
1563
|
// src/components/SyncStatus/InlineSyncStatus.tsx
|
|
1658
|
-
import { useSignals as
|
|
1659
|
-
import
|
|
1660
|
-
import
|
|
1564
|
+
import { useSignals as _useSignals16 } from "@preact-signals/safe-react/tracking";
|
|
1565
|
+
import * as Option3 from "effect/Option";
|
|
1566
|
+
import React16, { useEffect as useEffect5, useState as useState10 } from "react";
|
|
1661
1567
|
import { useAppGraph as useAppGraph3 } from "@dxos/app-framework";
|
|
1662
1568
|
import { EdgeStatus } from "@dxos/protocols/proto/dxos/client/services";
|
|
1663
1569
|
import { EdgeReplicationSetting as EdgeReplicationSetting2 } from "@dxos/protocols/proto/dxos/echo/metadata";
|
|
1664
1570
|
import { useClient as useClient8 } from "@dxos/react-client";
|
|
1665
1571
|
import { useSpaceSyncState } from "@dxos/react-client/echo";
|
|
1666
|
-
import { Tooltip as Tooltip3, useTranslation as
|
|
1572
|
+
import { Tooltip as Tooltip3, useTranslation as useTranslation16 } from "@dxos/react-ui";
|
|
1667
1573
|
import { AttentionGlyph as AttentionGlyph2, useAttended as useAttended2, useAttention as useAttention2 } from "@dxos/react-ui-attention";
|
|
1668
1574
|
var useEdgeStatus = () => {
|
|
1669
|
-
const [status, setStatus] = useState10(EdgeStatus.NOT_CONNECTED);
|
|
1575
|
+
const [status, setStatus] = useState10(EdgeStatus.ConnectionState.NOT_CONNECTED);
|
|
1670
1576
|
const client = useClient8();
|
|
1671
1577
|
useEffect5(() => {
|
|
1672
1578
|
client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status: status2 }) => {
|
|
1673
|
-
setStatus(status2);
|
|
1579
|
+
setStatus(status2.state);
|
|
1674
1580
|
});
|
|
1675
1581
|
}, [
|
|
1676
1582
|
client
|
|
@@ -1678,9 +1584,9 @@ var useEdgeStatus = () => {
|
|
|
1678
1584
|
return status;
|
|
1679
1585
|
};
|
|
1680
1586
|
var InlineSyncStatus = ({ space, open }) => {
|
|
1681
|
-
var _effect =
|
|
1587
|
+
var _effect = _useSignals16();
|
|
1682
1588
|
try {
|
|
1683
|
-
const { t } =
|
|
1589
|
+
const { t } = useTranslation16(meta.id);
|
|
1684
1590
|
const id = space.id;
|
|
1685
1591
|
const { hasAttention, isAncestor, isRelated } = useAttention2(id);
|
|
1686
1592
|
const isAttended = hasAttention || isAncestor || isRelated;
|
|
@@ -1688,16 +1594,16 @@ var InlineSyncStatus = ({ space, open }) => {
|
|
|
1688
1594
|
const attended = useAttended2();
|
|
1689
1595
|
const startOfAttention = attended.at(-1);
|
|
1690
1596
|
const path = usePath(graph, startOfAttention);
|
|
1691
|
-
const containsAttended = !open && !isAttended && id &&
|
|
1692
|
-
const connectedToEdge = useEdgeStatus() === EdgeStatus.CONNECTED;
|
|
1597
|
+
const containsAttended = !open && !isAttended && id && Option3.isSome(path) ? path.value.includes(id) : false;
|
|
1598
|
+
const connectedToEdge = useEdgeStatus() === EdgeStatus.ConnectionState.CONNECTED;
|
|
1693
1599
|
const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting2.ENABLED;
|
|
1694
1600
|
const syncState = useSpaceSyncState(space);
|
|
1695
1601
|
const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
|
|
1696
|
-
return /* @__PURE__ */
|
|
1602
|
+
return /* @__PURE__ */ React16.createElement(Tooltip3.Trigger, {
|
|
1697
1603
|
asChild: true,
|
|
1698
1604
|
content: t("syncing label"),
|
|
1699
1605
|
side: "bottom"
|
|
1700
|
-
}, /* @__PURE__ */
|
|
1606
|
+
}, /* @__PURE__ */ React16.createElement(AttentionGlyph2, {
|
|
1701
1607
|
syncing,
|
|
1702
1608
|
attended: isAttended,
|
|
1703
1609
|
containsAttended,
|
|
@@ -1709,12 +1615,16 @@ var InlineSyncStatus = ({ space, open }) => {
|
|
|
1709
1615
|
};
|
|
1710
1616
|
|
|
1711
1617
|
// src/components/SyncStatus/SyncStatus.tsx
|
|
1712
|
-
import { useSignals as
|
|
1713
|
-
import
|
|
1618
|
+
import { useSignals as _useSignals17 } from "@preact-signals/safe-react/tracking";
|
|
1619
|
+
import React17, { useEffect as useEffect6, useState as useState11 } from "react";
|
|
1714
1620
|
import { StatusBar } from "@dxos/plugin-status-bar";
|
|
1621
|
+
import { EdgeStatus as EdgeStatus2 } from "@dxos/protocols/proto/dxos/client/services";
|
|
1715
1622
|
import { useClient as useClient9 } from "@dxos/react-client";
|
|
1623
|
+
import { useStream } from "@dxos/react-client/devtools";
|
|
1716
1624
|
import { getSyncSummary, useSyncState } from "@dxos/react-client/echo";
|
|
1717
|
-
import { Icon as
|
|
1625
|
+
import { Icon as Icon8, Popover as Popover3, useTranslation as useTranslation17 } from "@dxos/react-ui";
|
|
1626
|
+
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
1627
|
+
import { Unit } from "@dxos/util";
|
|
1718
1628
|
|
|
1719
1629
|
// src/components/SyncStatus/save-tracker.ts
|
|
1720
1630
|
import { Context } from "@dxos/context";
|
|
@@ -1810,7 +1720,7 @@ var getIcon = (status) => {
|
|
|
1810
1720
|
// src/components/SyncStatus/SyncStatus.tsx
|
|
1811
1721
|
var SYNC_STALLED_TIMEOUT = 5e3;
|
|
1812
1722
|
var SyncStatus = () => {
|
|
1813
|
-
var _effect =
|
|
1723
|
+
var _effect = _useSignals17();
|
|
1814
1724
|
try {
|
|
1815
1725
|
const client = useClient9();
|
|
1816
1726
|
const state = useSyncState();
|
|
@@ -1820,7 +1730,7 @@ var SyncStatus = () => {
|
|
|
1820
1730
|
setSaved(state2 === "saved");
|
|
1821
1731
|
});
|
|
1822
1732
|
}, []);
|
|
1823
|
-
return /* @__PURE__ */
|
|
1733
|
+
return /* @__PURE__ */ React17.createElement(SyncStatusIndicator, {
|
|
1824
1734
|
state,
|
|
1825
1735
|
saved
|
|
1826
1736
|
});
|
|
@@ -1829,9 +1739,9 @@ var SyncStatus = () => {
|
|
|
1829
1739
|
}
|
|
1830
1740
|
};
|
|
1831
1741
|
var SyncStatusIndicator = ({ state, saved }) => {
|
|
1832
|
-
var _effect =
|
|
1742
|
+
var _effect = _useSignals17();
|
|
1833
1743
|
try {
|
|
1834
|
-
const { t } =
|
|
1744
|
+
const { t } = useTranslation17(meta.id);
|
|
1835
1745
|
const summary = getSyncSummary(state);
|
|
1836
1746
|
const offline = Object.values(state).length === 0;
|
|
1837
1747
|
const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
|
|
@@ -1858,32 +1768,162 @@ var SyncStatusIndicator = ({ state, saved }) => {
|
|
|
1858
1768
|
needsToDownload
|
|
1859
1769
|
]);
|
|
1860
1770
|
const title = t(`${status} label`);
|
|
1861
|
-
const icon = /* @__PURE__ */
|
|
1771
|
+
const icon = /* @__PURE__ */ React17.createElement(Icon8, {
|
|
1862
1772
|
icon: getIcon(status),
|
|
1863
|
-
size: 4,
|
|
1864
1773
|
classNames
|
|
1865
1774
|
});
|
|
1866
|
-
return /* @__PURE__ */
|
|
1775
|
+
return /* @__PURE__ */ React17.createElement(Popover3.Root, null, /* @__PURE__ */ React17.createElement(Popover3.Trigger, {
|
|
1776
|
+
asChild: true
|
|
1777
|
+
}, /* @__PURE__ */ React17.createElement(StatusBar.Item, {
|
|
1867
1778
|
title
|
|
1868
|
-
}, icon);
|
|
1779
|
+
}, icon)), /* @__PURE__ */ React17.createElement(Popover3.Portal, null, /* @__PURE__ */ React17.createElement(Popover3.Content, null, /* @__PURE__ */ React17.createElement(EdgeConnectionPopover, null), /* @__PURE__ */ React17.createElement(Popover3.Arrow, null))));
|
|
1780
|
+
} finally {
|
|
1781
|
+
_effect.f();
|
|
1782
|
+
}
|
|
1783
|
+
};
|
|
1784
|
+
var useEdgeStatus2 = () => {
|
|
1785
|
+
const client = useClient9();
|
|
1786
|
+
const { status } = useStream(() => client.services.services.EdgeAgentService.queryEdgeStatus(), {});
|
|
1787
|
+
return status;
|
|
1788
|
+
};
|
|
1789
|
+
var EdgeConnectionPopover = () => {
|
|
1790
|
+
var _effect = _useSignals17();
|
|
1791
|
+
try {
|
|
1792
|
+
const status = useEdgeStatus2();
|
|
1793
|
+
const { t } = useTranslation17(meta.id);
|
|
1794
|
+
const isConnected = status?.state === EdgeStatus2.ConnectionState.CONNECTED;
|
|
1795
|
+
return /* @__PURE__ */ React17.createElement("div", {
|
|
1796
|
+
className: "min-is-[240px] p-2"
|
|
1797
|
+
}, /* @__PURE__ */ React17.createElement("div", {
|
|
1798
|
+
className: "flex items-center gap-2 mbe-2"
|
|
1799
|
+
}, /* @__PURE__ */ React17.createElement(Icon8, {
|
|
1800
|
+
icon: isConnected ? "ph--check-circle--regular" : "ph--warning-circle--regular",
|
|
1801
|
+
classNames: mx2(isConnected ? "text-successText" : "text-errorText animate-pulse")
|
|
1802
|
+
}), /* @__PURE__ */ React17.createElement("span", {
|
|
1803
|
+
className: "font-medium text-sm"
|
|
1804
|
+
}, isConnected ? t("sync edge connected label") : t("sync edge disconnected label"))), status?.state === EdgeStatus2.ConnectionState.NOT_CONNECTED && /* @__PURE__ */ React17.createElement("div", {
|
|
1805
|
+
className: "flex items-center gap-2 text-sm text-description"
|
|
1806
|
+
}, /* @__PURE__ */ React17.createElement(Icon8, {
|
|
1807
|
+
icon: "ph--cloud-x--regular"
|
|
1808
|
+
}), /* @__PURE__ */ React17.createElement("span", null, t("sync no connection label"))), status?.state === EdgeStatus2.ConnectionState.CONNECTED && /* @__PURE__ */ React17.createElement("div", {
|
|
1809
|
+
className: "space-y-2"
|
|
1810
|
+
}, /* @__PURE__ */ React17.createElement("div", {
|
|
1811
|
+
className: "flex items-center justify-between"
|
|
1812
|
+
}, /* @__PURE__ */ React17.createElement("div", {
|
|
1813
|
+
className: "flex items-center gap-2 text-sm text-description"
|
|
1814
|
+
}, /* @__PURE__ */ React17.createElement(Icon8, {
|
|
1815
|
+
icon: "ph--timer--regular"
|
|
1816
|
+
}), /* @__PURE__ */ React17.createElement("span", null, t("sync latency label"))), /* @__PURE__ */ React17.createElement("span", {
|
|
1817
|
+
className: "text-sm font-mono text-subdued"
|
|
1818
|
+
}, status.rtt.toFixed(0), "ms")), /* @__PURE__ */ React17.createElement("div", {
|
|
1819
|
+
className: "flex items-center justify-between"
|
|
1820
|
+
}, /* @__PURE__ */ React17.createElement("div", {
|
|
1821
|
+
className: "flex items-center gap-2 text-sm text-description"
|
|
1822
|
+
}, /* @__PURE__ */ React17.createElement(Icon8, {
|
|
1823
|
+
icon: "ph--arrow-up--regular"
|
|
1824
|
+
}), /* @__PURE__ */ React17.createElement("span", null, t("sync upload label"))), /* @__PURE__ */ React17.createElement("span", {
|
|
1825
|
+
className: "text-sm font-mono text-subdued"
|
|
1826
|
+
}, Unit.Kilobyte(status.rateBytesUp, 0), "/s")), /* @__PURE__ */ React17.createElement("div", {
|
|
1827
|
+
className: "flex items-center justify-between"
|
|
1828
|
+
}, /* @__PURE__ */ React17.createElement("div", {
|
|
1829
|
+
className: "flex items-center gap-2 text-sm text-description"
|
|
1830
|
+
}, /* @__PURE__ */ React17.createElement(Icon8, {
|
|
1831
|
+
icon: "ph--arrow-down--regular"
|
|
1832
|
+
}), /* @__PURE__ */ React17.createElement("span", null, t("sync download label"))), /* @__PURE__ */ React17.createElement("span", {
|
|
1833
|
+
className: "text-sm font-mono text-subdued"
|
|
1834
|
+
}, Unit.Kilobyte(status.rateBytesDown, 0), "/s"))));
|
|
1869
1835
|
} finally {
|
|
1870
1836
|
_effect.f();
|
|
1871
1837
|
}
|
|
1872
1838
|
};
|
|
1873
1839
|
|
|
1840
|
+
// src/components/ViewEditor.tsx
|
|
1841
|
+
import { useSignals as _useSignals18 } from "@preact-signals/safe-react/tracking";
|
|
1842
|
+
import React18, { useCallback as useCallback11 } from "react";
|
|
1843
|
+
import { createIntent as createIntent10, useIntentDispatcher as useIntentDispatcher10 } from "@dxos/app-framework";
|
|
1844
|
+
import { Type as Type3 } from "@dxos/echo";
|
|
1845
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
1846
|
+
import { useClient as useClient10 } from "@dxos/react-client";
|
|
1847
|
+
import { getSpace as getSpace4, useSchema } from "@dxos/react-client/echo";
|
|
1848
|
+
import { ViewEditor as NaturalViewEditor } from "@dxos/react-ui-form";
|
|
1849
|
+
import { getTypenameFromQuery as getTypenameFromQuery2 } from "@dxos/schema";
|
|
1850
|
+
var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ViewEditor.tsx";
|
|
1851
|
+
var ViewEditor = ({ view }) => {
|
|
1852
|
+
var _effect = _useSignals18();
|
|
1853
|
+
try {
|
|
1854
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher10();
|
|
1855
|
+
const client = useClient10();
|
|
1856
|
+
const space = getSpace4(view);
|
|
1857
|
+
const typename = view.query ? getTypenameFromQuery2(view.query.ast) : void 0;
|
|
1858
|
+
const schema = useSchema(client, space, typename);
|
|
1859
|
+
const handleUpdateQuery = useCallback11((newQuery) => {
|
|
1860
|
+
invariant2(schema, void 0, {
|
|
1861
|
+
F: __dxlog_file6,
|
|
1862
|
+
L: 28,
|
|
1863
|
+
S: void 0,
|
|
1864
|
+
A: [
|
|
1865
|
+
"schema",
|
|
1866
|
+
""
|
|
1867
|
+
]
|
|
1868
|
+
});
|
|
1869
|
+
invariant2(Type3.isMutable(schema), void 0, {
|
|
1870
|
+
F: __dxlog_file6,
|
|
1871
|
+
L: 29,
|
|
1872
|
+
S: void 0,
|
|
1873
|
+
A: [
|
|
1874
|
+
"Type.isMutable(schema)",
|
|
1875
|
+
""
|
|
1876
|
+
]
|
|
1877
|
+
});
|
|
1878
|
+
view.query.ast = newQuery;
|
|
1879
|
+
schema.updateTypename(getTypenameFromQuery2(newQuery));
|
|
1880
|
+
}, [
|
|
1881
|
+
view,
|
|
1882
|
+
schema
|
|
1883
|
+
]);
|
|
1884
|
+
const handleDelete = useCallback11((fieldId) => {
|
|
1885
|
+
void dispatch(createIntent10(SpaceAction.DeleteField, {
|
|
1886
|
+
view,
|
|
1887
|
+
fieldId
|
|
1888
|
+
}));
|
|
1889
|
+
}, [
|
|
1890
|
+
dispatch,
|
|
1891
|
+
view
|
|
1892
|
+
]);
|
|
1893
|
+
if (!space || !schema) {
|
|
1894
|
+
return null;
|
|
1895
|
+
}
|
|
1896
|
+
return /* @__PURE__ */ React18.createElement(NaturalViewEditor, {
|
|
1897
|
+
registry: space.db.schemaRegistry,
|
|
1898
|
+
schema,
|
|
1899
|
+
view,
|
|
1900
|
+
onQueryChanged: Type3.isMutable(schema) ? handleUpdateQuery : void 0,
|
|
1901
|
+
onDelete: Type3.isMutable(schema) ? handleDelete : void 0,
|
|
1902
|
+
outerSpacing: false
|
|
1903
|
+
});
|
|
1904
|
+
} finally {
|
|
1905
|
+
_effect.f();
|
|
1906
|
+
}
|
|
1907
|
+
};
|
|
1908
|
+
|
|
1909
|
+
// src/components/index.ts
|
|
1910
|
+
import { lazy } from "react";
|
|
1911
|
+
var CollectionMain = lazy(() => import("./CollectionMain-HTKSZCRR.mjs"));
|
|
1912
|
+
var ObjectDetailsPanel = lazy(() => import("./ObjectDetailsPanel-5B45G744.mjs"));
|
|
1913
|
+
var ObjectSettingsContainer = lazy(() => import("./ObjectSettings-UFTKBP7B.mjs"));
|
|
1914
|
+
var RecordMain = lazy(() => import("./RecordMain-BCSXTSEB.mjs"));
|
|
1915
|
+
|
|
1874
1916
|
export {
|
|
1875
1917
|
AwaitingObject,
|
|
1876
1918
|
CREATE_OBJECT_DIALOG,
|
|
1877
1919
|
CreateObjectDialog,
|
|
1878
1920
|
CREATE_SPACE_DIALOG,
|
|
1879
1921
|
CreateSpaceDialog,
|
|
1880
|
-
CollectionMain,
|
|
1881
1922
|
CollectionSection,
|
|
1882
1923
|
JOIN_DIALOG,
|
|
1883
1924
|
JoinDialog,
|
|
1884
1925
|
MembersContainer,
|
|
1885
1926
|
MenuFooter,
|
|
1886
|
-
ObjectSettingsContainer,
|
|
1887
1927
|
PersistenceStatus,
|
|
1888
1928
|
POPOVER_RENAME_OBJECT,
|
|
1889
1929
|
PopoverRenameObject,
|
|
@@ -1900,16 +1940,10 @@ export {
|
|
|
1900
1940
|
InlineSyncStatus,
|
|
1901
1941
|
SyncStatus,
|
|
1902
1942
|
SyncStatusIndicator,
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
ReactSurface,
|
|
1909
|
-
SchemaDefs,
|
|
1910
|
-
SchemaTools,
|
|
1911
|
-
SpaceSettings,
|
|
1912
|
-
SpaceState,
|
|
1913
|
-
SpacesReady
|
|
1943
|
+
ViewEditor,
|
|
1944
|
+
CollectionMain,
|
|
1945
|
+
ObjectDetailsPanel,
|
|
1946
|
+
ObjectSettingsContainer,
|
|
1947
|
+
RecordMain
|
|
1914
1948
|
};
|
|
1915
|
-
//# sourceMappingURL=chunk-
|
|
1949
|
+
//# sourceMappingURL=chunk-ENBBJSNE.mjs.map
|