@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,30 +1,30 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  AwaitingObject
4
- } from "./chunk-OUBADVJE.mjs";
5
- import "./chunk-SSLBYZEY.mjs";
4
+ } from "./chunk-KKPCCA5O.mjs";
5
+ import "./chunk-PM4ZIGKC.mjs";
6
6
  import {
7
7
  SpaceCapabilities
8
- } from "./chunk-AT7LGFER.mjs";
9
- import "./chunk-HJJHLWKY.mjs";
10
- import "./chunk-2THX6G4C.mjs";
8
+ } from "./chunk-ZLMFLI7G.mjs";
9
+ import "./chunk-XEVIWD3O.mjs";
10
+ import "./chunk-YFQXFQGT.mjs";
11
11
  import {
12
- SPACE_PLUGIN
13
- } from "./chunk-HWNG4MEU.mjs";
12
+ meta
13
+ } from "./chunk-BDEFTL6K.mjs";
14
14
 
15
15
  // src/capabilities/react-root.tsx
16
16
  import React from "react";
17
17
  import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
18
- var react_root_default = () => contributes(Capabilities.ReactRoot, {
19
- id: SPACE_PLUGIN,
18
+ var react_root_default = (() => contributes(Capabilities.ReactRoot, {
19
+ id: meta.id,
20
20
  root: () => {
21
21
  const state = useCapability(SpaceCapabilities.State);
22
22
  return state.awaiting ? /* @__PURE__ */ React.createElement(AwaitingObject, {
23
23
  id: state.awaiting
24
24
  }) : null;
25
25
  }
26
- });
26
+ }));
27
27
  export {
28
28
  react_root_default as default
29
29
  };
30
- //# sourceMappingURL=react-root-HUK3ANLV.mjs.map
30
+ //# sourceMappingURL=react-root-LX7SIG6M.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
+ }
@@ -11,51 +11,54 @@ import {
11
11
  JoinDialog,
12
12
  MembersContainer,
13
13
  MenuFooter,
14
+ ObjectDetailsPanel,
14
15
  ObjectSettingsContainer,
15
16
  POPOVER_RENAME_OBJECT,
16
17
  POPOVER_RENAME_SPACE,
17
18
  PopoverRenameObject,
18
19
  PopoverRenameSpace,
20
+ RecordMain,
19
21
  SchemaContainer,
20
22
  SmallPresenceLive,
21
23
  SpacePluginSettings,
22
24
  SpacePresence,
23
25
  SpaceSettingsContainer,
24
- SyncStatus
25
- } from "./chunk-OUBADVJE.mjs";
26
- import "./chunk-SSLBYZEY.mjs";
26
+ SyncStatus,
27
+ ViewEditor
28
+ } from "./chunk-KKPCCA5O.mjs";
29
+ import {
30
+ useTypeOptions
31
+ } from "./chunk-PM4ZIGKC.mjs";
27
32
  import {
28
33
  SpaceCapabilities
29
- } from "./chunk-AT7LGFER.mjs";
30
- import "./chunk-HJJHLWKY.mjs";
34
+ } from "./chunk-ZLMFLI7G.mjs";
35
+ import "./chunk-XEVIWD3O.mjs";
31
36
  import {
32
37
  HueAnnotationId,
33
38
  IconAnnotationId
34
- } from "./chunk-2THX6G4C.mjs";
39
+ } from "./chunk-YFQXFQGT.mjs";
35
40
  import {
36
- SPACE_PLUGIN
37
- } from "./chunk-HWNG4MEU.mjs";
41
+ meta
42
+ } from "./chunk-BDEFTL6K.mjs";
38
43
 
39
44
  // src/capabilities/react-surface.tsx
40
- import React, { useCallback, useMemo } from "react";
41
- import { Capabilities, contributes, createSurface, Surface, useCapabilities, useCapability, useLayout } from "@dxos/app-framework";
45
+ import React, { useCallback } from "react";
46
+ import { Capabilities, Surface, contributes, createSurface, useCapability, useLayout } from "@dxos/app-framework";
42
47
  import { Obj, Type } from "@dxos/echo";
43
48
  import { findAnnotation } from "@dxos/effect";
44
49
  import { SettingsStore } from "@dxos/local-storage";
45
- import { ClientCapabilities } from "@dxos/plugin-client";
46
- import { useClient } from "@dxos/react-client";
47
- import { getSpace, isLiveObject, isSpace, parseId, SpaceState, useSpace } from "@dxos/react-client/echo";
48
- import { Input, useTranslation } from "@dxos/react-ui";
50
+ import { SpaceState, fullyQualifiedId, getSpace, isLiveObject, isSpace, parseId, useSpace } from "@dxos/react-client/echo";
51
+ import { Input } from "@dxos/react-ui";
49
52
  import { SelectInput } from "@dxos/react-ui-form";
50
53
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
51
54
  import { DataType, TypenameAnnotationId } from "@dxos/schema";
52
55
  var OMIT = [
53
56
  DataType.Collection.typename,
54
- DataType.QueryCollection.typename
57
+ Type.getTypename(DataType.QueryCollection)
55
58
  ];
56
- var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
59
+ var react_surface_default = (({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
57
60
  createSurface({
58
- id: `${SPACE_PLUGIN}/article`,
61
+ id: `${meta.id}/article`,
59
62
  role: "article",
60
63
  filter: (data) => (
61
64
  // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
@@ -71,7 +74,16 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
71
74
  })
72
75
  }),
73
76
  createSurface({
74
- id: `${SPACE_PLUGIN}/collection-fallback`,
77
+ id: `${meta.id}/record-article`,
78
+ role: "article",
79
+ position: "fallback",
80
+ filter: (data) => Obj.isObject(data.subject),
81
+ component: ({ data }) => /* @__PURE__ */ React.createElement(RecordMain, {
82
+ record: data.subject
83
+ })
84
+ }),
85
+ createSurface({
86
+ id: `${meta.id}/collection-fallback`,
75
87
  role: "article",
76
88
  position: "fallback",
77
89
  filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
@@ -80,15 +92,15 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
80
92
  })
81
93
  }),
82
94
  createSurface({
83
- id: `${SPACE_PLUGIN}/plugin-settings`,
95
+ id: `${meta.id}/plugin-settings`,
84
96
  role: "article",
85
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,
97
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
86
98
  component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(SpacePluginSettings, {
87
99
  settings: subject.value
88
100
  })
89
101
  }),
90
102
  createSurface({
91
- id: `${SPACE_PLUGIN}/companion/object-settings`,
103
+ id: `${meta.id}/companion/object-settings`,
92
104
  role: "article",
93
105
  filter: (data) => Obj.isObject(data.companionTo) && data.subject === "settings",
94
106
  component: ({ data, role }) => /* @__PURE__ */ React.createElement(ObjectSettingsContainer, {
@@ -97,9 +109,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
97
109
  })
98
110
  }),
99
111
  createSurface({
100
- id: `${SPACE_PLUGIN}/space-settings-properties`,
112
+ id: `${meta.id}/space-settings-properties`,
101
113
  role: "article",
102
- filter: (data) => data.subject === `${SPACE_PLUGIN}/properties`,
114
+ filter: (data) => data.subject === `${meta.id}/properties`,
103
115
  component: () => {
104
116
  const layout = useLayout();
105
117
  const { spaceId } = parseId(layout.workspace);
@@ -113,10 +125,10 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
113
125
  }
114
126
  }),
115
127
  createSurface({
116
- id: `${SPACE_PLUGIN}/space-settings-members`,
128
+ id: `${meta.id}/space-settings-members`,
117
129
  role: "article",
118
130
  position: "hoist",
119
- filter: (data) => data.subject === `${SPACE_PLUGIN}/members`,
131
+ filter: (data) => data.subject === `${meta.id}/members`,
120
132
  component: () => {
121
133
  const layout = useLayout();
122
134
  const { spaceId } = parseId(layout.workspace);
@@ -131,9 +143,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
131
143
  }
132
144
  }),
133
145
  createSurface({
134
- id: `${SPACE_PLUGIN}/space-settings-schema`,
146
+ id: `${meta.id}/space-settings-schema`,
135
147
  role: "article",
136
- filter: (data) => data.subject === `${SPACE_PLUGIN}/schema`,
148
+ filter: (data) => data.subject === `${meta.id}/schema`,
137
149
  component: () => {
138
150
  const layout = useLayout();
139
151
  const { spaceId } = parseId(layout.workspace);
@@ -146,6 +158,16 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
146
158
  });
147
159
  }
148
160
  }),
161
+ createSurface({
162
+ id: `${meta.id}/selected-objects`,
163
+ role: "article",
164
+ filter: (data) => Obj.instanceOf(DataType.View, data.companionTo) && data.subject === "selected-objects",
165
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ObjectDetailsPanel, {
166
+ key: fullyQualifiedId(data.companionTo),
167
+ objectId: fullyQualifiedId(data.companionTo),
168
+ view: data.companionTo
169
+ })
170
+ }),
149
171
  createSurface({
150
172
  id: JOIN_DIALOG,
151
173
  role: "dialog",
@@ -165,14 +187,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
165
187
  component: ({ data }) => /* @__PURE__ */ React.createElement(CreateObjectDialog, data.props)
166
188
  }),
167
189
  createSurface({
168
- id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,
190
+ id: `${meta.id}/create-initial-space-form-[hue]`,
169
191
  role: "form-input",
170
192
  filter: (data) => {
171
193
  const annotation = findAnnotation(data.schema.ast, HueAnnotationId);
172
194
  return !!annotation;
173
195
  },
174
196
  component: ({ data: _, ...inputProps }) => {
175
- const { label, disabled, type, getValue, onValueChange } = inputProps;
197
+ const { label, readonly, type, getValue, onValueChange } = inputProps;
176
198
  const handleChange = useCallback((nextHue) => onValueChange(type, nextHue), [
177
199
  onValueChange
178
200
  ]);
@@ -180,7 +202,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
180
202
  onValueChange
181
203
  ]);
182
204
  return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(HuePicker, {
183
- disabled,
205
+ disabled: !!readonly,
184
206
  value: getValue() ?? "",
185
207
  onChange: handleChange,
186
208
  onReset: handleReset
@@ -188,14 +210,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
188
210
  }
189
211
  }),
190
212
  createSurface({
191
- id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,
213
+ id: `${meta.id}/create-initial-space-form-[icon]`,
192
214
  role: "form-input",
193
215
  filter: (data) => {
194
216
  const annotation = findAnnotation(data.schema.ast, IconAnnotationId);
195
217
  return !!annotation;
196
218
  },
197
219
  component: ({ data: _, ...inputProps }) => {
198
- const { label, disabled, type, getValue, onValueChange } = inputProps;
220
+ const { label, readonly, type, getValue, onValueChange } = inputProps;
199
221
  const handleChange = useCallback((nextIcon) => onValueChange(type, nextIcon), [
200
222
  onValueChange
201
223
  ]);
@@ -203,7 +225,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
203
225
  onValueChange
204
226
  ]);
205
227
  return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(IconPicker, {
206
- disabled,
228
+ disabled: !!readonly,
207
229
  value: getValue() ?? "",
208
230
  onChange: handleChange,
209
231
  onReset: handleReset
@@ -211,7 +233,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
211
233
  }
212
234
  }),
213
235
  createSurface({
214
- id: `${SPACE_PLUGIN}/typename-form-input`,
236
+ id: `${meta.id}/typename-form-input`,
215
237
  role: "form-input",
216
238
  filter: (data) => {
217
239
  if (data.prop !== "typename") {
@@ -221,51 +243,30 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
221
243
  return !!annotation;
222
244
  },
223
245
  component: ({ data: { schema, target }, ...inputProps }) => {
224
- const { t } = useTranslation();
225
- const client = useClient();
226
246
  const props = inputProps;
227
247
  const space = isSpace(target) ? target : getSpace(target);
228
- if (!space) {
229
- return null;
230
- }
231
248
  const annotation = findAnnotation(schema.ast, TypenameAnnotationId);
232
- const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
233
- const whitelistedTypenames = useMemo(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
234
- schemaWhitelists
235
- ]);
236
- const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);
237
- const objectFormTypenames = useMemo(() => new Set(objectForms.map((form) => Type.getTypename(form.objectSchema)).filter((typename) => !OMIT.includes(typename))), [
238
- objectForms
239
- ]);
240
- const fixed = client.graph.schemaRegistry.schemas.filter((schema2) => {
241
- const limitedStatic = annotation.includes("limited-static") && whitelistedTypenames.has(Type.getTypename(schema2));
242
- const objectForm = annotation.includes("object-form") && objectFormTypenames.has(Type.getTypename(schema2));
243
- return annotation.includes("static") || limitedStatic || objectForm;
249
+ const options = useTypeOptions({
250
+ space,
251
+ annotation
244
252
  });
245
- const dynamic = space?.db.schemaRegistry.query().runSync();
246
- const typenames = Array.from(/* @__PURE__ */ new Set([
247
- ...annotation.includes("limited-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
248
- ...annotation.includes("dynamic") ? dynamic.map((schema2) => schema2.typename) : []
249
- ])).sort();
250
- const options = useMemo(() => typenames.map((typename) => ({
251
- value: typename,
252
- label: t("typename label", {
253
- ns: typename,
254
- defaultValue: typename
255
- })
256
- })), [
257
- t,
258
- typenames
259
- ]);
260
253
  return /* @__PURE__ */ React.createElement(SelectInput, {
261
254
  ...props,
262
255
  options
263
256
  });
264
257
  }
265
258
  }),
259
+ createSurface({
260
+ id: `${meta.id}/object-settings`,
261
+ role: "object-settings",
262
+ filter: (data) => Obj.instanceOf(DataType.View, data.subject),
263
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ViewEditor, {
264
+ view: data.subject
265
+ })
266
+ }),
266
267
  createSurface({
267
268
  id: POPOVER_RENAME_SPACE,
268
- role: "popover",
269
+ role: "card--popover",
269
270
  filter: (data) => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),
270
271
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameSpace, {
271
272
  space: data.props
@@ -273,14 +274,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
273
274
  }),
274
275
  createSurface({
275
276
  id: POPOVER_RENAME_OBJECT,
276
- role: "popover",
277
+ role: "card--popover",
277
278
  filter: (data) => data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),
278
279
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameObject, {
279
280
  object: data.props
280
281
  })
281
282
  }),
282
283
  createSurface({
283
- id: `${SPACE_PLUGIN}/menu-footer`,
284
+ id: `${meta.id}/menu-footer`,
284
285
  role: "menu-footer",
285
286
  filter: (data) => Obj.isObject(data.subject),
286
287
  component: ({ data }) => /* @__PURE__ */ React.createElement(MenuFooter, {
@@ -288,7 +289,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
288
289
  })
289
290
  }),
290
291
  createSurface({
291
- id: `${SPACE_PLUGIN}/navtree-presence`,
292
+ id: `${meta.id}/navtree-presence`,
292
293
  role: "navtree-item-end",
293
294
  filter: (data) => typeof data.id === "string" && Obj.isObject(data.subject),
294
295
  component: ({ data }) => {
@@ -302,7 +303,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
302
303
  }),
303
304
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
304
305
  createSurface({
305
- id: `${SPACE_PLUGIN}/navtree-presence-fallback`,
306
+ id: `${meta.id}/navtree-presence-fallback`,
306
307
  role: "navtree-item-end",
307
308
  position: "fallback",
308
309
  filter: (data) => typeof data.id === "string",
@@ -313,7 +314,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
313
314
  }),
314
315
  // TODO(wittjosiah): Broken?
315
316
  createSurface({
316
- id: `${SPACE_PLUGIN}/navtree-sync-status`,
317
+ id: `${meta.id}/navtree-sync-status`,
317
318
  role: "navtree-item-end",
318
319
  filter: (data) => isSpace(data.subject),
319
320
  component: ({ data }) => /* @__PURE__ */ React.createElement(InlineSyncStatus, {
@@ -322,7 +323,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
322
323
  })
323
324
  }),
324
325
  createSurface({
325
- id: `${SPACE_PLUGIN}/navbar-presence`,
326
+ id: `${meta.id}/navbar-presence`,
326
327
  role: "navbar-end",
327
328
  position: "hoist",
328
329
  filter: (data) => isSpace(data.subject) || Obj.isObject(data.subject),
@@ -335,7 +336,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
335
336
  }
336
337
  }),
337
338
  createSurface({
338
- id: `${SPACE_PLUGIN}/collection-section`,
339
+ id: `${meta.id}/collection-section`,
339
340
  role: "section",
340
341
  filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
341
342
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
@@ -343,12 +344,12 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
343
344
  })
344
345
  }),
345
346
  createSurface({
346
- id: `${SPACE_PLUGIN}/status`,
347
+ id: `${meta.id}/status`,
347
348
  role: "status",
348
349
  component: () => /* @__PURE__ */ React.createElement(SyncStatus, null)
349
350
  })
350
- ]);
351
+ ]));
351
352
  export {
352
353
  react_surface_default as default
353
354
  };
354
- //# sourceMappingURL=react-surface-AGAWX7DD.mjs.map
355
+ //# sourceMappingURL=react-surface-6SVGOZNJ.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,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceCapabilities
4
- } from "./chunk-AT7LGFER.mjs";
5
- import "./chunk-HWNG4MEU.mjs";
4
+ } from "./chunk-ZLMFLI7G.mjs";
5
+ import "./chunk-BDEFTL6K.mjs";
6
6
 
7
7
  // src/capabilities/schema-defs.ts
8
8
  import { Capabilities, contributes } from "@dxos/app-framework";
9
9
  import { ClientCapabilities } from "@dxos/plugin-client";
10
- var schema_defs_default = (context) => {
10
+ var schema_defs_default = ((context) => {
11
11
  const registry = context.getCapability(Capabilities.RxRegistry);
12
12
  const client = context.getCapability(ClientCapabilities.Client);
13
13
  let previous = [];
@@ -20,8 +20,8 @@ var schema_defs_default = (context) => {
20
20
  immediate: true
21
21
  });
22
22
  return contributes(Capabilities.Null, null, () => cancel());
23
- };
23
+ });
24
24
  export {
25
25
  schema_defs_default as default
26
26
  };
27
- //# sourceMappingURL=schema-defs-4MCDG4DV.mjs.map
27
+ //# sourceMappingURL=schema-defs-EOG2UPJU.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,15 +1,15 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceSettingsSchema
4
- } from "./chunk-2THX6G4C.mjs";
4
+ } from "./chunk-YFQXFQGT.mjs";
5
5
  import {
6
6
  meta
7
- } from "./chunk-HWNG4MEU.mjs";
7
+ } from "./chunk-BDEFTL6K.mjs";
8
8
 
9
9
  // src/capabilities/settings.ts
10
10
  import { Capabilities, contributes } from "@dxos/app-framework";
11
11
  import { live } from "@dxos/live-object";
12
- var settings_default = () => {
12
+ var settings_default = (() => {
13
13
  const settings = live({
14
14
  showHidden: false
15
15
  });
@@ -18,8 +18,8 @@ var settings_default = () => {
18
18
  schema: SpaceSettingsSchema,
19
19
  value: settings
20
20
  });
21
- };
21
+ });
22
22
  export {
23
23
  settings_default as default
24
24
  };
25
- //# sourceMappingURL=settings-YGKHGFPH.mjs.map
25
+ //# sourceMappingURL=settings-ZDJNLFGW.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,19 +1,19 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceCapabilities
4
- } from "./chunk-AT7LGFER.mjs";
4
+ } from "./chunk-ZLMFLI7G.mjs";
5
5
  import {
6
6
  COMPOSER_SPACE_LOCK,
7
7
  SHARED
8
- } from "./chunk-HJJHLWKY.mjs";
8
+ } from "./chunk-XEVIWD3O.mjs";
9
9
  import {
10
10
  SpaceAction
11
- } from "./chunk-2THX6G4C.mjs";
12
- import "./chunk-HWNG4MEU.mjs";
11
+ } from "./chunk-YFQXFQGT.mjs";
12
+ import "./chunk-BDEFTL6K.mjs";
13
13
 
14
14
  // src/capabilities/spaces-ready.ts
15
- import { Option } from "effect";
16
- import { contributes, createIntent, Capabilities, LayoutAction } from "@dxos/app-framework";
15
+ import * as Option from "effect/Option";
16
+ import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
17
17
  import { SubscriptionList } from "@dxos/async";
18
18
  import { Filter, Obj, Type } from "@dxos/echo";
19
19
  import { scheduledEffect } from "@dxos/echo-signals/core";
@@ -23,12 +23,12 @@ import { ClientCapabilities } from "@dxos/plugin-client";
23
23
  import { DeckCapabilities } from "@dxos/plugin-deck";
24
24
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
25
25
  import { PublicKey } from "@dxos/react-client";
26
- import { FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from "@dxos/react-client/echo";
26
+ import { FQ_ID_LENGTH, SpaceState, parseFullyQualifiedId } from "@dxos/react-client/echo";
27
27
  import { ComplexMap, reduceGroupBy } from "@dxos/util";
28
28
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/spaces-ready.ts";
29
29
  var ACTIVE_NODE_BROADCAST_INTERVAL = 3e4;
30
30
  var WAIT_FOR_OBJECT_TIMEOUT = 5e3;
31
- var spaces_ready_default = async (context) => {
31
+ var spaces_ready_default = (async (context) => {
32
32
  const subscriptions = new SubscriptionList();
33
33
  const spaceSubscriptions = new SubscriptionList();
34
34
  const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
@@ -64,13 +64,15 @@ var spaces_ready_default = async (context) => {
64
64
  if (active.length !== 1) {
65
65
  return;
66
66
  }
67
- const node = graph.getNode(active[0]).pipe(Option.getOrNull);
68
- if (!node && active[0].length === FQ_ID_LENGTH) {
67
+ const id = active[0];
68
+ const node = graph.getNode(id).pipe(Option.getOrNull);
69
+ if (!node && id.length === FQ_ID_LENGTH) {
70
+ void graph.initialize(id);
69
71
  const timeout = setTimeout(async () => {
70
- const node2 = graph.getNode(active[0]).pipe(Option.getOrNull);
72
+ const node2 = graph.getNode(id).pipe(Option.getOrNull);
71
73
  if (!node2) {
72
74
  await dispatch(createIntent(SpaceAction.WaitForObject, {
73
- id: active[0]
75
+ id
74
76
  }));
75
77
  }
76
78
  }, WAIT_FOR_OBJECT_TIMEOUT);
@@ -133,7 +135,7 @@ var spaces_ready_default = async (context) => {
133
135
  err: err.message
134
136
  }, {
135
137
  F: __dxlog_file,
136
- L: 156,
138
+ L: 159,
137
139
  S: void 0,
138
140
  C: (f, a) => f(...a)
139
141
  });
@@ -184,7 +186,7 @@ var spaces_ready_default = async (context) => {
184
186
  } catch (err) {
185
187
  log.catch(err, void 0, {
186
188
  F: __dxlog_file,
187
- L: 224,
189
+ L: 227,
188
190
  S: void 0,
189
191
  C: (f, a) => f(...a)
190
192
  });
@@ -193,8 +195,8 @@ var spaces_ready_default = async (context) => {
193
195
  spaceSubscriptions.clear();
194
196
  subscriptions.clear();
195
197
  });
196
- };
198
+ });
197
199
  export {
198
200
  spaces_ready_default as default
199
201
  };
200
- //# sourceMappingURL=spaces-ready-UM2P3DCR.mjs.map
202
+ //# sourceMappingURL=spaces-ready-VUGYPF4L.mjs.map