@dxos/plugin-space 0.8.4-main.67995b8 → 0.8.4-main.70d3990

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 (376) hide show
  1. package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionArticle-WTHWY4YS.mjs} +10 -10
  2. package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs +141 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-ACGHWPDX.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs +144 -0
  6. package/dist/lib/browser/ObjectSettings-U3IH7BMV.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs +116 -0
  8. package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs +517 -0
  10. package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs → app-graph-serializer-G3VFEGTN.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-G3VFEGTN.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-6A3NWBB6.mjs +392 -0
  14. package/dist/lib/browser/chunk-6A3NWBB6.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-C6DAPIFF.mjs +20 -0
  16. package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-XUYKJUU7.mjs → chunk-GJOZILGC.mjs} +262 -143
  18. package/dist/lib/browser/chunk-GJOZILGC.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-FBJEXW54.mjs → chunk-KCZ527AM.mjs} +667 -525
  20. package/dist/lib/browser/chunk-KCZ527AM.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-VLBRSGJ2.mjs → chunk-P25R3AOK.mjs} +36 -6
  22. package/dist/lib/browser/chunk-P25R3AOK.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-QACNNDOT.mjs → chunk-POFUXISV.mjs} +69 -62
  24. package/dist/lib/browser/chunk-POFUXISV.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  26. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  28. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-NAXTPQXE.mjs} +6 -6
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +88 -135
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-XHGD73WZ.mjs → intent-resolver-RZEWNJ2K.mjs} +114 -101
  34. package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-JCRD74GI.mjs +30 -0
  37. package/dist/lib/browser/react-root-JCRD74GI.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-YWZZQF7H.mjs → react-surface-VOETEAG3.mjs} +101 -111
  39. package/dist/lib/browser/react-surface-VOETEAG3.mjs.map +7 -0
  40. package/dist/lib/browser/repair-CNLE35NF.mjs +44 -0
  41. package/dist/lib/browser/repair-CNLE35NF.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-4IMP5RYT.mjs → settings-TRLI52I5.mjs} +5 -5
  43. package/dist/lib/browser/{settings-4IMP5RYT.mjs.map → settings-TRLI52I5.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-TOPG6IV4.mjs → spaces-ready-OHGCWZHQ.mjs} +28 -19
  45. package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs.map +7 -0
  46. package/dist/lib/browser/{state-QYZAB45H.mjs → state-C7N6EDDZ.mjs} +7 -7
  47. package/dist/lib/browser/state-C7N6EDDZ.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +10 -4
  49. package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionArticle-KHXYT3SH.mjs} +10 -10
  50. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
  51. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs +142 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs +145 -0
  54. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs +117 -0
  56. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +7 -0
  57. package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs +518 -0
  58. package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs → app-graph-serializer-2NLWWFUB.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-2NLWWFUB.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-SSLBYZEY.mjs → chunk-7EV4SN47.mjs} +35 -6
  62. package/dist/lib/node-esm/chunk-7EV4SN47.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-P442DOQ3.mjs → chunk-AX3UGL5D.mjs} +69 -62
  64. package/dist/lib/node-esm/chunk-AX3UGL5D.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  66. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs → chunk-I6FZP42D.mjs} +262 -143
  70. package/dist/lib/node-esm/chunk-I6FZP42D.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-2A3VBXBP.mjs → chunk-JAMGJUFU.mjs} +667 -525
  72. package/dist/lib/node-esm/chunk-JAMGJUFU.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs +21 -0
  74. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-X34VDVMY.mjs +393 -0
  76. package/dist/lib/node-esm/chunk-X34VDVMY.mjs.map +7 -0
  77. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-OXLKCJE3.mjs} +6 -6
  78. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +88 -135
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-LEANKSKZ.mjs → intent-resolver-4PHJWDXW.mjs} +114 -101
  82. package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-5Y7LJRX6.mjs → react-root-O5I5CDJ7.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-O5I5CDJ7.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-YQFNIKYT.mjs → react-surface-J3XDMU2D.mjs} +101 -111
  87. package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs.map +7 -0
  88. package/dist/lib/node-esm/repair-EHZS6MFY.mjs +45 -0
  89. package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-SAOBPND3.mjs → settings-MNQTKHL7.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-SAOBPND3.mjs.map → settings-MNQTKHL7.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-HIUKNDZK.mjs → spaces-ready-ZPU24DA2.mjs} +28 -19
  93. package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-ZVEHQ4BJ.mjs → state-45TXZQJ6.mjs} +7 -7
  95. package/dist/lib/node-esm/state-45TXZQJ6.mjs.map +7 -0
  96. package/dist/lib/node-esm/types/index.mjs +10 -4
  97. package/dist/types/src/SpacePlugin.d.ts +1 -1
  98. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  100. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  102. package/dist/types/src/capabilities/capabilities.d.ts +14 -8
  103. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/identity-created.d.ts +1 -1
  105. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/index.d.ts +11 -12
  107. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  109. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  111. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  113. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/repair.d.ts +4 -0
  115. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/settings.d.ts +1 -1
  117. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  118. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/state.d.ts +1 -1
  120. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  121. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  122. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  123. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  124. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  125. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  126. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  127. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  128. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1588 -4
  129. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +18 -9
  131. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  132. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  133. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  134. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  135. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  136. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  137. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  138. package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +3 -2
  139. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  140. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1591 -0
  141. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -0
  142. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  143. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  144. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  145. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  146. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  147. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  148. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  149. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  150. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  151. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  152. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  153. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  154. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  155. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  156. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  157. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1424 -0
  158. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  159. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +3 -3
  160. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  161. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  162. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  163. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  164. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  165. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  166. package/dist/types/src/components/RecordArticle.stories.d.ts +1591 -0
  167. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  168. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  169. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  170. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  171. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +6 -5
  172. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  173. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +1421 -0
  174. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
  175. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  176. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  177. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  178. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  179. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  180. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  181. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  182. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1421 -4
  183. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  185. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1422 -5
  186. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  187. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  188. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  189. package/dist/types/src/components/index.d.ts +10 -11
  190. package/dist/types/src/components/index.d.ts.map +1 -1
  191. package/dist/types/src/events.d.ts.map +1 -1
  192. package/dist/types/src/helpers/index.d.ts +2 -0
  193. package/dist/types/src/helpers/index.d.ts.map +1 -0
  194. package/dist/types/src/helpers/query.d.ts +8 -0
  195. package/dist/types/src/helpers/query.d.ts.map +1 -0
  196. package/dist/types/src/helpers/query.test.d.ts +2 -0
  197. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  198. package/dist/types/src/hooks/index.d.ts +1 -0
  199. package/dist/types/src/hooks/index.d.ts.map +1 -1
  200. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  201. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  202. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  203. package/dist/types/src/hooks/usePath.d.ts +1 -1
  204. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  205. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  206. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  207. package/dist/types/src/index.d.ts +1 -0
  208. package/dist/types/src/index.d.ts.map +1 -1
  209. package/dist/types/src/meta.d.ts +0 -1
  210. package/dist/types/src/meta.d.ts.map +1 -1
  211. package/dist/types/src/translations.d.ts +1261 -67
  212. package/dist/types/src/translations.d.ts.map +1 -1
  213. package/dist/types/src/types/form.d.ts +24 -0
  214. package/dist/types/src/types/form.d.ts.map +1 -0
  215. package/dist/types/src/types/index.d.ts +1 -0
  216. package/dist/types/src/types/index.d.ts.map +1 -1
  217. package/dist/types/src/types/types.d.ts +94 -155
  218. package/dist/types/src/types/types.d.ts.map +1 -1
  219. package/dist/types/src/util.d.ts +25 -36
  220. package/dist/types/src/util.d.ts.map +1 -1
  221. package/dist/types/tsconfig.tsbuildinfo +1 -1
  222. package/package.json +72 -63
  223. package/src/SpacePlugin.ts +182 -222
  224. package/src/capabilities/app-graph-builder.ts +221 -237
  225. package/src/capabilities/app-graph-serializer.ts +12 -12
  226. package/src/capabilities/capabilities.ts +28 -17
  227. package/src/capabilities/identity-created.ts +3 -3
  228. package/src/capabilities/index.ts +1 -2
  229. package/src/capabilities/intent-resolver.ts +91 -79
  230. package/src/capabilities/react-root.tsx +6 -4
  231. package/src/capabilities/react-surface.tsx +108 -149
  232. package/src/capabilities/repair.ts +57 -0
  233. package/src/capabilities/spaces-ready.ts +23 -11
  234. package/src/capabilities/state.ts +5 -4
  235. package/src/components/AwaitingObject.tsx +12 -14
  236. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  237. package/src/components/CollectionSection.tsx +8 -6
  238. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +17 -16
  239. package/src/components/CreateDialog/CreateObjectDialog.tsx +74 -46
  240. package/src/components/CreateDialog/CreateObjectPanel.tsx +51 -33
  241. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  242. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  243. package/src/components/JoinDialog/index.ts +5 -0
  244. package/src/components/MembersContainer/MembersContainer.stories.tsx +56 -0
  245. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +22 -21
  246. package/src/components/MembersContainer/index.ts +5 -0
  247. package/src/components/MenuFooter.tsx +2 -2
  248. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  249. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  250. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  251. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +10 -16
  252. package/src/components/ObjectRenamePopover/index.ts +5 -0
  253. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +7 -7
  254. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  255. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  256. package/src/components/ObjectSettings/ForeignKeys.tsx +8 -8
  257. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
  258. package/src/components/ObjectSettings/index.ts +3 -1
  259. package/src/components/RecordArticle.stories.tsx +115 -0
  260. package/src/components/RecordArticle.tsx +114 -0
  261. package/src/components/SchemaContainer.tsx +26 -29
  262. package/src/components/SpacePluginSettings.tsx +16 -11
  263. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +24 -23
  264. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +22 -17
  265. package/src/components/SpacePresence/index.ts +5 -0
  266. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  267. package/src/components/SpaceRenamePopover/index.ts +5 -0
  268. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
  269. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +68 -28
  270. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  271. package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
  272. package/src/components/SyncStatus/SyncStatus.tsx +109 -12
  273. package/src/components/ViewEditor.tsx +57 -23
  274. package/src/components/index.ts +7 -7
  275. package/src/events.ts +7 -7
  276. package/src/helpers/index.ts +5 -0
  277. package/src/helpers/query.test.ts +24 -0
  278. package/src/helpers/query.ts +158 -0
  279. package/src/hooks/index.ts +1 -0
  280. package/src/hooks/useActiveSpace.ts +3 -2
  281. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  282. package/src/hooks/usePath.ts +1 -1
  283. package/src/hooks/useTypeOptions.ts +27 -0
  284. package/src/index.ts +1 -0
  285. package/src/meta.ts +6 -3
  286. package/src/translations.ts +68 -58
  287. package/src/types/form.ts +75 -0
  288. package/src/types/index.ts +1 -0
  289. package/src/types/types.ts +49 -50
  290. package/src/util.tsx +268 -145
  291. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  292. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs +0 -88
  293. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +0 -7
  294. package/dist/lib/browser/app-graph-builder-V3MP3CDK.mjs +0 -480
  295. package/dist/lib/browser/app-graph-builder-V3MP3CDK.mjs.map +0 -7
  296. package/dist/lib/browser/app-graph-serializer-H6AW7KGS.mjs.map +0 -7
  297. package/dist/lib/browser/chunk-CEFHNVU7.mjs +0 -20
  298. package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  300. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-FBJEXW54.mjs.map +0 -7
  302. package/dist/lib/browser/chunk-JS3MMC42.mjs +0 -19
  303. package/dist/lib/browser/chunk-JS3MMC42.mjs.map +0 -7
  304. package/dist/lib/browser/chunk-QACNNDOT.mjs.map +0 -7
  305. package/dist/lib/browser/chunk-SGTQ52SU.mjs +0 -338
  306. package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +0 -7
  307. package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
  308. package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +0 -7
  309. package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +0 -7
  310. package/dist/lib/browser/intent-resolver-XHGD73WZ.mjs.map +0 -7
  311. package/dist/lib/browser/react-root-CMWOGJG5.mjs +0 -29
  312. package/dist/lib/browser/react-root-CMWOGJG5.mjs.map +0 -7
  313. package/dist/lib/browser/react-surface-YWZZQF7H.mjs.map +0 -7
  314. package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs +0 -26
  315. package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs.map +0 -7
  316. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
  317. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  318. package/dist/lib/browser/spaces-ready-TOPG6IV4.mjs.map +0 -7
  319. package/dist/lib/browser/state-QYZAB45H.mjs.map +0 -7
  320. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  321. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs +0 -89
  322. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +0 -7
  323. package/dist/lib/node-esm/app-graph-builder-SG4VECBB.mjs +0 -481
  324. package/dist/lib/node-esm/app-graph-builder-SG4VECBB.mjs.map +0 -7
  325. package/dist/lib/node-esm/app-graph-serializer-2ICUGQQT.mjs.map +0 -7
  326. package/dist/lib/node-esm/chunk-2A3VBXBP.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +0 -7
  328. package/dist/lib/node-esm/chunk-5HHYE264.mjs +0 -20
  329. package/dist/lib/node-esm/chunk-5HHYE264.mjs.map +0 -7
  330. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs +0 -21
  331. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +0 -7
  332. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  333. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  334. package/dist/lib/node-esm/chunk-JH6F4C3I.mjs +0 -339
  335. package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +0 -7
  336. package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +0 -7
  337. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
  338. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +0 -7
  339. package/dist/lib/node-esm/intent-resolver-LEANKSKZ.mjs.map +0 -7
  340. package/dist/lib/node-esm/react-root-5Y7LJRX6.mjs.map +0 -7
  341. package/dist/lib/node-esm/react-surface-YQFNIKYT.mjs.map +0 -7
  342. package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs +0 -27
  343. package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs.map +0 -7
  344. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
  345. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  346. package/dist/lib/node-esm/spaces-ready-HIUKNDZK.mjs.map +0 -7
  347. package/dist/lib/node-esm/state-ZVEHQ4BJ.mjs.map +0 -7
  348. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  349. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  350. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  351. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  352. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  353. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  354. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  355. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  356. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  357. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  358. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
  359. package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
  360. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  361. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  362. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  363. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  364. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  365. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  366. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  367. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  368. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  369. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
  370. package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
  371. package/src/capabilities/schema-defs.ts +0 -30
  372. package/src/capabilities/schema-tool.test.ts +0 -44
  373. package/src/capabilities/schema-tools.ts +0 -125
  374. package/src/components/MembersContainer.stories.tsx +0 -30
  375. package/src/components/ObjectDetailsPanel.tsx +0 -77
  376. package/src/components/PersistenceStatus.tsx +0 -83
@@ -2,29 +2,29 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  SPACE_TYPE,
4
4
  SpaceAction
5
- } from "./chunk-JH6F4C3I.mjs";
5
+ } from "./chunk-X34VDVMY.mjs";
6
6
  import {
7
- SPACE_PLUGIN
8
- } from "./chunk-HWNG4MEU.mjs";
7
+ meta
8
+ } from "./chunk-BDEFTL6K.mjs";
9
9
 
10
10
  // src/util.tsx
11
- import { Rx } from "@effect-rx/rx-react";
12
- import { pipe } from "effect";
13
- import { chain, createIntent, LayoutAction } from "@dxos/app-framework";
14
- import { Obj, Ref, Type } from "@dxos/echo";
15
- import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
11
+ import { Atom } from "@effect-atom/atom-react";
12
+ import * as Function from "effect/Function";
13
+ import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
14
+ import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
15
+ import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
16
16
  import { invariant } from "@dxos/invariant";
17
17
  import { Migrations } from "@dxos/migrations";
18
18
  import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
19
- import { fullyQualifiedId, getSpace, SpaceState, isSpace } from "@dxos/react-client/echo";
19
+ import { SpaceState, getSpace, isSpace } from "@dxos/react-client/echo";
20
20
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
21
- import { DataType } from "@dxos/schema";
21
+ import { Collection } from "@dxos/schema";
22
22
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
23
- var SPACES = `${SPACE_PLUGIN}-spaces`;
24
- var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
23
+ var SPACES = `${meta.id}-spaces`;
24
+ var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
25
25
  var SHARED = "shared-spaces";
26
- var rxFromQuery = (query) => {
27
- return Rx.make((get) => {
26
+ var atomFromQuery = (query) => {
27
+ return Atom.make((get) => {
28
28
  const unsubscribe = query.subscribe((result) => {
29
29
  get.setSelf(result.objects);
30
30
  });
@@ -36,12 +36,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
36
36
  return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
37
37
  "personal space label",
38
38
  {
39
- ns: SPACE_PLUGIN
39
+ ns: meta.id
40
40
  }
41
41
  ] : [
42
42
  "unnamed space label",
43
43
  {
44
- ns: SPACE_PLUGIN
44
+ ns: meta.id
45
45
  }
46
46
  ];
47
47
  };
@@ -83,23 +83,25 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
83
83
  }
84
84
  };
85
85
  };
86
- var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
86
+ var getSystemCollectionNodePartials = ({ collection, space, resolve }) => {
87
+ const metadata = resolve(collection.key);
87
88
  return {
88
- icon: collection.query.typename && resolve(collection.query.typename)?.icon,
89
+ label: [
90
+ "typename label",
91
+ {
92
+ ns: collection.key,
93
+ count: 2
94
+ }
95
+ ],
96
+ icon: metadata.icon,
97
+ iconHue: metadata.iconHue,
89
98
  acceptPersistenceClass: /* @__PURE__ */ new Set([
90
99
  "echo"
91
100
  ]),
92
101
  acceptPersistenceKey: /* @__PURE__ */ new Set([
93
102
  space.id
94
103
  ]),
95
- role: "branch",
96
- canDrop: (source) => {
97
- return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === collection.query.typename;
98
- },
99
- onTransferStart: (child, index) => {
100
- },
101
- onTransferEnd: (child, destination) => {
102
- }
104
+ role: "branch"
103
105
  };
104
106
  };
105
107
  var getSchemaGraphNodePartials = () => {
@@ -108,29 +110,13 @@ var getSchemaGraphNodePartials = () => {
108
110
  canDrop: () => false
109
111
  };
110
112
  };
111
- var getViewGraphNodePartials = ({ view, resolve }) => {
112
- const presentation = view.presentation.target;
113
- const typename = presentation ? Obj.getTypename(presentation) : void 0;
114
- const metadata = typename ? resolve(typename) : {};
115
- return {
116
- label: view.name || [
117
- "object name placeholder",
118
- {
119
- ns: typename,
120
- default: "New view"
121
- }
122
- ],
123
- icon: metadata.icon,
124
- canDrop: () => false
125
- };
126
- };
127
113
  var checkPendingMigration = (space) => {
128
114
  return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
129
115
  };
130
116
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
131
117
  const hasPendingMigration = checkPendingMigration(space);
132
- const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
133
- const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection) ? getCollectionGraphNodePartials({
118
+ const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
119
+ const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection) ? getCollectionGraphNodePartials({
134
120
  collection,
135
121
  space,
136
122
  resolve
@@ -153,6 +139,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
153
139
  description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
154
140
  hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
155
141
  icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
142
+ iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
156
143
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
157
144
  testId: "spacePlugin.space",
158
145
  canDrop: (source) => {
@@ -162,13 +149,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
162
149
  nodes: [
163
150
  {
164
151
  id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
165
- type: `${SPACE_PLUGIN}/settings`,
152
+ type: `${meta.id}/settings`,
166
153
  data: null,
167
154
  properties: {
168
155
  label: [
169
156
  "settings panel label",
170
157
  {
171
- ns: SPACE_PLUGIN
158
+ ns: meta.id
172
159
  }
173
160
  ],
174
161
  icon: "ph--faders--regular",
@@ -177,13 +164,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
177
164
  nodes: [
178
165
  {
179
166
  id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
180
- type: `${SPACE_PLUGIN}/properties`,
181
- data: `${SPACE_PLUGIN}/properties`,
167
+ type: `${meta.id}/properties`,
168
+ data: `${meta.id}/properties`,
182
169
  properties: {
183
170
  label: [
184
171
  "space settings properties label",
185
172
  {
186
- ns: SPACE_PLUGIN
173
+ ns: meta.id
187
174
  }
188
175
  ],
189
176
  icon: "ph--sliders--regular",
@@ -192,13 +179,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
192
179
  },
193
180
  {
194
181
  id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
195
- type: `${SPACE_PLUGIN}/members`,
196
- data: `${SPACE_PLUGIN}/members`,
182
+ type: `${meta.id}/members`,
183
+ data: `${meta.id}/members`,
197
184
  properties: {
198
185
  label: [
199
186
  "members panel label",
200
187
  {
201
- ns: SPACE_PLUGIN
188
+ ns: meta.id
202
189
  }
203
190
  ],
204
191
  icon: "ph--users--regular",
@@ -207,13 +194,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
207
194
  },
208
195
  {
209
196
  id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
210
- type: `${SPACE_PLUGIN}/schema`,
211
- data: `${SPACE_PLUGIN}/schema`,
197
+ type: `${meta.id}/schema`,
198
+ data: `${meta.id}/schema`,
212
199
  properties: {
213
200
  label: [
214
201
  "space settings schema label",
215
202
  {
216
- ns: SPACE_PLUGIN
203
+ ns: meta.id
217
204
  }
218
205
  ],
219
206
  icon: "ph--shapes--regular"
@@ -242,7 +229,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
242
229
  label: [
243
230
  "migrate space label",
244
231
  {
245
- ns: SPACE_PLUGIN
232
+ ns: meta.id
246
233
  }
247
234
  ],
248
235
  icon: "ph--database--regular",
@@ -264,7 +251,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
264
251
  label: [
265
252
  "create object in space label",
266
253
  {
267
- ns: SPACE_PLUGIN
254
+ ns: meta.id
268
255
  }
269
256
  ],
270
257
  icon: "ph--plus--regular",
@@ -284,7 +271,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
284
271
  label: [
285
272
  "rename space label",
286
273
  {
287
- ns: SPACE_PLUGIN
274
+ ns: meta.id
288
275
  }
289
276
  ],
290
277
  icon: "ph--pencil-simple-line--regular",
@@ -300,26 +287,53 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
300
287
  var createStaticSchemaNode = ({ schema, space }) => {
301
288
  return {
302
289
  id: `${space.id}/${Type.getTypename(schema)}`,
303
- type: `${SPACE_PLUGIN}/static-schema`,
290
+ type: `${meta.id}/static-schema`,
304
291
  data: schema,
305
292
  properties: {
306
293
  label: [
307
294
  "typename label",
308
295
  {
309
296
  ns: Type.getTypename(schema),
297
+ count: 2,
310
298
  default: Type.getTypename(schema)
311
299
  }
312
300
  ],
313
301
  icon: "ph--database--regular",
302
+ iconHue: "green",
314
303
  role: "branch",
304
+ selectable: false,
315
305
  canDrop: () => false,
316
306
  space
317
307
  }
318
308
  };
319
309
  };
320
- var createStaticSchemaActions = ({ schema, space, deletable }) => {
310
+ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
321
311
  const getId = (id) => `${space.id}/${Type.getTypename(schema)}/${id}`;
322
312
  const actions = [
313
+ {
314
+ id: getId(SpaceAction.AddObject._tag),
315
+ type: ACTION_TYPE,
316
+ data: async () => {
317
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
318
+ target: space,
319
+ views: true,
320
+ initialFormValues: {
321
+ typename: Type.getTypename(schema)
322
+ }
323
+ }));
324
+ },
325
+ properties: {
326
+ label: [
327
+ "add view to schema label",
328
+ {
329
+ ns: meta.id
330
+ }
331
+ ],
332
+ icon: "ph--plus--regular",
333
+ disposition: "list-item-primary",
334
+ testId: "spacePlugin.addViewToSchema"
335
+ }
336
+ },
323
337
  {
324
338
  id: getId(SpaceAction.RenameObject._tag),
325
339
  type: ACTION_TYPE,
@@ -330,7 +344,7 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
330
344
  label: [
331
345
  "rename object label",
332
346
  {
333
- ns: Type.getTypename(DataType.StoredSchema)
347
+ ns: Type.getTypename(Type.PersistentType)
334
348
  }
335
349
  ],
336
350
  icon: "ph--pencil-simple-line--regular",
@@ -352,7 +366,7 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
352
366
  label: [
353
367
  "delete object label",
354
368
  {
355
- ns: Type.getTypename(DataType.StoredSchema)
369
+ ns: Type.getTypename(Type.PersistentType)
356
370
  }
357
371
  ],
358
372
  icon: "ph--trash--regular",
@@ -360,29 +374,53 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
360
374
  disabled: !deletable,
361
375
  testId: "spacePlugin.deleteObject"
362
376
  }
377
+ },
378
+ {
379
+ id: getId(SpaceAction.Snapshot._tag),
380
+ type: ACTION_TYPE,
381
+ data: async () => {
382
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
383
+ space,
384
+ query: Query.select(Filter.type(schema)).ast
385
+ }));
386
+ if (result.data?.snapshot) {
387
+ await downloadBlob(
388
+ result.data.snapshot,
389
+ // TODO(wittjosiah): Factor out file name construction.
390
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${Type.getTypename(schema)}.json`
391
+ );
392
+ }
393
+ },
394
+ properties: {
395
+ label: [
396
+ "snapshot by schema label",
397
+ {
398
+ ns: meta.id
399
+ }
400
+ ],
401
+ icon: "ph--camera--regular",
402
+ disposition: "list-item"
403
+ }
363
404
  }
364
405
  ];
365
406
  return actions;
366
407
  };
367
- var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
408
+ var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, managedCollectionChild = false, resolve }) => {
368
409
  const type = Obj.getTypename(object);
369
410
  if (!type) {
370
- return void 0;
411
+ return null;
371
412
  }
372
413
  const metadata = resolve(type);
373
- const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
414
+ const partials = Obj.instanceOf(Collection.Collection, object) ? getCollectionGraphNodePartials({
374
415
  collection: object,
375
416
  space,
376
417
  resolve
377
- }) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
418
+ }) : Obj.instanceOf(Collection.Managed, object) ? getSystemCollectionNodePartials({
378
419
  collection: object,
379
420
  space,
380
421
  resolve
381
- }) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
382
- view: object,
383
- resolve
384
- }) : metadata.graphProps;
385
- const label = Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
422
+ }) : Obj.instanceOf(Type.PersistentType, object) ? getSchemaGraphNodePartials() : metadata.graphProps;
423
+ const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
386
424
  metadata.label?.(object) || [
387
425
  "object name placeholder",
388
426
  {
@@ -390,8 +428,9 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
390
428
  default: "New item"
391
429
  }
392
430
  ];
431
+ const selectable = !Obj.instanceOf(Type.PersistentType, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
393
432
  return {
394
- id: fullyQualifiedId(object),
433
+ id: Obj.getDXN(object).toString(),
395
434
  type,
396
435
  cacheable: [
397
436
  "label",
@@ -402,9 +441,22 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
402
441
  properties: {
403
442
  label,
404
443
  icon: metadata.icon ?? "ph--placeholder--regular",
444
+ iconHue: metadata.iconHue,
445
+ disposition,
405
446
  testId: "spacePlugin.object",
406
447
  persistenceClass: "echo",
407
448
  persistenceKey: space?.id,
449
+ selectable,
450
+ managedCollectionChild,
451
+ blockInstruction: (source, instruction) => {
452
+ if (source.item.properties.managedCollectionChild) {
453
+ return true;
454
+ }
455
+ if (Obj.instanceOf(Collection.Managed, object)) {
456
+ return !instruction.type.startsWith("reorder");
457
+ }
458
+ return managedCollectionChild;
459
+ },
408
460
  canDrop: (source) => {
409
461
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
410
462
  },
@@ -412,11 +464,11 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
412
464
  }
413
465
  };
414
466
  };
415
- var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable = true, navigable = false }) => {
467
+ var constructObjectActions = ({ object, graph, dispatch, resolve, deletable = true, navigable = false }) => {
416
468
  const space = getSpace(object);
417
469
  invariant(space, "Space not found", {
418
470
  F: __dxlog_file,
419
- L: 492,
471
+ L: 548,
420
472
  S: void 0,
421
473
  A: [
422
474
  "space",
@@ -426,18 +478,20 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
426
478
  const typename = Obj.getTypename(object);
427
479
  invariant(typename, "Object has no typename", {
428
480
  F: __dxlog_file,
429
- L: 494,
481
+ L: 550,
430
482
  S: void 0,
431
483
  A: [
432
484
  "typename",
433
485
  "'Object has no typename'"
434
486
  ]
435
487
  });
436
- const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
437
- const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
438
- const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
488
+ const getId = (id) => `${id}/${Obj.getDXN(object).toString()}`;
489
+ const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : void 0;
490
+ const metadata = managedCollection ? resolve(managedCollection.key) : {};
491
+ const createObjectIntent = metadata.createObjectIntent;
492
+ const inputSchema = metadata.inputSchema;
439
493
  const actions = [
440
- ...Obj.instanceOf(DataType.Collection, object) ? [
494
+ ...Obj.instanceOf(Collection.Collection, object) ? [
441
495
  {
442
496
  id: getId(SpaceAction.OpenCreateObject._tag),
443
497
  type: ACTION_TYPE,
@@ -450,7 +504,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
450
504
  label: [
451
505
  "create object in collection label",
452
506
  {
453
- ns: SPACE_PLUGIN
507
+ ns: meta.id
454
508
  }
455
509
  ],
456
510
  icon: "ph--plus--regular",
@@ -459,18 +513,71 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
459
513
  }
460
514
  }
461
515
  ] : [],
462
- ...matchingObjectForm ? [
516
+ ...Obj.instanceOf(Type.PersistentType, object) ? [
517
+ {
518
+ id: getId(SpaceAction.AddObject._tag),
519
+ type: ACTION_TYPE,
520
+ data: async () => {
521
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
522
+ target: space,
523
+ views: true,
524
+ initialFormValues: {
525
+ typename: object.typename
526
+ }
527
+ }));
528
+ },
529
+ properties: {
530
+ label: [
531
+ "add view to schema label",
532
+ {
533
+ ns: meta.id
534
+ }
535
+ ],
536
+ icon: "ph--plus--regular",
537
+ disposition: "list-item-primary",
538
+ testId: "spacePlugin.addViewToSchema"
539
+ }
540
+ },
541
+ {
542
+ id: getId(SpaceAction.Snapshot._tag),
543
+ type: ACTION_TYPE,
544
+ data: async () => {
545
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
546
+ space,
547
+ query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast
548
+ }));
549
+ if (result.data?.snapshot) {
550
+ await downloadBlob(
551
+ result.data.snapshot,
552
+ // TODO(wittjosiah): Factor out file name construction.
553
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${object.typename}.json`
554
+ );
555
+ }
556
+ },
557
+ properties: {
558
+ label: [
559
+ "snapshot by schema label",
560
+ {
561
+ ns: meta.id
562
+ }
563
+ ],
564
+ icon: "ph--camera--regular",
565
+ disposition: "list-item"
566
+ }
567
+ }
568
+ ] : [],
569
+ ...createObjectIntent ? [
463
570
  {
464
571
  id: getId(SpaceAction.OpenCreateObject._tag),
465
572
  type: ACTION_TYPE,
466
573
  data: async () => {
467
- if (matchingObjectForm.formSchema) {
574
+ if (inputSchema) {
468
575
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
469
576
  target: space,
470
- typename: queryCollection?.query.typename
577
+ typename: managedCollection ? managedCollection.key : void 0
471
578
  }));
472
579
  } else {
473
- await dispatch(pipe(matchingObjectForm.getIntent({}, {
580
+ await dispatch(Function.pipe(createObjectIntent({}, {
474
581
  space
475
582
  }), chain(SpaceAction.AddObject, {
476
583
  target: space,
@@ -482,9 +589,9 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
482
589
  },
483
590
  properties: {
484
591
  label: [
485
- "create object in smart collection label",
592
+ "create object in system collection label",
486
593
  {
487
- ns: SPACE_PLUGIN
594
+ ns: meta.id
488
595
  }
489
596
  ],
490
597
  icon: "ph--plus--regular",
@@ -493,71 +600,73 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
493
600
  }
494
601
  }
495
602
  ] : [],
496
- {
497
- id: getId(SpaceAction.RenameObject._tag),
498
- type: ACTION_TYPE,
499
- data: async (params) => {
500
- await dispatch(createIntent(SpaceAction.RenameObject, {
501
- object,
502
- caller: params?.caller
503
- }));
504
- },
505
- properties: {
506
- label: [
507
- "rename object label",
508
- {
509
- ns: typename
510
- }
511
- ],
512
- icon: "ph--pencil-simple-line--regular",
513
- disposition: "list-item",
514
- // TODO(wittjosiah): Not working.
515
- // keyBinding: {
516
- // macos: 'shift+F6',
517
- // },
518
- testId: "spacePlugin.renameObject"
519
- }
520
- },
521
- {
522
- id: getId(SpaceAction.RemoveObjects._tag),
523
- type: ACTION_TYPE,
524
- data: async () => {
525
- const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
526
- await dispatch(createIntent(SpaceAction.RemoveObjects, {
527
- objects: [
528
- object
603
+ ...managedCollection ? [] : [
604
+ {
605
+ id: getId(SpaceAction.RenameObject._tag),
606
+ type: ACTION_TYPE,
607
+ data: async (params) => {
608
+ await dispatch(createIntent(SpaceAction.RenameObject, {
609
+ object,
610
+ caller: params?.caller
611
+ }));
612
+ },
613
+ properties: {
614
+ label: [
615
+ "rename object label",
616
+ {
617
+ ns: typename
618
+ }
529
619
  ],
530
- target: collection
531
- }));
620
+ icon: "ph--pencil-simple-line--regular",
621
+ disposition: "list-item",
622
+ // TODO(wittjosiah): Not working.
623
+ // keyBinding: {
624
+ // macos: 'shift+F6',
625
+ // },
626
+ testId: "spacePlugin.renameObject"
627
+ }
532
628
  },
533
- properties: {
534
- label: [
535
- "delete object label",
536
- {
537
- ns: typename
538
- }
539
- ],
540
- icon: "ph--trash--regular",
541
- disposition: "list-item",
542
- disabled: !deletable,
543
- // TODO(wittjosiah): This is a browser shortcut.
544
- // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
545
- testId: "spacePlugin.deleteObject"
629
+ {
630
+ id: getId(SpaceAction.RemoveObjects._tag),
631
+ type: ACTION_TYPE,
632
+ data: async () => {
633
+ const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
634
+ await dispatch(createIntent(SpaceAction.RemoveObjects, {
635
+ objects: [
636
+ object
637
+ ],
638
+ target: collection
639
+ }));
640
+ },
641
+ properties: {
642
+ label: [
643
+ "delete object label",
644
+ {
645
+ ns: typename
646
+ }
647
+ ],
648
+ icon: "ph--trash--regular",
649
+ disposition: "list-item",
650
+ disabled: !deletable,
651
+ // TODO(wittjosiah): This is a browser shortcut.
652
+ // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
653
+ testId: "spacePlugin.deleteObject"
654
+ }
546
655
  }
547
- },
548
- ...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.StoredSchema, object) ? [
656
+ ],
657
+ ...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Type.PersistentType, object) ? [
549
658
  {
550
659
  id: getId("copy-link"),
551
660
  type: ACTION_TYPE,
552
661
  data: async () => {
553
- const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
662
+ const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
554
663
  await navigator.clipboard.writeText(url);
555
664
  },
556
665
  properties: {
557
666
  label: [
558
667
  "copy link label",
559
668
  {
560
- ns: SPACE_PLUGIN
669
+ ns: meta.id
561
670
  }
562
671
  ],
563
672
  icon: "ph--link--regular",
@@ -573,14 +682,14 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
573
682
  data: async () => {
574
683
  await dispatch(createIntent(LayoutAction.Expose, {
575
684
  part: "navigation",
576
- subject: fullyQualifiedId(object)
685
+ subject: Obj.getDXN(object).toString()
577
686
  }));
578
687
  },
579
688
  properties: {
580
689
  label: [
581
690
  "expose object label",
582
691
  {
583
- ns: SPACE_PLUGIN
692
+ ns: meta.id
584
693
  }
585
694
  ],
586
695
  icon: "ph--eye--regular",
@@ -591,6 +700,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
591
700
  ];
592
701
  return actions;
593
702
  };
703
+ var downloadBlob = async (blob, filename) => {
704
+ const url = URL.createObjectURL(blob);
705
+ const a = document.createElement("a");
706
+ a.href = url;
707
+ a.download = filename;
708
+ document.body.appendChild(a);
709
+ a.click();
710
+ document.body.removeChild(a);
711
+ URL.revokeObjectURL(url);
712
+ };
594
713
  var getNestedObjects = async (object, resolve) => {
595
714
  const type = Obj.getTypename(object);
596
715
  if (!type) {
@@ -615,7 +734,7 @@ var cloneObject = async (object, resolve, newSpace) => {
615
734
  const serializer = metadata.serializer;
616
735
  invariant(serializer, `No serializer for type: ${typename}`, {
617
736
  F: __dxlog_file,
618
- L: 665,
737
+ L: 788,
619
738
  S: void 0,
620
739
  A: [
621
740
  "serializer",
@@ -636,7 +755,7 @@ export {
636
755
  SPACES,
637
756
  COMPOSER_SPACE_LOCK,
638
757
  SHARED,
639
- rxFromQuery,
758
+ atomFromQuery,
640
759
  getSpaceDisplayName,
641
760
  constructSpaceNode,
642
761
  constructSpaceActions,
@@ -647,4 +766,4 @@ export {
647
766
  getNestedObjects,
648
767
  cloneObject
649
768
  };
650
- //# sourceMappingURL=chunk-4AOMYKDE.mjs.map
769
+ //# sourceMappingURL=chunk-I6FZP42D.mjs.map