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