@dxos/plugin-space 0.8.4-main.ae835ea → 0.8.4-main.bc674ce
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/CollectionArticle-OQMUVFVV.mjs +125 -0
- package/dist/lib/browser/CollectionArticle-OQMUVFVV.mjs.map +7 -0
- package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +148 -0
- package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +142 -0
- package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +7 -0
- package/dist/lib/browser/RecordArticle-W57QE7QV.mjs +107 -0
- package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +523 -0
- package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +7 -0
- package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs +84 -0
- package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +7 -0
- package/dist/lib/browser/chunk-4WZUGLQQ.mjs +117 -0
- package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-ASV6DYFH.mjs +19 -0
- package/dist/lib/browser/chunk-ASV6DYFH.mjs.map +7 -0
- package/dist/lib/browser/chunk-AWVAX26X.mjs +13 -0
- package/dist/lib/browser/chunk-AWVAX26X.mjs.map +7 -0
- package/dist/lib/browser/chunk-CCRSHECL.mjs +714 -0
- package/dist/lib/browser/chunk-CCRSHECL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VZBIIYFM.mjs → chunk-HSMQFM57.mjs} +1 -1
- package/dist/lib/browser/chunk-HSMQFM57.mjs.map +7 -0
- package/dist/lib/browser/{chunk-OWNBEI5J.mjs → chunk-SUI34XSA.mjs} +318 -256
- package/dist/lib/browser/chunk-SUI34XSA.mjs.map +7 -0
- package/dist/lib/browser/chunk-TWUMNPG4.mjs +1898 -0
- package/dist/lib/browser/chunk-TWUMNPG4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4V4JNJ33.mjs → chunk-ZT2VPYRM.mjs} +62 -63
- package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +849 -0
- package/dist/lib/browser/cli/index.mjs.map +7 -0
- package/dist/lib/browser/identity-created-VCFYLSBB.mjs +23 -0
- package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +230 -236
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs +827 -0
- package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +7 -0
- package/dist/lib/browser/react-root-3SPMM45V.mjs +30 -0
- package/dist/lib/browser/react-root-3SPMM45V.mjs.map +7 -0
- package/dist/lib/browser/react-surface-UUS7NDHS.mjs +382 -0
- package/dist/lib/browser/react-surface-UUS7NDHS.mjs.map +7 -0
- package/dist/lib/browser/repair-CJG26D52.mjs +50 -0
- package/dist/lib/browser/repair-CJG26D52.mjs.map +7 -0
- package/dist/lib/browser/settings-ZS2AQ73E.mjs +33 -0
- package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +7 -0
- package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs +242 -0
- package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +7 -0
- package/dist/lib/browser/state-7YZQB2KY.mjs +58 -0
- package/dist/lib/browser/state-7YZQB2KY.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +18 -10
- package/dist/lib/node-esm/CollectionArticle-V5OOJVJJ.mjs +126 -0
- package/dist/lib/node-esm/CollectionArticle-V5OOJVJJ.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +149 -0
- package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +143 -0
- package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +7 -0
- package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs +108 -0
- package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +524 -0
- package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs +85 -0
- package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-G4PDWB7G.mjs → chunk-2SW6S2BB.mjs} +62 -63
- package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XEVIWD3O.mjs → chunk-7KMYUWSR.mjs} +318 -256
- package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CVXULIYC.mjs +20 -0
- package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FYSBFBSD.mjs +1899 -0
- package/dist/lib/node-esm/chunk-FYSBFBSD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HREWB23G.mjs +15 -0
- package/dist/lib/node-esm/chunk-HREWB23G.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JOBIWCBC.mjs +118 -0
- package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MPL6NHQX.mjs +715 -0
- package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BDEFTL6K.mjs → chunk-SL4BJSUG.mjs} +1 -1
- package/dist/lib/node-esm/chunk-SL4BJSUG.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +850 -0
- package/dist/lib/node-esm/cli/index.mjs.map +7 -0
- package/dist/lib/node-esm/identity-created-2SJABVJD.mjs +25 -0
- package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +230 -236
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs +828 -0
- package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +7 -0
- package/dist/lib/node-esm/react-root-Y6JTGDTW.mjs +31 -0
- package/dist/lib/node-esm/react-root-Y6JTGDTW.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-SQ4SK3OK.mjs +383 -0
- package/dist/lib/node-esm/react-surface-SQ4SK3OK.mjs.map +7 -0
- package/dist/lib/node-esm/repair-G3ZW3VG3.mjs +51 -0
- package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +7 -0
- package/dist/lib/node-esm/settings-PVI2VG56.mjs +34 -0
- package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +7 -0
- package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs +243 -0
- package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +7 -0
- package/dist/lib/node-esm/state-XE5YGPHM.mjs +59 -0
- package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +18 -10
- package/dist/types/src/SpacePlugin.d.ts +3 -15
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
- package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
- package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
- package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +10 -20
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
- package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/repair/index.d.ts +3 -0
- package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
- package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +7 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +9 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
- package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
- package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +13 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +17 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/add.d.ts +17 -0
- package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/index.d.ts +3 -0
- package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
- package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
- package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
- package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
- package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
- package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
- package/dist/types/src/cli/commands/database/util.d.ts +14 -0
- package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
- package/dist/types/src/cli/commands/index.d.ts +4 -0
- package/dist/types/src/cli/commands/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
- package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
- package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
- package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
- package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
- package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
- package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
- package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/index.d.ts +31 -0
- package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
- package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
- package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
- package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
- package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
- package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
- package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
- package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
- package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
- package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
- package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
- package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
- package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
- package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
- package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
- package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
- package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
- package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
- package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
- package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
- package/dist/types/src/cli/index.d.ts +2 -0
- package/dist/types/src/cli/index.d.ts.map +1 -0
- package/dist/types/src/cli/plugin.d.ts +4 -0
- package/dist/types/src/cli/plugin.d.ts.map +1 -0
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionArticle.d.ts +9 -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 +2 -2
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +163 -229
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +18 -10
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +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/{RecordMain.stories.d.ts → MembersContainer/MembersContainer.stories.d.ts} +158 -225
- 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/MenuFooter.d.ts +1 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts +8 -0
- package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
- package/dist/types/src/components/{ObjectDetailsPanel → ObjectCardStack}/ObjectForm.d.ts +2 -3
- package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectCardStack/index.d.ts +3 -0
- package/dist/types/src/components/ObjectCardStack/index.d.ts.map +1 -0
- package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +1 -1
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
- package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts +156 -223
- package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts +8 -0
- package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +9 -0
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
- package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
- package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/components/RecordArticle.d.ts +5 -0
- package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
- package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +158 -225
- package/dist/types/src/components/{RecordMain.stories.d.ts.map → RecordArticle.stories.d.ts.map} +1 -1
- 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 +4 -2
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +7 -6
- 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} +156 -223
- 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 +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +157 -224
- 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 +156 -223
- 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 +15 -16
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/constants.d.ts +6 -0
- package/dist/types/src/constants.d.ts.map +1 -0
- package/dist/types/src/helpers/index.d.ts +2 -0
- package/dist/types/src/helpers/index.d.ts.map +1 -0
- package/dist/types/src/helpers/query.d.ts +7 -0
- package/dist/types/src/helpers/query.d.ts.map +1 -0
- package/dist/types/src/helpers/query.test.d.ts +2 -0
- package/dist/types/src/helpers/query.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/usePath.d.ts +2 -2
- package/dist/types/src/hooks/usePath.d.ts.map +1 -1
- package/dist/types/src/hooks/useTypeOptions.d.ts +2 -2
- package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +156 -223
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +71 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +9 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/form.d.ts +22 -0
- package/dist/types/src/types/form.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +637 -397
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +39 -51
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +82 -63
- package/src/SpacePlugin.ts +169 -227
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +617 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +82 -0
- package/src/capabilities/app-graph-serializer/index.ts +7 -0
- package/src/capabilities/identity-created/identity-created.ts +29 -0
- package/src/capabilities/identity-created/index.ts +7 -0
- package/src/capabilities/index.ts +10 -14
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +760 -0
- package/src/capabilities/react-root/index.ts +7 -0
- package/src/capabilities/react-root/react-root.tsx +25 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +375 -0
- package/src/capabilities/repair/index.ts +7 -0
- package/src/capabilities/repair/repair.ts +67 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +32 -0
- package/src/capabilities/spaces-ready/index.ts +7 -0
- package/src/capabilities/spaces-ready/spaces-ready.ts +289 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +64 -0
- package/src/cli/commands/database/add.ts +116 -0
- package/src/cli/commands/database/index.ts +16 -0
- package/src/cli/commands/database/query/index.ts +5 -0
- package/src/cli/commands/database/query/query.test.ts +55 -0
- package/src/cli/commands/database/query/query.ts +44 -0
- package/src/cli/commands/database/remove.ts +51 -0
- package/src/cli/commands/database/stats.ts +44 -0
- package/src/cli/commands/database/util.ts +32 -0
- package/src/cli/commands/index.ts +7 -0
- package/src/cli/commands/queue/index.ts +12 -0
- package/src/cli/commands/queue/query.ts +45 -0
- package/src/cli/commands/queue/util.ts +19 -0
- package/src/cli/commands/space/close/close.ts +40 -0
- package/src/cli/commands/space/close/index.ts +5 -0
- package/src/cli/commands/space/create/create.test.ts +67 -0
- package/src/cli/commands/space/create/create.ts +61 -0
- package/src/cli/commands/space/create/index.ts +5 -0
- package/src/cli/commands/space/index.ts +21 -0
- package/src/cli/commands/space/info/index.ts +5 -0
- package/src/cli/commands/space/info/info.test.ts +47 -0
- package/src/cli/commands/space/info/info.ts +37 -0
- package/src/cli/commands/space/join/index.ts +5 -0
- package/src/cli/commands/space/join/join.ts +122 -0
- package/src/cli/commands/space/join/util.ts +82 -0
- package/src/cli/commands/space/list/index.ts +5 -0
- package/src/cli/commands/space/list/list.test.ts +36 -0
- package/src/cli/commands/space/list/list.ts +30 -0
- package/src/cli/commands/space/members/index.ts +5 -0
- package/src/cli/commands/space/members/members.test.ts +46 -0
- package/src/cli/commands/space/members/members.ts +40 -0
- package/src/cli/commands/space/members/util.ts +29 -0
- package/src/cli/commands/space/open/index.ts +5 -0
- package/src/cli/commands/space/open/open.ts +39 -0
- package/src/cli/commands/space/schema/index.ts +12 -0
- package/src/cli/commands/space/schema/list/index.ts +5 -0
- package/src/cli/commands/space/schema/list/list.test.ts +42 -0
- package/src/cli/commands/space/schema/list/list.ts +64 -0
- package/src/cli/commands/space/schema/list/util.ts +39 -0
- package/src/cli/commands/space/share/index.ts +5 -0
- package/src/cli/commands/space/share/share.ts +112 -0
- package/src/cli/commands/space/sync/index.ts +5 -0
- package/src/cli/commands/space/sync/sync.test.ts +12 -0
- package/src/cli/commands/space/sync/sync.ts +33 -0
- package/src/cli/index.ts +5 -0
- package/src/cli/plugin.ts +81 -0
- package/src/components/AwaitingObject.tsx +21 -20
- package/src/components/CollectionArticle.tsx +153 -0
- package/src/components/CollectionSection.tsx +6 -4
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +30 -24
- package/src/components/CreateDialog/CreateObjectDialog.tsx +66 -57
- package/src/components/CreateDialog/CreateObjectPanel.tsx +153 -91
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +34 -29
- package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -37
- package/src/components/JoinDialog/index.ts +5 -0
- package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +3 -3
- package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +41 -41
- package/src/components/MembersContainer/index.ts +5 -0
- package/src/components/MenuFooter.tsx +1 -1
- package/src/components/ObjectCardStack/ObjectCardStack.tsx +67 -0
- package/src/components/ObjectCardStack/ObjectForm.tsx +97 -0
- package/src/components/ObjectCardStack/index.ts +7 -0
- package/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.stories.tsx +7 -7
- package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
- package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +6 -6
- package/src/components/ObjectDetails/ObjectDetails.tsx +32 -0
- package/src/components/ObjectDetails/index.ts +7 -0
- package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +11 -15
- package/src/components/ObjectRenamePopover/index.ts +5 -0
- package/src/components/{RecordMain.stories.tsx → RecordArticle.stories.tsx} +30 -31
- package/src/components/RecordArticle.tsx +122 -0
- package/src/components/SchemaContainer.tsx +24 -27
- package/src/components/SpacePluginSettings.tsx +17 -7
- package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +1 -1
- package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +19 -16
- package/src/components/SpacePresence/index.ts +5 -0
- package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +15 -15
- package/src/components/SpaceRenamePopover/index.ts +5 -0
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +4 -4
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +188 -153
- package/src/components/SyncStatus/InlineSyncStatus.tsx +1 -1
- package/src/components/SyncStatus/SyncStatus.tsx +26 -20
- package/src/components/SyncStatus/save-tracker.ts +2 -2
- package/src/components/ViewEditor.tsx +64 -21
- package/src/components/index.ts +7 -8
- package/src/constants.ts +11 -0
- package/src/helpers/index.ts +5 -0
- package/src/helpers/query.test.ts +24 -0
- package/src/helpers/query.ts +153 -0
- package/src/hooks/useActiveSpace.ts +7 -4
- package/src/hooks/useInputSurfaceLookup.tsx +9 -13
- package/src/hooks/usePath.ts +4 -4
- package/src/hooks/useTypeOptions.ts +3 -37
- package/src/index.ts +2 -2
- package/src/meta.ts +2 -2
- package/src/translations.ts +61 -59
- package/src/types/capabilities.ts +73 -0
- package/src/types/events.ts +15 -0
- package/src/types/form.ts +69 -0
- package/src/types/index.ts +3 -0
- package/src/types/types.ts +532 -261
- package/src/util.tsx +330 -282
- package/dist/lib/browser/CollectionMain-HTKSZCRR.mjs +0 -31
- package/dist/lib/browser/CollectionMain-HTKSZCRR.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs +0 -145
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs.map +0 -7
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs +0 -146
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs.map +0 -7
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs +0 -99
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs +0 -520
- package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-3R5NVV7U.mjs +0 -80
- package/dist/lib/browser/app-graph-serializer-3R5NVV7U.mjs.map +0 -7
- package/dist/lib/browser/chunk-2NS3VPSY.mjs +0 -20
- package/dist/lib/browser/chunk-2NS3VPSY.mjs.map +0 -7
- package/dist/lib/browser/chunk-4V4JNJ33.mjs.map +0 -7
- package/dist/lib/browser/chunk-ENBBJSNE.mjs +0 -1949
- package/dist/lib/browser/chunk-ENBBJSNE.mjs.map +0 -7
- package/dist/lib/browser/chunk-HS2VD6DN.mjs +0 -166
- package/dist/lib/browser/chunk-HS2VD6DN.mjs.map +0 -7
- package/dist/lib/browser/chunk-OWNBEI5J.mjs.map +0 -7
- package/dist/lib/browser/chunk-SLDQWMQ2.mjs +0 -349
- package/dist/lib/browser/chunk-SLDQWMQ2.mjs.map +0 -7
- package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +0 -7
- package/dist/lib/browser/chunk-WJXU4GKV.mjs +0 -19
- package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +0 -7
- package/dist/lib/browser/identity-created-PW2BA46S.mjs +0 -23
- package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-MBVOLXFQ.mjs +0 -772
- package/dist/lib/browser/intent-resolver-MBVOLXFQ.mjs.map +0 -7
- package/dist/lib/browser/react-root-NKEKCEYM.mjs +0 -29
- package/dist/lib/browser/react-root-NKEKCEYM.mjs.map +0 -7
- package/dist/lib/browser/react-surface-PYSN2MBY.mjs +0 -354
- package/dist/lib/browser/react-surface-PYSN2MBY.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-DWYK7TYW.mjs +0 -26
- package/dist/lib/browser/schema-defs-DWYK7TYW.mjs.map +0 -7
- package/dist/lib/browser/settings-ZUCC3ZLB.mjs +0 -24
- package/dist/lib/browser/settings-ZUCC3ZLB.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-HTWWJHLR.mjs +0 -201
- package/dist/lib/browser/spaces-ready-HTWWJHLR.mjs.map +0 -7
- package/dist/lib/browser/state-ISVAKMO7.mjs +0 -47
- package/dist/lib/browser/state-ISVAKMO7.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs +0 -32
- package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs +0 -146
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs +0 -147
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs.map +0 -7
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs +0 -100
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-B23W62HY.mjs +0 -521
- package/dist/lib/node-esm/app-graph-builder-B23W62HY.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-3Z3EXEEF.mjs +0 -81
- package/dist/lib/node-esm/app-graph-serializer-3Z3EXEEF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-G4PDWB7G.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs +0 -20
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KKPCCA5O.mjs +0 -1950
- package/dist/lib/node-esm/chunk-KKPCCA5O.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs +0 -167
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XEVIWD3O.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YFQXFQGT.mjs +0 -350
- package/dist/lib/node-esm/chunk-YFQXFQGT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs +0 -21
- package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs +0 -25
- package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-IWI47NTW.mjs +0 -773
- package/dist/lib/node-esm/intent-resolver-IWI47NTW.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-LX7SIG6M.mjs +0 -30
- package/dist/lib/node-esm/react-root-LX7SIG6M.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-6SVGOZNJ.mjs +0 -355
- package/dist/lib/node-esm/react-surface-6SVGOZNJ.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-EOG2UPJU.mjs +0 -27
- package/dist/lib/node-esm/schema-defs-EOG2UPJU.mjs.map +0 -7
- package/dist/lib/node-esm/settings-ZDJNLFGW.mjs +0 -25
- package/dist/lib/node-esm/settings-ZDJNLFGW.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-VUGYPF4L.mjs +0 -202
- package/dist/lib/node-esm/spaces-ready-VUGYPF4L.mjs.map +0 -7
- package/dist/lib/node-esm/state-QZ4Q6ZRL.mjs +0 -48
- package/dist/lib/node-esm/state-QZ4Q6ZRL.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -29
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/identity-created.d.ts +0 -4
- package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-root.d.ts +0 -7
- package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -7
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
- package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
- package/dist/types/src/capabilities/state.d.ts +0 -5
- package/dist/types/src/capabilities/state.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/ObjectDetailsPanel.d.ts +0 -9
- package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +0 -1
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +0 -1
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +0 -3
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts +0 -3
- package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
- package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
- package/dist/types/src/components/RecordMain.d.ts +0 -8
- package/dist/types/src/components/RecordMain.d.ts.map +0 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -8
- package/dist/types/src/events.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -757
- package/src/capabilities/app-graph-serializer.ts +0 -76
- package/src/capabilities/capabilities.ts +0 -35
- package/src/capabilities/identity-created.ts +0 -25
- package/src/capabilities/intent-resolver.ts +0 -711
- package/src/capabilities/react-root.tsx +0 -21
- package/src/capabilities/react-surface.tsx +0 -329
- package/src/capabilities/schema-defs.ts +0 -31
- package/src/capabilities/settings.ts +0 -21
- package/src/capabilities/spaces-ready.ts +0 -234
- package/src/capabilities/state.ts +0 -46
- package/src/components/CollectionMain.tsx +0 -32
- package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +0 -52
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +0 -75
- package/src/components/ObjectDetailsPanel/index.ts +0 -7
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -81
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -107
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -37
- package/src/components/ObjectSettings/index.ts +0 -7
- package/src/components/PersistenceStatus.tsx +0 -83
- package/src/components/RecordMain.tsx +0 -83
- package/src/events.ts +0 -15
- /package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +0 -0
- /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/components/AwaitingObject.tsx", "../../../src/components/CreateDialog/CreateObjectDialog.tsx", "../../../src/components/CreateDialog/CreateObjectPanel.tsx", "../../../src/components/CreateDialog/CreateSpaceDialog.tsx", "../../../src/components/CollectionSection.tsx", "../../../src/components/JoinDialog/JoinDialog.tsx", "../../../src/components/MembersContainer/MembersContainer.tsx", "../../../src/components/MenuFooter.tsx", "../../../src/components/ObjectRenamePopover/ObjectRenamePopover.tsx", "../../../src/components/SchemaContainer.tsx", "../../../src/components/SpacePluginSettings.tsx", "../../../src/components/SpacePresence/SpacePresence.tsx", "../../../src/components/SpaceRenamePopover/SpaceRenamePopover.tsx", "../../../src/components/SpaceSettings/SpaceSettingsContainer.tsx", "../../../src/components/SyncStatus/InlineSyncStatus.tsx", "../../../src/components/SyncStatus/SyncStatus.tsx", "../../../src/components/SyncStatus/save-tracker.ts", "../../../src/components/SyncStatus/status.ts", "../../../src/helpers/query.ts", "../../../src/components/ViewEditor.tsx", "../../../src/components/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useLayout, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, useQuery } from '@dxos/react-client/echo';\nimport { Button, Icon, Toast, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../meta';\nimport { SpaceOperation } from '../types';\n\nconst WAIT_FOR_OBJECT_TIMEOUT = 3 * 60 * 1_000;\nconst TOAST_TIMEOUT = 4 * 60 * 1_000;\n\nexport const AwaitingObject = ({ id }: { id: string }) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const [open, setOpen] = useState(true);\n const [waiting, setWaiting] = useState(true);\n const [found, setFound] = useState(false);\n const layout = useLayout();\n\n const client = useClient();\n const objects = useQuery(client.spaces, Filter.everything());\n\n useEffect(() => {\n if (!id) {\n return;\n }\n\n const timeout = setTimeout(() => setWaiting(false), WAIT_FOR_OBJECT_TIMEOUT);\n return () => clearTimeout(timeout);\n }, [id]);\n\n useEffect(() => {\n if (objects.findIndex((object) => Obj.getDXN(object).toString() === id) > -1) {\n setFound(true);\n if (layout.active.includes(id)) {\n setOpen(false);\n }\n }\n }, [id, objects, layout]);\n\n const handleClose = useCallback(\n async () => invokePromise(SpaceOperation.WaitForObject, { id: undefined }),\n [invokePromise],\n );\n\n const handleNavigate = useCallback(() => {\n void invokePromise(Common.LayoutOperation.Open, { subject: [id] });\n void handleClose();\n }, [id, handleClose, invokePromise]);\n\n return (\n <Toast.Root open={open} duration={TOAST_TIMEOUT} onOpenChange={setOpen}>\n <Toast.Body>\n <Toast.Title classNames='flex items-center gap-2'>\n {found ? (\n <>\n <Icon icon='ph--check-circle--regular' size={5} />\n <span>{t('found object label')}</span>\n </>\n ) : waiting ? (\n <>\n <Icon icon='ph--circle-notch--regular' size={5} classNames='animate-spin' />\n <span>{t('waiting for object label')}</span>\n </>\n ) : (\n <>\n <Icon icon='ph--circle-dashed--regular' size={5} />\n <span>{t('object not found label')}</span>\n </>\n )}\n </Toast.Title>\n <Toast.Description>\n {t(\n found\n ? 'found object description'\n : waiting\n ? 'waiting for object description'\n : 'object not found description',\n )}\n </Toast.Description>\n </Toast.Body>\n <Toast.Actions>\n {found ? (\n <>\n <Toast.Action altText={t('go to object alt')} asChild>\n <Button variant='primary' onClick={handleNavigate}>\n {t('go to object label')}\n </Button>\n </Toast.Action>\n <Toast.Close asChild>\n <Button onClick={handleClose}>{t('close label', { ns: osTranslations })}</Button>\n </Toast.Close>\n </>\n ) : (\n <Toast.Close asChild>\n <Button onClick={handleClose}>\n {t(waiting ? 'close label' : 'confirm label', { ns: osTranslations })}\n </Button>\n </Toast.Close>\n )}\n </Toast.Actions>\n </Toast.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { useOperationInvoker, usePluginManager } from '@dxos/app-framework/react';\nimport { Database, Obj, Type } from '@dxos/echo';\nimport { EntityKind, getTypeAnnotation } from '@dxos/echo/internal';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\nimport { useClient } from '@dxos/react-client';\nimport { useSpaces } from '@dxos/react-client/echo';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { type Collection } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { SpaceOperation } from '../../types';\n\nimport { CreateObjectPanel, type CreateObjectPanelProps, type Metadata } from './CreateObjectPanel';\n\nexport const CREATE_OBJECT_DIALOG = `${meta.id}/CreateObjectDialog`;\n\nexport type CreateObjectDialogProps = Pick<\n CreateObjectPanelProps,\n 'target' | 'views' | 'typename' | 'initialFormValues'\n> & {\n onCreateObject?: (object: Obj.Unknown) => void;\n shouldNavigate?: (object: Obj.Unknown) => boolean;\n};\n\nexport const CreateObjectDialog = ({\n target: initialTarget,\n typename: initialTypename,\n views,\n initialFormValues,\n onCreateObject,\n shouldNavigate: _shouldNavigate,\n}: CreateObjectDialogProps) => {\n const manager = usePluginManager();\n const { t } = useTranslation(meta.id);\n const operationInvoker = useOperationInvoker();\n const [target, setTarget] = useState<Database.Database | Collection.Collection | undefined>(initialTarget);\n const [typename, setTypename] = useState<string | undefined>(initialTypename);\n const client = useClient();\n const spaces = useSpaces();\n const closeRef = useRef<HTMLButtonElement | null>(null);\n\n const resolve = useCallback<NonNullable<CreateObjectPanelProps['resolve']>>(\n (typename) => {\n const metadata = manager.capabilities\n .getAll(Common.Capability.Metadata)\n .find(({ id }) => id === typename)?.metadata;\n return metadata?.createObject ? (metadata as Metadata) : undefined;\n },\n [manager],\n );\n\n const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);\n // TODO(wittjosiah): Support database schemas.\n const schemas = db?.schemaRegistry.query({ location: ['runtime'], includeSystem: false }).runSync();\n const userSchemas = useMemo(\n () =>\n schemas\n ?.filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)\n .filter((schema) => !!resolve(Type.getTypename(schema))) ?? [],\n [schemas],\n );\n\n const handleCreateObject = useCallback<NonNullable<CreateObjectPanelProps['onCreateObject']>>(\n ({ metadata, data = {} }) =>\n Effect.gen(function* () {\n if (!target) {\n // TODO(wittjosiah): UI feedback.\n return;\n }\n\n // NOTE: Must close before navigating or attention won't follow object.\n closeRef.current?.click();\n\n const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);\n invariant(db, 'Missing database');\n const object = yield* metadata.createObject(data, { db });\n if (Obj.isObject(object) && !Obj.instanceOf(Type.PersistentType, object)) {\n // TODO(wittjosiah): Selection in navtree isn't working as expected when hidden typenames evals to true.\n const hidden = !metadata.addToCollectionOnCreate;\n yield* operationInvoker.invoke(SpaceOperation.AddObject, {\n target,\n object,\n hidden,\n });\n const shouldNavigate = _shouldNavigate ?? (() => true);\n if (shouldNavigate(object)) {\n yield* Effect.promise(() =>\n operationInvoker.invokePromise(Common.LayoutOperation.Open, {\n subject: [Obj.getDXN(object).toString()],\n }),\n );\n }\n\n onCreateObject?.(object);\n }\n }).pipe(\n Effect.provideService(Capability.Service, manager.capabilities),\n Effect.provideService(Operation.Service, operationInvoker),\n runAndForwardErrors,\n ),\n [target, _shouldNavigate, onCreateObject, manager.capabilities, operationInvoker],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Header>\n <Dialog.Title>\n {t('create object dialog title', {\n object: t('typename label', {\n ns: typename,\n defaultValue: views ? 'View' : 'Object',\n }),\n })}\n </Dialog.Title>\n <Dialog.Close asChild>\n <Dialog.CloseIconButton ref={closeRef} />\n </Dialog.Close>\n </Dialog.Header>\n <CreateObjectPanel\n schemas={userSchemas}\n spaces={spaces}\n target={target}\n views={views}\n typename={typename}\n initialFormValues={initialFormValues}\n defaultSpaceId={client.spaces.default.id}\n resolve={resolve}\n onTargetChange={setTarget}\n onTypenameChange={setTypename}\n onCreateObject={handleCreateObject}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type Database, Obj } from '@dxos/echo';\nimport { type AnyProperties, type TypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';\nimport { type Space, type SpaceId } from '@dxos/react-client/echo';\nimport { toLocalizedString, useDefaultValue, useTranslation } from '@dxos/react-ui';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { SearchList, useSearchListResults } from '@dxos/react-ui-searchlist';\nimport { type Collection, ViewAnnotation } from '@dxos/schema';\nimport { type MaybePromise, isNonNullable } from '@dxos/util';\n\nimport { useInputSurfaceLookup } from '../../hooks';\nimport { meta } from '../../meta';\nimport { type CreateObject } from '../../types';\nimport { getSpaceDisplayName } from '../../util';\n\nexport type Metadata = {\n createObject: CreateObject;\n inputSchema?: Schema.Schema.AnyNoContext;\n addToCollectionOnCreate?: boolean;\n icon?: string;\n};\n\nexport type CreateObjectPanelProps = {\n schemas: Schema.Schema.AnyNoContext[];\n spaces: Space[];\n typename?: string;\n target?: Database.Database | Collection.Collection;\n views?: boolean;\n initialFormValues?: Partial<AnyProperties>;\n defaultSpaceId?: SpaceId;\n resolve?: (typename: string) => Metadata | undefined;\n onTargetChange?: (target: Database.Database) => void;\n onTypenameChange?: (typename: string) => void;\n onCreateObject?: (params: { metadata: Metadata; data?: Record<string, any> }) => MaybePromise<void>;\n};\n\nexport const CreateObjectPanel = ({\n schemas,\n spaces,\n typename,\n target,\n views,\n initialFormValues: _initialFormValues,\n defaultSpaceId,\n resolve,\n onTargetChange,\n onTypenameChange,\n onCreateObject,\n}: CreateObjectPanelProps) => {\n const { t } = useTranslation(meta.id);\n const initialFormValues = useDefaultValue(_initialFormValues, () => ({}));\n const metadata = typename && resolve?.(typename);\n const options: TypeAnnotation[] = schemas\n .filter((schema) => {\n if (views == null) {\n return true;\n } else {\n return views === ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false));\n }\n })\n .map((schema) => getTypeAnnotation(schema))\n .filter(isNonNullable)\n .sort((a, b) => {\n const nameA = t('typename label', {\n ns: a.typename,\n defaultValue: a.typename,\n });\n const nameB = t('typename label', {\n ns: b.typename,\n defaultValue: b.typename,\n });\n return nameA.localeCompare(nameB);\n });\n\n const handleCreateObject = useCallback(\n async (props: Record<string, any>) => {\n if (!metadata) {\n return;\n }\n await onCreateObject?.({ metadata, data: props });\n },\n [onCreateObject, metadata],\n );\n\n const handleSetTypename = useCallback(\n async (typename: string) => {\n const metadata = resolve?.(typename);\n if (metadata && !metadata.inputSchema) {\n await onCreateObject?.({ metadata });\n } else {\n onTypenameChange?.(typename);\n }\n },\n [resolve, onCreateObject],\n );\n\n const inputSurfaceLookup = useInputSurfaceLookup({ target });\n\n // TODO(wittjosiah): These inputs should be rolled into a `Form` once it supports the necessary variants.\n return !metadata ? (\n <SelectSchema options={options} resolve={resolve} onChange={handleSetTypename} />\n ) : !target ? (\n <SelectSpace spaces={spaces} defaultSpaceId={defaultSpaceId} onChange={onTargetChange} />\n ) : metadata.inputSchema ? (\n <Form.Root\n testId='create-object-form'\n autoFocus\n schema={omitId(metadata.inputSchema)}\n values={initialFormValues}\n db={Obj.isObject(target) ? Obj.getDatabase(target) : target}\n fieldProvider={inputSurfaceLookup}\n onSave={handleCreateObject}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n <Form.Submit />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n ) : null;\n};\n\nconst SelectSpace = ({\n spaces,\n defaultSpaceId,\n onChange,\n}: { onChange?: (db: Database.Database) => void } & Pick<CreateObjectPanelProps, 'spaces' | 'defaultSpaceId'>) => {\n const { t } = useTranslation(meta.id);\n\n const sortedSpaces = useMemo(\n () =>\n [...spaces].sort((a, b) => {\n const labelA = toLocalizedString(\n getSpaceDisplayName(a, {\n personal: a.id === defaultSpaceId,\n }),\n t,\n );\n const labelB = toLocalizedString(\n getSpaceDisplayName(b, {\n personal: b.id === defaultSpaceId,\n }),\n t,\n );\n return labelA.localeCompare(labelB);\n }),\n [spaces, defaultSpaceId, t],\n );\n\n const { results, handleSearch } = useSearchListResults({\n items: sortedSpaces,\n extract: (space) =>\n toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space.id === defaultSpaceId,\n }),\n t,\n ),\n });\n\n return (\n <SearchList.Root onSearch={handleSearch}>\n <div aria-label={t('space input label')} role='combobox' aria-expanded='true'>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.space-input'\n placeholder={t('space input placeholder')}\n />\n <SearchList.Content>\n <SearchList.Viewport>\n {results.map((space) => (\n <SearchList.Item\n key={space.id}\n value={space.id}\n label={toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space.id === defaultSpaceId,\n }),\n t,\n )}\n onSelect={() => onChange?.(space.db)}\n classNames='flex items-center gap-2'\n />\n ))}\n </SearchList.Viewport>\n </SearchList.Content>\n </div>\n </SearchList.Root>\n );\n};\n\nconst SelectSchema = ({\n options,\n resolve,\n onChange,\n}: {\n options: TypeAnnotation[];\n onChange: (type: string) => void;\n} & Pick<CreateObjectPanelProps, 'resolve'>) => {\n const { t } = useTranslation(meta.id);\n\n const { results, handleSearch } = useSearchListResults({\n items: options,\n extract: (option) =>\n t('typename label', {\n ns: option.typename,\n defaultValue: option.typename,\n }),\n });\n\n return (\n <SearchList.Root onSearch={handleSearch}>\n <div aria-label={t('schema input label')} role='combobox' aria-expanded='true'>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.schema-input'\n placeholder={t('schema input placeholder')}\n />\n <SearchList.Content>\n <SearchList.Viewport>\n {results.map((option) => (\n <SearchList.Item\n key={option.typename}\n value={option.typename}\n label={t('typename label', {\n ns: option.typename,\n defaultValue: option.typename,\n })}\n icon={resolve?.(option.typename)?.icon ?? 'ph--placeholder--regular'}\n onSelect={() => onChange(option.typename)}\n classNames='flex items-center gap-2'\n />\n ))}\n </SearchList.Viewport>\n </SearchList.Content>\n </div>\n </SearchList.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback, useRef } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\n\nimport { useInputSurfaceLookup } from '../../hooks';\nimport { meta } from '../../meta';\nimport { SpaceForm, SpaceOperation } from '../../types';\n\nexport const CREATE_SPACE_DIALOG = `${meta.id}/CreateSpaceDialog`;\n\ntype FormValues = Schema.Schema.Type<typeof SpaceForm>;\nconst initialValues: FormValues = { edgeReplication: true };\n\nexport const CreateSpaceDialog = () => {\n const closeRef = useRef<HTMLButtonElement | null>(null);\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n\n const inputSurfaceLookup = useInputSurfaceLookup();\n\n const handleCreateSpace = useCallback(\n async (data: FormValues) => {\n const program = Effect.gen(function* () {\n const { data: result } = yield* Effect.promise(() => invokePromise(SpaceOperation.Create, data));\n if (result?.space) {\n yield* Effect.promise(() =>\n invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: result.space.id }),\n );\n yield* Effect.promise(() => invokePromise(Common.LayoutOperation.UpdateDialog, { state: false }));\n }\n });\n await runAndForwardErrors(program);\n },\n [invokePromise],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Header>\n <Dialog.Title>{t('create space dialog title')}</Dialog.Title>\n <Dialog.Close asChild>\n <Dialog.CloseIconButton ref={closeRef} />\n </Dialog.Close>\n </Dialog.Header>\n <Form.Root\n testId='create-space-form'\n autoFocus\n schema={SpaceForm}\n values={initialValues}\n fieldProvider={inputSurfaceLookup}\n onSave={handleCreateSpace}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n <Form.Submit />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-framework/react';\nimport { useTranslation } from '@dxos/react-ui';\nimport { type Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nexport const CollectionSection = ({ role, subject }: SurfaceComponentProps<Collection.Collection>) => {\n const { t } = useTranslation(meta.id);\n\n // TODO(wittjosiah): Better placeholder.\n return (\n <div role={role} className='min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center'>\n <span className='truncate'>{subject.name ?? t('unnamed collection label')}</span>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useAppGraph, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Trigger } from '@dxos/async';\nimport { Graph } from '@dxos/plugin-graph';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport const JOIN_DIALOG = `${meta.id}/JoinDialog`;\n\nexport type JoinDialogProps = JoinPanelProps & {\n navigableCollections?: boolean;\n};\n\nexport const JoinDialog = ({ navigableCollections, onDone, ...props }: JoinDialogProps) => {\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const { graph } = useAppGraph();\n const { t } = useTranslation(meta.id);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n const spaceKey = result?.spaceKey;\n if (!spaceKey) {\n return;\n }\n\n await Promise.all([\n invokePromise(Common.LayoutOperation.AddToast, {\n id: `${meta.id}/join-success`,\n duration: 5_000,\n title: ['join success label', { ns: meta.id }],\n closeLabel: ['dismiss label', { ns: meta.id }],\n }),\n invokePromise(Common.LayoutOperation.UpdateDialog, { state: false }),\n ]);\n\n let space = client.spaces.get(spaceKey);\n if (!space) {\n // TODO(wittjosiah): Add api to wait for a space.\n const trigger = new Trigger<Space>();\n client.spaces.subscribe(() => {\n const space = client.spaces.get(spaceKey);\n if (space) {\n trigger.wake(space);\n }\n });\n space = await trigger.wait();\n }\n\n await invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: space.id });\n\n // TODO(wittjosiah): If navigableCollections is false and there's no target,\n // should try to navigate to the first object of the space replicates.\n // Potentially this could also be done on the inviters side to ensure there's always a target.\n const target = result?.target || (navigableCollections ? space?.id : undefined);\n if (target) {\n // Wait before navigating to the target node.\n // If the target has not yet replicated, this will trigger a loading toast.\n await Graph.waitForPath(graph, { target }).catch(() => {});\n await Promise.all([\n invokePromise(Common.LayoutOperation.Open, { subject: [target] }),\n invokePromise(Common.LayoutOperation.Expose, { subject: target }),\n ]);\n }\n\n await onDone?.(result);\n\n if (space) {\n await invokePromise(ObservabilityOperation.SendEvent, {\n name: 'space.join',\n properties: {\n spaceId: space.id,\n },\n });\n }\n },\n [invokePromise, client, graph, navigableCollections, onDone],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: osTranslations })}</Dialog.Title>\n <JoinPanel\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type Dispatch, type SetStateAction, useCallback, useMemo, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { useConfig } from '@dxos/react-client';\nimport { type Space, useSpaceInvitations } from '@dxos/react-client/echo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { Button, Clipboard, Icon, Input, useId, useTranslation } from '@dxos/react-ui';\nimport { ControlFrame, ControlFrameItem, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { Layout } from '@dxos/react-ui-mosaic';\nimport { Collection } from '@dxos/schema';\nimport {\n type ActionMenuItem,\n AuthCode,\n BifurcatedAction,\n Centered,\n Emoji,\n InvitationList,\n SpaceMemberList,\n Viewport,\n translationKey as shellTranslationKey,\n} from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { SpaceOperation } from '../../types';\nimport { COMPOSER_SPACE_LOCK } from '../../util';\n\n// TODO(wittjosiah): Copied from Shell.\nconst activeActionKey = 'dxos:react-shell/space-manager/active-action';\n\nconst handleInvitationEvent = (invitation: Invitation, subscription: ZenObservable.Subscription) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n};\n\nexport type MembersContainerProps = {\n space: Space;\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport const MembersContainer = ({ space, createInvitationUrl }: MembersContainerProps) => {\n const { t } = useTranslation(meta.id);\n const config = useConfig();\n const { invokePromise } = useOperationInvoker();\n const invitations = useSpaceInvitations(space.key);\n const visibleInvitations = invitations?.filter(\n (invitation) => ![Invitation.State.CANCELLED].includes(invitation.get().state),\n );\n\n const [activeAction, setInternalActiveAction] = useState(localStorage.getItem(activeActionKey) ?? 'inviteMany');\n\n const setActiveAction = (nextAction: string) => {\n setInternalActiveAction(nextAction);\n localStorage.setItem(activeActionKey, nextAction);\n };\n\n // TODO(wittjosiah): Track which was the most recently viewed object.\n const target = space.properties[Collection.Collection.typename]?.target?.objects[0]?.target;\n\n const locked = space.properties[COMPOSER_SPACE_LOCK];\n const handleChangeLocked = useCallback(() => {\n Obj.change(space.properties, (p) => {\n p[COMPOSER_SPACE_LOCK] = !locked;\n });\n }, [locked, space]);\n\n const inviteActions = useMemo(\n (): Record<string, ActionMenuItem> => ({\n inviteOne: {\n label: t('invite one label', { ns: shellTranslationKey }),\n description: t('invite one description', { ns: shellTranslationKey }),\n icon: 'ph--user-plus--regular',\n testId: 'membersContainer.inviteOne',\n onClick: async () => {\n const { data: invitation } = await invokePromise(SpaceOperation.Share, {\n space,\n type: Invitation.Type.INTERACTIVE,\n authMethod: Invitation.AuthMethod.SHARED_SECRET,\n multiUse: false,\n target: target && Obj.getDXN(target).toString(),\n });\n if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription: ZenObservable.Subscription = (invitation as CancellableInvitationObservable).subscribe(\n (invitation: Invitation) => handleInvitationEvent(invitation, subscription),\n );\n }\n },\n },\n inviteMany: {\n label: t('invite many label', { ns: shellTranslationKey }),\n description: t('invite many description', { ns: shellTranslationKey }),\n icon: 'ph--users-three--regular',\n testId: 'membersContainer.inviteMany',\n onClick: async () => {\n const { data: invitation } = await invokePromise(SpaceOperation.Share, {\n space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target: target && Obj.getDXN(target).toString(),\n });\n if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription: ZenObservable.Subscription = (invitation as CancellableInvitationObservable).subscribe(\n (invitation: Invitation) => handleInvitationEvent(invitation, subscription),\n );\n }\n },\n },\n }),\n [t, space, target, invokePromise],\n );\n\n const [selectedInvitation, setSelectedInvitation] = useState<CancellableInvitationObservable | null>(null);\n const handleSend = (event: { type: 'selectInvitation'; invitation: CancellableInvitationObservable }) => {\n setSelectedInvitation(event.invitation);\n };\n const handleBack = () => {\n setSelectedInvitation(null);\n };\n\n return (\n <Clipboard.Provider>\n <Layout.Container scrollable>\n <ControlPage>\n <ControlSection title={t('members verbose label')} description={t('members description')}>\n <ControlFrame>\n <ControlFrameItem title={t('members label')}>\n <SpaceMemberList spaceKey={space.key} includeSelf />\n </ControlFrameItem>\n {locked && (\n <ControlFrameItem title={t('invitations label')}>\n <p className='text-description mbe-2'>{t('locked space description')}</p>\n </ControlFrameItem>\n )}\n {!locked && (\n <ControlFrameItem title={t('invitations label')}>\n {selectedInvitation && <InvitationSection {...selectedInvitation} onBack={handleBack} />}\n {!selectedInvitation && (\n <>\n <p className='text-description mbe-2'>{t('space invitation description')}</p>\n <InvitationList\n className='mb-2'\n send={handleSend}\n invitations={visibleInvitations ?? []}\n onClickRemove={(invitation) => invitation.cancel()}\n createInvitationUrl={createInvitationUrl}\n />\n <BifurcatedAction\n actions={inviteActions}\n activeAction={activeAction}\n onChangeActiveAction={setActiveAction as Dispatch<SetStateAction<string>>}\n data-testid='membersContainer.createInvitation'\n />\n </>\n )}\n </ControlFrameItem>\n )}\n </ControlFrame>\n {/* TODO(wittjosiah): Make ControlItemInput & ControlFrame compatible. */}\n <div className='justify-center p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]'>\n <ControlItemInput title={t('space locked label')} description={t('space locked description')}>\n <Input.Switch checked={locked} onCheckedChange={handleChangeLocked} classNames='justify-self-end' />\n </ControlItemInput>\n </div>\n </ControlSection>\n </ControlPage>\n </Layout.Container>\n </Clipboard.Provider>\n );\n};\n\n// TODO(wittjosiah): Reconcile the below components with DevicesContainer in @dxos/plugin-client.\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> & {\n state: Invitation.State;\n url: string;\n onBack: () => void;\n }\n>;\n\nconst InvitationSection = ({\n state = Invitation.State.INIT,\n authCode,\n invitationId = 'never',\n url = 'never',\n onBack,\n}: InvitationComponentProps) => {\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onBack} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onBack} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel?: () => void }) => {\n const { t } = useTranslation(shellTranslationKey);\n const qrLabel = useId('members-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: meta.id })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n <Clipboard.Button value={url ?? 'never'} />\n </div>\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel?: () => void }) => {\n const { t } = useTranslation(shellTranslationKey);\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? (\n <Icon icon='ph--check--regular' size={6} classNames='m-1.5' />\n ) : (\n <Icon icon='ph--x--regular' size={6} classNames='m-1.5' />\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { getSpace } from '@dxos/client/echo';\nimport { type Obj } from '@dxos/echo';\nimport { useClient } from '@dxos/react-client';\nimport { DropdownMenu, Icon, toLocalizedString, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\nimport { getSpaceDisplayName } from '../util';\n\nexport const MenuFooter = ({ object }: { object: Obj.Unknown }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const space = getSpace(object);\n const spaceName = space ? getSpaceDisplayName(space, { personal: client.spaces.default === space }) : '';\n return space ? (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.GroupLabel>{t('menu footer label')}</DropdownMenu.GroupLabel>\n <dl className='pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2'>\n <dt className='uppercase text-[.75em] tracking-wide font-medium mbs-px self-start'>{t('location label')}</dt>\n <dd className='line-clamp-3'>\n <Icon icon='ph--planet--regular' classNames='inline-block mie-1' />\n {toLocalizedString(spaceName, t)}\n </dd>\n </dl>\n </>\n ) : null;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { Button, Input, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport const OBJECT_RENAME_POPOVER = `${meta.id}/ObjectRenamePopover`;\n\nexport const ObjectRenamePopover = ({ object }: { object: Obj.Unknown }) => {\n const { t } = useTranslation(meta.id);\n const doneButton = useRef<HTMLButtonElement>(null);\n const [name, setName] = useState(Obj.getLabel(object));\n const { invokePromise } = useOperationInvoker();\n\n const handleDone = useCallback(() => {\n try {\n name && Obj.change(object, () => Obj.setLabel(object, name));\n } catch (err) {\n log.error('Failed to rename object', { err });\n }\n void invokePromise(Common.LayoutOperation.UpdatePopover, { anchorId: '', state: false });\n }, [object, name, invokePromise]);\n\n return (\n <div role='none' className='p-2 flex gap-2'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.Label srOnly>{t('object name label')}</Input.Label>\n <Input.TextInput\n placeholder={t('object placeholder')}\n value={name}\n data-testid='spacePlugin.renameObject.input'\n onChange={({ target: { value } }) => setName(value)}\n onKeyDown={({ key }) => key === 'Enter' && doneButton.current?.click()}\n />\n </Input.Root>\n </div>\n <Button ref={doneButton} classNames='self-stretch' onClick={handleDone}>\n {t('done label', { ns: osTranslations })}\n </Button>\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { type Type } from '@dxos/echo';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { ControlPage, ControlSection, controlItemClasses } from '@dxos/react-ui-form';\nimport { Layout } from '@dxos/react-ui-mosaic';\n\nimport { meta } from '../meta';\n\ntype SchemaPanelProps = { space: Space };\n\nexport const SchemaContainer = ({ space }: SchemaPanelProps) => {\n const { t } = useTranslation(meta.id);\n const schemas = useQuerySpaceSchemas(space);\n\n // TODO(ZaymonFC): Support deleting Schema (DangerZone section).\n return (\n <Layout.Container scrollable>\n <ControlPage>\n <ControlSection title={t('schema verbose label')} description={t('schema description')}>\n <div role='none' className={controlItemClasses}>\n {schemas.length === 0 && <div className='text-center plb-4'>{t('no schemas found message')}</div>}\n {schemas.map((schema) => (\n <div role='none' key={schema.id}>\n {schema.typename}\n </div>\n ))}\n </div>\n </ControlSection>\n </ControlPage>\n </Layout.Container>\n );\n};\n\n/**\n * Subscribe to and retrieve all schemas from a space's schema registry.\n */\nexport const useQuerySpaceSchemas = (space: Space): Type.RuntimeType[] => {\n const [schemas, setSchemas] = useState<Type.RuntimeType[]>([]);\n\n useEffect(() => {\n const query = space.db.schemaRegistry.query();\n const initialResults = query.runSync();\n setSchemas(initialResults);\n\n const unsubscribe = query.subscribe(() => setSchemas(query.results));\n return () => unsubscribe();\n }, [space]);\n\n return schemas;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { useClient } from '@dxos/react-client';\nimport { useSpaces } from '@dxos/react-client/echo';\nimport { IconButton, Input, List, ListItem, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection, controlItemClasses } from '@dxos/react-ui-form';\n\nimport { meta } from '../meta';\nimport { SpaceOperation, type SpaceSettingsProps } from '../types';\nimport { getSpaceDisplayName } from '../util';\n\nexport type SpacePluginSettingsComponentProps = {\n settings: SpaceSettingsProps;\n onSettingsChange: (fn: (current: SpaceSettingsProps) => SpaceSettingsProps) => void;\n};\n\nexport const SpacePluginSettings = ({ settings, onSettingsChange }: SpacePluginSettingsComponentProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const spaces = useSpaces({ all: settings.showHidden });\n const { invokePromise } = useOperationInvoker();\n\n return (\n <ControlPage>\n <ControlSection title={t('space settings label')} description={t('space settings description')}>\n <ControlGroup>\n <ControlItemInput title={t('show hidden spaces label')}>\n <Input.Switch\n checked={settings.showHidden}\n onCheckedChange={(checked) => onSettingsChange((s) => ({ ...s, showHidden: !!checked }))}\n />\n </ControlItemInput>\n </ControlGroup>\n <List classNames={[controlItemClasses, 'flex flex-col gap-trimSm']}>\n {spaces.map((space) => (\n <ListItem.Root key={space.id} classNames='is-full items-center'>\n {/* TODO(burdon): Should auto center and truncate; NOTE truncate doesn't work with flex grow. */}\n <ListItem.Heading classNames='grow truncate !min-bs-0'>\n {toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space === client.spaces.default,\n }),\n t,\n )}\n </ListItem.Heading>\n <IconButton\n icon='ph--faders--regular'\n onClick={() => invokePromise(SpaceOperation.OpenSettings, { space })}\n label={t('open space settings label')}\n />\n </ListItem.Root>\n ))}\n </List>\n </ControlSection>\n </ControlPage>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport React, { forwardRef, useCallback, useEffect, useState } from 'react';\n\nimport { useAppGraph, useAtomCapability } from '@dxos/app-framework/react';\nimport { generateName } from '@dxos/display-name';\nimport { type Key, Obj } from '@dxos/echo';\nimport { PublicKey } from '@dxos/react-client';\nimport { type SpaceMember, useMembers, useSpace } from '@dxos/react-client/echo';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport {\n Avatar,\n type AvatarContentProps,\n type DxAvatar,\n List,\n ListItem,\n Popover,\n type Size,\n type ThemedClassName,\n Tooltip,\n useDefaultValue,\n useTranslation,\n} from '@dxos/react-ui';\nimport { AttentionGlyph, type AttentionGlyphProps, useAttended, useAttention } from '@dxos/react-ui-attention';\nimport { ComplexMap, keyToFallback } from '@dxos/util';\n\nimport { usePath } from '../../hooks';\nimport { meta } from '../../meta';\nimport { type ObjectViewerProps, SpaceCapabilities } from '../../types';\n\n// TODO(thure): Get/derive these values from protocol\nconst REFRESH_INTERVAL = 5000;\nconst ACTIVITY_DURATION = 30_000;\n\n// TODO(thure): This is chiefly meant to satisfy TS & provide an empty map after `deepSignal` interactions.\nconst noViewers = new ComplexMap<PublicKey, ObjectViewerProps>(PublicKey.hash);\n\n// TODO(wittjosiah): Factor out?\nconst getName = (identity: Identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());\n\nexport type SpacePresenceProps = {\n object: Obj.Unknown;\n spaceId?: Key.SpaceId;\n};\n\nexport const SpacePresence = ({ object, spaceId }: SpacePresenceProps) => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n const identity = useIdentity();\n const db = Obj.getDatabase(object);\n const space = useSpace(spaceId ?? db?.spaceId);\n const spaceMembers = useMembers(spaceId ?? db?.spaceId);\n\n const [_moment, setMoment] = useState(Date.now());\n\n // NOTE(thure): This is necessary so Presence updates without any underlying data updating.\n useEffect(() => {\n const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }, []);\n\n const memberOnline = useCallback((member: SpaceMember) => member.presence === 1, []);\n const memberIsNotSelf = useCallback(\n (member: SpaceMember) => !identity?.identityKey.equals(member.identity.identityKey),\n [identity?.identityKey],\n );\n\n // TODO(thure): Could it be a smell to return early when there are interactions with `deepSignal` later, since it\n // prevents reactivity?\n if (!identity || !ephemeral || !space) {\n return null;\n }\n\n const currentObjectViewers = ephemeral.viewersByObject[Obj.getDXN(object).toString()] ?? noViewers;\n\n const membersForObject = spaceMembers\n .filter((member) => memberOnline(member) && memberIsNotSelf(member))\n .filter((member) => currentObjectViewers.has(member.identity.identityKey))\n .map((member) => {\n const objectView = currentObjectViewers.get(member.identity.identityKey);\n const lastSeen = objectView?.lastSeen ?? -Infinity;\n const currentlyAttended = objectView?.currentlyAttended ?? false;\n\n return {\n ...member,\n currentlyAttended,\n lastSeen,\n };\n })\n .toSorted((a, b) => a.lastSeen - b.lastSeen);\n\n return <FullPresence members={membersForObject} />;\n};\n\nexport type Member = SpaceMember & {\n /**\n * Last time a member was seen on this object.\n */\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type MemberPresenceProps = ThemedClassName<{\n size?: Size;\n members?: Member[];\n showCount?: boolean;\n onMemberClick?: (member: Member) => void;\n}>;\n\nexport const FullPresence = (props: MemberPresenceProps) => {\n const { size = 9, onMemberClick } = props;\n const members = useDefaultValue(props.members, () => []);\n\n if (members.length === 0) {\n return null;\n }\n\n return (\n <div className='dx-avatar-group' data-testid='spacePlugin.presence'>\n {members.slice(0, 3).map((member, i) => (\n <Tooltip.Trigger\n key={member.identity.identityKey.toHex()}\n side='bottom'\n content={getName(member.identity)}\n className='grid focus:outline-none'\n >\n <PresenceAvatar\n identity={member.identity}\n match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.\n index={members.length - i}\n onClick={() => onMemberClick?.(member)}\n size={size}\n />\n </Tooltip.Trigger>\n ))}\n\n {members.length > 3 && (\n <Popover.Root>\n <Popover.Trigger className='grid focus:outline-none'>\n <Avatar.Root>\n {/* TODO(wittjosiah): Make text fit. */}\n <Avatar.Content\n status='inactive'\n style={{ zIndex: members.length - 4 }}\n fallback={`+${members.length - 3}`}\n size={size}\n />\n </Avatar.Root>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='bottom'>\n <Popover.Arrow />\n <Popover.Viewport classNames='max-bs-56'>\n <List>\n {members.map((member) => (\n <ListItem.Root\n key={member.identity.identityKey.toHex()}\n classNames='flex gap-2 items-center cursor-pointer mbe-2'\n onClick={() => onMemberClick?.(member)}\n data-testid='identity-list-item'\n >\n {/* TODO(Zan): Match always true now we're showing 'members viewing current object'. */}\n <PresenceAvatar\n identity={member.identity}\n size={size}\n showName\n match={member.currentlyAttended}\n />\n </ListItem.Root>\n ))}\n </List>\n </Popover.Viewport>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n )}\n </div>\n );\n};\n\ntype PresenceAvatarProps = Pick<AvatarContentProps, 'size'> & {\n identity: Identity;\n showName?: boolean;\n match?: boolean;\n index?: number;\n onClick?: () => void;\n};\n\nconst PresenceAvatar = forwardRef<DxAvatar, PresenceAvatarProps>(\n ({ identity, showName, match, index, onClick, size }, forwardedRef) => {\n const status = match ? 'current' : 'active';\n const fallbackValue = keyToFallback(identity.identityKey);\n return (\n <Avatar.Root>\n <Avatar.Content\n status={status}\n hue={identity.profile?.data?.hue || fallbackValue.hue}\n data-testid='spacePlugin.presence.member'\n data-status={status}\n size={size}\n {...(index ? { style: { zIndex: index } } : {})}\n onClick={onClick}\n fallback={identity.profile?.data?.emoji || fallbackValue.emoji}\n ref={forwardedRef}\n />\n <Avatar.Label classNames={showName ? 'text-sm truncate pli-2' : 'sr-only'}>{getName(identity)}</Avatar.Label>\n </Avatar.Root>\n );\n },\n);\n\nexport type SmallPresenceLiveProps = {\n id?: string;\n open?: boolean;\n viewers?: ComplexMap<PublicKey, ObjectViewerProps>;\n};\n\nexport const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps) => {\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const isAttended = hasAttention || isAncestor || isRelated;\n\n // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded\n // this will result in an empty path until the graph is connected.\n // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.\n const { graph } = useAppGraph();\n const attended = useAttended();\n const startOfAttention = attended.at(-1);\n const path = usePath(graph, startOfAttention);\n const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;\n\n const getActiveViewers = (viewers: ComplexMap<PublicKey, ObjectViewerProps>): ObjectViewerProps[] => {\n const moment = Date.now();\n return Array.from<ObjectViewerProps>(viewers.values()).filter(\n (viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION,\n );\n };\n\n const [activeViewers, setActiveViewers] = useState(viewers ? getActiveViewers(viewers) : []);\n\n useEffect(() => {\n if (viewers) {\n setActiveViewers(getActiveViewers(viewers));\n const interval = setInterval(() => {\n setActiveViewers(getActiveViewers(viewers));\n }, REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }\n }, [viewers]);\n\n return <SmallPresence count={activeViewers.length} attended={isAttended} containsAttended={containsAttended} />;\n};\n\nexport type SmallPresenceProps = {\n count?: number;\n} & Pick<AttentionGlyphProps, 'attended' | 'containsAttended'>;\n\nexport const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPresenceProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <Tooltip.Trigger asChild content={t('presence label', { count })} side='bottom'>\n <AttentionGlyph\n attended={attended}\n containsAttended={containsAttended}\n presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}\n classNames='self-center mie-1'\n />\n </Tooltip.Trigger>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { type Space } from '@dxos/client/echo';\nimport { Obj } from '@dxos/echo';\nimport { Button, Input, Popover, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport const SPACE_RENAME_POPOVER = `${meta.id}/SpaceRenamePopover`;\n\nexport const SpaceRenamePopover = ({ space }: { space: Space }) => {\n const { t } = useTranslation(meta.id);\n const doneButton = useRef<HTMLButtonElement>(null);\n const [name, setName] = useState(space.properties.name ?? '');\n const { invokePromise } = useOperationInvoker();\n\n const handleDone = useCallback(() => {\n Obj.change(space.properties, (p) => {\n p.name = name;\n });\n void invokePromise(Common.LayoutOperation.UpdatePopover, { anchorId: '', state: false });\n }, [space, name, invokePromise]);\n\n // TODO(thure): Why does the input value need to be uncontrolled to work?\n return (\n <div role='none' className='p-2 flex gap-2'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.Label srOnly>{t('space name label')}</Input.Label>\n <Input.TextInput\n defaultValue={space.properties.name ?? ''}\n placeholder={t('unnamed space label')}\n onChange={({ target: { value } }) => setName(value)}\n // TODO(wittjosiah): Ideally this should access the popover context to close the popover.\n // Currently this is not possible because Radix does not expose the popover context.\n onKeyDown={({ key }) => key === 'Enter' && doneButton.current?.click()}\n />\n </Input.Root>\n </div>\n <Popover.Close asChild>\n <Button ref={doneButton} classNames='self-stretch' onClick={handleDone}>\n {t('done label', { ns: osTranslations })}\n </Button>\n </Popover.Close>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { type ChangeEvent, forwardRef, useCallback, useMemo, useState } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useCapabilities, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, SpaceState } from '@dxos/react-client/echo';\nimport { Button, Input, useFileDownload, useMulticastObservable, useTranslation } from '@dxos/react-ui';\nimport {\n ControlItem,\n ControlItemInput,\n ControlPage,\n ControlSection,\n Form,\n type FormFieldMap,\n} from '@dxos/react-ui-form';\nimport { Layout } from '@dxos/react-ui-mosaic';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\n\nimport { meta } from '../../meta';\nimport { SpaceCapabilities, SpaceForm, SpaceOperation } from '../../types';\n\nconst SpaceFormSchema = SpaceForm.pipe(\n Schema.extend(\n Schema.Struct({\n archived: Schema.Boolean.annotations({ title: 'Archive Space' }),\n }),\n ),\n);\n\nexport type SpaceSettingsContainerProps = {\n space: Space;\n};\n\n// TODO(wittjosiah): Handle space migrations here?\nexport const SpaceSettingsContainer = forwardRef<HTMLDivElement, SpaceSettingsContainerProps>(\n ({ space }, forwardedRef) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const archived = useMulticastObservable(space.state) === SpaceState.SPACE_INACTIVE;\n const [edgeReplication, setEdgeReplication] = useState(\n space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED,\n );\n const toggleEdgeReplication = useCallback(\n async (next: boolean) => {\n setEdgeReplication(next);\n await space?.internal\n .setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED)\n .catch((err: unknown) => {\n log.catch(err);\n setEdgeReplication(!next);\n });\n },\n [space],\n );\n\n const handleSave = useCallback(\n (properties: Schema.Schema.Type<typeof SpaceFormSchema>) => {\n void toggleEdgeReplication(properties.edgeReplication ?? false);\n const nameChanged = properties.name !== space.properties.name;\n const iconChanged = properties.icon !== space.properties.icon;\n const hueChanged = properties.hue !== space.properties.hue;\n if (nameChanged || iconChanged || hueChanged) {\n Obj.change(space.properties, (p) => {\n if (nameChanged) {\n p.name = properties.name;\n }\n if (iconChanged) {\n p.icon = properties.icon;\n }\n if (hueChanged) {\n p.hue = properties.hue;\n }\n });\n }\n if (properties.archived && !archived) {\n void (async () => {\n await invokePromise(SpaceOperation.Close, { space });\n await invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: client.spaces.default.id });\n })();\n } else if (!properties.archived && archived) {\n void invokePromise(SpaceOperation.Open, { space });\n }\n },\n [space, toggleEdgeReplication, archived],\n );\n\n const values = useMemo(\n () => ({\n name: space.properties.name,\n icon: space.properties.icon,\n hue: space.properties.hue,\n edgeReplication,\n archived,\n }),\n [space.properties.name, space.properties.icon, space.properties.hue, edgeReplication, archived],\n );\n\n const fieldMap = useMemo<FormFieldMap>(\n () => ({\n name: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n icon: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((icon: string) => onValueChange(type, icon), [onValueChange, type]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);\n return (\n <ControlItem title={label} description={t('icon description')}>\n <IconPicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleReset}\n classNames='justify-self-end'\n />\n </ControlItem>\n );\n },\n edgeReplication: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((checked: boolean) => onValueChange(type, checked), [onValueChange, type]);\n return (\n <ControlItemInput title={label} description={t('edge replication description')}>\n <Input.Switch checked={getValue()} onCheckedChange={handleChange} classNames='justify-self-end' />\n </ControlItemInput>\n );\n },\n archived: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(() => onValueChange(type, !getValue()), [onValueChange, type, getValue]);\n return (\n <ControlItemInput title={label} description={t('archive space description')}>\n <Button\n disabled={space === client.spaces.default}\n variant={getValue() ? 'default' : 'destructive'}\n onClick={handleChange}\n >\n {getValue() ? t('unarchive space label') : t('archive space label')}\n </Button>\n </ControlItemInput>\n );\n },\n }),\n [t, space],\n );\n\n const download = useFileDownload();\n const handleBackup = useCallback(async () => {\n const archive = await space.internal.export();\n download(new Blob([archive.contents as Uint8Array<ArrayBuffer>]), archive.filename);\n }, [space, download]);\n\n const repairs = useCapabilities(SpaceCapabilities.Repair);\n const handleRepair = useCallback(async () => {\n await Promise.all(repairs.map((repair) => repair({ space, isDefault: client.spaces.default === space })));\n }, [client, space, repairs]);\n\n return (\n <Layout.Container scrollable ref={forwardedRef}>\n <ControlPage>\n <ControlSection\n title={t('space properties settings verbose label')}\n description={t('space properties settings description', {\n ns: meta.id,\n })}\n >\n <Form.Root fieldMap={fieldMap} schema={SpaceFormSchema} values={values} autoSave onSave={handleSave}>\n <Form.FieldSet />\n </Form.Root>\n </ControlSection>\n\n <ControlSection title={t('space controls title')} description={t('space controls description')}>\n <div role='none' className='container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]'>\n <ControlItemInput title={t('backup space title')} description={t('backup space description')}>\n <Button onClick={handleBackup}>{t('download backup label')}</Button>\n </ControlItemInput>\n <ControlItemInput title={t('repair space title')} description={t('repair space description')}>\n <Button onClick={handleRepair}>{t('repair space label')}</Button>\n </ControlItemInput>\n </div>\n </ControlSection>\n </ControlPage>\n </Layout.Container>\n );\n },\n);\n\nSpaceSettingsContainer.displayName = 'SpaceSettingsContainer';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport React, { useEffect, useState } from 'react';\n\nimport { useAppGraph } from '@dxos/app-framework/react';\nimport { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, useSpaceSyncState } from '@dxos/react-client/echo';\nimport { Tooltip, useTranslation } from '@dxos/react-ui';\nimport { AttentionGlyph, useAttended, useAttention } from '@dxos/react-ui-attention';\n\nimport { usePath } from '../../hooks';\nimport { meta } from '../../meta';\n\nconst useEdgeStatus = (): EdgeStatus.ConnectionState => {\n const [status, setStatus] = useState(EdgeStatus.ConnectionState.NOT_CONNECTED);\n const client = useClient();\n useEffect(() => {\n client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status }) => {\n setStatus(status.state);\n });\n }, [client]);\n\n return status;\n};\n\nexport const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean }) => {\n const { t } = useTranslation(meta.id);\n const id = space.id;\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const isAttended = hasAttention || isAncestor || isRelated;\n\n // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded\n // this will result in an empty path until the graph is connected.\n // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.\n const { graph } = useAppGraph();\n const attended = useAttended();\n const startOfAttention = attended.at(-1);\n const path = usePath(graph, startOfAttention);\n const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;\n\n const connectedToEdge = useEdgeStatus() === EdgeStatus.ConnectionState.CONNECTED;\n // TODO(wittjosiah): This is not reactive.\n const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED;\n const syncState = useSpaceSyncState(space);\n const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;\n\n return (\n <Tooltip.Trigger asChild content={t('syncing label')} side='bottom'>\n <AttentionGlyph\n syncing={syncing}\n attended={isAttended}\n containsAttended={containsAttended}\n classNames='self-center mie-1'\n />\n </Tooltip.Trigger>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';\nimport { type QueryEdgeStatusResponse } from '@dxos/protocols/proto/dxos/client/services';\nimport { useClient } from '@dxos/react-client';\nimport { useStream } from '@dxos/react-client/devtools';\nimport { type SpaceSyncStateMap, getSyncSummary, useSyncState } from '@dxos/react-client/echo';\nimport { Icon, Popover, useTranslation } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\nimport { Unit, type UnitFormat } from '@dxos/util';\n\nimport { meta } from '../../meta';\n\nimport { createClientSaveTracker } from './save-tracker';\nimport { getIcon, getStatus } from './status';\n\nconst SYNC_STALLED_TIMEOUT = 5_000;\n\nexport const SyncStatus = () => {\n const client = useClient();\n const state = useSyncState();\n const [saved, setSaved] = useState(true);\n useEffect(() => createClientSaveTracker(client, (state) => setSaved(state === 'saved')), []);\n\n return <SyncStatusIndicator state={state} saved={saved} />;\n};\n\nexport const SyncStatusIndicator = ({ state, saved }: { state: SpaceSyncStateMap; saved: boolean }) => {\n const { t } = useTranslation(meta.id);\n const summary = getSyncSummary(state);\n const offline = Object.values(state).length === 0;\n const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;\n const needsToDownload = summary.differentDocuments > 0 || summary.missingOnLocal > 0;\n const status = getStatus({ offline, saved, needsToUpload, needsToDownload });\n\n const [classNames, setClassNames] = useState<string>();\n useEffect(() => {\n setClassNames(undefined);\n if (offline || (!needsToUpload && !needsToDownload)) {\n return;\n }\n\n const t = setTimeout(() => {\n // TODO(wittjosiah): Use semantic color tokens.\n setClassNames('text-orange-500');\n }, SYNC_STALLED_TIMEOUT);\n return () => clearTimeout(t);\n }, [offline, needsToUpload, needsToDownload]);\n\n const title = t(`${status} label`);\n const icon = <Icon icon={getIcon(status)} classNames={classNames} />;\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item title={title}>{icon}</StatusBar.Item>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content>\n <EdgeConnectionPopover />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\nconst useEdgeStatus = (): EdgeStatus | undefined => {\n const client = useClient();\n const { status } = useStream(\n () => client.services.services.EdgeAgentService!.queryEdgeStatus(),\n {} as QueryEdgeStatusResponse,\n );\n return status;\n};\n\nconst EdgeConnectionPopover = () => {\n const status = useEdgeStatus();\n const { t } = useTranslation(meta.id);\n\n const isConnected = status?.state === EdgeStatus.ConnectionState.CONNECTED;\n\n return (\n <div className='min-is-[240px] p-2'>\n {/* Connection Status Header */}\n <div className='flex items-center gap-2 mbe-2'>\n <Icon\n icon={isConnected ? 'ph--check-circle--regular' : 'ph--warning-circle--regular'}\n classNames={mx(isConnected ? 'text-successText' : 'text-errorText animate-pulse')}\n />\n <span className='font-medium text-sm'>\n {isConnected ? t('sync edge connected label') : t('sync edge disconnected label')}\n </span>\n </div>\n\n {/* Connection Details */}\n {status?.state === EdgeStatus.ConnectionState.NOT_CONNECTED && (\n <div className='flex items-center gap-2 text-sm text-description'>\n <Icon icon='ph--cloud-x--regular' />\n <span>{t('sync no connection label')}</span>\n </div>\n )}\n\n {status?.state === EdgeStatus.ConnectionState.CONNECTED && (\n <div className='space-y-2'>\n {/* Latency */}\n <div className='flex items-center justify-between text-sm'>\n <div className='flex items-center gap-2 text-description'>\n <Icon icon='ph--timer--regular' />\n <span>{t('sync latency label')}</span>\n </div>\n <UnitValue value={status.rtt} format={Unit.Millisecond} />\n </div>\n\n {/* Upload Speed */}\n <div className='flex items-center justify-between text-sm'>\n <div className='flex items-center gap-2 text-description'>\n <Icon icon='ph--arrow-up--regular' />\n <span>{t('sync upload label')}</span>\n </div>\n <UnitValue value={status.rateBytesUp} format={Unit.Kilobyte} suffix='/s' />\n </div>\n\n {/* Download Speed */}\n <div className='flex items-center justify-between text-sm'>\n <div className='flex items-center gap-2 text-sm text-description'>\n <Icon icon='ph--arrow-down--regular' />\n <span>{t('sync download label')}</span>\n </div>\n <UnitValue value={status.rateBytesDown} format={Unit.Kilobyte} suffix='/s' />\n </div>\n </div>\n )}\n </div>\n );\n};\n\n// TODO(burdon): Factor out.\nconst UnitValue = ({ value: input, format, suffix }: { value: number; format: UnitFormat; suffix?: string }) => {\n const { formattedValue, unit } = format(input);\n return (\n <span className='font-mono'>\n {formattedValue}\n <span className='mis-1 text-subdued'>\n {unit.symbol}\n {suffix}\n </span>\n </span>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type CleanupFn } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space, type SpaceId } from '@dxos/client/echo';\nimport { Context } from '@dxos/context';\n\nexport const createClientSaveTracker = (client: Client, cb: (state: 'saved' | 'saving') => void) => {\n const CleanupFns: Record<SpaceId, CleanupFn> = {};\n const state: Record<SpaceId, 'saved' | 'saving'> = {};\n\n const install = (spaces: Space[]) => {\n for (const space of spaces) {\n if (state[space.id]) {\n continue;\n }\n\n state[space.id] = 'saved';\n CleanupFns[space.id] = createSpaceSaveTracker(space, (s) => {\n state[space.id] = s;\n cb(Object.values(state).some((s) => s === 'saving') ? 'saving' : 'saved');\n });\n }\n };\n client.spaces.subscribe((spaces) => {\n install(spaces);\n });\n install(client.spaces.get());\n\n return () => {\n for (const unsubscribe of Object.values(CleanupFns)) {\n unsubscribe();\n }\n };\n};\n\nconst createSpaceSaveTracker = (space: Space, cb: (state: 'saved' | 'saving') => void): CleanupFn => {\n const ctx = new Context();\n\n void space.waitUntilReady().then(() => {\n if (ctx.disposed) {\n return;\n }\n\n let hasUnsavedChanges = false;\n let lastFlushPromise: Promise<void> | undefined;\n space.internal.db.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {\n hasUnsavedChanges = unsavedDocuments.length > 0;\n });\n space.internal.db.saveStateChanged.debounce(500).on(ctx, () => {\n if (hasUnsavedChanges) {\n lastFlushPromise = undefined;\n cb('saving');\n } else {\n const flushPromise = space.db.flush();\n lastFlushPromise = flushPromise;\n void flushPromise.then(() => {\n if (lastFlushPromise === flushPromise) {\n cb('saved');\n }\n });\n }\n });\n });\n\n return () => {\n void ctx.dispose();\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nexport type Status = 'saving locally' | 'downloading' | 'uploading' | 'offline persisted' | 'remote synced';\n\nexport const getStatus = ({\n offline,\n saved,\n needsToUpload,\n needsToDownload,\n}: {\n offline: boolean;\n saved: boolean;\n needsToUpload: boolean;\n needsToDownload: boolean;\n}): Status => {\n if (!saved) {\n return 'saving locally';\n } else if (!offline && needsToDownload) {\n return 'downloading';\n } else if (!offline && needsToUpload) {\n return 'uploading';\n } else if (offline && !needsToUpload && !needsToDownload) {\n return 'offline persisted';\n } else {\n return 'remote synced';\n }\n};\n\nexport const getIcon = (status: Status) => {\n switch (status) {\n case 'saving locally':\n return 'ph--download--regular';\n case 'downloading':\n return 'ph--cloud-arrow-down--regular';\n case 'uploading':\n return 'ph--cloud-arrow-up--regular';\n case 'offline persisted':\n return 'ph--check-circle--regular';\n case 'remote synced':\n return 'ph--cloud-check--regular';\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as EffectFunction from 'effect/Function';\nimport * as Match from 'effect/Match';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\n\nimport { DXN, Filter, Query, type QueryAST, type SchemaRegistry } from '@dxos/echo';\nimport {\n ReferenceAnnotationId,\n type ReferenceAnnotationValue,\n getTypeAnnotation,\n unwrapOptional,\n} from '@dxos/echo/internal';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { log } from '@dxos/log';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Person } from '@dxos/types';\n\n// TODO(wittjosiah): Factor out and add tests.\n// TODO(wittjosiah): Support arbitrary type imports.\nexport const evalQuery = (queryString: string): Query.Any => {\n const globals = { Query, Filter, Person };\n try {\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n return new Function(...Object.keys(globals), `return ${queryString}`)(...Object.values(globals));\n } catch (err) {\n log.catch(err);\n return Query.select(Filter.nothing());\n }\n};\n\nexport const resolveSchemaWithRegistry = (registry: SchemaRegistry.SchemaRegistry, query: QueryAST.Query) => {\n const resolve = Effect.fn(function* (dxn: string) {\n const typename = DXN.parse(dxn).asTypeDXN()?.type;\n if (!typename) {\n return Option.none();\n }\n\n const query = registry.query({ typename, location: ['database', 'runtime'] });\n const schemas = yield* Effect.promise(() => query.run());\n return Array.head(schemas);\n });\n\n return resolveSchema(query, resolve).pipe(\n Effect.map((schema) => Option.getOrUndefined(schema)),\n runAndForwardErrors,\n );\n};\n\nconst resolveSchema = (\n query: QueryAST.Query,\n resolve: (dxn: string) => Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>,\n): Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>> => {\n return Match.value(query).pipe(\n Match.withReturnType<Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>>(),\n // TODO(wittjosiah): Reconcile with filter match?\n Match.when({ type: 'select' }, ({ filter }) =>\n typenameFromFilter(filter).pipe(\n Option.map((typename) => resolve(typename)),\n Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),\n ),\n ),\n Match.when({ type: 'filter' }, ({ filter }) =>\n typenameFromFilter(filter).pipe(\n Option.map((typename) => resolve(typename)),\n Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),\n ),\n ),\n Match.when({ type: 'reference-traversal' }, ({ anchor, property }) =>\n resolveSchema(anchor, resolve).pipe(\n Effect.map((base) =>\n base.pipe(\n Option.map((schema) => SchemaAST.getPropertySignatures(schema.ast)),\n Option.flatMap((properties) => Array.findFirst(properties, (p) => p.name === property)),\n Option.flatMap((property) =>\n SchemaAST.getAnnotation<ReferenceAnnotationValue>(ReferenceAnnotationId)(unwrapOptional(property)),\n ),\n Option.map((annotation) => annotation.typename),\n ),\n ),\n Effect.flatMap(\n Option.match({\n onNone: () => Effect.succeed(Option.none()),\n onSome: (typename) => resolve(DXN.fromTypename(typename).toString()),\n }),\n ),\n ),\n ),\n Match.when({ type: 'relation', filter: Match.defined }, ({ filter }) =>\n typenameFromFilter(filter).pipe(\n Option.map((typename) => resolve(typename)),\n Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),\n ),\n ),\n Match.when({ type: 'relation-traversal' }, ({ anchor, direction }) =>\n resolveSchema(anchor, resolve).pipe(\n Effect.map((base) =>\n base.pipe(\n Option.map((schema) => getTypeAnnotation(schema)),\n Option.flatMap((annotation) =>\n Option.fromNullable(direction === 'source' ? annotation?.sourceSchema : annotation?.targetSchema),\n ),\n ),\n ),\n Effect.flatMap(\n Option.match({\n onNone: () => Effect.succeed(Option.none()),\n onSome: (typename) => resolve(typename),\n }),\n ),\n ),\n ),\n Match.when({ type: 'options' }, ({ query }) => resolveSchema(query, resolve)),\n Match.orElse((_q) => {\n // TODO(wittjosiah): Implement other cases.\n return Effect.succeed(Option.none());\n }),\n );\n};\n\nconst typenameFromFilter = (filter: QueryAST.Filter): Option.Option<string> =>\n Match.value(filter).pipe(\n Match.withReturnType<Option.Option<string>>(),\n Match.when({ type: 'object' }, ({ typename }) => Option.fromNullable(typename)),\n Match.when({ type: 'and' }, ({ filters }) =>\n EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),\n ),\n Match.when({ type: 'or' }, ({ filters }) =>\n EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),\n ),\n Match.orElse(() => Option.none()),\n );\n\n// TODO(wittjosiah): Currently assumes options is at the top-level of the ast.\nexport const getQueryTarget = (query: QueryAST.Query, space?: Space) => {\n return Match.value(query).pipe(\n Match.when({ type: 'options' }, ({ options }) => {\n return Option.fromNullable(options.queues).pipe(\n Option.flatMap((queues) => Array.head(queues)),\n Option.flatMap((queueDxn) => Option.fromNullable(DXN.tryParse(queueDxn))),\n Option.flatMap((queueDxn) => Option.fromNullable(space?.queues.get(queueDxn))),\n Option.getOrElse(() => space?.db),\n );\n }),\n Match.orElse(() => space?.db),\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { DXN, Filter, Obj, Query, type QueryAST, Tag, Type } from '@dxos/echo';\nimport { type Mutable } from '@dxos/echo/internal';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { useAsyncEffect } from '@dxos/react-ui';\nimport { ViewEditor as NaturalViewEditor } from '@dxos/react-ui-form';\nimport { View } from '@dxos/schema';\n\nimport { resolveSchemaWithRegistry } from '../helpers';\nimport { useTypeOptions } from '../hooks';\nimport { SpaceOperation } from '../types';\n\nexport type ViewEditorProps = { view: View.View };\n\nexport const ViewEditor = ({ view }: ViewEditorProps) => {\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const space = getSpace(view);\n const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>(() => Schema.Struct({}));\n const tags = useQuery(space?.db, Filter.type(Tag.Tag));\n const types = useTypeOptions({\n space,\n annotation: {\n location: ['database', 'runtime'],\n kind: ['user'],\n registered: ['registered'],\n },\n });\n\n useAsyncEffect(async () => {\n if (!view?.query || !space) {\n return;\n }\n\n const foundSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, view.query.ast);\n if (foundSchema && foundSchema !== schema) {\n setSchema(() => foundSchema);\n }\n }, [client, space, view, schema]);\n\n const handleQueryChanged = useCallback(\n async (newQuery: QueryAST.Query, target?: string) => {\n if (!view || !space) {\n return;\n }\n\n const queue = target && DXN.tryParse(target) ? target : undefined;\n const query = queue ? Query.fromAst(newQuery).options({ queues: [queue] }) : Query.fromAst(newQuery);\n Obj.change(view, (v) => {\n v.query.ast = query.ast as Mutable<typeof query.ast>;\n });\n const newSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);\n if (!newSchema) {\n return;\n }\n\n const newView = View.make({\n query,\n jsonSchema: Type.toJsonSchema(newSchema),\n });\n Obj.change(view, (v) => {\n v.projection = Obj.getSnapshot(newView).projection as Mutable<typeof v.projection>;\n });\n\n setSchema(() => newSchema);\n },\n [view, schema],\n );\n\n const handleDelete = useCallback(\n (fieldId: string) => {\n void invokePromise(SpaceOperation.DeleteField, { view, fieldId });\n },\n [invokePromise, view],\n );\n\n if (!space || !schema) {\n return null;\n }\n\n return (\n <NaturalViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={view}\n mode='tag'\n tags={tags}\n types={types}\n onQueryChanged={handleQueryChanged}\n onDelete={Type.isMutable(schema) ? handleDelete : undefined}\n />\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AwaitingObject';\nexport * from './CreateDialog';\nexport * from './CollectionSection';\nexport * from './JoinDialog';\nexport * from './MembersContainer';\nexport * from './MenuFooter';\nexport * from './ObjectRenamePopover';\nexport * from './SchemaContainer';\nexport * from './SpacePluginSettings';\nexport * from './SpacePresence';\nexport * from './SpaceRenamePopover';\nexport * from './SpaceSettings';\nexport * from './SyncStatus';\nexport * from './ViewEditor';\n\nexport const CollectionArticle = lazy(() => import('./CollectionArticle'));\nexport const ObjectCardStack = lazy(() => import('./ObjectCardStack'));\nexport const ObjectDetails = lazy(() => import('./ObjectDetails'));\nexport const RecordArticle = lazy(() => import('./RecordArticle'));\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useEffect", "useState", "Common", "useLayout", "useOperationInvoker", "Obj", "useClient", "Filter", "useQuery", "Button", "Icon", "Toast", "useTranslation", "osTranslations", "WAIT_FOR_OBJECT_TIMEOUT", "TOAST_TIMEOUT", "AwaitingObject", "id", "t", "useTranslation", "meta", "invokePromise", "useOperationInvoker", "open", "setOpen", "useState", "waiting", "setWaiting", "found", "setFound", "layout", "useLayout", "client", "useClient", "objects", "useQuery", "spaces", "Filter", "everything", "useEffect", "timeout", "setTimeout", "clearTimeout", "findIndex", "object", "Obj", "getDXN", "toString", "active", "includes", "handleClose", "useCallback", "SpaceOperation", "WaitForObject", "undefined", "handleNavigate", "Common", "LayoutOperation", "Open", "subject", "Toast", "Root", "duration", "onOpenChange", "Body", "Title", "classNames", "Icon", "icon", "size", "span", "Description", "Actions", "Action", "altText", "asChild", "Button", "variant", "onClick", "Close", "ns", "osTranslations", "Effect", "React", "useCallback", "useMemo", "useRef", "useState", "Capability", "Common", "useOperationInvoker", "usePluginManager", "Database", "Obj", "Type", "EntityKind", "getTypeAnnotation", "runAndForwardErrors", "invariant", "Operation", "useClient", "useSpaces", "Dialog", "useTranslation", "Option", "React", "useCallback", "useMemo", "Obj", "getTypeAnnotation", "toLocalizedString", "useDefaultValue", "useTranslation", "Form", "omitId", "SearchList", "useSearchListResults", "ViewAnnotation", "isNonNullable", "CreateObjectPanel", "schemas", "spaces", "typename", "target", "views", "initialFormValues", "_initialFormValues", "defaultSpaceId", "resolve", "onTargetChange", "onTypenameChange", "onCreateObject", "t", "useTranslation", "meta", "id", "useDefaultValue", "metadata", "options", "filter", "schema", "ViewAnnotation", "get", "pipe", "getOrElse", "map", "getTypeAnnotation", "isNonNullable", "sort", "a", "b", "nameA", "ns", "defaultValue", "nameB", "localeCompare", "handleCreateObject", "useCallback", "props", "data", "handleSetTypename", "inputSchema", "inputSurfaceLookup", "useInputSurfaceLookup", "React", "SelectSchema", "onChange", "SelectSpace", "Form", "Root", "testId", "autoFocus", "omitId", "values", "db", "Obj", "isObject", "getDatabase", "fieldProvider", "onSave", "Viewport", "Content", "FieldSet", "Submit", "sortedSpaces", "useMemo", "labelA", "toLocalizedString", "getSpaceDisplayName", "personal", "labelB", "results", "handleSearch", "useSearchListResults", "items", "extract", "space", "SearchList", "onSearch", "div", "aria-label", "role", "aria-expanded", "Input", "data-testid", "placeholder", "Item", "key", "value", "label", "onSelect", "classNames", "option", "icon", "CREATE_OBJECT_DIALOG", "meta", "id", "CreateObjectDialog", "target", "initialTarget", "typename", "initialTypename", "views", "initialFormValues", "onCreateObject", "shouldNavigate", "_shouldNavigate", "manager", "usePluginManager", "t", "useTranslation", "operationInvoker", "useOperationInvoker", "setTarget", "useState", "setTypename", "client", "useClient", "spaces", "useSpaces", "closeRef", "useRef", "resolve", "useCallback", "metadata", "capabilities", "getAll", "Common", "Capability", "Metadata", "find", "createObject", "undefined", "db", "Database", "isDatabase", "Obj", "getDatabase", "schemas", "schemaRegistry", "query", "location", "includeSystem", "runSync", "userSchemas", "useMemo", "filter", "schema", "getTypeAnnotation", "kind", "EntityKind", "Relation", "Type", "getTypename", "handleCreateObject", "data", "gen", "current", "click", "invariant", "object", "isObject", "instanceOf", "PersistentType", "hidden", "addToCollectionOnCreate", "invoke", "SpaceOperation", "AddObject", "promise", "invokePromise", "LayoutOperation", "Open", "subject", "getDXN", "toString", "pipe", "provideService", "Service", "Operation", "runAndForwardErrors", "React", "Dialog", "Content", "Header", "Title", "ns", "defaultValue", "Close", "asChild", "CloseIconButton", "ref", "CreateObjectPanel", "defaultSpaceId", "default", "onTargetChange", "onTypenameChange", "Effect", "React", "useCallback", "useRef", "Common", "useOperationInvoker", "runAndForwardErrors", "Dialog", "useTranslation", "Form", "CREATE_SPACE_DIALOG", "meta", "id", "initialValues", "edgeReplication", "CreateSpaceDialog", "closeRef", "useRef", "t", "useTranslation", "invokePromise", "useOperationInvoker", "inputSurfaceLookup", "useInputSurfaceLookup", "handleCreateSpace", "useCallback", "data", "program", "gen", "result", "promise", "SpaceOperation", "Create", "space", "Common", "LayoutOperation", "SwitchWorkspace", "subject", "UpdateDialog", "state", "runAndForwardErrors", "React", "Dialog", "Content", "Header", "Title", "Close", "asChild", "CloseIconButton", "ref", "Form", "Root", "testId", "autoFocus", "schema", "SpaceForm", "values", "fieldProvider", "onSave", "Viewport", "FieldSet", "Submit", "React", "useTranslation", "CollectionSection", "role", "subject", "t", "useTranslation", "meta", "id", "React", "div", "className", "span", "name", "React", "useCallback", "Common", "useAppGraph", "useOperationInvoker", "Trigger", "Graph", "ObservabilityOperation", "useClient", "Dialog", "useTranslation", "JoinPanel", "osTranslations", "JOIN_DIALOG", "meta", "id", "JoinDialog", "navigableCollections", "onDone", "props", "invokePromise", "useOperationInvoker", "client", "useClient", "graph", "useAppGraph", "t", "useTranslation", "handleDone", "useCallback", "result", "spaceKey", "Promise", "all", "Common", "LayoutOperation", "AddToast", "duration", "title", "ns", "closeLabel", "UpdateDialog", "state", "space", "spaces", "get", "trigger", "Trigger", "subscribe", "wake", "wait", "SwitchWorkspace", "subject", "target", "undefined", "Graph", "waitForPath", "catch", "Open", "Expose", "ObservabilityOperation", "SendEvent", "name", "properties", "spaceId", "React", "Dialog", "Content", "Title", "classNames", "osTranslations", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "React", "useCallback", "useMemo", "useState", "QR", "useOperationInvoker", "Obj", "log", "useConfig", "useSpaceInvitations", "Invitation", "InvitationEncoder", "Button", "Clipboard", "Icon", "Input", "useId", "useTranslation", "ControlFrame", "ControlFrameItem", "ControlItemInput", "ControlPage", "ControlSection", "Layout", "Collection", "AuthCode", "BifurcatedAction", "Centered", "Emoji", "InvitationList", "SpaceMemberList", "Viewport", "translationKey", "shellTranslationKey", "hexToEmoji", "activeActionKey", "handleInvitationEvent", "invitation", "subscription", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "MembersContainer", "space", "createInvitationUrl", "t", "useTranslation", "meta", "id", "config", "useConfig", "invokePromise", "useOperationInvoker", "invitations", "useSpaceInvitations", "key", "visibleInvitations", "filter", "CANCELLED", "includes", "get", "activeAction", "setInternalActiveAction", "useState", "localStorage", "getItem", "setActiveAction", "nextAction", "setItem", "target", "properties", "Collection", "typename", "objects", "locked", "COMPOSER_SPACE_LOCK", "handleChangeLocked", "useCallback", "Obj", "change", "p", "inviteActions", "useMemo", "inviteOne", "label", "ns", "shellTranslationKey", "description", "icon", "testId", "onClick", "data", "SpaceOperation", "Share", "type", "Type", "INTERACTIVE", "authMethod", "AuthMethod", "SHARED_SECRET", "multiUse", "getDXN", "toString", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscribe", "inviteMany", "DELEGATED", "KNOWN_PUBLIC_KEY", "selectedInvitation", "setSelectedInvitation", "handleSend", "event", "handleBack", "React", "Clipboard", "Provider", "Layout", "Container", "scrollable", "ControlPage", "ControlSection", "title", "ControlFrame", "ControlFrameItem", "SpaceMemberList", "spaceKey", "includeSelf", "className", "InvitationSection", "onBack", "InvitationList", "send", "onClickRemove", "cancel", "BifurcatedAction", "actions", "onChangeActiveAction", "data-testid", "div", "ControlItemInput", "Input", "Switch", "checked", "onCheckedChange", "classNames", "INIT", "invitationId", "url", "activeView", "READY_FOR_AUTHENTICATION", "Viewport", "Root", "Views", "View", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "Button", "value", "variant", "AuthCode", "large", "Icon", "size", "React", "getSpace", "useClient", "DropdownMenu", "Icon", "toLocalizedString", "useTranslation", "MenuFooter", "object", "t", "useTranslation", "meta", "id", "client", "useClient", "space", "getSpace", "spaceName", "getSpaceDisplayName", "personal", "spaces", "default", "React", "DropdownMenu", "Separator", "GroupLabel", "dl", "className", "dt", "dd", "Icon", "icon", "classNames", "toLocalizedString", "React", "useCallback", "useRef", "useState", "Common", "useOperationInvoker", "Obj", "log", "Button", "Input", "useTranslation", "osTranslations", "OBJECT_RENAME_POPOVER", "meta", "id", "ObjectRenamePopover", "object", "t", "useTranslation", "doneButton", "useRef", "name", "setName", "useState", "Obj", "getLabel", "invokePromise", "useOperationInvoker", "handleDone", "useCallback", "change", "setLabel", "err", "log", "error", "Common", "LayoutOperation", "UpdatePopover", "anchorId", "state", "React", "div", "role", "className", "Input", "Root", "Label", "srOnly", "TextInput", "placeholder", "value", "data-testid", "onChange", "target", "onKeyDown", "key", "current", "click", "Button", "ref", "classNames", "onClick", "ns", "osTranslations", "React", "useEffect", "useState", "useTranslation", "ControlPage", "ControlSection", "controlItemClasses", "Layout", "SchemaContainer", "space", "t", "useTranslation", "meta", "id", "schemas", "useQuerySpaceSchemas", "React", "Layout", "Container", "scrollable", "ControlPage", "ControlSection", "title", "description", "div", "role", "className", "controlItemClasses", "length", "map", "schema", "key", "typename", "setSchemas", "useState", "useEffect", "query", "db", "schemaRegistry", "initialResults", "runSync", "unsubscribe", "subscribe", "results", "React", "useOperationInvoker", "useClient", "useSpaces", "IconButton", "Input", "List", "ListItem", "toLocalizedString", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "controlItemClasses", "SpacePluginSettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "client", "useClient", "spaces", "useSpaces", "all", "showHidden", "invokePromise", "useOperationInvoker", "React", "ControlPage", "ControlSection", "title", "description", "ControlGroup", "ControlItemInput", "Input", "Switch", "checked", "onCheckedChange", "s", "List", "classNames", "controlItemClasses", "map", "space", "ListItem", "Root", "key", "Heading", "toLocalizedString", "getSpaceDisplayName", "personal", "default", "IconButton", "icon", "onClick", "SpaceOperation", "OpenSettings", "label", "Option", "React", "forwardRef", "useCallback", "useEffect", "useState", "useAppGraph", "useAtomCapability", "generateName", "Obj", "PublicKey", "useMembers", "useSpace", "useIdentity", "Avatar", "List", "ListItem", "Popover", "Tooltip", "useDefaultValue", "useTranslation", "AttentionGlyph", "useAttended", "useAttention", "ComplexMap", "keyToFallback", "REFRESH_INTERVAL", "ACTIVITY_DURATION", "noViewers", "ComplexMap", "PublicKey", "hash", "getName", "identity", "profile", "displayName", "generateName", "identityKey", "toHex", "SpacePresence", "object", "spaceId", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "useIdentity", "db", "Obj", "getDatabase", "space", "useSpace", "spaceMembers", "useMembers", "_moment", "setMoment", "useState", "Date", "now", "useEffect", "interval", "setInterval", "clearInterval", "memberOnline", "useCallback", "member", "presence", "memberIsNotSelf", "equals", "currentObjectViewers", "viewersByObject", "getDXN", "toString", "membersForObject", "filter", "has", "map", "objectView", "get", "lastSeen", "currentlyAttended", "toSorted", "a", "b", "React", "FullPresence", "members", "props", "size", "onMemberClick", "useDefaultValue", "length", "div", "className", "data-testid", "slice", "i", "Tooltip", "Trigger", "key", "side", "content", "PresenceAvatar", "match", "index", "onClick", "Popover", "Root", "Avatar", "Content", "status", "style", "zIndex", "fallback", "Portal", "Arrow", "Viewport", "classNames", "List", "ListItem", "showName", "forwardRef", "forwardedRef", "fallbackValue", "keyToFallback", "hue", "data", "data-status", "emoji", "ref", "Label", "SmallPresenceLive", "id", "open", "viewers", "hasAttention", "isAncestor", "isRelated", "useAttention", "isAttended", "graph", "useAppGraph", "attended", "useAttended", "startOfAttention", "at", "path", "usePath", "containsAttended", "isSome", "value", "includes", "getActiveViewers", "moment", "Array", "from", "values", "viewer", "activeViewers", "setActiveViewers", "SmallPresence", "count", "t", "useTranslation", "meta", "asChild", "AttentionGlyph", "React", "useCallback", "useRef", "useState", "Common", "useOperationInvoker", "Obj", "Button", "Input", "Popover", "useTranslation", "osTranslations", "SPACE_RENAME_POPOVER", "meta", "id", "SpaceRenamePopover", "space", "t", "useTranslation", "doneButton", "useRef", "name", "setName", "useState", "properties", "invokePromise", "useOperationInvoker", "handleDone", "useCallback", "Obj", "change", "p", "Common", "LayoutOperation", "UpdatePopover", "anchorId", "state", "React", "div", "role", "className", "Input", "Root", "Label", "srOnly", "TextInput", "defaultValue", "placeholder", "onChange", "target", "value", "onKeyDown", "key", "current", "click", "Popover", "Close", "asChild", "Button", "ref", "classNames", "onClick", "ns", "osTranslations", "Schema", "React", "forwardRef", "useCallback", "useMemo", "useState", "Common", "useCapabilities", "useOperationInvoker", "Obj", "log", "EdgeReplicationSetting", "useClient", "SpaceState", "Button", "Input", "useFileDownload", "useMulticastObservable", "useTranslation", "ControlItem", "ControlItemInput", "ControlPage", "ControlSection", "Form", "Layout", "HuePicker", "IconPicker", "SpaceFormSchema", "SpaceForm", "pipe", "extend", "Struct", "archived", "Boolean", "annotations", "title", "SpaceSettingsContainer", "forwardRef", "space", "forwardedRef", "t", "useTranslation", "meta", "id", "invokePromise", "useOperationInvoker", "client", "useClient", "useMulticastObservable", "state", "SpaceState", "SPACE_INACTIVE", "edgeReplication", "setEdgeReplication", "useState", "internal", "data", "EdgeReplicationSetting", "ENABLED", "toggleEdgeReplication", "useCallback", "next", "setEdgeReplicationPreference", "DISABLED", "catch", "err", "log", "handleSave", "properties", "nameChanged", "name", "iconChanged", "icon", "hueChanged", "hue", "Obj", "change", "p", "SpaceOperation", "Close", "Common", "LayoutOperation", "SwitchWorkspace", "subject", "spaces", "default", "Open", "values", "useMemo", "fieldMap", "type", "label", "getValue", "onValueChange", "handleChange", "target", "value", "React", "ControlItemInput", "description", "Input", "TextInput", "onChange", "placeholder", "classNames", "handleReset", "undefined", "ControlItem", "IconPicker", "onReset", "nextHue", "HuePicker", "checked", "Switch", "onCheckedChange", "Button", "disabled", "variant", "onClick", "download", "useFileDownload", "handleBackup", "archive", "export", "Blob", "contents", "filename", "repairs", "useCapabilities", "SpaceCapabilities", "Repair", "handleRepair", "Promise", "all", "map", "repair", "isDefault", "Layout", "Container", "scrollable", "ref", "ControlPage", "ControlSection", "ns", "Form", "Root", "schema", "autoSave", "onSave", "FieldSet", "div", "role", "className", "displayName", "Option", "React", "useEffect", "useState", "useAppGraph", "EdgeStatus", "EdgeReplicationSetting", "useClient", "useSpaceSyncState", "Tooltip", "useTranslation", "AttentionGlyph", "useAttended", "useAttention", "useEdgeStatus", "status", "setStatus", "useState", "EdgeStatus", "ConnectionState", "NOT_CONNECTED", "client", "useClient", "useEffect", "services", "EdgeAgentService", "queryEdgeStatus", "subscribe", "state", "InlineSyncStatus", "space", "open", "t", "useTranslation", "meta", "id", "hasAttention", "isAncestor", "isRelated", "useAttention", "isAttended", "graph", "useAppGraph", "attended", "useAttended", "startOfAttention", "at", "path", "usePath", "containsAttended", "isSome", "value", "includes", "connectedToEdge", "CONNECTED", "edgeSyncEnabled", "internal", "data", "edgeReplication", "EdgeReplicationSetting", "ENABLED", "syncState", "useSpaceSyncState", "syncing", "missingOnLocal", "React", "Tooltip", "Trigger", "asChild", "content", "side", "AttentionGlyph", "classNames", "React", "useEffect", "useState", "StatusBar", "EdgeStatus", "useClient", "useStream", "getSyncSummary", "useSyncState", "Icon", "Popover", "useTranslation", "mx", "Unit", "Context", "createClientSaveTracker", "client", "cb", "CleanupFns", "state", "install", "spaces", "space", "id", "createSpaceSaveTracker", "s", "Object", "values", "some", "subscribe", "get", "unsubscribe", "ctx", "waitUntilReady", "then", "disposed", "hasUnsavedChanges", "lastFlushPromise", "internal", "db", "saveStateChanged", "on", "unsavedDocuments", "length", "debounce", "undefined", "flushPromise", "flush", "dispose", "getStatus", "offline", "saved", "needsToUpload", "needsToDownload", "getIcon", "status", "SYNC_STALLED_TIMEOUT", "SyncStatus", "client", "useClient", "state", "useSyncState", "saved", "setSaved", "useState", "useEffect", "createClientSaveTracker", "React", "SyncStatusIndicator", "t", "useTranslation", "meta", "id", "summary", "getSyncSummary", "offline", "Object", "values", "length", "needsToUpload", "differentDocuments", "missingOnRemote", "needsToDownload", "missingOnLocal", "status", "getStatus", "classNames", "setClassNames", "undefined", "setTimeout", "clearTimeout", "title", "icon", "Icon", "getIcon", "Popover", "Root", "Trigger", "asChild", "StatusBar", "Item", "Portal", "Content", "EdgeConnectionPopover", "Arrow", "useEdgeStatus", "useStream", "services", "EdgeAgentService", "queryEdgeStatus", "isConnected", "EdgeStatus", "ConnectionState", "CONNECTED", "div", "className", "mx", "span", "NOT_CONNECTED", "UnitValue", "value", "rtt", "format", "Unit", "Millisecond", "rateBytesUp", "Kilobyte", "suffix", "rateBytesDown", "input", "formattedValue", "unit", "symbol", "Array", "Effect", "EffectFunction", "Match", "Option", "SchemaAST", "DXN", "Filter", "Query", "ReferenceAnnotationId", "getTypeAnnotation", "unwrapOptional", "runAndForwardErrors", "log", "Person", "evalQuery", "queryString", "globals", "Function", "Object", "keys", "values", "err", "catch", "select", "nothing", "resolveSchemaWithRegistry", "registry", "query", "resolve", "fn", "dxn", "typename", "parse", "asTypeDXN", "type", "none", "location", "schemas", "promise", "run", "head", "resolveSchema", "pipe", "map", "schema", "getOrUndefined", "value", "withReturnType", "when", "filter", "typenameFromFilter", "getOrElse", "succeed", "anchor", "property", "base", "getPropertySignatures", "ast", "flatMap", "properties", "findFirst", "p", "name", "getAnnotation", "annotation", "match", "onNone", "onSome", "fromTypename", "toString", "defined", "direction", "fromNullable", "sourceSchema", "targetSchema", "orElse", "_q", "filters", "isSome", "flatten", "getQueryTarget", "space", "options", "queues", "queueDxn", "tryParse", "get", "db", "Schema", "React", "useCallback", "useState", "useOperationInvoker", "DXN", "Filter", "Obj", "Query", "Tag", "Type", "useClient", "getSpace", "useQuery", "useAsyncEffect", "ViewEditor", "NaturalViewEditor", "View", "ViewEditor", "view", "invokePromise", "useOperationInvoker", "client", "useClient", "space", "getSpace", "schema", "setSchema", "useState", "Struct", "tags", "useQuery", "db", "Filter", "type", "Tag", "types", "useTypeOptions", "annotation", "location", "kind", "registered", "useAsyncEffect", "query", "foundSchema", "resolveSchemaWithRegistry", "schemaRegistry", "ast", "handleQueryChanged", "useCallback", "newQuery", "target", "queue", "DXN", "tryParse", "undefined", "Query", "fromAst", "options", "queues", "Obj", "change", "v", "newSchema", "newView", "View", "make", "jsonSchema", "Type", "toJsonSchema", "projection", "getSnapshot", "handleDelete", "fieldId", "SpaceOperation", "DeleteField", "React", "NaturalViewEditor", "registry", "mode", "onQueryChanged", "onDelete", "isMutable", "lazy", "CollectionArticle", "lazy", "ObjectCardStack", "ObjectDetails", "RecordArticle"]
|
|
7
|
+
}
|