@dxos/plugin-space 0.8.3 → 0.8.4-main.1068cf700f

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 (665) hide show
  1. package/dist/lib/browser/CollectionArticle-XXLUNK3F.mjs +127 -0
  2. package/dist/lib/browser/CollectionArticle-XXLUNK3F.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectCardStack-CXNBCSMR.mjs +148 -0
  4. package/dist/lib/browser/ObjectCardStack-CXNBCSMR.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectDetails-HXV4IQEM.mjs +143 -0
  6. package/dist/lib/browser/ObjectDetails-HXV4IQEM.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-36LDKFWF.mjs +108 -0
  8. package/dist/lib/browser/RecordArticle-36LDKFWF.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-GLV46QSI.mjs +530 -0
  10. package/dist/lib/browser/app-graph-builder-GLV46QSI.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-serializer-VOLRDNVE.mjs +85 -0
  12. package/dist/lib/browser/app-graph-serializer-VOLRDNVE.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-7D63MVRS.mjs} +110 -41
  14. package/dist/lib/browser/chunk-7D63MVRS.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-A7ZCVQGZ.mjs +118 -0
  16. package/dist/lib/browser/chunk-A7ZCVQGZ.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ASV6DYFH.mjs +19 -0
  18. package/dist/lib/browser/chunk-ASV6DYFH.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-CMLRMQNM.mjs +1889 -0
  20. package/dist/lib/browser/chunk-CMLRMQNM.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-HSMQFM57.mjs +16 -0
  22. package/dist/lib/browser/chunk-HSMQFM57.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-KGLWYGIF.mjs +715 -0
  24. package/dist/lib/browser/chunk-KGLWYGIF.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-NF3ZFAB4.mjs +13 -0
  26. package/dist/lib/browser/chunk-NF3ZFAB4.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-WAOJLA2S.mjs +772 -0
  28. package/dist/lib/browser/chunk-WAOJLA2S.mjs.map +7 -0
  29. package/dist/lib/browser/cli/index.mjs +851 -0
  30. package/dist/lib/browser/cli/index.mjs.map +7 -0
  31. package/dist/lib/browser/identity-created-VCFYLSBB.mjs +23 -0
  32. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +251 -183
  34. package/dist/lib/browser/index.mjs.map +4 -4
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/operation-resolver-PJJ3PCM7.mjs +830 -0
  37. package/dist/lib/browser/operation-resolver-PJJ3PCM7.mjs.map +7 -0
  38. package/dist/lib/browser/react-root-ITWAPZIY.mjs +30 -0
  39. package/dist/lib/browser/react-root-ITWAPZIY.mjs.map +7 -0
  40. package/dist/lib/browser/react-surface-6GD6K4I4.mjs +383 -0
  41. package/dist/lib/browser/react-surface-6GD6K4I4.mjs.map +7 -0
  42. package/dist/lib/browser/repair-DKU4TUD2.mjs +50 -0
  43. package/dist/lib/browser/repair-DKU4TUD2.mjs.map +7 -0
  44. package/dist/lib/browser/settings-M2DMD2ZA.mjs +34 -0
  45. package/dist/lib/browser/settings-M2DMD2ZA.mjs.map +7 -0
  46. package/dist/lib/browser/spaces-ready-XWJUJ43N.mjs +243 -0
  47. package/dist/lib/browser/spaces-ready-XWJUJ43N.mjs.map +7 -0
  48. package/dist/lib/browser/state-V637BLIM.mjs +58 -0
  49. package/dist/lib/browser/state-V637BLIM.mjs.map +7 -0
  50. package/dist/lib/browser/types/index.mjs +18 -10
  51. package/dist/lib/node-esm/CollectionArticle-KFFKKP37.mjs +128 -0
  52. package/dist/lib/node-esm/CollectionArticle-KFFKKP37.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectCardStack-EHXPNRQW.mjs +149 -0
  54. package/dist/lib/node-esm/ObjectCardStack-EHXPNRQW.mjs.map +7 -0
  55. package/dist/lib/node-esm/ObjectDetails-N73UI4ZL.mjs +144 -0
  56. package/dist/lib/node-esm/ObjectDetails-N73UI4ZL.mjs.map +7 -0
  57. package/dist/lib/node-esm/RecordArticle-CMEXNNOZ.mjs +109 -0
  58. package/dist/lib/node-esm/RecordArticle-CMEXNNOZ.mjs.map +7 -0
  59. package/dist/lib/node-esm/app-graph-builder-KCEHEKVS.mjs +531 -0
  60. package/dist/lib/node-esm/app-graph-builder-KCEHEKVS.mjs.map +7 -0
  61. package/dist/lib/node-esm/app-graph-serializer-7C4MV5NB.mjs +86 -0
  62. package/dist/lib/node-esm/app-graph-serializer-7C4MV5NB.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-2NM62ORP.mjs +1890 -0
  64. package/dist/lib/node-esm/chunk-2NM62ORP.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-5N3YIAXD.mjs} +110 -41
  66. package/dist/lib/node-esm/chunk-5N3YIAXD.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-A5A7M37T.mjs +119 -0
  68. package/dist/lib/node-esm/chunk-A5A7M37T.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +20 -0
  70. package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-FB5YNROS.mjs +773 -0
  72. package/dist/lib/node-esm/chunk-FB5YNROS.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-NYSDQPNM.mjs +716 -0
  74. package/dist/lib/node-esm/chunk-NYSDQPNM.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-PG7DNOEX.mjs +15 -0
  76. package/dist/lib/node-esm/chunk-PG7DNOEX.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs +18 -0
  78. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs.map +7 -0
  79. package/dist/lib/node-esm/cli/index.mjs +852 -0
  80. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  81. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs +25 -0
  82. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +7 -0
  83. package/dist/lib/node-esm/index.mjs +251 -183
  84. package/dist/lib/node-esm/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/meta.json +1 -1
  86. package/dist/lib/node-esm/operation-resolver-2K7N4KYC.mjs +831 -0
  87. package/dist/lib/node-esm/operation-resolver-2K7N4KYC.mjs.map +7 -0
  88. package/dist/lib/node-esm/react-root-GIQAKDQ2.mjs +31 -0
  89. package/dist/lib/node-esm/react-root-GIQAKDQ2.mjs.map +7 -0
  90. package/dist/lib/node-esm/react-surface-KWP2DNFG.mjs +384 -0
  91. package/dist/lib/node-esm/react-surface-KWP2DNFG.mjs.map +7 -0
  92. package/dist/lib/node-esm/repair-C2H6JQCL.mjs +51 -0
  93. package/dist/lib/node-esm/repair-C2H6JQCL.mjs.map +7 -0
  94. package/dist/lib/node-esm/settings-VCPCNBOY.mjs +35 -0
  95. package/dist/lib/node-esm/settings-VCPCNBOY.mjs.map +7 -0
  96. package/dist/lib/node-esm/spaces-ready-5JOGEWON.mjs +244 -0
  97. package/dist/lib/node-esm/spaces-ready-5JOGEWON.mjs.map +7 -0
  98. package/dist/lib/node-esm/state-5MCEPWN3.mjs +59 -0
  99. package/dist/lib/node-esm/state-5MCEPWN3.mjs.map +7 -0
  100. package/dist/lib/node-esm/types/index.mjs +18 -10
  101. package/dist/types/src/SpacePlugin.d.ts +3 -15
  102. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +7 -0
  104. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  108. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
  112. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
  114. package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/index.d.ts +10 -21
  116. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
  118. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
  120. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  122. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  124. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  126. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
  128. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  130. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  132. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  134. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  136. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
  138. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
  140. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/state/index.d.ts +13 -0
  142. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/state/state.d.ts +17 -0
  144. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  145. package/dist/types/src/cli/commands/database/add.d.ts +17 -0
  146. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
  147. package/dist/types/src/cli/commands/database/index.d.ts +3 -0
  148. package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
  149. package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
  150. package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
  151. package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
  152. package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
  153. package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
  154. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
  155. package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
  156. package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
  157. package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
  158. package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
  159. package/dist/types/src/cli/commands/database/util.d.ts +14 -0
  160. package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
  161. package/dist/types/src/cli/commands/index.d.ts +4 -0
  162. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  163. package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
  164. package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
  165. package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
  166. package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
  167. package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
  168. package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
  169. package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
  170. package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
  171. package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
  172. package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
  173. package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
  174. package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
  175. package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
  176. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
  177. package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
  178. package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
  179. package/dist/types/src/cli/commands/space/index.d.ts +31 -0
  180. package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
  181. package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
  182. package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
  183. package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
  184. package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
  185. package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
  186. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
  187. package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
  188. package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
  189. package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
  190. package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
  191. package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
  192. package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
  193. package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
  194. package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
  195. package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
  196. package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
  197. package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
  198. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
  199. package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
  200. package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
  201. package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
  202. package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
  203. package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
  204. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
  205. package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
  206. package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
  207. package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
  208. package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
  209. package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
  210. package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
  211. package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
  212. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
  213. package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
  214. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
  215. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
  216. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
  217. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
  218. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
  219. package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
  220. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
  221. package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
  222. package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
  223. package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
  224. package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
  225. package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
  226. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
  227. package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
  228. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
  229. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
  230. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
  231. package/dist/types/src/cli/index.d.ts +2 -0
  232. package/dist/types/src/cli/index.d.ts.map +1 -0
  233. package/dist/types/src/cli/plugin.d.ts +4 -0
  234. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  235. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  236. package/dist/types/src/components/CollectionArticle.d.ts +9 -0
  237. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  238. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  239. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  240. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +6 -5
  241. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  242. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1602 -8
  243. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  244. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +23 -10
  245. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  246. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  247. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  248. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  249. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  250. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  251. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  252. package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +3 -2
  253. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  254. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1600 -0
  255. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -0
  256. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  257. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  258. package/dist/types/src/components/MenuFooter.d.ts +1 -1
  259. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  260. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts +8 -0
  261. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  262. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts +9 -0
  263. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +1 -0
  264. package/dist/types/src/components/ObjectCardStack/index.d.ts +3 -0
  265. package/dist/types/src/components/ObjectCardStack/index.d.ts.map +1 -0
  266. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +3 -3
  267. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
  268. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +1433 -0
  269. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -0
  270. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts +8 -0
  271. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
  272. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +9 -0
  273. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  274. package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
  275. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
  276. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  277. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  278. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  279. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  280. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  281. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  282. package/dist/types/src/components/RecordArticle.stories.d.ts +1600 -0
  283. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  284. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  285. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  286. package/dist/types/src/components/SpacePluginSettings.d.ts +4 -2
  287. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  288. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +7 -6
  289. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  290. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +1430 -0
  291. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
  292. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  293. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  294. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  295. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  296. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  297. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  298. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +4 -1
  299. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  300. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1433 -4
  301. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  302. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  303. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  304. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1431 -5
  305. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  306. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  307. package/dist/types/src/components/ViewEditor.d.ts +7 -0
  308. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  309. package/dist/types/src/components/index.d.ts +16 -6
  310. package/dist/types/src/components/index.d.ts.map +1 -1
  311. package/dist/types/src/constants.d.ts +6 -0
  312. package/dist/types/src/constants.d.ts.map +1 -0
  313. package/dist/types/src/helpers/index.d.ts +2 -0
  314. package/dist/types/src/helpers/index.d.ts.map +1 -0
  315. package/dist/types/src/helpers/query.d.ts +7 -0
  316. package/dist/types/src/helpers/query.d.ts.map +1 -0
  317. package/dist/types/src/helpers/query.test.d.ts +2 -0
  318. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  319. package/dist/types/src/hooks/index.d.ts +1 -0
  320. package/dist/types/src/hooks/index.d.ts.map +1 -1
  321. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  322. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  323. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  324. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  325. package/dist/types/src/hooks/usePath.d.ts +3 -3
  326. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  327. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  328. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  329. package/dist/types/src/index.d.ts +2 -2
  330. package/dist/types/src/index.d.ts.map +1 -1
  331. package/dist/types/src/meta.d.ts +2 -3
  332. package/dist/types/src/meta.d.ts.map +1 -1
  333. package/dist/types/src/translations.d.ts +1415 -410
  334. package/dist/types/src/translations.d.ts.map +1 -1
  335. package/dist/types/src/types/capabilities.d.ts +71 -0
  336. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  337. package/dist/types/src/types/events.d.ts +9 -0
  338. package/dist/types/src/types/events.d.ts.map +1 -0
  339. package/dist/types/src/types/form.d.ts +22 -0
  340. package/dist/types/src/types/form.d.ts.map +1 -0
  341. package/dist/types/src/types/index.d.ts +3 -0
  342. package/dist/types/src/types/index.d.ts.map +1 -1
  343. package/dist/types/src/types/types.d.ts +646 -338
  344. package/dist/types/src/types/types.d.ts.map +1 -1
  345. package/dist/types/src/util.d.ts +50 -31
  346. package/dist/types/src/util.d.ts.map +1 -1
  347. package/dist/types/tsconfig.tsbuildinfo +1 -1
  348. package/package.json +87 -64
  349. package/src/SpacePlugin.ts +197 -174
  350. package/src/capabilities/app-graph-builder/app-graph-builder.ts +621 -0
  351. package/src/capabilities/app-graph-builder/index.ts +7 -0
  352. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +83 -0
  353. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  354. package/src/capabilities/identity-created/identity-created.ts +29 -0
  355. package/src/capabilities/identity-created/index.ts +7 -0
  356. package/src/capabilities/index.ts +10 -15
  357. package/src/capabilities/operation-resolver/index.ts +7 -0
  358. package/src/capabilities/operation-resolver/operation-resolver.ts +762 -0
  359. package/src/capabilities/react-root/index.ts +7 -0
  360. package/src/capabilities/react-root/react-root.tsx +25 -0
  361. package/src/capabilities/react-surface/index.ts +7 -0
  362. package/src/capabilities/react-surface/react-surface.tsx +377 -0
  363. package/src/capabilities/repair/index.ts +7 -0
  364. package/src/capabilities/repair/repair.ts +67 -0
  365. package/src/capabilities/settings/index.ts +7 -0
  366. package/src/capabilities/settings/settings.ts +33 -0
  367. package/src/capabilities/spaces-ready/index.ts +7 -0
  368. package/src/capabilities/spaces-ready/spaces-ready.ts +290 -0
  369. package/src/capabilities/state/index.ts +7 -0
  370. package/src/capabilities/state/state.ts +64 -0
  371. package/src/cli/commands/database/add.ts +115 -0
  372. package/src/cli/commands/database/index.ts +16 -0
  373. package/src/cli/commands/database/query/index.ts +5 -0
  374. package/src/cli/commands/database/query/query.test.ts +55 -0
  375. package/src/cli/commands/database/query/query.ts +44 -0
  376. package/src/cli/commands/database/remove.ts +51 -0
  377. package/src/cli/commands/database/stats.ts +44 -0
  378. package/src/cli/commands/database/util.ts +32 -0
  379. package/src/cli/commands/index.ts +7 -0
  380. package/src/cli/commands/queue/index.ts +12 -0
  381. package/src/cli/commands/queue/query.ts +45 -0
  382. package/src/cli/commands/queue/util.ts +19 -0
  383. package/src/cli/commands/space/close/close.ts +40 -0
  384. package/src/cli/commands/space/close/index.ts +5 -0
  385. package/src/cli/commands/space/create/create.test.ts +67 -0
  386. package/src/cli/commands/space/create/create.ts +61 -0
  387. package/src/cli/commands/space/create/index.ts +5 -0
  388. package/src/cli/commands/space/index.ts +21 -0
  389. package/src/cli/commands/space/info/index.ts +5 -0
  390. package/src/cli/commands/space/info/info.test.ts +47 -0
  391. package/src/cli/commands/space/info/info.ts +37 -0
  392. package/src/cli/commands/space/join/index.ts +5 -0
  393. package/src/cli/commands/space/join/join.ts +122 -0
  394. package/src/cli/commands/space/join/util.ts +82 -0
  395. package/src/cli/commands/space/list/index.ts +5 -0
  396. package/src/cli/commands/space/list/list.test.ts +36 -0
  397. package/src/cli/commands/space/list/list.ts +30 -0
  398. package/src/cli/commands/space/members/index.ts +5 -0
  399. package/src/cli/commands/space/members/members.test.ts +46 -0
  400. package/src/cli/commands/space/members/members.ts +40 -0
  401. package/src/cli/commands/space/members/util.ts +29 -0
  402. package/src/cli/commands/space/open/index.ts +5 -0
  403. package/src/cli/commands/space/open/open.ts +39 -0
  404. package/src/cli/commands/space/schema/index.ts +12 -0
  405. package/src/cli/commands/space/schema/list/index.ts +5 -0
  406. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  407. package/src/cli/commands/space/schema/list/list.ts +64 -0
  408. package/src/cli/commands/space/schema/list/util.ts +39 -0
  409. package/src/cli/commands/space/share/index.ts +5 -0
  410. package/src/cli/commands/space/share/share.ts +112 -0
  411. package/src/cli/commands/space/sync/index.ts +5 -0
  412. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  413. package/src/cli/commands/space/sync/sync.ts +33 -0
  414. package/src/cli/index.ts +5 -0
  415. package/src/cli/plugin.ts +88 -0
  416. package/src/components/AwaitingObject.tsx +27 -27
  417. package/src/components/CollectionArticle.tsx +156 -0
  418. package/src/components/CollectionSection.tsx +8 -6
  419. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +40 -33
  420. package/src/components/CreateDialog/CreateObjectDialog.tsx +108 -81
  421. package/src/components/CreateDialog/CreateObjectPanel.tsx +163 -91
  422. package/src/components/CreateDialog/CreateSpaceDialog.tsx +35 -29
  423. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +29 -39
  424. package/src/components/JoinDialog/index.ts +5 -0
  425. package/src/components/MembersContainer/MembersContainer.stories.tsx +56 -0
  426. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +95 -98
  427. package/src/components/MembersContainer/index.ts +5 -0
  428. package/src/components/MenuFooter.tsx +5 -6
  429. package/src/components/ObjectCardStack/ObjectCardStack.tsx +67 -0
  430. package/src/components/ObjectCardStack/ObjectForm.tsx +97 -0
  431. package/src/components/ObjectCardStack/index.ts +7 -0
  432. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +63 -0
  433. package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
  434. package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +8 -8
  435. package/src/components/ObjectDetails/ObjectDetails.tsx +33 -0
  436. package/src/components/ObjectDetails/index.ts +7 -0
  437. package/src/components/ObjectRenamePopover/ObjectRenamePopover.tsx +52 -0
  438. package/src/components/ObjectRenamePopover/index.ts +5 -0
  439. package/src/components/RecordArticle.stories.tsx +116 -0
  440. package/src/components/RecordArticle.tsx +124 -0
  441. package/src/components/SchemaContainer.tsx +31 -31
  442. package/src/components/SpacePluginSettings.tsx +45 -33
  443. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +25 -24
  444. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +28 -24
  445. package/src/components/SpacePresence/index.ts +5 -0
  446. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +16 -16
  447. package/src/components/SpaceRenamePopover/index.ts +5 -0
  448. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +20 -12
  449. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +99 -81
  450. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  451. package/src/components/SyncStatus/SyncStatus.stories.tsx +12 -19
  452. package/src/components/SyncStatus/SyncStatus.tsx +110 -13
  453. package/src/components/SyncStatus/save-tracker.ts +3 -3
  454. package/src/components/SyncStatus/status.ts +4 -4
  455. package/src/components/ViewEditor.tsx +101 -0
  456. package/src/components/index.ts +11 -6
  457. package/src/constants.ts +11 -0
  458. package/src/helpers/index.ts +5 -0
  459. package/src/helpers/query.test.ts +24 -0
  460. package/src/helpers/query.ts +153 -0
  461. package/src/hooks/index.ts +1 -0
  462. package/src/hooks/useActiveSpace.ts +8 -4
  463. package/src/hooks/useInputSurfaceLookup.tsx +9 -13
  464. package/src/hooks/usePath.ts +5 -5
  465. package/src/hooks/useTypeOptions.ts +25 -0
  466. package/src/index.ts +2 -2
  467. package/src/meta.ts +8 -5
  468. package/src/translations.ts +112 -36
  469. package/src/types/capabilities.ts +73 -0
  470. package/src/types/events.ts +16 -0
  471. package/src/types/form.ts +69 -0
  472. package/src/types/index.ts +3 -0
  473. package/src/types/types.ts +546 -206
  474. package/src/util.tsx +451 -242
  475. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs +0 -363
  476. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +0 -7
  477. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs +0 -80
  478. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
  479. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
  480. package/dist/lib/browser/chunk-7Y4M7GXO.mjs +0 -94
  481. package/dist/lib/browser/chunk-7Y4M7GXO.mjs.map +0 -7
  482. package/dist/lib/browser/chunk-BXNL6SDI.mjs +0 -19
  483. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +0 -7
  484. package/dist/lib/browser/chunk-NFUKCRGE.mjs +0 -1916
  485. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
  486. package/dist/lib/browser/chunk-PTKYMZWO.mjs +0 -13
  487. package/dist/lib/browser/chunk-PTKYMZWO.mjs.map +0 -7
  488. package/dist/lib/browser/chunk-TW7O2EPP.mjs +0 -284
  489. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +0 -7
  490. package/dist/lib/browser/chunk-V24VASAJ.mjs +0 -546
  491. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
  492. package/dist/lib/browser/chunk-YMCZR6EZ.mjs +0 -18
  493. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +0 -7
  494. package/dist/lib/browser/identity-created-PI7TKANR.mjs +0 -23
  495. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
  496. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs +0 -610
  497. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
  498. package/dist/lib/browser/react-root-QIKHSNT2.mjs +0 -29
  499. package/dist/lib/browser/react-root-QIKHSNT2.mjs.map +0 -7
  500. package/dist/lib/browser/react-surface-W56UD53I.mjs +0 -353
  501. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
  502. package/dist/lib/browser/schema-defs-WREJNMIC.mjs +0 -26
  503. package/dist/lib/browser/schema-defs-WREJNMIC.mjs.map +0 -7
  504. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs +0 -124
  505. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +0 -7
  506. package/dist/lib/browser/settings-K54STC5A.mjs +0 -24
  507. package/dist/lib/browser/settings-K54STC5A.mjs.map +0 -7
  508. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs +0 -199
  509. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +0 -7
  510. package/dist/lib/browser/state-HRZ4VRXU.mjs +0 -47
  511. package/dist/lib/browser/state-HRZ4VRXU.mjs.map +0 -7
  512. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
  513. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
  514. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
  515. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
  516. package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
  517. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
  518. package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
  519. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
  520. package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
  521. package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
  522. package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
  523. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
  524. package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
  525. package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
  526. package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
  527. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
  528. package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
  529. package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
  530. package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
  531. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
  532. package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
  533. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
  534. package/dist/lib/node/index.cjs +0 -278
  535. package/dist/lib/node/index.cjs.map +0 -7
  536. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
  537. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
  538. package/dist/lib/node/meta.json +0 -1
  539. package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
  540. package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
  541. package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
  542. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
  543. package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
  544. package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
  545. package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
  546. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
  547. package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
  548. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
  549. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
  550. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
  551. package/dist/lib/node/state-M35DK75Z.cjs +0 -61
  552. package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
  553. package/dist/lib/node/types/index.cjs +0 -48
  554. package/dist/lib/node/types/index.cjs.map +0 -7
  555. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs +0 -364
  556. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +0 -7
  557. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs +0 -81
  558. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
  559. package/dist/lib/node-esm/chunk-3CP67AYY.mjs +0 -19
  560. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +0 -7
  561. package/dist/lib/node-esm/chunk-BSLREHIX.mjs +0 -20
  562. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +0 -7
  563. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs +0 -285
  564. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +0 -7
  565. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs +0 -96
  566. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs.map +0 -7
  567. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs +0 -547
  568. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
  569. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
  570. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs +0 -1917
  571. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
  572. package/dist/lib/node-esm/chunk-MSWEFAPD.mjs +0 -15
  573. package/dist/lib/node-esm/chunk-MSWEFAPD.mjs.map +0 -7
  574. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs +0 -25
  575. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
  576. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs +0 -611
  577. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
  578. package/dist/lib/node-esm/react-root-YFGL3B4J.mjs +0 -30
  579. package/dist/lib/node-esm/react-root-YFGL3B4J.mjs.map +0 -7
  580. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs +0 -354
  581. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
  582. package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs +0 -27
  583. package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs.map +0 -7
  584. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs +0 -126
  585. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +0 -7
  586. package/dist/lib/node-esm/settings-TD76LTQS.mjs +0 -25
  587. package/dist/lib/node-esm/settings-TD76LTQS.mjs.map +0 -7
  588. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs +0 -200
  589. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +0 -7
  590. package/dist/lib/node-esm/state-XQNDCN37.mjs +0 -48
  591. package/dist/lib/node-esm/state-XQNDCN37.mjs.map +0 -7
  592. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  593. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  594. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  595. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  596. package/dist/types/src/capabilities/capabilities.d.ts +0 -22
  597. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  598. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  599. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  600. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  601. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  602. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  603. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  604. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  605. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  606. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  607. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  608. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  609. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  610. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  611. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  612. package/dist/types/src/capabilities/settings.d.ts +0 -4
  613. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  614. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  615. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  616. package/dist/types/src/capabilities/state.d.ts +0 -5
  617. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  618. package/dist/types/src/components/CollectionMain.d.ts +0 -6
  619. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  620. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  621. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  622. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
  623. package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
  624. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  625. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  626. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  627. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
  628. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  629. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  630. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  631. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -2
  632. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  633. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  634. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  635. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  636. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  637. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  638. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  639. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  640. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
  641. package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
  642. package/dist/types/src/events.d.ts +0 -7
  643. package/dist/types/src/events.d.ts.map +0 -1
  644. package/src/capabilities/app-graph-builder.ts +0 -540
  645. package/src/capabilities/app-graph-serializer.ts +0 -76
  646. package/src/capabilities/capabilities.ts +0 -24
  647. package/src/capabilities/identity-created.ts +0 -27
  648. package/src/capabilities/intent-resolver.ts +0 -585
  649. package/src/capabilities/react-root.tsx +0 -20
  650. package/src/capabilities/react-surface.tsx +0 -349
  651. package/src/capabilities/schema-defs.ts +0 -30
  652. package/src/capabilities/schema-tool.test.ts +0 -44
  653. package/src/capabilities/schema-tools.ts +0 -125
  654. package/src/capabilities/settings.ts +0 -21
  655. package/src/capabilities/spaces-ready.ts +0 -231
  656. package/src/capabilities/state.ts +0 -45
  657. package/src/components/CollectionMain.tsx +0 -30
  658. package/src/components/MembersContainer.stories.tsx +0 -30
  659. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -80
  660. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -47
  661. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -36
  662. package/src/components/ObjectSettings/index.ts +0 -5
  663. package/src/components/PersistenceStatus.tsx +0 -84
  664. package/src/components/PopoverRenameObject.tsx +0 -62
  665. package/src/events.ts +0 -14
@@ -2,119 +2,146 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { pipe } from 'effect';
6
- import React, { useCallback, useRef, useState } from 'react';
5
+ import * as Effect from 'effect/Effect';
6
+ import React, { useCallback, useMemo, useRef, useState } from 'react';
7
7
 
8
- import {
9
- Capabilities,
10
- LayoutAction,
11
- chain,
12
- createIntent,
13
- useCapabilities,
14
- useIntentDispatcher,
15
- usePluginManager,
16
- } from '@dxos/app-framework';
17
- import { Query, Type, type Obj } from '@dxos/echo';
8
+ import { Capability } from '@dxos/app-framework';
9
+ import { useOperationInvoker, usePluginManager } from '@dxos/app-framework/ui';
10
+ import { AppCapabilities, LayoutOperation } from '@dxos/app-toolkit';
11
+ import { Database, Obj, Type } from '@dxos/echo';
12
+ import { EntityKind, getTypeAnnotation } from '@dxos/echo/internal';
13
+ import { runAndForwardErrors } from '@dxos/effect';
18
14
  import { invariant } from '@dxos/invariant';
15
+ import { Operation } from '@dxos/operation';
19
16
  import { useClient } from '@dxos/react-client';
20
- import { getSpace, isLiveObject, isSpace, type Space, useQuery, useSpaces } from '@dxos/react-client/echo';
21
- import { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';
22
- import { cardDialogContent, cardDialogHeader } from '@dxos/react-ui-stack';
23
- import { DataType } from '@dxos/schema';
24
- import { isNonNullable } from '@dxos/util';
17
+ import { useSpaces } from '@dxos/react-client/echo';
18
+ import { Dialog, useTranslation } from '@dxos/react-ui';
19
+ import { type Collection } from '@dxos/schema';
25
20
 
26
- import { CreateObjectPanel, type CreateObjectPanelProps } from './CreateObjectPanel';
27
- import { SpaceCapabilities } from '../../capabilities';
28
- import { SPACE_PLUGIN } from '../../meta';
29
- import { SpaceAction } from '../../types';
21
+ import { meta } from '../../meta';
22
+ import { SpaceOperation } from '../../types';
30
23
 
31
- export const CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
24
+ import { CreateObjectPanel, type CreateObjectPanelProps, type Metadata } from './CreateObjectPanel';
32
25
 
33
- export type CreateObjectDialogProps = Pick<CreateObjectPanelProps, 'target' | 'typename' | 'name'> & {
34
- shouldNavigate?: (object: Obj.Any) => boolean;
26
+ export const CREATE_OBJECT_DIALOG = `${meta.id}/CreateObjectDialog`;
27
+
28
+ export type CreateObjectDialogProps = Pick<
29
+ CreateObjectPanelProps,
30
+ 'target' | 'views' | 'typename' | 'initialFormValues'
31
+ > & {
32
+ onCreateObject?: (object: Obj.Unknown) => void;
33
+ shouldNavigate?: (object: Obj.Unknown) => boolean;
35
34
  };
36
35
 
37
36
  export const CreateObjectDialog = ({
38
37
  target: initialTarget,
39
38
  typename: initialTypename,
40
- name,
39
+ views,
40
+ initialFormValues,
41
+ onCreateObject,
41
42
  shouldNavigate: _shouldNavigate,
42
43
  }: CreateObjectDialogProps) => {
43
- const closeRef = useRef<HTMLButtonElement | null>(null);
44
44
  const manager = usePluginManager();
45
- const { t } = useTranslation(SPACE_PLUGIN);
45
+ const { t } = useTranslation(meta.id);
46
+ const operationInvoker = useOperationInvoker();
47
+ const [target, setTarget] = useState<Database.Database | Collection.Collection | undefined>(initialTarget);
48
+ const [typename, setTypename] = useState<string | undefined>(initialTypename);
46
49
  const client = useClient();
47
50
  const spaces = useSpaces();
48
- const { dispatchPromise: dispatch } = useIntentDispatcher();
49
- const forms = useCapabilities(SpaceCapabilities.ObjectForm);
50
- const [target, setTarget] = useState<Space | DataType.Collection | undefined>(initialTarget);
51
- const [typename, setTypename] = useState<string | undefined>(initialTypename);
52
- const space = isSpace(target) ? target : getSpace(target);
53
- const queryCollections = useQuery(space, Query.type(DataType.QueryCollection));
54
- const hiddenTypenames = queryCollections.map((collection) => collection.query.typename).filter(isNonNullable);
51
+ const closeRef = useRef<HTMLButtonElement | null>(null);
55
52
 
56
53
  const resolve = useCallback<NonNullable<CreateObjectPanelProps['resolve']>>(
57
- (typename) =>
58
- manager.context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {},
54
+ (typename) => {
55
+ const metadata = manager.capabilities
56
+ .getAll(AppCapabilities.Metadata)
57
+ .find(({ id }) => id === typename)?.metadata;
58
+ return metadata?.createObject ? (metadata as Metadata) : undefined;
59
+ },
59
60
  [manager],
60
61
  );
61
62
 
63
+ const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);
64
+ // TODO(wittjosiah): Support database schemas.
65
+ const schemas = db?.schemaRegistry.query({ location: ['runtime'], includeSystem: false }).runSync();
66
+ const userSchemas = useMemo(
67
+ () =>
68
+ schemas
69
+ ?.filter((schema) => getTypeAnnotation(schema)?.kind !== EntityKind.Relation)
70
+ .filter((schema) => !!resolve(Type.getTypename(schema))) ?? [],
71
+ [schemas],
72
+ );
73
+
62
74
  const handleCreateObject = useCallback<NonNullable<CreateObjectPanelProps['onCreateObject']>>(
63
- async ({ form, data = {} }) => {
64
- if (!target) {
65
- // TODO(wittjosiah): UI feedback.
66
- return;
67
- }
75
+ ({ metadata, data = {} }) =>
76
+ Effect.gen(function* () {
77
+ if (!target) {
78
+ // TODO(wittjosiah): UI feedback.
79
+ return;
80
+ }
68
81
 
69
- // NOTE: Must close before navigating or attention won't follow object.
70
- closeRef.current?.click();
82
+ // NOTE: Must close before navigating or attention won't follow object.
83
+ closeRef.current?.click();
71
84
 
72
- const space = isSpace(target) ? target : getSpace(target);
73
- invariant(space, 'Missing space');
74
- const result = await dispatch(form.getIntent(data, { space }));
75
- const object = result.data?.object;
76
- if (isLiveObject(object)) {
77
- // TODO(wittjosiah): Selection in navtree isn't working as expected when hidden typenames evals to true.
78
- const hidden = form.hidden || hiddenTypenames.includes(Type.getTypename(form.objectSchema));
79
- const addObjectIntent = createIntent(SpaceAction.AddObject, { target, object, hidden });
80
- const shouldNavigate = _shouldNavigate ?? (() => true);
81
- if (shouldNavigate(object)) {
82
- await dispatch(pipe(addObjectIntent, chain(LayoutAction.Open, { part: 'main' })));
83
- } else {
84
- await dispatch(addObjectIntent);
85
+ const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);
86
+ invariant(db, 'Missing database');
87
+ const object = yield* metadata.createObject(data, { db });
88
+ if (Obj.isObject(object) && !Obj.instanceOf(Type.PersistentType, object)) {
89
+ // TODO(wittjosiah): Selection in navtree isn't working as expected when hidden typenames evals to true.
90
+ const hidden = !metadata.addToCollectionOnCreate;
91
+ yield* operationInvoker.invoke(SpaceOperation.AddObject, {
92
+ target,
93
+ object,
94
+ hidden,
95
+ });
96
+ const shouldNavigate = _shouldNavigate ?? (() => true);
97
+ if (shouldNavigate(object)) {
98
+ yield* Effect.promise(() =>
99
+ operationInvoker.invokePromise(LayoutOperation.Open, {
100
+ subject: [Obj.getDXN(object).toString()],
101
+ }),
102
+ );
103
+ }
104
+
105
+ onCreateObject?.(object);
85
106
  }
86
- }
87
- },
88
- [dispatch, target, resolve, hiddenTypenames, _shouldNavigate],
107
+ }).pipe(
108
+ Effect.provideService(Capability.Service, manager.capabilities),
109
+ Effect.provideService(Operation.Service, operationInvoker),
110
+ runAndForwardErrors,
111
+ ),
112
+ [target, _shouldNavigate, onCreateObject, manager.capabilities, operationInvoker],
89
113
  );
90
114
 
91
115
  return (
92
- // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
93
- // Consider factoring it out to the tabs package.
94
- <Dialog.Content classNames={cardDialogContent}>
95
- <div role='none' className={cardDialogHeader}>
116
+ <Dialog.Content>
117
+ <Dialog.Header>
96
118
  <Dialog.Title>
97
- {t('create object dialog title', { object: t('typename label', { ns: typename, defaultValue: 'Item' }) })}
119
+ {t('create object dialog title', {
120
+ object: t('typename label', {
121
+ ns: typename,
122
+ defaultValue: views ? 'View' : 'Object',
123
+ }),
124
+ })}
98
125
  </Dialog.Title>
99
126
  <Dialog.Close asChild>
100
- <Button ref={closeRef} density='fine' variant='ghost' autoFocus>
101
- <Icon icon='ph--x--regular' size={4} />
102
- </Button>
127
+ <Dialog.CloseIconButton ref={closeRef} />
103
128
  </Dialog.Close>
104
- </div>
105
-
106
- <CreateObjectPanel
107
- forms={forms}
108
- spaces={spaces}
109
- target={target}
110
- typename={typename}
111
- name={name}
112
- defaultSpaceId={client.spaces.default.id}
113
- resolve={resolve}
114
- onTargetChange={setTarget}
115
- onTypenameChange={setTypename}
116
- onCreateObject={handleCreateObject}
117
- />
129
+ </Dialog.Header>
130
+ <Dialog.Body>
131
+ <CreateObjectPanel
132
+ schemas={userSchemas}
133
+ spaces={spaces}
134
+ target={target}
135
+ views={views}
136
+ typename={typename}
137
+ initialFormValues={initialFormValues}
138
+ defaultSpaceId={client.spaces.default.id}
139
+ resolve={resolve}
140
+ onTargetChange={setTarget}
141
+ onTypenameChange={setTypename}
142
+ onCreateObject={handleCreateObject}
143
+ />
144
+ </Dialog.Body>
118
145
  </Dialog.Content>
119
146
  );
120
147
  };
@@ -2,136 +2,197 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import React, { useCallback } from 'react';
6
-
7
- import { Type } from '@dxos/echo';
8
- import { getTypeAnnotation, type TypeAnnotation } from '@dxos/echo-schema';
9
- import { type SpaceId, type Space } from '@dxos/react-client/echo';
10
- import { Icon, toLocalizedString, useTranslation } from '@dxos/react-ui';
11
- import { Form } from '@dxos/react-ui-form';
12
- import { SearchList } from '@dxos/react-ui-searchlist';
13
- import { cardDialogOverflow, cardDialogPaddedOverflow, cardDialogSearchListRoot } from '@dxos/react-ui-stack';
14
- import { type DataType } from '@dxos/schema';
15
- import { isNonNullable, type MaybePromise } from '@dxos/util';
5
+ import * as Option from 'effect/Option';
6
+ import type * as Schema from 'effect/Schema';
7
+ import React, { useCallback, useMemo } from 'react';
8
+
9
+ import { type Database, Obj } from '@dxos/echo';
10
+ import { type AnyProperties, type TypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';
11
+ import { type Space, type SpaceId } from '@dxos/react-client/echo';
12
+ import { toLocalizedString, useDefaultValue, useTranslation } from '@dxos/react-ui';
13
+ import { Form, omitId } from '@dxos/react-ui-form';
14
+ import { SearchList, useSearchListResults } from '@dxos/react-ui-searchlist';
15
+ import { type Collection, ViewAnnotation } from '@dxos/schema';
16
+ import { type MaybePromise, isNonNullable } from '@dxos/util';
16
17
 
17
18
  import { useInputSurfaceLookup } from '../../hooks';
18
- import { SPACE_PLUGIN } from '../../meta';
19
- import { type ObjectForm } from '../../types';
19
+ import { meta } from '../../meta';
20
+ import { type CreateObject } from '../../types';
20
21
  import { getSpaceDisplayName } from '../../util';
21
22
 
23
+ export type Metadata = {
24
+ createObject: CreateObject;
25
+ inputSchema?: Schema.Schema.AnyNoContext;
26
+ addToCollectionOnCreate?: boolean;
27
+ icon?: string;
28
+ };
29
+
22
30
  export type CreateObjectPanelProps = {
23
- forms: ObjectForm[];
31
+ schemas: Schema.Schema.AnyNoContext[];
24
32
  spaces: Space[];
25
33
  typename?: string;
26
- target?: Space | DataType.Collection;
27
- name?: string;
34
+ target?: Database.Database | Collection.Collection;
35
+ views?: boolean;
36
+ initialFormValues?: Partial<AnyProperties>;
28
37
  defaultSpaceId?: SpaceId;
29
- resolve?: (typename: string) => Record<string, any>;
30
- onTargetChange?: (target: Space) => void;
38
+ resolve?: (typename: string) => Metadata | undefined;
39
+ onTargetChange?: (target: Database.Database) => void;
31
40
  onTypenameChange?: (typename: string) => void;
32
- onCreateObject?: (params: { form: ObjectForm; data?: Record<string, any> }) => MaybePromise<void>;
41
+ onCreateObject?: (params: { metadata: Metadata; data?: Record<string, any> }) => MaybePromise<void>;
33
42
  };
34
43
 
35
44
  export const CreateObjectPanel = ({
36
- forms,
45
+ schemas,
37
46
  spaces,
38
47
  typename,
39
48
  target,
40
- name: initialName,
49
+ views,
50
+ initialFormValues: _initialFormValues,
41
51
  defaultSpaceId,
42
52
  resolve,
43
53
  onTargetChange,
44
54
  onTypenameChange,
45
55
  onCreateObject,
46
56
  }: CreateObjectPanelProps) => {
47
- const { t } = useTranslation(SPACE_PLUGIN);
48
- const form = forms.find((form) => Type.getTypename(form.objectSchema) === typename);
49
- const options: TypeAnnotation[] = forms
50
- .map((form) => getTypeAnnotation(form.objectSchema))
57
+ const { t } = useTranslation(meta.id);
58
+ const initialFormValues = useDefaultValue(_initialFormValues, () => ({}));
59
+ const metadata = typename && resolve?.(typename);
60
+ const options: TypeAnnotation[] = schemas
61
+ .filter((schema) => {
62
+ if (views == null) {
63
+ return true;
64
+ } else {
65
+ return views === ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false));
66
+ }
67
+ })
68
+ .map((schema) => getTypeAnnotation(schema))
51
69
  .filter(isNonNullable)
52
70
  .sort((a, b) => {
53
- const nameA = t('typename label', { ns: a.typename, defaultValue: a.typename });
54
- const nameB = t('typename label', { ns: b.typename, defaultValue: b.typename });
71
+ const nameA = t('typename label', {
72
+ ns: a.typename,
73
+ defaultValue: a.typename,
74
+ });
75
+ const nameB = t('typename label', {
76
+ ns: b.typename,
77
+ defaultValue: b.typename,
78
+ });
55
79
  return nameA.localeCompare(nameB);
56
80
  });
57
81
 
58
82
  const handleCreateObject = useCallback(
59
83
  async (props: Record<string, any>) => {
60
- if (!form) {
84
+ if (!metadata) {
61
85
  return;
62
86
  }
63
- await onCreateObject?.({ form, data: props });
87
+ await onCreateObject?.({ metadata, data: props });
64
88
  },
65
- [onCreateObject, form],
89
+ [onCreateObject, metadata],
66
90
  );
67
91
 
68
92
  const handleSetTypename = useCallback(
69
93
  async (typename: string) => {
70
- const form = forms.find((form) => getTypeAnnotation(form.objectSchema)?.typename === typename);
71
- if (form && !form.formSchema) {
72
- await onCreateObject?.({ form });
94
+ const metadata = resolve?.(typename);
95
+ if (metadata && !metadata.inputSchema) {
96
+ await onCreateObject?.({ metadata });
73
97
  } else {
74
98
  onTypenameChange?.(typename);
75
99
  }
76
100
  },
77
- [forms, onCreateObject],
101
+ [resolve, onCreateObject],
78
102
  );
79
103
 
80
104
  const inputSurfaceLookup = useInputSurfaceLookup({ target });
81
105
 
82
106
  // TODO(wittjosiah): These inputs should be rolled into a `Form` once it supports the necessary variants.
83
- return !form ? (
107
+ return !metadata ? (
84
108
  <SelectSchema options={options} resolve={resolve} onChange={handleSetTypename} />
85
109
  ) : !target ? (
86
110
  <SelectSpace spaces={spaces} defaultSpaceId={defaultSpaceId} onChange={onTargetChange} />
87
- ) : form.formSchema ? (
88
- <div role='none' className={cardDialogOverflow}>
89
- <Form
90
- autoFocus
91
- values={{ name: initialName }}
92
- schema={form.formSchema}
93
- testId='create-object-form'
94
- onSave={handleCreateObject}
95
- lookupComponent={inputSurfaceLookup}
96
- outerSpacing='blockStart-0'
97
- />
98
- </div>
111
+ ) : metadata.inputSchema ? (
112
+ <Form.Root
113
+ testId='create-object-form'
114
+ autoFocus
115
+ schema={omitId(metadata.inputSchema)}
116
+ values={initialFormValues}
117
+ db={Obj.isObject(target) ? Obj.getDatabase(target) : target}
118
+ fieldProvider={inputSurfaceLookup}
119
+ onSave={handleCreateObject}
120
+ >
121
+ <Form.Viewport>
122
+ <Form.Content>
123
+ <Form.FieldSet />
124
+ <Form.Submit />
125
+ </Form.Content>
126
+ </Form.Viewport>
127
+ </Form.Root>
99
128
  ) : null;
100
129
  };
101
130
 
131
+ CreateObjectPanel.displayName = 'CreateObjectPanel';
132
+
102
133
  const SelectSpace = ({
103
134
  spaces,
104
135
  defaultSpaceId,
105
136
  onChange,
106
- }: { onChange?: (space: Space) => void } & Pick<CreateObjectPanelProps, 'spaces' | 'defaultSpaceId'>) => {
107
- const { t } = useTranslation(SPACE_PLUGIN);
137
+ }: { onChange?: (db: Database.Database) => void } & Pick<CreateObjectPanelProps, 'spaces' | 'defaultSpaceId'>) => {
138
+ const { t } = useTranslation(meta.id);
108
139
 
140
+ const sortedSpaces = useMemo(
141
+ () =>
142
+ [...spaces].sort((a, b) => {
143
+ const labelA = toLocalizedString(
144
+ getSpaceDisplayName(a, {
145
+ personal: a.id === defaultSpaceId,
146
+ }),
147
+ t,
148
+ );
149
+ const labelB = toLocalizedString(
150
+ getSpaceDisplayName(b, {
151
+ personal: b.id === defaultSpaceId,
152
+ }),
153
+ t,
154
+ );
155
+ return labelA.localeCompare(labelB);
156
+ }),
157
+ [spaces, defaultSpaceId, t],
158
+ );
159
+
160
+ const { results, handleSearch } = useSearchListResults({
161
+ items: sortedSpaces,
162
+ extract: (space) =>
163
+ toLocalizedString(
164
+ getSpaceDisplayName(space, {
165
+ personal: space.id === defaultSpaceId,
166
+ }),
167
+ t,
168
+ ),
169
+ });
170
+
171
+ // TODO(burdon): Replace with Combobox.
109
172
  return (
110
- <SearchList.Root label={t('space input label')} classNames={cardDialogSearchListRoot}>
111
- <SearchList.Input
112
- autoFocus
113
- data-testid='create-object-form.space-input'
114
- placeholder={t('space input placeholder')}
115
- />
116
- <SearchList.Content classNames={[cardDialogOverflow, 'plb-cardSpacingBlock']}>
117
- {spaces
118
- .sort((a, b) => {
119
- const aName = toLocalizedString(getSpaceDisplayName(a, { personal: a.id === defaultSpaceId }), t);
120
- const bName = toLocalizedString(getSpaceDisplayName(b, { personal: b.id === defaultSpaceId }), t);
121
- return aName.localeCompare(bName);
122
- })
123
- .map((space) => (
173
+ <SearchList.Root onSearch={handleSearch}>
174
+ <SearchList.Content>
175
+ <SearchList.Input
176
+ autoFocus
177
+ data-testid='create-object-form.space-input'
178
+ placeholder={t('space input placeholder')}
179
+ />
180
+ <SearchList.Viewport>
181
+ {results.map((space) => (
124
182
  <SearchList.Item
125
183
  key={space.id}
126
- value={toLocalizedString(getSpaceDisplayName(space, { personal: space.id === defaultSpaceId }), t)}
127
- onSelect={() => onChange?.(space)}
184
+ value={space.id}
185
+ label={toLocalizedString(
186
+ getSpaceDisplayName(space, {
187
+ personal: space.id === defaultSpaceId,
188
+ }),
189
+ t,
190
+ )}
191
+ onSelect={() => onChange?.(space.db)}
128
192
  classNames='flex items-center gap-2'
129
- >
130
- <span className='grow truncate'>
131
- {toLocalizedString(getSpaceDisplayName(space, { personal: space.id === defaultSpaceId }), t)}
132
- </span>
133
- </SearchList.Item>
193
+ />
134
194
  ))}
195
+ </SearchList.Viewport>
135
196
  </SearchList.Content>
136
197
  </SearchList.Root>
137
198
  );
@@ -145,29 +206,40 @@ const SelectSchema = ({
145
206
  options: TypeAnnotation[];
146
207
  onChange: (type: string) => void;
147
208
  } & Pick<CreateObjectPanelProps, 'resolve'>) => {
148
- const { t } = useTranslation(SPACE_PLUGIN);
209
+ const { t } = useTranslation(meta.id);
210
+
211
+ const { results, handleSearch } = useSearchListResults({
212
+ items: options,
213
+ extract: (option) =>
214
+ t('typename label', {
215
+ ns: option.typename,
216
+ defaultValue: option.typename,
217
+ }),
218
+ });
149
219
 
150
220
  return (
151
- <SearchList.Root label={t('schema input label')} classNames={cardDialogSearchListRoot}>
152
- <SearchList.Input
153
- autoFocus
154
- data-testid='create-object-form.schema-input'
155
- placeholder={t('schema input placeholder')}
156
- />
157
- <SearchList.Content classNames={cardDialogPaddedOverflow}>
158
- {options.map((option) => (
159
- <SearchList.Item
160
- key={option.typename}
161
- value={t('typename label', { ns: option.typename, defaultValue: option.typename })}
162
- onSelect={() => onChange(option.typename)}
163
- classNames='flex items-center gap-2'
164
- >
165
- <span className='flex gap-2 items-center grow truncate'>
166
- <Icon icon={resolve?.(option.typename).icon ?? 'ph--placeholder--regular'} size={5} />
167
- {t('typename label', { ns: option.typename, defaultValue: option.typename })}
168
- </span>
169
- </SearchList.Item>
170
- ))}
221
+ <SearchList.Root onSearch={handleSearch}>
222
+ <SearchList.Content>
223
+ <SearchList.Input
224
+ autoFocus
225
+ data-testid='create-object-form.schema-input'
226
+ placeholder={t('schema input placeholder')}
227
+ />
228
+ <SearchList.Viewport>
229
+ {results.map((option) => (
230
+ <SearchList.Item
231
+ key={option.typename}
232
+ value={option.typename}
233
+ label={t('typename label', {
234
+ ns: option.typename,
235
+ defaultValue: option.typename,
236
+ })}
237
+ icon={resolve?.(option.typename)?.icon ?? 'ph--placeholder--regular'}
238
+ onSelect={() => onChange(option.typename)}
239
+ classNames='flex items-center gap-2'
240
+ />
241
+ ))}
242
+ </SearchList.Viewport>
171
243
  </SearchList.Content>
172
244
  </SearchList.Root>
173
245
  );
@@ -2,65 +2,71 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Effect, type Schema } from 'effect';
5
+ import * as Effect from 'effect/Effect';
6
+ import type * as Schema from 'effect/Schema';
6
7
  import React, { useCallback, useRef } from 'react';
7
8
 
8
- import { createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
9
- import { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';
9
+ import { useOperationInvoker } from '@dxos/app-framework/ui';
10
+ import { LayoutOperation } from '@dxos/app-toolkit';
11
+ import { runAndForwardErrors } from '@dxos/effect';
12
+ import { Dialog, useTranslation } from '@dxos/react-ui';
10
13
  import { Form } from '@dxos/react-ui-form';
11
- import { cardDialogContent, cardDialogHeader } from '@dxos/react-ui-stack';
12
14
 
13
15
  import { useInputSurfaceLookup } from '../../hooks';
14
- import { SPACE_PLUGIN } from '../../meta';
15
- import { SpaceAction, SpaceForm } from '../../types';
16
+ import { meta } from '../../meta';
17
+ import { SpaceForm, SpaceOperation } from '../../types';
16
18
 
17
- export const CREATE_SPACE_DIALOG = `${SPACE_PLUGIN}/CreateSpaceDialog`;
19
+ export const CREATE_SPACE_DIALOG = `${meta.id}/CreateSpaceDialog`;
18
20
 
19
21
  type FormValues = Schema.Schema.Type<typeof SpaceForm>;
20
22
  const initialValues: FormValues = { edgeReplication: true };
21
23
 
22
24
  export const CreateSpaceDialog = () => {
23
25
  const closeRef = useRef<HTMLButtonElement | null>(null);
24
- const { t } = useTranslation(SPACE_PLUGIN);
25
- const { dispatch } = useIntentDispatcher();
26
+ const { t } = useTranslation(meta.id);
27
+ const { invokePromise } = useOperationInvoker();
26
28
 
27
29
  const inputSurfaceLookup = useInputSurfaceLookup();
28
30
 
29
31
  const handleCreateSpace = useCallback(
30
32
  async (data: FormValues) => {
31
33
  const program = Effect.gen(function* () {
32
- const { space } = yield* dispatch(createIntent(SpaceAction.Create, data));
33
- yield* dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: space.id }));
34
- yield* dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));
34
+ const { data: result } = yield* Effect.promise(() => invokePromise(SpaceOperation.Create, data));
35
+ if (result?.space) {
36
+ yield* Effect.promise(() => invokePromise(LayoutOperation.SwitchWorkspace, { subject: result.space.id }));
37
+ yield* Effect.promise(() => invokePromise(LayoutOperation.UpdateDialog, { state: false }));
38
+ }
35
39
  });
36
- await Effect.runPromise(program);
40
+ await runAndForwardErrors(program);
37
41
  },
38
- [dispatch],
42
+ [invokePromise],
39
43
  );
40
44
 
41
45
  return (
42
- // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
43
- // Consider factoring it out to the tabs package.
44
- <Dialog.Content classNames={cardDialogContent}>
45
- <div role='none' className={cardDialogHeader}>
46
+ <Dialog.Content>
47
+ <Dialog.Header>
46
48
  <Dialog.Title>{t('create space dialog title')}</Dialog.Title>
47
49
  <Dialog.Close asChild>
48
- <Button ref={closeRef} density='fine' variant='ghost' autoFocus>
49
- <Icon icon='ph--x--regular' size={4} />
50
- </Button>
50
+ <Dialog.CloseIconButton ref={closeRef} />
51
51
  </Dialog.Close>
52
- </div>
53
- <div role='none' className='contents'>
54
- <Form
52
+ </Dialog.Header>
53
+ <Dialog.Body>
54
+ <Form.Root
55
55
  testId='create-space-form'
56
56
  autoFocus
57
- values={initialValues}
58
57
  schema={SpaceForm}
59
- lookupComponent={inputSurfaceLookup}
58
+ values={initialValues}
59
+ fieldProvider={inputSurfaceLookup}
60
60
  onSave={handleCreateSpace}
61
- outerSpacing='scroll-fields'
62
- />
63
- </div>
61
+ >
62
+ <Form.Viewport>
63
+ <Form.Content>
64
+ <Form.FieldSet />
65
+ <Form.Submit />
66
+ </Form.Content>
67
+ </Form.Viewport>
68
+ </Form.Root>
69
+ </Dialog.Body>
64
70
  </Dialog.Content>
65
71
  );
66
72
  };