@dxos/plugin-space 0.8.1-staging.5be625a → 0.8.1-staging.9eaf14f

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 (233) hide show
  1. package/dist/lib/browser/{app-graph-builder-VHO33TWC.mjs → app-graph-builder-GMFCSOLG.mjs} +32 -5
  2. package/dist/lib/browser/app-graph-builder-GMFCSOLG.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-F3ASSBHI.mjs → app-graph-serializer-DSF2U3A5.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-RZ7IWZW3.mjs → chunk-5BDV575R.mjs} +18 -10
  5. package/dist/lib/browser/{chunk-RZ7IWZW3.mjs.map → chunk-5BDV575R.mjs.map} +2 -2
  6. package/dist/lib/browser/{chunk-HSC56GUH.mjs → chunk-AYW4IDRT.mjs} +10 -4
  7. package/dist/lib/browser/chunk-AYW4IDRT.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-4CTAR2NQ.mjs → chunk-JZXWPMLA.mjs} +849 -583
  9. package/dist/lib/browser/chunk-JZXWPMLA.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-O7LODPTY.mjs → chunk-KVRYWFZU.mjs} +2 -2
  11. package/dist/lib/browser/chunk-KVRYWFZU.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-3UOTYBKX.mjs → chunk-LO5UL6RU.mjs} +44 -12
  13. package/dist/lib/browser/chunk-LO5UL6RU.mjs.map +7 -0
  14. package/dist/lib/browser/{identity-created-YSJQAFUZ.mjs → identity-created-JR7BNXFH.mjs} +2 -2
  15. package/dist/lib/browser/index.mjs +33 -38
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-OQ243G6B.mjs → intent-resolver-RKYILWWQ.mjs} +65 -42
  18. package/dist/lib/browser/intent-resolver-RKYILWWQ.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-root-5CIQKAFC.mjs → react-root-6H7NX2M2.mjs} +5 -5
  21. package/dist/lib/browser/{react-surface-SEBYKQD5.mjs → react-surface-7AGLOVMK.mjs} +35 -35
  22. package/dist/lib/browser/react-surface-7AGLOVMK.mjs.map +7 -0
  23. package/dist/lib/browser/{schema-UOCBWGA4.mjs → schema-FHTA26SW.mjs} +2 -2
  24. package/dist/lib/browser/{schema-tools-6J5ZEDBC.mjs → schema-tools-YAXPRIXP.mjs} +3 -3
  25. package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +7 -0
  26. package/dist/lib/browser/{settings-C4ZEZTJF.mjs → settings-PJPTJUPE.mjs} +2 -2
  27. package/dist/lib/browser/{spaces-ready-EWHXCOBW.mjs → spaces-ready-BSSP7HHG.mjs} +7 -7
  28. package/dist/lib/browser/spaces-ready-BSSP7HHG.mjs.map +7 -0
  29. package/dist/lib/browser/{state-BUM7SQUV.mjs → state-X7VLCC6E.mjs} +4 -2
  30. package/dist/lib/browser/state-X7VLCC6E.mjs.map +7 -0
  31. package/dist/lib/browser/types/index.mjs +1 -1
  32. package/dist/lib/node/{app-graph-builder-DFCMCAMT.cjs → app-graph-builder-DPY7AUZE.cjs} +63 -36
  33. package/dist/lib/node/app-graph-builder-DPY7AUZE.cjs.map +7 -0
  34. package/dist/lib/node/{app-graph-serializer-7O35O6SV.cjs → app-graph-serializer-JELGJUAY.cjs} +20 -20
  35. package/dist/lib/node/{chunk-LRW6ZBDX.cjs → chunk-3GKCNADA.cjs} +903 -644
  36. package/dist/lib/node/chunk-3GKCNADA.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-GRM6AGWI.cjs → chunk-IKIDS6XF.cjs} +5 -5
  38. package/dist/lib/node/chunk-IKIDS6XF.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-FOYDT2Z3.cjs → chunk-PU2EYH4E.cjs} +22 -14
  40. package/dist/lib/node/{chunk-FOYDT2Z3.cjs.map → chunk-PU2EYH4E.cjs.map} +2 -2
  41. package/dist/lib/node/{chunk-K3HRT4CT.cjs → chunk-TUZWEPGX.cjs} +78 -46
  42. package/dist/lib/node/chunk-TUZWEPGX.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-MFVXBJQJ.cjs → chunk-WDEIFDTX.cjs} +12 -6
  44. package/dist/lib/node/chunk-WDEIFDTX.cjs.map +7 -0
  45. package/dist/lib/node/{identity-created-YNPY3SHI.cjs → identity-created-XU4HFV2T.cjs} +6 -6
  46. package/dist/lib/node/index.cjs +80 -85
  47. package/dist/lib/node/index.cjs.map +3 -3
  48. package/dist/lib/node/{intent-resolver-G5CNUJCN.cjs → intent-resolver-VJ7YV74L.cjs} +123 -99
  49. package/dist/lib/node/intent-resolver-VJ7YV74L.cjs.map +7 -0
  50. package/dist/lib/node/meta.json +1 -1
  51. package/dist/lib/node/{react-root-GUOHMGWR.cjs → react-root-TEL5RW3N.cjs} +10 -10
  52. package/dist/lib/node/{react-surface-NDV3KMWF.cjs → react-surface-2H3S5TY5.cjs} +66 -65
  53. package/dist/lib/node/react-surface-2H3S5TY5.cjs.map +7 -0
  54. package/dist/lib/node/{schema-EERAOETL.cjs → schema-PPJ5BZ3A.cjs} +6 -6
  55. package/dist/lib/node/{schema-tools-OZS4OC6X.cjs → schema-tools-BLIMOZYY.cjs} +5 -5
  56. package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +7 -0
  57. package/dist/lib/node/{settings-JS6D6VHU.cjs → settings-WVFP2UEP.cjs} +6 -6
  58. package/dist/lib/node/{spaces-ready-WNOF2MAQ.cjs → spaces-ready-7DNZSUOG.cjs} +15 -15
  59. package/dist/lib/node/spaces-ready-7DNZSUOG.cjs.map +7 -0
  60. package/dist/lib/node/{state-AIETH3DE.cjs → state-5KX6WBJH.cjs} +8 -6
  61. package/dist/lib/node/state-5KX6WBJH.cjs.map +7 -0
  62. package/dist/lib/node/types/index.cjs +12 -12
  63. package/dist/lib/node/types/index.cjs.map +1 -1
  64. package/dist/lib/node-esm/{app-graph-builder-3VUKZI7U.mjs → app-graph-builder-42IGWRPL.mjs} +32 -5
  65. package/dist/lib/node-esm/app-graph-builder-42IGWRPL.mjs.map +7 -0
  66. package/dist/lib/node-esm/{app-graph-serializer-PM4PTZK6.mjs → app-graph-serializer-FXONFKOE.mjs} +4 -4
  67. package/dist/lib/node-esm/{chunk-YA6FCGDI.mjs → chunk-3ZOUV4DF.mjs} +18 -10
  68. package/dist/lib/node-esm/{chunk-YA6FCGDI.mjs.map → chunk-3ZOUV4DF.mjs.map} +2 -2
  69. package/dist/lib/node-esm/{chunk-5YP3LY6A.mjs → chunk-BEWBZ4Q4.mjs} +849 -583
  70. package/dist/lib/node-esm/chunk-BEWBZ4Q4.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-B6QDEMFR.mjs → chunk-FC4UHDPL.mjs} +10 -4
  72. package/dist/lib/node-esm/chunk-FC4UHDPL.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-AJ4IZAKT.mjs → chunk-PIYAWT5N.mjs} +2 -2
  74. package/dist/lib/node-esm/chunk-PIYAWT5N.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-A4XT5SLD.mjs → chunk-ZGLK25WQ.mjs} +44 -12
  76. package/dist/lib/node-esm/chunk-ZGLK25WQ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-SEMQDDNJ.mjs → identity-created-WJKAS2PV.mjs} +2 -2
  78. package/dist/lib/node-esm/index.mjs +33 -38
  79. package/dist/lib/node-esm/index.mjs.map +3 -3
  80. package/dist/lib/node-esm/{intent-resolver-YMFEX5XN.mjs → intent-resolver-ZFNSA4CM.mjs} +65 -42
  81. package/dist/lib/node-esm/intent-resolver-ZFNSA4CM.mjs.map +7 -0
  82. package/dist/lib/node-esm/meta.json +1 -1
  83. package/dist/lib/node-esm/{react-root-ROENLKSY.mjs → react-root-PRBJMWLQ.mjs} +5 -5
  84. package/dist/lib/node-esm/{react-surface-OLDKADHX.mjs → react-surface-RCZG2PNF.mjs} +35 -35
  85. package/dist/lib/node-esm/react-surface-RCZG2PNF.mjs.map +7 -0
  86. package/dist/lib/node-esm/{schema-LOOOBN6J.mjs → schema-OUZKVYM5.mjs} +2 -2
  87. package/dist/lib/node-esm/{schema-tools-KJVXGDBO.mjs → schema-tools-IU7EX5A5.mjs} +3 -3
  88. package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +7 -0
  89. package/dist/lib/node-esm/{settings-B2AS4EGA.mjs → settings-FJZPC2TV.mjs} +2 -2
  90. package/dist/lib/node-esm/{spaces-ready-2SKD2XCY.mjs → spaces-ready-7X5PGB2V.mjs} +7 -7
  91. package/dist/lib/node-esm/spaces-ready-7X5PGB2V.mjs.map +7 -0
  92. package/dist/lib/node-esm/{state-DWUAP6MH.mjs → state-Z6E2YTNC.mjs} +4 -2
  93. package/dist/lib/node-esm/state-Z6E2YTNC.mjs.map +7 -0
  94. package/dist/lib/node-esm/types/index.mjs +1 -1
  95. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/capabilities.d.ts +4 -3
  98. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/index.d.ts +0 -1
  100. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -2
  102. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  105. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  106. package/dist/types/src/components/MembersContainer.d.ts +7 -0
  107. package/dist/types/src/components/MembersContainer.d.ts.map +1 -0
  108. package/dist/types/src/components/MembersContainer.stories.d.ts +8 -0
  109. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -0
  110. package/dist/types/src/components/ObjectSettingsContainer/AdvancedObjectSettings.d.ts.map +1 -0
  111. package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts +8 -0
  112. package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts.map +1 -0
  113. package/dist/types/src/components/ObjectSettingsContainer/ForeignKeys.d.ts.map +1 -0
  114. package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts +8 -0
  115. package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts.map +1 -0
  116. package/dist/types/src/components/ObjectSettingsContainer/index.d.ts +2 -0
  117. package/dist/types/src/components/ObjectSettingsContainer/index.d.ts.map +1 -0
  118. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  119. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts +7 -0
  120. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts.map +1 -0
  121. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts +7 -0
  122. package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts.map +1 -0
  123. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +9 -0
  124. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -0
  125. package/dist/types/src/components/SpaceSettings/index.d.ts +2 -2
  126. package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
  127. package/dist/types/src/components/index.d.ts +2 -2
  128. package/dist/types/src/components/index.d.ts.map +1 -1
  129. package/dist/types/src/events.d.ts +1 -1
  130. package/dist/types/src/events.d.ts.map +1 -1
  131. package/dist/types/src/translations.d.ts +48 -24
  132. package/dist/types/src/translations.d.ts.map +1 -1
  133. package/dist/types/src/types/thread.d.ts +2 -0
  134. package/dist/types/src/types/thread.d.ts.map +1 -1
  135. package/dist/types/src/types/types.d.ts +8 -0
  136. package/dist/types/src/types/types.d.ts.map +1 -1
  137. package/dist/types/src/util.d.ts +12 -0
  138. package/dist/types/src/util.d.ts.map +1 -1
  139. package/package.json +44 -42
  140. package/src/SpacePlugin.tsx +6 -10
  141. package/src/capabilities/app-graph-builder.ts +20 -0
  142. package/src/capabilities/capabilities.ts +3 -3
  143. package/src/capabilities/intent-resolver.ts +63 -37
  144. package/src/capabilities/react-surface.tsx +27 -26
  145. package/src/capabilities/schema-tools.ts +2 -2
  146. package/src/capabilities/spaces-ready.ts +3 -3
  147. package/src/capabilities/state.ts +2 -0
  148. package/src/components/CreateDialog/CreateObjectPanel.tsx +6 -6
  149. package/src/components/JoinDialog.tsx +43 -27
  150. package/src/components/MembersContainer.stories.tsx +34 -0
  151. package/src/components/MembersContainer.tsx +257 -0
  152. package/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.tsx +2 -2
  153. package/src/components/{BaseObjectSettings.tsx → ObjectSettingsContainer/BaseObjectSettings.tsx} +16 -11
  154. package/src/components/ObjectSettingsContainer/ObjectSettingsContainer.tsx +36 -0
  155. package/src/components/ObjectSettingsContainer/index.ts +5 -0
  156. package/src/components/SpacePresence.tsx +25 -23
  157. package/src/components/SpaceSettings/{SpaceSettingsPanel.stories.tsx → SpacePropertiesForm.stories.tsx} +6 -6
  158. package/src/components/SpaceSettings/SpacePropertiesForm.tsx +136 -0
  159. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +63 -0
  160. package/src/components/SpaceSettings/index.ts +2 -2
  161. package/src/components/SyncStatus/SyncStatus.tsx +1 -1
  162. package/src/components/SyncStatus/save-tracker.ts +5 -5
  163. package/src/components/index.ts +2 -2
  164. package/src/events.ts +2 -2
  165. package/src/translations.ts +19 -8
  166. package/src/types/types.ts +12 -6
  167. package/src/util.tsx +29 -7
  168. package/dist/lib/browser/app-graph-builder-VHO33TWC.mjs.map +0 -7
  169. package/dist/lib/browser/chunk-3UOTYBKX.mjs.map +0 -7
  170. package/dist/lib/browser/chunk-4CTAR2NQ.mjs.map +0 -7
  171. package/dist/lib/browser/chunk-HSC56GUH.mjs.map +0 -7
  172. package/dist/lib/browser/chunk-O7LODPTY.mjs.map +0 -7
  173. package/dist/lib/browser/intent-resolver-OQ243G6B.mjs.map +0 -7
  174. package/dist/lib/browser/react-surface-SEBYKQD5.mjs.map +0 -7
  175. package/dist/lib/browser/schema-tools-6J5ZEDBC.mjs.map +0 -7
  176. package/dist/lib/browser/spaces-ready-EWHXCOBW.mjs.map +0 -7
  177. package/dist/lib/browser/state-BUM7SQUV.mjs.map +0 -7
  178. package/dist/lib/node/app-graph-builder-DFCMCAMT.cjs.map +0 -7
  179. package/dist/lib/node/chunk-GRM6AGWI.cjs.map +0 -7
  180. package/dist/lib/node/chunk-K3HRT4CT.cjs.map +0 -7
  181. package/dist/lib/node/chunk-LRW6ZBDX.cjs.map +0 -7
  182. package/dist/lib/node/chunk-MFVXBJQJ.cjs.map +0 -7
  183. package/dist/lib/node/intent-resolver-G5CNUJCN.cjs.map +0 -7
  184. package/dist/lib/node/react-surface-NDV3KMWF.cjs.map +0 -7
  185. package/dist/lib/node/schema-tools-OZS4OC6X.cjs.map +0 -7
  186. package/dist/lib/node/spaces-ready-WNOF2MAQ.cjs.map +0 -7
  187. package/dist/lib/node/state-AIETH3DE.cjs.map +0 -7
  188. package/dist/lib/node-esm/app-graph-builder-3VUKZI7U.mjs.map +0 -7
  189. package/dist/lib/node-esm/chunk-5YP3LY6A.mjs.map +0 -7
  190. package/dist/lib/node-esm/chunk-A4XT5SLD.mjs.map +0 -7
  191. package/dist/lib/node-esm/chunk-AJ4IZAKT.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-B6QDEMFR.mjs.map +0 -7
  193. package/dist/lib/node-esm/intent-resolver-YMFEX5XN.mjs.map +0 -7
  194. package/dist/lib/node-esm/react-surface-OLDKADHX.mjs.map +0 -7
  195. package/dist/lib/node-esm/schema-tools-KJVXGDBO.mjs.map +0 -7
  196. package/dist/lib/node-esm/spaces-ready-2SKD2XCY.mjs.map +0 -7
  197. package/dist/lib/node-esm/state-DWUAP6MH.mjs.map +0 -7
  198. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  199. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +0 -1
  200. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts +0 -2
  201. package/dist/types/src/components/AdvancedObjectSettings/index.d.ts.map +0 -1
  202. package/dist/types/src/components/BaseObjectSettings.d.ts +0 -7
  203. package/dist/types/src/components/BaseObjectSettings.d.ts.map +0 -1
  204. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +0 -11
  205. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +0 -1
  206. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.stories.d.ts +0 -7
  207. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.stories.d.ts.map +0 -1
  208. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +0 -7
  209. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +0 -1
  210. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts +0 -7
  211. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +0 -1
  212. package/src/components/AdvancedObjectSettings/index.ts +0 -5
  213. package/src/components/SpaceSettings/SpaceSettingsDialog.stories.tsx +0 -43
  214. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +0 -120
  215. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +0 -83
  216. /package/dist/lib/browser/{app-graph-serializer-F3ASSBHI.mjs.map → app-graph-serializer-DSF2U3A5.mjs.map} +0 -0
  217. /package/dist/lib/browser/{identity-created-YSJQAFUZ.mjs.map → identity-created-JR7BNXFH.mjs.map} +0 -0
  218. /package/dist/lib/browser/{react-root-5CIQKAFC.mjs.map → react-root-6H7NX2M2.mjs.map} +0 -0
  219. /package/dist/lib/browser/{schema-UOCBWGA4.mjs.map → schema-FHTA26SW.mjs.map} +0 -0
  220. /package/dist/lib/browser/{settings-C4ZEZTJF.mjs.map → settings-PJPTJUPE.mjs.map} +0 -0
  221. /package/dist/lib/node/{app-graph-serializer-7O35O6SV.cjs.map → app-graph-serializer-JELGJUAY.cjs.map} +0 -0
  222. /package/dist/lib/node/{identity-created-YNPY3SHI.cjs.map → identity-created-XU4HFV2T.cjs.map} +0 -0
  223. /package/dist/lib/node/{react-root-GUOHMGWR.cjs.map → react-root-TEL5RW3N.cjs.map} +0 -0
  224. /package/dist/lib/node/{schema-EERAOETL.cjs.map → schema-PPJ5BZ3A.cjs.map} +0 -0
  225. /package/dist/lib/node/{settings-JS6D6VHU.cjs.map → settings-WVFP2UEP.cjs.map} +0 -0
  226. /package/dist/lib/node-esm/{app-graph-serializer-PM4PTZK6.mjs.map → app-graph-serializer-FXONFKOE.mjs.map} +0 -0
  227. /package/dist/lib/node-esm/{identity-created-SEMQDDNJ.mjs.map → identity-created-WJKAS2PV.mjs.map} +0 -0
  228. /package/dist/lib/node-esm/{react-root-ROENLKSY.mjs.map → react-root-PRBJMWLQ.mjs.map} +0 -0
  229. /package/dist/lib/node-esm/{schema-LOOOBN6J.mjs.map → schema-OUZKVYM5.mjs.map} +0 -0
  230. /package/dist/lib/node-esm/{settings-B2AS4EGA.mjs.map → settings-FJZPC2TV.mjs.map} +0 -0
  231. /package/dist/types/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.d.ts +0 -0
  232. /package/dist/types/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/ForeignKeys.d.ts +0 -0
  233. /package/src/components/{AdvancedObjectSettings → ObjectSettingsContainer}/ForeignKeys.tsx +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type Expando } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const SPACE_TYPE = 'dxos.org/type/Space';\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends ReactiveEchoObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<ReactiveEchoObject<any>>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<ReactiveEchoObject<any>>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<ReactiveEchoObject<any>>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}members`,\n type: `${SPACE_PLUGIN}/members`,\n data: space,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n disposition: 'hidden',\n },\n },\n {\n id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}settings`,\n type: `${SPACE_PLUGIN}/settings`,\n data: space,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--gear--regular',\n disposition: 'hidden',\n },\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n const locked = space.properties[COMPOSER_SPACE_LOCK];\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Share._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n return;\n }\n await dispatch(createIntent(SpaceAction.Share, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n disabled: locked,\n disposition: 'list-item-primary',\n iconOnly: false,\n variant: 'default',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n await dispatch(createIntent(SpaceAction.Unlock, { space }));\n } else {\n await dispatch(createIntent(SpaceAction.Lock, { space }));\n }\n },\n properties: {\n label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],\n icon: locked ? 'ph--lock-simple-open--regular' : 'ph--lock-simple--regular',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n {\n id: getId(SpaceAction.OpenSettings._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n );\n }\n\n // TODO(wittjosiah): Consider moving close space into the space settings dialog.\n if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Close._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Close, { space }));\n },\n properties: {\n label: ['close space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--x--regular',\n disabled: personal,\n },\n });\n }\n\n if (state === SpaceState.SPACE_INACTIVE) {\n actions.push({\n id: getId(SpaceAction.Open._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Open, { space }));\n },\n properties: {\n label: ['open space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--clock-counter-clockwise--regular',\n disposition: 'list-item-primary',\n },\n });\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: ReactiveEchoObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<ReactiveEchoObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isReactiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: ReactiveEchoObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<ReactiveEchoObject<any>[]> => {\n const type = getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: ReactiveEchoObject<any>[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getTypeAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["createIntent", "LayoutAction", "EXPANDO_TYPENAME", "getTypeAnnotation", "getTypename", "invariant", "getSchema", "isReactiveObject", "makeRef", "Migrations", "ATTENDABLE_PATH_SEPARATOR", "ACTION_GROUP_TYPE", "ACTION_TYPE", "cleanup", "getGraph", "memoize", "Filter", "fullyQualifiedId", "getSpace", "isEchoObject", "isSpace", "SpaceState", "SPACES", "SPACE_PLUGIN", "SPACE_TYPE", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "cacheable", "label", "description", "hue", "icon", "disabled", "testId", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "locked", "OpenCreateObject", "ACTION_TYPE", "Share", "iconOnly", "variant", "keyBinding", "macos", "windows", "Unlock", "Lock", "Rename", "params", "caller", "OpenSettings", "SPACE_INACTIVE", "Close", "Open", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isReactiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getTypeAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CollectionType
3
- } from "./chunk-HSC56GUH.mjs";
3
+ } from "./chunk-AYW4IDRT.mjs";
4
4
  import "./chunk-PTKYMZWO.mjs";
5
5
 
6
6
  // packages/plugins/plugin-space/src/capabilities/identity-created.ts
@@ -25,4 +25,4 @@ var identity_created_default = async (context) => {
25
25
  export {
26
26
  identity_created_default as default
27
27
  };
28
- //# sourceMappingURL=identity-created-YSJQAFUZ.mjs.map
28
+ //# sourceMappingURL=identity-created-JR7BNXFH.mjs.map
@@ -1,12 +1,10 @@
1
1
  import {
2
2
  translations_default
3
- } from "./chunk-RZ7IWZW3.mjs";
3
+ } from "./chunk-5BDV575R.mjs";
4
4
  import {
5
- AdvancedObjectSettings,
6
5
  AppGraphBuilder,
7
6
  AppGraphSerializer,
8
7
  AwaitingObject,
9
- BaseObjectSettings,
10
8
  CREATE_OBJECT_DIALOG,
11
9
  CREATE_SPACE_DIALOG,
12
10
  CollectionMain,
@@ -19,7 +17,9 @@ import {
19
17
  IntentResolver,
20
18
  JOIN_DIALOG,
21
19
  JoinDialog,
20
+ MembersContainer,
22
21
  MenuFooter,
22
+ ObjectSettingsContainer,
23
23
  POPOVER_ADD_SPACE,
24
24
  POPOVER_RENAME_OBJECT,
25
25
  POPOVER_RENAME_SPACE,
@@ -37,20 +37,20 @@ import {
37
37
  SmallPresenceLive,
38
38
  SpacePluginSettings,
39
39
  SpacePresence,
40
+ SpacePropertiesForm,
40
41
  SpaceSettings,
41
- SpaceSettingsDialog,
42
- SpaceSettingsPanel,
42
+ SpaceSettingsContainer,
43
43
  SpaceState,
44
44
  SpacesReady,
45
45
  SyncStatus,
46
46
  SyncStatusDetail,
47
47
  SyncStatusIndicator,
48
48
  Tools
49
- } from "./chunk-4CTAR2NQ.mjs";
49
+ } from "./chunk-JZXWPMLA.mjs";
50
50
  import {
51
51
  SpaceCapabilities,
52
52
  ThreadCapabilities
53
- } from "./chunk-O7LODPTY.mjs";
53
+ } from "./chunk-KVRYWFZU.mjs";
54
54
  import {
55
55
  COMPOSER_SPACE_LOCK,
56
56
  SHARED,
@@ -65,23 +65,23 @@ import {
65
65
  getNestedObjects,
66
66
  getSpaceDisplayName,
67
67
  memoizeQuery
68
- } from "./chunk-3UOTYBKX.mjs";
68
+ } from "./chunk-LO5UL6RU.mjs";
69
69
  import {
70
70
  CollectionAction,
71
71
  CollectionType,
72
72
  defineObjectForm
73
- } from "./chunk-HSC56GUH.mjs";
73
+ } from "./chunk-AYW4IDRT.mjs";
74
74
  import {
75
75
  SPACE_PLUGIN,
76
76
  meta
77
77
  } from "./chunk-PTKYMZWO.mjs";
78
78
 
79
79
  // packages/plugins/plugin-space/src/events.ts
80
- import { defineEvent } from "@dxos/app-framework";
80
+ import { defineEvent, Events } from "@dxos/app-framework";
81
81
  var SpaceEvents;
82
82
  (function(SpaceEvents2) {
83
+ SpaceEvents2.StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);
83
84
  SpaceEvents2.SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);
84
- SpaceEvents2.StateReady = defineEvent(`${SPACE_PLUGIN}/event/state-ready`);
85
85
  SpaceEvents2.DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);
86
86
  })(SpaceEvents || (SpaceEvents = {}));
87
87
  var ThreadEvents;
@@ -90,13 +90,11 @@ var ThreadEvents;
90
90
  })(ThreadEvents || (ThreadEvents = {}));
91
91
 
92
92
  // packages/plugins/plugin-space/src/SpacePlugin.tsx
93
- import { allOf, Capabilities, contributes, createIntent, defineModule, definePlugin, Events, oneOf } from "@dxos/app-framework";
93
+ import { allOf, Capabilities, contributes, createIntent, defineModule, definePlugin, Events as Events2, oneOf } from "@dxos/app-framework";
94
94
  import { S } from "@dxos/echo-schema";
95
95
  import { RefArray } from "@dxos/live-object";
96
96
  import { AttentionEvents } from "@dxos/plugin-attention";
97
97
  import { ClientEvents } from "@dxos/plugin-client";
98
- import { DeckCapabilities, DeckEvents } from "@dxos/plugin-deck";
99
- import { isEchoObject, getSpace } from "@dxos/react-client/echo";
100
98
  import { osTranslations } from "@dxos/shell/react";
101
99
  var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability = true } = {}) => {
102
100
  const createInvitationUrl = (invitationCode) => {
@@ -110,7 +108,7 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
110
108
  // TODO(wittjosiah): Does not integrate with settings store.
111
109
  // Should this be a different event?
112
110
  // Should settings store be renamed to be more generic?
113
- activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),
111
+ activatesOn: oneOf(Events2.SetupSettings, Events2.SetupAppGraph),
114
112
  activatesAfter: [
115
113
  SpaceEvents.StateReady
116
114
  ],
@@ -118,12 +116,12 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
118
116
  }),
119
117
  defineModule({
120
118
  id: `${meta.id}/module/settings`,
121
- activatesOn: Events.SetupSettings,
119
+ activatesOn: Events2.SetupSettings,
122
120
  activate: SpaceSettings
123
121
  }),
124
122
  defineModule({
125
123
  id: `${meta.id}/module/translations`,
126
- activatesOn: Events.SetupTranslations,
124
+ activatesOn: Events2.SetupTranslations,
127
125
  activate: () => contributes(Capabilities.Translations, [
128
126
  ...translations_default,
129
127
  osTranslations
@@ -131,7 +129,7 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
131
129
  }),
132
130
  defineModule({
133
131
  id: `${meta.id}/module/metadata`,
134
- activatesOn: Events.SetupMetadata,
132
+ activatesOn: Events2.SetupMetadata,
135
133
  activate: () => contributes(Capabilities.Metadata, {
136
134
  id: CollectionType.typename,
137
135
  metadata: {
@@ -156,19 +154,17 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
156
154
  }))
157
155
  }),
158
156
  defineModule({
159
- id: `${meta.id}/module/complementary-panel`,
160
- activatesOn: DeckEvents.SetupComplementaryPanels,
161
- activate: () => contributes(DeckCapabilities.ComplementaryPanel, {
162
- id: "settings",
157
+ id: `${meta.id}/module/space-settings`,
158
+ activatesOn: SpaceEvents.SetupSettingsPanel,
159
+ activate: () => contributes(SpaceCapabilities.SettingsSection, {
160
+ id: "properties",
163
161
  label: [
164
- "settings panel label",
162
+ "space settings properties label",
165
163
  {
166
164
  ns: SPACE_PLUGIN
167
165
  }
168
166
  ],
169
- icon: "ph--sliders--regular",
170
- position: "hoist",
171
- filter: (node) => isEchoObject(node.data) && !!getSpace(node.data)
167
+ position: "hoist"
172
168
  })
173
169
  }),
174
170
  defineModule({
@@ -181,12 +177,12 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
181
177
  }),
182
178
  defineModule({
183
179
  id: `${meta.id}/module/react-root`,
184
- activatesOn: Events.Startup,
180
+ activatesOn: Events2.Startup,
185
181
  activate: ReactRoot
186
182
  }),
187
183
  defineModule({
188
184
  id: `${meta.id}/module/react-surface`,
189
- activatesOn: Events.SetupReactSurface,
185
+ activatesOn: Events2.SetupReactSurface,
190
186
  // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.
191
187
  activatesBefore: [
192
188
  SpaceEvents.SetupSettingsPanel
@@ -197,22 +193,21 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
197
193
  }),
198
194
  defineModule({
199
195
  id: `${meta.id}/module/intent-resolver`,
200
- activatesOn: Events.SetupIntentResolver,
196
+ activatesOn: Events2.SetupIntentResolver,
201
197
  activate: (context) => IntentResolver({
202
- createInvitationUrl,
203
198
  context,
204
199
  observability
205
200
  })
206
201
  }),
207
202
  defineModule({
208
203
  id: `${meta.id}/module/app-graph-builder`,
209
- activatesOn: Events.SetupAppGraph,
204
+ activatesOn: Events2.SetupAppGraph,
210
205
  activate: AppGraphBuilder
211
206
  }),
212
207
  // TODO(wittjosiah): This could probably be deferred.
213
208
  defineModule({
214
209
  id: `${meta.id}/module/app-graph-serializer`,
215
- activatesOn: Events.AppGraphReady,
210
+ activatesOn: Events2.AppGraphReady,
216
211
  activate: AppGraphSerializer
217
212
  }),
218
213
  defineModule({
@@ -225,20 +220,18 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
225
220
  }),
226
221
  defineModule({
227
222
  id: `${meta.id}/module/spaces-ready`,
228
- activatesOn: allOf(Events.DispatcherReady, Events.LayoutReady, Events.AppGraphReady, AttentionEvents.AttentionReady, SpaceEvents.StateReady, ClientEvents.SpacesReady),
223
+ activatesOn: allOf(Events2.DispatcherReady, Events2.LayoutReady, Events2.AppGraphReady, AttentionEvents.AttentionReady, SpaceEvents.StateReady, ClientEvents.SpacesReady),
229
224
  activate: SpacesReady
230
225
  }),
231
226
  defineModule({
232
227
  id: `${meta.id}/module/tools`,
233
- activatesOn: Events.SetupArtifactDefinition,
228
+ activatesOn: Events2.SetupArtifactDefinition,
234
229
  activate: Tools
235
230
  })
236
231
  ]);
237
232
  };
238
233
  export {
239
- AdvancedObjectSettings,
240
234
  AwaitingObject,
241
- BaseObjectSettings,
242
235
  COMPOSER_SPACE_LOCK,
243
236
  CREATE_OBJECT_DIALOG,
244
237
  CREATE_SPACE_DIALOG,
@@ -250,7 +243,9 @@ export {
250
243
  InlineSyncStatus,
251
244
  JOIN_DIALOG,
252
245
  JoinDialog,
246
+ MembersContainer,
253
247
  MenuFooter,
248
+ ObjectSettingsContainer,
254
249
  POPOVER_ADD_SPACE,
255
250
  POPOVER_RENAME_OBJECT,
256
251
  POPOVER_RENAME_SPACE,
@@ -272,8 +267,8 @@ export {
272
267
  SpacePlugin,
273
268
  SpacePluginSettings,
274
269
  SpacePresence,
275
- SpaceSettingsDialog,
276
- SpaceSettingsPanel,
270
+ SpacePropertiesForm,
271
+ SpaceSettingsContainer,
277
272
  SyncStatus,
278
273
  SyncStatusDetail,
279
274
  SyncStatusIndicator,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/SpacePlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const StateReady = defineEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { DeckCapabilities, DeckEvents } from '@dxos/plugin-deck';\nimport { isEchoObject, getSpace } from '@dxos/react-client/echo';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n Schema,\n Tools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta, SPACE_PLUGIN } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = true,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await RefArray.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: CollectionType,\n formSchema: S.Struct({ name: S.optional(S.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/complementary-panel`,\n activatesOn: DeckEvents.SetupComplementaryPanels,\n activate: () =>\n contributes(DeckCapabilities.ComplementaryPanel, {\n id: 'settings',\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n filter: (node) => isEchoObject(node.data) && !!getSpace(node.data),\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: Schema,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ createInvitationUrl, context, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: Tools,\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["defineEvent", "SpaceEvents", "SetupSettingsPanel", "defineEvent", "SPACE_PLUGIN", "StateReady", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "S", "RefArray", "AttentionEvents", "ClientEvents", "DeckCapabilities", "DeckEvents", "isEchoObject", "getSpace", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "S", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "DeckEvents", "SetupComplementaryPanels", "DeckCapabilities", "ComplementaryPanel", "label", "ns", "SPACE_PLUGIN", "position", "filter", "node", "isEchoObject", "data", "getSpace", "ClientReady", "activatesBefore", "Schema", "Startup", "ReactRoot", "SetupReactSurface", "SetupSettingsPanel", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "Tools"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n Schema,\n Tools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta, SPACE_PLUGIN } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = true,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await RefArray.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: CollectionType,\n formSchema: S.Struct({ name: S.optional(S.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/space-settings`,\n activatesOn: SpaceEvents.SetupSettingsPanel,\n activate: () =>\n contributes(SpaceCapabilities.SettingsSection, {\n id: 'properties',\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n position: 'hoist',\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: Schema,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: Tools,\n }),\n ]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["defineEvent", "Events", "SpaceEvents", "StateReady", "Events", "createStateEvent", "SPACE_PLUGIN", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "S", "RefArray", "AttentionEvents", "ClientEvents", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "S", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "SetupSettingsPanel", "SettingsSection", "label", "ns", "SPACE_PLUGIN", "position", "ClientReady", "activatesBefore", "Schema", "Startup", "ReactRoot", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "Tools"]
7
7
  }
@@ -4,40 +4,40 @@ import {
4
4
  JOIN_DIALOG,
5
5
  POPOVER_ADD_SPACE,
6
6
  POPOVER_RENAME_OBJECT,
7
- POPOVER_RENAME_SPACE,
8
- SPACE_SETTINGS_DIALOG
9
- } from "./chunk-4CTAR2NQ.mjs";
7
+ POPOVER_RENAME_SPACE
8
+ } from "./chunk-JZXWPMLA.mjs";
10
9
  import {
11
10
  SpaceCapabilities
12
- } from "./chunk-O7LODPTY.mjs";
11
+ } from "./chunk-KVRYWFZU.mjs";
13
12
  import {
14
13
  COMPOSER_SPACE_LOCK,
15
14
  cloneObject,
16
15
  getNestedObjects
17
- } from "./chunk-3UOTYBKX.mjs";
16
+ } from "./chunk-LO5UL6RU.mjs";
18
17
  import {
19
18
  CollectionAction,
20
19
  CollectionType,
21
20
  SpaceAction
22
- } from "./chunk-HSC56GUH.mjs";
21
+ } from "./chunk-AYW4IDRT.mjs";
23
22
  import {
24
23
  SPACE_PLUGIN
25
24
  } from "./chunk-PTKYMZWO.mjs";
26
25
 
27
26
  // packages/plugins/plugin-space/src/capabilities/intent-resolver.ts
28
- import { Capabilities, contributes, createIntent, createResolver, LayoutAction } from "@dxos/app-framework";
27
+ import { pipe } from "effect";
28
+ import { Capabilities, chain, contributes, createIntent, createResolver, LayoutAction } from "@dxos/app-framework";
29
29
  import { getTypename } from "@dxos/echo-schema";
30
30
  import { invariant } from "@dxos/invariant";
31
31
  import { create, makeRef } from "@dxos/live-object";
32
32
  import { Migrations } from "@dxos/migrations";
33
- import { AttentionCapabilities } from "@dxos/plugin-attention";
34
33
  import { ClientCapabilities } from "@dxos/plugin-client";
34
+ import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
35
35
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
36
36
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
37
37
  import { isSpace, getSpace, SpaceState, fullyQualifiedId, isEchoObject } from "@dxos/react-client/echo";
38
38
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/capabilities/intent-resolver.ts";
39
39
  var SPACE_MAX_OBJECTS = 500;
40
- var intent_resolver_default = ({ createInvitationUrl, context, observability }) => {
40
+ var intent_resolver_default = ({ context, observability }) => {
41
41
  const resolve = (typename) => context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
42
42
  return contributes(Capabilities.IntentResolver, [
43
43
  createResolver({
@@ -96,7 +96,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
96
96
  }),
97
97
  createResolver({
98
98
  intent: SpaceAction.Join,
99
- resolve: ({ invitationCode }) => ({
99
+ resolve: ({ invitationCode, onDone }) => ({
100
100
  intents: [
101
101
  createIntent(LayoutAction.UpdateDialog, {
102
102
  part: "dialog",
@@ -104,7 +104,8 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
104
104
  options: {
105
105
  blockAlign: "start",
106
106
  props: {
107
- initialInvitationCode: invitationCode
107
+ initialInvitationCode: invitationCode,
108
+ onDone
108
109
  }
109
110
  }
110
111
  })
@@ -115,29 +116,37 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
115
116
  intent: SpaceAction.Share,
116
117
  filter: (data) => !data.space.properties[COMPOSER_SPACE_LOCK],
117
118
  resolve: ({ space }) => {
118
- const attention = context.requestCapability(AttentionCapabilities.Attention);
119
- const current = attention.current.at(-1);
120
- const target = current?.startsWith(space.id) ? current : void 0;
119
+ const layout = context.requestCapability(Capabilities.Layout);
120
+ const id = `${space.id}${ATTENDABLE_PATH_SEPARATOR}members`;
121
+ if (layout.active.includes(id)) {
122
+ return {
123
+ intents: [
124
+ createIntent(LayoutAction.ScrollIntoView, {
125
+ part: "current",
126
+ subject: id
127
+ })
128
+ ]
129
+ };
130
+ }
121
131
  return {
122
132
  intents: [
123
- createIntent(LayoutAction.UpdateDialog, {
124
- part: "dialog",
125
- subject: SPACE_SETTINGS_DIALOG,
133
+ pipe(createIntent(LayoutAction.SwitchWorkspace, {
134
+ part: "workspace",
135
+ subject: space.id
136
+ }), chain(LayoutAction.Open, {
137
+ part: "main",
138
+ subject: [
139
+ space.id
140
+ ],
126
141
  options: {
127
- blockAlign: "start",
128
- props: {
129
- space,
130
- target,
131
- initialTab: "members",
132
- createInvitationUrl
133
- }
142
+ variant: "members"
134
143
  }
135
- }),
144
+ })),
136
145
  ...observability ? [
137
146
  createIntent(ObservabilityAction.SendEvent, {
138
147
  name: "space.share",
139
148
  properties: {
140
- space: space.id
149
+ spaceId: space.id
141
150
  }
142
151
  })
143
152
  ] : []
@@ -218,20 +227,32 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
218
227
  createResolver({
219
228
  intent: SpaceAction.OpenSettings,
220
229
  resolve: ({ space }) => {
230
+ const layout = context.requestCapability(Capabilities.Layout);
231
+ const id = `${space.id}${ATTENDABLE_PATH_SEPARATOR}settings`;
232
+ if (layout.active.includes(id)) {
233
+ return {
234
+ intents: [
235
+ createIntent(LayoutAction.ScrollIntoView, {
236
+ part: "current",
237
+ subject: id
238
+ })
239
+ ]
240
+ };
241
+ }
221
242
  return {
222
243
  intents: [
223
- createIntent(LayoutAction.UpdateDialog, {
224
- part: "dialog",
225
- subject: SPACE_SETTINGS_DIALOG,
244
+ pipe(createIntent(LayoutAction.SwitchWorkspace, {
245
+ part: "workspace",
246
+ subject: space.id
247
+ }), chain(LayoutAction.Open, {
248
+ part: "main",
249
+ subject: [
250
+ space.id
251
+ ],
226
252
  options: {
227
- blockAlign: "start",
228
- props: {
229
- space,
230
- initialTab: "settings",
231
- createInvitationUrl
232
- }
253
+ variant: "settings"
233
254
  }
234
- })
255
+ }))
235
256
  ]
236
257
  };
237
258
  }
@@ -250,14 +271,15 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
250
271
  }),
251
272
  createResolver({
252
273
  intent: SpaceAction.Migrate,
253
- resolve: async ({ space, version }) => {
274
+ resolve: async ({ space, version: targetVersion }) => {
254
275
  const state = context.requestCapability(SpaceCapabilities.MutableState);
255
276
  if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {
256
277
  state.sdkMigrationRunning[space.id] = true;
257
278
  await space.internal.migrate();
258
279
  state.sdkMigrationRunning[space.id] = false;
259
280
  }
260
- const result = await Migrations.migrate(space, version);
281
+ const result = await Migrations.migrate(space, targetVersion);
282
+ const version = Migrations.versionProperty ? space.properties[Migrations.versionProperty] : void 0;
261
283
  return {
262
284
  data: result,
263
285
  intents: [
@@ -266,6 +288,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
266
288
  name: "space.migrate",
267
289
  properties: {
268
290
  spaceId: space.id,
291
+ targetVersion,
269
292
  version
270
293
  }
271
294
  })
@@ -301,7 +324,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
301
324
  const space = isSpace(target) ? target : getSpace(target);
302
325
  invariant(space, "Space not found.", {
303
326
  F: __dxlog_file,
304
- L: 323,
327
+ L: 349,
305
328
  S: void 0,
306
329
  A: [
307
330
  "space",
@@ -410,7 +433,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
410
433
  const space = getSpace(objects[0]);
411
434
  invariant(space && objects.every((obj) => isEchoObject(obj) && getSpace(obj) === space), void 0, {
412
435
  F: __dxlog_file,
413
- L: 402,
436
+ L: 428,
414
437
  S: void 0,
415
438
  A: [
416
439
  "space && objects.every((obj) => isEchoObject(obj) && getSpace(obj) === space)",
@@ -512,7 +535,7 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
512
535
  const space = isSpace(target) ? target : getSpace(target);
513
536
  invariant(space, "Space not found.", {
514
537
  F: __dxlog_file,
515
- L: 516,
538
+ L: 542,
516
539
  S: void 0,
517
540
  A: [
518
541
  "space",
@@ -554,4 +577,4 @@ var intent_resolver_default = ({ createInvitationUrl, context, observability })
554
577
  export {
555
578
  intent_resolver_default as default
556
579
  };
557
- //# sourceMappingURL=intent-resolver-OQ243G6B.mjs.map
580
+ //# sourceMappingURL=intent-resolver-RKYILWWQ.mjs.map