@dxos/plugin-space 0.7.5-main.2567c87 → 0.7.5-main.5ae2ba8

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 (251) hide show
  1. package/dist/lib/browser/{app-graph-builder-F6XSETHX.mjs → app-graph-builder-MGK5HWPZ.mjs} +26 -103
  2. package/dist/lib/browser/app-graph-builder-MGK5HWPZ.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-FYJE23GN.mjs → app-graph-serializer-FOWFLYGU.mjs} +5 -5
  4. package/dist/lib/browser/{chunk-IZ7QKQ2E.mjs → chunk-23RVI5FZ.mjs} +27 -11
  5. package/dist/lib/browser/chunk-23RVI5FZ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-UH5P4UL3.mjs → chunk-NU7WDVGN.mjs} +4 -2
  7. package/dist/lib/browser/chunk-NU7WDVGN.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-SOXNANA6.mjs → chunk-PQXZCNAU.mjs} +3 -2
  9. package/dist/lib/browser/{chunk-SOXNANA6.mjs.map → chunk-PQXZCNAU.mjs.map} +3 -3
  10. package/dist/lib/browser/{chunk-XXD33C4E.mjs → chunk-S6B7627U.mjs} +486 -349
  11. package/dist/lib/browser/chunk-S6B7627U.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-T36CIHPG.mjs → chunk-UDWHTKB5.mjs} +7 -4
  13. package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-SSJ772GK.mjs → chunk-ULA2UQJ4.mjs} +18 -5
  15. package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +7 -0
  16. package/dist/lib/browser/{identity-created-4Q4PFIC5.mjs → identity-created-FYGS6TBH.mjs} +3 -3
  17. package/dist/lib/browser/index.mjs +59 -24
  18. package/dist/lib/browser/index.mjs.map +3 -3
  19. package/dist/lib/browser/intent-resolver-QVR4MSJV.mjs +555 -0
  20. package/dist/lib/browser/intent-resolver-QVR4MSJV.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-root-BDOPFJGJ.mjs → react-root-IP2ZB245.mjs} +6 -6
  23. package/dist/lib/browser/{react-surface-EGOL2JBL.mjs → react-surface-BT3EHB6V.mjs} +36 -49
  24. package/dist/lib/browser/react-surface-BT3EHB6V.mjs.map +7 -0
  25. package/dist/lib/browser/schema-5W3DSY2E.mjs +24 -0
  26. package/dist/lib/browser/schema-5W3DSY2E.mjs.map +7 -0
  27. package/dist/lib/browser/{settings-WF67QZSD.mjs → settings-PHPCXX33.mjs} +3 -3
  28. package/dist/lib/browser/{spaces-ready-WVU7US3C.mjs → spaces-ready-K47RR7N2.mjs} +31 -32
  29. package/dist/lib/browser/spaces-ready-K47RR7N2.mjs.map +7 -0
  30. package/dist/lib/browser/{state-MS4KYJWI.mjs → state-INJ63O57.mjs} +3 -3
  31. package/dist/lib/browser/types/index.mjs +6 -4
  32. package/dist/lib/node/{app-graph-builder-GKLVZ4PM.cjs → app-graph-builder-ZIUBXRPA.cjs} +59 -136
  33. package/dist/lib/node/app-graph-builder-ZIUBXRPA.cjs.map +7 -0
  34. package/dist/lib/node/{app-graph-serializer-RMTU5YSC.cjs → app-graph-serializer-VQOGHKXL.cjs} +21 -21
  35. package/dist/lib/node/{chunk-AJRP7AD6.cjs → chunk-N2FS7PRA.cjs} +552 -414
  36. package/dist/lib/node/chunk-N2FS7PRA.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-5D4RWKTV.cjs → chunk-OVGKWJOC.cjs} +78 -62
  38. package/dist/lib/node/chunk-OVGKWJOC.cjs.map +7 -0
  39. package/dist/lib/node/{chunk-UENH2YBM.cjs → chunk-U6DYXAR3.cjs} +12 -9
  40. package/dist/lib/node/chunk-U6DYXAR3.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-YCBBGTFD.cjs → chunk-WAJKBO3J.cjs} +25 -11
  42. package/dist/lib/node/chunk-WAJKBO3J.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-AO4EW2RX.cjs → chunk-WZR6OAN3.cjs} +6 -5
  44. package/dist/lib/node/{chunk-AO4EW2RX.cjs.map → chunk-WZR6OAN3.cjs.map} +3 -3
  45. package/dist/lib/node/{chunk-56NGXG2A.cjs → chunk-YZKNRFHU.cjs} +10 -8
  46. package/dist/lib/node/chunk-YZKNRFHU.cjs.map +7 -0
  47. package/dist/lib/node/{identity-created-QQWX7WX3.cjs → identity-created-AXI64BLE.cjs} +7 -7
  48. package/dist/lib/node/index.cjs +132 -98
  49. package/dist/lib/node/index.cjs.map +3 -3
  50. package/dist/lib/node/intent-resolver-MLENGECT.cjs +553 -0
  51. package/dist/lib/node/intent-resolver-MLENGECT.cjs.map +7 -0
  52. package/dist/lib/node/meta.json +1 -1
  53. package/dist/lib/node/{react-root-ZTR2J2I3.cjs → react-root-3OX5Z5CX.cjs} +12 -12
  54. package/dist/lib/node/{react-surface-75KRPQYT.cjs → react-surface-5NYCMXSM.cjs} +77 -89
  55. package/dist/lib/node/react-surface-5NYCMXSM.cjs.map +7 -0
  56. package/dist/lib/node/schema-YN7WVFRX.cjs +40 -0
  57. package/dist/lib/node/schema-YN7WVFRX.cjs.map +7 -0
  58. package/dist/lib/node/{settings-KOVSPA3S.cjs → settings-5QYFWNH7.cjs} +8 -8
  59. package/dist/lib/node/{spaces-ready-ILVGUHJH.cjs → spaces-ready-FQNAKR7G.cjs} +39 -40
  60. package/dist/lib/node/spaces-ready-FQNAKR7G.cjs.map +7 -0
  61. package/dist/lib/node/{state-4UIOUKLJ.cjs → state-57UE3DYE.cjs} +8 -8
  62. package/dist/lib/node/types/index.cjs +19 -17
  63. package/dist/lib/node/types/index.cjs.map +2 -2
  64. package/dist/lib/node-esm/{app-graph-builder-NEHQ5Z63.mjs → app-graph-builder-TERVM2SL.mjs} +26 -103
  65. package/dist/lib/node-esm/app-graph-builder-TERVM2SL.mjs.map +7 -0
  66. package/dist/lib/node-esm/{app-graph-serializer-UWWS5OVC.mjs → app-graph-serializer-GZRSWHEN.mjs} +5 -5
  67. package/dist/lib/node-esm/{chunk-E5DWIQ3N.mjs → chunk-2TQ2AJEZ.mjs} +7 -4
  68. package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-375RB3CZ.mjs → chunk-6RSVVEPS.mjs} +4 -2
  70. package/dist/lib/node-esm/chunk-6RSVVEPS.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-GVOPDPS2.mjs → chunk-DIKRH2IK.mjs} +486 -349
  72. package/dist/lib/node-esm/chunk-DIKRH2IK.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-7FUVU45N.mjs → chunk-ICCM4YRJ.mjs} +3 -2
  74. package/dist/lib/node-esm/{chunk-7FUVU45N.mjs.map → chunk-ICCM4YRJ.mjs.map} +3 -3
  75. package/dist/lib/node-esm/{chunk-5QMAPAZD.mjs → chunk-PGH5L7MV.mjs} +27 -11
  76. package/dist/lib/node-esm/chunk-PGH5L7MV.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-HTBGWQEU.mjs → chunk-TRNZQEEN.mjs} +18 -5
  78. package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +7 -0
  79. package/dist/lib/node-esm/{identity-created-HMNY2MPB.mjs → identity-created-3CGEXNPO.mjs} +3 -3
  80. package/dist/lib/node-esm/index.mjs +59 -24
  81. package/dist/lib/node-esm/index.mjs.map +3 -3
  82. package/dist/lib/node-esm/intent-resolver-BLW4RM6X.mjs +556 -0
  83. package/dist/lib/node-esm/intent-resolver-BLW4RM6X.mjs.map +7 -0
  84. package/dist/lib/node-esm/meta.json +1 -1
  85. package/dist/lib/node-esm/{react-root-OUPJA4RY.mjs → react-root-7XXGP56B.mjs} +6 -6
  86. package/dist/lib/node-esm/{react-surface-7EVWCKIP.mjs → react-surface-R2ECJSFB.mjs} +36 -49
  87. package/dist/lib/node-esm/react-surface-R2ECJSFB.mjs.map +7 -0
  88. package/dist/lib/node-esm/schema-LOR2EVGY.mjs +25 -0
  89. package/dist/lib/node-esm/schema-LOR2EVGY.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-EDK6WI3V.mjs → settings-H6MXTEQM.mjs} +3 -3
  91. package/dist/lib/node-esm/{spaces-ready-CH3W7OGN.mjs → spaces-ready-HKAQG5SA.mjs} +31 -32
  92. package/dist/lib/node-esm/spaces-ready-HKAQG5SA.mjs.map +7 -0
  93. package/dist/lib/node-esm/{state-BMISGQ2O.mjs → state-VYA6OFHD.mjs} +3 -3
  94. package/dist/lib/node-esm/types/index.mjs +6 -4
  95. package/dist/types/src/SpacePlugin.d.ts +5 -1
  96. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/app-graph-builder.d.ts +110 -110
  98. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/capabilities.d.ts +8 -1
  100. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/index.d.ts +123 -121
  102. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -1
  104. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/schema.d.ts +4 -0
  107. package/dist/types/src/capabilities/schema.d.ts.map +1 -0
  108. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  109. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +1 -2
  110. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  111. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +1 -2
  112. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
  113. package/dist/types/src/components/AwaitingObject.d.ts +1 -2
  114. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  115. package/dist/types/src/components/BaseObjectSettings.d.ts +1 -2
  116. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
  117. package/dist/types/src/components/CollectionMain.d.ts +1 -2
  118. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  119. package/dist/types/src/components/CollectionSection.d.ts +1 -2
  120. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  121. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -4
  122. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  123. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  124. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +8 -9
  125. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  126. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -2
  127. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/JoinDialog.d.ts +1 -2
  129. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  130. package/dist/types/src/components/MenuFooter.d.ts +1 -2
  131. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  132. package/dist/types/src/components/PersistenceStatus.d.ts +1 -2
  133. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  134. package/dist/types/src/components/PopoverAddSpace.d.ts +3 -0
  135. package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -0
  136. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -2
  137. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  138. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -2
  139. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  140. package/dist/types/src/components/ShareSpaceButton.d.ts +2 -3
  141. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  142. package/dist/types/src/components/SpacePluginSettings.d.ts +1 -2
  143. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  144. package/dist/types/src/components/SpacePresence.d.ts +4 -5
  145. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  146. package/dist/types/src/components/SpacePresence.stories.d.ts +2 -3
  147. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  148. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -2
  149. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  150. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +3 -5
  151. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  152. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
  153. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +1 -2
  154. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  155. package/dist/types/src/components/SyncStatus/Space.d.ts +2 -3
  156. package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
  157. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +3 -4
  158. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  159. package/dist/types/src/components/index.d.ts +1 -0
  160. package/dist/types/src/components/index.d.ts.map +1 -1
  161. package/dist/types/src/events.d.ts +4 -0
  162. package/dist/types/src/events.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +1 -1
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/meta.d.ts +1 -0
  166. package/dist/types/src/meta.d.ts.map +1 -1
  167. package/dist/types/src/translations.d.ts +9 -0
  168. package/dist/types/src/translations.d.ts.map +1 -1
  169. package/dist/types/src/types/collection.d.ts +2 -2
  170. package/dist/types/src/types/thread.d.ts +34 -34
  171. package/dist/types/src/types/types.d.ts +37 -12
  172. package/dist/types/src/types/types.d.ts.map +1 -1
  173. package/dist/types/src/util.d.ts +3 -2
  174. package/dist/types/src/util.d.ts.map +1 -1
  175. package/package.json +41 -38
  176. package/src/SpacePlugin.tsx +44 -15
  177. package/src/capabilities/app-graph-builder.ts +19 -92
  178. package/src/capabilities/capabilities.ts +7 -2
  179. package/src/capabilities/index.ts +1 -0
  180. package/src/capabilities/intent-resolver.ts +428 -312
  181. package/src/capabilities/react-surface.tsx +32 -56
  182. package/src/capabilities/schema.ts +27 -0
  183. package/src/capabilities/spaces-ready.ts +20 -21
  184. package/src/components/AwaitingObject.tsx +5 -5
  185. package/src/components/BaseObjectSettings.tsx +7 -0
  186. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -3
  187. package/src/components/CreateDialog/CreateObjectDialog.tsx +42 -34
  188. package/src/components/CreateDialog/CreateObjectPanel.tsx +126 -129
  189. package/src/components/CreateDialog/CreateSpaceDialog.tsx +18 -9
  190. package/src/components/JoinDialog.tsx +27 -19
  191. package/src/components/PopoverAddSpace.tsx +46 -0
  192. package/src/components/SpacePluginSettings.tsx +3 -3
  193. package/src/components/SpacePresence.stories.tsx +2 -2
  194. package/src/components/SpacePresence.tsx +2 -3
  195. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +16 -1
  196. package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +5 -1
  197. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +30 -8
  198. package/src/components/SyncStatus/InlineSyncStatus.tsx +2 -2
  199. package/src/components/SyncStatus/SyncStatus.tsx +2 -1
  200. package/src/components/index.ts +1 -0
  201. package/src/events.ts +6 -0
  202. package/src/index.ts +1 -1
  203. package/src/meta.ts +1 -0
  204. package/src/translations.ts +3 -0
  205. package/src/types/types.ts +23 -4
  206. package/src/util.tsx +16 -6
  207. package/dist/lib/browser/app-graph-builder-F6XSETHX.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-IZ7QKQ2E.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-SSJ772GK.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-T36CIHPG.mjs.map +0 -7
  211. package/dist/lib/browser/chunk-UH5P4UL3.mjs.map +0 -7
  212. package/dist/lib/browser/chunk-XXD33C4E.mjs.map +0 -7
  213. package/dist/lib/browser/intent-resolver-XRZYCXXX.mjs +0 -459
  214. package/dist/lib/browser/intent-resolver-XRZYCXXX.mjs.map +0 -7
  215. package/dist/lib/browser/react-surface-EGOL2JBL.mjs.map +0 -7
  216. package/dist/lib/browser/spaces-ready-WVU7US3C.mjs.map +0 -7
  217. package/dist/lib/node/app-graph-builder-GKLVZ4PM.cjs.map +0 -7
  218. package/dist/lib/node/chunk-56NGXG2A.cjs.map +0 -7
  219. package/dist/lib/node/chunk-5D4RWKTV.cjs.map +0 -7
  220. package/dist/lib/node/chunk-AJRP7AD6.cjs.map +0 -7
  221. package/dist/lib/node/chunk-UENH2YBM.cjs.map +0 -7
  222. package/dist/lib/node/chunk-YCBBGTFD.cjs.map +0 -7
  223. package/dist/lib/node/intent-resolver-3NI6AUAI.cjs +0 -458
  224. package/dist/lib/node/intent-resolver-3NI6AUAI.cjs.map +0 -7
  225. package/dist/lib/node/react-surface-75KRPQYT.cjs.map +0 -7
  226. package/dist/lib/node/spaces-ready-ILVGUHJH.cjs.map +0 -7
  227. package/dist/lib/node-esm/app-graph-builder-NEHQ5Z63.mjs.map +0 -7
  228. package/dist/lib/node-esm/chunk-375RB3CZ.mjs.map +0 -7
  229. package/dist/lib/node-esm/chunk-5QMAPAZD.mjs.map +0 -7
  230. package/dist/lib/node-esm/chunk-E5DWIQ3N.mjs.map +0 -7
  231. package/dist/lib/node-esm/chunk-GVOPDPS2.mjs.map +0 -7
  232. package/dist/lib/node-esm/chunk-HTBGWQEU.mjs.map +0 -7
  233. package/dist/lib/node-esm/intent-resolver-P5EVBOGP.mjs +0 -460
  234. package/dist/lib/node-esm/intent-resolver-P5EVBOGP.mjs.map +0 -7
  235. package/dist/lib/node-esm/react-surface-7EVWCKIP.mjs.map +0 -7
  236. package/dist/lib/node-esm/spaces-ready-CH3W7OGN.mjs.map +0 -7
  237. /package/dist/lib/browser/{app-graph-serializer-FYJE23GN.mjs.map → app-graph-serializer-FOWFLYGU.mjs.map} +0 -0
  238. /package/dist/lib/browser/{identity-created-4Q4PFIC5.mjs.map → identity-created-FYGS6TBH.mjs.map} +0 -0
  239. /package/dist/lib/browser/{react-root-BDOPFJGJ.mjs.map → react-root-IP2ZB245.mjs.map} +0 -0
  240. /package/dist/lib/browser/{settings-WF67QZSD.mjs.map → settings-PHPCXX33.mjs.map} +0 -0
  241. /package/dist/lib/browser/{state-MS4KYJWI.mjs.map → state-INJ63O57.mjs.map} +0 -0
  242. /package/dist/lib/node/{app-graph-serializer-RMTU5YSC.cjs.map → app-graph-serializer-VQOGHKXL.cjs.map} +0 -0
  243. /package/dist/lib/node/{identity-created-QQWX7WX3.cjs.map → identity-created-AXI64BLE.cjs.map} +0 -0
  244. /package/dist/lib/node/{react-root-ZTR2J2I3.cjs.map → react-root-3OX5Z5CX.cjs.map} +0 -0
  245. /package/dist/lib/node/{settings-KOVSPA3S.cjs.map → settings-5QYFWNH7.cjs.map} +0 -0
  246. /package/dist/lib/node/{state-4UIOUKLJ.cjs.map → state-57UE3DYE.cjs.map} +0 -0
  247. /package/dist/lib/node-esm/{app-graph-serializer-UWWS5OVC.mjs.map → app-graph-serializer-GZRSWHEN.mjs.map} +0 -0
  248. /package/dist/lib/node-esm/{identity-created-HMNY2MPB.mjs.map → identity-created-3CGEXNPO.mjs.map} +0 -0
  249. /package/dist/lib/node-esm/{react-root-OUPJA4RY.mjs.map → react-root-7XXGP56B.mjs.map} +0 -0
  250. /package/dist/lib/node-esm/{settings-EDK6WI3V.mjs.map → settings-H6MXTEQM.mjs.map} +0 -0
  251. /package/dist/lib/node-esm/{state-BMISGQ2O.mjs.map → state-VYA6OFHD.mjs.map} +0 -0
@@ -2,18 +2,10 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import React, { useCallback } from 'react';
5
+ import React from 'react';
6
6
 
7
- import {
8
- Capabilities,
9
- contributes,
10
- createSurface,
11
- Surface,
12
- useCapability,
13
- useCapabilities,
14
- usePluginManager,
15
- } from '@dxos/app-framework';
16
- import { ClientCapabilities } from '@dxos/plugin-client';
7
+ import { Capabilities, contributes, createSurface, Surface, useCapability } from '@dxos/app-framework';
8
+ import { SettingsStore } from '@dxos/local-storage';
17
9
  import {
18
10
  getSpace,
19
11
  isEchoObject,
@@ -43,7 +35,6 @@ import {
43
35
  POPOVER_RENAME_SPACE,
44
36
  PopoverRenameObject,
45
37
  PopoverRenameSpace,
46
- ShareSpaceButton,
47
38
  SmallPresenceLive,
48
39
  SPACE_SETTINGS_DIALOG,
49
40
  SpacePluginSettings,
@@ -53,10 +44,11 @@ import {
53
44
  SyncStatus,
54
45
  type CreateObjectDialogProps,
55
46
  type SpaceSettingsDialogProps,
47
+ POPOVER_ADD_SPACE,
48
+ PopoverAddSpace,
56
49
  } from '../components';
57
50
  import { SPACE_PLUGIN } from '../meta';
58
51
  import { CollectionType, type SpaceSettingsProps } from '../types';
59
- import { COMPOSER_SPACE_LOCK } from '../util';
60
52
 
61
53
  type ReactSurfaceOptions = {
62
54
  createInvitationUrl: (invitationCode: string) => string;
@@ -81,7 +73,7 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
81
73
  createSurface({
82
74
  id: `${SPACE_PLUGIN}/collection-fallback`,
83
75
  role: 'article',
84
- disposition: 'fallback',
76
+ position: 'fallback',
85
77
  filter: (data): data is { subject: CollectionType } => data.subject instanceof CollectionType,
86
78
  component: ({ data }) => <CollectionMain collection={data.subject} />,
87
79
  }),
@@ -95,28 +87,28 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
95
87
  createSurface({
96
88
  id: `${SPACE_PLUGIN}/object-settings-base-panel`,
97
89
  role: 'complementary--settings',
98
- disposition: 'hoist',
90
+ position: 'hoist',
99
91
  filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),
100
92
  component: ({ data }) => <BaseObjectSettings object={data.subject} />,
101
93
  }),
102
94
  createSurface({
103
95
  id: `${SPACE_PLUGIN}/object-settings-advanced-panel`,
104
96
  role: 'complementary--settings',
105
- disposition: 'fallback',
97
+ position: 'fallback',
106
98
  filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),
107
99
  component: ({ data }) => <AdvancedObjectSettings object={data.subject} />,
108
100
  }),
109
101
  createSurface({
110
102
  id: SPACE_SETTINGS_DIALOG,
111
103
  role: 'dialog',
112
- filter: (data): data is { subject: SpaceSettingsDialogProps } => data.component === SPACE_SETTINGS_DIALOG,
113
- component: ({ data }) => <SpaceSettingsDialog {...data.subject} createInvitationUrl={createInvitationUrl} />,
104
+ filter: (data): data is { props: SpaceSettingsDialogProps } => data.component === SPACE_SETTINGS_DIALOG,
105
+ component: ({ data }) => <SpaceSettingsDialog {...data.props} createInvitationUrl={createInvitationUrl} />,
114
106
  }),
115
107
  createSurface({
116
108
  id: JOIN_DIALOG,
117
109
  role: 'dialog',
118
- filter: (data): data is { subject: JoinPanelProps } => data.component === JOIN_DIALOG,
119
- component: ({ data }) => <JoinDialog {...data.subject} />,
110
+ filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,
111
+ component: ({ data }) => <JoinDialog {...data.props} />,
120
112
  }),
121
113
  createSurface({
122
114
  id: CREATE_SPACE_DIALOG,
@@ -127,36 +119,27 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
127
119
  createSurface({
128
120
  id: CREATE_OBJECT_DIALOG,
129
121
  role: 'dialog',
130
- filter: (data): data is { subject: Partial<CreateObjectDialogProps> } => data.component === CREATE_OBJECT_DIALOG,
131
- component: ({ data }) => {
132
- const schemas = useCapabilities(ClientCapabilities.Schema).flat();
133
- const manager = usePluginManager();
134
-
135
- const resolve = useCallback(
136
- (typename: string) => {
137
- return (
138
- manager.context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ??
139
- {}
140
- );
141
- },
142
- [manager],
143
- );
144
-
145
- return <CreateObjectDialog schemas={schemas} resolve={resolve} {...data.subject} />;
146
- },
122
+ filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,
123
+ component: ({ data }) => <CreateObjectDialog {...data.props} />,
147
124
  }),
148
125
  createSurface({
149
126
  id: POPOVER_RENAME_SPACE,
150
127
  role: 'popover',
151
- filter: (data): data is { subject: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.subject),
152
- component: ({ data }) => <PopoverRenameSpace space={data.subject} />,
128
+ filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),
129
+ component: ({ data }) => <PopoverRenameSpace space={data.props} />,
153
130
  }),
154
131
  createSurface({
155
132
  id: POPOVER_RENAME_OBJECT,
156
133
  role: 'popover',
157
- filter: (data): data is { subject: ReactiveEchoObject<any> } =>
158
- data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.subject),
159
- component: ({ data }) => <PopoverRenameObject object={data.subject} />,
134
+ filter: (data): data is { props: ReactiveEchoObject<any> } =>
135
+ data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.props),
136
+ component: ({ data }) => <PopoverRenameObject object={data.props} />,
137
+ }),
138
+ createSurface({
139
+ id: POPOVER_ADD_SPACE,
140
+ role: 'popover',
141
+ filter: (data): data is any => data.component === POPOVER_ADD_SPACE,
142
+ component: () => <PopoverAddSpace />,
160
143
  }),
161
144
  createSurface({
162
145
  id: `${SPACE_PLUGIN}/navtree-presence`,
@@ -173,7 +156,7 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
173
156
  // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.
174
157
  id: `${SPACE_PLUGIN}/navtree-presence-fallback`,
175
158
  role: 'navtree-item-end',
176
- disposition: 'fallback',
159
+ position: 'fallback',
177
160
  filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',
178
161
  component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,
179
162
  }),
@@ -186,7 +169,7 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
186
169
  createSurface({
187
170
  id: `${SPACE_PLUGIN}/navbar-presence`,
188
171
  role: 'navbar-end',
189
- disposition: 'hoist',
172
+ position: 'hoist',
190
173
  filter: (data): data is { subject: Space | ReactiveEchoObject<any> } =>
191
174
  isSpace(data.subject) || isEchoObject(data.subject),
192
175
  component: ({ data }) => {
@@ -197,12 +180,7 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
197
180
  : undefined
198
181
  : data.subject;
199
182
 
200
- return space && object ? (
201
- <>
202
- <SpacePresence object={object} />
203
- {space.properties[COMPOSER_SPACE_LOCK] ? null : <ShareSpaceButton space={space} />}
204
- </>
205
- ) : null;
183
+ return object ? <SpacePresence object={object} /> : null;
206
184
  },
207
185
  }),
208
186
  createSurface({
@@ -213,12 +191,10 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
213
191
  }),
214
192
  createSurface({
215
193
  id: `${SPACE_PLUGIN}/settings`,
216
- role: 'settings',
217
- filter: (data): data is any => data.subject === SPACE_PLUGIN,
218
- component: () => {
219
- const settings = useCapability(Capabilities.SettingsStore).getStore<SpaceSettingsProps>(SPACE_PLUGIN)!.value;
220
- return <SpacePluginSettings settings={settings} />;
221
- },
194
+ role: 'article',
195
+ filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>
196
+ data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,
197
+ component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,
222
198
  }),
223
199
  createSurface({
224
200
  id: `${SPACE_PLUGIN}/menu-footer`,
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { effect } from '@preact/signals-core';
6
+
7
+ import { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';
8
+ import { ClientCapabilities } from '@dxos/plugin-client';
9
+
10
+ import { SpaceCapabilities } from './capabilities';
11
+ import { type ObjectForm } from '../types';
12
+
13
+ export default (context: PluginsContext) => {
14
+ const client = context.requestCapability(ClientCapabilities.Client);
15
+
16
+ // TODO(wittjosiah): Unregister schemas when they are disabled.
17
+ let previous: ObjectForm[] = [];
18
+ const unsubscribe = effect(() => {
19
+ const forms = Array.from(new Set(context.requestCapabilities(SpaceCapabilities.ObjectForm)));
20
+ // TODO(wittjosiah): Filter out schemas which the client has already registered.
21
+ const newSchemas = forms.filter((form) => !previous.includes(form)).map((form) => form.objectSchema);
22
+ previous = forms;
23
+ client.addTypes(newSchemas);
24
+ });
25
+
26
+ return contributes(Capabilities.Null, null, () => unsubscribe());
27
+ };
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { contributes, createIntent, openIds, type PluginsContext, Capabilities } from '@dxos/app-framework';
5
+ import { contributes, createIntent, type PluginsContext, Capabilities, LayoutAction } from '@dxos/app-framework';
6
6
  import { EventSubscriptions } from '@dxos/async';
7
7
  import { Expando } from '@dxos/echo-schema';
8
8
  import { scheduledEffect } from '@dxos/echo-signals/core';
@@ -10,6 +10,7 @@ import { create } from '@dxos/live-object';
10
10
  import { log } from '@dxos/log';
11
11
  import { AttentionCapabilities } from '@dxos/plugin-attention';
12
12
  import { ClientCapabilities } from '@dxos/plugin-client';
13
+ import { DeckCapabilities } from '@dxos/plugin-deck';
13
14
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
14
15
  import { PublicKey } from '@dxos/react-client';
15
16
  import { Filter, FQ_ID_LENGTH, parseFullyQualifiedId, SpaceState } from '@dxos/react-client/echo';
@@ -29,7 +30,7 @@ export default async (context: PluginsContext) => {
29
30
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
30
31
  const { graph } = context.requestCapability(Capabilities.AppGraph);
31
32
  const layout = context.requestCapability(Capabilities.Layout);
32
- const location = context.requestCapability(Capabilities.Location);
33
+ const deck = context.requestCapability(DeckCapabilities.DeckState);
33
34
  const attention = context.requestCapability(AttentionCapabilities.Attention);
34
35
  const state = context.requestCapability(SpaceCapabilities.MutableState);
35
36
  const client = context.requestCapability(ClientCapabilities.Client);
@@ -37,6 +38,10 @@ export default async (context: PluginsContext) => {
37
38
  const defaultSpace = client.spaces.default;
38
39
  await defaultSpace.waitUntilReady();
39
40
 
41
+ if (deck.activeDeck === 'default') {
42
+ await dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: defaultSpace.id }));
43
+ }
44
+
40
45
  // Initialize space sharing lock in default space.
41
46
  if (typeof defaultSpace.properties[COMPOSER_SPACE_LOCK] !== 'boolean') {
42
47
  defaultSpace.properties[COMPOSER_SPACE_LOCK] = true;
@@ -54,21 +59,18 @@ export default async (context: PluginsContext) => {
54
59
  // Await missing objects.
55
60
  subscriptions.add(
56
61
  scheduledEffect(
57
- () => ({
58
- layoutMode: layout.layoutMode,
59
- soloPart: location.active.solo?.[0],
60
- }),
61
- ({ layoutMode, soloPart }) => {
62
- if (layoutMode !== 'solo' || !soloPart) {
62
+ () => ({ active: layout.active }),
63
+ ({ active }) => {
64
+ if (active.length !== 1) {
63
65
  return;
64
66
  }
65
67
 
66
- const node = graph.findNode(soloPart.id);
67
- if (!node && soloPart.id.length === FQ_ID_LENGTH) {
68
+ const node = graph.findNode(active[0]);
69
+ if (!node && active[0].length === FQ_ID_LENGTH) {
68
70
  const timeout = setTimeout(async () => {
69
- const node = graph.findNode(soloPart.id);
71
+ const node = graph.findNode(active[0]);
70
72
  if (!node) {
71
- await dispatch(createIntent(SpaceAction.WaitForObject, { id: soloPart.id }));
73
+ await dispatch(createIntent(SpaceAction.WaitForObject, { id: active[0] }));
72
74
  }
73
75
  }, WAIT_FOR_OBJECT_TIMEOUT);
74
76
 
@@ -102,17 +104,14 @@ export default async (context: PluginsContext) => {
102
104
  // Broadcast active node to other peers in the space.
103
105
  subscriptions.add(
104
106
  scheduledEffect(
105
- () => ({
106
- open: openIds(location.active, layout.layoutMode === 'solo' ? ['solo'] : ['main']),
107
- closed: [...location.closed],
108
- }),
109
- ({ open, closed }) => {
107
+ () => ({ current: attention.current, active: layout.active, inactive: layout.inactive }),
108
+ ({ current, active, inactive }) => {
110
109
  const send = () => {
111
110
  const spaces = client.spaces.get();
112
111
  const identity = client.halo.identity.get();
113
- if (identity && location.active) {
112
+ if (identity) {
114
113
  // Group parts by space for efficient messaging.
115
- const idsBySpace = reduceGroupBy(open, (id) => {
114
+ const idsBySpace = reduceGroupBy(active, (id) => {
116
115
  try {
117
116
  const [spaceId] = parseFullyQualifiedId(id);
118
117
  return spaceId;
@@ -121,7 +120,7 @@ export default async (context: PluginsContext) => {
121
120
  }
122
121
  });
123
122
 
124
- const removedBySpace = reduceGroupBy(closed, (id) => {
123
+ const removedBySpace = reduceGroupBy(inactive, (id) => {
125
124
  try {
126
125
  const [spaceId] = parseFullyQualifiedId(id);
127
126
  return spaceId;
@@ -147,7 +146,7 @@ export default async (context: PluginsContext) => {
147
146
  void space
148
147
  .postMessage('viewing', {
149
148
  identityKey: identity.identityKey.toHex(),
150
- attended: attention.current ? [...attention.current] : [],
149
+ attended: current,
151
150
  added,
152
151
  removed,
153
152
  })
@@ -5,7 +5,7 @@
5
5
  import { CheckCircle, CircleDashed, CircleNotch } from '@phosphor-icons/react';
6
6
  import React, { useCallback, useEffect, useState } from 'react';
7
7
 
8
- import { NavigationAction, useIntentDispatcher, createIntent, useCapability, Capabilities } from '@dxos/app-framework';
8
+ import { createIntent, LayoutAction, useIntentDispatcher, useLayout } from '@dxos/app-framework';
9
9
  import { useClient } from '@dxos/react-client';
10
10
  import { Filter, fullyQualifiedId, useQuery } from '@dxos/react-client/echo';
11
11
  import { Button, Toast, useTranslation } from '@dxos/react-ui';
@@ -23,7 +23,7 @@ export const AwaitingObject = ({ id }: { id: string }) => {
23
23
  const [found, setFound] = useState(false);
24
24
  const { t } = useTranslation(SPACE_PLUGIN);
25
25
  const { dispatchPromise: dispatch } = useIntentDispatcher();
26
- const location = useCapability(Capabilities.Location);
26
+ const layout = useLayout();
27
27
 
28
28
  const client = useClient();
29
29
  const objects = useQuery(client.spaces, Filter.all());
@@ -44,11 +44,11 @@ export const AwaitingObject = ({ id }: { id: string }) => {
44
44
  if (objects.findIndex((object) => fullyQualifiedId(object) === id) > -1) {
45
45
  setFound(true);
46
46
 
47
- if (location.active.solo?.[0].id === id) {
47
+ if (layout.active.includes(id)) {
48
48
  setOpen(false);
49
49
  }
50
50
  }
51
- }, [id, objects, location]);
51
+ }, [id, objects, layout]);
52
52
 
53
53
  const handleClose = useCallback(
54
54
  async () => dispatch(createIntent(SpaceAction.WaitForObject, { id: undefined })),
@@ -56,7 +56,7 @@ export const AwaitingObject = ({ id }: { id: string }) => {
56
56
  );
57
57
 
58
58
  const handleNavigate = useCallback(() => {
59
- void dispatch(createIntent(NavigationAction.Open, { activeParts: { main: [id] } }));
59
+ void dispatch(createIntent(LayoutAction.Open, { part: 'main', subject: [id] }));
60
60
  void handleClose();
61
61
  }, [id, handleClose, dispatch]);
62
62
 
@@ -15,17 +15,24 @@ export type BaseObjectSettingsProps = {
15
15
 
16
16
  export const BaseObjectSettings = ({ object }: BaseObjectSettingsProps) => {
17
17
  const { t } = useTranslation(SPACE_PLUGIN);
18
+ const inputRef = React.useRef<HTMLInputElement>(null);
18
19
  // TODO(burdon): Standardize forms.
19
20
  return (
20
21
  <div role='form' className='flex flex-col w-full p-2 gap-1'>
21
22
  <Input.Root>
22
23
  <Input.Label>{t('name label')}</Input.Label>
23
24
  <Input.TextInput
25
+ ref={inputRef}
24
26
  placeholder={t('name placeholder')}
25
27
  value={object.name ?? ''}
26
28
  onChange={(event) => {
27
29
  object.name = event.target.value;
28
30
  }}
31
+ onKeyDown={(event) => {
32
+ if (event.key === 'Enter') {
33
+ inputRef.current?.blur();
34
+ }
35
+ }}
29
36
  />
30
37
  </Input.Root>
31
38
  </div>
@@ -40,9 +40,7 @@ const meta: Meta<typeof CreateObjectDialog> = {
40
40
  parameters: {
41
41
  translations: [...translations, osTranslations],
42
42
  },
43
- args: {
44
- schemas: [CollectionType],
45
- },
43
+ args: {},
46
44
  };
47
45
 
48
46
  export default meta;
@@ -5,58 +5,65 @@
5
5
  import { pipe } from 'effect';
6
6
  import React, { useCallback, useRef } from 'react';
7
7
 
8
- import { chain, createIntent, NavigationAction, useIntentDispatcher } from '@dxos/app-framework';
9
- import { useClient } from '@dxos/react-client';
10
8
  import {
11
- getSpace,
12
- isReactiveObject,
13
- isSpace,
14
- type ReactiveObject,
15
- type TypedObject,
16
- useSpaces,
17
- } from '@dxos/react-client/echo';
9
+ Capabilities,
10
+ chain,
11
+ createIntent,
12
+ LayoutAction,
13
+ useCapabilities,
14
+ useIntentDispatcher,
15
+ usePluginManager,
16
+ } from '@dxos/app-framework';
17
+ import { invariant } from '@dxos/invariant';
18
+ import { useClient } from '@dxos/react-client';
19
+ import { getSpace, isReactiveObject, isSpace, type ReactiveObject, useSpaces } from '@dxos/react-client/echo';
18
20
  import { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';
19
21
 
20
22
  import { CreateObjectPanel, type CreateObjectPanelProps } from './CreateObjectPanel';
23
+ import { SpaceCapabilities } from '../../capabilities';
21
24
  import { SPACE_PLUGIN } from '../../meta';
22
- import { CollectionType, SpaceAction } from '../../types';
25
+ import { CollectionType, type ObjectForm, SpaceAction } from '../../types';
23
26
 
24
27
  export const CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
25
28
 
26
- export type CreateObjectDialogProps = Pick<CreateObjectPanelProps, 'schemas' | 'target' | 'typename' | 'name'> & {
27
- resolve?: (typename: string) => Record<string, any>;
29
+ export type CreateObjectDialogProps = Pick<CreateObjectPanelProps, 'target' | 'typename' | 'name'> & {
28
30
  shouldNavigate?: (object: ReactiveObject<any>) => boolean;
29
31
  };
30
32
 
31
33
  export const CreateObjectDialog = ({
32
- schemas,
33
34
  target,
34
35
  typename,
35
36
  name,
36
37
  shouldNavigate: _shouldNavigate,
37
- resolve,
38
38
  }: CreateObjectDialogProps) => {
39
39
  const closeRef = useRef<HTMLButtonElement | null>(null);
40
+ const manager = usePluginManager();
40
41
  const { t } = useTranslation(SPACE_PLUGIN);
41
42
  const client = useClient();
42
43
  const spaces = useSpaces();
43
44
  const { dispatchPromise: dispatch } = useIntentDispatcher();
45
+ const forms = useCapabilities(SpaceCapabilities.ObjectForm);
46
+
47
+ const resolve = useCallback(
48
+ (typename: string) =>
49
+ manager.context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {},
50
+ [manager],
51
+ );
44
52
 
45
53
  const handleCreateObject = useCallback(
46
54
  async ({
47
- schema,
55
+ form,
48
56
  target: _target,
49
- data,
57
+ data = {},
50
58
  }: {
51
- schema: TypedObject;
59
+ form: ObjectForm;
52
60
  target: CreateObjectPanelProps['target'];
53
61
  data?: Record<string, any>;
54
62
  }) => {
55
63
  const target = isSpace(_target)
56
64
  ? (_target.properties[CollectionType.typename]?.target as CollectionType | undefined)
57
65
  : _target;
58
- const createObjectIntent = resolve?.(schema.typename)?.createObject;
59
- if (!createObjectIntent || !target) {
66
+ if (!target) {
60
67
  // TODO(wittjosiah): UI feedback.
61
68
  return;
62
69
  }
@@ -65,13 +72,14 @@ export const CreateObjectDialog = ({
65
72
  closeRef.current?.click();
66
73
 
67
74
  const space = isSpace(target) ? target : getSpace(target);
68
- const result = await dispatch(createObjectIntent(data, { space }));
75
+ invariant(space, 'Missing space');
76
+ const result = await dispatch(form.getIntent(data, { space }));
69
77
  const object = result.data?.object;
70
78
  if (isReactiveObject(object)) {
71
79
  const addObjectIntent = createIntent(SpaceAction.AddObject, { target, object });
72
80
  const shouldNavigate = _shouldNavigate ?? (() => true);
73
81
  if (shouldNavigate(object)) {
74
- await dispatch(pipe(addObjectIntent, chain(NavigationAction.Open, {})));
82
+ await dispatch(pipe(addObjectIntent, chain(LayoutAction.Open, { part: 'main' })));
75
83
  } else {
76
84
  await dispatch(addObjectIntent);
77
85
  }
@@ -83,7 +91,7 @@ export const CreateObjectDialog = ({
83
91
  return (
84
92
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
85
93
  // Consider factoring it out to the tabs package.
86
- <Dialog.Content classNames='p-0 bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden'>
94
+ <Dialog.Content classNames='p-0 bs-content max-bs-full md:max-is-[40rem] overflow-hidden'>
87
95
  <div role='none' className='flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4'>
88
96
  <Dialog.Title>{t('create object dialog title')}</Dialog.Title>
89
97
  <Dialog.Close asChild>
@@ -92,18 +100,18 @@ export const CreateObjectDialog = ({
92
100
  </Button>
93
101
  </Dialog.Close>
94
102
  </div>
95
- <div className='p-4'>
96
- <CreateObjectPanel
97
- schemas={schemas}
98
- spaces={spaces}
99
- target={target}
100
- typename={typename}
101
- name={name}
102
- defaultSpaceId={client.spaces.default.id}
103
- resolve={resolve}
104
- onCreateObject={handleCreateObject}
105
- />
106
- </div>
103
+
104
+ <CreateObjectPanel
105
+ classNames='p-4'
106
+ forms={forms}
107
+ spaces={spaces}
108
+ target={target}
109
+ typename={typename}
110
+ name={name}
111
+ defaultSpaceId={client.spaces.default.id}
112
+ resolve={resolve}
113
+ onCreateObject={handleCreateObject}
114
+ />
107
115
  </Dialog.Content>
108
116
  );
109
117
  };