@dxos/plugin-space 0.8.4-main.84f28bd → 0.8.4-main.ae835ea

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/dist/lib/browser/CollectionMain-HTKSZCRR.mjs +31 -0
  2. package/dist/lib/browser/CollectionMain-HTKSZCRR.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs +145 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs +146 -0
  6. package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs.map +7 -0
  7. package/dist/lib/browser/RecordMain-BCSXTSEB.mjs +99 -0
  8. package/dist/lib/browser/RecordMain-BCSXTSEB.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs +520 -0
  10. package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs → app-graph-serializer-3R5NVV7U.mjs} +14 -14
  12. package/dist/lib/browser/app-graph-serializer-3R5NVV7U.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-2NS3VPSY.mjs +20 -0
  14. package/dist/lib/browser/chunk-2NS3VPSY.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-6VLSHG4A.mjs → chunk-4V4JNJ33.mjs} +80 -10
  16. package/dist/lib/browser/chunk-4V4JNJ33.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-GVTXQCIW.mjs → chunk-ENBBJSNE.mjs} +482 -448
  18. package/dist/lib/browser/chunk-ENBBJSNE.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-HS2VD6DN.mjs +166 -0
  20. package/dist/lib/browser/chunk-HS2VD6DN.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-WBSEOLEM.mjs → chunk-OWNBEI5J.mjs} +221 -57
  22. package/dist/lib/browser/chunk-OWNBEI5J.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-S6NY637J.mjs → chunk-SLDQWMQ2.mjs} +77 -12
  24. package/dist/lib/browser/chunk-SLDQWMQ2.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  26. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  28. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-PW2BA46S.mjs} +4 -4
  30. package/dist/lib/browser/{identity-created-23XJJV2N.mjs.map → identity-created-PW2BA46S.mjs.map} +3 -3
  31. package/dist/lib/browser/index.mjs +109 -40
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-WK5WYFH3.mjs → intent-resolver-MBVOLXFQ.mjs} +194 -32
  34. package/dist/lib/browser/intent-resolver-MBVOLXFQ.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/{react-root-7S6FIC5G.mjs → react-root-NKEKCEYM.mjs} +11 -11
  37. package/dist/lib/browser/react-root-NKEKCEYM.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-6C3YJNDK.mjs → react-surface-PYSN2MBY.mjs} +78 -77
  39. package/dist/lib/browser/react-surface-PYSN2MBY.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs → schema-defs-DWYK7TYW.mjs} +5 -5
  41. package/dist/lib/browser/schema-defs-DWYK7TYW.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-XNWYRWNM.mjs → settings-ZUCC3ZLB.mjs} +5 -5
  43. package/dist/lib/browser/{settings-XNWYRWNM.mjs.map → settings-ZUCC3ZLB.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs → spaces-ready-HTWWJHLR.mjs} +18 -16
  45. package/dist/lib/browser/spaces-ready-HTWWJHLR.mjs.map +7 -0
  46. package/dist/lib/browser/{state-522XTUR4.mjs → state-ISVAKMO7.mjs} +7 -7
  47. package/dist/lib/browser/state-ISVAKMO7.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  49. package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs +32 -0
  50. package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs +146 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs +147 -0
  54. package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs +100 -0
  56. package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-TO72W6MI.mjs → app-graph-builder-B23W62HY.mjs} +215 -58
  58. package/dist/lib/node-esm/app-graph-builder-B23W62HY.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs → app-graph-serializer-3Z3EXEEF.mjs} +14 -14
  60. package/dist/lib/node-esm/app-graph-serializer-3Z3EXEEF.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  62. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-SXD6T2N4.mjs → chunk-G4PDWB7G.mjs} +80 -10
  64. package/dist/lib/node-esm/chunk-G4PDWB7G.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  66. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-OUBADVJE.mjs → chunk-KKPCCA5O.mjs} +482 -448
  68. package/dist/lib/node-esm/chunk-KKPCCA5O.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs +167 -0
  70. package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-HJJHLWKY.mjs → chunk-XEVIWD3O.mjs} +221 -57
  72. package/dist/lib/node-esm/chunk-XEVIWD3O.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-2THX6G4C.mjs → chunk-YFQXFQGT.mjs} +77 -12
  74. package/dist/lib/node-esm/chunk-YFQXFQGT.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs +21 -0
  76. package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-MWTLGQRU.mjs} +4 -4
  78. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs.map → identity-created-MWTLGQRU.mjs.map} +3 -3
  79. package/dist/lib/node-esm/index.mjs +109 -40
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-HSR27ME4.mjs → intent-resolver-IWI47NTW.mjs} +194 -32
  82. package/dist/lib/node-esm/intent-resolver-IWI47NTW.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-HUK3ANLV.mjs → react-root-LX7SIG6M.mjs} +11 -11
  85. package/dist/lib/node-esm/react-root-LX7SIG6M.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-AGAWX7DD.mjs → react-surface-6SVGOZNJ.mjs} +78 -77
  87. package/dist/lib/node-esm/react-surface-6SVGOZNJ.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs → schema-defs-EOG2UPJU.mjs} +5 -5
  89. package/dist/lib/node-esm/schema-defs-EOG2UPJU.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-YGKHGFPH.mjs → settings-ZDJNLFGW.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-YGKHGFPH.mjs.map → settings-ZDJNLFGW.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs → spaces-ready-VUGYPF4L.mjs} +18 -16
  93. package/dist/lib/node-esm/spaces-ready-VUGYPF4L.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-C4IOXPZP.mjs → state-QZ4Q6ZRL.mjs} +7 -7
  95. package/dist/lib/node-esm/state-QZ4Q6ZRL.mjs.map +7 -0
  96. package/dist/lib/node-esm/types/index.mjs +2 -2
  97. package/dist/types/src/SpacePlugin.d.ts +1 -1
  98. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  100. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  102. package/dist/types/src/capabilities/capabilities.d.ts +12 -5
  103. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/identity-created.d.ts +1 -1
  105. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/index.d.ts +11 -12
  107. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  109. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  111. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  113. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
  115. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/settings.d.ts +1 -1
  117. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  118. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/state.d.ts +1 -1
  120. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  121. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  122. package/dist/types/src/components/CollectionMain.d.ts +1 -0
  123. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  124. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +5 -4
  125. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  126. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1664 -4
  127. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  128. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -3
  129. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  130. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  131. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  132. package/dist/types/src/components/JoinDialog.d.ts +1 -1
  133. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  134. package/dist/types/src/components/MembersContainer.d.ts +3 -2
  135. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  136. package/dist/types/src/components/MembersContainer.stories.d.ts +1664 -5
  137. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  138. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  139. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  140. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  141. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  142. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  143. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  144. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  145. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  146. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  147. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  148. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1500 -0
  149. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  150. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  151. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  152. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  153. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  154. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  155. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  156. package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
  157. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  158. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -1
  159. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  160. package/dist/types/src/components/RecordMain.d.ts +8 -0
  161. package/dist/types/src/components/RecordMain.d.ts.map +1 -0
  162. package/dist/types/src/components/RecordMain.stories.d.ts +1667 -0
  163. package/dist/types/src/components/RecordMain.stories.d.ts.map +1 -0
  164. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  165. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  166. package/dist/types/src/components/SpacePresence.stories.d.ts +1492 -4
  167. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  168. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  169. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1497 -4
  170. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  171. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  172. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  173. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1498 -5
  174. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  175. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  176. package/dist/types/src/components/ViewEditor.d.ts +8 -0
  177. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  178. package/dist/types/src/components/index.d.ts +13 -2
  179. package/dist/types/src/components/index.d.ts.map +1 -1
  180. package/dist/types/src/events.d.ts +1 -0
  181. package/dist/types/src/events.d.ts.map +1 -1
  182. package/dist/types/src/hooks/index.d.ts +1 -0
  183. package/dist/types/src/hooks/index.d.ts.map +1 -1
  184. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  185. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  186. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  187. package/dist/types/src/hooks/usePath.d.ts +1 -1
  188. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  189. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  190. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  191. package/dist/types/src/meta.d.ts +0 -1
  192. package/dist/types/src/meta.d.ts.map +1 -1
  193. package/dist/types/src/translations.d.ts +1342 -11
  194. package/dist/types/src/translations.d.ts.map +1 -1
  195. package/dist/types/src/types/types.d.ts +128 -66
  196. package/dist/types/src/types/types.d.ts.map +1 -1
  197. package/dist/types/src/util.d.ts +37 -7
  198. package/dist/types/src/util.d.ts.map +1 -1
  199. package/dist/types/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +63 -60
  201. package/src/SpacePlugin.ts +201 -139
  202. package/src/capabilities/app-graph-builder.ts +265 -47
  203. package/src/capabilities/app-graph-serializer.ts +7 -7
  204. package/src/capabilities/capabilities.ts +20 -9
  205. package/src/capabilities/identity-created.ts +1 -1
  206. package/src/capabilities/index.ts +0 -1
  207. package/src/capabilities/intent-resolver.ts +147 -21
  208. package/src/capabilities/react-root.tsx +4 -3
  209. package/src/capabilities/react-surface.tsx +79 -99
  210. package/src/capabilities/schema-defs.ts +3 -2
  211. package/src/capabilities/spaces-ready.ts +11 -8
  212. package/src/capabilities/state.ts +5 -4
  213. package/src/components/AwaitingObject.tsx +7 -9
  214. package/src/components/CollectionMain.tsx +4 -2
  215. package/src/components/CollectionSection.tsx +2 -2
  216. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -10
  217. package/src/components/CreateDialog/CreateObjectDialog.tsx +51 -36
  218. package/src/components/CreateDialog/CreateObjectPanel.tsx +22 -11
  219. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
  220. package/src/components/JoinDialog.tsx +7 -7
  221. package/src/components/MembersContainer.stories.tsx +36 -10
  222. package/src/components/MembersContainer.tsx +18 -17
  223. package/src/components/MenuFooter.tsx +4 -5
  224. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +52 -0
  225. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +75 -0
  226. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  227. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -3
  228. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  229. package/src/components/ObjectSettings/BaseObjectSettings.tsx +86 -26
  230. package/src/components/ObjectSettings/ForeignKeys.tsx +3 -3
  231. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
  232. package/src/components/ObjectSettings/index.ts +3 -1
  233. package/src/components/PersistenceStatus.tsx +7 -8
  234. package/src/components/PopoverRenameObject.tsx +10 -16
  235. package/src/components/PopoverRenameSpace.tsx +4 -4
  236. package/src/components/RecordMain.stories.tsx +116 -0
  237. package/src/components/RecordMain.tsx +83 -0
  238. package/src/components/SchemaContainer.tsx +5 -5
  239. package/src/components/SpacePluginSettings.tsx +8 -9
  240. package/src/components/SpacePresence.stories.tsx +23 -22
  241. package/src/components/SpacePresence.tsx +10 -10
  242. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
  243. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +19 -18
  244. package/src/components/SyncStatus/InlineSyncStatus.tsx +7 -7
  245. package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
  246. package/src/components/SyncStatus/SyncStatus.tsx +98 -7
  247. package/src/components/SyncStatus/status.ts +4 -4
  248. package/src/components/ViewEditor.tsx +58 -0
  249. package/src/components/index.ts +8 -2
  250. package/src/events.ts +7 -6
  251. package/src/hooks/index.ts +1 -0
  252. package/src/hooks/useActiveSpace.ts +2 -2
  253. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  254. package/src/hooks/usePath.ts +1 -1
  255. package/src/hooks/useTypeOptions.ts +59 -0
  256. package/src/meta.ts +6 -3
  257. package/src/translations.ts +77 -5
  258. package/src/types/types.ts +78 -16
  259. package/src/util.tsx +215 -57
  260. package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs +0 -363
  261. package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs.map +0 -7
  262. package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +0 -7
  263. package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +0 -7
  264. package/dist/lib/browser/chunk-C7KGJTAL.mjs +0 -18
  265. package/dist/lib/browser/chunk-C7KGJTAL.mjs.map +0 -7
  266. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  267. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  268. package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +0 -7
  269. package/dist/lib/browser/chunk-S6NY637J.mjs.map +0 -7
  270. package/dist/lib/browser/chunk-VLBRSGJ2.mjs +0 -94
  271. package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
  272. package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +0 -7
  273. package/dist/lib/browser/chunk-XXIPJLJF.mjs +0 -19
  274. package/dist/lib/browser/chunk-XXIPJLJF.mjs.map +0 -7
  275. package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +0 -7
  276. package/dist/lib/browser/react-root-7S6FIC5G.mjs.map +0 -7
  277. package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +0 -7
  278. package/dist/lib/browser/schema-defs-K3B3OAH4.mjs.map +0 -7
  279. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
  280. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  281. package/dist/lib/browser/spaces-ready-K7NSNBHM.mjs.map +0 -7
  282. package/dist/lib/browser/state-522XTUR4.mjs.map +0 -7
  283. package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs.map +0 -7
  284. package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +0 -7
  285. package/dist/lib/node-esm/chunk-2THX6G4C.mjs.map +0 -7
  286. package/dist/lib/node-esm/chunk-72QMMRKC.mjs +0 -19
  287. package/dist/lib/node-esm/chunk-72QMMRKC.mjs.map +0 -7
  288. package/dist/lib/node-esm/chunk-AT7LGFER.mjs +0 -20
  289. package/dist/lib/node-esm/chunk-AT7LGFER.mjs.map +0 -7
  290. package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +0 -7
  291. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  292. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  293. package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +0 -7
  294. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs +0 -96
  295. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +0 -7
  297. package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +0 -7
  298. package/dist/lib/node-esm/react-root-HUK3ANLV.mjs.map +0 -7
  299. package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +0 -7
  300. package/dist/lib/node-esm/schema-defs-4MCDG4DV.mjs.map +0 -7
  301. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
  302. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  303. package/dist/lib/node-esm/spaces-ready-UM2P3DCR.mjs.map +0 -7
  304. package/dist/lib/node-esm/state-C4IOXPZP.mjs.map +0 -7
  305. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  306. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  307. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  308. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  309. package/src/capabilities/schema-tool.test.ts +0 -44
  310. package/src/capabilities/schema-tools.ts +0 -125
@@ -1,29 +1,29 @@
1
1
  import {
2
2
  AwaitingObject
3
- } from "./chunk-GVTXQCIW.mjs";
4
- import "./chunk-VLBRSGJ2.mjs";
3
+ } from "./chunk-ENBBJSNE.mjs";
4
+ import "./chunk-HS2VD6DN.mjs";
5
5
  import {
6
6
  SpaceCapabilities
7
- } from "./chunk-XXIPJLJF.mjs";
8
- import "./chunk-WBSEOLEM.mjs";
9
- import "./chunk-S6NY637J.mjs";
7
+ } from "./chunk-2NS3VPSY.mjs";
8
+ import "./chunk-OWNBEI5J.mjs";
9
+ import "./chunk-SLDQWMQ2.mjs";
10
10
  import {
11
- SPACE_PLUGIN
12
- } from "./chunk-FBCGT5YY.mjs";
11
+ meta
12
+ } from "./chunk-VZBIIYFM.mjs";
13
13
 
14
14
  // src/capabilities/react-root.tsx
15
15
  import React from "react";
16
16
  import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
17
- var react_root_default = () => contributes(Capabilities.ReactRoot, {
18
- id: SPACE_PLUGIN,
17
+ var react_root_default = (() => contributes(Capabilities.ReactRoot, {
18
+ id: meta.id,
19
19
  root: () => {
20
20
  const state = useCapability(SpaceCapabilities.State);
21
21
  return state.awaiting ? /* @__PURE__ */ React.createElement(AwaitingObject, {
22
22
  id: state.awaiting
23
23
  }) : null;
24
24
  }
25
- });
25
+ }));
26
26
  export {
27
27
  react_root_default as default
28
28
  };
29
- //# sourceMappingURL=react-root-7S6FIC5G.mjs.map
29
+ //# sourceMappingURL=react-root-NKEKCEYM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-root.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\n\nimport { AwaitingObject } from '../components';\nimport { meta } from '../meta';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactRoot, {\n id: meta.id,\n root: () => {\n const state = useCapability(SpaceCapabilities.State);\n return state.awaiting ? <AwaitingObject id={state.awaiting} /> : null;\n },\n });\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AAOzD,IAAA,sBAAe,MACbC,YAAYC,aAAaC,WAAW;EAClCC,IAAIC,KAAKD;EACTE,MAAM,MAAA;AACJ,UAAMC,QAAQC,cAAcC,kBAAkBC,KAAK;AACnD,WAAOH,MAAMI,WAAW,sBAAA,cAACC,gBAAAA;MAAeR,IAAIG,MAAMI;SAAe;EACnE;AACF,CAAA;",
6
+ "names": ["React", "Capabilities", "contributes", "useCapability", "contributes", "Capabilities", "ReactRoot", "id", "meta", "root", "state", "useCapability", "SpaceCapabilities", "State", "awaiting", "AwaitingObject"]
7
+ }
@@ -10,51 +10,54 @@ import {
10
10
  JoinDialog,
11
11
  MembersContainer,
12
12
  MenuFooter,
13
+ ObjectDetailsPanel,
13
14
  ObjectSettingsContainer,
14
15
  POPOVER_RENAME_OBJECT,
15
16
  POPOVER_RENAME_SPACE,
16
17
  PopoverRenameObject,
17
18
  PopoverRenameSpace,
19
+ RecordMain,
18
20
  SchemaContainer,
19
21
  SmallPresenceLive,
20
22
  SpacePluginSettings,
21
23
  SpacePresence,
22
24
  SpaceSettingsContainer,
23
- SyncStatus
24
- } from "./chunk-GVTXQCIW.mjs";
25
- import "./chunk-VLBRSGJ2.mjs";
25
+ SyncStatus,
26
+ ViewEditor
27
+ } from "./chunk-ENBBJSNE.mjs";
28
+ import {
29
+ useTypeOptions
30
+ } from "./chunk-HS2VD6DN.mjs";
26
31
  import {
27
32
  SpaceCapabilities
28
- } from "./chunk-XXIPJLJF.mjs";
29
- import "./chunk-WBSEOLEM.mjs";
33
+ } from "./chunk-2NS3VPSY.mjs";
34
+ import "./chunk-OWNBEI5J.mjs";
30
35
  import {
31
36
  HueAnnotationId,
32
37
  IconAnnotationId
33
- } from "./chunk-S6NY637J.mjs";
38
+ } from "./chunk-SLDQWMQ2.mjs";
34
39
  import {
35
- SPACE_PLUGIN
36
- } from "./chunk-FBCGT5YY.mjs";
40
+ meta
41
+ } from "./chunk-VZBIIYFM.mjs";
37
42
 
38
43
  // src/capabilities/react-surface.tsx
39
- import React, { useCallback, useMemo } from "react";
40
- import { Capabilities, contributes, createSurface, Surface, useCapabilities, useCapability, useLayout } from "@dxos/app-framework";
44
+ import React, { useCallback } from "react";
45
+ import { Capabilities, Surface, contributes, createSurface, useCapability, useLayout } from "@dxos/app-framework";
41
46
  import { Obj, Type } from "@dxos/echo";
42
47
  import { findAnnotation } from "@dxos/effect";
43
48
  import { SettingsStore } from "@dxos/local-storage";
44
- import { ClientCapabilities } from "@dxos/plugin-client";
45
- import { useClient } from "@dxos/react-client";
46
- import { getSpace, isLiveObject, isSpace, parseId, SpaceState, useSpace } from "@dxos/react-client/echo";
47
- import { Input, useTranslation } from "@dxos/react-ui";
49
+ import { SpaceState, fullyQualifiedId, getSpace, isLiveObject, isSpace, parseId, useSpace } from "@dxos/react-client/echo";
50
+ import { Input } from "@dxos/react-ui";
48
51
  import { SelectInput } from "@dxos/react-ui-form";
49
52
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
50
53
  import { DataType, TypenameAnnotationId } from "@dxos/schema";
51
54
  var OMIT = [
52
55
  DataType.Collection.typename,
53
- DataType.QueryCollection.typename
56
+ Type.getTypename(DataType.QueryCollection)
54
57
  ];
55
- var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
58
+ var react_surface_default = (({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
56
59
  createSurface({
57
- id: `${SPACE_PLUGIN}/article`,
60
+ id: `${meta.id}/article`,
58
61
  role: "article",
59
62
  filter: (data) => (
60
63
  // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
@@ -70,7 +73,16 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
70
73
  })
71
74
  }),
72
75
  createSurface({
73
- id: `${SPACE_PLUGIN}/collection-fallback`,
76
+ id: `${meta.id}/record-article`,
77
+ role: "article",
78
+ position: "fallback",
79
+ filter: (data) => Obj.isObject(data.subject),
80
+ component: ({ data }) => /* @__PURE__ */ React.createElement(RecordMain, {
81
+ record: data.subject
82
+ })
83
+ }),
84
+ createSurface({
85
+ id: `${meta.id}/collection-fallback`,
74
86
  role: "article",
75
87
  position: "fallback",
76
88
  filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
@@ -79,15 +91,15 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
79
91
  })
80
92
  }),
81
93
  createSurface({
82
- id: `${SPACE_PLUGIN}/plugin-settings`,
94
+ id: `${meta.id}/plugin-settings`,
83
95
  role: "article",
84
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,
96
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
85
97
  component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(SpacePluginSettings, {
86
98
  settings: subject.value
87
99
  })
88
100
  }),
89
101
  createSurface({
90
- id: `${SPACE_PLUGIN}/companion/object-settings`,
102
+ id: `${meta.id}/companion/object-settings`,
91
103
  role: "article",
92
104
  filter: (data) => Obj.isObject(data.companionTo) && data.subject === "settings",
93
105
  component: ({ data, role }) => /* @__PURE__ */ React.createElement(ObjectSettingsContainer, {
@@ -96,9 +108,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
96
108
  })
97
109
  }),
98
110
  createSurface({
99
- id: `${SPACE_PLUGIN}/space-settings-properties`,
111
+ id: `${meta.id}/space-settings-properties`,
100
112
  role: "article",
101
- filter: (data) => data.subject === `${SPACE_PLUGIN}/properties`,
113
+ filter: (data) => data.subject === `${meta.id}/properties`,
102
114
  component: () => {
103
115
  const layout = useLayout();
104
116
  const { spaceId } = parseId(layout.workspace);
@@ -112,10 +124,10 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
112
124
  }
113
125
  }),
114
126
  createSurface({
115
- id: `${SPACE_PLUGIN}/space-settings-members`,
127
+ id: `${meta.id}/space-settings-members`,
116
128
  role: "article",
117
129
  position: "hoist",
118
- filter: (data) => data.subject === `${SPACE_PLUGIN}/members`,
130
+ filter: (data) => data.subject === `${meta.id}/members`,
119
131
  component: () => {
120
132
  const layout = useLayout();
121
133
  const { spaceId } = parseId(layout.workspace);
@@ -130,9 +142,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
130
142
  }
131
143
  }),
132
144
  createSurface({
133
- id: `${SPACE_PLUGIN}/space-settings-schema`,
145
+ id: `${meta.id}/space-settings-schema`,
134
146
  role: "article",
135
- filter: (data) => data.subject === `${SPACE_PLUGIN}/schema`,
147
+ filter: (data) => data.subject === `${meta.id}/schema`,
136
148
  component: () => {
137
149
  const layout = useLayout();
138
150
  const { spaceId } = parseId(layout.workspace);
@@ -145,6 +157,16 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
145
157
  });
146
158
  }
147
159
  }),
160
+ createSurface({
161
+ id: `${meta.id}/selected-objects`,
162
+ role: "article",
163
+ filter: (data) => Obj.instanceOf(DataType.View, data.companionTo) && data.subject === "selected-objects",
164
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ObjectDetailsPanel, {
165
+ key: fullyQualifiedId(data.companionTo),
166
+ objectId: fullyQualifiedId(data.companionTo),
167
+ view: data.companionTo
168
+ })
169
+ }),
148
170
  createSurface({
149
171
  id: JOIN_DIALOG,
150
172
  role: "dialog",
@@ -164,14 +186,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
164
186
  component: ({ data }) => /* @__PURE__ */ React.createElement(CreateObjectDialog, data.props)
165
187
  }),
166
188
  createSurface({
167
- id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,
189
+ id: `${meta.id}/create-initial-space-form-[hue]`,
168
190
  role: "form-input",
169
191
  filter: (data) => {
170
192
  const annotation = findAnnotation(data.schema.ast, HueAnnotationId);
171
193
  return !!annotation;
172
194
  },
173
195
  component: ({ data: _, ...inputProps }) => {
174
- const { label, disabled, type, getValue, onValueChange } = inputProps;
196
+ const { label, readonly, type, getValue, onValueChange } = inputProps;
175
197
  const handleChange = useCallback((nextHue) => onValueChange(type, nextHue), [
176
198
  onValueChange
177
199
  ]);
@@ -179,7 +201,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
179
201
  onValueChange
180
202
  ]);
181
203
  return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(HuePicker, {
182
- disabled,
204
+ disabled: !!readonly,
183
205
  value: getValue() ?? "",
184
206
  onChange: handleChange,
185
207
  onReset: handleReset
@@ -187,14 +209,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
187
209
  }
188
210
  }),
189
211
  createSurface({
190
- id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,
212
+ id: `${meta.id}/create-initial-space-form-[icon]`,
191
213
  role: "form-input",
192
214
  filter: (data) => {
193
215
  const annotation = findAnnotation(data.schema.ast, IconAnnotationId);
194
216
  return !!annotation;
195
217
  },
196
218
  component: ({ data: _, ...inputProps }) => {
197
- const { label, disabled, type, getValue, onValueChange } = inputProps;
219
+ const { label, readonly, type, getValue, onValueChange } = inputProps;
198
220
  const handleChange = useCallback((nextIcon) => onValueChange(type, nextIcon), [
199
221
  onValueChange
200
222
  ]);
@@ -202,7 +224,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
202
224
  onValueChange
203
225
  ]);
204
226
  return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(IconPicker, {
205
- disabled,
227
+ disabled: !!readonly,
206
228
  value: getValue() ?? "",
207
229
  onChange: handleChange,
208
230
  onReset: handleReset
@@ -210,7 +232,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
210
232
  }
211
233
  }),
212
234
  createSurface({
213
- id: `${SPACE_PLUGIN}/typename-form-input`,
235
+ id: `${meta.id}/typename-form-input`,
214
236
  role: "form-input",
215
237
  filter: (data) => {
216
238
  if (data.prop !== "typename") {
@@ -220,51 +242,30 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
220
242
  return !!annotation;
221
243
  },
222
244
  component: ({ data: { schema, target }, ...inputProps }) => {
223
- const { t } = useTranslation();
224
- const client = useClient();
225
245
  const props = inputProps;
226
246
  const space = isSpace(target) ? target : getSpace(target);
227
- if (!space) {
228
- return null;
229
- }
230
247
  const annotation = findAnnotation(schema.ast, TypenameAnnotationId);
231
- const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
232
- const whitelistedTypenames = useMemo(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
233
- schemaWhitelists
234
- ]);
235
- const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);
236
- const objectFormTypenames = useMemo(() => new Set(objectForms.map((form) => Type.getTypename(form.objectSchema)).filter((typename) => !OMIT.includes(typename))), [
237
- objectForms
238
- ]);
239
- const fixed = client.graph.schemaRegistry.schemas.filter((schema2) => {
240
- const limitedStatic = annotation.includes("limited-static") && whitelistedTypenames.has(Type.getTypename(schema2));
241
- const objectForm = annotation.includes("object-form") && objectFormTypenames.has(Type.getTypename(schema2));
242
- return annotation.includes("static") || limitedStatic || objectForm;
248
+ const options = useTypeOptions({
249
+ space,
250
+ annotation
243
251
  });
244
- const dynamic = space?.db.schemaRegistry.query().runSync();
245
- const typenames = Array.from(/* @__PURE__ */ new Set([
246
- ...annotation.includes("limited-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
247
- ...annotation.includes("dynamic") ? dynamic.map((schema2) => schema2.typename) : []
248
- ])).sort();
249
- const options = useMemo(() => typenames.map((typename) => ({
250
- value: typename,
251
- label: t("typename label", {
252
- ns: typename,
253
- defaultValue: typename
254
- })
255
- })), [
256
- t,
257
- typenames
258
- ]);
259
252
  return /* @__PURE__ */ React.createElement(SelectInput, {
260
253
  ...props,
261
254
  options
262
255
  });
263
256
  }
264
257
  }),
258
+ createSurface({
259
+ id: `${meta.id}/object-settings`,
260
+ role: "object-settings",
261
+ filter: (data) => Obj.instanceOf(DataType.View, data.subject),
262
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ViewEditor, {
263
+ view: data.subject
264
+ })
265
+ }),
265
266
  createSurface({
266
267
  id: POPOVER_RENAME_SPACE,
267
- role: "popover",
268
+ role: "card--popover",
268
269
  filter: (data) => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),
269
270
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameSpace, {
270
271
  space: data.props
@@ -272,14 +273,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
272
273
  }),
273
274
  createSurface({
274
275
  id: POPOVER_RENAME_OBJECT,
275
- role: "popover",
276
+ role: "card--popover",
276
277
  filter: (data) => data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),
277
278
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameObject, {
278
279
  object: data.props
279
280
  })
280
281
  }),
281
282
  createSurface({
282
- id: `${SPACE_PLUGIN}/menu-footer`,
283
+ id: `${meta.id}/menu-footer`,
283
284
  role: "menu-footer",
284
285
  filter: (data) => Obj.isObject(data.subject),
285
286
  component: ({ data }) => /* @__PURE__ */ React.createElement(MenuFooter, {
@@ -287,7 +288,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
287
288
  })
288
289
  }),
289
290
  createSurface({
290
- id: `${SPACE_PLUGIN}/navtree-presence`,
291
+ id: `${meta.id}/navtree-presence`,
291
292
  role: "navtree-item-end",
292
293
  filter: (data) => typeof data.id === "string" && Obj.isObject(data.subject),
293
294
  component: ({ data }) => {
@@ -301,7 +302,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
301
302
  }),
302
303
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
303
304
  createSurface({
304
- id: `${SPACE_PLUGIN}/navtree-presence-fallback`,
305
+ id: `${meta.id}/navtree-presence-fallback`,
305
306
  role: "navtree-item-end",
306
307
  position: "fallback",
307
308
  filter: (data) => typeof data.id === "string",
@@ -312,7 +313,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
312
313
  }),
313
314
  // TODO(wittjosiah): Broken?
314
315
  createSurface({
315
- id: `${SPACE_PLUGIN}/navtree-sync-status`,
316
+ id: `${meta.id}/navtree-sync-status`,
316
317
  role: "navtree-item-end",
317
318
  filter: (data) => isSpace(data.subject),
318
319
  component: ({ data }) => /* @__PURE__ */ React.createElement(InlineSyncStatus, {
@@ -321,7 +322,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
321
322
  })
322
323
  }),
323
324
  createSurface({
324
- id: `${SPACE_PLUGIN}/navbar-presence`,
325
+ id: `${meta.id}/navbar-presence`,
325
326
  role: "navbar-end",
326
327
  position: "hoist",
327
328
  filter: (data) => isSpace(data.subject) || Obj.isObject(data.subject),
@@ -334,7 +335,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
334
335
  }
335
336
  }),
336
337
  createSurface({
337
- id: `${SPACE_PLUGIN}/collection-section`,
338
+ id: `${meta.id}/collection-section`,
338
339
  role: "section",
339
340
  filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
340
341
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
@@ -342,12 +343,12 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
342
343
  })
343
344
  }),
344
345
  createSurface({
345
- id: `${SPACE_PLUGIN}/status`,
346
+ id: `${meta.id}/status`,
346
347
  role: "status",
347
348
  component: () => /* @__PURE__ */ React.createElement(SyncStatus, null)
348
349
  })
349
- ]);
350
+ ]));
350
351
  export {
351
352
  react_surface_default as default
352
353
  };
353
- //# sourceMappingURL=react-surface-6C3YJNDK.mjs.map
354
+ //# sourceMappingURL=react-surface-PYSN2MBY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, Surface, contributes, createSurface, useCapability, useLayout } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n type Space,\n SpaceState,\n fullyQualifiedId,\n getSpace,\n isLiveObject,\n isSpace,\n parseId,\n useSpace,\n} from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type InputProps, SelectInput } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CollectionMain,\n CollectionSection,\n CreateObjectDialog,\n type CreateObjectDialogProps,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectDetailsPanel,\n ObjectSettingsContainer,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n RecordMain,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n} from '../components';\nimport { useTypeOptions } from '../hooks';\nimport { meta } from '../meta';\nimport { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nconst OMIT = [DataType.Collection.typename, Type.getTypename(DataType.QueryCollection)];\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[DataType.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${meta.id}/record-article`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <RecordMain record={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${meta.id}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${meta.id}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${meta.id}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: `${meta.id}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: DataType.View; subject: 'selected-objects' } =>\n Obj.instanceOf(DataType.View, data.companionTo) && data.subject === 'selected-objects',\n component: ({ data }) => (\n <ObjectDetailsPanel\n key={fullyQualifiedId(data.companionTo)}\n objectId={fullyQualifiedId(data.companionTo)}\n view={data.companionTo}\n />\n ),\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${meta.id}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${meta.id}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, readonly, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={!!readonly} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${meta.id}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n const annotation = findAnnotation<TypenameAnnotation[]>(schema.ast, TypenameAnnotationId)!;\n const options = useTypeOptions({ space, annotation });\n\n return <SelectInput {...props} options={options} />;\n },\n }),\n createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: DataType.View } => Obj.instanceOf(DataType.View, data.subject),\n component: ({ data }) => <ViewEditor view={data.subject} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'card--popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${meta.id}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${meta.id}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${meta.id}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${meta.id}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[DataType.Collection.typename]?.target as DataType.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${meta.id}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,OAAOA,SAASC,mBAAmB;AAEnC,SAASC,cAAcC,SAASC,aAAaC,eAAeC,eAAeC,iBAAiB;AAC5F,SAASC,KAAKC,YAAY;AAC1B,SAASC,sBAAsB;AAC/B,SAASC,qBAAqB;AAC9B,SAEEC,YACAC,kBACAC,UACAC,cACAC,SACAC,SACAC,gBACK;AACP,SAASC,aAAa;AACtB,SAA0BC,mBAAmB;AAC7C,SAASC,WAAWC,kBAAkB;AACtC,SAASC,UAAmCC,4BAA4B;AAyCxE,IAAMC,OAAO;EAACC,SAASC,WAAWC;EAAUC,KAAKC,YAAYJ,SAASK,eAAe;;AAErF,IAAA,yBAAe,CAAC,EAAEC,oBAAmB,MACnCC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC;;MAEPC,QAAQD,KAAKE,OAAO,KAAKF,KAAKE,QAAQC,MAAMC,IAAG,MAAOC,WAAWC;;IACnEC,WAAW,CAAC,EAAEP,MAAMF,MAAM,GAAGU,KAAAA,MAC3B,sBAAA,cAACC,SAAAA;MACCT,MAAM;QACJJ,IAAII,KAAKE,QAAQN;QACjBM,SAASF,KAAKE,QAAQQ,WAAWzB,SAASC,WAAWC,QAAQ,GAAGwB;MAClE;MACAb;MACC,GAAGU;;EAGV,CAAA;EACAb,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNc,UAAU;IACVb,QAAQ,CAACC,SAAuCa,IAAIC,SAASd,KAAKE,OAAO;IACzEK,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACe,YAAAA;MAAWC,QAAQhB,KAAKE;;EACpD,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNc,UAAU;IACVb,QAAQ,CAACC,SAAmDa,IAAII,WAAWhC,SAASC,YAAYc,KAAKE,OAAO;IAC5GK,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACkB,gBAAAA;MAAeC,YAAYnB,KAAKE;;EAC5D,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKE,mBAAmBkB,iBAAiBpB,KAAKE,QAAQmB,WAAWxB,KAAKD;IACxEW,WAAW,CAAC,EAAEP,MAAM,EAAEE,QAAO,EAAE,MAAO,sBAAA,cAACoB,qBAAAA;MAAoBC,UAAUrB,QAAQsB;;EAC/E,CAAA;EACA7B,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA2Ca,IAAIC,SAASd,KAAKyB,WAAW,KAAKzB,KAAKE,YAAY;IACvGK,WAAW,CAAC,EAAEP,MAAMF,KAAI,MAAO,sBAAA,cAAC4B,yBAAAA;MAAwBC,QAAQ3B,KAAKyB;MAAa3B;;EACpF,CAAA;EACAH,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAsCA,KAAKE,YAAY,GAAGL,KAAKD,EAAE;IAC1EW,WAAW,MAAA;AACT,YAAMqB,SAASC,UAAAA;AACf,YAAM,EAAEC,QAAO,IAAKC,QAAQH,OAAOI,SAAS;AAC5C,YAAMC,QAAQC,SAASJ,OAAAA;AACvB,UAAI,CAACG,SAAS,CAACH,SAAS;AACtB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACK,wBAAAA;QAAuBF;;IACjC;EACF,CAAA;EACAtC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNc,UAAU;IACVb,QAAQ,CAACC,SAAsCA,KAAKE,YAAY,GAAGL,KAAKD,EAAE;IAC1EW,WAAW,MAAA;AACT,YAAMqB,SAASC,UAAAA;AACf,YAAM,EAAEC,QAAO,IAAKC,QAAQH,OAAOI,SAAS;AAC5C,YAAMC,QAAQC,SAASJ,OAAAA;AACvB,UAAI,CAACG,SAAS,CAACH,SAAS;AACtB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACM,kBAAAA;QAAiBH;QAAc1C;;IACzC;EACF,CAAA;EACAI,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAsCA,KAAKE,YAAY,GAAGL,KAAKD,EAAE;IAC1EW,WAAW,MAAA;AACT,YAAMqB,SAASC,UAAAA;AACf,YAAM,EAAEC,QAAO,IAAKC,QAAQH,OAAOI,SAAS;AAC5C,YAAMC,QAAQC,SAASJ,OAAAA;AACvB,UAAI,CAACG,SAAS,CAACH,SAAS;AACtB,eAAO;MACT;AAEA,aAAO,sBAAA,cAACO,iBAAAA;QAAgBJ;;IAC1B;EACF,CAAA;EACAtC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPa,IAAII,WAAWhC,SAASqD,MAAMtC,KAAKyB,WAAW,KAAKzB,KAAKE,YAAY;IACtEK,WAAW,CAAC,EAAEP,KAAI,MAChB,sBAAA,cAACuC,oBAAAA;MACCC,KAAKC,iBAAiBzC,KAAKyB,WAAW;MACtCiB,UAAUD,iBAAiBzC,KAAKyB,WAAW;MAC3CkB,MAAM3C,KAAKyB;;EAGjB,CAAA;EACA9B,cAAc;IACZC,IAAIgD;IACJ9C,MAAM;IACNC,QAAQ,CAACC,SAA4CA,KAAKO,cAAcqC;IACxErC,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAAC6C,YAAe7C,KAAK8C,KAAK;EACrD,CAAA;EACAnD,cAAc;IACZC,IAAImD;IACJjD,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKO,cAAcwC;IAClDxC,WAAW,MAAM,sBAAA,cAACyC,mBAAAA,IAAAA;EACpB,CAAA;EACArD,cAAc;IACZC,IAAIqD;IACJnD,MAAM;IACNC,QAAQ,CAACC,SAAqDA,KAAKO,cAAc0C;IACjF1C,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACkD,oBAAuBlD,KAAK8C,KAAK;EAC7D,CAAA;EACAnD,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAAA;AACP,YAAMmD,aAAaC,eAAyBpD,KAAKqD,OAA6BC,KAAKC,eAAAA;AACnF,aAAO,CAAC,CAACJ;IACX;IACA5C,WAAW,CAAC,EAAEP,MAAMwD,GAAG,GAAGC,WAAAA,MAAY;AACpC,YAAM,EAAEC,OAAOC,UAAUC,MAAMC,UAAUC,cAAa,IAAKL;AAC3D,YAAMM,eAAeC,YAAY,CAACC,YAAoBH,cAAcF,MAAMK,OAAAA,GAAU;QAACH;OAAc;AACnG,YAAMI,cAAcF,YAAY,MAAMF,cAAcF,MAAMO,MAAAA,GAAY;QAACL;OAAc;AACrF,aACE,sBAAA,cAACM,MAAMC,MAAI,MACT,sBAAA,cAACD,MAAME,OAAK,MAAEZ,KAAAA,GACd,sBAAA,cAACa,WAAAA;QAAUC,UAAU,CAAC,CAACb;QAAUnC,OAAOqC,SAAAA,KAAc;QAAIY,UAAUV;QAAcW,SAASR;;IAGjG;EACF,CAAA;EACAvE,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAAA;AACP,YAAMmD,aAAaC,eAAyBpD,KAAKqD,OAA6BC,KAAKqB,gBAAAA;AACnF,aAAO,CAAC,CAACxB;IACX;IACA5C,WAAW,CAAC,EAAEP,MAAMwD,GAAG,GAAGC,WAAAA,MAAY;AACpC,YAAM,EAAEC,OAAOC,UAAUC,MAAMC,UAAUC,cAAa,IAAKL;AAC3D,YAAMM,eAAeC,YAAY,CAACY,aAAqBd,cAAcF,MAAMgB,QAAAA,GAAW;QAACd;OAAc;AACrG,YAAMI,cAAcF,YAAY,MAAMF,cAAcF,MAAMO,MAAAA,GAAY;QAACL;OAAc;AACrF,aACE,sBAAA,cAACM,MAAMC,MAAI,MACT,sBAAA,cAACD,MAAME,OAAK,MAAEZ,KAAAA,GACd,sBAAA,cAACmB,YAAAA;QAAWL,UAAU,CAAC,CAACb;QAAUnC,OAAOqC,SAAAA,KAAc;QAAIY,UAAUV;QAAcW,SAASR;;IAGlG;EACF,CAAA;EACAvE,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CACNC,SAAAA;AAEA,UAAIA,KAAK8E,SAAS,YAAY;AAC5B,eAAO;MACT;AAEA,YAAM3B,aAAaC,eAAgBpD,KAAKqD,OAA6BC,KAAKyB,oBAAAA;AAC1E,aAAO,CAAC,CAAC5B;IACX;IACA5C,WAAW,CAAC,EAAEP,MAAM,EAAEqD,QAAQ1C,OAAM,GAAI,GAAG8C,WAAAA,MAAY;AACrD,YAAMX,QAAQW;AACd,YAAMxB,QAAQhC,QAAQU,MAAAA,IAAUA,SAASqE,SAASrE,MAAAA;AAClD,YAAMwC,aAAaC,eAAqCC,OAAOC,KAAKyB,oBAAAA;AACpE,YAAME,UAAUC,eAAe;QAAEjD;QAAOkB;MAAW,CAAA;AAEnD,aAAO,sBAAA,cAACgC,aAAAA;QAAa,GAAGrC;QAAOmC;;IACjC;EACF,CAAA;EACAtF,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA6Ca,IAAII,WAAWhC,SAASqD,MAAMtC,KAAKE,OAAO;IAChGK,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACoF,YAAAA;MAAWzC,MAAM3C,KAAKE;;EAClD,CAAA;EACAP,cAAc;IACZC,IAAIyF;IACJvF,MAAM;IACNC,QAAQ,CAACC,SAAmCA,KAAKO,cAAc8E,wBAAwBpF,QAAQD,KAAK8C,KAAK;IACzGvC,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACsF,oBAAAA;MAAmBrD,OAAOjC,KAAK8C;;EAC3D,CAAA;EACAnD,cAAc;IACZC,IAAI2F;IACJzF,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKO,cAAcgF,yBAAyBC,aAAaxF,KAAK8C,KAAK;IACrEvC,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACyF,qBAAAA;MAAoB9D,QAAQ3B,KAAK8C;;EAC7D,CAAA;EACAnD,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAuCa,IAAIC,SAASd,KAAKE,OAAO;IACzEK,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAAC0F,YAAAA;MAAW/D,QAAQ3B,KAAKE;;EACpD,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACP,OAAOA,KAAKJ,OAAO,YAAYiB,IAAIC,SAASd,KAAKE,OAAO;IAC1DK,WAAW,CAAC,EAAEP,KAAI,MAAE;AAElB,YAAMG,QAAQwF,cAAcC,kBAAkBC,YAAY;AAC1D,aAAO,sBAAA,cAACC,mBAAAA;QAAkBlG,IAAII,KAAKJ;QAAImG,MAAM/F,KAAK+F;QAAMC,SAAS7F,MAAM8F,gBAAgBjG,KAAKJ,EAAE;;IAChG;EACF,CAAA;;EAEAD,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNc,UAAU;IACVb,QAAQ,CAACC,SAAiD,OAAOA,KAAKJ,OAAO;IAC7EW,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAAC8F,mBAAAA;MAAkBlG,IAAII,KAAKJ;MAAImG,MAAM/F,KAAK+F;;EACtE,CAAA;;EAEApG,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAqDC,QAAQD,KAAKE,OAAO;IAClFK,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACkG,kBAAAA;MAAiBjE,OAAOjC,KAAKE;MAAS6F,MAAM/F,KAAK+F;;EAC7E,CAAA;EACApG,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNc,UAAU;IACVb,QAAQ,CAACC,SAA+CC,QAAQD,KAAKE,OAAO,KAAKW,IAAIC,SAASd,KAAKE,OAAO;IAC1GK,WAAW,CAAC,EAAEP,KAAI,MAAE;AAClB,YAAMiC,QAAQhC,QAAQD,KAAKE,OAAO,IAAIF,KAAKE,UAAU8E,SAAShF,KAAKE,OAAO;AAC1E,YAAMyB,SAAS1B,QAAQD,KAAKE,OAAO,IAC/BF,KAAKE,QAAQC,MAAMC,IAAG,MAAOC,WAAWC,cACrC2B,OAAOvB,WAAWzB,SAASC,WAAWC,QAAQ,GAAGwB,SAClDwD,SACFnE,KAAKE;AAET,aAAOyB,SAAS,sBAAA,cAACwE,eAAAA;QAAcxE;WAAqB;IACtD;EACF,CAAA;EACAhC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAAmDa,IAAII,WAAWhC,SAASC,YAAYc,KAAKE,OAAO;IAC5GK,WAAW,CAAC,EAAEP,KAAI,MAAO,sBAAA,cAACoG,mBAAAA;MAAkBjF,YAAYnB,KAAKE;;EAC/D,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNS,WAAW,MAAM,sBAAA,cAAC8F,YAAAA,IAAAA;EACpB,CAAA;CACD;",
6
+ "names": ["React", "useCallback", "Capabilities", "Surface", "contributes", "createSurface", "useCapability", "useLayout", "Obj", "Type", "findAnnotation", "SettingsStore", "SpaceState", "fullyQualifiedId", "getSpace", "isLiveObject", "isSpace", "parseId", "useSpace", "Input", "SelectInput", "HuePicker", "IconPicker", "DataType", "TypenameAnnotationId", "OMIT", "DataType", "Collection", "typename", "Type", "getTypename", "QueryCollection", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "target", "position", "Obj", "isObject", "RecordMain", "record", "instanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "View", "ObjectDetailsPanel", "key", "fullyQualifiedId", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "readonly", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "disabled", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypenameAnnotationId", "getSpace", "options", "useTypeOptions", "SelectInput", "ViewEditor", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
7
+ }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-XXIPJLJF.mjs";
4
- import "./chunk-FBCGT5YY.mjs";
3
+ } from "./chunk-2NS3VPSY.mjs";
4
+ import "./chunk-VZBIIYFM.mjs";
5
5
 
6
6
  // src/capabilities/schema-defs.ts
7
7
  import { Capabilities, contributes } from "@dxos/app-framework";
8
8
  import { ClientCapabilities } from "@dxos/plugin-client";
9
- var schema_defs_default = (context) => {
9
+ var schema_defs_default = ((context) => {
10
10
  const registry = context.getCapability(Capabilities.RxRegistry);
11
11
  const client = context.getCapability(ClientCapabilities.Client);
12
12
  let previous = [];
@@ -19,8 +19,8 @@ var schema_defs_default = (context) => {
19
19
  immediate: true
20
20
  });
21
21
  return contributes(Capabilities.Null, null, () => cancel());
22
- };
22
+ });
23
23
  export {
24
24
  schema_defs_default as default
25
25
  };
26
- //# sourceMappingURL=schema-defs-K3B3OAH4.mjs.map
26
+ //# sourceMappingURL=schema-defs-DWYK7TYW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/schema-defs.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { type ObjectForm } from '../types';\n\nimport { SpaceCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const registry = context.getCapability(Capabilities.RxRegistry);\n const client = context.getCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: ObjectForm[] = [];\n const cancel = registry.subscribe(\n context.capabilities(SpaceCapabilities.ObjectForm),\n (_forms) => {\n const forms = Array.from(new Set(_forms));\n // TODO(wittjosiah): Filter out schemas which the client has already registered.\n const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);\n previous = forms;\n client.addTypes(newSchemas);\n },\n { immediate: true },\n );\n\n return contributes(Capabilities.Null, null, () => cancel());\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,0BAA0B;AAMnC,IAAA,uBAAe,CAACC,YAAAA;AACd,QAAMC,WAAWD,QAAQE,cAAcC,aAAaC,UAAU;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,mBAAmBC,MAAM;AAG9D,MAAIC,WAAyB,CAAA;AAC7B,QAAMC,SAASR,SAASS,UACtBV,QAAQW,aAAaC,kBAAkBC,UAAU,GACjD,CAACC,WAAAA;AACC,UAAMC,QAAQC,MAAMC,KAAK,IAAIC,IAAIJ,MAAAA,CAAAA;AAEjC,UAAMK,aAAaJ,MAAMK,OAAO,CAACC,SAAS,CAACb,SAASc,SAASD,IAAAA,CAAAA,EAAOE,IAAI,CAACF,SAASA,KAAKG,YAAY;AACnGhB,eAAWO;AACXV,WAAOoB,SAASN,UAAAA;EAClB,GACA;IAAEO,WAAW;EAAK,CAAA;AAGpB,SAAOC,YAAYxB,aAAayB,MAAM,MAAM,MAAMnB,OAAAA,CAAAA;AACpD;",
6
+ "names": ["Capabilities", "contributes", "ClientCapabilities", "context", "registry", "getCapability", "Capabilities", "RxRegistry", "client", "ClientCapabilities", "Client", "previous", "cancel", "subscribe", "capabilities", "SpaceCapabilities", "ObjectForm", "_forms", "forms", "Array", "from", "Set", "newSchemas", "filter", "form", "includes", "map", "objectSchema", "addTypes", "immediate", "contributes", "Null"]
7
+ }
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  SpaceSettingsSchema
3
- } from "./chunk-S6NY637J.mjs";
3
+ } from "./chunk-SLDQWMQ2.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-FBCGT5YY.mjs";
6
+ } from "./chunk-VZBIIYFM.mjs";
7
7
 
8
8
  // src/capabilities/settings.ts
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
10
10
  import { live } from "@dxos/live-object";
11
- var settings_default = () => {
11
+ var settings_default = (() => {
12
12
  const settings = live({
13
13
  showHidden: false
14
14
  });
@@ -17,8 +17,8 @@ var settings_default = () => {
17
17
  schema: SpaceSettingsSchema,
18
18
  value: settings
19
19
  });
20
- };
20
+ });
21
21
  export {
22
22
  settings_default as default
23
23
  };
24
- //# sourceMappingURL=settings-XNWYRWNM.mjs.map
24
+ //# sourceMappingURL=settings-ZUCC3ZLB.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/settings.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { type SpaceSettingsProps, SpaceSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<SpaceSettingsProps>({\n showHidden: false,\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: SpaceSettingsSchema,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB;IACxCC,YAAY;EACd,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOX;EACT,CAAA;AACF;",
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAAyB;IACxCC,YAAY;EACd,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOX;EACT,CAAA;AACF;",
6
6
  "names": ["Capabilities", "contributes", "live", "settings", "live", "showHidden", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "SpaceSettingsSchema", "value"]
7
7
  }
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-XXIPJLJF.mjs";
3
+ } from "./chunk-2NS3VPSY.mjs";
4
4
  import {
5
5
  COMPOSER_SPACE_LOCK,
6
6
  SHARED
7
- } from "./chunk-WBSEOLEM.mjs";
7
+ } from "./chunk-OWNBEI5J.mjs";
8
8
  import {
9
9
  SpaceAction
10
- } from "./chunk-S6NY637J.mjs";
11
- import "./chunk-FBCGT5YY.mjs";
10
+ } from "./chunk-SLDQWMQ2.mjs";
11
+ import "./chunk-VZBIIYFM.mjs";
12
12
 
13
13
  // src/capabilities/spaces-ready.ts
14
- import { Option } from "effect";
15
- import { contributes, createIntent, Capabilities, LayoutAction } from "@dxos/app-framework";
14
+ import * as Option from "effect/Option";
15
+ import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
16
16
  import { SubscriptionList } from "@dxos/async";
17
17
  import { Filter, Obj, Type } from "@dxos/echo";
18
18
  import { scheduledEffect } from "@dxos/echo-signals/core";
@@ -22,12 +22,12 @@ import { ClientCapabilities } from "@dxos/plugin-client";
22
22
  import { DeckCapabilities } from "@dxos/plugin-deck";
23
23
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
24
24
  import { PublicKey } from "@dxos/react-client";
25
- import { FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from "@dxos/react-client/echo";
25
+ import { FQ_ID_LENGTH, SpaceState, parseFullyQualifiedId } from "@dxos/react-client/echo";
26
26
  import { ComplexMap, reduceGroupBy } from "@dxos/util";
27
27
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/spaces-ready.ts";
28
28
  var ACTIVE_NODE_BROADCAST_INTERVAL = 3e4;
29
29
  var WAIT_FOR_OBJECT_TIMEOUT = 5e3;
30
- var spaces_ready_default = async (context) => {
30
+ var spaces_ready_default = (async (context) => {
31
31
  const subscriptions = new SubscriptionList();
32
32
  const spaceSubscriptions = new SubscriptionList();
33
33
  const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
@@ -63,13 +63,15 @@ var spaces_ready_default = async (context) => {
63
63
  if (active.length !== 1) {
64
64
  return;
65
65
  }
66
- const node = graph.getNode(active[0]).pipe(Option.getOrNull);
67
- if (!node && active[0].length === FQ_ID_LENGTH) {
66
+ const id = active[0];
67
+ const node = graph.getNode(id).pipe(Option.getOrNull);
68
+ if (!node && id.length === FQ_ID_LENGTH) {
69
+ void graph.initialize(id);
68
70
  const timeout = setTimeout(async () => {
69
- const node2 = graph.getNode(active[0]).pipe(Option.getOrNull);
71
+ const node2 = graph.getNode(id).pipe(Option.getOrNull);
70
72
  if (!node2) {
71
73
  await dispatch(createIntent(SpaceAction.WaitForObject, {
72
- id: active[0]
74
+ id
73
75
  }));
74
76
  }
75
77
  }, WAIT_FOR_OBJECT_TIMEOUT);
@@ -132,7 +134,7 @@ var spaces_ready_default = async (context) => {
132
134
  err: err.message
133
135
  }, {
134
136
  F: __dxlog_file,
135
- L: 156,
137
+ L: 159,
136
138
  S: void 0,
137
139
  C: (f, a) => f(...a)
138
140
  });
@@ -183,7 +185,7 @@ var spaces_ready_default = async (context) => {
183
185
  } catch (err) {
184
186
  log.catch(err, void 0, {
185
187
  F: __dxlog_file,
186
- L: 224,
188
+ L: 227,
187
189
  S: void 0,
188
190
  C: (f, a) => f(...a)
189
191
  });
@@ -192,8 +194,8 @@ var spaces_ready_default = async (context) => {
192
194
  spaceSubscriptions.clear();
193
195
  subscriptions.clear();
194
196
  });
195
- };
197
+ });
196
198
  export {
197
199
  spaces_ready_default as default
198
200
  };
199
- //# sourceMappingURL=spaces-ready-K7NSNBHM.mjs.map
201
+ //# sourceMappingURL=spaces-ready-HTWWJHLR.mjs.map