@dxos/plugin-space 0.8.4-main.5ea62a8 → 0.8.4-main.66e292d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionArticle-WTHWY4YS.mjs} +10 -10
- package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs +141 -0
- package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs.map +7 -0
- package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs +144 -0
- package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs.map +7 -0
- package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs +116 -0
- package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs +517 -0
- package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-3A6KBYWT.mjs → app-graph-serializer-G3VFEGTN.mjs} +19 -19
- package/dist/lib/browser/app-graph-serializer-G3VFEGTN.mjs.map +7 -0
- package/dist/lib/browser/chunk-6A3NWBB6.mjs +392 -0
- package/dist/lib/browser/chunk-6A3NWBB6.mjs.map +7 -0
- package/dist/lib/browser/chunk-C6DAPIFF.mjs +20 -0
- package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DCY3W36E.mjs → chunk-GJOZILGC.mjs} +210 -142
- package/dist/lib/browser/chunk-GJOZILGC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-J6YZG77T.mjs → chunk-KCZ527AM.mjs} +641 -500
- package/dist/lib/browser/chunk-KCZ527AM.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ELJDGQTO.mjs → chunk-P25R3AOK.mjs} +35 -5
- package/dist/lib/browser/chunk-P25R3AOK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WAXS2ZVX.mjs → chunk-POFUXISV.mjs} +69 -62
- package/dist/lib/browser/chunk-POFUXISV.mjs.map +7 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
- package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
- package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs → identity-created-NAXTPQXE.mjs} +5 -5
- package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +88 -131
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-7E3IZIJS.mjs → intent-resolver-RZEWNJ2K.mjs} +105 -100
- package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-JCRD74GI.mjs +30 -0
- package/dist/lib/browser/react-root-JCRD74GI.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-GL4CE2F4.mjs → react-surface-VOETEAG3.mjs} +91 -111
- package/dist/lib/browser/react-surface-VOETEAG3.mjs.map +7 -0
- package/dist/lib/browser/repair-CNLE35NF.mjs +44 -0
- package/dist/lib/browser/repair-CNLE35NF.mjs.map +7 -0
- package/dist/lib/browser/{settings-B6MMHLPS.mjs → settings-TRLI52I5.mjs} +5 -5
- package/dist/lib/browser/{settings-B6MMHLPS.mjs.map → settings-TRLI52I5.mjs.map} +1 -1
- package/dist/lib/browser/{spaces-ready-QVABOCO3.mjs → spaces-ready-OHGCWZHQ.mjs} +22 -15
- package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs.map +7 -0
- package/dist/lib/browser/{state-2RGW7FQG.mjs → state-C7N6EDDZ.mjs} +7 -7
- package/dist/lib/browser/state-C7N6EDDZ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +10 -4
- package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionArticle-KHXYT3SH.mjs} +10 -10
- package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs +142 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs +145 -0
- package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs.map +7 -0
- package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs +117 -0
- package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs +518 -0
- package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-M45TH5LR.mjs → app-graph-serializer-2NLWWFUB.mjs} +19 -19
- package/dist/lib/node-esm/app-graph-serializer-2NLWWFUB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-Q6AAQLQG.mjs → chunk-7EV4SN47.mjs} +34 -5
- package/dist/lib/node-esm/chunk-7EV4SN47.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HYIZVPOA.mjs → chunk-AX3UGL5D.mjs} +69 -62
- package/dist/lib/node-esm/chunk-AX3UGL5D.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AUQ3SKL2.mjs → chunk-I6FZP42D.mjs} +210 -142
- package/dist/lib/node-esm/chunk-I6FZP42D.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ZCEH2VYE.mjs → chunk-JAMGJUFU.mjs} +641 -500
- package/dist/lib/node-esm/chunk-JAMGJUFU.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WWGV5FJM.mjs +21 -0
- package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-X34VDVMY.mjs +393 -0
- package/dist/lib/node-esm/chunk-X34VDVMY.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-AL7NNCKH.mjs → identity-created-OXLKCJE3.mjs} +5 -5
- package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +88 -131
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-UVO4MKWX.mjs → intent-resolver-4PHJWDXW.mjs} +105 -100
- package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-5EKYI66P.mjs → react-root-O5I5CDJ7.mjs} +13 -12
- package/dist/lib/node-esm/react-root-O5I5CDJ7.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-IOC6YSVQ.mjs → react-surface-J3XDMU2D.mjs} +91 -111
- package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs.map +7 -0
- package/dist/lib/node-esm/repair-EHZS6MFY.mjs +45 -0
- package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-IOFU6EAS.mjs → settings-MNQTKHL7.mjs} +5 -5
- package/dist/lib/node-esm/{settings-IOFU6EAS.mjs.map → settings-MNQTKHL7.mjs.map} +1 -1
- package/dist/lib/node-esm/{spaces-ready-MS6GHPFR.mjs → spaces-ready-ZPU24DA2.mjs} +22 -15
- package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs.map +7 -0
- package/dist/lib/node-esm/{state-7VBVBGNS.mjs → state-45TXZQJ6.mjs} +7 -7
- package/dist/lib/node-esm/state-45TXZQJ6.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +10 -4
- package/dist/types/src/SpacePlugin.d.ts +1 -1
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +13 -7
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair.d.ts +4 -0
- package/dist/types/src/capabilities/repair.d.ts.map +1 -0
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionArticle.d.ts +6 -0
- package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
- package/dist/types/src/components/CollectionSection.d.ts +3 -4
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +218 -215
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +16 -9
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
- package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
- package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
- package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
- package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1591 -0
- package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
- package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
- package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/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/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
- package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/components/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 +1424 -0
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +3 -3
- 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/RecordArticle.d.ts +5 -0
- package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
- package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +219 -216
- package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
- package/dist/types/src/components/SchemaContainer.d.ts +2 -2
- package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +6 -5
- package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
- package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +220 -217
- package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
- package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
- package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
- package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
- package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +218 -215
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +219 -216
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor.d.ts +3 -4
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +10 -17
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/helpers/index.d.ts +2 -0
- package/dist/types/src/helpers/index.d.ts.map +1 -0
- package/dist/types/src/helpers/query.d.ts +8 -0
- package/dist/types/src/helpers/query.d.ts.map +1 -0
- package/dist/types/src/helpers/query.test.d.ts +2 -0
- package/dist/types/src/helpers/query.test.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +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/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1261 -67
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/form.d.ts +24 -0
- package/dist/types/src/types/form.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +82 -142
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +21 -34
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +68 -59
- package/src/SpacePlugin.ts +181 -215
- package/src/capabilities/app-graph-builder.ts +205 -267
- package/src/capabilities/app-graph-serializer.ts +12 -12
- package/src/capabilities/capabilities.ts +26 -16
- package/src/capabilities/identity-created.ts +2 -2
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +78 -75
- package/src/capabilities/react-root.tsx +4 -3
- package/src/capabilities/react-surface.tsx +95 -145
- package/src/capabilities/repair.ts +57 -0
- package/src/capabilities/spaces-ready.ts +15 -6
- package/src/capabilities/state.ts +2 -2
- package/src/components/AwaitingObject.tsx +12 -14
- package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
- package/src/components/CollectionSection.tsx +8 -6
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -11
- package/src/components/CreateDialog/CreateObjectDialog.tsx +63 -43
- package/src/components/CreateDialog/CreateObjectPanel.tsx +38 -31
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
- package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
- package/src/components/JoinDialog/index.ts +5 -0
- package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +7 -6
- package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +16 -14
- package/src/components/MembersContainer/index.ts +5 -0
- package/src/components/MenuFooter.tsx +2 -2
- package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
- package/src/components/ObjectDetailsPanel/index.ts +7 -0
- package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
- package/src/components/ObjectRenamePopover/index.ts +5 -0
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +6 -7
- package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
- package/src/components/ObjectSettings/ForeignKeys.tsx +8 -8
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
- package/src/components/ObjectSettings/index.ts +3 -1
- package/src/components/RecordArticle.stories.tsx +115 -0
- package/src/components/RecordArticle.tsx +114 -0
- package/src/components/SchemaContainer.tsx +24 -27
- package/src/components/SpacePluginSettings.tsx +10 -4
- package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +23 -25
- package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
- package/src/components/SpacePresence/index.ts +5 -0
- package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
- package/src/components/SpaceRenamePopover/index.ts +5 -0
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +63 -23
- package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
- package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
- package/src/components/SyncStatus/SyncStatus.tsx +107 -11
- package/src/components/ViewEditor.tsx +57 -23
- package/src/components/index.ts +7 -8
- package/src/events.ts +6 -6
- package/src/helpers/index.ts +5 -0
- package/src/helpers/query.test.ts +24 -0
- package/src/helpers/query.ts +158 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useActiveSpace.ts +2 -1
- package/src/hooks/useInputSurfaceLookup.tsx +8 -3
- package/src/hooks/usePath.ts +1 -1
- package/src/hooks/useTypeOptions.ts +27 -0
- package/src/index.ts +1 -0
- package/src/meta.ts +6 -3
- package/src/translations.ts +68 -58
- package/src/types/form.ts +75 -0
- package/src/types/index.ts +1 -0
- package/src/types/types.ts +44 -50
- package/src/util.tsx +216 -143
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs +0 -88
- package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs.map +0 -7
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-FLF7XMQO.mjs +0 -516
- package/dist/lib/browser/app-graph-builder-FLF7XMQO.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-3A6KBYWT.mjs.map +0 -7
- package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
- package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
- package/dist/lib/browser/chunk-DCY3W36E.mjs.map +0 -7
- package/dist/lib/browser/chunk-ELJDGQTO.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-J6YZG77T.mjs.map +0 -7
- package/dist/lib/browser/chunk-RQVV4XVF.mjs +0 -343
- package/dist/lib/browser/chunk-RQVV4XVF.mjs.map +0 -7
- package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
- package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
- package/dist/lib/browser/chunk-WAXS2ZVX.mjs.map +0 -7
- package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-7E3IZIJS.mjs.map +0 -7
- package/dist/lib/browser/react-root-RWMT2RCK.mjs +0 -29
- package/dist/lib/browser/react-root-RWMT2RCK.mjs.map +0 -7
- package/dist/lib/browser/react-surface-GL4CE2F4.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-YDPFZELA.mjs +0 -26
- package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-QVABOCO3.mjs.map +0 -7
- package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs +0 -89
- package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs.map +0 -7
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-D5YPOJS5.mjs +0 -517
- package/dist/lib/node-esm/app-graph-builder-D5YPOJS5.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-M45TH5LR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AUQ3SKL2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
- package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
- package/dist/lib/node-esm/chunk-HC677WUJ.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-HYIZVPOA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WKQTO37U.mjs +0 -344
- package/dist/lib/node-esm/chunk-WKQTO37U.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZCEH2VYE.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-UVO4MKWX.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-5EKYI66P.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-IOC6YSVQ.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs +0 -27
- package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-MS6GHPFR.mjs.map +0 -7
- package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
- package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
- package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
- package/dist/types/src/components/CollectionMain.d.ts +0 -7
- package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
- package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
- package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
- package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
- package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
- package/dist/types/src/components/RecordMain.d.ts +0 -7
- package/dist/types/src/components/RecordMain.d.ts.map +0 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
- package/src/capabilities/schema-defs.ts +0 -31
- package/src/components/ObjectDetailsPanel.tsx +0 -77
- package/src/components/PersistenceStatus.tsx +0 -83
- package/src/components/RecordMain.tsx +0 -43
- /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Array from 'effect/Array';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { type Space, SpaceState, getSpace, isSpace } from '@dxos/client/echo';\nimport { DXN, type Database, type Entity, Filter, Obj, Type } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { ROOT_ID, atomFromObservable, atomFromSignal, createExtension } from '@dxos/plugin-graph';\nimport { Collection, View, ViewAnnotation, getTypenameFromQuery } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { getActiveSpace } from '../hooks';\nimport { meta } from '../meta';\nimport { SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n SHARED,\n SPACES,\n atomFromQuery,\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n createStaticSchemaActions,\n createStaticSchemaNode,\n} from '../util';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n // TODO(wittjosiah): Using `get` and being reactive seems to cause a bug with Atom where disposed atoms are accessed.\n const resolve = (get: Atom.Context) => (typename: string) =>\n context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: meta.id }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph.sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${meta.id}/primary-actions`,\n position: 'hoist',\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: SpaceAction.OpenCreateSpace._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.OpenCreateSpace));\n },\n properties: {\n label: ['create space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.createSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.Join._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.Join));\n },\n properties: {\n label: ['join space label', { ns: meta.id }],\n icon: 'ph--sign-in--regular',\n testId: 'spacePlugin.joinSpace',\n disposition: 'menu',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: meta.id }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${meta.id}/root`,\n position: 'hoist',\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [spacesNode]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n connector: (node) => {\n // TODO(wittjosiah): Find a simpler way to define this type.\n let query: Database.QueryResult<Schema.Schema.Type<typeof Type.Expando>> | undefined;\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === SPACES ? Option.some(node) : Option.none())),\n Option.map(() => {\n const state = context.getCapability(SpaceCapabilities.State);\n const client = context.getCapability(ClientCapabilities.Client);\n const spacesAtom = atomFromObservable(client.spaces);\n const isReadyAtom = atomFromObservable(client.spaces.isReady);\n\n const spaces = get(spacesAtom);\n const isReady = get(isReadyAtom);\n\n if (!spaces || !isReady) {\n return [];\n }\n\n const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore<SpaceSettingsProps>(\n meta.id,\n )?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n if (!query) {\n query = client.spaces.default.db.query(Filter.type(Type.Expando, { key: SHARED }));\n }\n const [spacesOrder] = get(atomFromQuery(query));\n return get(\n atomFromSignal(() => {\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) =>\n settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE,\n )\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve: resolve(get),\n }),\n );\n }),\n );\n } catch {\n return [];\n }\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${meta.id}/actions`,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((space) => {\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [client] = get(context.capabilities(ClientCapabilities.Client));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n\n if (!dispatcher || !client || !state) {\n return Option.none();\n } else {\n return Option.some({\n space,\n dispatch: dispatcher.dispatchPromise,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n }\n }),\n Option.map((params) => constructSpaceActions(params)),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${meta.id}/root-collection`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const spaceState = get(atomFromObservable(space.state));\n if (spaceState !== SpaceState.SPACE_READY) {\n return [];\n }\n\n const collection = get(\n atomFromSignal(\n () => space.properties[Collection.Collection.typename]?.target as Collection.Collection | undefined,\n ),\n );\n if (!collection) {\n return [];\n }\n\n return get(\n atomFromSignal(() =>\n Function.pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map((object) =>\n createObjectNode({\n space,\n object,\n resolve: resolve(get),\n navigable: state.navigableCollections,\n }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Create nodes for objects in a collection or by its DXN.\n createExtension({\n id: `${meta.id}/objects`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Collection.Collection, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((collection) => {\n const state = context.getCapability(SpaceCapabilities.State);\n const space = getSpace(collection);\n\n return get(\n atomFromSignal(() =>\n Function.pipe(\n collection.objects,\n Array.map((object) => object.target),\n Array.filter(isNonNullable),\n Array.map(\n (object) =>\n space &&\n createObjectNode({\n object,\n space,\n resolve: resolve(get),\n navigable: state.navigableCollections,\n }),\n ),\n Array.filter(isNonNullable),\n ),\n ),\n );\n }),\n Option.getOrElse(() => []),\n ),\n ),\n resolver: (id) => {\n let query: Database.QueryResult<Entity.Unknown> | undefined;\n return Atom.make((get) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const dxn = DXN.tryParse(id)?.asEchoDXN();\n if (!dxn || !dxn.spaceId) {\n return null;\n }\n\n const space = client.spaces.get(dxn.spaceId);\n if (!space) {\n return null;\n }\n\n if (!query) {\n query = space.db.query(Filter.ids(dxn.echoId));\n }\n\n const object = get(atomFromQuery(query)).at(0);\n if (!Obj.isObject(object)) {\n return null;\n }\n\n return createObjectNode({ object, space, resolve: resolve(get), disposition: 'hidden' });\n });\n },\n }),\n\n // Create object nodes for schema-based system collections.\n createExtension({\n id: `${meta.id}/system-collections`,\n connector: (node) => {\n const client = context.getCapability(ClientCapabilities.Client);\n // TODO(wittjosiah): Find a simpler way to define this type.\n let query: Database.QueryResult<Schema.Schema.Type<typeof Type.Expando>> | undefined;\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Collection.Managed, node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n const schema = client.graph.schemaRegistry.schemas.find(\n (schema) => Type.getTypename(schema) === collection.key,\n );\n return space && schema ? Option.some({ space, schema }) : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n query = space.db.query(Filter.type(schema));\n }\n return get(atomFromQuery(query))\n .map((object) =>\n createObjectNode({\n object,\n space,\n managedCollectionChild: true,\n resolve: resolve(get),\n }),\n )\n .filter(isNonNullable);\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create branch nodes for static schema record types.\n createExtension({\n id: `${meta.id}/static-schemas`,\n connector: (node) => {\n const client = context.getCapability(ClientCapabilities.Client);\n return Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) =>\n Obj.instanceOf(Collection.Managed, node.data) && node.data.key === Type.getTypename(Type.PersistentType)\n ? Option.some(node.data)\n : Option.none(),\n ),\n Option.flatMap((collection) => {\n const space = getSpace(collection);\n return space?.properties.staticRecords ? Option.some(space) : Option.none();\n }),\n Option.map((space) => {\n return get(atomFromSignal(() => (space.properties.staticRecords ?? []) as string[]))\n .map((typename) =>\n client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename),\n )\n .filter(isNonNullable)\n .map((schema) => createStaticSchemaNode({ schema, space }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n // Create actions for static schema record types.\n createExtension({\n id: `${meta.id}/static-schema-actions`,\n actions: (node) => {\n let query: Database.QueryResult<Obj.Any> | undefined;\n return Atom.make((get) => {\n // TODO(wittjosiah): Use schemaRegistry query once it support atom reactivity.\n const schemas = get(context.capabilities(ClientCapabilities.Schema))\n .flat()\n .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));\n const filter = Filter.or(...schemas.map((schema) => Filter.type(schema)));\n\n return Function.pipe(\n get(node),\n Option.flatMap((node) => {\n const space = isSpace(node.properties.space) ? node.properties.space : undefined;\n return space && Schema.isSchema(node.data) ? Option.some({ space, schema: node.data }) : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.\n // TODO(wittjosiah): Remove cast.\n query = space.db.query(filter) as unknown as Database.QueryResult<Obj.Any>;\n }\n\n const objects = get(atomFromQuery(query));\n const filteredViews = get(\n atomFromSignal(() =>\n objects.filter(\n (viewObject) =>\n getTypenameFromQuery((viewObject as any).view.target?.query.ast) ===\n Type.getTypename(schema as Type.Obj.Any),\n ),\n ),\n );\n const deletable = filteredViews.length === 0;\n\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n if (!dispatcher) {\n return [];\n }\n\n // TODO(wittjosiah): Remove cast.\n return createStaticSchemaActions({\n schema: schema as Type.Obj.Any,\n space,\n dispatch: dispatcher.dispatchPromise,\n deletable,\n });\n }),\n Option.getOrElse(() => []),\n );\n });\n },\n }),\n\n // Create nodes for views of record types.\n createExtension({\n id: `${meta.id}/schema-views`,\n connector: (node) => {\n let query: Database.QueryResult<Obj.Any> | undefined;\n return Atom.make((get) => {\n // TODO(wittjosiah): Use schemaRegistry query once it support atom reactivity.\n const schemas = get(context.capabilities(ClientCapabilities.Schema))\n .flat()\n .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));\n const filter = Filter.or(...schemas.map((schema) => Filter.type(schema)));\n\n return Function.pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data) ?? (isSpace(node.properties.space) ? node.properties.space : undefined);\n return space && (Obj.instanceOf(Type.PersistentType, node.data) || Schema.isSchema(node.data))\n ? Option.some({ space, schema: node.data })\n : Option.none();\n }),\n Option.map(({ space, schema }) => {\n if (!query) {\n // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.\n // TODO(wittjosiah): Remove cast.\n query = space.db.query(filter) as unknown as Database.QueryResult<Obj.Any>;\n }\n\n // TODO(wittjosiah): Remove casts.\n const typename = Schema.isSchema(schema) ? Type.getTypename(schema as Type.Obj.Any) : schema.typename;\n return get(atomFromQuery(query))\n .filter((object) =>\n get(atomFromSignal(() => getTypenameFromQuery((object as any).view.target?.query.ast) === typename)),\n )\n .map((object) =>\n get(\n atomFromSignal(() =>\n createObjectNode({\n object,\n space,\n resolve: resolve(get),\n droppable: false,\n }),\n ),\n ),\n )\n .filter(isNonNullable);\n }),\n Option.getOrElse(() => []),\n );\n });\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${meta.id}/object-actions`,\n actions: (node) => {\n let query: Database.QueryResult<Obj.Any> | undefined;\n return Atom.make((get) => {\n // TODO(wittjosiah): Use schemaRegistry query once it support atom reactivity.\n const schemas = get(context.capabilities(ClientCapabilities.Schema))\n .flat()\n .filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));\n const filter = Filter.or(...schemas.map((schema) => Filter.type(schema)));\n\n return Function.pipe(\n get(node),\n Option.flatMap((node) => {\n const space = getSpace(node.data);\n return space && Obj.isObject(node.data) && Obj.getTypename(node.data) === node.type\n ? Option.some({ space, object: node.data })\n : Option.none();\n }),\n Option.flatMap(({ space, object }) => {\n const isSchema = Obj.instanceOf(Type.PersistentType, object);\n if (!query && isSchema) {\n // TODO(wittjosiah): Ideally this query would traverse the view reference & filter by the query ast.\n // TODO(wittjosiah): Remove cast.\n query = space.db.query(filter) as unknown as Database.QueryResult<Obj.Any>;\n }\n\n let deletable =\n !isSchema &&\n // Don't allow system collections to be deleted.\n !Obj.instanceOf(Collection.Managed, object);\n if (isSchema && query) {\n const objects = get(atomFromQuery(query));\n const filteredViews = get(\n atomFromSignal(() =>\n objects.filter(\n (viewObject) =>\n getTypenameFromQuery((viewObject as any).view.target?.query.ast) === object.typename,\n ),\n ),\n );\n deletable = filteredViews.length === 0;\n }\n\n const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));\n const [appGraph] = get(context.capabilities(Capabilities.AppGraph));\n const [state] = get(context.capabilities(SpaceCapabilities.State));\n\n if (!dispatcher || !appGraph || !state) {\n return Option.none();\n } else {\n return Option.some({\n object,\n graph: appGraph.graph,\n dispatch: dispatcher.dispatchPromise,\n resolve: resolve(get),\n deletable,\n navigable: get(atomFromSignal(() => state.navigableCollections)),\n });\n }\n }),\n Option.map((params) => constructObjectActions(params)),\n Option.getOrElse(() => []),\n );\n });\n },\n }),\n\n // View selected objects.\n createExtension({\n id: `${meta.id}/selected-objects`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(View.View, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'selected-objects',\n properties: {\n label: ['companion selected objects label', { ns: meta.id }],\n icon: 'ph--tree-view--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${meta.id}/settings`,\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Atom", "Array", "Function", "Option", "Schema", "Capabilities", "contributes", "createIntent", "SpaceState", "getSpace", "isSpace", "DXN", "Filter", "Obj", "Type", "log", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "ROOT_ID", "atomFromObservable", "atomFromSignal", "createExtension", "Collection", "View", "ViewAnnotation", "getTypenameFromQuery", "isNonNullable", "context", "resolve", "get", "typename", "getCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "meta", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "getCapability", "AppGraph", "client", "ClientCapabilities", "Client", "sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "Type", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "actions", "node", "Atom", "make", "pipe", "flatMap", "ROOT_ID", "some", "none", "SpaceAction", "OpenCreateSpace", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Join", "OpenMembers", "space", "getActiveSpace", "keyBinding", "macos", "windows", "OpenSettings", "getOrElse", "connector", "state", "SpaceCapabilities", "State", "spacesAtom", "atomFromObservable", "isReadyAtom", "isReady", "settings", "capabilities", "SettingsStore", "getStore", "value", "atomFromQuery", "atomFromSignal", "orderMap", "Map", "index", "filter", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "SPACE_TYPE", "isSpace", "dispatcher", "migrating", "sdkMigrationRunning", "params", "constructSpaceActions", "spaceState", "SPACE_READY", "collection", "Collection", "target", "object", "isNonNullable", "createObjectNode", "Obj", "instanceOf", "getSpace", "resolver", "dxn", "DXN", "tryParse", "asEchoDXN", "spaceId", "ids", "echoId", "at", "isObject", "Managed", "schema", "schemaRegistry", "schemas", "getTypename", "managedCollectionChild", "PersistentType", "staticRecords", "createStaticSchemaNode", "Schema", "flat", "ViewAnnotation", "or", "undefined", "isSchema", "filteredViews", "viewObject", "getTypenameFromQuery", "view", "ast", "deletable", "length", "createStaticSchemaActions", "droppable", "appGraph", "constructObjectActions", "View", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
|
|
7
|
+
}
|
package/dist/lib/node-esm/{app-graph-serializer-M45TH5LR.mjs → app-graph-serializer-2NLWWFUB.mjs}
RENAMED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
translations
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AX3UGL5D.mjs";
|
|
5
5
|
import {
|
|
6
6
|
SPACES
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-I6FZP42D.mjs";
|
|
8
8
|
import {
|
|
9
9
|
SPACE_TYPE,
|
|
10
10
|
SpaceAction
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-X34VDVMY.mjs";
|
|
12
12
|
import {
|
|
13
|
-
|
|
14
|
-
} from "./chunk-
|
|
13
|
+
meta
|
|
14
|
+
} from "./chunk-BDEFTL6K.mjs";
|
|
15
15
|
|
|
16
16
|
// src/capabilities/app-graph-serializer.ts
|
|
17
17
|
import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
|
|
18
18
|
import { isSpace } from "@dxos/client/echo";
|
|
19
|
-
import { Obj
|
|
20
|
-
import {
|
|
21
|
-
var COLLECTION_TYPE =
|
|
19
|
+
import { Obj } from "@dxos/echo";
|
|
20
|
+
import { Collection } from "@dxos/schema";
|
|
21
|
+
var COLLECTION_TYPE = Collection.Collection.typename;
|
|
22
22
|
var DIRECTORY_TYPE = "text/directory";
|
|
23
|
-
var app_graph_serializer_default = (context) => contributes(Capabilities.AppGraphSerializer, [
|
|
23
|
+
var app_graph_serializer_default = ((context) => contributes(Capabilities.AppGraphSerializer, [
|
|
24
24
|
{
|
|
25
25
|
inputType: SPACES,
|
|
26
26
|
outputType: DIRECTORY_TYPE,
|
|
27
27
|
serialize: (node) => ({
|
|
28
|
-
name: translations[0]["en-US"][
|
|
29
|
-
data: translations[0]["en-US"][
|
|
28
|
+
name: translations[0]["en-US"][meta.id]["spaces label"] ?? "Spaces",
|
|
29
|
+
data: translations[0]["en-US"][meta.id]["spaces label"] ?? "Spaces",
|
|
30
30
|
type: DIRECTORY_TYPE
|
|
31
31
|
}),
|
|
32
32
|
deserialize: () => {
|
|
@@ -36,8 +36,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
|
|
|
36
36
|
inputType: SPACE_TYPE,
|
|
37
37
|
outputType: DIRECTORY_TYPE,
|
|
38
38
|
serialize: (node) => ({
|
|
39
|
-
name: node.data.properties.name ?? translations[0]["en-US"][
|
|
40
|
-
data: node.data.properties.name ?? translations[0]["en-US"][
|
|
39
|
+
name: node.data.properties.name ?? translations[0]["en-US"][meta.id]["unnamed space label"],
|
|
40
|
+
data: node.data.properties.name ?? translations[0]["en-US"][meta.id]["unnamed space label"],
|
|
41
41
|
type: DIRECTORY_TYPE
|
|
42
42
|
}),
|
|
43
43
|
deserialize: async (data) => {
|
|
@@ -53,20 +53,20 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
|
|
|
53
53
|
inputType: COLLECTION_TYPE,
|
|
54
54
|
outputType: DIRECTORY_TYPE,
|
|
55
55
|
serialize: (node) => ({
|
|
56
|
-
name: node.data.name ?? translations[0]["en-US"][
|
|
57
|
-
data: node.data.name ?? translations[0]["en-US"][
|
|
56
|
+
name: node.data.name ?? translations[0]["en-US"][meta.id]["object name placeholder"],
|
|
57
|
+
data: node.data.name ?? translations[0]["en-US"][meta.id]["object name placeholder"],
|
|
58
58
|
type: DIRECTORY_TYPE
|
|
59
59
|
}),
|
|
60
60
|
deserialize: async (data, ancestors) => {
|
|
61
61
|
const space = ancestors.find(isSpace);
|
|
62
|
-
const collection = ancestors.findLast((ancestor) => Obj.instanceOf(
|
|
62
|
+
const collection = ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ?? space?.properties[COLLECTION_TYPE]?.target;
|
|
63
63
|
if (!space || !collection) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
67
67
|
const result = await dispatch(createIntent(SpaceAction.AddObject, {
|
|
68
68
|
target: collection,
|
|
69
|
-
object: Obj.make(
|
|
69
|
+
object: Obj.make(Collection.Collection, {
|
|
70
70
|
name: data.name,
|
|
71
71
|
objects: []
|
|
72
72
|
})
|
|
@@ -74,8 +74,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
|
|
|
74
74
|
return result.data?.object;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
]);
|
|
77
|
+
]));
|
|
78
78
|
export {
|
|
79
79
|
app_graph_serializer_default as default
|
|
80
80
|
};
|
|
81
|
-
//# sourceMappingURL=app-graph-serializer-
|
|
81
|
+
//# sourceMappingURL=app-graph-serializer-2NLWWFUB.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-serializer.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { translations } from '../translations';\nimport { SPACE_TYPE, SpaceAction } from '../types';\nimport { SPACES } from '../util';\n\nconst COLLECTION_TYPE = Collection.Collection.typename;\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n data: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(createIntent(SpaceAction.Create, { name: data.name, edgeReplication: true }));\n return result.data?.space;\n },\n },\n {\n inputType: COLLECTION_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[COLLECTION_TYPE]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n createIntent(SpaceAction.AddObject, {\n target: collection,\n object: Obj.make(Collection.Collection, { name: data.name, objects: [] }),\n }),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAIA,SAASA,cAAkCC,aAAaC,oBAAoB;AAC5E,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAO3B,IAAMC,kBAAkBC,WAAWA,WAAWC;AAG9C,IAAMC,iBAAiB;AAEvB,IAAA,gCAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;MAC3DC,MAAMH,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;MAC3DE,MAAMf;IACR;IACAgB,aAAa,MAAA;IAEb;EACF;EACA;IACEX,WAAWY;IACXV,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;MACrEC,MAAML,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;MACrEE,MAAMf;IACR;IACAgB,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKnB,QAAQoB,cAAclB,aAAamB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SAASI,aAAaC,YAAYC,QAAQ;QAAEhB,MAAMI,KAAKJ;QAAMiB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEvB,WAAWR;IACXU,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;MAC1DC,MAAML,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;MAC1DE,MAAMf;IACR;IACAgB,aAAa,OAAOF,MAAMe,cAAAA;AACxB,YAAMD,QAAQC,UAAUC,KAAKC,OAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaC,IAAIC,WAAWtC,WAAWA,YAAYoC,QAAAA,CAAAA,KACvEN,OAAOV,WAAWrB,eAAAA,GAAkBwC;AACtC,UAAI,CAACT,SAAS,CAACI,YAAY;AACzB;MACF;AAEA,YAAM,EAAEb,iBAAiBC,SAAQ,IAAKnB,QAAQoB,cAAclB,aAAamB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACnBI,aAAaC,YAAYa,WAAW;QAClCD,QAAQL;QACRO,QAAQJ,IAAIK,KAAK1C,WAAWA,YAAY;UAAEY,MAAMI,KAAKJ;UAAM+B,SAAS,CAAA;QAAG,CAAA;MACzE,CAAA,CAAA;AAGF,aAAOlB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createIntent", "isSpace", "Obj", "Collection", "COLLECTION_TYPE", "Collection", "typename", "DIRECTORY_TYPE", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "meta", "id", "data", "type", "deserialize", "SPACE_TYPE", "properties", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "Obj", "instanceOf", "target", "AddObject", "object", "make", "objects"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
getTypenames
|
|
4
|
+
} from "./chunk-X34VDVMY.mjs";
|
|
2
5
|
|
|
3
6
|
// src/hooks/useActiveSpace.ts
|
|
4
|
-
import { Capabilities
|
|
7
|
+
import { Capabilities } from "@dxos/app-framework";
|
|
8
|
+
import { useLayout } from "@dxos/app-framework/react";
|
|
5
9
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
6
10
|
import { parseId, useSpace } from "@dxos/react-client/echo";
|
|
7
11
|
var getActiveSpace = (context) => {
|
|
@@ -18,7 +22,7 @@ var useActiveSpace = () => {
|
|
|
18
22
|
|
|
19
23
|
// src/hooks/useInputSurfaceLookup.tsx
|
|
20
24
|
import React, { useCallback } from "react";
|
|
21
|
-
import { Surface, isSurfaceAvailable, usePluginManager } from "@dxos/app-framework";
|
|
25
|
+
import { Surface, isSurfaceAvailable, usePluginManager } from "@dxos/app-framework/react";
|
|
22
26
|
var useInputSurfaceLookup = (baseData) => {
|
|
23
27
|
const pluginManager = usePluginManager();
|
|
24
28
|
return useCallback(({ prop, schema, inputProps }) => {
|
|
@@ -46,7 +50,7 @@ var useInputSurfaceLookup = (baseData) => {
|
|
|
46
50
|
|
|
47
51
|
// src/hooks/usePath.ts
|
|
48
52
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
49
|
-
import
|
|
53
|
+
import * as Option from "effect/Option";
|
|
50
54
|
import { useEffect, useState } from "react";
|
|
51
55
|
var usePath = (graph, id, timeout) => {
|
|
52
56
|
var _effect = _useSignals();
|
|
@@ -87,10 +91,35 @@ var usePath = (graph, id, timeout) => {
|
|
|
87
91
|
}
|
|
88
92
|
};
|
|
89
93
|
|
|
94
|
+
// src/hooks/useTypeOptions.ts
|
|
95
|
+
import { useMemo } from "react";
|
|
96
|
+
import { useClient } from "@dxos/react-client";
|
|
97
|
+
import { useTranslation } from "@dxos/react-ui";
|
|
98
|
+
var useTypeOptions = ({ space, annotation }) => {
|
|
99
|
+
const { t } = useTranslation();
|
|
100
|
+
const client = useClient();
|
|
101
|
+
const typenames = getTypenames({
|
|
102
|
+
annotation,
|
|
103
|
+
space,
|
|
104
|
+
client
|
|
105
|
+
});
|
|
106
|
+
return useMemo(() => typenames.map((typename) => ({
|
|
107
|
+
value: typename,
|
|
108
|
+
label: t("typename label", {
|
|
109
|
+
ns: typename,
|
|
110
|
+
defaultValue: typename
|
|
111
|
+
})
|
|
112
|
+
})).toSorted((a, b) => a.label.localeCompare(b.label)), [
|
|
113
|
+
t,
|
|
114
|
+
typenames
|
|
115
|
+
]);
|
|
116
|
+
};
|
|
117
|
+
|
|
90
118
|
export {
|
|
91
119
|
getActiveSpace,
|
|
92
120
|
useActiveSpace,
|
|
93
121
|
useInputSurfaceLookup,
|
|
94
|
-
usePath
|
|
122
|
+
usePath,
|
|
123
|
+
useTypeOptions
|
|
95
124
|
};
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
125
|
+
//# sourceMappingURL=chunk-7EV4SN47.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useActiveSpace.ts", "../../../src/hooks/useInputSurfaceLookup.tsx", "../../../src/hooks/usePath.ts", "../../../src/hooks/useTypeOptions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext } from '@dxos/app-framework';\nimport { useLayout } from '@dxos/app-framework/react';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { parseId, useSpace } from '@dxos/react-client/echo';\n\nexport const getActiveSpace = (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const layout = context.getCapability(Capabilities.Layout);\n const { spaceId } = parseId(layout.workspace);\n return spaceId ? client.spaces.get(spaceId) : undefined;\n};\n\nexport const useActiveSpace = () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n return useSpace(spaceId);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework/react';\nimport { type InputProps } from '@dxos/react-ui-form';\n\n// TODO(ZaymonFC): Move this if you find yourself needing it elsewhere.\n/**\n * Creates a surface input component based on plugin context.\n * @param baseData Additional data that will be merged with form data and passed to the surface.\n * This allows providing more context to the surface than what's available from the form itself.\n */\nexport const useInputSurfaceLookup = (baseData?: Record<string, any>) => {\n const pluginManager = usePluginManager();\n\n return useCallback(\n ({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {\n const composedData = { prop, schema, ...baseData };\n if (\n !isSurfaceAvailable(pluginManager.context, {\n role: 'form-input',\n data: composedData,\n })\n ) {\n return undefined;\n }\n\n return <Surface role='form-input' data={composedData} {...inputProps} />;\n },\n [pluginManager, baseData],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useEffect, useState } from 'react';\n\nimport { type ReadableGraph } from '@dxos/plugin-graph';\n\n/**\n * React hook to get a path from the graph.\n *\n * @param graph Graph to find the node in.\n * @param id Id of the node to find a path to.\n * @param timeout Optional timeout in milliseconds to wait for the node to be found.\n * @returns Path if found, undefined otherwise.\n */\n// TODO(wittjosiah): Factor out.\nexport const usePath = (graph: ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {\n const [pathState, setPathState] = useState<Option.Option<string[]>>(\n id ? graph.getPath({ target: id }) : Option.none(),\n );\n\n useEffect(() => {\n if (!id && pathState) {\n setPathState(Option.none());\n }\n\n if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {\n return;\n }\n\n // Set timeout did not seem to effectively not block the UI thread.\n const frame = requestAnimationFrame(async () => {\n try {\n const path = await graph.waitForPath({ target: id }, { timeout });\n if (path) {\n setPathState(Option.some(path));\n }\n } catch {}\n });\n\n return () => cancelAnimationFrame(frame);\n }, [graph, id, timeout, pathState]);\n\n return pathState;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\n\nimport { type TypeInputOptions, getTypenames } from '../types';\n\nexport const useTypeOptions = ({ space, annotation }: { space?: Space; annotation: TypeInputOptions }) => {\n const { t } = useTranslation();\n const client = useClient();\n const typenames = getTypenames({ annotation, space, client });\n return useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,oBAAwC;AACjD,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,SAASC,gBAAgB;AAE3B,IAAMC,iBAAiB,CAACC,YAAAA;AAC7B,QAAMC,SAASD,QAAQE,cAAcC,mBAAmBC,MAAM;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,aAAaC,MAAM;AACxD,QAAM,EAAEC,QAAO,IAAKC,QAAQJ,OAAOK,SAAS;AAC5C,SAAOF,UAAUP,OAAOU,OAAOC,IAAIJ,OAAAA,IAAWK;AAChD;AAEO,IAAMC,iBAAiB,MAAA;AAC5B,QAAMT,SAASU,UAAAA;AACf,QAAM,EAAEP,QAAO,IAAKC,QAAQJ,OAAOK,SAAS;AAC5C,SAAOM,SAASR,OAAAA;AAClB;;;ACfA,OAAOS,SAASC,mBAAmB;AAEnC,SAASC,SAASC,oBAAoBC,wBAAwB;AASvD,IAAMC,wBAAwB,CAACC,aAAAA;AACpC,QAAMC,gBAAgBC,iBAAAA;AAEtB,SAAOC,YACL,CAAC,EAAEC,MAAMC,QAAQC,WAAU,MAAwE;AACjG,UAAMC,eAAe;MAAEH;MAAMC;MAAQ,GAAGL;IAAS;AACjD,QACE,CAACQ,mBAAmBP,cAAcQ,SAAS;MACzCC,MAAM;MACNC,MAAMJ;IACR,CAAA,GACA;AACA,aAAOK;IACT;AAEA,WAAO,sBAAA,cAACC,SAAAA;MAAQH,MAAK;MAAaC,MAAMJ;MAAe,GAAGD;;EAC5D,GACA;IAACL;IAAeD;GAAS;AAE7B;;;;AC/BA,YAAYc,YAAY;AACxB,SAASC,WAAWC,gBAAgB;AAa7B,IAAMC,UAAU,CAACC,OAAsBC,IAAaC,YAAAA;;;AACzD,UAAM,CAACC,WAAWC,YAAAA,IAAgBC,SAChCJ,KAAKD,MAAMM,QAAQ;MAAEC,QAAQN;IAAG,CAAA,IAAYO,YAAI,CAAA;AAGlDC,cAAU,MAAA;AACR,UAAI,CAACR,MAAME,WAAW;AACpBC,qBAAoBI,YAAI,CAAA;MAC1B;AAEA,UAAYE,cAAOP,SAAAA,KAAcA,UAAUQ,MAAMC,GAAG,EAAC,MAAOX,MAAO,CAACA,IAAI;AACtE;MACF;AAGA,YAAMY,QAAQC,sBAAsB,YAAA;AAClC,YAAI;AACF,gBAAMC,OAAO,MAAMf,MAAMgB,YAAY;YAAET,QAAQN;UAAG,GAAG;YAAEC;UAAQ,CAAA;AAC/D,cAAIa,MAAM;AACRX,yBAAoBa,YAAKF,IAAAA,CAAAA;UAC3B;QACF,QAAQ;QAAC;MACX,CAAA;AAEA,aAAO,MAAMG,qBAAqBL,KAAAA;IACpC,GAAG;MAACb;MAAOC;MAAIC;MAASC;KAAU;AAElC,WAAOA;;;;AACT;;;AC1CA,SAASgB,eAAe;AAExB,SAASC,iBAAiB;AAE1B,SAASC,sBAAsB;AAIxB,IAAMC,iBAAiB,CAAC,EAAEC,OAAOC,WAAU,MAAmD;AACnG,QAAM,EAAEC,EAAC,IAAKC,eAAAA;AACd,QAAMC,SAASC,UAAAA;AACf,QAAMC,YAAYC,aAAa;IAAEN;IAAYD;IAAOI;EAAO,CAAA;AAC3D,SAAOI,QACL,MACEF,UACGG,IAAI,CAACC,cAAc;IAClBC,OAAOD;IACPE,OAAOV,EAAE,kBAAkB;MAAEW,IAAIH;MAAUI,cAAcJ;IAAS,CAAA;EACpE,EAAA,EACCK,SAAS,CAACC,GAAGC,MAAMD,EAAEJ,MAAMM,cAAcD,EAAEL,KAAK,CAAA,GACrD;IAACV;IAAGI;GAAU;AAElB;",
|
|
6
|
+
"names": ["Capabilities", "useLayout", "ClientCapabilities", "parseId", "useSpace", "getActiveSpace", "context", "client", "getCapability", "ClientCapabilities", "Client", "layout", "Capabilities", "Layout", "spaceId", "parseId", "workspace", "spaces", "get", "undefined", "useActiveSpace", "useLayout", "useSpace", "React", "useCallback", "Surface", "isSurfaceAvailable", "usePluginManager", "useInputSurfaceLookup", "baseData", "pluginManager", "usePluginManager", "useCallback", "prop", "schema", "inputProps", "composedData", "isSurfaceAvailable", "context", "role", "data", "undefined", "Surface", "Option", "useEffect", "useState", "usePath", "graph", "id", "timeout", "pathState", "setPathState", "useState", "getPath", "target", "none", "useEffect", "isSome", "value", "at", "frame", "requestAnimationFrame", "path", "waitForPath", "some", "cancelAnimationFrame", "useMemo", "useClient", "useTranslation", "useTypeOptions", "space", "annotation", "t", "useTranslation", "client", "useClient", "typenames", "getTypenames", "useMemo", "map", "typename", "value", "label", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare"]
|
|
7
|
+
}
|
|
@@ -1,79 +1,71 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
meta
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BDEFTL6K.mjs";
|
|
5
5
|
|
|
6
6
|
// src/translations.ts
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { Type } from "@dxos/echo";
|
|
8
|
+
import { Collection } from "@dxos/schema";
|
|
9
|
+
import { Event, Message, Organization, Person, Project, Task } from "@dxos/types";
|
|
9
10
|
var translations = [
|
|
10
11
|
{
|
|
11
12
|
"en-US": {
|
|
12
|
-
[
|
|
13
|
+
[Collection.Collection.typename]: {
|
|
13
14
|
"typename label": "Collection",
|
|
14
15
|
"typename label_zero": "Collections",
|
|
15
16
|
"typename label_one": "Collection",
|
|
16
17
|
"typename label_other": "Collections",
|
|
17
18
|
"object name placeholder": "New collection",
|
|
18
19
|
"rename object label": "Rename collection",
|
|
19
|
-
"delete object label": "Delete collection"
|
|
20
|
+
"delete object label": "Delete collection",
|
|
21
|
+
"object deleted label": "Collection deleted"
|
|
20
22
|
},
|
|
21
|
-
[
|
|
22
|
-
"typename label": "
|
|
23
|
-
"typename label_zero": "
|
|
24
|
-
"typename label_one": "
|
|
25
|
-
"typename label_other": "
|
|
26
|
-
"object name placeholder": "New
|
|
27
|
-
"rename object label": "Rename
|
|
28
|
-
"delete object label": "Delete
|
|
23
|
+
[Type.getTypename(Type.PersistentType)]: {
|
|
24
|
+
"typename label": "Type",
|
|
25
|
+
"typename label_zero": "Types",
|
|
26
|
+
"typename label_one": "Type",
|
|
27
|
+
"typename label_other": "Types",
|
|
28
|
+
"object name placeholder": "New type",
|
|
29
|
+
"rename object label": "Rename type",
|
|
30
|
+
"delete object label": "Delete type",
|
|
31
|
+
"object deleted label": "Type deleted"
|
|
29
32
|
},
|
|
30
|
-
[
|
|
31
|
-
"typename label": "Record",
|
|
32
|
-
"typename label_zero": "Records",
|
|
33
|
-
"typename label_one": "Record",
|
|
34
|
-
"typename label_other": "Records",
|
|
35
|
-
"object name placeholder": "New record type",
|
|
36
|
-
"rename object label": "Rename record type",
|
|
37
|
-
"delete object label": "Delete record type"
|
|
38
|
-
},
|
|
39
|
-
[DataType.View.typename]: {
|
|
40
|
-
"typename label": "View",
|
|
41
|
-
"typename label_zero": "Views",
|
|
42
|
-
"typename label_one": "View",
|
|
43
|
-
"typename label_other": "Views",
|
|
44
|
-
"object name placeholder": "New view",
|
|
45
|
-
"rename object label": "Rename view",
|
|
46
|
-
"delete object label": "Delete view"
|
|
47
|
-
},
|
|
48
|
-
[DataType.Event.typename]: {
|
|
33
|
+
[Event.Event.typename]: {
|
|
49
34
|
"typename label": "Event",
|
|
50
35
|
"typename label_zero": "Events",
|
|
51
36
|
"typename label_one": "Event",
|
|
52
37
|
"typename label_other": "Events",
|
|
53
38
|
"object name placeholder": "New event"
|
|
54
39
|
},
|
|
55
|
-
[
|
|
40
|
+
[Message.Message.typename]: {
|
|
41
|
+
"typename label": "Message",
|
|
42
|
+
"typename label_zero": "Messages",
|
|
43
|
+
"typename label_one": "Message",
|
|
44
|
+
"typename label_other": "Messages",
|
|
45
|
+
"object name placeholder": "New message"
|
|
46
|
+
},
|
|
47
|
+
[Organization.Organization.typename]: {
|
|
56
48
|
"typename label": "Organization",
|
|
57
49
|
"typename label_zero": "Organizations",
|
|
58
50
|
"typename label_one": "Organization",
|
|
59
51
|
"typename label_other": "Organizations",
|
|
60
52
|
"object name placeholder": "New organization"
|
|
61
53
|
},
|
|
62
|
-
[
|
|
54
|
+
[Person.Person.typename]: {
|
|
63
55
|
"typename label": "Person",
|
|
64
56
|
"typename label_zero": "People",
|
|
65
57
|
"typename label_one": "Person",
|
|
66
58
|
"typename label_other": "People",
|
|
67
59
|
"object name placeholder": "New person"
|
|
68
60
|
},
|
|
69
|
-
[
|
|
61
|
+
[Project.Project.typename]: {
|
|
70
62
|
"typename label": "Project",
|
|
71
63
|
"typename label_zero": "Projects",
|
|
72
64
|
"typename label_one": "Project",
|
|
73
65
|
"typename label_other": "Projects",
|
|
74
66
|
"object name placeholder": "New project"
|
|
75
67
|
},
|
|
76
|
-
[
|
|
68
|
+
[Task.Task.typename]: {
|
|
77
69
|
"typename label": "Task",
|
|
78
70
|
"typename label_zero": "Tasks",
|
|
79
71
|
"typename label_one": "Task",
|
|
@@ -95,7 +87,7 @@ var translations = [
|
|
|
95
87
|
"rename space label": "Rename space",
|
|
96
88
|
"active space label": "Active space:",
|
|
97
89
|
"space name label": "Space name",
|
|
98
|
-
"object name label": "
|
|
90
|
+
"object name label": "Object name",
|
|
99
91
|
"close space label": "Close space",
|
|
100
92
|
"open space label": "Open space",
|
|
101
93
|
"export data label": "Export data",
|
|
@@ -112,30 +104,29 @@ var translations = [
|
|
|
112
104
|
"personal space label": "Personal Space",
|
|
113
105
|
"spaces label": "Spaces",
|
|
114
106
|
"space settings label": "Spaces",
|
|
115
|
-
"space settings description": "Each space has its own settings you can configure, where you can adjust its properties, membership, integrations, and other
|
|
107
|
+
"space settings description": "Each space has its own settings you can configure, where you can adjust its properties, membership, integrations, and other objects specific to that space.",
|
|
116
108
|
"show hidden spaces label": "Show archived spaces",
|
|
117
109
|
"save files to directory label": "Save files to disk",
|
|
118
110
|
"select path label": "Select path",
|
|
111
|
+
"snapshot by schema label": "Snapshot of objects",
|
|
119
112
|
"rename collection label": "Rename collection",
|
|
120
|
-
"rename object label": "Rename
|
|
121
|
-
"duplicate object label": "Duplicate
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"object deleted label": "Item deleted",
|
|
126
|
-
"objects deleted label": "Items deleted",
|
|
127
|
-
"go to object label": "Open item",
|
|
113
|
+
"rename object label": "Rename object",
|
|
114
|
+
"duplicate object label": "Duplicate object",
|
|
115
|
+
"object deleted label": "Object deleted",
|
|
116
|
+
"objects deleted label": "Objects deleted",
|
|
117
|
+
"go to object label": "Open object",
|
|
128
118
|
"found object label": "Ready.",
|
|
129
|
-
"found object description": "The requested
|
|
119
|
+
"found object description": "The requested object is now available.",
|
|
130
120
|
"waiting for object label": "Loading\u2026",
|
|
131
|
-
"waiting for object description": "The requested
|
|
121
|
+
"waiting for object description": "The requested object is still being synchronized.",
|
|
132
122
|
"object not found label": "Nothing found.",
|
|
133
|
-
"object not found description": "The requested
|
|
134
|
-
"missing object message": "
|
|
135
|
-
"missing object description": "The requested
|
|
123
|
+
"object not found description": "The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.",
|
|
124
|
+
"missing object message": "Object not available.",
|
|
125
|
+
"missing object description": "The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.",
|
|
136
126
|
"create object in space label": "Add to space",
|
|
137
127
|
"create object in collection label": "Add to collection",
|
|
138
|
-
"create object in
|
|
128
|
+
"create object in system collection label": "Add to system collection",
|
|
129
|
+
"add view to schema label": "Add view to type",
|
|
139
130
|
"space members label": "Space members",
|
|
140
131
|
"active space members heading": "Online ({{count}})",
|
|
141
132
|
"inactive space members heading": "Offline ({{count}})",
|
|
@@ -152,10 +143,10 @@ var translations = [
|
|
|
152
143
|
"menu footer label": "Details",
|
|
153
144
|
"location label": "Located in",
|
|
154
145
|
"space limit label": "Space Limit Reached",
|
|
155
|
-
"space limit description": "This space has reached the maximum number of
|
|
146
|
+
"space limit description": "This space has reached the maximum number of objects for the beta. This limit includes deleted objects currently, but those can be permanently removed with the cleanup action.",
|
|
156
147
|
"space limit close label": "Close",
|
|
157
148
|
"remove deleted objects label": "Cleanup",
|
|
158
|
-
"remove deleted objects alt": "Permanently remove deleted
|
|
149
|
+
"remove deleted objects alt": "Permanently remove deleted objects to free up space.",
|
|
159
150
|
"copy link label": "Copy link",
|
|
160
151
|
"default on space create label": "On space create",
|
|
161
152
|
"sync status title": "Sync status",
|
|
@@ -172,20 +163,22 @@ var translations = [
|
|
|
172
163
|
"remote synced label": "Synced with peers",
|
|
173
164
|
"syncing label": "Space syncing",
|
|
174
165
|
"show all label": "Show all",
|
|
175
|
-
"no sync status label": "No space with missing
|
|
166
|
+
"no sync status label": "No space with missing objects.",
|
|
176
167
|
"create space dialog title": "Create Space",
|
|
177
168
|
"create object dialog title": "Create {{object}}",
|
|
178
169
|
"space input placeholder": "Select space",
|
|
179
|
-
"schema input placeholder": "Select
|
|
170
|
+
"schema input placeholder": "Select type",
|
|
180
171
|
"creating object type label": "Type",
|
|
181
172
|
"creating in space label": "Location",
|
|
182
173
|
"creating in collection label": "In Collection",
|
|
183
174
|
"clear input label": "Clear",
|
|
184
175
|
"expose object label": "Expose in navtree",
|
|
176
|
+
"add tag label": "Add tag",
|
|
185
177
|
"advanced settings label": "Advanced",
|
|
186
178
|
"foreign keys": "Foreign Keys",
|
|
187
179
|
"add key": "Add Key",
|
|
188
180
|
"open space settings label": "Open settings",
|
|
181
|
+
"related objects label": "Related Objects",
|
|
189
182
|
"row details no selection label": "No objects selected",
|
|
190
183
|
"companion selected objects label": "Selected",
|
|
191
184
|
"field deleted label": "Field deleted",
|
|
@@ -204,10 +197,10 @@ var translations = [
|
|
|
204
197
|
"space settings properties label": "General settings",
|
|
205
198
|
"space properties settings verbose label": "Manage space properties",
|
|
206
199
|
"space properties settings description": "You can configure how this space is displayed in the app here.",
|
|
207
|
-
"space settings schema label": "
|
|
208
|
-
"schema verbose label": "Manage
|
|
209
|
-
"schema description": "You can manage all of the
|
|
210
|
-
"no schemas found message": "No
|
|
200
|
+
"space settings schema label": "Types",
|
|
201
|
+
"schema verbose label": "Manage types",
|
|
202
|
+
"schema description": "You can manage all of the types stored within this space here.",
|
|
203
|
+
"no schemas found message": "No types found",
|
|
211
204
|
"display name input placeholder": "Space name",
|
|
212
205
|
"display name description": "Name of the space as it appears in the app.",
|
|
213
206
|
"icon description": "Icon used to represent the space in the app.",
|
|
@@ -215,7 +208,21 @@ var translations = [
|
|
|
215
208
|
"edge replication description": "Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.",
|
|
216
209
|
"archive space description": "Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.",
|
|
217
210
|
"archive space label": "Archive",
|
|
218
|
-
"unarchive space label": "Unarchive"
|
|
211
|
+
"unarchive space label": "Unarchive",
|
|
212
|
+
"space controls title": "Space Controls",
|
|
213
|
+
"space controls description": "Advanced controls for this space.",
|
|
214
|
+
"backup space title": "Backup Space",
|
|
215
|
+
"backup space description": "Download a backup of the space. Contains all data in the space in an unencrypted format.",
|
|
216
|
+
"download backup label": "Download backup",
|
|
217
|
+
"repair space title": "Repair Space",
|
|
218
|
+
"repair space description": "Run repair operations on the space.",
|
|
219
|
+
"repair space label": "Run repairs",
|
|
220
|
+
"sync edge connected label": "Edge connected",
|
|
221
|
+
"sync edge disconnected label": "Edge disconnected",
|
|
222
|
+
"sync no connection label": "No connection to edge service",
|
|
223
|
+
"sync latency label": "Latency",
|
|
224
|
+
"sync upload label": "Upload",
|
|
225
|
+
"sync download label": "Download"
|
|
219
226
|
}
|
|
220
227
|
}
|
|
221
228
|
}
|
|
@@ -224,4 +231,4 @@ var translations = [
|
|
|
224
231
|
export {
|
|
225
232
|
translations
|
|
226
233
|
};
|
|
227
|
-
//# sourceMappingURL=chunk-
|
|
234
|
+
//# sourceMappingURL=chunk-AX3UGL5D.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/translations.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\nimport { Collection } from '@dxos/schema';\nimport { Event, Message, Organization, Person, Project, Task } from '@dxos/types';\n\nimport { meta } from './meta';\n\n// TODO(burdon): Change to single Resource?\nexport const translations = [\n {\n 'en-US': {\n [Collection.Collection.typename]: {\n 'typename label': 'Collection',\n 'typename label_zero': 'Collections',\n 'typename label_one': 'Collection',\n 'typename label_other': 'Collections',\n 'object name placeholder': 'New collection',\n 'rename object label': 'Rename collection',\n 'delete object label': 'Delete collection',\n 'object deleted label': 'Collection deleted',\n },\n [Type.getTypename(Type.PersistentType)]: {\n 'typename label': 'Type',\n 'typename label_zero': 'Types',\n 'typename label_one': 'Type',\n 'typename label_other': 'Types',\n 'object name placeholder': 'New type',\n 'rename object label': 'Rename type',\n 'delete object label': 'Delete type',\n 'object deleted label': 'Type deleted',\n },\n [Event.Event.typename]: {\n 'typename label': 'Event',\n 'typename label_zero': 'Events',\n 'typename label_one': 'Event',\n 'typename label_other': 'Events',\n 'object name placeholder': 'New event',\n },\n [Message.Message.typename]: {\n 'typename label': 'Message',\n 'typename label_zero': 'Messages',\n 'typename label_one': 'Message',\n 'typename label_other': 'Messages',\n 'object name placeholder': 'New message',\n },\n [Organization.Organization.typename]: {\n 'typename label': 'Organization',\n 'typename label_zero': 'Organizations',\n 'typename label_one': 'Organization',\n 'typename label_other': 'Organizations',\n 'object name placeholder': 'New organization',\n },\n [Person.Person.typename]: {\n 'typename label': 'Person',\n 'typename label_zero': 'People',\n 'typename label_one': 'Person',\n 'typename label_other': 'People',\n 'object name placeholder': 'New person',\n },\n [Project.Project.typename]: {\n 'typename label': 'Project',\n 'typename label_zero': 'Projects',\n 'typename label_one': 'Project',\n 'typename label_other': 'Projects',\n 'object name placeholder': 'New project',\n },\n [Task.Task.typename]: {\n 'typename label': 'Task',\n 'typename label_zero': 'Tasks',\n 'typename label_one': 'Task',\n 'typename label_other': 'Tasks',\n 'object name placeholder': 'New task',\n },\n [meta.id]: {\n 'plugin name': 'Spaces',\n 'first run message': 'Nothing selected.',\n 'create space label': 'Create space',\n 'join space label': 'Join space',\n 'empty space message': 'No documents',\n 'empty tree message': 'No spaces',\n 'unnamed space label': 'New space',\n 'closed space label': 'Closed',\n 'loading space label': 'Loading space…',\n 'lock space label': 'Lock space',\n 'unlock space label': 'Unlock space',\n 'rename space label': 'Rename space',\n 'active space label': 'Active space:',\n 'space name label': 'Space name',\n 'object name label': 'Object name',\n 'close space label': 'Close space',\n 'open space label': 'Open space',\n 'export data label': 'Export data',\n 'import data label': 'Import data',\n 'migrate space label': 'Migrate space',\n 'share space label': 'Share current space',\n 'save space to disk label': 'Save to disk',\n 'load space from disk label': 'Load from disk',\n 'confirm restore title': 'Overwrite files in this space?',\n 'confirm restore body': 'Restoring from a backup will overwrite the contents of any documents that match.',\n 'upload file message': 'Drag file here or click to browse',\n 'object name placeholder': 'Object',\n 'object placeholder': 'Type a title here…',\n 'personal space label': 'Personal Space',\n 'spaces label': 'Spaces',\n 'space settings label': 'Spaces',\n 'space settings description':\n 'Each space has its own settings you can configure, where you can adjust its properties, membership, integrations, and other objects specific to that space.',\n 'show hidden spaces label': 'Show archived spaces',\n 'save files to directory label': 'Save files to disk',\n 'select path label': 'Select path',\n 'snapshot by schema label': 'Snapshot of objects',\n 'rename collection label': 'Rename collection',\n 'rename object label': 'Rename object',\n 'duplicate object label': 'Duplicate object',\n 'object deleted label': 'Object deleted',\n 'objects deleted label': 'Objects deleted',\n 'go to object label': 'Open object',\n 'found object label': 'Ready.',\n 'found object description': 'The requested object is now available.',\n 'waiting for object label': 'Loading…',\n 'waiting for object description': 'The requested object is still being synchronized.',\n 'object not found label': 'Nothing found.',\n 'object not found description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'missing object message': 'Object not available.',\n 'missing object description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'create object in space label': 'Add to space',\n 'create object in collection label': 'Add to collection',\n 'create object in system collection label': 'Add to system collection',\n 'add view to schema label': 'Add view to type',\n 'space members label': 'Space members',\n 'active space members heading': 'Online ({{count}})',\n 'inactive space members heading': 'Offline ({{count}})',\n 'presence label_zero': 'No other viewers',\n 'presence label_one': '1 other viewer',\n 'presence label_other': '{{count}} other viewers',\n 'persisted locally label': 'Changes saved locally.',\n 'persisted locally message': 'All changes have been saved to disk on this device.',\n 'persistence pending label': 'Saving…',\n 'persistence error label': 'Error saving changes.',\n 'more actions label': 'More actions',\n 'invitations heading': 'Invitations',\n 'keyshortcuts label': 'Keyboard shortcuts',\n 'menu footer label': 'Details',\n 'location label': 'Located in',\n 'space limit label': 'Space Limit Reached',\n 'space limit description':\n 'This space has reached the maximum number of objects for the beta. This limit includes deleted objects currently, but those can be permanently removed with the cleanup action.',\n 'space limit close label': 'Close',\n 'remove deleted objects label': 'Cleanup',\n 'remove deleted objects alt': 'Permanently remove deleted objects to free up space.',\n 'copy link label': 'Copy link',\n 'default on space create label': 'On space create',\n 'sync status title': 'Sync status',\n 'dismiss label': 'Dismiss',\n 'join success label': 'Successfully joined space',\n 'name label': 'Name',\n 'name placeholder': 'Name',\n 'object settings label': 'Details',\n 'edge replication label': 'Enable EDGE Replication',\n 'saving locally label': 'Writing to disk',\n 'downloading label': 'Replicating from peers',\n 'uploading label': 'Replicating to peers',\n 'offline persisted label': 'Saved to disk (offline)',\n 'remote synced label': 'Synced with peers',\n 'syncing label': 'Space syncing',\n 'show all label': 'Show all',\n 'no sync status label': 'No space with missing objects.',\n 'create space dialog title': 'Create Space',\n 'create object dialog title': 'Create {{object}}',\n 'space input placeholder': 'Select space',\n 'schema input placeholder': 'Select type',\n 'creating object type label': 'Type',\n 'creating in space label': 'Location',\n 'creating in collection label': 'In Collection',\n 'clear input label': 'Clear',\n 'expose object label': 'Expose in navtree',\n 'add tag label': 'Add tag',\n 'advanced settings label': 'Advanced',\n 'foreign keys': 'Foreign Keys',\n 'add key': 'Add Key',\n 'open space settings label': 'Open settings',\n 'related objects label': 'Related Objects',\n\n 'row details no selection label': 'No objects selected',\n 'companion selected objects label': 'Selected',\n 'field deleted label': 'Field deleted',\n\n 'members panel label': 'Members',\n 'members verbose label': 'Manage space members',\n 'members description': 'You can view the current status of space members here as well as invite new members.',\n 'members label': 'Members',\n 'invitations label': 'Invitations',\n 'space invitation description': 'Manage invitations to the space.',\n 'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',\n 'locked space description': 'This space is locked, unlock it to invite new members.',\n 'space locked label': 'Lock space',\n 'space locked description': 'Locking a space prevents new members from being invited to the space.',\n\n 'settings panel label': 'Space Settings',\n 'open current space settings label': 'Open current space settings',\n 'space settings properties label': 'General settings',\n 'space properties settings verbose label': 'Manage space properties',\n 'space properties settings description': 'You can configure how this space is displayed in the app here.',\n 'space settings schema label': 'Types',\n 'schema verbose label': 'Manage types',\n 'schema description': 'You can manage all of the types stored within this space here.',\n 'no schemas found message': 'No types found',\n 'display name input placeholder': 'Space name',\n 'display name description': 'Name of the space as it appears in the app.',\n 'icon description': 'Icon used to represent the space in the app.',\n 'hue description': 'Color used to represent the space in the app.',\n 'edge replication description':\n \"Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.\",\n 'archive space description':\n 'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',\n 'archive space label': 'Archive',\n 'unarchive space label': 'Unarchive',\n\n 'space controls title': 'Space Controls',\n 'space controls description': 'Advanced controls for this space.',\n 'backup space title': 'Backup Space',\n 'backup space description':\n 'Download a backup of the space. Contains all data in the space in an unencrypted format.',\n 'download backup label': 'Download backup',\n 'repair space title': 'Repair Space',\n 'repair space description': 'Run repair operations on the space.',\n 'repair space label': 'Run repairs',\n\n 'sync edge connected label': 'Edge connected',\n 'sync edge disconnected label': 'Edge disconnected',\n 'sync no connection label': 'No connection to edge service',\n 'sync latency label': 'Latency',\n 'sync upload label': 'Upload',\n 'sync download label': 'Download',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Type", "Collection", "Event", "Message", "Organization", "Person", "Project", "Task", "translations", "Collection", "typename", "Type", "getTypename", "PersistentType", "Event", "Message", "Organization", "Person", "Project", "Task", "meta", "id"]
|
|
7
|
+
}
|