@dxos/plugin-space 0.8.4-main.f9ba587 → 0.8.4-main.fffef41

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 (361) hide show
  1. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs +31 -0
  2. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs +141 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +144 -0
  6. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs +116 -0
  8. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-DTM7BJ6D.mjs +528 -0
  10. package/dist/lib/browser/app-graph-builder-DTM7BJ6D.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs → app-graph-serializer-TIKXF43P.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-TIKXF43P.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-AFUOMLX6.mjs +167 -0
  14. package/dist/lib/browser/chunk-AFUOMLX6.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-GVTXQCIW.mjs → chunk-CKACGS7T.mjs} +714 -571
  16. package/dist/lib/browser/chunk-CKACGS7T.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
  18. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-WBSEOLEM.mjs → chunk-KFUMADZF.mjs} +301 -73
  20. package/dist/lib/browser/chunk-KFUMADZF.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-6VLSHG4A.mjs → chunk-VGKOXAPE.mjs} +87 -12
  22. package/dist/lib/browser/chunk-VGKOXAPE.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  24. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  26. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-S6NY637J.mjs → chunk-ZQMSGD5J.mjs} +95 -19
  28. package/dist/lib/browser/chunk-ZQMSGD5J.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-NAXTPQXE.mjs} +6 -6
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +148 -59
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-WK5WYFH3.mjs → intent-resolver-3FNTO3VW.mjs} +236 -68
  34. package/dist/lib/browser/intent-resolver-3FNTO3VW.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-Q7VBWBES.mjs +30 -0
  37. package/dist/lib/browser/react-root-Q7VBWBES.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-6C3YJNDK.mjs → react-surface-TTHS332A.mjs} +98 -100
  39. package/dist/lib/browser/react-surface-TTHS332A.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs → schema-defs-QPI2JU3X.mjs} +6 -6
  41. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-XNWYRWNM.mjs → settings-45PGPO2V.mjs} +5 -5
  43. package/dist/lib/browser/{settings-XNWYRWNM.mjs.map → settings-45PGPO2V.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs → spaces-ready-QCND4DVY.mjs} +21 -18
  45. package/dist/lib/browser/spaces-ready-QCND4DVY.mjs.map +7 -0
  46. package/dist/lib/browser/{state-522XTUR4.mjs → state-Q7YRE5KG.mjs} +7 -7
  47. package/dist/lib/browser/state-Q7YRE5KG.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  49. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs +32 -0
  50. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs +142 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +145 -0
  54. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs +117 -0
  56. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +7 -0
  57. package/dist/lib/node-esm/app-graph-builder-FBJFWI4H.mjs +529 -0
  58. package/dist/lib/node-esm/app-graph-builder-FBJFWI4H.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs → app-graph-serializer-BESQZAYU.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-BESQZAYU.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-2THX6G4C.mjs → chunk-6VEONPNZ.mjs} +95 -19
  62. package/dist/lib/node-esm/chunk-6VEONPNZ.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs +168 -0
  64. package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  66. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-HJJHLWKY.mjs → chunk-OK2L7N2F.mjs} +301 -73
  70. package/dist/lib/node-esm/chunk-OK2L7N2F.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-SXD6T2N4.mjs → chunk-QBRPYAEL.mjs} +87 -12
  72. package/dist/lib/node-esm/chunk-QBRPYAEL.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-OUBADVJE.mjs → chunk-XGAMJC5C.mjs} +714 -571
  74. package/dist/lib/node-esm/chunk-XGAMJC5C.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +21 -0
  76. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-OXLKCJE3.mjs} +6 -6
  78. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +148 -59
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-HSR27ME4.mjs → intent-resolver-6O5FSB7Z.mjs} +236 -68
  82. package/dist/lib/node-esm/intent-resolver-6O5FSB7Z.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-K66W3FMA.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-K66W3FMA.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-AGAWX7DD.mjs → react-surface-Y7FTEIDF.mjs} +98 -100
  87. package/dist/lib/node-esm/react-surface-Y7FTEIDF.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs → schema-defs-ZS2D47XW.mjs} +6 -6
  89. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-YGKHGFPH.mjs → settings-6FO65BA6.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-YGKHGFPH.mjs.map → settings-6FO65BA6.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs → spaces-ready-P7CKVXBE.mjs} +21 -18
  93. package/dist/lib/node-esm/spaces-ready-P7CKVXBE.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-C4IOXPZP.mjs → state-362I5BMK.mjs} +7 -7
  95. package/dist/lib/node-esm/state-362I5BMK.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 +14 -7
  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/CollectionArticle.d.ts +6 -0
  123. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  124. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  125. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  126. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +5 -4
  127. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1704 -4
  129. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +7 -5
  131. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  132. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  133. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  134. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  135. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  136. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  137. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  138. package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +3 -2
  139. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  140. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1707 -0
  141. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -0
  142. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  143. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  144. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  145. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  146. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  147. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  148. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  149. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  150. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  151. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  152. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  153. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  154. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  155. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  156. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  157. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  158. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1540 -0
  159. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  160. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  161. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  162. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  163. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  164. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  165. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  166. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  167. package/dist/types/src/components/RecordArticle.stories.d.ts +1707 -0
  168. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  169. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  170. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  171. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  172. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  173. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  174. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +1537 -0
  175. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
  176. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  177. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  178. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  179. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  180. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  181. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  182. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  183. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1537 -4
  184. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  185. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  186. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  187. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1538 -5
  188. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  189. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  190. package/dist/types/src/components/ViewEditor.d.ts +7 -0
  191. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  192. package/dist/types/src/components/index.d.ts +11 -5
  193. package/dist/types/src/components/index.d.ts.map +1 -1
  194. package/dist/types/src/events.d.ts +1 -0
  195. package/dist/types/src/events.d.ts.map +1 -1
  196. package/dist/types/src/helpers/index.d.ts +2 -0
  197. package/dist/types/src/helpers/index.d.ts.map +1 -0
  198. package/dist/types/src/helpers/query.d.ts +8 -0
  199. package/dist/types/src/helpers/query.d.ts.map +1 -0
  200. package/dist/types/src/helpers/query.test.d.ts +2 -0
  201. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  202. package/dist/types/src/hooks/index.d.ts +1 -0
  203. package/dist/types/src/hooks/index.d.ts.map +1 -1
  204. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  206. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  207. package/dist/types/src/hooks/usePath.d.ts +1 -1
  208. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  209. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  210. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  211. package/dist/types/src/index.d.ts +1 -0
  212. package/dist/types/src/index.d.ts.map +1 -1
  213. package/dist/types/src/meta.d.ts +0 -1
  214. package/dist/types/src/meta.d.ts.map +1 -1
  215. package/dist/types/src/translations.d.ts +1382 -11
  216. package/dist/types/src/translations.d.ts.map +1 -1
  217. package/dist/types/src/types/types.d.ts +141 -66
  218. package/dist/types/src/types/types.d.ts.map +1 -1
  219. package/dist/types/src/util.d.ts +40 -10
  220. package/dist/types/src/util.d.ts.map +1 -1
  221. package/dist/types/tsconfig.tsbuildinfo +1 -1
  222. package/package.json +67 -61
  223. package/src/SpacePlugin.ts +232 -139
  224. package/src/capabilities/app-graph-builder.ts +335 -88
  225. package/src/capabilities/app-graph-serializer.ts +12 -12
  226. package/src/capabilities/capabilities.ts +21 -10
  227. package/src/capabilities/identity-created.ts +3 -3
  228. package/src/capabilities/index.ts +0 -1
  229. package/src/capabilities/intent-resolver.ts +191 -54
  230. package/src/capabilities/react-root.tsx +6 -4
  231. package/src/capabilities/react-surface.tsx +94 -119
  232. package/src/capabilities/schema-defs.ts +4 -3
  233. package/src/capabilities/spaces-ready.ts +16 -10
  234. package/src/capabilities/state.ts +5 -4
  235. package/src/components/AwaitingObject.tsx +16 -20
  236. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +8 -5
  237. package/src/components/CollectionSection.tsx +8 -6
  238. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +17 -16
  239. package/src/components/CreateDialog/CreateObjectDialog.tsx +76 -54
  240. package/src/components/CreateDialog/CreateObjectPanel.tsx +24 -13
  241. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  242. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  243. package/src/components/JoinDialog/index.ts +5 -0
  244. package/src/components/MembersContainer/MembersContainer.stories.tsx +56 -0
  245. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +27 -24
  246. package/src/components/MembersContainer/index.ts +5 -0
  247. package/src/components/MenuFooter.tsx +4 -5
  248. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  249. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  250. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  251. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +11 -17
  252. package/src/components/ObjectRenamePopover/index.ts +5 -0
  253. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -3
  254. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  255. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  256. package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
  257. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
  258. package/src/components/ObjectSettings/index.ts +3 -1
  259. package/src/components/RecordArticle.stories.tsx +115 -0
  260. package/src/components/RecordArticle.tsx +114 -0
  261. package/src/components/SchemaContainer.tsx +25 -28
  262. package/src/components/SpacePluginSettings.tsx +16 -11
  263. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +24 -23
  264. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +22 -17
  265. package/src/components/SpacePresence/index.ts +5 -0
  266. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  267. package/src/components/SpaceRenamePopover/index.ts +5 -0
  268. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
  269. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +49 -28
  270. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  271. package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
  272. package/src/components/SyncStatus/SyncStatus.tsx +110 -13
  273. package/src/components/SyncStatus/status.ts +4 -4
  274. package/src/components/ViewEditor.tsx +92 -0
  275. package/src/components/index.ts +10 -5
  276. package/src/events.ts +7 -6
  277. package/src/helpers/index.ts +5 -0
  278. package/src/helpers/query.test.ts +24 -0
  279. package/src/helpers/query.ts +158 -0
  280. package/src/hooks/index.ts +1 -0
  281. package/src/hooks/useActiveSpace.ts +3 -2
  282. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  283. package/src/hooks/usePath.ts +1 -1
  284. package/src/hooks/useTypeOptions.ts +59 -0
  285. package/src/index.ts +1 -0
  286. package/src/meta.ts +6 -3
  287. package/src/translations.ts +85 -7
  288. package/src/types/types.ts +94 -22
  289. package/src/util.tsx +297 -75
  290. package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs +0 -363
  291. package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs.map +0 -7
  292. package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +0 -7
  293. package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +0 -7
  294. package/dist/lib/browser/chunk-C7KGJTAL.mjs +0 -18
  295. package/dist/lib/browser/chunk-C7KGJTAL.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  297. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-S6NY637J.mjs.map +0 -7
  300. package/dist/lib/browser/chunk-VLBRSGJ2.mjs +0 -94
  301. package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
  302. package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +0 -7
  303. package/dist/lib/browser/chunk-XXIPJLJF.mjs +0 -19
  304. package/dist/lib/browser/chunk-XXIPJLJF.mjs.map +0 -7
  305. package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +0 -7
  306. package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +0 -7
  307. package/dist/lib/browser/react-root-7S6FIC5G.mjs +0 -29
  308. package/dist/lib/browser/react-root-7S6FIC5G.mjs.map +0 -7
  309. package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +0 -7
  310. package/dist/lib/browser/schema-defs-K3B3OAH4.mjs.map +0 -7
  311. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
  312. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  313. package/dist/lib/browser/spaces-ready-K7NSNBHM.mjs.map +0 -7
  314. package/dist/lib/browser/state-522XTUR4.mjs.map +0 -7
  315. package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs +0 -364
  316. package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs.map +0 -7
  317. package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +0 -7
  318. package/dist/lib/node-esm/chunk-2THX6G4C.mjs.map +0 -7
  319. package/dist/lib/node-esm/chunk-72QMMRKC.mjs +0 -19
  320. package/dist/lib/node-esm/chunk-72QMMRKC.mjs.map +0 -7
  321. package/dist/lib/node-esm/chunk-AT7LGFER.mjs +0 -20
  322. package/dist/lib/node-esm/chunk-AT7LGFER.mjs.map +0 -7
  323. package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +0 -7
  324. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  325. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  326. package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs +0 -96
  328. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
  329. package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +0 -7
  330. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +0 -7
  331. package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +0 -7
  332. package/dist/lib/node-esm/react-root-HUK3ANLV.mjs.map +0 -7
  333. package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +0 -7
  334. package/dist/lib/node-esm/schema-defs-4MCDG4DV.mjs.map +0 -7
  335. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
  336. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  337. package/dist/lib/node-esm/spaces-ready-UM2P3DCR.mjs.map +0 -7
  338. package/dist/lib/node-esm/state-C4IOXPZP.mjs.map +0 -7
  339. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  340. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  341. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  342. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  343. package/dist/types/src/components/CollectionMain.d.ts +0 -6
  344. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  345. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  346. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  347. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
  348. package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
  349. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  350. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  351. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  352. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  353. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  354. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  355. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  356. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
  357. package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
  358. package/src/capabilities/schema-tool.test.ts +0 -44
  359. package/src/capabilities/schema-tools.ts +0 -125
  360. package/src/components/MembersContainer.stories.tsx +0 -30
  361. package/src/components/PersistenceStatus.tsx +0 -84
@@ -0,0 +1,30 @@
1
+ import {
2
+ AwaitingObject
3
+ } from "./chunk-CKACGS7T.mjs";
4
+ import "./chunk-AFUOMLX6.mjs";
5
+ import {
6
+ SpaceCapabilities
7
+ } from "./chunk-K5J7ZB5P.mjs";
8
+ import "./chunk-KFUMADZF.mjs";
9
+ import "./chunk-ZQMSGD5J.mjs";
10
+ import {
11
+ meta
12
+ } from "./chunk-VZBIIYFM.mjs";
13
+
14
+ // src/capabilities/react-root.tsx
15
+ import React from "react";
16
+ import { Capabilities, contributes } from "@dxos/app-framework";
17
+ import { useCapability } from "@dxos/app-framework/react";
18
+ var react_root_default = (() => contributes(Capabilities.ReactRoot, {
19
+ id: meta.id,
20
+ root: () => {
21
+ const state = useCapability(SpaceCapabilities.State);
22
+ return state.awaiting ? /* @__PURE__ */ React.createElement(AwaitingObject, {
23
+ id: state.awaiting
24
+ }) : null;
25
+ }
26
+ }));
27
+ export {
28
+ react_root_default as default
29
+ };
30
+ //# sourceMappingURL=react-root-Q7VBWBES.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 } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/react';\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,mBAAmB;AAC1C,SAASC,qBAAqB;AAO9B,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
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CREATE_OBJECT_DIALOG,
3
3
  CREATE_SPACE_DIALOG,
4
- CollectionMain,
4
+ CollectionArticle,
5
5
  CollectionSection,
6
6
  CreateObjectDialog,
7
7
  CreateSpaceDialog,
@@ -10,51 +10,51 @@ import {
10
10
  JoinDialog,
11
11
  MembersContainer,
12
12
  MenuFooter,
13
+ OBJECT_RENAME_POPOVER,
14
+ ObjectDetailsPanel,
15
+ ObjectRenamePopover,
13
16
  ObjectSettingsContainer,
14
- POPOVER_RENAME_OBJECT,
15
- POPOVER_RENAME_SPACE,
16
- PopoverRenameObject,
17
- PopoverRenameSpace,
17
+ RecordArticle,
18
+ SPACE_RENAME_POPOVER,
18
19
  SchemaContainer,
19
20
  SmallPresenceLive,
20
21
  SpacePluginSettings,
21
22
  SpacePresence,
23
+ SpaceRenamePopover,
22
24
  SpaceSettingsContainer,
23
- SyncStatus
24
- } from "./chunk-GVTXQCIW.mjs";
25
- import "./chunk-VLBRSGJ2.mjs";
25
+ SyncStatus,
26
+ ViewEditor
27
+ } from "./chunk-CKACGS7T.mjs";
28
+ import {
29
+ useTypeOptions
30
+ } from "./chunk-AFUOMLX6.mjs";
26
31
  import {
27
32
  SpaceCapabilities
28
- } from "./chunk-XXIPJLJF.mjs";
29
- import "./chunk-WBSEOLEM.mjs";
33
+ } from "./chunk-K5J7ZB5P.mjs";
34
+ import "./chunk-KFUMADZF.mjs";
30
35
  import {
31
36
  HueAnnotationId,
32
37
  IconAnnotationId
33
- } from "./chunk-S6NY637J.mjs";
38
+ } from "./chunk-ZQMSGD5J.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";
41
- import { Obj, Type } from "@dxos/echo";
44
+ import React, { useCallback } from "react";
45
+ import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
46
+ import { Surface, useCapability, useLayout } from "@dxos/app-framework/react";
47
+ import { Obj } from "@dxos/echo";
42
48
  import { findAnnotation } from "@dxos/effect";
43
49
  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";
50
+ import { SpaceState, getSpace, isLiveObject, isSpace, parseId, useSpace } from "@dxos/react-client/echo";
51
+ import { Input } from "@dxos/react-ui";
48
52
  import { SelectInput } from "@dxos/react-ui-form";
49
53
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
50
- import { DataType, TypenameAnnotationId } from "@dxos/schema";
51
- var OMIT = [
52
- DataType.Collection.typename,
53
- DataType.QueryCollection.typename
54
- ];
55
- var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
54
+ import { Collection, TypenameAnnotationId, View } from "@dxos/schema";
55
+ var react_surface_default = (({ createInvitationUrl }) => contributes(Capabilities.ReactSurface, [
56
56
  createSurface({
57
- id: `${SPACE_PLUGIN}/article`,
57
+ id: `${meta.id}/article`,
58
58
  role: "article",
59
59
  filter: (data) => (
60
60
  // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.
@@ -63,31 +63,40 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
63
63
  component: ({ data, role, ...rest }) => /* @__PURE__ */ React.createElement(Surface, {
64
64
  data: {
65
65
  id: data.subject.id,
66
- subject: data.subject.properties[DataType.Collection.typename]?.target
66
+ subject: data.subject.properties[Collection.Collection.typename]?.target
67
67
  },
68
68
  role,
69
69
  ...rest
70
70
  })
71
71
  }),
72
72
  createSurface({
73
- id: `${SPACE_PLUGIN}/collection-fallback`,
73
+ id: `${meta.id}/record-article`,
74
+ role: "article",
75
+ position: "fallback",
76
+ filter: (data) => Obj.isObject(data.subject),
77
+ component: ({ data }) => /* @__PURE__ */ React.createElement(RecordArticle, {
78
+ subject: data.subject
79
+ })
80
+ }),
81
+ createSurface({
82
+ id: `${meta.id}/collection-fallback`,
74
83
  role: "article",
75
84
  position: "fallback",
76
- filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
77
- component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionMain, {
78
- collection: data.subject
85
+ filter: (data) => Obj.instanceOf(Collection.Collection, data.subject),
86
+ component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionArticle, {
87
+ subject: data.subject
79
88
  })
80
89
  }),
81
90
  createSurface({
82
- id: `${SPACE_PLUGIN}/plugin-settings`,
91
+ id: `${meta.id}/plugin-settings`,
83
92
  role: "article",
84
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,
93
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
85
94
  component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(SpacePluginSettings, {
86
95
  settings: subject.value
87
96
  })
88
97
  }),
89
98
  createSurface({
90
- id: `${SPACE_PLUGIN}/companion/object-settings`,
99
+ id: `${meta.id}/companion/object-settings`,
91
100
  role: "article",
92
101
  filter: (data) => Obj.isObject(data.companionTo) && data.subject === "settings",
93
102
  component: ({ data, role }) => /* @__PURE__ */ React.createElement(ObjectSettingsContainer, {
@@ -96,9 +105,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
96
105
  })
97
106
  }),
98
107
  createSurface({
99
- id: `${SPACE_PLUGIN}/space-settings-properties`,
108
+ id: `${meta.id}/space-settings-properties`,
100
109
  role: "article",
101
- filter: (data) => data.subject === `${SPACE_PLUGIN}/properties`,
110
+ filter: (data) => data.subject === `${meta.id}/properties`,
102
111
  component: () => {
103
112
  const layout = useLayout();
104
113
  const { spaceId } = parseId(layout.workspace);
@@ -112,10 +121,10 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
112
121
  }
113
122
  }),
114
123
  createSurface({
115
- id: `${SPACE_PLUGIN}/space-settings-members`,
124
+ id: `${meta.id}/space-settings-members`,
116
125
  role: "article",
117
126
  position: "hoist",
118
- filter: (data) => data.subject === `${SPACE_PLUGIN}/members`,
127
+ filter: (data) => data.subject === `${meta.id}/members`,
119
128
  component: () => {
120
129
  const layout = useLayout();
121
130
  const { spaceId } = parseId(layout.workspace);
@@ -130,9 +139,9 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
130
139
  }
131
140
  }),
132
141
  createSurface({
133
- id: `${SPACE_PLUGIN}/space-settings-schema`,
142
+ id: `${meta.id}/space-settings-schema`,
134
143
  role: "article",
135
- filter: (data) => data.subject === `${SPACE_PLUGIN}/schema`,
144
+ filter: (data) => data.subject === `${meta.id}/schema`,
136
145
  component: () => {
137
146
  const layout = useLayout();
138
147
  const { spaceId } = parseId(layout.workspace);
@@ -145,6 +154,16 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
145
154
  });
146
155
  }
147
156
  }),
157
+ createSurface({
158
+ id: `${meta.id}/selected-objects`,
159
+ role: "article",
160
+ filter: (data) => Obj.instanceOf(View.View, data.companionTo) && data.subject === "selected-objects",
161
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ObjectDetailsPanel, {
162
+ key: Obj.getDXN(data.companionTo).toString(),
163
+ objectId: Obj.getDXN(data.companionTo).toString(),
164
+ view: data.companionTo
165
+ })
166
+ }),
148
167
  createSurface({
149
168
  id: JOIN_DIALOG,
150
169
  role: "dialog",
@@ -164,14 +183,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
164
183
  component: ({ data }) => /* @__PURE__ */ React.createElement(CreateObjectDialog, data.props)
165
184
  }),
166
185
  createSurface({
167
- id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,
186
+ id: `${meta.id}/create-initial-space-form-[hue]`,
168
187
  role: "form-input",
169
188
  filter: (data) => {
170
189
  const annotation = findAnnotation(data.schema.ast, HueAnnotationId);
171
190
  return !!annotation;
172
191
  },
173
192
  component: ({ data: _, ...inputProps }) => {
174
- const { label, disabled, type, getValue, onValueChange } = inputProps;
193
+ const { label, readonly, type, getValue, onValueChange } = inputProps;
175
194
  const handleChange = useCallback((nextHue) => onValueChange(type, nextHue), [
176
195
  onValueChange
177
196
  ]);
@@ -179,7 +198,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
179
198
  onValueChange
180
199
  ]);
181
200
  return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(HuePicker, {
182
- disabled,
201
+ disabled: !!readonly,
183
202
  value: getValue() ?? "",
184
203
  onChange: handleChange,
185
204
  onReset: handleReset
@@ -187,14 +206,14 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
187
206
  }
188
207
  }),
189
208
  createSurface({
190
- id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,
209
+ id: `${meta.id}/create-initial-space-form-[icon]`,
191
210
  role: "form-input",
192
211
  filter: (data) => {
193
212
  const annotation = findAnnotation(data.schema.ast, IconAnnotationId);
194
213
  return !!annotation;
195
214
  },
196
215
  component: ({ data: _, ...inputProps }) => {
197
- const { label, disabled, type, getValue, onValueChange } = inputProps;
216
+ const { label, readonly, type, getValue, onValueChange } = inputProps;
198
217
  const handleChange = useCallback((nextIcon) => onValueChange(type, nextIcon), [
199
218
  onValueChange
200
219
  ]);
@@ -202,7 +221,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
202
221
  onValueChange
203
222
  ]);
204
223
  return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, label), /* @__PURE__ */ React.createElement(IconPicker, {
205
- disabled,
224
+ disabled: !!readonly,
206
225
  value: getValue() ?? "",
207
226
  onChange: handleChange,
208
227
  onReset: handleReset
@@ -210,7 +229,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
210
229
  }
211
230
  }),
212
231
  createSurface({
213
- id: `${SPACE_PLUGIN}/typename-form-input`,
232
+ id: `${meta.id}/typename-form-input`,
214
233
  role: "form-input",
215
234
  filter: (data) => {
216
235
  if (data.prop !== "typename") {
@@ -220,42 +239,13 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
220
239
  return !!annotation;
221
240
  },
222
241
  component: ({ data: { schema, target }, ...inputProps }) => {
223
- const { t } = useTranslation();
224
- const client = useClient();
225
242
  const props = inputProps;
226
243
  const space = isSpace(target) ? target : getSpace(target);
227
- if (!space) {
228
- return null;
229
- }
230
244
  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;
245
+ const options = useTypeOptions({
246
+ space,
247
+ annotation
243
248
  });
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
249
  return /* @__PURE__ */ React.createElement(SelectInput, {
260
250
  ...props,
261
251
  options
@@ -263,23 +253,31 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
263
253
  }
264
254
  }),
265
255
  createSurface({
266
- id: POPOVER_RENAME_SPACE,
267
- role: "popover",
268
- filter: (data) => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),
269
- component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameSpace, {
256
+ id: `${meta.id}/object-settings`,
257
+ role: "object-settings",
258
+ filter: (data) => Obj.instanceOf(View.View, data.subject),
259
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ViewEditor, {
260
+ view: data.subject
261
+ })
262
+ }),
263
+ createSurface({
264
+ id: SPACE_RENAME_POPOVER,
265
+ role: "card--popover",
266
+ filter: (data) => data.component === SPACE_RENAME_POPOVER && isSpace(data.props),
267
+ component: ({ data }) => /* @__PURE__ */ React.createElement(SpaceRenamePopover, {
270
268
  space: data.props
271
269
  })
272
270
  }),
273
271
  createSurface({
274
- id: POPOVER_RENAME_OBJECT,
275
- role: "popover",
276
- filter: (data) => data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),
277
- component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameObject, {
272
+ id: OBJECT_RENAME_POPOVER,
273
+ role: "card--popover",
274
+ filter: (data) => data.component === OBJECT_RENAME_POPOVER && isLiveObject(data.props),
275
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ObjectRenamePopover, {
278
276
  object: data.props
279
277
  })
280
278
  }),
281
279
  createSurface({
282
- id: `${SPACE_PLUGIN}/menu-footer`,
280
+ id: `${meta.id}/menu-footer`,
283
281
  role: "menu-footer",
284
282
  filter: (data) => Obj.isObject(data.subject),
285
283
  component: ({ data }) => /* @__PURE__ */ React.createElement(MenuFooter, {
@@ -287,7 +285,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
287
285
  })
288
286
  }),
289
287
  createSurface({
290
- id: `${SPACE_PLUGIN}/navtree-presence`,
288
+ id: `${meta.id}/navtree-presence`,
291
289
  role: "navtree-item-end",
292
290
  filter: (data) => typeof data.id === "string" && Obj.isObject(data.subject),
293
291
  component: ({ data }) => {
@@ -301,7 +299,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
301
299
  }),
302
300
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
303
301
  createSurface({
304
- id: `${SPACE_PLUGIN}/navtree-presence-fallback`,
302
+ id: `${meta.id}/navtree-presence-fallback`,
305
303
  role: "navtree-item-end",
306
304
  position: "fallback",
307
305
  filter: (data) => typeof data.id === "string",
@@ -312,7 +310,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
312
310
  }),
313
311
  // TODO(wittjosiah): Broken?
314
312
  createSurface({
315
- id: `${SPACE_PLUGIN}/navtree-sync-status`,
313
+ id: `${meta.id}/navtree-sync-status`,
316
314
  role: "navtree-item-end",
317
315
  filter: (data) => isSpace(data.subject),
318
316
  component: ({ data }) => /* @__PURE__ */ React.createElement(InlineSyncStatus, {
@@ -321,33 +319,33 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
321
319
  })
322
320
  }),
323
321
  createSurface({
324
- id: `${SPACE_PLUGIN}/navbar-presence`,
322
+ id: `${meta.id}/navbar-presence`,
325
323
  role: "navbar-end",
326
324
  position: "hoist",
327
325
  filter: (data) => isSpace(data.subject) || Obj.isObject(data.subject),
328
326
  component: ({ data }) => {
329
327
  const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);
330
- const object = isSpace(data.subject) ? data.subject.state.get() === SpaceState.SPACE_READY ? space?.properties[DataType.Collection.typename]?.target : void 0 : data.subject;
328
+ const object = isSpace(data.subject) ? data.subject.state.get() === SpaceState.SPACE_READY ? space?.properties[Collection.Collection.typename]?.target : void 0 : data.subject;
331
329
  return object ? /* @__PURE__ */ React.createElement(SpacePresence, {
332
330
  object
333
331
  }) : null;
334
332
  }
335
333
  }),
336
334
  createSurface({
337
- id: `${SPACE_PLUGIN}/collection-section`,
335
+ id: `${meta.id}/collection-section`,
338
336
  role: "section",
339
- filter: (data) => Obj.instanceOf(DataType.Collection, data.subject),
337
+ filter: (data) => Obj.instanceOf(Collection.Collection, data.subject),
340
338
  component: ({ data }) => /* @__PURE__ */ React.createElement(CollectionSection, {
341
- collection: data.subject
339
+ subject: data.subject
342
340
  })
343
341
  }),
344
342
  createSurface({
345
- id: `${SPACE_PLUGIN}/status`,
343
+ id: `${meta.id}/status`,
346
344
  role: "status",
347
345
  component: () => /* @__PURE__ */ React.createElement(SyncStatus, null)
348
346
  })
349
- ]);
347
+ ]));
350
348
  export {
351
349
  react_surface_default as default
352
350
  };
353
- //# sourceMappingURL=react-surface-6C3YJNDK.mjs.map
351
+ //# sourceMappingURL=react-surface-TTHS332A.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, contributes, createSurface } from '@dxos/app-framework';\nimport { Surface, useCapability, useLayout } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { type Space, SpaceState, getSpace, isLiveObject, isSpace, parseId, useSpace } 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 { Collection, type TypenameAnnotation, TypenameAnnotationId, View } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\n// TODO(burdon): Component name standard: NounVerbComponent.\nimport {\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CollectionArticle,\n CollectionSection,\n CreateObjectDialog,\n type CreateObjectDialogProps,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n OBJECT_RENAME_POPOVER,\n ObjectDetailsPanel,\n ObjectRenamePopover,\n ObjectSettingsContainer,\n RecordArticle,\n SPACE_RENAME_POPOVER,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceRenamePopover,\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\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[Collection.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 }) => <RecordArticle subject={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: Collection.Collection } => Obj.instanceOf(Collection.Collection, data.subject),\n component: ({ data }) => <CollectionArticle subject={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: View.View; subject: 'selected-objects' } =>\n Obj.instanceOf(View.View, data.companionTo) && data.subject === 'selected-objects',\n component: ({ data }) => (\n <ObjectDetailsPanel\n key={Obj.getDXN(data.companionTo).toString()}\n objectId={Obj.getDXN(data.companionTo).toString()}\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 {\n prop: string;\n schema: Schema.Schema<any>;\n target: Space | Collection.Collection | undefined;\n } => {\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: View.View } => Obj.instanceOf(View.View, data.subject),\n component: ({ data }) => <ViewEditor view={data.subject} />,\n }),\n createSurface({\n id: SPACE_RENAME_POPOVER,\n role: 'card--popover',\n filter: (data): data is { props: Space } => data.component === SPACE_RENAME_POPOVER && isSpace(data.props),\n component: ({ data }) => <SpaceRenamePopover space={data.props} />,\n }),\n createSurface({\n id: OBJECT_RENAME_POPOVER,\n role: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === OBJECT_RENAME_POPOVER && isLiveObject(data.props),\n component: ({ data }) => <ObjectRenamePopover 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[Collection.Collection.typename]?.target as Collection.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: Collection.Collection } => Obj.instanceOf(Collection.Collection, data.subject),\n component: ({ data }) => <CollectionSection subject={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "useLayout", "Obj", "findAnnotation", "SettingsStore", "SpaceState", "getSpace", "isLiveObject", "isSpace", "parseId", "useSpace", "Input", "SelectInput", "HuePicker", "IconPicker", "Collection", "TypenameAnnotationId", "View", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "Collection", "typename", "target", "position", "Obj", "isObject", "RecordArticle", "instanceOf", "CollectionArticle", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "View", "ObjectDetailsPanel", "key", "getDXN", "toString", "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", "SPACE_RENAME_POPOVER", "SpaceRenamePopover", "OBJECT_RENAME_POPOVER", "isLiveObject", "ObjectRenamePopover", "MenuFooter", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
7
+ }
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  SpaceCapabilities
3
- } from "./chunk-XXIPJLJF.mjs";
4
- import "./chunk-FBCGT5YY.mjs";
3
+ } from "./chunk-K5J7ZB5P.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) => {
10
- const registry = context.getCapability(Capabilities.RxRegistry);
9
+ var schema_defs_default = ((context) => {
10
+ const registry = context.getCapability(Capabilities.AtomRegistry);
11
11
  const client = context.getCapability(ClientCapabilities.Client);
12
12
  let previous = [];
13
13
  const cancel = registry.subscribe(context.capabilities(SpaceCapabilities.ObjectForm), (_forms) => {
@@ -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-QPI2JU3X.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.AtomRegistry);\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,YAAY;AAChE,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", "AtomRegistry", "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-ZQMSGD5J.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-45PGPO2V.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
  }