@dxos/plugin-space 0.8.1 → 0.8.2-main.2f9c567

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.
Files changed (279) hide show
  1. package/dist/lib/browser/{app-graph-builder-GMFCSOLG.mjs → app-graph-builder-I2BU35J5.mjs} +61 -7
  2. package/dist/lib/browser/app-graph-builder-I2BU35J5.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-DSF2U3A5.mjs → app-graph-serializer-HPYDOKA5.mjs} +8 -8
  4. package/dist/lib/browser/app-graph-serializer-HPYDOKA5.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-5BDV575R.mjs → chunk-OS5QKO4Z.mjs} +20 -8
  6. package/dist/lib/browser/chunk-OS5QKO4Z.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-LO5UL6RU.mjs → chunk-RERTVPBV.mjs} +60 -141
  8. package/dist/lib/browser/chunk-RERTVPBV.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-JZXWPMLA.mjs → chunk-TSX67XGX.mjs} +526 -670
  10. package/dist/lib/browser/chunk-TSX67XGX.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-YQNBTJI4.mjs +308 -0
  12. package/dist/lib/browser/chunk-YQNBTJI4.mjs.map +7 -0
  13. package/dist/lib/browser/{identity-created-JR7BNXFH.mjs → identity-created-DWFKBGOA.mjs} +4 -4
  14. package/dist/lib/browser/identity-created-DWFKBGOA.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +19 -40
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-RKYILWWQ.mjs → intent-resolver-GKDCJ4H2.mjs} +92 -82
  18. package/dist/lib/browser/intent-resolver-GKDCJ4H2.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-root-6H7NX2M2.mjs → react-root-667IZ2Q4.mjs} +4 -4
  21. package/dist/lib/browser/{react-surface-7AGLOVMK.mjs → react-surface-I4RNTGGN.mjs} +121 -47
  22. package/dist/lib/browser/react-surface-I4RNTGGN.mjs.map +7 -0
  23. package/dist/lib/browser/{schema-FHTA26SW.mjs → schema-defs-FLFEUSLB.mjs} +4 -4
  24. package/dist/lib/browser/{schema-FHTA26SW.mjs.map → schema-defs-FLFEUSLB.mjs.map} +2 -2
  25. package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-MYC4LTQD.mjs} +22 -22
  26. package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +7 -0
  27. package/dist/lib/browser/{settings-PJPTJUPE.mjs → settings-ILGGNYJ7.mjs} +4 -4
  28. package/dist/lib/browser/settings-ILGGNYJ7.mjs.map +7 -0
  29. package/dist/lib/browser/{spaces-ready-BSSP7HHG.mjs → spaces-ready-IXZF3RWW.mjs} +5 -5
  30. package/dist/lib/browser/spaces-ready-IXZF3RWW.mjs.map +7 -0
  31. package/dist/lib/browser/{state-X7VLCC6E.mjs → state-CYV6QCTN.mjs} +1 -3
  32. package/dist/lib/browser/state-CYV6QCTN.mjs.map +7 -0
  33. package/dist/lib/browser/types/index.mjs +7 -1
  34. package/dist/lib/node/{app-graph-builder-DPY7AUZE.cjs → app-graph-builder-H7MDHM3X.cjs} +83 -30
  35. package/dist/lib/node/app-graph-builder-H7MDHM3X.cjs.map +7 -0
  36. package/dist/lib/node/{app-graph-serializer-JELGJUAY.cjs → app-graph-serializer-G7UYFWG6.cjs} +20 -20
  37. package/dist/lib/node/app-graph-serializer-G7UYFWG6.cjs.map +7 -0
  38. package/dist/lib/node/chunk-AR3JHVCY.cjs +336 -0
  39. package/dist/lib/node/chunk-AR3JHVCY.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-TUZWEPGX.cjs → chunk-EG3WAZLA.cjs} +84 -167
  41. package/dist/lib/node/chunk-EG3WAZLA.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-3GKCNADA.cjs → chunk-HD4C6KKO.cjs} +517 -659
  43. package/dist/lib/node/chunk-HD4C6KKO.cjs.map +7 -0
  44. package/dist/lib/node/{chunk-PU2EYH4E.cjs → chunk-NCSFM6RA.cjs} +24 -12
  45. package/dist/lib/node/chunk-NCSFM6RA.cjs.map +7 -0
  46. package/dist/lib/node/{identity-created-XU4HFV2T.cjs → identity-created-YLGVEWAJ.cjs} +6 -6
  47. package/dist/lib/node/identity-created-YLGVEWAJ.cjs.map +7 -0
  48. package/dist/lib/node/index.cjs +73 -94
  49. package/dist/lib/node/index.cjs.map +3 -3
  50. package/dist/lib/node/{intent-resolver-VJ7YV74L.cjs → intent-resolver-V7UJKLE7.cjs} +141 -131
  51. package/dist/lib/node/intent-resolver-V7UJKLE7.cjs.map +7 -0
  52. package/dist/lib/node/meta.json +1 -1
  53. package/dist/lib/node/{react-root-TEL5RW3N.cjs → react-root-I3SSFA5O.cjs} +8 -8
  54. package/dist/lib/node/{react-surface-2H3S5TY5.cjs → react-surface-OLMQCCYD.cjs} +146 -74
  55. package/dist/lib/node/react-surface-OLMQCCYD.cjs.map +7 -0
  56. package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-PKZVL52M.cjs} +6 -6
  57. package/dist/lib/node/{schema-PPJ5BZ3A.cjs.map → schema-defs-PKZVL52M.cjs.map} +2 -2
  58. package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-OE3MFYYH.cjs} +24 -24
  59. package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +7 -0
  60. package/dist/lib/node/{settings-WVFP2UEP.cjs → settings-7TC55JP4.cjs} +7 -7
  61. package/dist/lib/node/settings-7TC55JP4.cjs.map +7 -0
  62. package/dist/lib/node/{spaces-ready-7DNZSUOG.cjs → spaces-ready-4H3Q46GV.cjs} +12 -12
  63. package/dist/lib/node/spaces-ready-4H3Q46GV.cjs.map +7 -0
  64. package/dist/lib/node/{state-5KX6WBJH.cjs → state-JLN7TGRR.cjs} +4 -6
  65. package/dist/lib/node/state-JLN7TGRR.cjs.map +7 -0
  66. package/dist/lib/node/types/index.cjs +18 -12
  67. package/dist/lib/node/types/index.cjs.map +2 -2
  68. package/dist/lib/node-esm/{app-graph-builder-42IGWRPL.mjs → app-graph-builder-NI7X6W3Q.mjs} +61 -7
  69. package/dist/lib/node-esm/app-graph-builder-NI7X6W3Q.mjs.map +7 -0
  70. package/dist/lib/node-esm/{app-graph-serializer-FXONFKOE.mjs → app-graph-serializer-CVPYWWW3.mjs} +8 -8
  71. package/dist/lib/node-esm/app-graph-serializer-CVPYWWW3.mjs.map +7 -0
  72. package/dist/lib/node-esm/{chunk-ZGLK25WQ.mjs → chunk-B2P24Q5R.mjs} +60 -141
  73. package/dist/lib/node-esm/chunk-B2P24Q5R.mjs.map +7 -0
  74. package/dist/lib/node-esm/{chunk-BEWBZ4Q4.mjs → chunk-BU6F7ZU4.mjs} +526 -670
  75. package/dist/lib/node-esm/chunk-BU6F7ZU4.mjs.map +7 -0
  76. package/dist/lib/node-esm/{chunk-3ZOUV4DF.mjs → chunk-FUH5OODY.mjs} +20 -8
  77. package/dist/lib/node-esm/chunk-FUH5OODY.mjs.map +7 -0
  78. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs +309 -0
  79. package/dist/lib/node-esm/chunk-RUWTHAV7.mjs.map +7 -0
  80. package/dist/lib/node-esm/{identity-created-WJKAS2PV.mjs → identity-created-7NHGER3Q.mjs} +4 -4
  81. package/dist/lib/node-esm/identity-created-7NHGER3Q.mjs.map +7 -0
  82. package/dist/lib/node-esm/index.mjs +19 -40
  83. package/dist/lib/node-esm/index.mjs.map +3 -3
  84. package/dist/lib/node-esm/{intent-resolver-ZFNSA4CM.mjs → intent-resolver-IL63YTIT.mjs} +92 -82
  85. package/dist/lib/node-esm/intent-resolver-IL63YTIT.mjs.map +7 -0
  86. package/dist/lib/node-esm/meta.json +1 -1
  87. package/dist/lib/node-esm/{react-root-PRBJMWLQ.mjs → react-root-JEGVIVVK.mjs} +4 -4
  88. package/dist/lib/node-esm/{react-surface-RCZG2PNF.mjs → react-surface-DRRXIJBE.mjs} +121 -47
  89. package/dist/lib/node-esm/react-surface-DRRXIJBE.mjs.map +7 -0
  90. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs → schema-defs-IIEQR7B3.mjs} +4 -4
  91. package/dist/lib/node-esm/{schema-OUZKVYM5.mjs.map → schema-defs-IIEQR7B3.mjs.map} +2 -2
  92. package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-YTJLA3NQ.mjs} +22 -22
  93. package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +7 -0
  94. package/dist/lib/node-esm/{settings-FJZPC2TV.mjs → settings-CXMV2AFR.mjs} +4 -4
  95. package/dist/lib/node-esm/settings-CXMV2AFR.mjs.map +7 -0
  96. package/dist/lib/node-esm/{spaces-ready-7X5PGB2V.mjs → spaces-ready-QMXLQ4QV.mjs} +5 -5
  97. package/dist/lib/node-esm/spaces-ready-QMXLQ4QV.mjs.map +7 -0
  98. package/dist/lib/node-esm/{state-Z6E2YTNC.mjs → state-YZPY5T5A.mjs} +1 -3
  99. package/dist/lib/node-esm/state-YZPY5T5A.mjs.map +7 -0
  100. package/dist/lib/node-esm/types/index.mjs +7 -1
  101. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/index.d.ts +3 -2
  104. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -1
  106. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/{schema.d.ts → schema-defs.d.ts} +1 -1
  109. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  110. package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
  111. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  113. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  114. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
  115. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  116. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  117. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  118. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  119. package/dist/types/src/components/MenuFooter.d.ts +2 -2
  120. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  121. package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/AdvancedObjectSettings.d.ts +2 -2
  122. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -0
  123. package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/BaseObjectSettings.d.ts +2 -2
  124. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -0
  125. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -0
  126. package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/ObjectSettingsContainer.d.ts +2 -2
  127. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -0
  128. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -0
  129. package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -1
  130. package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
  131. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  132. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  133. package/dist/types/src/components/SchemaContainer.d.ts +13 -0
  134. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -0
  135. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  136. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  137. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -2
  138. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  139. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +7 -0
  140. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -0
  141. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -1
  142. package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
  143. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  144. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -8
  145. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  146. package/dist/types/src/components/index.d.ts +2 -2
  147. package/dist/types/src/components/index.d.ts.map +1 -1
  148. package/dist/types/src/hooks/index.d.ts +1 -0
  149. package/dist/types/src/hooks/index.d.ts.map +1 -1
  150. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +14 -0
  151. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -0
  152. package/dist/types/src/translations.d.ts +45 -9
  153. package/dist/types/src/translations.d.ts.map +1 -1
  154. package/dist/types/src/types/collection.d.ts +9 -8
  155. package/dist/types/src/types/collection.d.ts.map +1 -1
  156. package/dist/types/src/types/thread.d.ts +329 -110
  157. package/dist/types/src/types/thread.d.ts.map +1 -1
  158. package/dist/types/src/types/types.d.ts +167 -140
  159. package/dist/types/src/types/types.d.ts.map +1 -1
  160. package/dist/types/src/util.d.ts +31 -9
  161. package/dist/types/src/util.d.ts.map +1 -1
  162. package/package.json +46 -44
  163. package/src/SpacePlugin.tsx +11 -20
  164. package/src/capabilities/app-graph-builder.ts +47 -8
  165. package/src/capabilities/app-graph-serializer.ts +4 -4
  166. package/src/capabilities/identity-created.ts +2 -2
  167. package/src/capabilities/index.ts +2 -2
  168. package/src/capabilities/intent-resolver.ts +87 -84
  169. package/src/capabilities/react-surface.tsx +111 -42
  170. package/src/capabilities/schema-tool.test.ts +2 -3
  171. package/src/capabilities/schema-tools.ts +25 -25
  172. package/src/capabilities/settings.ts +2 -2
  173. package/src/capabilities/spaces-ready.ts +2 -2
  174. package/src/capabilities/state.ts +0 -2
  175. package/src/components/CollectionMain.tsx +2 -5
  176. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -2
  177. package/src/components/CreateDialog/CreateObjectDialog.tsx +3 -3
  178. package/src/components/CreateDialog/CreateObjectPanel.tsx +3 -25
  179. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -3
  180. package/src/components/MembersContainer.tsx +80 -54
  181. package/src/components/MenuFooter.tsx +2 -2
  182. package/src/components/{ObjectSettingsContainer → ObjectSettings}/AdvancedObjectSettings.tsx +2 -2
  183. package/src/components/{ObjectSettingsContainer → ObjectSettings}/BaseObjectSettings.tsx +2 -2
  184. package/src/components/{ObjectSettingsContainer → ObjectSettings}/ObjectSettingsContainer.tsx +2 -2
  185. package/src/components/PopoverAddSpace.tsx +9 -3
  186. package/src/components/PopoverRenameObject.tsx +14 -8
  187. package/src/components/PopoverRenameSpace.tsx +8 -0
  188. package/src/components/SchemaContainer.tsx +59 -0
  189. package/src/components/SpacePluginSettings.tsx +27 -2
  190. package/src/components/SpacePresence.tsx +29 -25
  191. package/src/components/SpaceSettings/{SpacePropertiesForm.stories.tsx → SpaceSettingsContainer.stories.tsx} +6 -6
  192. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +159 -39
  193. package/src/components/SpaceSettings/index.ts +0 -1
  194. package/src/components/SyncStatus/InlineSyncStatus.tsx +5 -7
  195. package/src/components/SyncStatus/SyncStatus.tsx +6 -69
  196. package/src/components/index.ts +2 -2
  197. package/src/hooks/index.ts +1 -0
  198. package/src/hooks/useInputSurfaceLookup.tsx +31 -0
  199. package/src/translations.ts +18 -5
  200. package/src/types/collection.ts +6 -4
  201. package/src/types/thread.ts +14 -8
  202. package/src/types/types.ts +128 -101
  203. package/src/util.tsx +52 -112
  204. package/dist/lib/browser/app-graph-builder-GMFCSOLG.mjs.map +0 -7
  205. package/dist/lib/browser/app-graph-serializer-DSF2U3A5.mjs.map +0 -7
  206. package/dist/lib/browser/chunk-5BDV575R.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-AYW4IDRT.mjs +0 -275
  208. package/dist/lib/browser/chunk-AYW4IDRT.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-JZXWPMLA.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-LO5UL6RU.mjs.map +0 -7
  211. package/dist/lib/browser/identity-created-JR7BNXFH.mjs.map +0 -7
  212. package/dist/lib/browser/intent-resolver-RKYILWWQ.mjs.map +0 -7
  213. package/dist/lib/browser/react-surface-7AGLOVMK.mjs.map +0 -7
  214. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
  215. package/dist/lib/browser/settings-PJPTJUPE.mjs.map +0 -7
  216. package/dist/lib/browser/spaces-ready-BSSP7HHG.mjs.map +0 -7
  217. package/dist/lib/browser/state-X7VLCC6E.mjs.map +0 -7
  218. package/dist/lib/node/app-graph-builder-DPY7AUZE.cjs.map +0 -7
  219. package/dist/lib/node/app-graph-serializer-JELGJUAY.cjs.map +0 -7
  220. package/dist/lib/node/chunk-3GKCNADA.cjs.map +0 -7
  221. package/dist/lib/node/chunk-PU2EYH4E.cjs.map +0 -7
  222. package/dist/lib/node/chunk-TUZWEPGX.cjs.map +0 -7
  223. package/dist/lib/node/chunk-WDEIFDTX.cjs +0 -300
  224. package/dist/lib/node/chunk-WDEIFDTX.cjs.map +0 -7
  225. package/dist/lib/node/identity-created-XU4HFV2T.cjs.map +0 -7
  226. package/dist/lib/node/intent-resolver-VJ7YV74L.cjs.map +0 -7
  227. package/dist/lib/node/react-surface-2H3S5TY5.cjs.map +0 -7
  228. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
  229. package/dist/lib/node/settings-WVFP2UEP.cjs.map +0 -7
  230. package/dist/lib/node/spaces-ready-7DNZSUOG.cjs.map +0 -7
  231. package/dist/lib/node/state-5KX6WBJH.cjs.map +0 -7
  232. package/dist/lib/node-esm/app-graph-builder-42IGWRPL.mjs.map +0 -7
  233. package/dist/lib/node-esm/app-graph-serializer-FXONFKOE.mjs.map +0 -7
  234. package/dist/lib/node-esm/chunk-3ZOUV4DF.mjs.map +0 -7
  235. package/dist/lib/node-esm/chunk-BEWBZ4Q4.mjs.map +0 -7
  236. package/dist/lib/node-esm/chunk-FC4UHDPL.mjs +0 -276
  237. package/dist/lib/node-esm/chunk-FC4UHDPL.mjs.map +0 -7
  238. package/dist/lib/node-esm/chunk-ZGLK25WQ.mjs.map +0 -7
  239. package/dist/lib/node-esm/identity-created-WJKAS2PV.mjs.map +0 -7
  240. package/dist/lib/node-esm/intent-resolver-ZFNSA4CM.mjs.map +0 -7
  241. package/dist/lib/node-esm/react-surface-RCZG2PNF.mjs.map +0 -7
  242. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
  243. package/dist/lib/node-esm/settings-FJZPC2TV.mjs.map +0 -7
  244. package/dist/lib/node-esm/spaces-ready-7X5PGB2V.mjs.map +0 -7
  245. package/dist/lib/node-esm/state-Z6E2YTNC.mjs.map +0 -7
  246. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  247. package/dist/types/src/components/ObjectSettingsContainer/AdvancedObjectSettings.d.ts.map +0 -1
  248. package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts.map +0 -1
  249. package/dist/types/src/components/ObjectSettingsContainer/ForeignKeys.d.ts.map +0 -1
  250. package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts.map +0 -1
  251. package/dist/types/src/components/ObjectSettingsContainer/index.d.ts.map +0 -1
  252. package/dist/types/src/components/ShareSpaceButton.d.ts +0 -9
  253. package/dist/types/src/components/ShareSpaceButton.d.ts.map +0 -1
  254. package/dist/types/src/components/ShareSpaceButton.stories.d.ts +0 -10
  255. package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +0 -1
  256. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts +0 -7
  257. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts.map +0 -1
  258. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts +0 -7
  259. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts.map +0 -1
  260. package/dist/types/src/components/SyncStatus/Space.d.ts +0 -13
  261. package/dist/types/src/components/SyncStatus/Space.d.ts.map +0 -1
  262. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts +0 -9
  263. package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts.map +0 -1
  264. package/dist/types/src/components/SyncStatus/sync-state.d.ts +0 -18
  265. package/dist/types/src/components/SyncStatus/sync-state.d.ts.map +0 -1
  266. package/src/components/ShareSpaceButton.stories.tsx +0 -27
  267. package/src/components/ShareSpaceButton.tsx +0 -32
  268. package/src/components/SpaceSettings/SpacePropertiesForm.tsx +0 -136
  269. package/src/components/SyncStatus/Space.tsx +0 -133
  270. package/src/components/SyncStatus/SyncStatusDetail.stories.tsx +0 -89
  271. package/src/components/SyncStatus/sync-state.ts +0 -101
  272. /package/dist/lib/browser/{react-root-6H7NX2M2.mjs.map → react-root-667IZ2Q4.mjs.map} +0 -0
  273. /package/dist/lib/node/{react-root-TEL5RW3N.cjs.map → react-root-I3SSFA5O.cjs.map} +0 -0
  274. /package/dist/lib/node-esm/{react-root-PRBJMWLQ.mjs.map → react-root-JEGVIVVK.mjs.map} +0 -0
  275. /package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/ForeignKeys.d.ts +0 -0
  276. /package/dist/types/src/components/{ObjectSettingsContainer → ObjectSettings}/index.d.ts +0 -0
  277. /package/src/capabilities/{schema.ts → schema-defs.ts} +0 -0
  278. /package/src/components/{ObjectSettingsContainer → ObjectSettings}/ForeignKeys.tsx +0 -0
  279. /package/src/components/{ObjectSettingsContainer → ObjectSettings}/index.ts +0 -0
@@ -2,17 +2,21 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { Schema } from 'effect';
6
+
5
7
  import { type AnyIntentChain } from '@dxos/app-framework';
6
- import { S, type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
8
+ import { type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
7
9
  import { type PublicKey } from '@dxos/react-client';
8
10
  // TODO(wittjosiah): This pulls in full client.
9
11
  import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
12
+ import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
10
13
  import { type ComplexMap } from '@dxos/util';
11
14
 
12
15
  import { CollectionType } from './collection';
13
16
  import { SPACE_PLUGIN } from '../meta';
14
17
 
15
18
  export const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';
19
+ export const SPACE_TYPE = 'dxos.org/type/Space';
16
20
 
17
21
  export type ObjectViewerProps = {
18
22
  lastSeen: number;
@@ -42,11 +46,6 @@ export type PluginState = {
42
46
  */
43
47
  spaceNames: Record<string, string>;
44
48
 
45
- /**
46
- * Which sections of the space settings are open.
47
- */
48
- spaceSettingsOpenSections: string[];
49
-
50
49
  /**
51
50
  * Which spaces have an SDK migration running currently.
52
51
  */
@@ -66,16 +65,16 @@ export type PluginState = {
66
65
  enabledEdgeReplication: boolean;
67
66
  };
68
67
 
69
- export const SpaceSettingsSchema = S.mutable(
70
- S.Struct({
68
+ export const SpaceSettingsSchema = Schema.mutable(
69
+ Schema.Struct({
71
70
  /**
72
71
  * Show closed spaces.
73
72
  */
74
- showHidden: S.Boolean,
73
+ showHidden: Schema.Boolean,
75
74
  }),
76
75
  );
77
76
 
78
- export type SpaceSettingsProps = S.Schema.Type<typeof SpaceSettingsSchema>;
77
+ export type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;
79
78
 
80
79
  // TODO(wittjosiah): Reconcile with graph export serializers.
81
80
 
@@ -92,18 +91,22 @@ export interface TypedObjectSerializer<T extends Expando = Expando> {
92
91
  deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;
93
92
  }
94
93
 
95
- export const SpaceForm = S.Struct({
96
- name: S.optional(S.String.annotations({ title: 'Name' })),
97
- icon: S.optional(S.String.annotations({ title: 'Icon' })),
98
- hue: S.optional(S.String.annotations({ title: 'Color' })),
94
+ // TODO(burdon): Move to FormatEnum or SDK.
95
+ export const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');
96
+ export const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');
97
+
98
+ export const SpaceForm = Schema.Struct({
99
+ name: Schema.optional(Schema.String.annotations({ title: 'Name' })),
100
+ icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),
101
+ hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),
99
102
  // TODO(wittjosiah): Make optional with default value.
100
- edgeReplication: S.Boolean.annotations({ title: 'Enable EDGE Replication' }),
103
+ edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),
101
104
  });
102
105
 
103
106
  export type ObjectForm<T extends BaseObject = BaseObject> = {
104
- // TODO(dmaretskyi): Change to S.Schema.AnyNoContext
107
+ // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext
105
108
  objectSchema: TypedObject;
106
- formSchema?: S.Schema<T, any>;
109
+ formSchema?: Schema.Schema<T, any>;
107
110
  hidden?: boolean;
108
111
  getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
109
112
  };
@@ -113,165 +116,189 @@ export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => f
113
116
  export const SPACE_ACTION = `${SPACE_PLUGIN}/action`;
114
117
 
115
118
  export namespace SpaceAction {
116
- export class OpenCreateSpace extends S.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
117
- input: S.Void,
118
- output: S.Void,
119
+ export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
120
+ input: Schema.Void,
121
+ output: Schema.Void,
119
122
  }) {}
120
123
 
121
- export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
124
+ export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
122
125
  input: SpaceForm,
123
- output: S.Struct({
124
- id: S.String,
125
- subject: S.Array(S.String),
126
+ output: Schema.Struct({
127
+ id: Schema.String,
128
+ subject: Schema.Array(Schema.String),
126
129
  space: SpaceSchema,
127
130
  }),
128
131
  }) {}
129
132
 
130
- export class Join extends S.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
131
- input: S.Struct({
132
- invitationCode: S.optional(S.String),
133
- onDone: S.optional(S.Any),
133
+ export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
134
+ input: Schema.Struct({
135
+ invitationCode: Schema.optional(Schema.String),
136
+ onDone: Schema.optional(Schema.Any),
137
+ }),
138
+ output: Schema.Void,
139
+ }) {}
140
+
141
+ export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
142
+ input: Schema.Struct({
143
+ space: SpaceSchema,
134
144
  }),
135
- output: S.Void,
145
+ output: Schema.Void,
136
146
  }) {}
137
147
 
138
- export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
139
- input: S.Struct({
148
+ export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
149
+ input: Schema.Struct({
140
150
  space: SpaceSchema,
151
+ type: Schema.Enums(Invitation.Type),
152
+ authMethod: Schema.Enums(Invitation.AuthMethod),
153
+ multiUse: Schema.Boolean,
154
+ target: Schema.optional(Schema.String),
141
155
  }),
142
- output: S.Void,
156
+ output: Schema.instanceOf(CancellableInvitationObservable),
143
157
  }) {}
144
158
 
145
- export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
146
- input: S.Struct({
159
+ export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
160
+ input: Schema.Struct({
147
161
  space: SpaceSchema,
162
+ target: Schema.optional(Schema.String),
163
+ copyToClipboard: Schema.optional(Schema.Boolean),
148
164
  }),
149
- output: S.Void,
165
+ output: Schema.String,
150
166
  }) {}
151
167
 
152
- export class Unlock extends S.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
153
- input: S.Struct({
168
+ export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
169
+ input: Schema.Struct({
154
170
  space: SpaceSchema,
155
171
  }),
156
- output: S.Void,
172
+ output: Schema.Void,
157
173
  }) {}
158
174
 
159
- export class Rename extends S.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
160
- input: S.Struct({
175
+ export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
176
+ input: Schema.Struct({
161
177
  space: SpaceSchema,
162
- caller: S.optional(S.String),
163
178
  }),
164
- output: S.Void,
179
+ output: Schema.Void,
165
180
  }) {}
166
181
 
167
- export class AddSpace extends S.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {
168
- input: S.Void,
169
- output: S.Void,
182
+ export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
183
+ input: Schema.Struct({
184
+ space: SpaceSchema,
185
+ caller: Schema.optional(Schema.String),
186
+ }),
187
+ output: Schema.Void,
170
188
  }) {}
171
189
 
172
- export class AddSpaceMenuGroup extends S.TaggedClass<AddSpaceMenuGroup>()(`${SPACE_ACTION}/add-space-menu-group`, {
173
- input: S.Void,
174
- output: S.Void,
190
+ export class AddSpace extends Schema.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {
191
+ input: Schema.Void,
192
+ output: Schema.Void,
175
193
  }) {}
176
194
 
195
+ export class AddSpaceMenuGroup extends Schema.TaggedClass<AddSpaceMenuGroup>()(
196
+ `${SPACE_ACTION}/add-space-menu-group`,
197
+ {
198
+ input: Schema.Void,
199
+ output: Schema.Void,
200
+ },
201
+ ) {}
202
+
177
203
  // TODO(wittjosiah): Handle scrolling to section.
178
- export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
179
- input: S.Struct({ space: SpaceSchema }),
180
- output: S.Void,
204
+ // This maybe motivates making the space settings its own deck?
205
+ export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
206
+ input: Schema.Struct({ space: SpaceSchema }),
207
+ output: Schema.Void,
181
208
  }) {}
182
209
 
183
- export class Open extends S.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
184
- input: S.Struct({
210
+ export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
211
+ input: Schema.Struct({
185
212
  space: SpaceSchema,
186
213
  }),
187
- output: S.Void,
214
+ output: Schema.Void,
188
215
  }) {}
189
216
 
190
- export class Close extends S.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
191
- input: S.Struct({
217
+ export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
218
+ input: Schema.Struct({
192
219
  space: SpaceSchema,
193
220
  }),
194
- output: S.Void,
221
+ output: Schema.Void,
195
222
  }) {}
196
223
 
197
- export class Migrate extends S.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
198
- input: S.Struct({
224
+ export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
225
+ input: Schema.Struct({
199
226
  space: SpaceSchema,
200
- version: S.optional(S.String),
227
+ version: Schema.optional(Schema.String),
201
228
  }),
202
- output: S.Boolean,
229
+ output: Schema.Boolean,
203
230
  }) {}
204
231
 
205
- export class OpenCreateObject extends S.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
206
- input: S.Struct({
207
- target: S.Union(SpaceSchema, CollectionType),
208
- navigable: S.optional(S.Boolean),
232
+ export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
233
+ input: Schema.Struct({
234
+ target: Schema.Union(SpaceSchema, CollectionType),
235
+ navigable: Schema.optional(Schema.Boolean),
209
236
  }),
210
- output: S.Void,
237
+ output: Schema.Void,
211
238
  }) {}
212
239
 
213
- export class AddObject extends S.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
214
- input: S.Struct({
240
+ export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
241
+ input: Schema.Struct({
215
242
  object: ReactiveObjectSchema,
216
- target: S.Union(SpaceSchema, CollectionType),
217
- hidden: S.optional(S.Boolean),
243
+ target: Schema.Union(SpaceSchema, CollectionType),
244
+ hidden: Schema.optional(Schema.Boolean),
218
245
  }),
219
- output: S.Struct({
220
- id: S.String,
221
- subject: S.Array(S.String),
246
+ output: Schema.Struct({
247
+ id: Schema.String,
248
+ subject: Schema.Array(Schema.String),
222
249
  object: EchoObjectSchema,
223
250
  }),
224
251
  }) {}
225
252
 
226
- export const DeletionData = S.Struct({
227
- objects: S.Array(EchoObjectSchema),
253
+ export const DeletionData = Schema.Struct({
254
+ objects: Schema.Array(EchoObjectSchema),
228
255
  parentCollection: CollectionType,
229
- indices: S.Array(S.Number),
230
- nestedObjectsList: S.Array(S.Array(EchoObjectSchema)),
231
- wasActive: S.Array(S.String),
256
+ indices: Schema.Array(Schema.Number),
257
+ nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
258
+ wasActive: Schema.Array(Schema.String),
232
259
  });
233
260
 
234
- export type DeletionData = S.Schema.Type<typeof DeletionData>;
261
+ export type DeletionData = Schema.Schema.Type<typeof DeletionData>;
235
262
 
236
- export class RemoveObjects extends S.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
237
- input: S.Struct({
238
- objects: S.Array(EchoObjectSchema),
239
- target: S.optional(CollectionType),
240
- deletionData: S.optional(DeletionData),
263
+ export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
264
+ input: Schema.Struct({
265
+ objects: Schema.Array(EchoObjectSchema),
266
+ target: Schema.optional(CollectionType),
267
+ deletionData: Schema.optional(DeletionData),
241
268
  }),
242
- output: S.Void,
269
+ output: Schema.Void,
243
270
  }) {}
244
271
 
245
- export class RenameObject extends S.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
246
- input: S.Struct({
272
+ export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
273
+ input: Schema.Struct({
247
274
  object: EchoObjectSchema,
248
- caller: S.optional(S.String),
275
+ caller: Schema.optional(Schema.String),
249
276
  }),
250
- output: S.Void,
277
+ output: Schema.Void,
251
278
  }) {}
252
279
 
253
- export class DuplicateObject extends S.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
254
- input: S.Struct({
280
+ export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
281
+ input: Schema.Struct({
255
282
  object: EchoObjectSchema,
256
- target: S.Union(SpaceSchema, CollectionType),
283
+ target: Schema.Union(SpaceSchema, CollectionType),
257
284
  }),
258
- output: S.Void,
285
+ output: Schema.Void,
259
286
  }) {}
260
287
 
261
- export class WaitForObject extends S.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
262
- input: S.Struct({
263
- id: S.optional(S.String),
288
+ export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
289
+ input: Schema.Struct({
290
+ id: Schema.optional(Schema.String),
264
291
  }),
265
- output: S.Void,
292
+ output: Schema.Void,
266
293
  }) {}
267
294
  }
268
295
 
269
296
  export namespace CollectionAction {
270
- export class Create extends S.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
271
- input: S.Struct({
272
- name: S.optional(S.String),
297
+ export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
298
+ input: Schema.Struct({
299
+ name: Schema.optional(Schema.String),
273
300
  }),
274
- output: S.Struct({
301
+ output: Schema.Struct({
275
302
  object: CollectionType,
276
303
  }),
277
304
  }) {}
package/src/util.tsx CHANGED
@@ -2,12 +2,12 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';
6
- import { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type Expando } from '@dxos/echo-schema';
5
+ import { createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';
6
+ import { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type BaseObject, type Expando } from '@dxos/echo-schema';
7
+ import { getSchema } from '@dxos/echo-schema';
7
8
  import { invariant } from '@dxos/invariant';
8
- import { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';
9
+ import { isLiveObject, makeRef } from '@dxos/live-object';
9
10
  import { Migrations } from '@dxos/migrations';
10
- import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';
11
11
  import {
12
12
  ACTION_GROUP_TYPE,
13
13
  ACTION_TYPE,
@@ -31,15 +31,15 @@ import {
31
31
  type FilterSource,
32
32
  type Query,
33
33
  type QueryOptions,
34
- type ReactiveEchoObject,
34
+ type AnyLiveObject,
35
35
  type Space,
36
36
  } from '@dxos/react-client/echo';
37
+ import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
37
38
 
38
39
  import { SPACE_PLUGIN } from './meta';
39
- import { CollectionType, SpaceAction } from './types';
40
+ import { CollectionType, SpaceAction, SPACE_TYPE } from './types';
40
41
 
41
42
  export const SPACES = `${SPACE_PLUGIN}-spaces`;
42
- export const SPACE_TYPE = 'dxos.org/type/Space';
43
43
  export const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';
44
44
  // TODO(wittjosiah): Remove.
45
45
  export const SHARED = 'shared-spaces';
@@ -53,7 +53,7 @@ const EMPTY_ARRAY: never[] = [];
53
53
  * @param options
54
54
  * @returns
55
55
  */
56
- export const memoizeQuery = <T extends ReactiveEchoObject<any>>(
56
+ export const memoizeQuery = <T extends BaseObject>(
57
57
  spaceOrEcho?: Space | Echo,
58
58
  filter?: FilterSource<T>,
59
59
  options?: QueryOptions,
@@ -109,7 +109,7 @@ const getCollectionGraphNodePartials = ({
109
109
  // Change on disk.
110
110
  collection.objects = nextOrder.filter(isEchoObject).map(makeRef);
111
111
  },
112
- onTransferStart: (child: Node<ReactiveEchoObject<any>>, index?: number) => {
112
+ onTransferStart: (child: Node<AnyLiveObject<any>>, index?: number) => {
113
113
  // TODO(wittjosiah): Support transfer between spaces.
114
114
  // const childSpace = getSpace(child.data);
115
115
  // if (space && childSpace && !childSpace.key.equals(space.key)) {
@@ -138,7 +138,7 @@ const getCollectionGraphNodePartials = ({
138
138
 
139
139
  // }
140
140
  },
141
- onTransferEnd: (child: Node<ReactiveEchoObject<any>>, destination: Node) => {
141
+ onTransferEnd: (child: Node<AnyLiveObject<any>>, destination: Node) => {
142
142
  // Remove child from origin collection.
143
143
  const index = collection.objects.findIndex((object) => object.target === child.data);
144
144
  if (index > -1) {
@@ -154,7 +154,7 @@ const getCollectionGraphNodePartials = ({
154
154
  // childSpace.db.remove(child.data);
155
155
  // }
156
156
  },
157
- onCopy: async (child: Node<ReactiveEchoObject<any>>, index?: number) => {
157
+ onCopy: async (child: Node<AnyLiveObject<any>>, index?: number) => {
158
158
  // Create clone of child and add to destination space.
159
159
  const newObject = await cloneObject(child.data, resolve, space);
160
160
  space.db.add(newObject);
@@ -215,24 +215,45 @@ export const constructSpaceNode = ({
215
215
  },
216
216
  nodes: [
217
217
  {
218
- id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}members`,
219
- type: `${SPACE_PLUGIN}/members`,
220
- data: space,
221
- properties: {
222
- label: ['members panel label', { ns: SPACE_PLUGIN }],
223
- icon: 'ph--users--regular',
224
- disposition: 'hidden',
225
- },
226
- },
227
- {
228
- id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}settings`,
218
+ id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
229
219
  type: `${SPACE_PLUGIN}/settings`,
230
- data: space,
220
+ data: null,
231
221
  properties: {
232
222
  label: ['settings panel label', { ns: SPACE_PLUGIN }],
233
- icon: 'ph--gear--regular',
234
- disposition: 'hidden',
223
+ icon: 'ph--faders--regular',
224
+ disposition: 'alternate-tree',
235
225
  },
226
+ nodes: [
227
+ {
228
+ id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
229
+ type: `${SPACE_PLUGIN}/properties`,
230
+ data: `${SPACE_PLUGIN}/properties`,
231
+ properties: {
232
+ label: ['space settings properties label', { ns: SPACE_PLUGIN }],
233
+ icon: 'ph--sliders--regular',
234
+ position: 'hoist',
235
+ },
236
+ },
237
+ {
238
+ id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
239
+ type: `${SPACE_PLUGIN}/members`,
240
+ data: `${SPACE_PLUGIN}/members`,
241
+ properties: {
242
+ label: ['members panel label', { ns: SPACE_PLUGIN }],
243
+ icon: 'ph--users--regular',
244
+ position: 'hoist',
245
+ },
246
+ },
247
+ {
248
+ id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
249
+ type: `${SPACE_PLUGIN}/schema`,
250
+ data: `${SPACE_PLUGIN}/schema`,
251
+ properties: {
252
+ label: ['space settings schema label', { ns: SPACE_PLUGIN }],
253
+ icon: 'ph--shapes--regular',
254
+ },
255
+ },
256
+ ],
236
257
  },
237
258
  ],
238
259
  };
@@ -271,7 +292,6 @@ export const constructSpaceActions = ({
271
292
  }
272
293
 
273
294
  if (state === SpaceState.SPACE_READY && !hasPendingMigration) {
274
- const locked = space.properties[COMPOSER_SPACE_LOCK];
275
295
  actions.push(
276
296
  {
277
297
  id: getId(SpaceAction.OpenCreateObject._tag),
@@ -286,44 +306,6 @@ export const constructSpaceActions = ({
286
306
  testId: 'spacePlugin.createObject',
287
307
  },
288
308
  },
289
- {
290
- id: getId(SpaceAction.Share._tag),
291
- type: ACTION_TYPE,
292
- data: async () => {
293
- if (locked) {
294
- return;
295
- }
296
- await dispatch(createIntent(SpaceAction.Share, { space }));
297
- },
298
- properties: {
299
- label: ['share space label', { ns: SPACE_PLUGIN }],
300
- icon: 'ph--users--regular',
301
- disabled: locked,
302
- disposition: 'list-item-primary',
303
- iconOnly: false,
304
- variant: 'default',
305
- testId: 'spacePlugin.shareSpace',
306
- keyBinding: {
307
- macos: 'meta+.',
308
- windows: 'alt+.',
309
- },
310
- },
311
- },
312
- {
313
- id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),
314
- type: ACTION_TYPE,
315
- data: async () => {
316
- if (locked) {
317
- await dispatch(createIntent(SpaceAction.Unlock, { space }));
318
- } else {
319
- await dispatch(createIntent(SpaceAction.Lock, { space }));
320
- }
321
- },
322
- properties: {
323
- label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],
324
- icon: locked ? 'ph--lock-simple-open--regular' : 'ph--lock-simple--regular',
325
- },
326
- },
327
309
  {
328
310
  id: getId(SpaceAction.Rename._tag),
329
311
  type: ACTION_TYPE,
@@ -339,51 +321,9 @@ export const constructSpaceActions = ({
339
321
  },
340
322
  },
341
323
  },
342
- {
343
- id: getId(SpaceAction.OpenSettings._tag),
344
- type: ACTION_TYPE,
345
- data: async () => {
346
- await dispatch(createIntent(SpaceAction.OpenSettings, { space }));
347
- },
348
- properties: {
349
- label: ['open space settings label', { ns: SPACE_PLUGIN }],
350
- icon: 'ph--gear--regular',
351
- },
352
- },
353
324
  );
354
325
  }
355
326
 
356
- // TODO(wittjosiah): Consider moving close space into the space settings dialog.
357
- if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {
358
- actions.push({
359
- id: getId(SpaceAction.Close._tag),
360
- type: ACTION_TYPE,
361
- data: async () => {
362
- await dispatch(createIntent(SpaceAction.Close, { space }));
363
- },
364
- properties: {
365
- label: ['close space label', { ns: SPACE_PLUGIN }],
366
- icon: 'ph--x--regular',
367
- disabled: personal,
368
- },
369
- });
370
- }
371
-
372
- if (state === SpaceState.SPACE_INACTIVE) {
373
- actions.push({
374
- id: getId(SpaceAction.Open._tag),
375
- type: ACTION_TYPE,
376
- data: async () => {
377
- await dispatch(createIntent(SpaceAction.Open, { space }));
378
- },
379
- properties: {
380
- label: ['open space label', { ns: SPACE_PLUGIN }],
381
- icon: 'ph--clock-counter-clockwise--regular',
382
- disposition: 'list-item-primary',
383
- },
384
- });
385
- }
386
-
387
327
  return actions;
388
328
  };
389
329
 
@@ -393,7 +333,7 @@ export const createObjectNode = ({
393
333
  navigable = false,
394
334
  resolve,
395
335
  }: {
396
- object: ReactiveEchoObject<any>;
336
+ object: AnyLiveObject<any>;
397
337
  space: Space;
398
338
  navigable?: boolean;
399
339
  resolve: (typename: string) => Record<string, any>;
@@ -435,7 +375,7 @@ export const constructObjectActions = ({
435
375
  dispatch,
436
376
  navigable = false,
437
377
  }: {
438
- node: Node<ReactiveEchoObject<any>>;
378
+ node: Node<AnyLiveObject<any>>;
439
379
  dispatch: PromiseIntentDispatcher;
440
380
  navigable?: boolean;
441
381
  }) => {
@@ -542,7 +482,7 @@ export const getActiveSpace = (graph: Graph, active?: string) => {
542
482
  }
543
483
 
544
484
  const node = graph.findNode(active);
545
- if (!node || !isReactiveObject(node.data)) {
485
+ if (!node || !isLiveObject(node.data)) {
546
486
  return;
547
487
  }
548
488
 
@@ -553,9 +493,9 @@ export const getActiveSpace = (graph: Graph, active?: string) => {
553
493
  * @deprecated This is a temporary solution.
554
494
  */
555
495
  export const getNestedObjects = async (
556
- object: ReactiveEchoObject<any>,
496
+ object: AnyLiveObject<any>,
557
497
  resolve: (typename: string) => Record<string, any>,
558
- ): Promise<ReactiveEchoObject<any>[]> => {
498
+ ): Promise<AnyLiveObject<any>[]> => {
559
499
  const type = getTypename(object);
560
500
  if (!type) {
561
501
  return [];
@@ -567,7 +507,7 @@ export const getNestedObjects = async (
567
507
  return [];
568
508
  }
569
509
 
570
- const objects: ReactiveEchoObject<any>[] = await loadReferences(object);
510
+ const objects: AnyLiveObject<any>[] = await loadReferences(object);
571
511
  const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));
572
512
  return [...objects, ...nested.flat()];
573
513
  };