@dxos/plugin-space 0.9.0 → 0.9.1-staging.ee54ba693a

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 (466) hide show
  1. package/dist/lib/neutral/{CollectionArticle-S3OF5KJ7.mjs → CollectionArticle-BMH7SZ7Q.mjs} +9 -12
  2. package/dist/lib/neutral/CollectionArticle-BMH7SZ7Q.mjs.map +7 -0
  3. package/dist/lib/neutral/{CollectionSection-A5WRHE5Z.mjs → CollectionSection-BLYTGOKH.mjs} +2 -2
  4. package/dist/lib/neutral/{CollectionSection-A5WRHE5Z.mjs.map → CollectionSection-BLYTGOKH.mjs.map} +3 -3
  5. package/dist/lib/neutral/{CreateObjectDialog-66R3K6I3.mjs → CreateObjectDialog-5454N3FJ.mjs} +29 -14
  6. package/dist/lib/neutral/CreateObjectDialog-5454N3FJ.mjs.map +7 -0
  7. package/dist/lib/neutral/{CreateSpaceDialog-CDGSEIJB.mjs → CreateSpaceDialog-WWNUTLVK.mjs} +6 -6
  8. package/dist/lib/neutral/CreateSpaceDialog-WWNUTLVK.mjs.map +7 -0
  9. package/dist/lib/neutral/DefaultProperties-5SAWQC6I.mjs +58 -0
  10. package/dist/lib/neutral/DefaultProperties-5SAWQC6I.mjs.map +7 -0
  11. package/dist/lib/neutral/{ImportSpaceDialog-7GKV4OTF.mjs → ImportSpaceDialog-CSSRTFAO.mjs} +4 -4
  12. package/dist/lib/neutral/ImportSpaceDialog-CSSRTFAO.mjs.map +7 -0
  13. package/dist/lib/neutral/{InlineSyncStatus-TBJKZCH7.mjs → InlineSyncStatus-UOUTAPCU.mjs} +4 -4
  14. package/dist/lib/neutral/InlineSyncStatus-UOUTAPCU.mjs.map +7 -0
  15. package/dist/lib/neutral/{JoinDialog-SSFKRFTJ.mjs → JoinDialog-ATNUCNL2.mjs} +13 -30
  16. package/dist/lib/neutral/JoinDialog-ATNUCNL2.mjs.map +7 -0
  17. package/dist/lib/neutral/{MembersContainer-KMCQDWCS.mjs → MembersContainer-C4ZTP6ZW.mjs} +13 -9
  18. package/dist/lib/neutral/MembersContainer-C4ZTP6ZW.mjs.map +7 -0
  19. package/dist/lib/neutral/{MenuFooter-5JT7V5FZ.mjs → MenuFooter-FWE5LFM4.mjs} +6 -6
  20. package/dist/lib/neutral/MenuFooter-FWE5LFM4.mjs.map +7 -0
  21. package/dist/lib/neutral/{ObjectCardStack-IXNU3HEN.mjs → ObjectCardStack-DHVDRNRK.mjs} +4 -4
  22. package/dist/lib/neutral/ObjectCardStack-DHVDRNRK.mjs.map +7 -0
  23. package/dist/lib/neutral/RecordArticle-JSORXRAA.mjs +102 -0
  24. package/dist/lib/neutral/RecordArticle-JSORXRAA.mjs.map +7 -0
  25. package/dist/lib/neutral/{RelatedArticle-YDNGUDAJ.mjs → RelatedArticle-Z777WVDW.mjs} +11 -10
  26. package/dist/lib/neutral/RelatedArticle-Z777WVDW.mjs.map +7 -0
  27. package/dist/lib/neutral/RenamePopover-AZT2KPOF.mjs +104 -0
  28. package/dist/lib/neutral/RenamePopover-AZT2KPOF.mjs.map +7 -0
  29. package/dist/lib/neutral/{SchemaContainer-Q4BP6X2M.mjs → SchemaContainer-4GJKQBXM.mjs} +9 -5
  30. package/dist/lib/neutral/SchemaContainer-4GJKQBXM.mjs.map +7 -0
  31. package/dist/lib/neutral/{SmallPresenceLive-GUF4WLUC.mjs → SmallPresenceLive-FW3AMEY5.mjs} +2 -2
  32. package/dist/lib/neutral/SpaceHomeArticle-Y47TLZ72.mjs +78 -0
  33. package/dist/lib/neutral/SpaceHomeArticle-Y47TLZ72.mjs.map +7 -0
  34. package/dist/lib/neutral/SpaceHomeRecent-S57AO3EV.mjs +89 -0
  35. package/dist/lib/neutral/SpaceHomeRecent-S57AO3EV.mjs.map +7 -0
  36. package/dist/lib/neutral/SpacePlugin.mjs +1 -1
  37. package/dist/lib/neutral/SpacePlugin.node.mjs +4 -4
  38. package/dist/lib/neutral/SpacePlugin.node.mjs.map +3 -3
  39. package/dist/lib/neutral/{SpacePresence-ACEXUS3N.mjs → SpacePresence-T37WH43Y.mjs} +2 -2
  40. package/dist/lib/neutral/SpaceSettings-6CZF7GEO.mjs +60 -0
  41. package/dist/lib/neutral/SpaceSettings-6CZF7GEO.mjs.map +7 -0
  42. package/dist/lib/neutral/{SpaceSettingsContainer-IB34TEOB.mjs → SpaceSettingsContainer-72CJWELM.mjs} +44 -41
  43. package/dist/lib/neutral/SpaceSettingsContainer-72CJWELM.mjs.map +7 -0
  44. package/dist/lib/neutral/{SyncStatus-CWOXWDDZ.mjs → SyncStatus-J7CHLO5O.mjs} +3 -3
  45. package/dist/lib/neutral/SyncStatus-J7CHLO5O.mjs.map +7 -0
  46. package/dist/lib/neutral/TypeCollectionArticle-W76ADS2G.mjs +143 -0
  47. package/dist/lib/neutral/TypeCollectionArticle-W76ADS2G.mjs.map +7 -0
  48. package/dist/lib/neutral/{add-object-QYOMCBJA.mjs → add-object-H2N4AOQJ.mjs} +16 -16
  49. package/dist/lib/neutral/add-object-H2N4AOQJ.mjs.map +7 -0
  50. package/dist/lib/neutral/{add-relation-HV3VCMJG.mjs → add-relation-BGTLART5.mjs} +3 -3
  51. package/dist/lib/neutral/{add-type-CZVKSEIW.mjs → add-type-JIDLRANR.mjs} +3 -3
  52. package/dist/lib/neutral/{add-type-CZVKSEIW.mjs.map → add-type-JIDLRANR.mjs.map} +1 -1
  53. package/dist/lib/neutral/{app-graph-builder-SQGCUCDO.mjs → app-graph-builder-7H2KOD4B.mjs} +284 -203
  54. package/dist/lib/neutral/app-graph-builder-7H2KOD4B.mjs.map +7 -0
  55. package/dist/lib/neutral/capabilities/index.mjs +14 -16
  56. package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
  57. package/dist/lib/neutral/capabilities/node.mjs +3 -3
  58. package/dist/lib/neutral/{chunk-7WUJENBF.mjs → chunk-52ASDNRA.mjs} +5 -6
  59. package/dist/lib/neutral/chunk-52ASDNRA.mjs.map +7 -0
  60. package/dist/lib/neutral/chunk-5ZZS3KMK.mjs +46 -0
  61. package/dist/lib/neutral/chunk-5ZZS3KMK.mjs.map +7 -0
  62. package/dist/lib/neutral/chunk-C2ULK22J.mjs +17 -0
  63. package/dist/lib/neutral/chunk-C2ULK22J.mjs.map +7 -0
  64. package/dist/lib/neutral/{chunk-K34BPPQE.mjs → chunk-F5KLUP2P.mjs} +35 -18
  65. package/dist/lib/neutral/chunk-F5KLUP2P.mjs.map +7 -0
  66. package/dist/lib/neutral/{chunk-JHZGRYGS.mjs → chunk-G2KHP7FX.mjs} +2 -2
  67. package/dist/lib/neutral/{chunk-JHZGRYGS.mjs.map → chunk-G2KHP7FX.mjs.map} +2 -2
  68. package/dist/lib/neutral/{chunk-YY62663T.mjs → chunk-LMUG6PEJ.mjs} +4 -5
  69. package/dist/lib/neutral/chunk-LMUG6PEJ.mjs.map +7 -0
  70. package/dist/lib/neutral/{chunk-EEXRKYOD.mjs → chunk-RAAHDTVF.mjs} +9 -5
  71. package/dist/lib/neutral/chunk-RAAHDTVF.mjs.map +7 -0
  72. package/dist/lib/neutral/{chunk-BBQR23DW.mjs → chunk-SPWAMXNR.mjs} +105 -128
  73. package/dist/lib/neutral/chunk-SPWAMXNR.mjs.map +7 -0
  74. package/dist/lib/neutral/chunk-U5WTDOMV.mjs +8 -0
  75. package/dist/lib/neutral/chunk-V7JALUM3.mjs +9 -0
  76. package/dist/lib/neutral/chunk-V7JALUM3.mjs.map +7 -0
  77. package/dist/lib/neutral/{close-FGQN37PK.mjs → close-5WEQZRNK.mjs} +3 -3
  78. package/dist/lib/neutral/components/index.mjs +22 -23
  79. package/dist/lib/neutral/components/index.mjs.map +4 -4
  80. package/dist/lib/neutral/constants.mjs +16 -0
  81. package/dist/lib/neutral/constants.mjs.map +7 -0
  82. package/dist/lib/neutral/containers/index.mjs +29 -23
  83. package/dist/lib/neutral/containers/index.mjs.map +3 -3
  84. package/dist/lib/neutral/{create-EPIFSRJA.mjs → create-QZ47FHQU.mjs} +7 -7
  85. package/dist/lib/neutral/create-QZ47FHQU.mjs.map +7 -0
  86. package/dist/lib/neutral/{create-object-22WUOWZQ.mjs → create-object-ZU6FZW5X.mjs} +1 -6
  87. package/dist/lib/neutral/create-object-ZU6FZW5X.mjs.map +7 -0
  88. package/dist/lib/neutral/{delete-LIA5M3WI.mjs → delete-SPCU2VFM.mjs} +3 -3
  89. package/dist/lib/neutral/{delete-field-ZIGFXFHY.mjs → delete-field-TAKJVEAD.mjs} +3 -3
  90. package/dist/lib/neutral/{duplicate-object-X37FM6PW.mjs → duplicate-object-BUPZOO6S.mjs} +3 -3
  91. package/dist/lib/neutral/{export-space-VWJHVXWF.mjs → export-space-S5SCAL4M.mjs} +3 -3
  92. package/dist/lib/neutral/{get-share-link-3LEA5FSK.mjs → get-share-link-CLM5IQRL.mjs} +4 -4
  93. package/dist/lib/neutral/hooks/index.mjs +16 -4
  94. package/dist/lib/neutral/hooks/index.mjs.map +3 -3
  95. package/dist/lib/neutral/{identity-created-57RML5XT.mjs → identity-created-BEYMLBK4.mjs} +5 -5
  96. package/dist/lib/neutral/identity-created-BEYMLBK4.mjs.map +7 -0
  97. package/dist/lib/neutral/{import-space-Y5L3QE3C.mjs → import-space-LJQK3KT7.mjs} +3 -3
  98. package/dist/lib/neutral/index.mjs +16 -6
  99. package/dist/lib/neutral/join-FSODYIOC.mjs +54 -0
  100. package/dist/lib/neutral/join-FSODYIOC.mjs.map +7 -0
  101. package/dist/lib/neutral/meta.json +1 -1
  102. package/dist/lib/neutral/meta.mjs +1 -1
  103. package/dist/lib/neutral/{migrate-G7I52UKD.mjs → migrate-WHM6LU7L.mjs} +4 -4
  104. package/dist/lib/neutral/{migrate-G7I52UKD.mjs.map → migrate-WHM6LU7L.mjs.map} +3 -3
  105. package/dist/lib/neutral/{navigation-handler-QQJYEMAS.mjs → navigation-handler-ZF7MV2HL.mjs} +16 -10
  106. package/dist/lib/neutral/navigation-handler-ZF7MV2HL.mjs.map +7 -0
  107. package/dist/lib/neutral/{navigation-resolver-IFVQRCGU.mjs → navigation-resolver-KBESOSWU.mjs} +11 -11
  108. package/dist/lib/neutral/navigation-resolver-KBESOSWU.mjs.map +7 -0
  109. package/dist/lib/neutral/{open-CPWVZSI4.mjs → open-JCXTL3SK.mjs} +3 -3
  110. package/dist/lib/neutral/{open-create-object-4LN4PR6N.mjs → open-create-object-WAIAU7TA.mjs} +6 -6
  111. package/dist/lib/neutral/{open-create-space-VPAW3F2T.mjs → open-create-space-VU47FWPZ.mjs} +6 -6
  112. package/dist/lib/neutral/{open-import-space-VLQ5V55H.mjs → open-import-space-GUHIEWYB.mjs} +6 -6
  113. package/dist/lib/neutral/{open-members-BEXOSSBS.mjs → open-members-MLLBHKUU.mjs} +6 -6
  114. package/dist/lib/neutral/open-members-MLLBHKUU.mjs.map +7 -0
  115. package/dist/lib/neutral/{open-settings-RHDBW2K5.mjs → open-settings-DTPZF4U4.mjs} +6 -6
  116. package/dist/lib/neutral/open-settings-DTPZF4U4.mjs.map +7 -0
  117. package/dist/lib/neutral/operations/index.mjs +3 -3
  118. package/dist/lib/neutral/plugin.mjs +4 -4
  119. package/dist/lib/neutral/{react-root-2DJPZQT4.mjs → react-root-YLYRCSAZ.mjs} +2 -2
  120. package/dist/lib/neutral/{react-root-2DJPZQT4.mjs.map → react-root-YLYRCSAZ.mjs.map} +3 -3
  121. package/dist/lib/neutral/{react-surface-LYCTOQLY.mjs → react-surface-LRA7GIFN.mjs} +77 -80
  122. package/dist/lib/neutral/react-surface-LRA7GIFN.mjs.map +7 -0
  123. package/dist/lib/neutral/{remove-objects-OWDMA4IF.mjs → remove-objects-WEO66EDS.mjs} +5 -5
  124. package/dist/lib/neutral/remove-objects-WEO66EDS.mjs.map +7 -0
  125. package/dist/lib/neutral/{rename-SR6BBSPU.mjs → rename-Q6UNCBIM.mjs} +9 -8
  126. package/dist/lib/neutral/rename-Q6UNCBIM.mjs.map +7 -0
  127. package/dist/lib/neutral/{rename-object-5H6E5AOX.mjs → rename-object-2UCEGU7U.mjs} +9 -8
  128. package/dist/lib/neutral/rename-object-2UCEGU7U.mjs.map +7 -0
  129. package/dist/lib/neutral/{repair-PSYRVSJ6.mjs → repair-HMH476U3.mjs} +3 -3
  130. package/dist/lib/neutral/repair-HMH476U3.mjs.map +7 -0
  131. package/dist/lib/neutral/{restore-field-UHDG2ZQM.mjs → restore-field-6CQAFOXY.mjs} +3 -3
  132. package/dist/lib/neutral/{restore-objects-2UD5P6OC.mjs → restore-objects-3VINLP7C.mjs} +3 -3
  133. package/dist/lib/neutral/{settings-Q32EQCHX.mjs → settings-5IBSYBVU.mjs} +3 -3
  134. package/dist/lib/neutral/{settings-Q32EQCHX.mjs.map → settings-5IBSYBVU.mjs.map} +3 -3
  135. package/dist/lib/neutral/{share-5Y4NZA75.mjs → share-A4WPILNF.mjs} +3 -3
  136. package/dist/lib/neutral/{snapshot-H3HKOFVP.mjs → snapshot-HBYMAPA7.mjs} +3 -3
  137. package/dist/lib/neutral/{spaces-ready-GBF72QJH.mjs → spaces-ready-GWMSU72V.mjs} +12 -12
  138. package/dist/lib/neutral/spaces-ready-GWMSU72V.mjs.map +7 -0
  139. package/dist/lib/neutral/{state-DPBOZRAW.mjs → state-KMH2NUAL.mjs} +2 -2
  140. package/dist/lib/neutral/state-KMH2NUAL.mjs.map +7 -0
  141. package/dist/lib/neutral/testing.mjs +1 -1
  142. package/dist/lib/neutral/translations.mjs +18 -8
  143. package/dist/lib/neutral/translations.mjs.map +3 -3
  144. package/dist/lib/neutral/types/index.mjs +9 -3
  145. package/dist/lib/neutral/{undo-mappings-OBRQOYN4.mjs → undo-mappings-P43EAUGI.mjs} +5 -5
  146. package/dist/lib/neutral/{undo-mappings-OBRQOYN4.mjs.map → undo-mappings-P43EAUGI.mjs.map} +3 -3
  147. package/dist/lib/neutral/{wait-for-object-3TAWUWTP.mjs → wait-for-object-U6P2NNWY.mjs} +3 -3
  148. package/dist/types/dx.config.d.ts +28 -0
  149. package/dist/types/dx.config.d.ts.map +1 -0
  150. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  151. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
  152. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +19 -25
  153. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -1
  154. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -1
  155. package/dist/types/src/capabilities/app-graph-builder/extensions/database.d.ts +15 -33
  156. package/dist/types/src/capabilities/app-graph-builder/extensions/database.d.ts.map +1 -1
  157. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +3 -2
  158. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -1
  159. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +1 -5
  160. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -1
  161. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +29 -4
  162. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -1
  163. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  164. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  165. package/dist/types/src/capabilities/create-object.d.ts +1 -33
  166. package/dist/types/src/capabilities/create-object.d.ts.map +1 -1
  167. package/dist/types/src/capabilities/index.d.ts +10 -54
  168. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  169. package/dist/types/src/capabilities/navigation-handler/index.d.ts +1 -1
  170. package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -1
  171. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +1 -2
  172. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -1
  173. package/dist/types/src/capabilities/navigation-resolver.d.ts +1 -2
  174. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -1
  175. package/dist/types/src/capabilities/node.d.ts +3 -33
  176. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  177. package/dist/types/src/capabilities/react-root.d.ts +1 -5
  178. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  179. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  180. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  181. package/dist/types/src/capabilities/repair.d.ts +1 -2
  182. package/dist/types/src/capabilities/repair.d.ts.map +1 -1
  183. package/dist/types/src/capabilities/settings.d.ts +1 -3
  184. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  185. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  186. package/dist/types/src/capabilities/state.d.ts +1 -13
  187. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  188. package/dist/types/src/capabilities/undo-mappings.d.ts +2 -3
  189. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
  190. package/dist/types/src/commands/database/add.d.ts.map +1 -1
  191. package/dist/types/src/commands/queue/query.d.ts.map +1 -1
  192. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -1
  193. package/dist/types/src/components/index.d.ts +2 -2
  194. package/dist/types/src/components/index.d.ts.map +1 -1
  195. package/dist/types/src/constants.d.ts +1 -2
  196. package/dist/types/src/constants.d.ts.map +1 -1
  197. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -1
  198. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +142 -52
  199. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  200. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -1
  201. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +142 -52
  202. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -1
  203. package/dist/types/src/containers/DefaultProperties/DefaultProperties.d.ts +15 -0
  204. package/dist/types/src/containers/DefaultProperties/DefaultProperties.d.ts.map +1 -0
  205. package/dist/types/src/containers/DefaultProperties/index.d.ts +2 -0
  206. package/dist/types/src/containers/DefaultProperties/index.d.ts.map +1 -0
  207. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -1
  208. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +142 -52
  209. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -1
  210. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -1
  211. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -1
  212. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -1
  213. package/dist/types/src/containers/RenamePopover/RenamePopover.d.ts +16 -0
  214. package/dist/types/src/containers/RenamePopover/RenamePopover.d.ts.map +1 -0
  215. package/dist/types/src/containers/RenamePopover/index.d.ts +3 -0
  216. package/dist/types/src/containers/RenamePopover/index.d.ts.map +1 -0
  217. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -1
  218. package/dist/types/src/containers/SpaceHomeArticle/SpaceHomeArticle.d.ts +15 -0
  219. package/dist/types/src/containers/SpaceHomeArticle/SpaceHomeArticle.d.ts.map +1 -0
  220. package/dist/types/src/containers/SpaceHomeArticle/index.d.ts +2 -0
  221. package/dist/types/src/containers/{ObjectProperties → SpaceHomeArticle}/index.d.ts.map +1 -1
  222. package/dist/types/src/containers/SpaceHomeRecent/SpaceHomeRecent.d.ts +22 -0
  223. package/dist/types/src/containers/SpaceHomeRecent/SpaceHomeRecent.d.ts.map +1 -0
  224. package/dist/types/src/containers/SpaceHomeRecent/index.d.ts +2 -0
  225. package/dist/types/src/containers/SpaceHomeRecent/index.d.ts.map +1 -0
  226. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -1
  227. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +142 -52
  228. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  229. package/dist/types/src/containers/SpacePresence/index.d.ts +1 -1
  230. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -1
  231. package/dist/types/src/containers/SpaceSettings/SpaceSettings.d.ts +11 -0
  232. package/dist/types/src/containers/SpaceSettings/SpaceSettings.d.ts.map +1 -0
  233. package/dist/types/src/{components → containers}/SpaceSettings/SpaceSettings.stories.d.ts +143 -53
  234. package/dist/types/src/{components → containers}/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -1
  235. package/dist/types/src/{components → containers}/SpaceSettings/index.d.ts.map +1 -1
  236. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +142 -52
  237. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -1
  238. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +142 -52
  239. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  240. package/dist/types/src/containers/TypeCollectionArticle/TypeCollectionArticle.d.ts +16 -0
  241. package/dist/types/src/containers/TypeCollectionArticle/TypeCollectionArticle.d.ts.map +1 -0
  242. package/dist/types/src/containers/TypeCollectionArticle/TypeCollectionArticle.stories.d.ts +21 -0
  243. package/dist/types/src/containers/TypeCollectionArticle/TypeCollectionArticle.stories.d.ts.map +1 -0
  244. package/dist/types/src/containers/TypeCollectionArticle/index.d.ts +2 -0
  245. package/dist/types/src/containers/TypeCollectionArticle/index.d.ts.map +1 -0
  246. package/dist/types/src/containers/index.d.ts +7 -3
  247. package/dist/types/src/containers/index.d.ts.map +1 -1
  248. package/dist/types/src/errors.d.ts +33 -0
  249. package/dist/types/src/errors.d.ts.map +1 -0
  250. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  251. package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -1
  252. package/dist/types/src/index.d.ts +1 -0
  253. package/dist/types/src/index.d.ts.map +1 -1
  254. package/dist/types/src/meta.d.ts +32 -2
  255. package/dist/types/src/meta.d.ts.map +1 -1
  256. package/dist/types/src/operations/add-object.d.ts.map +1 -1
  257. package/dist/types/src/operations/definitions.d.ts +9 -37
  258. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  259. package/dist/types/src/operations/helpers.d.ts.map +1 -1
  260. package/dist/types/src/operations/join.d.ts.map +1 -1
  261. package/dist/types/src/operations/remove-objects.d.ts.map +1 -1
  262. package/dist/types/src/operations/rename-object.d.ts.map +1 -1
  263. package/dist/types/src/operations/rename.d.ts.map +1 -1
  264. package/dist/types/src/translations.d.ts +142 -52
  265. package/dist/types/src/translations.d.ts.map +1 -1
  266. package/dist/types/src/types/Settings.d.ts +3 -1
  267. package/dist/types/src/types/Settings.d.ts.map +1 -1
  268. package/dist/types/src/types/capabilities.d.ts +1 -1
  269. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  270. package/dist/types/src/types/events.d.ts.map +1 -1
  271. package/dist/types/src/types/form.d.ts +7 -1
  272. package/dist/types/src/types/form.d.ts.map +1 -1
  273. package/dist/types/src/types/index.d.ts +1 -0
  274. package/dist/types/src/types/index.d.ts.map +1 -1
  275. package/dist/types/src/types/surface.d.ts +26 -0
  276. package/dist/types/src/types/surface.d.ts.map +1 -0
  277. package/dist/types/src/types/types.d.ts +7 -0
  278. package/dist/types/src/types/types.d.ts.map +1 -1
  279. package/dist/types/src/util.d.ts.map +1 -1
  280. package/dist/types/tsconfig.tsbuildinfo +1 -1
  281. package/dx.config.ts +35 -0
  282. package/package.json +71 -59
  283. package/src/SpacePlugin.test.ts +1 -1
  284. package/src/SpacePlugin.ts +4 -10
  285. package/src/capabilities/app-graph-builder/extensions/collections.ts +82 -69
  286. package/src/capabilities/app-graph-builder/extensions/companions.ts +6 -5
  287. package/src/capabilities/app-graph-builder/extensions/database.ts +118 -91
  288. package/src/capabilities/app-graph-builder/extensions/settings.ts +17 -14
  289. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +13 -9
  290. package/src/capabilities/app-graph-builder/extensions/shared.ts +5 -23
  291. package/src/capabilities/app-graph-builder/extensions/spaces.ts +78 -29
  292. package/src/capabilities/create-object.ts +0 -5
  293. package/src/capabilities/identity-created.ts +4 -4
  294. package/src/capabilities/index.ts +0 -1
  295. package/src/capabilities/navigation-handler/navigation-handler.ts +14 -4
  296. package/src/capabilities/navigation-resolver.ts +13 -20
  297. package/src/capabilities/react-root.tsx +1 -1
  298. package/src/capabilities/react-surface.tsx +95 -99
  299. package/src/capabilities/repair.ts +4 -2
  300. package/src/capabilities/settings.ts +2 -2
  301. package/src/capabilities/spaces-ready.ts +9 -16
  302. package/src/capabilities/state.ts +1 -1
  303. package/src/capabilities/undo-mappings.ts +3 -3
  304. package/src/commands/database/add.ts +4 -2
  305. package/src/commands/queue/query.ts +4 -3
  306. package/src/components/AwaitingObject/AwaitingObject.tsx +1 -1
  307. package/src/components/CreateObjectPanel/CreateObjectPanel.tsx +2 -2
  308. package/src/components/ForeignKeys/ForeignKeys.tsx +21 -20
  309. package/src/components/index.ts +3 -3
  310. package/src/constants.ts +5 -6
  311. package/src/containers/CollectionArticle/CollectionArticle.tsx +10 -6
  312. package/src/containers/CollectionSection/CollectionSection.tsx +1 -1
  313. package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +1 -1
  314. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +48 -10
  315. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +5 -5
  316. package/src/containers/DefaultProperties/DefaultProperties.tsx +69 -0
  317. package/src/containers/DefaultProperties/index.ts +5 -0
  318. package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +3 -3
  319. package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +3 -3
  320. package/src/containers/JoinDialog/JoinDialog.tsx +14 -25
  321. package/src/containers/MembersContainer/MembersContainer.tsx +42 -38
  322. package/src/containers/MenuFooter/MenuFooter.tsx +3 -3
  323. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +3 -3
  324. package/src/containers/RecordArticle/RecordArticle.tsx +67 -8
  325. package/src/containers/RelatedArticle/RelatedArticle.tsx +18 -15
  326. package/src/containers/RenamePopover/RenamePopover.tsx +125 -0
  327. package/src/containers/RenamePopover/index.ts +6 -0
  328. package/src/containers/SchemaContainer/SchemaContainer.tsx +22 -18
  329. package/src/containers/SpaceHomeArticle/SpaceHomeArticle.tsx +100 -0
  330. package/src/containers/SpaceHomeArticle/index.ts +5 -0
  331. package/src/containers/SpaceHomeRecent/SpaceHomeRecent.tsx +103 -0
  332. package/src/containers/SpaceHomeRecent/index.ts +5 -0
  333. package/src/containers/SpacePresence/SpacePresence.tsx +23 -21
  334. package/src/containers/SpacePresence/index.ts +1 -1
  335. package/src/{components → containers}/SpaceSettings/SpaceSettings.stories.tsx +1 -1
  336. package/src/containers/SpaceSettings/SpaceSettings.tsx +75 -0
  337. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +120 -111
  338. package/src/containers/SyncStatus/SyncStatus.tsx +2 -2
  339. package/src/containers/TypeCollectionArticle/TypeCollectionArticle.stories.tsx +116 -0
  340. package/src/containers/TypeCollectionArticle/TypeCollectionArticle.tsx +162 -0
  341. package/src/containers/TypeCollectionArticle/index.ts +5 -0
  342. package/src/containers/index.ts +7 -3
  343. package/src/errors.ts +11 -0
  344. package/src/hooks/useInputSurfaceLookup.tsx +3 -2
  345. package/src/hooks/useRelatedObjects.ts +13 -1
  346. package/src/index.ts +1 -0
  347. package/src/meta.ts +2 -27
  348. package/src/operations/add-object.ts +12 -18
  349. package/src/operations/add-type.ts +1 -1
  350. package/src/operations/create.ts +4 -4
  351. package/src/operations/definitions.ts +2 -3
  352. package/src/operations/helpers.ts +1 -1
  353. package/src/operations/join.ts +19 -0
  354. package/src/operations/migrate.ts +1 -1
  355. package/src/operations/open-members.ts +3 -3
  356. package/src/operations/open-settings.ts +3 -3
  357. package/src/operations/remove-objects.ts +3 -2
  358. package/src/operations/rename-object.ts +3 -2
  359. package/src/operations/rename.ts +3 -2
  360. package/src/translations.ts +18 -7
  361. package/src/types/Settings.ts +10 -1
  362. package/src/types/capabilities.ts +9 -9
  363. package/src/types/events.ts +5 -5
  364. package/src/types/form.ts +5 -1
  365. package/src/types/index.ts +1 -0
  366. package/src/types/surface.ts +31 -0
  367. package/src/types/types.ts +9 -1
  368. package/src/util.ts +3 -4
  369. package/dist/lib/neutral/CollectionArticle-S3OF5KJ7.mjs.map +0 -7
  370. package/dist/lib/neutral/CreateObjectDialog-66R3K6I3.mjs.map +0 -7
  371. package/dist/lib/neutral/CreateSpaceDialog-CDGSEIJB.mjs.map +0 -7
  372. package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs +0 -59
  373. package/dist/lib/neutral/EntityRenamePopover-MYSW262F.mjs.map +0 -7
  374. package/dist/lib/neutral/ImportSpaceDialog-7GKV4OTF.mjs.map +0 -7
  375. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +0 -7
  376. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +0 -7
  377. package/dist/lib/neutral/MembersContainer-KMCQDWCS.mjs.map +0 -7
  378. package/dist/lib/neutral/MenuFooter-5JT7V5FZ.mjs.map +0 -7
  379. package/dist/lib/neutral/ObjectCardStack-IXNU3HEN.mjs.map +0 -7
  380. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs +0 -33
  381. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs.map +0 -7
  382. package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs +0 -51
  383. package/dist/lib/neutral/RecordArticle-QWGH25NT.mjs.map +0 -7
  384. package/dist/lib/neutral/RelatedArticle-YDNGUDAJ.mjs.map +0 -7
  385. package/dist/lib/neutral/SchemaContainer-Q4BP6X2M.mjs.map +0 -7
  386. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +0 -56
  387. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +0 -7
  388. package/dist/lib/neutral/SpaceSettings-YAHBOY5T.mjs +0 -37
  389. package/dist/lib/neutral/SpaceSettings-YAHBOY5T.mjs.map +0 -7
  390. package/dist/lib/neutral/SpaceSettingsContainer-IB34TEOB.mjs.map +0 -7
  391. package/dist/lib/neutral/SyncStatus-CWOXWDDZ.mjs.map +0 -7
  392. package/dist/lib/neutral/add-object-QYOMCBJA.mjs.map +0 -7
  393. package/dist/lib/neutral/app-graph-builder-SQGCUCDO.mjs.map +0 -7
  394. package/dist/lib/neutral/app-graph-serializer-IBPPU5VR.mjs +0 -81
  395. package/dist/lib/neutral/app-graph-serializer-IBPPU5VR.mjs.map +0 -7
  396. package/dist/lib/neutral/chunk-4RTSNTDC.mjs +0 -37
  397. package/dist/lib/neutral/chunk-4RTSNTDC.mjs.map +0 -7
  398. package/dist/lib/neutral/chunk-7WUJENBF.mjs.map +0 -7
  399. package/dist/lib/neutral/chunk-B7DBIARR.mjs +0 -8
  400. package/dist/lib/neutral/chunk-BBQR23DW.mjs.map +0 -7
  401. package/dist/lib/neutral/chunk-EEXRKYOD.mjs.map +0 -7
  402. package/dist/lib/neutral/chunk-F5MESIRH.mjs +0 -19
  403. package/dist/lib/neutral/chunk-F5MESIRH.mjs.map +0 -7
  404. package/dist/lib/neutral/chunk-K34BPPQE.mjs.map +0 -7
  405. package/dist/lib/neutral/chunk-YY62663T.mjs.map +0 -7
  406. package/dist/lib/neutral/create-EPIFSRJA.mjs.map +0 -7
  407. package/dist/lib/neutral/create-object-22WUOWZQ.mjs.map +0 -7
  408. package/dist/lib/neutral/identity-created-57RML5XT.mjs.map +0 -7
  409. package/dist/lib/neutral/join-Z5K4OAIG.mjs +0 -28
  410. package/dist/lib/neutral/join-Z5K4OAIG.mjs.map +0 -7
  411. package/dist/lib/neutral/navigation-handler-QQJYEMAS.mjs.map +0 -7
  412. package/dist/lib/neutral/navigation-resolver-IFVQRCGU.mjs.map +0 -7
  413. package/dist/lib/neutral/open-members-BEXOSSBS.mjs.map +0 -7
  414. package/dist/lib/neutral/open-settings-RHDBW2K5.mjs.map +0 -7
  415. package/dist/lib/neutral/react-surface-LYCTOQLY.mjs.map +0 -7
  416. package/dist/lib/neutral/remove-objects-OWDMA4IF.mjs.map +0 -7
  417. package/dist/lib/neutral/rename-SR6BBSPU.mjs.map +0 -7
  418. package/dist/lib/neutral/rename-object-5H6E5AOX.mjs.map +0 -7
  419. package/dist/lib/neutral/repair-PSYRVSJ6.mjs.map +0 -7
  420. package/dist/lib/neutral/spaces-ready-GBF72QJH.mjs.map +0 -7
  421. package/dist/lib/neutral/state-DPBOZRAW.mjs.map +0 -7
  422. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -5
  423. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  424. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts +0 -8
  425. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +0 -1
  426. package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts +0 -7
  427. package/dist/types/src/containers/EntityRenamePopover/EntityRenamePopover.d.ts.map +0 -1
  428. package/dist/types/src/containers/EntityRenamePopover/index.d.ts +0 -2
  429. package/dist/types/src/containers/EntityRenamePopover/index.d.ts.map +0 -1
  430. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +0 -10
  431. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts.map +0 -1
  432. package/dist/types/src/containers/ObjectProperties/index.d.ts +0 -2
  433. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -7
  434. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +0 -1
  435. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +0 -2
  436. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +0 -1
  437. package/src/capabilities/app-graph-serializer.ts +0 -85
  438. package/src/components/SpaceSettings/SpaceSettings.tsx +0 -56
  439. package/src/containers/EntityRenamePopover/EntityRenamePopover.tsx +0 -52
  440. package/src/containers/EntityRenamePopover/index.ts +0 -5
  441. package/src/containers/ObjectProperties/ObjectProperties.tsx +0 -32
  442. package/src/containers/ObjectProperties/index.ts +0 -5
  443. package/src/containers/SpaceRenamePopover/SpaceRenamePopover.tsx +0 -54
  444. package/src/containers/SpaceRenamePopover/index.ts +0 -5
  445. /package/dist/lib/neutral/{SmallPresenceLive-GUF4WLUC.mjs.map → SmallPresenceLive-FW3AMEY5.mjs.map} +0 -0
  446. /package/dist/lib/neutral/{SpacePresence-ACEXUS3N.mjs.map → SpacePresence-T37WH43Y.mjs.map} +0 -0
  447. /package/dist/lib/neutral/{add-relation-HV3VCMJG.mjs.map → add-relation-BGTLART5.mjs.map} +0 -0
  448. /package/dist/lib/neutral/{chunk-B7DBIARR.mjs.map → chunk-U5WTDOMV.mjs.map} +0 -0
  449. /package/dist/lib/neutral/{close-FGQN37PK.mjs.map → close-5WEQZRNK.mjs.map} +0 -0
  450. /package/dist/lib/neutral/{delete-LIA5M3WI.mjs.map → delete-SPCU2VFM.mjs.map} +0 -0
  451. /package/dist/lib/neutral/{delete-field-ZIGFXFHY.mjs.map → delete-field-TAKJVEAD.mjs.map} +0 -0
  452. /package/dist/lib/neutral/{duplicate-object-X37FM6PW.mjs.map → duplicate-object-BUPZOO6S.mjs.map} +0 -0
  453. /package/dist/lib/neutral/{export-space-VWJHVXWF.mjs.map → export-space-S5SCAL4M.mjs.map} +0 -0
  454. /package/dist/lib/neutral/{get-share-link-3LEA5FSK.mjs.map → get-share-link-CLM5IQRL.mjs.map} +0 -0
  455. /package/dist/lib/neutral/{import-space-Y5L3QE3C.mjs.map → import-space-LJQK3KT7.mjs.map} +0 -0
  456. /package/dist/lib/neutral/{open-CPWVZSI4.mjs.map → open-JCXTL3SK.mjs.map} +0 -0
  457. /package/dist/lib/neutral/{open-create-object-4LN4PR6N.mjs.map → open-create-object-WAIAU7TA.mjs.map} +0 -0
  458. /package/dist/lib/neutral/{open-create-space-VPAW3F2T.mjs.map → open-create-space-VU47FWPZ.mjs.map} +0 -0
  459. /package/dist/lib/neutral/{open-import-space-VLQ5V55H.mjs.map → open-import-space-GUHIEWYB.mjs.map} +0 -0
  460. /package/dist/lib/neutral/{restore-field-UHDG2ZQM.mjs.map → restore-field-6CQAFOXY.mjs.map} +0 -0
  461. /package/dist/lib/neutral/{restore-objects-2UD5P6OC.mjs.map → restore-objects-3VINLP7C.mjs.map} +0 -0
  462. /package/dist/lib/neutral/{share-5Y4NZA75.mjs.map → share-A4WPILNF.mjs.map} +0 -0
  463. /package/dist/lib/neutral/{snapshot-H3HKOFVP.mjs.map → snapshot-HBYMAPA7.mjs.map} +0 -0
  464. /package/dist/lib/neutral/{wait-for-object-3TAWUWTP.mjs.map → wait-for-object-U6P2NNWY.mjs.map} +0 -0
  465. /package/dist/types/src/{components → containers}/SpaceSettings/index.d.ts +0 -0
  466. /package/src/{components → containers}/SpaceSettings/index.ts +0 -0
@@ -5,7 +5,8 @@
5
5
  import React, { useCallback } from 'react';
6
6
 
7
7
  import { type Key } from '@dxos/echo';
8
- import { IconButton, List, ListItem, useTranslation } from '@dxos/react-ui';
8
+ import { IconButton, useTranslation } from '@dxos/react-ui';
9
+ import { Listbox } from '@dxos/react-ui-list';
9
10
 
10
11
  import { meta } from '#meta';
11
12
 
@@ -17,11 +18,13 @@ export type ForeignKeysProps = {
17
18
  // TODO(wittjosiah): This is a clone of `TokenManager`. Consider a form variant for arrays of read-only objects.
18
19
  export const ForeignKeys = ({ keys, onDelete }: ForeignKeysProps) => {
19
20
  return (
20
- <List classNames='flex flex-col gap-2'>
21
- {keys.map((key) => (
22
- <KeyItem key={key.id} forignKey={key} onDelete={onDelete} />
23
- ))}
24
- </List>
21
+ <Listbox.Root>
22
+ <Listbox.Content classNames='gap-2'>
23
+ {keys.map((key) => (
24
+ <KeyItem key={key.id} forignKey={key} onDelete={onDelete} />
25
+ ))}
26
+ </Listbox.Content>
27
+ </Listbox.Root>
25
28
  );
26
29
  };
27
30
 
@@ -31,27 +34,25 @@ type KeyItemProps = {
31
34
  };
32
35
 
33
36
  const KeyItem = ({ forignKey, onDelete }: KeyItemProps) => {
34
- const { t } = useTranslation(meta.id);
37
+ const { t } = useTranslation(meta.profile.key);
35
38
 
36
39
  const handleDelete = useCallback(() => {
37
40
  onDelete?.(forignKey);
38
41
  }, [forignKey, onDelete]);
39
42
 
40
43
  return (
41
- <ListItem.Root classNames='px-2'>
42
- <ListItem.Heading classNames='flex flex-col grow truncate'>
44
+ <Listbox.Item id={forignKey.id} classNames='px-2 gap-2'>
45
+ <div className='flex flex-col grow truncate'>
43
46
  <div>{forignKey.source}</div>
44
47
  <div className='text-description text-sm truncate'>{forignKey.id}</div>
45
- </ListItem.Heading>
46
- <ListItem.Endcap>
47
- <IconButton
48
- iconOnly
49
- icon='ph--x--regular'
50
- variant='ghost'
51
- label={t('delete-key.button')}
52
- onClick={handleDelete}
53
- />
54
- </ListItem.Endcap>
55
- </ListItem.Root>
48
+ </div>
49
+ <IconButton
50
+ iconOnly
51
+ icon='ph--x--regular'
52
+ variant='ghost'
53
+ label={t('delete-key.button')}
54
+ onClick={handleDelete}
55
+ />
56
+ </Listbox.Item>
56
57
  );
57
58
  };
@@ -2,11 +2,11 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type ComponentType, lazy } from 'react';
6
-
7
5
  export * from './AwaitingObject';
8
6
  export * from './CreateObjectPanel';
9
7
  export * from './ForeignKeys';
10
8
  export * from './SyncStatus';
11
9
 
12
- export const SpaceSettings: ComponentType<any> = lazy(() => import('./SpaceSettings'));
10
+ // TODO(wittjosiah): Remove.
11
+ export { RENAME_POPOVER } from '../constants';
12
+ export type { RenameCallback, RenameSubject } from '../containers/RenamePopover';
package/src/constants.ts CHANGED
@@ -6,9 +6,8 @@ import { DXN } from '@dxos/keys';
6
6
 
7
7
  import { meta } from '#meta';
8
8
 
9
- export const CREATE_OBJECT_DIALOG = DXN.make(`${meta.id}.createObjectDialog`);
10
- export const CREATE_SPACE_DIALOG = DXN.make(`${meta.id}.createSpaceDialog`);
11
- export const IMPORT_SPACE_DIALOG = DXN.make(`${meta.id}.importSpaceDialog`);
12
- export const JOIN_DIALOG = DXN.make(`${meta.id}.joinDialog`);
13
- export const ENTITY_RENAME_POPOVER = DXN.make(`${meta.id}.entityRenamePopover`);
14
- export const SPACE_RENAME_POPOVER = DXN.make(`${meta.id}.spaceRenamePopover`);
9
+ export const CREATE_OBJECT_DIALOG = DXN.make(`${meta.profile.key}.createObjectDialog`);
10
+ export const CREATE_SPACE_DIALOG = DXN.make(`${meta.profile.key}.createSpaceDialog`);
11
+ export const IMPORT_SPACE_DIALOG = DXN.make(`${meta.profile.key}.importSpaceDialog`);
12
+ export const JOIN_DIALOG = DXN.make(`${meta.profile.key}.joinDialog`);
13
+ export const RENAME_POPOVER = DXN.make(`${meta.profile.key}.renamePopover`);
@@ -5,11 +5,11 @@
5
5
  import React, { useCallback, useMemo } from 'react';
6
6
 
7
7
  import { useOperationInvoker } from '@dxos/app-framework/ui';
8
- import { LayoutOperation, getCollectionObjectPath, getObjectPathFromObject } from '@dxos/app-toolkit';
8
+ import { LayoutOperation, Paths } from '@dxos/app-toolkit';
9
9
  import { type AppSurface } from '@dxos/app-toolkit/ui';
10
10
  import { type Collection, Obj } from '@dxos/echo';
11
11
  import { ScrollArea, toLocalizedString, useTranslation } from '@dxos/react-ui';
12
- import { Card, Toolbar } from '@dxos/react-ui';
12
+ import { Card, Icon } from '@dxos/react-ui';
13
13
  import { Mosaic, type MosaicStackTileComponent } from '@dxos/react-ui-mosaic';
14
14
  import { SearchPanel, useSearchListResults } from '@dxos/react-ui-search';
15
15
  import { getStyles } from '@dxos/ui-theme';
@@ -20,7 +20,7 @@ import { meta } from '#meta';
20
20
  * Article view for collections.
21
21
  */
22
22
  export const CollectionArticle = ({ subject, attendableId }: AppSurface.ObjectArticleProps<Collection.Collection>) => {
23
- const { t } = useTranslation(meta.id);
23
+ const { t } = useTranslation(meta.profile.key);
24
24
  const { items, handleSearch } = useCollectionItems(subject, attendableId);
25
25
 
26
26
  return (
@@ -51,7 +51,7 @@ type ObjectItem = {
51
51
  };
52
52
 
53
53
  const ObjectTile: MosaicStackTileComponent<ObjectItem> = ({ data: item }) => {
54
- const { t } = useTranslation(meta.id);
54
+ const { t } = useTranslation(meta.profile.key);
55
55
  const { invokePromise } = useOperationInvoker();
56
56
 
57
57
  const typename = Obj.getTypename(item.object) ?? '';
@@ -68,7 +68,9 @@ const ObjectTile: MosaicStackTileComponent<ObjectItem> = ({ data: item }) => {
68
68
  return (
69
69
  <Card.Root fullWidth role='button' classNames='cursor-pointer' onClick={handleClick}>
70
70
  <Card.Header>
71
- <Toolbar.IconButton variant='ghost' label={label} icon={item.icon} iconOnly iconClassNames={styles?.fg} />
71
+ <Card.Block>
72
+ <Icon icon={item.icon} classNames={styles?.fg} />
73
+ </Card.Block>
72
74
  <Card.Title>{label}</Card.Title>
73
75
  <Card.Menu />
74
76
  </Card.Header>
@@ -89,7 +91,9 @@ const useCollectionItems = (collection: Collection.Collection, attendableId?: st
89
91
  () =>
90
92
  objects.map((obj) => {
91
93
  const iconAnnotation = Obj.getIcon(obj);
92
- const targetPath = attendableId ? getCollectionObjectPath(attendableId, obj.id) : getObjectPathFromObject(obj);
94
+ const targetPath = attendableId
95
+ ? Paths.getCollectionObjectPath(attendableId, obj.id)
96
+ : Paths.getObjectPathFromObject(obj);
93
97
 
94
98
  return {
95
99
  id: Obj.getURI(obj),
@@ -13,7 +13,7 @@ import { meta } from '#meta';
13
13
  export type CollectionSectionProps = AppSurface.ObjectSectionProps<Collection.Collection>;
14
14
 
15
15
  export const CollectionSection = ({ role, subject }: CollectionSectionProps) => {
16
- const { t } = useTranslation(meta.id);
16
+ const { t } = useTranslation(meta.profile.key);
17
17
 
18
18
  // TODO(wittjosiah): Better placeholder.
19
19
  return (
@@ -13,7 +13,7 @@ import { type Space } from '@dxos/react-client/echo';
13
13
  import { Dialog } from '@dxos/react-ui';
14
14
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
15
15
 
16
- import { type CreateObjectOption, type Metadata, CreateObjectPanel } from '#components';
16
+ import { type CreateObjectOption, CreateObjectPanel, type Metadata } from '#components';
17
17
  import { translations } from '#translations';
18
18
 
19
19
  const mockOptions: CreateObjectOption[] = [
@@ -9,7 +9,7 @@ import React, { useCallback, useMemo, useRef, useState } from 'react';
9
9
 
10
10
  import { Capability } from '@dxos/app-framework';
11
11
  import { useOperationInvoker, usePluginManager } from '@dxos/app-framework/ui';
12
- import { allTypesQuery, getPersonalSpace, LayoutOperation } from '@dxos/app-toolkit';
12
+ import { AppSpace, LayoutOperation, TypeOptions } from '@dxos/app-toolkit';
13
13
  import { PluginRegistryButton, useLayout } from '@dxos/app-toolkit/ui';
14
14
  import { Operation } from '@dxos/compute';
15
15
  import { Annotation, Collection, Database, Obj, Type } from '@dxos/echo';
@@ -18,7 +18,7 @@ import { invariant } from '@dxos/invariant';
18
18
  import { useClient } from '@dxos/react-client';
19
19
  import { useQuery, useSpaces } from '@dxos/react-client/echo';
20
20
  import { Dialog, toLocalizedString, useTranslation } from '@dxos/react-ui';
21
- import { ViewAnnotation } from '@dxos/schema';
21
+ import { CollectionItemAnnotation, ViewAnnotation } from '@dxos/schema';
22
22
 
23
23
  import { makeCreateObjectEntryForDatabaseType } from '#capabilities';
24
24
  import { type CreateObjectOption, CreateObjectPanel, type CreateObjectPanelProps } from '#components';
@@ -27,7 +27,7 @@ import { SpaceCapabilities } from '#types';
27
27
 
28
28
  import { getSpaceDisplayName } from '../../util';
29
29
 
30
- export const CREATE_OBJECT_DIALOG = `${meta.id}.CreateObjectDialog`;
30
+ export const CREATE_OBJECT_DIALOG = `${meta.profile.key}.CreateObjectDialog`;
31
31
 
32
32
  export type CreateObjectDialogProps = Pick<CreateObjectPanelProps, 'target' | 'typename' | 'initialFormValues'> & {
33
33
  views?: boolean;
@@ -45,7 +45,7 @@ export const CreateObjectDialog = ({
45
45
  shouldNavigate: _shouldNavigate,
46
46
  targetNodeId,
47
47
  }: CreateObjectDialogProps) => {
48
- const { t } = useTranslation(meta.id);
48
+ const { t } = useTranslation(meta.profile.key);
49
49
  const manager = usePluginManager();
50
50
  const operationInvoker = useOperationInvoker();
51
51
  const { invoke } = operationInvoker;
@@ -57,12 +57,15 @@ export const CreateObjectDialog = ({
57
57
  const closeRef = useRef<HTMLButtonElement | null>(null);
58
58
 
59
59
  const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);
60
- const allTypes = useQuery(db, allTypesQuery);
60
+ const allTypes = useQuery(db, TypeOptions.allTypesQuery);
61
61
  const space = useMemo(() => spaces.find((s) => s.db === db), [spaces, db]);
62
62
  const spaceLabel = useMemo(
63
63
  () =>
64
64
  space &&
65
- toLocalizedString(getSpaceDisplayName(space, { personal: space.id === getPersonalSpace(client)?.id }), t),
65
+ toLocalizedString(
66
+ getSpaceDisplayName(space, { personal: space.id === AppSpace.getPersonalSpace(client)?.id }),
67
+ t,
68
+ ),
66
69
  [space, client, t],
67
70
  );
68
71
 
@@ -86,7 +89,7 @@ export const CreateObjectDialog = ({
86
89
  for (const entry of contributions) {
87
90
  entries.push(entry);
88
91
  if (owningPlugin) {
89
- pluginByEntryId.set(entry.id, owningPlugin.meta.name);
92
+ pluginByEntryId.set(entry.id, owningPlugin.meta.profile.name);
90
93
  }
91
94
  }
92
95
  }
@@ -123,10 +126,35 @@ export const CreateObjectDialog = ({
123
126
  return set;
124
127
  }, [typeByTypename]);
125
128
 
129
+ // Types eligible to live inside a collection: collections themselves, plus types carrying
130
+ // CollectionItemAnnotation. Used to filter the create dialog when targeting a collection.
131
+ const collectionItemTypenames = useMemo(() => {
132
+ const set = new Set<string>();
133
+ const collectionTypename = Type.getTypename(Collection.Collection);
134
+ for (const [name, type] of typeByTypename) {
135
+ if (
136
+ name === collectionTypename ||
137
+ CollectionItemAnnotation.get(Type.getSchema(type)).pipe(Option.getOrElse(() => false))
138
+ ) {
139
+ set.add(name);
140
+ }
141
+ }
142
+ return set;
143
+ }, [typeByTypename]);
144
+
145
+ // When creating into a collection, offer only collection-eligible types (mirrors the `views` filter).
146
+ const collectionTarget = Collection.isCollection(target);
147
+
126
148
  const options = useMemo<CreateObjectOption[]>(
127
149
  () =>
128
150
  createObjectEntries
129
- .filter((entry) => (views === true ? viewTypenames.has(entry.id) : true))
151
+ .filter((entry) =>
152
+ views === true
153
+ ? viewTypenames.has(entry.id)
154
+ : collectionTarget
155
+ ? collectionItemTypenames.has(entry.id)
156
+ : true,
157
+ )
130
158
  .map((entry) => {
131
159
  const type = typeByTypename.get(entry.id);
132
160
  const schema = type && Type.getSchema(type);
@@ -143,7 +171,17 @@ export const CreateObjectDialog = ({
143
171
  description: isDatabase ? spaceLabel : undefined,
144
172
  };
145
173
  }),
146
- [createObjectEntries, views, viewTypenames, typeByTypename, t, pluginNameByEntryId, spaceLabel],
174
+ [
175
+ createObjectEntries,
176
+ views,
177
+ viewTypenames,
178
+ collectionTarget,
179
+ collectionItemTypenames,
180
+ typeByTypename,
181
+ t,
182
+ pluginNameByEntryId,
183
+ spaceLabel,
184
+ ],
147
185
  );
148
186
 
149
187
  const handleCreateObject = useCallback<NonNullable<CreateObjectPanelProps['onCreateObject']>>(
@@ -205,7 +243,7 @@ export const CreateObjectDialog = ({
205
243
  target={target}
206
244
  typename={typename}
207
245
  initialFormValues={initialFormValues}
208
- defaultSpaceId={getPersonalSpace(client)?.id ?? client.spaces.get()[0]?.id}
246
+ defaultSpaceId={AppSpace.getPersonalSpace(client)?.id ?? client.spaces.get()[0]?.id}
209
247
  resolve={resolve}
210
248
  onCreateObject={handleCreateObject}
211
249
  onTargetChange={setTarget}
@@ -7,7 +7,7 @@ import type * as Schema from 'effect/Schema';
7
7
  import React, { useCallback, useRef } from 'react';
8
8
 
9
9
  import { useOperationInvoker } from '@dxos/app-framework/ui';
10
- import { LayoutOperation, getSpaceHomePath, getSpacePath } from '@dxos/app-toolkit';
10
+ import { LayoutOperation, Paths } from '@dxos/app-toolkit';
11
11
  import { EffectEx } from '@dxos/effect';
12
12
  import { Column, Dialog, useTranslation } from '@dxos/react-ui';
13
13
  import { Form } from '@dxos/react-ui-form';
@@ -17,14 +17,14 @@ import { meta } from '#meta';
17
17
  import { SpaceOperation } from '#operations';
18
18
  import { SpaceForm } from '#types';
19
19
 
20
- export const CREATE_SPACE_DIALOG = `${meta.id}.CreateSpaceDialog`;
20
+ export const CREATE_SPACE_DIALOG = `${meta.profile.key}.CreateSpaceDialog`;
21
21
 
22
22
  type FormValues = Schema.Schema.Type<typeof SpaceForm>;
23
23
  const initialValues: FormValues = { edgeReplication: true };
24
24
 
25
25
  export const CreateSpaceDialog = () => {
26
26
  const closeRef = useRef<HTMLButtonElement | null>(null);
27
- const { t } = useTranslation(meta.id);
27
+ const { t } = useTranslation(meta.profile.key);
28
28
  const { invokePromise } = useOperationInvoker();
29
29
 
30
30
  const inputSurfaceLookup = useInputSurfaceLookup();
@@ -36,8 +36,8 @@ export const CreateSpaceDialog = () => {
36
36
  if (result?.space) {
37
37
  yield* Effect.promise(() =>
38
38
  invokePromise(LayoutOperation.Open, {
39
- subject: [getSpaceHomePath(result.space.id)],
40
- workspace: getSpacePath(result.space.id),
39
+ subject: [Paths.getSpaceHomePath(result.space.id)],
40
+ workspace: Paths.getSpacePath(result.space.id),
41
41
  navigation: 'immediate',
42
42
  }),
43
43
  );
@@ -0,0 +1,69 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import React, { forwardRef, useCallback, useMemo } from 'react';
7
+
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { Surface, useCapabilities, useOperationInvoker, usePluginManager } from '@dxos/app-framework/ui';
10
+ import { AppSurface } from '@dxos/app-toolkit/ui';
11
+ import { Operation } from '@dxos/compute';
12
+ import { type Database, type Obj } from '@dxos/echo';
13
+ import { Panel, Toolbar } from '@dxos/react-ui';
14
+ import { type CreateEntryOverride, ObjectProperties } from '@dxos/react-ui-form';
15
+
16
+ import { SpaceCapabilities } from '#types';
17
+
18
+ export type DefaultPropertiesProps = AppSurface.ObjectPropertiesProps<Obj.Unknown>;
19
+
20
+ /**
21
+ * Generic object-properties companion rendered for any object: a schema-driven {@link ObjectProperties}
22
+ * form plus the `object-properties` surface, so plugins whose properties are plain editable fields need
23
+ * not register a bespoke surface (mirrors `DefaultSettings` for plugin settings).
24
+ */
25
+ export const DefaultProperties = forwardRef<HTMLDivElement, DefaultPropertiesProps>(
26
+ ({ role, subject: object }, forwardedRef) => {
27
+ const manager = usePluginManager();
28
+ const operationInvoker = useOperationInvoker();
29
+ const createEntries = useCapabilities(SpaceCapabilities.CreateObjectEntry);
30
+ const data = useMemo<AppSurface.ObjectPropertiesData>(() => ({ subject: object }), [object]);
31
+
32
+ const resolveCreateEntry = useCallback(
33
+ (typename: string): CreateEntryOverride | undefined => {
34
+ const entry = createEntries.find((createEntry) => createEntry.id === typename);
35
+ if (!entry?.inputSchema && !entry?.createObject) {
36
+ return undefined;
37
+ }
38
+ return {
39
+ inputSchema: entry.inputSchema,
40
+ createObject: async (values: any, db: Database.Database): Promise<Obj.Unknown> => {
41
+ const result = await entry
42
+ .createObject(values, { db, target: db })
43
+ .pipe(
44
+ Effect.provideService(Capability.Service, manager.capabilities),
45
+ Effect.provideService(Operation.Service, operationInvoker),
46
+ Effect.runPromise,
47
+ );
48
+ return result.object;
49
+ },
50
+ };
51
+ },
52
+ [createEntries, manager, operationInvoker],
53
+ );
54
+
55
+ return (
56
+ <Panel.Root role={role} ref={forwardedRef}>
57
+ <Panel.Toolbar>
58
+ <Toolbar.Root className='dx-document' />
59
+ </Panel.Toolbar>
60
+ <Panel.Content>
61
+ <ObjectProperties object={object} resolveCreateEntry={resolveCreateEntry}>
62
+ {/* TODO(burdon): Ambiguous naming since providers only replace parts; can't update Toolbar, etc. Consider DefaultSettings pattern. */}
63
+ <Surface.Surface type={AppSurface.ObjectProperties} data={data} />
64
+ </ObjectProperties>
65
+ </Panel.Content>
66
+ </Panel.Root>
67
+ );
68
+ },
69
+ );
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export { DefaultProperties as default } from './DefaultProperties';
@@ -6,14 +6,14 @@ import React, { useCallback } from 'react';
6
6
  import { FileUploader } from 'react-drag-drop-files';
7
7
 
8
8
  import { useOperationInvoker } from '@dxos/app-framework/ui';
9
- import { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';
9
+ import { LayoutOperation, Paths } from '@dxos/app-toolkit';
10
10
  import { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';
11
11
 
12
12
  import { meta } from '#meta';
13
13
  import { SpaceOperation } from '#operations';
14
14
 
15
15
  export const ImportSpaceDialog = () => {
16
- const { t } = useTranslation(meta.id);
16
+ const { t } = useTranslation(meta.profile.key);
17
17
  const { invokePromise } = useOperationInvoker();
18
18
 
19
19
  const handleFile = useCallback(
@@ -24,7 +24,7 @@ export const ImportSpaceDialog = () => {
24
24
  });
25
25
  await invokePromise(LayoutOperation.UpdateDialog, { state: false });
26
26
  if (result?.space) {
27
- await invokePromise(LayoutOperation.SwitchWorkspace, { subject: getSpacePath(result.space.id) });
27
+ await invokePromise(LayoutOperation.SwitchWorkspace, { subject: Paths.getSpacePath(result.space.id) });
28
28
  }
29
29
  },
30
30
  [invokePromise],
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { useEffect, useState } from 'react';
6
6
 
7
- import { getSpacePath } from '@dxos/app-toolkit';
7
+ import { Paths } from '@dxos/app-toolkit';
8
8
  import { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';
9
9
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
10
10
  import { useClient } from '@dxos/react-client';
@@ -27,8 +27,8 @@ const useEdgeStatus = (): EdgeStatus.ConnectionState => {
27
27
  };
28
28
 
29
29
  export const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean }) => {
30
- const { t } = useTranslation(meta.id);
31
- const qualifiedId = getSpacePath(space.id);
30
+ const { t } = useTranslation(meta.profile.key);
31
+ const qualifiedId = Paths.getSpacePath(space.id);
32
32
  const { hasAttention, isAncestor, isRelated } = useAttention(qualifiedId);
33
33
  const attended = hasAttention || isRelated;
34
34
  const containsAttended = isAncestor && !open;
@@ -5,10 +5,8 @@
5
5
  import React, { useCallback } from 'react';
6
6
 
7
7
  import { useOperationInvoker } from '@dxos/app-framework/ui';
8
- import { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';
9
- import { useAppGraph } from '@dxos/app-toolkit/ui';
8
+ import { LayoutOperation, Paths } from '@dxos/app-toolkit';
10
9
  import { Trigger } from '@dxos/async';
11
- import { Graph } from '@dxos/plugin-graph';
12
10
  import { ObservabilityOperation } from '@dxos/plugin-observability';
13
11
  import { useClient } from '@dxos/react-client';
14
12
  import { type Space } from '@dxos/react-client/echo';
@@ -19,7 +17,7 @@ import { osTranslations } from '@dxos/ui-theme';
19
17
 
20
18
  import { meta } from '#meta';
21
19
 
22
- export const JOIN_DIALOG = `${meta.id}.JoinDialog`;
20
+ export const JOIN_DIALOG = `${meta.profile.key}.JoinDialog`;
23
21
 
24
22
  export type JoinDialogProps = JoinPanelProps & {
25
23
  navigableCollections?: boolean;
@@ -28,8 +26,7 @@ export type JoinDialogProps = JoinPanelProps & {
28
26
  export const JoinDialog = ({ navigableCollections, onDone, ...props }: JoinDialogProps) => {
29
27
  const { invokePromise } = useOperationInvoker();
30
28
  const client = useClient();
31
- const { graph } = useAppGraph();
32
- const { t } = useTranslation(meta.id);
29
+ const { t } = useTranslation(meta.profile.key);
33
30
 
34
31
  const handleDone = useCallback(
35
32
  async (result: InvitationResult | null) => {
@@ -40,10 +37,10 @@ export const JoinDialog = ({ navigableCollections, onDone, ...props }: JoinDialo
40
37
 
41
38
  await Promise.all([
42
39
  invokePromise(LayoutOperation.AddToast, {
43
- id: `${meta.id}.join-success`,
40
+ id: `${meta.profile.key}.join-success`,
44
41
  duration: 5_000,
45
- title: ['join-success.label', { ns: meta.id }],
46
- closeLabel: ['dismiss.label', { ns: meta.id }],
42
+ title: ['join-success.label', { ns: meta.profile.key }],
43
+ closeLabel: ['dismiss.label', { ns: meta.profile.key }],
47
44
  }),
48
45
  invokePromise(LayoutOperation.UpdateDialog, { state: false }),
49
46
  ]);
@@ -61,21 +58,13 @@ export const JoinDialog = ({ navigableCollections, onDone, ...props }: JoinDialo
61
58
  space = await trigger.wait();
62
59
  }
63
60
 
64
- await invokePromise(LayoutOperation.SwitchWorkspace, { subject: getSpacePath(space.id) });
65
-
66
- // TODO(wittjosiah): If navigableCollections is false and there's no target,
67
- // should try to navigate to the first object of the space replicates.
68
- // Potentially this could also be done on the inviters side to ensure there's always a target.
69
- const target = result?.target || (navigableCollections ? space?.id : undefined);
70
- if (target) {
71
- // Wait before navigating to the target node.
72
- // If the target has not yet replicated, this will trigger a loading toast.
73
- await Graph.waitForPath(graph, { target }).catch(() => {});
74
- await Promise.all([
75
- invokePromise(LayoutOperation.Open, { subject: [target] }),
76
- invokePromise(LayoutOperation.Expose, { subject: target }),
77
- ]);
78
- }
61
+ // TODO(wittjosiah): `result.target` is ignored so acceptance navigates to the space home
62
+ // immediately; revisit how to incorporate the target once immediate navigation is settled.
63
+ await invokePromise(LayoutOperation.Open, {
64
+ subject: [Paths.getSpaceHomePath(space.id)],
65
+ workspace: Paths.getSpacePath(space.id),
66
+ navigation: 'immediate',
67
+ });
79
68
 
80
69
  onDone?.(result);
81
70
 
@@ -88,7 +77,7 @@ export const JoinDialog = ({ navigableCollections, onDone, ...props }: JoinDialo
88
77
  });
89
78
  }
90
79
  },
91
- [invokePromise, client, graph, navigableCollections, onDone],
80
+ [invokePromise, client, navigableCollections, onDone],
92
81
  );
93
82
 
94
83
  // TODO(burdon): Move JoinHeading into Dialog.Heading.