@dxos/plugin-space 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8

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 (544) hide show
  1. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs +115 -0
  2. package/dist/lib/browser/CollectionArticle-XGSQDBMS.mjs.map +7 -0
  3. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs +23 -0
  4. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs.map +7 -0
  5. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs +142 -0
  6. package/dist/lib/browser/CreateObjectDialog-YUBUWSEL.mjs.map +7 -0
  7. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs +64 -0
  8. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
  9. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs +53 -0
  10. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
  11. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs +115 -0
  12. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
  13. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs +257 -0
  14. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs.map +7 -0
  15. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs +37 -0
  16. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs.map +7 -0
  17. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs +64 -0
  18. package/dist/lib/browser/ObjectCardStack-UOEHSBL5.mjs.map +7 -0
  19. package/dist/lib/browser/ObjectDetails-ADGND237.mjs +43 -0
  20. package/dist/lib/browser/ObjectDetails-ADGND237.mjs.map +7 -0
  21. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs +70 -0
  22. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs.map +7 -0
  23. package/dist/lib/browser/{RecordArticle-W57QE7QV.mjs → RecordArticle-YXAJ23HH.mjs} +49 -34
  24. package/dist/lib/browser/RecordArticle-YXAJ23HH.mjs.map +7 -0
  25. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs +49 -0
  26. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs.map +7 -0
  27. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
  28. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs.map +7 -0
  29. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs +59 -0
  30. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs.map +7 -0
  31. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
  32. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs.map +7 -0
  33. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs +62 -0
  34. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs.map +7 -0
  35. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs +242 -0
  36. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
  37. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs +141 -0
  38. package/dist/lib/browser/SyncStatus-6N7JJ7XF.mjs.map +7 -0
  39. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs +113 -0
  40. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
  41. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs +1201 -0
  42. package/dist/lib/browser/app-graph-builder-UEOUAYZG.mjs.map +7 -0
  43. package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-UZWWGLGY.mjs} +11 -10
  44. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-2WHUSAHE.mjs +579 -0
  46. package/dist/lib/browser/chunk-2WHUSAHE.mjs.map +7 -0
  47. package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-6IT5IBB5.mjs} +74 -105
  48. package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
  49. package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
  50. package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
  51. package/dist/lib/browser/{chunk-ZT2VPYRM.mjs → chunk-AUX3RRLY.mjs} +37 -12
  52. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  53. package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
  54. package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
  55. package/dist/lib/browser/{chunk-4WZUGLQQ.mjs → chunk-ICXESMDI.mjs} +13 -12
  56. package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
  57. package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
  58. package/dist/lib/browser/{chunk-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
  59. package/dist/lib/browser/chunk-SJCNERZI.mjs +115 -0
  60. package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
  61. package/dist/lib/browser/{chunk-AWVAX26X.mjs → chunk-SSTUPFZ2.mjs} +3 -3
  62. package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
  63. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  64. package/dist/lib/browser/cli/index.mjs +38 -44
  65. package/dist/lib/browser/cli/index.mjs.map +3 -3
  66. package/dist/lib/browser/{identity-created-VCFYLSBB.mjs → identity-created-ETXNQYR6.mjs} +5 -5
  67. package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
  68. package/dist/lib/browser/index.mjs +104 -159
  69. package/dist/lib/browser/index.mjs.map +3 -3
  70. package/dist/lib/browser/meta.json +1 -1
  71. package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-D4LHB4D4.mjs} +95 -115
  72. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  73. package/dist/lib/browser/{react-root-3SPMM45V.mjs → react-root-OD2HP63B.mjs} +9 -9
  74. package/dist/lib/browser/react-root-OD2HP63B.mjs.map +7 -0
  75. package/dist/lib/browser/{react-surface-UUS7NDHS.mjs → react-surface-ANV4KTRV.mjs} +98 -115
  76. package/dist/lib/browser/react-surface-ANV4KTRV.mjs.map +7 -0
  77. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  78. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  79. package/dist/lib/browser/{settings-ZS2AQ73E.mjs → settings-RUDP2Q56.mjs} +6 -5
  80. package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
  81. package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-B2GYL5IN.mjs} +15 -14
  82. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  83. package/dist/lib/browser/{state-7YZQB2KY.mjs → state-I6JDZCDE.mjs} +8 -8
  84. package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
  85. package/dist/lib/browser/types/index.mjs +2 -2
  86. package/dist/lib/node-esm/{CollectionArticle-V5OOJVJJ.mjs → CollectionArticle-MNLCROOX.mjs} +49 -59
  87. package/dist/lib/node-esm/CollectionArticle-MNLCROOX.mjs.map +7 -0
  88. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
  89. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
  90. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs +143 -0
  91. package/dist/lib/node-esm/CreateObjectDialog-B6OLP5VQ.mjs.map +7 -0
  92. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
  93. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  94. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
  95. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  96. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
  97. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  98. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
  99. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
  100. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
  101. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
  102. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs +65 -0
  103. package/dist/lib/node-esm/ObjectCardStack-THP5FKDV.mjs.map +7 -0
  104. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs +44 -0
  105. package/dist/lib/node-esm/ObjectDetails-2SBF3KBM.mjs.map +7 -0
  106. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
  107. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
  108. package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-344UK7QP.mjs} +49 -34
  109. package/dist/lib/node-esm/RecordArticle-344UK7QP.mjs.map +7 -0
  110. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
  111. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
  112. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  113. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  114. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs +60 -0
  115. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
  116. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  117. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  118. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs +63 -0
  119. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
  120. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
  121. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  122. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs +142 -0
  123. package/dist/lib/node-esm/SyncStatus-YEBGTNSD.mjs.map +7 -0
  124. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
  125. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  126. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs +1202 -0
  127. package/dist/lib/node-esm/app-graph-builder-W2QNDIZF.mjs.map +7 -0
  128. package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-RT2RQTV2.mjs} +11 -10
  129. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
  130. package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-2OLR2ZKH.mjs} +13 -12
  131. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  132. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  133. package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
  134. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
  135. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
  136. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs +169 -0
  137. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  138. package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-EVNSLSQS.mjs} +74 -105
  139. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  140. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  141. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  142. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
  143. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
  144. package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-RYQQXNI7.mjs} +37 -12
  145. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  146. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs +580 -0
  147. package/dist/lib/node-esm/chunk-S5BQUCL4.mjs.map +7 -0
  148. package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-XYLDAH5C.mjs} +3 -3
  149. package/dist/lib/node-esm/cli/index.mjs +38 -44
  150. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  151. package/dist/lib/node-esm/{identity-created-2SJABVJD.mjs → identity-created-U5LGULVL.mjs} +5 -5
  152. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
  153. package/dist/lib/node-esm/index.mjs +104 -159
  154. package/dist/lib/node-esm/index.mjs.map +3 -3
  155. package/dist/lib/node-esm/meta.json +1 -1
  156. package/dist/lib/node-esm/{operation-resolver-ZE3XJL5J.mjs → operation-resolver-IL2AHNPN.mjs} +95 -115
  157. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  158. package/dist/lib/node-esm/{react-root-Y6JTGDTW.mjs → react-root-RILC5MBD.mjs} +9 -9
  159. package/dist/lib/node-esm/react-root-RILC5MBD.mjs.map +7 -0
  160. package/dist/lib/node-esm/{react-surface-SQ4SK3OK.mjs → react-surface-TA5KEWVW.mjs} +98 -115
  161. package/dist/lib/node-esm/react-surface-TA5KEWVW.mjs.map +7 -0
  162. package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-LRZHFPSJ.mjs} +6 -25
  163. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  164. package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-3EKSEAAG.mjs} +6 -5
  165. package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
  166. package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-QK3EHBOS.mjs} +15 -14
  167. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  168. package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-W36RRYUO.mjs} +8 -8
  169. package/dist/lib/node-esm/state-W36RRYUO.mjs.map +7 -0
  170. package/dist/lib/node-esm/types/index.mjs +2 -2
  171. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  172. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -2
  173. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  174. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
  175. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  176. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  177. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  190. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  191. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  192. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
  193. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
  194. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
  195. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
  196. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +1 -1
  197. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  198. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  199. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  200. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  201. package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
  202. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
  203. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  204. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  206. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  207. package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
  208. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  209. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  210. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  211. package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
  212. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  213. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +1 -1
  214. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
  215. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  216. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  217. package/dist/types/src/cli/commands/database/add.d.ts +0 -1
  218. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
  219. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  220. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  221. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  222. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  223. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +12 -5
  224. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  225. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  226. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  227. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -1
  228. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
  229. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
  230. package/dist/types/src/components/ObjectDetails/index.d.ts +2 -2
  231. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -1
  232. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  233. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  234. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  235. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  236. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  237. package/dist/types/src/components/index.d.ts +2 -23
  238. package/dist/types/src/components/index.d.ts.map +1 -1
  239. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  240. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  241. package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
  242. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  243. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
  244. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  245. package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
  246. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  247. package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.d.ts +5 -3
  248. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  249. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  250. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  251. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  252. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
  253. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  254. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  255. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
  256. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  257. package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts.map +1 -1
  258. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  259. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  260. package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
  261. package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
  262. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  263. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  264. package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
  265. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  266. package/dist/types/src/{components → containers}/ObjectCardStack/ObjectCardStack.d.ts +4 -1
  267. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  268. package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts.map +1 -1
  269. package/dist/types/src/{components → containers}/ObjectDetails/ObjectDetails.d.ts +2 -1
  270. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  271. package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
  272. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
  273. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  274. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
  275. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  276. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  277. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  278. package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
  279. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  280. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  281. package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
  282. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  283. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  284. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  285. package/dist/types/src/{components → containers/SpacePluginSettings}/SpacePluginSettings.d.ts +1 -1
  286. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
  287. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
  288. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
  289. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts.map +1 -1
  290. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +67 -13
  291. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  292. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  293. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  294. package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  295. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
  296. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
  297. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
  298. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  299. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +71 -14
  300. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
  301. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
  302. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  303. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
  304. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +67 -13
  305. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  306. package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
  307. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  308. package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
  309. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  310. package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
  311. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  312. package/dist/types/src/containers/index.d.ts +23 -0
  313. package/dist/types/src/containers/index.d.ts.map +1 -0
  314. package/dist/types/src/helpers/query.d.ts.map +1 -1
  315. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  316. package/dist/types/src/index.d.ts +1 -1
  317. package/dist/types/src/index.d.ts.map +1 -1
  318. package/dist/types/src/translations.d.ts +67 -13
  319. package/dist/types/src/translations.d.ts.map +1 -1
  320. package/dist/types/src/types/capabilities.d.ts +1 -1
  321. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  322. package/dist/types/src/types/events.d.ts.map +1 -1
  323. package/dist/types/src/types/form.d.ts +0 -2
  324. package/dist/types/src/types/form.d.ts.map +1 -1
  325. package/dist/types/src/types/types.d.ts +63 -124
  326. package/dist/types/src/types/types.d.ts.map +1 -1
  327. package/dist/types/src/util.d.ts +6 -121
  328. package/dist/types/src/util.d.ts.map +1 -1
  329. package/dist/types/tsconfig.tsbuildinfo +1 -1
  330. package/package.json +68 -66
  331. package/src/SpacePlugin.ts +83 -70
  332. package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -602
  333. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  334. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  335. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  336. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  337. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  338. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  339. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  340. package/src/capabilities/app-graph-builder/extensions/types.ts +432 -0
  341. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +6 -5
  342. package/src/capabilities/identity-created/identity-created.ts +4 -4
  343. package/src/capabilities/operation-resolver/operation-resolver.ts +97 -94
  344. package/src/capabilities/react-root/react-root.tsx +3 -3
  345. package/src/capabilities/react-surface/react-surface.tsx +79 -99
  346. package/src/capabilities/repair/repair.ts +3 -28
  347. package/src/capabilities/settings/settings.ts +3 -2
  348. package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
  349. package/src/capabilities/state/state.ts +7 -5
  350. package/src/cli/commands/database/add.ts +8 -10
  351. package/src/cli/commands/database/query/query.ts +1 -1
  352. package/src/cli/commands/database/remove.ts +2 -2
  353. package/src/cli/commands/database/stats.ts +1 -1
  354. package/src/cli/commands/space/close/close.ts +1 -1
  355. package/src/cli/commands/space/create/create.ts +1 -1
  356. package/src/cli/commands/space/join/join.ts +1 -1
  357. package/src/cli/commands/space/open/open.ts +1 -1
  358. package/src/cli/plugin.ts +34 -27
  359. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +6 -5
  360. package/src/components/AwaitingObject/index.ts +5 -0
  361. package/src/components/CreateDialog/CreateObjectPanel.tsx +90 -111
  362. package/src/components/CreateDialog/index.ts +1 -2
  363. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +10 -10
  364. package/src/components/ObjectDetails/BaseObjectSettings.tsx +8 -8
  365. package/src/components/ObjectDetails/ForeignKeys.tsx +1 -1
  366. package/src/components/ObjectDetails/index.ts +2 -3
  367. package/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.tsx +9 -7
  368. package/src/components/{JoinDialog → ObjectForm}/index.ts +1 -1
  369. package/src/components/SyncStatus/index.ts +2 -2
  370. package/src/components/index.ts +2 -18
  371. package/src/constants.ts +5 -5
  372. package/src/containers/CollectionArticle/CollectionArticle.tsx +139 -0
  373. package/src/containers/CollectionArticle/index.ts +7 -0
  374. package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
  375. package/src/containers/CollectionSection/index.ts +7 -0
  376. package/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.tsx +62 -42
  377. package/src/containers/CreateObjectDialog/index.ts +6 -0
  378. package/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.tsx +6 -6
  379. package/src/containers/CreateSpaceDialog/index.ts +7 -0
  380. package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
  381. package/src/containers/InlineSyncStatus/index.ts +7 -0
  382. package/src/{components → containers}/JoinDialog/JoinDialog.tsx +10 -9
  383. package/src/containers/JoinDialog/index.ts +6 -0
  384. package/src/{components → containers}/MembersContainer/MembersContainer.tsx +50 -53
  385. package/src/containers/MembersContainer/index.ts +7 -0
  386. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +5 -5
  387. package/src/containers/MenuFooter/index.ts +7 -0
  388. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  389. package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
  390. package/src/containers/ObjectDetails/index.ts +7 -0
  391. package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +4 -4
  392. package/src/containers/ObjectRenamePopover/index.ts +7 -0
  393. package/src/{components → containers/RecordArticle}/RecordArticle.tsx +55 -37
  394. package/src/containers/RecordArticle/index.ts +7 -0
  395. package/src/{components → containers/SchemaContainer}/SchemaContainer.tsx +22 -18
  396. package/src/containers/SchemaContainer/index.ts +7 -0
  397. package/src/containers/SmallPresenceLive/index.ts +5 -0
  398. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
  399. package/src/containers/SpacePluginSettings/index.ts +7 -0
  400. package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
  401. package/src/{components → containers}/SpacePresence/SpacePresence.tsx +11 -22
  402. package/src/containers/SpacePresence/index.ts +6 -0
  403. package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +4 -4
  404. package/src/containers/SpaceRenamePopover/index.ts +7 -0
  405. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +3 -3
  406. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +202 -0
  407. package/src/containers/SpaceSettingsContainer/index.ts +7 -0
  408. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
  409. package/src/{components → containers}/SyncStatus/SyncStatus.tsx +5 -7
  410. package/src/containers/SyncStatus/index.ts +7 -0
  411. package/src/{components → containers/ViewEditor}/ViewEditor.tsx +11 -10
  412. package/src/containers/ViewEditor/index.ts +7 -0
  413. package/src/containers/index.ts +28 -0
  414. package/src/helpers/query.test.ts +1 -1
  415. package/src/helpers/query.ts +20 -7
  416. package/src/hooks/useActiveSpace.ts +8 -7
  417. package/src/hooks/useInputSurfaceLookup.tsx +3 -3
  418. package/src/index.ts +2 -1
  419. package/src/meta.ts +1 -1
  420. package/src/translations.ts +30 -4
  421. package/src/types/capabilities.ts +8 -8
  422. package/src/types/events.ts +7 -6
  423. package/src/types/form.ts +1 -8
  424. package/src/types/types.ts +61 -76
  425. package/src/util.ts +82 -0
  426. package/dist/lib/browser/CollectionArticle-OQMUVFVV.mjs +0 -125
  427. package/dist/lib/browser/CollectionArticle-OQMUVFVV.mjs.map +0 -7
  428. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +0 -148
  429. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
  430. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +0 -142
  431. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
  432. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
  433. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +0 -523
  434. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
  435. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
  436. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
  437. package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
  438. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
  439. package/dist/lib/browser/chunk-SUI34XSA.mjs +0 -772
  440. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
  441. package/dist/lib/browser/chunk-TWUMNPG4.mjs +0 -1898
  442. package/dist/lib/browser/chunk-TWUMNPG4.mjs.map +0 -7
  443. package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
  444. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +0 -7
  445. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
  446. package/dist/lib/browser/react-root-3SPMM45V.mjs.map +0 -7
  447. package/dist/lib/browser/react-surface-UUS7NDHS.mjs.map +0 -7
  448. package/dist/lib/browser/repair-CJG26D52.mjs +0 -50
  449. package/dist/lib/browser/repair-CJG26D52.mjs.map +0 -7
  450. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
  451. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
  452. package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
  453. package/dist/lib/node-esm/CollectionArticle-V5OOJVJJ.mjs.map +0 -7
  454. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +0 -149
  455. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
  456. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +0 -143
  457. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
  458. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
  459. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +0 -524
  460. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
  461. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
  462. package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
  463. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs +0 -773
  464. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
  465. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
  466. package/dist/lib/node-esm/chunk-FYSBFBSD.mjs +0 -1899
  467. package/dist/lib/node-esm/chunk-FYSBFBSD.mjs.map +0 -7
  468. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
  469. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
  470. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +0 -7
  471. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
  472. package/dist/lib/node-esm/react-root-Y6JTGDTW.mjs.map +0 -7
  473. package/dist/lib/node-esm/react-surface-SQ4SK3OK.mjs.map +0 -7
  474. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +0 -7
  475. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
  476. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
  477. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
  478. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  479. package/dist/types/src/components/CollectionArticle.d.ts +0 -9
  480. package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
  481. package/dist/types/src/components/CollectionSection.d.ts +0 -5
  482. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  483. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  484. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1604
  485. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  486. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  487. package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
  488. package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
  489. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1600
  490. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
  491. package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
  492. package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
  493. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  494. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +0 -1
  495. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +0 -1
  496. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +0 -1
  497. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
  498. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
  499. package/dist/types/src/components/RecordArticle.d.ts +0 -5
  500. package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
  501. package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1600
  502. package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
  503. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  504. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  505. package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
  506. package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
  507. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
  508. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
  509. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  510. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  511. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
  512. package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
  513. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  514. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  515. package/src/components/CollectionArticle.tsx +0 -153
  516. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -91
  517. package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
  518. package/src/components/MembersContainer/index.ts +0 -5
  519. package/src/components/ObjectCardStack/ObjectCardStack.tsx +0 -67
  520. package/src/components/ObjectDetails/ObjectDetails.tsx +0 -32
  521. package/src/components/ObjectRenamePopover/index.ts +0 -5
  522. package/src/components/RecordArticle.stories.tsx +0 -115
  523. package/src/components/SpacePluginSettings.tsx +0 -62
  524. package/src/components/SpacePresence/index.ts +0 -5
  525. package/src/components/SpaceRenamePopover/index.ts +0 -5
  526. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -220
  527. package/src/components/SpaceSettings/index.ts +0 -5
  528. package/src/util.tsx +0 -779
  529. /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
  530. /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
  531. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  532. /package/dist/types/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.d.ts +0 -0
  533. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  534. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  535. /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
  536. /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
  537. /package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +0 -0
  538. /package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts +0 -0
  539. /package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +0 -0
  540. /package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +0 -0
  541. /package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +0 -0
  542. /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
  543. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
  544. /package/src/{components → containers}/ObjectCardStack/index.ts +0 -0
@@ -2,10 +2,9 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import * as Option from 'effect/Option';
6
5
  import React, { forwardRef, useCallback, useEffect, useState } from 'react';
7
6
 
8
- import { useAppGraph, useAtomCapability } from '@dxos/app-framework/react';
7
+ import { useAtomCapability } from '@dxos/app-framework/ui';
9
8
  import { generateName } from '@dxos/display-name';
10
9
  import { type Key, Obj } from '@dxos/echo';
11
10
  import { PublicKey } from '@dxos/react-client';
@@ -24,10 +23,9 @@ import {
24
23
  useDefaultValue,
25
24
  useTranslation,
26
25
  } from '@dxos/react-ui';
27
- import { AttentionGlyph, type AttentionGlyphProps, useAttended, useAttention } from '@dxos/react-ui-attention';
26
+ import { AttentionGlyph, type AttentionGlyphProps, useAttention } from '@dxos/react-ui-attention';
28
27
  import { ComplexMap, keyToFallback } from '@dxos/util';
29
28
 
30
- import { usePath } from '../../hooks';
31
29
  import { meta } from '../../meta';
32
30
  import { type ObjectViewerProps, SpaceCapabilities } from '../../types';
33
31
 
@@ -124,7 +122,7 @@ export const FullPresence = (props: MemberPresenceProps) => {
124
122
  key={member.identity.identityKey.toHex()}
125
123
  side='bottom'
126
124
  content={getName(member.identity)}
127
- className='grid focus:outline-none'
125
+ className='grid focus:outline-hidden'
128
126
  >
129
127
  <PresenceAvatar
130
128
  identity={member.identity}
@@ -138,7 +136,7 @@ export const FullPresence = (props: MemberPresenceProps) => {
138
136
 
139
137
  {members.length > 3 && (
140
138
  <Popover.Root>
141
- <Popover.Trigger className='grid focus:outline-none'>
139
+ <Popover.Trigger className='grid focus:outline-hidden'>
142
140
  <Avatar.Root>
143
141
  {/* TODO(wittjosiah): Make text fit. */}
144
142
  <Avatar.Content
@@ -152,12 +150,12 @@ export const FullPresence = (props: MemberPresenceProps) => {
152
150
  <Popover.Portal>
153
151
  <Popover.Content side='bottom'>
154
152
  <Popover.Arrow />
155
- <Popover.Viewport classNames='max-bs-56'>
153
+ <Popover.Viewport classNames='max-h-56'>
156
154
  <List>
157
155
  {members.map((member) => (
158
156
  <ListItem.Root
159
157
  key={member.identity.identityKey.toHex()}
160
- classNames='flex gap-2 items-center cursor-pointer mbe-2'
158
+ classNames='flex gap-2 items-center cursor-pointer mb-2'
161
159
  onClick={() => onMemberClick?.(member)}
162
160
  data-testid='identity-list-item'
163
161
  >
@@ -205,7 +203,7 @@ const PresenceAvatar = forwardRef<DxAvatar, PresenceAvatarProps>(
205
203
  fallback={identity.profile?.data?.emoji || fallbackValue.emoji}
206
204
  ref={forwardedRef}
207
205
  />
208
- <Avatar.Label classNames={showName ? 'text-sm truncate pli-2' : 'sr-only'}>{getName(identity)}</Avatar.Label>
206
+ <Avatar.Label classNames={showName ? 'text-sm truncate px-2' : 'sr-only'}>{getName(identity)}</Avatar.Label>
209
207
  </Avatar.Root>
210
208
  );
211
209
  },
@@ -219,17 +217,8 @@ export type SmallPresenceLiveProps = {
219
217
 
220
218
  export const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps) => {
221
219
  const { hasAttention, isAncestor, isRelated } = useAttention(id);
222
- const isAttended = hasAttention || isAncestor || isRelated;
223
-
224
- // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded
225
- // this will result in an empty path until the graph is connected.
226
- // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.
227
- const { graph } = useAppGraph();
228
- const attended = useAttended();
229
- const startOfAttention = attended.at(-1);
230
- const path = usePath(graph, startOfAttention);
231
- const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;
232
-
220
+ const attended = hasAttention || isRelated;
221
+ const containsAttended = isAncestor && !open;
233
222
  const getActiveViewers = (viewers: ComplexMap<PublicKey, ObjectViewerProps>): ObjectViewerProps[] => {
234
223
  const moment = Date.now();
235
224
  return Array.from<ObjectViewerProps>(viewers.values()).filter(
@@ -249,7 +238,7 @@ export const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps)
249
238
  }
250
239
  }, [viewers]);
251
240
 
252
- return <SmallPresence count={activeViewers.length} attended={isAttended} containsAttended={containsAttended} />;
241
+ return <SmallPresence count={activeViewers.length} attended={attended} containsAttended={containsAttended} />;
253
242
  };
254
243
 
255
244
  export type SmallPresenceProps = {
@@ -265,7 +254,7 @@ export const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPr
265
254
  attended={attended}
266
255
  containsAttended={containsAttended}
267
256
  presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}
268
- classNames='self-center mie-1'
257
+ classNames='self-center mx-1'
269
258
  />
270
259
  </Tooltip.Trigger>
271
260
  );
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ export { SpacePresence, SmallPresenceLive } from './SpacePresence';
6
+ export { SpacePresence as default } from './SpacePresence';
@@ -4,8 +4,8 @@
4
4
 
5
5
  import React, { useCallback, useRef, useState } from 'react';
6
6
 
7
- import { Common } from '@dxos/app-framework';
8
- import { useOperationInvoker } from '@dxos/app-framework/react';
7
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
8
+ import { LayoutOperation } from '@dxos/app-toolkit';
9
9
  import { type Space } from '@dxos/client/echo';
10
10
  import { Obj } from '@dxos/echo';
11
11
  import { Button, Input, Popover, useTranslation } from '@dxos/react-ui';
@@ -13,7 +13,7 @@ import { osTranslations } from '@dxos/ui-theme';
13
13
 
14
14
  import { meta } from '../../meta';
15
15
 
16
- export const SPACE_RENAME_POPOVER = `${meta.id}/SpaceRenamePopover`;
16
+ export const SPACE_RENAME_POPOVER = `${meta.id}.SpaceRenamePopover`;
17
17
 
18
18
  export const SpaceRenamePopover = ({ space }: { space: Space }) => {
19
19
  const { t } = useTranslation(meta.id);
@@ -25,7 +25,7 @@ export const SpaceRenamePopover = ({ space }: { space: Space }) => {
25
25
  Obj.change(space.properties, (p) => {
26
26
  p.name = name;
27
27
  });
28
- void invokePromise(Common.LayoutOperation.UpdatePopover, { anchorId: '', state: false });
28
+ void invokePromise(LayoutOperation.UpdatePopover, { anchorId: '', state: false });
29
29
  }, [space, name, invokePromise]);
30
30
 
31
31
  // TODO(thure): Why does the input value need to be uncontrolled to work?
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { SpaceRenamePopover } from './SpaceRenamePopover';
6
+
7
+ export default SpaceRenamePopover;
@@ -17,18 +17,18 @@ import { SpaceSettingsContainer, type SpaceSettingsContainerProps } from './Spac
17
17
  const Story = (props: Partial<SpaceSettingsContainerProps>) => {
18
18
  const { space } = useClientStory();
19
19
  return (
20
- <div role='none' className='p-2 border border-primary-500 rounded'>
20
+ <div role='none' className='p-2 border border-primary-500 rounded-sm'>
21
21
  <SpaceSettingsContainer {...props} space={space!} />
22
22
  </div>
23
23
  );
24
24
  };
25
25
 
26
26
  const meta = {
27
- title: 'plugins/plugin-space/SpaceSettingsContainer',
27
+ title: 'plugins/plugin-space/containers/SpaceSettingsContainer',
28
28
  component: SpaceSettingsContainer,
29
29
  render: Story,
30
30
  decorators: [
31
- withTheme,
31
+ withTheme(),
32
32
  withClientProvider({ createIdentity: true, createSpace: true }),
33
33
  // TODO(wittjosiah): Try to write story which does not depend on plugin manager.
34
34
  withPluginManager({ plugins: [OperationPlugin()] }),
@@ -0,0 +1,202 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+ import React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';
7
+
8
+ import { useCapabilities, useOperationInvoker } from '@dxos/app-framework/ui';
9
+ import { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';
10
+ import { Obj } from '@dxos/echo';
11
+ import { log } from '@dxos/log';
12
+ import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
13
+ import { useClient } from '@dxos/react-client';
14
+ import { type Space, SpaceState } from '@dxos/react-client/echo';
15
+ import { Button, Input, useFileDownload, useMulticastObservable, useTranslation } from '@dxos/react-ui';
16
+ import { Form, type FormFieldMap, Settings } from '@dxos/react-ui-form';
17
+ import { HuePicker, IconPicker } from '@dxos/react-ui-pickers';
18
+
19
+ import { meta } from '../../meta';
20
+ import { SpaceCapabilities, SpaceForm, SpaceOperation } from '../../types';
21
+
22
+ const SpaceFormSchema = SpaceForm.pipe(
23
+ Schema.extend(
24
+ Schema.Struct({
25
+ archived: Schema.Boolean.annotations({ title: 'Archive Space' }),
26
+ }),
27
+ ),
28
+ );
29
+
30
+ export type SpaceSettingsContainerProps = {
31
+ space: Space;
32
+ };
33
+
34
+ // TODO(wittjosiah): Handle space migrations here?
35
+ export const SpaceSettingsContainer = ({ space }: SpaceSettingsContainerProps) => {
36
+ const { t } = useTranslation(meta.id);
37
+ const { invokePromise } = useOperationInvoker();
38
+ const client = useClient();
39
+ const archived = useMulticastObservable(space.state) === SpaceState.SPACE_INACTIVE;
40
+ const [edgeReplication, setEdgeReplication] = useState(
41
+ space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED,
42
+ );
43
+ const toggleEdgeReplication = useCallback(
44
+ async (next: boolean) => {
45
+ setEdgeReplication(next);
46
+ await space?.internal
47
+ .setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED)
48
+ .catch((err: unknown) => {
49
+ log.catch(err);
50
+ setEdgeReplication(!next);
51
+ });
52
+ },
53
+ [space],
54
+ );
55
+
56
+ const handleValuesChanged = useCallback(
57
+ (newValues: Partial<Schema.Schema.Type<typeof SpaceFormSchema>>, meta: { changed?: Record<string, boolean> }) => {
58
+ const changed = meta.changed ?? {};
59
+ if (changed['edgeReplication']) {
60
+ void toggleEdgeReplication(newValues.edgeReplication ?? false);
61
+ }
62
+
63
+ if (changed['name'] || changed['icon'] || changed['hue']) {
64
+ Obj.change(space.properties, (p) => {
65
+ if (changed['name'] && newValues.name !== undefined) {
66
+ p.name = newValues.name;
67
+ }
68
+ if (changed['icon']) {
69
+ p.icon = newValues.icon;
70
+ }
71
+ if (changed['hue']) {
72
+ p.hue = newValues.hue;
73
+ }
74
+ });
75
+ }
76
+
77
+ if (changed['archived']) {
78
+ if (newValues.archived && !archived) {
79
+ void invokePromise(SpaceOperation.Close, { space });
80
+ void invokePromise(LayoutOperation.SwitchWorkspace, {
81
+ subject: getSpacePath(client.spaces.default.id),
82
+ });
83
+ } else if (!newValues.archived && archived) {
84
+ void invokePromise(SpaceOperation.Open, { space });
85
+ }
86
+ }
87
+ },
88
+ [space, client, archived, invokePromise, toggleEdgeReplication],
89
+ );
90
+
91
+ const values = useMemo(
92
+ () => ({
93
+ name: space.properties.name,
94
+ icon: space.properties.icon,
95
+ hue: space.properties.hue,
96
+ edgeReplication,
97
+ archived,
98
+ }),
99
+ [space.properties.name, space.properties.icon, space.properties.hue, edgeReplication, archived],
100
+ );
101
+
102
+ const fieldMap = useMemo<FormFieldMap>(
103
+ () => ({
104
+ name: ({ type, label, getValue, onValueChange }) => {
105
+ const handleChange = useCallback(
106
+ ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),
107
+ [onValueChange, type],
108
+ );
109
+ return (
110
+ <Settings.ItemInput title={label} description={t('display name description')}>
111
+ <Input.TextInput
112
+ value={getValue()}
113
+ onChange={handleChange}
114
+ placeholder={t('display name input placeholder')}
115
+ classNames='min-w-64'
116
+ />
117
+ </Settings.ItemInput>
118
+ );
119
+ },
120
+ icon: ({ type, label, getValue, onValueChange }) => {
121
+ const handleChange = useCallback((icon: string) => onValueChange(type, icon), [onValueChange, type]);
122
+ const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);
123
+ return (
124
+ <Settings.Item title={label} description={t('icon description')}>
125
+ <IconPicker
126
+ value={getValue()}
127
+ onChange={handleChange}
128
+ onReset={handleReset}
129
+ classNames='justify-self-end'
130
+ />
131
+ </Settings.Item>
132
+ );
133
+ },
134
+ hue: ({ type, label, getValue, onValueChange }) => {
135
+ const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);
136
+ const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);
137
+ return (
138
+ <Settings.Item title={label} description={t('hue description')}>
139
+ <HuePicker value={getValue()} onChange={handleChange} onReset={handleReset} classNames='justify-self-end' />
140
+ </Settings.Item>
141
+ );
142
+ },
143
+ edgeReplication: ({ type, label, getValue, onValueChange }) => {
144
+ const handleChange = useCallback((checked: boolean) => onValueChange(type, checked), [onValueChange, type]);
145
+ return (
146
+ <Settings.ItemInput title={label} description={t('edge replication description')}>
147
+ <Input.Switch checked={getValue()} onCheckedChange={handleChange} classNames='justify-self-end' />
148
+ </Settings.ItemInput>
149
+ );
150
+ },
151
+ archived: ({ type, label, getValue, onValueChange }) => {
152
+ const handleChange = useCallback(() => onValueChange(type, !getValue()), [onValueChange, type, getValue]);
153
+ return (
154
+ <Settings.ItemInput title={label} description={t('archive space description')}>
155
+ <Button
156
+ disabled={space === client.spaces.default}
157
+ variant={getValue() ? 'default' : 'destructive'}
158
+ onClick={handleChange}
159
+ >
160
+ {getValue() ? t('unarchive space label') : t('archive space label')}
161
+ </Button>
162
+ </Settings.ItemInput>
163
+ );
164
+ },
165
+ }),
166
+ [t, space, client],
167
+ );
168
+
169
+ const download = useFileDownload();
170
+ const handleBackup = useCallback(async () => {
171
+ const archive = await space.internal.export();
172
+ download(new Blob([archive.contents as Uint8Array<ArrayBuffer>]), archive.filename);
173
+ }, [space, download]);
174
+
175
+ const repairs = useCapabilities(SpaceCapabilities.Repair);
176
+ const handleRepair = useCallback(async () => {
177
+ await Promise.all(repairs.map((repair) => repair({ space, isDefault: client.spaces.default === space })));
178
+ }, [client, space, repairs]);
179
+
180
+ return (
181
+ <Settings.Root>
182
+ <Settings.Section
183
+ title={t('space properties settings verbose label')}
184
+ description={t('space properties settings description', { ns: meta.id })}
185
+ >
186
+ <Form.Root fieldMap={fieldMap} schema={SpaceFormSchema} values={values} onValuesChanged={handleValuesChanged}>
187
+ <Form.FieldSet />
188
+ </Form.Root>
189
+ </Settings.Section>
190
+ <Settings.Section title={t('space controls title')} description={t('space controls description')}>
191
+ <Settings.ItemInput title={t('backup space title')} description={t('backup space description')}>
192
+ <Button onClick={handleBackup}>{t('download backup label')}</Button>
193
+ </Settings.ItemInput>
194
+ <Settings.ItemInput title={t('repair space title')} description={t('repair space description')}>
195
+ <Button onClick={handleRepair}>{t('repair space label')}</Button>
196
+ </Settings.ItemInput>
197
+ </Settings.Section>
198
+ </Settings.Root>
199
+ );
200
+ };
201
+
202
+ SpaceSettingsContainer.displayName = 'SpaceSettingsContainer';
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { SpaceSettingsContainer } from './SpaceSettingsContainer';
6
+
7
+ export default SpaceSettingsContainer;
@@ -12,9 +12,9 @@ import { translations } from '../../translations';
12
12
  import { SyncStatusIndicator } from './SyncStatus';
13
13
 
14
14
  const meta = {
15
- title: 'plugins/plugin-space/SyncStatusIndicator',
15
+ title: 'plugins/plugin-space/containers/SyncStatusIndicator',
16
16
  component: SyncStatusIndicator,
17
- decorators: [withTheme, withClientProvider({ createIdentity: true })],
17
+ decorators: [withTheme(), withClientProvider({ createIdentity: true })],
18
18
  parameters: {
19
19
  layout: 'centered',
20
20
  translations,
@@ -14,11 +14,9 @@ import { Icon, Popover, useTranslation } from '@dxos/react-ui';
14
14
  import { mx } from '@dxos/ui-theme';
15
15
  import { Unit, type UnitFormat } from '@dxos/util';
16
16
 
17
+ import { createClientSaveTracker, getIcon, getStatus } from '../../components';
17
18
  import { meta } from '../../meta';
18
19
 
19
- import { createClientSaveTracker } from './save-tracker';
20
- import { getIcon, getStatus } from './status';
21
-
22
20
  const SYNC_STALLED_TIMEOUT = 5_000;
23
21
 
24
22
  export const SyncStatus = () => {
@@ -86,12 +84,12 @@ const EdgeConnectionPopover = () => {
86
84
  const isConnected = status?.state === EdgeStatus.ConnectionState.CONNECTED;
87
85
 
88
86
  return (
89
- <div className='min-is-[240px] p-2'>
87
+ <div className='min-w-[240px] p-2'>
90
88
  {/* Connection Status Header */}
91
- <div className='flex items-center gap-2 mbe-2'>
89
+ <div className='flex items-center gap-2 mb-2'>
92
90
  <Icon
93
91
  icon={isConnected ? 'ph--check-circle--regular' : 'ph--warning-circle--regular'}
94
- classNames={mx(isConnected ? 'text-successText' : 'text-errorText animate-pulse')}
92
+ classNames={mx(isConnected ? 'text-success-text' : 'text-error-text animate-pulse')}
95
93
  />
96
94
  <span className='font-medium text-sm'>
97
95
  {isConnected ? t('sync edge connected label') : t('sync edge disconnected label')}
@@ -146,7 +144,7 @@ const UnitValue = ({ value: input, format, suffix }: { value: number; format: Un
146
144
  return (
147
145
  <span className='font-mono'>
148
146
  {formattedValue}
149
- <span className='mis-1 text-subdued'>
147
+ <span className='ms-1 text-subdued'>
150
148
  {unit.symbol}
151
149
  {suffix}
152
150
  </span>
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { SyncStatus } from './SyncStatus';
6
+
7
+ export default SyncStatus;
@@ -5,18 +5,19 @@
5
5
  import * as Schema from 'effect/Schema';
6
6
  import React, { useCallback, useState } from 'react';
7
7
 
8
- import { useOperationInvoker } from '@dxos/app-framework/react';
9
- import { DXN, Filter, Obj, Query, type QueryAST, Tag, Type } from '@dxos/echo';
8
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
9
+ import { DXN, Filter, JsonSchema, Obj, Query, type QueryAST, Tag, Type } from '@dxos/echo';
10
+ import { type View } from '@dxos/echo';
10
11
  import { type Mutable } from '@dxos/echo/internal';
11
12
  import { useClient } from '@dxos/react-client';
12
13
  import { getSpace, useQuery } from '@dxos/react-client/echo';
13
14
  import { useAsyncEffect } from '@dxos/react-ui';
14
15
  import { ViewEditor as NaturalViewEditor } from '@dxos/react-ui-form';
15
- import { View } from '@dxos/schema';
16
+ import { ViewModel } from '@dxos/schema';
16
17
 
17
- import { resolveSchemaWithRegistry } from '../helpers';
18
- import { useTypeOptions } from '../hooks';
19
- import { SpaceOperation } from '../types';
18
+ import { resolveSchemaWithRegistry } from '../../helpers';
19
+ import { useTypeOptions } from '../../hooks';
20
+ import { SpaceOperation } from '../../types';
20
21
 
21
22
  export type ViewEditorProps = { view: View.View };
22
23
 
@@ -31,7 +32,6 @@ export const ViewEditor = ({ view }: ViewEditorProps) => {
31
32
  annotation: {
32
33
  location: ['database', 'runtime'],
33
34
  kind: ['user'],
34
- registered: ['registered'],
35
35
  },
36
36
  });
37
37
 
@@ -53,7 +53,7 @@ export const ViewEditor = ({ view }: ViewEditorProps) => {
53
53
  }
54
54
 
55
55
  const queue = target && DXN.tryParse(target) ? target : undefined;
56
- const query = queue ? Query.fromAst(newQuery).options({ queues: [queue] }) : Query.fromAst(newQuery);
56
+ const query = queue ? Query.fromAst(newQuery).from({ queues: [queue] }) : Query.fromAst(newQuery);
57
57
  Obj.change(view, (v) => {
58
58
  v.query.ast = query.ast as Mutable<typeof query.ast>;
59
59
  });
@@ -62,9 +62,9 @@ export const ViewEditor = ({ view }: ViewEditorProps) => {
62
62
  return;
63
63
  }
64
64
 
65
- const newView = View.make({
65
+ const newView = ViewModel.make({
66
66
  query,
67
- jsonSchema: Type.toJsonSchema(newSchema),
67
+ jsonSchema: JsonSchema.toJsonSchema(newSchema),
68
68
  });
69
69
  Obj.change(view, (v) => {
70
70
  v.projection = Obj.getSnapshot(newView).projection as Mutable<typeof v.projection>;
@@ -92,6 +92,7 @@ export const ViewEditor = ({ view }: ViewEditorProps) => {
92
92
  schema={schema}
93
93
  view={view}
94
94
  mode='tag'
95
+ db={space.db}
95
96
  tags={tags}
96
97
  types={types}
97
98
  onQueryChanged={handleQueryChanged}
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { ViewEditor } from './ViewEditor';
6
+
7
+ export default ViewEditor;
@@ -0,0 +1,28 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type ComponentType, lazy } from 'react';
6
+
7
+ export type { CreateObjectDialogProps } from './CreateObjectDialog';
8
+
9
+ export const CollectionArticle: ComponentType<any> = lazy(() => import('./CollectionArticle'));
10
+ export const CollectionSection: ComponentType<any> = lazy(() => import('./CollectionSection'));
11
+ export const CreateObjectDialog: ComponentType<any> = lazy(() => import('./CreateObjectDialog'));
12
+ export const CreateSpaceDialog: ComponentType<any> = lazy(() => import('./CreateSpaceDialog'));
13
+ export const InlineSyncStatus: ComponentType<any> = lazy(() => import('./InlineSyncStatus'));
14
+ export const JoinDialog: ComponentType<any> = lazy(() => import('./JoinDialog'));
15
+ export const MembersContainer: ComponentType<any> = lazy(() => import('./MembersContainer'));
16
+ export const MenuFooter: ComponentType<any> = lazy(() => import('./MenuFooter'));
17
+ export const ObjectCardStack: ComponentType<any> = lazy(() => import('./ObjectCardStack'));
18
+ export const ObjectDetails: ComponentType<any> = lazy(() => import('./ObjectDetails'));
19
+ export const ObjectRenamePopover: ComponentType<any> = lazy(() => import('./ObjectRenamePopover'));
20
+ export const RecordArticle: ComponentType<any> = lazy(() => import('./RecordArticle'));
21
+ export const SchemaContainer: ComponentType<any> = lazy(() => import('./SchemaContainer'));
22
+ export const SmallPresenceLive: ComponentType<any> = lazy(() => import('./SmallPresenceLive'));
23
+ export const SpacePluginSettings: ComponentType<any> = lazy(() => import('./SpacePluginSettings'));
24
+ export const SpacePresence: ComponentType<any> = lazy(() => import('./SpacePresence'));
25
+ export const SpaceRenamePopover: ComponentType<any> = lazy(() => import('./SpaceRenamePopover'));
26
+ export const SpaceSettingsContainer: ComponentType<any> = lazy(() => import('./SpaceSettingsContainer'));
27
+ export const SyncStatus: ComponentType<any> = lazy(() => import('./SyncStatus'));
28
+ export const ViewEditor: ComponentType<any> = lazy(() => import('./ViewEditor'));
@@ -15,7 +15,7 @@ describe('evalQuery', () => {
15
15
  "id": undefined,
16
16
  "props": {},
17
17
  "type": "object",
18
- "typename": "dxn:type:dxos.org/type/Person:0.1.0",
18
+ "typename": "dxn:type:org.dxos.type.person:0.1.0",
19
19
  },
20
20
  "type": "select",
21
21
  }
@@ -10,7 +10,7 @@ import * as Option from 'effect/Option';
10
10
  import type * as Schema from 'effect/Schema';
11
11
  import * as SchemaAST from 'effect/SchemaAST';
12
12
 
13
- import { DXN, Filter, Query, type QueryAST, type SchemaRegistry } from '@dxos/echo';
13
+ import { DXN, Filter, Key, Query, type QueryAST, type SchemaRegistry } from '@dxos/echo';
14
14
  import {
15
15
  ReferenceAnnotationId,
16
16
  type ReferenceAnnotationValue,
@@ -137,16 +137,29 @@ const typenameFromFilter = (filter: QueryAST.Filter): Option.Option<string> =>
137
137
  Match.orElse(() => Option.none()),
138
138
  );
139
139
 
140
- // TODO(wittjosiah): Currently assumes options is at the top-level of the ast.
140
+ // TODO(wittjosiah): Currently assumes from scope is at the top-level of the ast.
141
141
  export const getQueryTarget = (query: QueryAST.Query, space?: Space) => {
142
142
  return Match.value(query).pipe(
143
- Match.when({ type: 'options' }, ({ options }) => {
144
- return Option.fromNullable(options.queues).pipe(
143
+ Match.when({ type: 'from' }, ({ from }) => {
144
+ if (from._tag !== 'scope') {
145
+ return space?.db;
146
+ }
147
+ const result = Option.fromNullable(from.scope.queues).pipe(
145
148
  Option.flatMap((queues) => Array.head(queues)),
146
- Option.flatMap((queueDxn) => Option.fromNullable(DXN.tryParse(queueDxn))),
147
- Option.flatMap((queueDxn) => Option.fromNullable(space?.queues.get(queueDxn))),
148
- Option.getOrElse(() => space?.db),
149
+ Option.flatMap((queueDxn) => Option.fromNullable(DXN.tryParse(String(queueDxn)))),
150
+ Option.flatMap((parsed) => {
151
+ const q = parsed.asQueueDXN();
152
+ if (!q || !Key.ObjectId.isValid(q.queueId)) return Option.none();
153
+ return Option.fromNullable(space?.queues.get(parsed));
154
+ }),
149
155
  );
156
+ // Skip query when a requested queue is not found (structurally invalid DXN or valid DXN
157
+ // referencing a queue not present in space.queues, e.g. not yet synced) to avoid 400 errors.
158
+ // TODO(wittjosiah): Can we handle this upstream?
159
+ if (from.scope.queues?.length && Option.isNone(result)) {
160
+ return undefined;
161
+ }
162
+ return Option.getOrElse(result, () => space?.db);
150
163
  }),
151
164
  Match.orElse(() => space?.db),
152
165
  );
@@ -2,22 +2,23 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type CapabilityManager, Common } from '@dxos/app-framework';
6
- import { useLayout } from '@dxos/app-framework/react';
5
+ import { Capabilities, type CapabilityManager } from '@dxos/app-framework';
6
+ import { AppCapabilities, getSpaceIdFromPath } from '@dxos/app-toolkit';
7
+ import { useLayout } from '@dxos/app-toolkit/ui';
7
8
  import { ClientCapabilities } from '@dxos/plugin-client';
8
- import { parseId, useSpace } from '@dxos/react-client/echo';
9
+ import { useSpace } from '@dxos/react-client/echo';
9
10
 
10
11
  export const getActiveSpace = (capabilities: CapabilityManager.CapabilityManager) => {
11
12
  const client = capabilities.get(ClientCapabilities.Client);
12
- const registry = capabilities.get(Common.Capability.AtomRegistry);
13
- const layoutAtom = capabilities.get(Common.Capability.Layout);
13
+ const registry = capabilities.get(Capabilities.AtomRegistry);
14
+ const layoutAtom = capabilities.get(AppCapabilities.Layout);
14
15
  const layout = registry.get(layoutAtom);
15
- const { spaceId } = parseId(layout.workspace);
16
+ const spaceId = getSpaceIdFromPath(layout.workspace);
16
17
  return spaceId ? client.spaces.get(spaceId) : undefined;
17
18
  };
18
19
 
19
20
  export const useActiveSpace = () => {
20
21
  const layout = useLayout();
21
- const { spaceId } = parseId(layout.workspace);
22
+ const spaceId = getSpaceIdFromPath(layout.workspace);
22
23
  return useSpace(spaceId);
23
24
  };
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { useCallback } from 'react';
6
6
 
7
- import { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework/react';
7
+ import { Surface, usePluginManager } from '@dxos/app-framework/ui';
8
8
  import { type FormFieldProvider } from '@dxos/react-ui-form';
9
9
 
10
10
  /**
@@ -18,8 +18,8 @@ export const useInputSurfaceLookup = (baseData?: Record<string, any>): FormField
18
18
  return useCallback<FormFieldProvider>(
19
19
  ({ schema, prop, fieldProps }) => {
20
20
  const data = { prop, schema, ...baseData };
21
- if (isSurfaceAvailable(pluginManager.capabilities, { role: 'form-input', data })) {
22
- return <Surface role='form-input' data={data} {...fieldProps} />;
21
+ if (Surface.isAvailable(pluginManager.capabilities, { role: 'form-input', data })) {
22
+ return <Surface.Surface role='form-input' data={data} {...fieldProps} />;
23
23
  }
24
24
  },
25
25
  [pluginManager, baseData],
package/src/index.ts CHANGED
@@ -8,5 +8,6 @@ export * from './components';
8
8
  export * from './helpers';
9
9
  export * from './hooks';
10
10
  export * from './meta';
11
- export * from './SpacePlugin';
12
11
  export * from './util';
12
+
13
+ export * from './SpacePlugin';