@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
@@ -1,29 +1,29 @@
1
1
  import {
2
2
  SPACE_TYPE,
3
3
  SpaceAction
4
- } from "./chunk-SGTQ52SU.mjs";
4
+ } from "./chunk-6A3NWBB6.mjs";
5
5
  import {
6
- SPACE_PLUGIN
7
- } from "./chunk-FBCGT5YY.mjs";
6
+ meta
7
+ } from "./chunk-VZBIIYFM.mjs";
8
8
 
9
9
  // src/util.tsx
10
- import { Rx } from "@effect-rx/rx-react";
11
- import { pipe } from "effect";
12
- import { chain, createIntent, LayoutAction } from "@dxos/app-framework";
13
- import { Obj, Ref, Type } from "@dxos/echo";
14
- import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
10
+ import { Atom } from "@effect-atom/atom-react";
11
+ import * as Function from "effect/Function";
12
+ import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
13
+ import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
14
+ import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
15
15
  import { invariant } from "@dxos/invariant";
16
16
  import { Migrations } from "@dxos/migrations";
17
17
  import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
18
- import { fullyQualifiedId, getSpace, SpaceState, isSpace } from "@dxos/react-client/echo";
18
+ import { SpaceState, getSpace, isSpace } from "@dxos/react-client/echo";
19
19
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
20
- import { DataType } from "@dxos/schema";
20
+ import { Collection } from "@dxos/schema";
21
21
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
22
- var SPACES = `${SPACE_PLUGIN}-spaces`;
23
- var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
22
+ var SPACES = `${meta.id}-spaces`;
23
+ var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
24
24
  var SHARED = "shared-spaces";
25
- var rxFromQuery = (query) => {
26
- return Rx.make((get) => {
25
+ var atomFromQuery = (query) => {
26
+ return Atom.make((get) => {
27
27
  const unsubscribe = query.subscribe((result) => {
28
28
  get.setSelf(result.objects);
29
29
  });
@@ -35,12 +35,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
35
35
  return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
36
36
  "personal space label",
37
37
  {
38
- ns: SPACE_PLUGIN
38
+ ns: meta.id
39
39
  }
40
40
  ] : [
41
41
  "unnamed space label",
42
42
  {
43
- ns: SPACE_PLUGIN
43
+ ns: meta.id
44
44
  }
45
45
  ];
46
46
  };
@@ -82,23 +82,25 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
82
82
  }
83
83
  };
84
84
  };
85
- var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
85
+ var getSystemCollectionNodePartials = ({ collection, space, resolve }) => {
86
+ const metadata = resolve(collection.key);
86
87
  return {
87
- icon: collection.query.typename && resolve(collection.query.typename)?.icon,
88
+ label: [
89
+ "typename label",
90
+ {
91
+ ns: collection.key,
92
+ count: 2
93
+ }
94
+ ],
95
+ icon: metadata.icon,
96
+ iconHue: metadata.iconHue,
88
97
  acceptPersistenceClass: /* @__PURE__ */ new Set([
89
98
  "echo"
90
99
  ]),
91
100
  acceptPersistenceKey: /* @__PURE__ */ new Set([
92
101
  space.id
93
102
  ]),
94
- role: "branch",
95
- canDrop: (source) => {
96
- return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === collection.query.typename;
97
- },
98
- onTransferStart: (child, index) => {
99
- },
100
- onTransferEnd: (child, destination) => {
101
- }
103
+ role: "branch"
102
104
  };
103
105
  };
104
106
  var getSchemaGraphNodePartials = () => {
@@ -107,29 +109,13 @@ var getSchemaGraphNodePartials = () => {
107
109
  canDrop: () => false
108
110
  };
109
111
  };
110
- var getViewGraphNodePartials = ({ view, resolve }) => {
111
- const presentation = view.presentation.target;
112
- const typename = presentation ? Obj.getTypename(presentation) : void 0;
113
- const metadata = typename ? resolve(typename) : {};
114
- return {
115
- label: view.name || [
116
- "object name placeholder",
117
- {
118
- ns: typename,
119
- default: "New view"
120
- }
121
- ],
122
- icon: metadata.icon,
123
- canDrop: () => false
124
- };
125
- };
126
112
  var checkPendingMigration = (space) => {
127
113
  return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
128
114
  };
129
115
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
130
116
  const hasPendingMigration = checkPendingMigration(space);
131
- const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
132
- const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection) ? getCollectionGraphNodePartials({
117
+ const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
118
+ const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection) ? getCollectionGraphNodePartials({
133
119
  collection,
134
120
  space,
135
121
  resolve
@@ -152,6 +138,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
152
138
  description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
153
139
  hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
154
140
  icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
141
+ iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
155
142
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
156
143
  testId: "spacePlugin.space",
157
144
  canDrop: (source) => {
@@ -161,13 +148,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
161
148
  nodes: [
162
149
  {
163
150
  id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
164
- type: `${SPACE_PLUGIN}/settings`,
151
+ type: `${meta.id}/settings`,
165
152
  data: null,
166
153
  properties: {
167
154
  label: [
168
155
  "settings panel label",
169
156
  {
170
- ns: SPACE_PLUGIN
157
+ ns: meta.id
171
158
  }
172
159
  ],
173
160
  icon: "ph--faders--regular",
@@ -176,13 +163,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
176
163
  nodes: [
177
164
  {
178
165
  id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
179
- type: `${SPACE_PLUGIN}/properties`,
180
- data: `${SPACE_PLUGIN}/properties`,
166
+ type: `${meta.id}/properties`,
167
+ data: `${meta.id}/properties`,
181
168
  properties: {
182
169
  label: [
183
170
  "space settings properties label",
184
171
  {
185
- ns: SPACE_PLUGIN
172
+ ns: meta.id
186
173
  }
187
174
  ],
188
175
  icon: "ph--sliders--regular",
@@ -191,13 +178,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
191
178
  },
192
179
  {
193
180
  id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
194
- type: `${SPACE_PLUGIN}/members`,
195
- data: `${SPACE_PLUGIN}/members`,
181
+ type: `${meta.id}/members`,
182
+ data: `${meta.id}/members`,
196
183
  properties: {
197
184
  label: [
198
185
  "members panel label",
199
186
  {
200
- ns: SPACE_PLUGIN
187
+ ns: meta.id
201
188
  }
202
189
  ],
203
190
  icon: "ph--users--regular",
@@ -206,13 +193,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
206
193
  },
207
194
  {
208
195
  id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
209
- type: `${SPACE_PLUGIN}/schema`,
210
- data: `${SPACE_PLUGIN}/schema`,
196
+ type: `${meta.id}/schema`,
197
+ data: `${meta.id}/schema`,
211
198
  properties: {
212
199
  label: [
213
200
  "space settings schema label",
214
201
  {
215
- ns: SPACE_PLUGIN
202
+ ns: meta.id
216
203
  }
217
204
  ],
218
205
  icon: "ph--shapes--regular"
@@ -241,7 +228,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
241
228
  label: [
242
229
  "migrate space label",
243
230
  {
244
- ns: SPACE_PLUGIN
231
+ ns: meta.id
245
232
  }
246
233
  ],
247
234
  icon: "ph--database--regular",
@@ -263,7 +250,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
263
250
  label: [
264
251
  "create object in space label",
265
252
  {
266
- ns: SPACE_PLUGIN
253
+ ns: meta.id
267
254
  }
268
255
  ],
269
256
  icon: "ph--plus--regular",
@@ -283,7 +270,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
283
270
  label: [
284
271
  "rename space label",
285
272
  {
286
- ns: SPACE_PLUGIN
273
+ ns: meta.id
287
274
  }
288
275
  ],
289
276
  icon: "ph--pencil-simple-line--regular",
@@ -299,26 +286,53 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
299
286
  var createStaticSchemaNode = ({ schema, space }) => {
300
287
  return {
301
288
  id: `${space.id}/${Type.getTypename(schema)}`,
302
- type: `${SPACE_PLUGIN}/static-schema`,
289
+ type: `${meta.id}/static-schema`,
303
290
  data: schema,
304
291
  properties: {
305
292
  label: [
306
293
  "typename label",
307
294
  {
308
295
  ns: Type.getTypename(schema),
296
+ count: 2,
309
297
  default: Type.getTypename(schema)
310
298
  }
311
299
  ],
312
300
  icon: "ph--database--regular",
301
+ iconHue: "green",
313
302
  role: "branch",
303
+ selectable: false,
314
304
  canDrop: () => false,
315
305
  space
316
306
  }
317
307
  };
318
308
  };
319
- var createStaticSchemaActions = ({ schema, space, deletable }) => {
309
+ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
320
310
  const getId = (id) => `${space.id}/${Type.getTypename(schema)}/${id}`;
321
311
  const actions = [
312
+ {
313
+ id: getId(SpaceAction.AddObject._tag),
314
+ type: ACTION_TYPE,
315
+ data: async () => {
316
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
317
+ target: space,
318
+ views: true,
319
+ initialFormValues: {
320
+ typename: Type.getTypename(schema)
321
+ }
322
+ }));
323
+ },
324
+ properties: {
325
+ label: [
326
+ "add view to schema label",
327
+ {
328
+ ns: meta.id
329
+ }
330
+ ],
331
+ icon: "ph--plus--regular",
332
+ disposition: "list-item-primary",
333
+ testId: "spacePlugin.addViewToSchema"
334
+ }
335
+ },
322
336
  {
323
337
  id: getId(SpaceAction.RenameObject._tag),
324
338
  type: ACTION_TYPE,
@@ -329,7 +343,7 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
329
343
  label: [
330
344
  "rename object label",
331
345
  {
332
- ns: Type.getTypename(DataType.StoredSchema)
346
+ ns: Type.getTypename(Type.PersistentType)
333
347
  }
334
348
  ],
335
349
  icon: "ph--pencil-simple-line--regular",
@@ -351,7 +365,7 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
351
365
  label: [
352
366
  "delete object label",
353
367
  {
354
- ns: Type.getTypename(DataType.StoredSchema)
368
+ ns: Type.getTypename(Type.PersistentType)
355
369
  }
356
370
  ],
357
371
  icon: "ph--trash--regular",
@@ -359,29 +373,53 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
359
373
  disabled: !deletable,
360
374
  testId: "spacePlugin.deleteObject"
361
375
  }
376
+ },
377
+ {
378
+ id: getId(SpaceAction.Snapshot._tag),
379
+ type: ACTION_TYPE,
380
+ data: async () => {
381
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
382
+ space,
383
+ query: Query.select(Filter.type(schema)).ast
384
+ }));
385
+ if (result.data?.snapshot) {
386
+ await downloadBlob(
387
+ result.data.snapshot,
388
+ // TODO(wittjosiah): Factor out file name construction.
389
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${Type.getTypename(schema)}.json`
390
+ );
391
+ }
392
+ },
393
+ properties: {
394
+ label: [
395
+ "snapshot by schema label",
396
+ {
397
+ ns: meta.id
398
+ }
399
+ ],
400
+ icon: "ph--camera--regular",
401
+ disposition: "list-item"
402
+ }
362
403
  }
363
404
  ];
364
405
  return actions;
365
406
  };
366
- var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
407
+ var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, managedCollectionChild = false, resolve }) => {
367
408
  const type = Obj.getTypename(object);
368
409
  if (!type) {
369
- return void 0;
410
+ return null;
370
411
  }
371
412
  const metadata = resolve(type);
372
- const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
413
+ const partials = Obj.instanceOf(Collection.Collection, object) ? getCollectionGraphNodePartials({
373
414
  collection: object,
374
415
  space,
375
416
  resolve
376
- }) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
417
+ }) : Obj.instanceOf(Collection.Managed, object) ? getSystemCollectionNodePartials({
377
418
  collection: object,
378
419
  space,
379
420
  resolve
380
- }) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
381
- view: object,
382
- resolve
383
- }) : metadata.graphProps;
384
- const label = Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
421
+ }) : Obj.instanceOf(Type.PersistentType, object) ? getSchemaGraphNodePartials() : metadata.graphProps;
422
+ const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
385
423
  metadata.label?.(object) || [
386
424
  "object name placeholder",
387
425
  {
@@ -389,8 +427,9 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
389
427
  default: "New item"
390
428
  }
391
429
  ];
430
+ const selectable = !Obj.instanceOf(Type.PersistentType, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
392
431
  return {
393
- id: fullyQualifiedId(object),
432
+ id: Obj.getDXN(object).toString(),
394
433
  type,
395
434
  cacheable: [
396
435
  "label",
@@ -401,9 +440,22 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
401
440
  properties: {
402
441
  label,
403
442
  icon: metadata.icon ?? "ph--placeholder--regular",
443
+ iconHue: metadata.iconHue,
444
+ disposition,
404
445
  testId: "spacePlugin.object",
405
446
  persistenceClass: "echo",
406
447
  persistenceKey: space?.id,
448
+ selectable,
449
+ managedCollectionChild,
450
+ blockInstruction: (source, instruction) => {
451
+ if (source.item.properties.managedCollectionChild) {
452
+ return true;
453
+ }
454
+ if (Obj.instanceOf(Collection.Managed, object)) {
455
+ return !instruction.type.startsWith("reorder");
456
+ }
457
+ return managedCollectionChild;
458
+ },
407
459
  canDrop: (source) => {
408
460
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
409
461
  },
@@ -411,11 +463,11 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
411
463
  }
412
464
  };
413
465
  };
414
- var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable = true, navigable = false }) => {
466
+ var constructObjectActions = ({ object, graph, dispatch, resolve, deletable = true, navigable = false }) => {
415
467
  const space = getSpace(object);
416
468
  invariant(space, "Space not found", {
417
469
  F: __dxlog_file,
418
- L: 492,
470
+ L: 548,
419
471
  S: void 0,
420
472
  A: [
421
473
  "space",
@@ -425,18 +477,20 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
425
477
  const typename = Obj.getTypename(object);
426
478
  invariant(typename, "Object has no typename", {
427
479
  F: __dxlog_file,
428
- L: 494,
480
+ L: 550,
429
481
  S: void 0,
430
482
  A: [
431
483
  "typename",
432
484
  "'Object has no typename'"
433
485
  ]
434
486
  });
435
- const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
436
- const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
437
- const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
487
+ const getId = (id) => `${id}/${Obj.getDXN(object).toString()}`;
488
+ const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : void 0;
489
+ const metadata = managedCollection ? resolve(managedCollection.key) : {};
490
+ const createObjectIntent = metadata.createObjectIntent;
491
+ const inputSchema = metadata.inputSchema;
438
492
  const actions = [
439
- ...Obj.instanceOf(DataType.Collection, object) ? [
493
+ ...Obj.instanceOf(Collection.Collection, object) ? [
440
494
  {
441
495
  id: getId(SpaceAction.OpenCreateObject._tag),
442
496
  type: ACTION_TYPE,
@@ -449,7 +503,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
449
503
  label: [
450
504
  "create object in collection label",
451
505
  {
452
- ns: SPACE_PLUGIN
506
+ ns: meta.id
453
507
  }
454
508
  ],
455
509
  icon: "ph--plus--regular",
@@ -458,18 +512,71 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
458
512
  }
459
513
  }
460
514
  ] : [],
461
- ...matchingObjectForm ? [
515
+ ...Obj.instanceOf(Type.PersistentType, object) ? [
516
+ {
517
+ id: getId(SpaceAction.AddObject._tag),
518
+ type: ACTION_TYPE,
519
+ data: async () => {
520
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
521
+ target: space,
522
+ views: true,
523
+ initialFormValues: {
524
+ typename: object.typename
525
+ }
526
+ }));
527
+ },
528
+ properties: {
529
+ label: [
530
+ "add view to schema label",
531
+ {
532
+ ns: meta.id
533
+ }
534
+ ],
535
+ icon: "ph--plus--regular",
536
+ disposition: "list-item-primary",
537
+ testId: "spacePlugin.addViewToSchema"
538
+ }
539
+ },
540
+ {
541
+ id: getId(SpaceAction.Snapshot._tag),
542
+ type: ACTION_TYPE,
543
+ data: async () => {
544
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
545
+ space,
546
+ query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast
547
+ }));
548
+ if (result.data?.snapshot) {
549
+ await downloadBlob(
550
+ result.data.snapshot,
551
+ // TODO(wittjosiah): Factor out file name construction.
552
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${object.typename}.json`
553
+ );
554
+ }
555
+ },
556
+ properties: {
557
+ label: [
558
+ "snapshot by schema label",
559
+ {
560
+ ns: meta.id
561
+ }
562
+ ],
563
+ icon: "ph--camera--regular",
564
+ disposition: "list-item"
565
+ }
566
+ }
567
+ ] : [],
568
+ ...createObjectIntent ? [
462
569
  {
463
570
  id: getId(SpaceAction.OpenCreateObject._tag),
464
571
  type: ACTION_TYPE,
465
572
  data: async () => {
466
- if (matchingObjectForm.formSchema) {
573
+ if (inputSchema) {
467
574
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
468
575
  target: space,
469
- typename: queryCollection?.query.typename
576
+ typename: managedCollection ? managedCollection.key : void 0
470
577
  }));
471
578
  } else {
472
- await dispatch(pipe(matchingObjectForm.getIntent({}, {
579
+ await dispatch(Function.pipe(createObjectIntent({}, {
473
580
  space
474
581
  }), chain(SpaceAction.AddObject, {
475
582
  target: space,
@@ -481,9 +588,9 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
481
588
  },
482
589
  properties: {
483
590
  label: [
484
- "create object in smart collection label",
591
+ "create object in system collection label",
485
592
  {
486
- ns: SPACE_PLUGIN
593
+ ns: meta.id
487
594
  }
488
595
  ],
489
596
  icon: "ph--plus--regular",
@@ -492,71 +599,73 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
492
599
  }
493
600
  }
494
601
  ] : [],
495
- {
496
- id: getId(SpaceAction.RenameObject._tag),
497
- type: ACTION_TYPE,
498
- data: async (params) => {
499
- await dispatch(createIntent(SpaceAction.RenameObject, {
500
- object,
501
- caller: params?.caller
502
- }));
503
- },
504
- properties: {
505
- label: [
506
- "rename object label",
507
- {
508
- ns: typename
509
- }
510
- ],
511
- icon: "ph--pencil-simple-line--regular",
512
- disposition: "list-item",
513
- // TODO(wittjosiah): Not working.
514
- // keyBinding: {
515
- // macos: 'shift+F6',
516
- // },
517
- testId: "spacePlugin.renameObject"
518
- }
519
- },
520
- {
521
- id: getId(SpaceAction.RemoveObjects._tag),
522
- type: ACTION_TYPE,
523
- data: async () => {
524
- const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
525
- await dispatch(createIntent(SpaceAction.RemoveObjects, {
526
- objects: [
527
- object
602
+ ...managedCollection ? [] : [
603
+ {
604
+ id: getId(SpaceAction.RenameObject._tag),
605
+ type: ACTION_TYPE,
606
+ data: async (params) => {
607
+ await dispatch(createIntent(SpaceAction.RenameObject, {
608
+ object,
609
+ caller: params?.caller
610
+ }));
611
+ },
612
+ properties: {
613
+ label: [
614
+ "rename object label",
615
+ {
616
+ ns: typename
617
+ }
528
618
  ],
529
- target: collection
530
- }));
619
+ icon: "ph--pencil-simple-line--regular",
620
+ disposition: "list-item",
621
+ // TODO(wittjosiah): Not working.
622
+ // keyBinding: {
623
+ // macos: 'shift+F6',
624
+ // },
625
+ testId: "spacePlugin.renameObject"
626
+ }
531
627
  },
532
- properties: {
533
- label: [
534
- "delete object label",
535
- {
536
- ns: typename
537
- }
538
- ],
539
- icon: "ph--trash--regular",
540
- disposition: "list-item",
541
- disabled: !deletable,
542
- // TODO(wittjosiah): This is a browser shortcut.
543
- // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
544
- testId: "spacePlugin.deleteObject"
628
+ {
629
+ id: getId(SpaceAction.RemoveObjects._tag),
630
+ type: ACTION_TYPE,
631
+ data: async () => {
632
+ const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
633
+ await dispatch(createIntent(SpaceAction.RemoveObjects, {
634
+ objects: [
635
+ object
636
+ ],
637
+ target: collection
638
+ }));
639
+ },
640
+ properties: {
641
+ label: [
642
+ "delete object label",
643
+ {
644
+ ns: typename
645
+ }
646
+ ],
647
+ icon: "ph--trash--regular",
648
+ disposition: "list-item",
649
+ disabled: !deletable,
650
+ // TODO(wittjosiah): This is a browser shortcut.
651
+ // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
652
+ testId: "spacePlugin.deleteObject"
653
+ }
545
654
  }
546
- },
547
- ...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.StoredSchema, object) ? [
655
+ ],
656
+ ...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Type.PersistentType, object) ? [
548
657
  {
549
658
  id: getId("copy-link"),
550
659
  type: ACTION_TYPE,
551
660
  data: async () => {
552
- const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
661
+ const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
553
662
  await navigator.clipboard.writeText(url);
554
663
  },
555
664
  properties: {
556
665
  label: [
557
666
  "copy link label",
558
667
  {
559
- ns: SPACE_PLUGIN
668
+ ns: meta.id
560
669
  }
561
670
  ],
562
671
  icon: "ph--link--regular",
@@ -572,14 +681,14 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
572
681
  data: async () => {
573
682
  await dispatch(createIntent(LayoutAction.Expose, {
574
683
  part: "navigation",
575
- subject: fullyQualifiedId(object)
684
+ subject: Obj.getDXN(object).toString()
576
685
  }));
577
686
  },
578
687
  properties: {
579
688
  label: [
580
689
  "expose object label",
581
690
  {
582
- ns: SPACE_PLUGIN
691
+ ns: meta.id
583
692
  }
584
693
  ],
585
694
  icon: "ph--eye--regular",
@@ -590,6 +699,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
590
699
  ];
591
700
  return actions;
592
701
  };
702
+ var downloadBlob = async (blob, filename) => {
703
+ const url = URL.createObjectURL(blob);
704
+ const a = document.createElement("a");
705
+ a.href = url;
706
+ a.download = filename;
707
+ document.body.appendChild(a);
708
+ a.click();
709
+ document.body.removeChild(a);
710
+ URL.revokeObjectURL(url);
711
+ };
593
712
  var getNestedObjects = async (object, resolve) => {
594
713
  const type = Obj.getTypename(object);
595
714
  if (!type) {
@@ -614,7 +733,7 @@ var cloneObject = async (object, resolve, newSpace) => {
614
733
  const serializer = metadata.serializer;
615
734
  invariant(serializer, `No serializer for type: ${typename}`, {
616
735
  F: __dxlog_file,
617
- L: 665,
736
+ L: 788,
618
737
  S: void 0,
619
738
  A: [
620
739
  "serializer",
@@ -635,7 +754,7 @@ export {
635
754
  SPACES,
636
755
  COMPOSER_SPACE_LOCK,
637
756
  SHARED,
638
- rxFromQuery,
757
+ atomFromQuery,
639
758
  getSpaceDisplayName,
640
759
  constructSpaceNode,
641
760
  constructSpaceActions,
@@ -646,4 +765,4 @@ export {
646
765
  getNestedObjects,
647
766
  cloneObject
648
767
  };
649
- //# sourceMappingURL=chunk-XUYKJUU7.mjs.map
768
+ //# sourceMappingURL=chunk-GJOZILGC.mjs.map