@dxos/plugin-space 0.8.4-main.5ea62a8 → 0.8.4-main.66e292d

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 (357) 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-3A6KBYWT.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-DCY3W36E.mjs → chunk-GJOZILGC.mjs} +210 -142
  18. package/dist/lib/browser/chunk-GJOZILGC.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-J6YZG77T.mjs → chunk-KCZ527AM.mjs} +641 -500
  20. package/dist/lib/browser/chunk-KCZ527AM.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-ELJDGQTO.mjs → chunk-P25R3AOK.mjs} +35 -5
  22. package/dist/lib/browser/chunk-P25R3AOK.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-WAXS2ZVX.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-T6ZNVE7S.mjs → identity-created-NAXTPQXE.mjs} +5 -5
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +88 -131
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-7E3IZIJS.mjs → intent-resolver-RZEWNJ2K.mjs} +105 -100
  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-GL4CE2F4.mjs → react-surface-VOETEAG3.mjs} +91 -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-B6MMHLPS.mjs → settings-TRLI52I5.mjs} +5 -5
  43. package/dist/lib/browser/{settings-B6MMHLPS.mjs.map → settings-TRLI52I5.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-QVABOCO3.mjs → spaces-ready-OHGCWZHQ.mjs} +22 -15
  45. package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs.map +7 -0
  46. package/dist/lib/browser/{state-2RGW7FQG.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-M45TH5LR.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-Q6AAQLQG.mjs → chunk-7EV4SN47.mjs} +34 -5
  62. package/dist/lib/node-esm/chunk-7EV4SN47.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-HYIZVPOA.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-AUQ3SKL2.mjs → chunk-I6FZP42D.mjs} +210 -142
  70. package/dist/lib/node-esm/chunk-I6FZP42D.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-ZCEH2VYE.mjs → chunk-JAMGJUFU.mjs} +641 -500
  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-AL7NNCKH.mjs → identity-created-OXLKCJE3.mjs} +5 -5
  78. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +88 -131
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-UVO4MKWX.mjs → intent-resolver-4PHJWDXW.mjs} +105 -100
  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-5EKYI66P.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-IOC6YSVQ.mjs → react-surface-J3XDMU2D.mjs} +91 -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-IOFU6EAS.mjs → settings-MNQTKHL7.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-IOFU6EAS.mjs.map → settings-MNQTKHL7.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-MS6GHPFR.mjs → spaces-ready-ZPU24DA2.mjs} +22 -15
  93. package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-7VBVBGNS.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.map +1 -1
  100. package/dist/types/src/capabilities/capabilities.d.ts +13 -7
  101. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/index.d.ts +1 -1
  103. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/repair.d.ts +4 -0
  108. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  110. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  111. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  112. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  113. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  114. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  115. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
  116. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  117. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +218 -215
  118. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  119. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +16 -9
  120. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  121. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  122. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  123. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  124. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  125. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  126. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  127. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  128. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1591 -0
  129. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
  130. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  131. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  132. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  133. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  134. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  135. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  136. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  137. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  138. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  139. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  140. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  141. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  142. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  143. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  144. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  145. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1424 -0
  146. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  147. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +3 -3
  148. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  149. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  150. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  151. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  152. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  153. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  154. package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +219 -216
  155. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  156. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  157. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  158. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  159. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +6 -5
  160. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  161. package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +220 -217
  162. package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
  163. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  164. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  165. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  166. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  167. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  168. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  169. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  170. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +218 -215
  171. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  172. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  173. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +219 -216
  174. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  175. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  176. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  177. package/dist/types/src/components/index.d.ts +10 -17
  178. package/dist/types/src/components/index.d.ts.map +1 -1
  179. package/dist/types/src/events.d.ts.map +1 -1
  180. package/dist/types/src/helpers/index.d.ts +2 -0
  181. package/dist/types/src/helpers/index.d.ts.map +1 -0
  182. package/dist/types/src/helpers/query.d.ts +8 -0
  183. package/dist/types/src/helpers/query.d.ts.map +1 -0
  184. package/dist/types/src/helpers/query.test.d.ts +2 -0
  185. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  186. package/dist/types/src/hooks/index.d.ts +1 -0
  187. package/dist/types/src/hooks/index.d.ts.map +1 -1
  188. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  189. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  190. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  191. package/dist/types/src/hooks/usePath.d.ts +1 -1
  192. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  193. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  194. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  195. package/dist/types/src/index.d.ts +1 -0
  196. package/dist/types/src/index.d.ts.map +1 -1
  197. package/dist/types/src/meta.d.ts +0 -1
  198. package/dist/types/src/meta.d.ts.map +1 -1
  199. package/dist/types/src/translations.d.ts +1261 -67
  200. package/dist/types/src/translations.d.ts.map +1 -1
  201. package/dist/types/src/types/form.d.ts +24 -0
  202. package/dist/types/src/types/form.d.ts.map +1 -0
  203. package/dist/types/src/types/index.d.ts +1 -0
  204. package/dist/types/src/types/index.d.ts.map +1 -1
  205. package/dist/types/src/types/types.d.ts +82 -142
  206. package/dist/types/src/types/types.d.ts.map +1 -1
  207. package/dist/types/src/util.d.ts +21 -34
  208. package/dist/types/src/util.d.ts.map +1 -1
  209. package/dist/types/tsconfig.tsbuildinfo +1 -1
  210. package/package.json +68 -59
  211. package/src/SpacePlugin.ts +181 -215
  212. package/src/capabilities/app-graph-builder.ts +205 -267
  213. package/src/capabilities/app-graph-serializer.ts +12 -12
  214. package/src/capabilities/capabilities.ts +26 -16
  215. package/src/capabilities/identity-created.ts +2 -2
  216. package/src/capabilities/index.ts +1 -1
  217. package/src/capabilities/intent-resolver.ts +78 -75
  218. package/src/capabilities/react-root.tsx +4 -3
  219. package/src/capabilities/react-surface.tsx +95 -145
  220. package/src/capabilities/repair.ts +57 -0
  221. package/src/capabilities/spaces-ready.ts +15 -6
  222. package/src/capabilities/state.ts +2 -2
  223. package/src/components/AwaitingObject.tsx +12 -14
  224. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  225. package/src/components/CollectionSection.tsx +8 -6
  226. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -11
  227. package/src/components/CreateDialog/CreateObjectDialog.tsx +63 -43
  228. package/src/components/CreateDialog/CreateObjectPanel.tsx +38 -31
  229. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  230. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  231. package/src/components/JoinDialog/index.ts +5 -0
  232. package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +7 -6
  233. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +16 -14
  234. package/src/components/MembersContainer/index.ts +5 -0
  235. package/src/components/MenuFooter.tsx +2 -2
  236. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  237. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  238. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  239. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
  240. package/src/components/ObjectRenamePopover/index.ts +5 -0
  241. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +6 -7
  242. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  243. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  244. package/src/components/ObjectSettings/ForeignKeys.tsx +8 -8
  245. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
  246. package/src/components/ObjectSettings/index.ts +3 -1
  247. package/src/components/RecordArticle.stories.tsx +115 -0
  248. package/src/components/RecordArticle.tsx +114 -0
  249. package/src/components/SchemaContainer.tsx +24 -27
  250. package/src/components/SpacePluginSettings.tsx +10 -4
  251. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +23 -25
  252. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
  253. package/src/components/SpacePresence/index.ts +5 -0
  254. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  255. package/src/components/SpaceRenamePopover/index.ts +5 -0
  256. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
  257. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +63 -23
  258. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  259. package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
  260. package/src/components/SyncStatus/SyncStatus.tsx +107 -11
  261. package/src/components/ViewEditor.tsx +57 -23
  262. package/src/components/index.ts +7 -8
  263. package/src/events.ts +6 -6
  264. package/src/helpers/index.ts +5 -0
  265. package/src/helpers/query.test.ts +24 -0
  266. package/src/helpers/query.ts +158 -0
  267. package/src/hooks/index.ts +1 -0
  268. package/src/hooks/useActiveSpace.ts +2 -1
  269. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  270. package/src/hooks/usePath.ts +1 -1
  271. package/src/hooks/useTypeOptions.ts +27 -0
  272. package/src/index.ts +1 -0
  273. package/src/meta.ts +6 -3
  274. package/src/translations.ts +68 -58
  275. package/src/types/form.ts +75 -0
  276. package/src/types/index.ts +1 -0
  277. package/src/types/types.ts +44 -50
  278. package/src/util.tsx +216 -143
  279. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  280. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs +0 -88
  281. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs.map +0 -7
  282. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  283. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  284. package/dist/lib/browser/app-graph-builder-FLF7XMQO.mjs +0 -516
  285. package/dist/lib/browser/app-graph-builder-FLF7XMQO.mjs.map +0 -7
  286. package/dist/lib/browser/app-graph-serializer-3A6KBYWT.mjs.map +0 -7
  287. package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
  288. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
  289. package/dist/lib/browser/chunk-DCY3W36E.mjs.map +0 -7
  290. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  291. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  292. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  293. package/dist/lib/browser/chunk-J6YZG77T.mjs.map +0 -7
  294. package/dist/lib/browser/chunk-RQVV4XVF.mjs +0 -343
  295. package/dist/lib/browser/chunk-RQVV4XVF.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
  297. package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-WAXS2ZVX.mjs.map +0 -7
  299. package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
  300. package/dist/lib/browser/intent-resolver-7E3IZIJS.mjs.map +0 -7
  301. package/dist/lib/browser/react-root-RWMT2RCK.mjs +0 -29
  302. package/dist/lib/browser/react-root-RWMT2RCK.mjs.map +0 -7
  303. package/dist/lib/browser/react-surface-GL4CE2F4.mjs.map +0 -7
  304. package/dist/lib/browser/schema-defs-YDPFZELA.mjs +0 -26
  305. package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
  306. package/dist/lib/browser/spaces-ready-QVABOCO3.mjs.map +0 -7
  307. package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
  308. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  309. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs +0 -89
  310. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs.map +0 -7
  311. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  312. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  313. package/dist/lib/node-esm/app-graph-builder-D5YPOJS5.mjs +0 -517
  314. package/dist/lib/node-esm/app-graph-builder-D5YPOJS5.mjs.map +0 -7
  315. package/dist/lib/node-esm/app-graph-serializer-M45TH5LR.mjs.map +0 -7
  316. package/dist/lib/node-esm/chunk-AUQ3SKL2.mjs.map +0 -7
  317. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
  318. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
  319. package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
  320. package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +0 -7
  321. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  322. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  323. package/dist/lib/node-esm/chunk-HYIZVPOA.mjs.map +0 -7
  324. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-WKQTO37U.mjs +0 -344
  326. package/dist/lib/node-esm/chunk-WKQTO37U.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-ZCEH2VYE.mjs.map +0 -7
  328. package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
  329. package/dist/lib/node-esm/intent-resolver-UVO4MKWX.mjs.map +0 -7
  330. package/dist/lib/node-esm/react-root-5EKYI66P.mjs.map +0 -7
  331. package/dist/lib/node-esm/react-surface-IOC6YSVQ.mjs.map +0 -7
  332. package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs +0 -27
  333. package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
  334. package/dist/lib/node-esm/spaces-ready-MS6GHPFR.mjs.map +0 -7
  335. package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
  336. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  337. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  338. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  339. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  340. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  341. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  342. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  343. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  344. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  345. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  346. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  347. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  348. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  349. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  350. package/dist/types/src/components/RecordMain.d.ts +0 -7
  351. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  352. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  353. package/src/capabilities/schema-defs.ts +0 -31
  354. package/src/components/ObjectDetailsPanel.tsx +0 -77
  355. package/src/components/PersistenceStatus.tsx +0 -83
  356. package/src/components/RecordMain.tsx +0 -43
  357. /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
@@ -1,29 +1,29 @@
1
1
  import {
2
2
  SPACE_TYPE,
3
3
  SpaceAction
4
- } from "./chunk-RQVV4XVF.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";
10
+ import { Atom } from "@effect-atom/atom-react";
11
+ import * as Function from "effect/Function";
12
12
  import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
13
- import { Obj, Ref, Type } from "@dxos/echo";
14
- import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
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 { SpaceState, fullyQualifiedId, getSpace, 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,18 +286,21 @@ 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
  }
@@ -335,7 +325,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
335
325
  label: [
336
326
  "add view to schema label",
337
327
  {
338
- ns: Type.getTypename(DataType.StoredSchema)
328
+ ns: meta.id
339
329
  }
340
330
  ],
341
331
  icon: "ph--plus--regular",
@@ -353,7 +343,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
353
343
  label: [
354
344
  "rename object label",
355
345
  {
356
- ns: Type.getTypename(DataType.StoredSchema)
346
+ ns: Type.getTypename(Type.PersistentType)
357
347
  }
358
348
  ],
359
349
  icon: "ph--pencil-simple-line--regular",
@@ -375,7 +365,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
375
365
  label: [
376
366
  "delete object label",
377
367
  {
378
- ns: Type.getTypename(DataType.StoredSchema)
368
+ ns: Type.getTypename(Type.PersistentType)
379
369
  }
380
370
  ],
381
371
  icon: "ph--trash--regular",
@@ -383,28 +373,52 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
383
373
  disabled: !deletable,
384
374
  testId: "spacePlugin.deleteObject"
385
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
+ }
386
403
  }
387
404
  ];
388
405
  return actions;
389
406
  };
390
- var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, resolve }) => {
407
+ var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, managedCollectionChild = false, resolve }) => {
391
408
  const type = Obj.getTypename(object);
392
409
  if (!type) {
393
410
  return null;
394
411
  }
395
412
  const metadata = resolve(type);
396
- const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
413
+ const partials = Obj.instanceOf(Collection.Collection, object) ? getCollectionGraphNodePartials({
397
414
  collection: object,
398
415
  space,
399
416
  resolve
400
- }) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
417
+ }) : Obj.instanceOf(Collection.Managed, object) ? getSystemCollectionNodePartials({
401
418
  collection: object,
402
419
  space,
403
420
  resolve
404
- }) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
405
- view: object,
406
- resolve
407
- }) : metadata.graphProps;
421
+ }) : Obj.instanceOf(Type.PersistentType, object) ? getSchemaGraphNodePartials() : metadata.graphProps;
408
422
  const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
409
423
  metadata.label?.(object) || [
410
424
  "object name placeholder",
@@ -413,8 +427,9 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
413
427
  default: "New item"
414
428
  }
415
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);
416
431
  return {
417
- id: fullyQualifiedId(object),
432
+ id: Obj.getDXN(object).toString(),
418
433
  type,
419
434
  cacheable: [
420
435
  "label",
@@ -425,10 +440,22 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
425
440
  properties: {
426
441
  label,
427
442
  icon: metadata.icon ?? "ph--placeholder--regular",
443
+ iconHue: metadata.iconHue,
428
444
  disposition,
429
445
  testId: "spacePlugin.object",
430
446
  persistenceClass: "echo",
431
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
+ },
432
459
  canDrop: (source) => {
433
460
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
434
461
  },
@@ -436,11 +463,11 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
436
463
  }
437
464
  };
438
465
  };
439
- var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable = true, navigable = false }) => {
466
+ var constructObjectActions = ({ object, graph, dispatch, resolve, deletable = true, navigable = false }) => {
440
467
  const space = getSpace(object);
441
468
  invariant(space, "Space not found", {
442
469
  F: __dxlog_file,
443
- L: 519,
470
+ L: 548,
444
471
  S: void 0,
445
472
  A: [
446
473
  "space",
@@ -450,18 +477,20 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
450
477
  const typename = Obj.getTypename(object);
451
478
  invariant(typename, "Object has no typename", {
452
479
  F: __dxlog_file,
453
- L: 521,
480
+ L: 550,
454
481
  S: void 0,
455
482
  A: [
456
483
  "typename",
457
484
  "'Object has no typename'"
458
485
  ]
459
486
  });
460
- const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
461
- const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
462
- 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;
463
492
  const actions = [
464
- ...Obj.instanceOf(DataType.Collection, object) ? [
493
+ ...Obj.instanceOf(Collection.Collection, object) ? [
465
494
  {
466
495
  id: getId(SpaceAction.OpenCreateObject._tag),
467
496
  type: ACTION_TYPE,
@@ -474,7 +503,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
474
503
  label: [
475
504
  "create object in collection label",
476
505
  {
477
- ns: SPACE_PLUGIN
506
+ ns: meta.id
478
507
  }
479
508
  ],
480
509
  icon: "ph--plus--regular",
@@ -483,7 +512,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
483
512
  }
484
513
  }
485
514
  ] : [],
486
- ...Obj.instanceOf(DataType.StoredSchema, object) ? [
515
+ ...Obj.instanceOf(Type.PersistentType, object) ? [
487
516
  {
488
517
  id: getId(SpaceAction.AddObject._tag),
489
518
  type: ACTION_TYPE,
@@ -500,27 +529,54 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
500
529
  label: [
501
530
  "add view to schema label",
502
531
  {
503
- ns: Type.getTypename(DataType.StoredSchema)
532
+ ns: meta.id
504
533
  }
505
534
  ],
506
535
  icon: "ph--plus--regular",
507
536
  disposition: "list-item-primary",
508
537
  testId: "spacePlugin.addViewToSchema"
509
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
+ }
510
566
  }
511
567
  ] : [],
512
- ...matchingObjectForm ? [
568
+ ...createObjectIntent ? [
513
569
  {
514
570
  id: getId(SpaceAction.OpenCreateObject._tag),
515
571
  type: ACTION_TYPE,
516
572
  data: async () => {
517
- if (matchingObjectForm.formSchema) {
573
+ if (inputSchema) {
518
574
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
519
575
  target: space,
520
- typename: queryCollection?.query.typename
576
+ typename: managedCollection ? managedCollection.key : void 0
521
577
  }));
522
578
  } else {
523
- await dispatch(pipe(matchingObjectForm.getIntent({}, {
579
+ await dispatch(Function.pipe(createObjectIntent({}, {
524
580
  space
525
581
  }), chain(SpaceAction.AddObject, {
526
582
  target: space,
@@ -532,9 +588,9 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
532
588
  },
533
589
  properties: {
534
590
  label: [
535
- "create object in smart collection label",
591
+ "create object in system collection label",
536
592
  {
537
- ns: SPACE_PLUGIN
593
+ ns: meta.id
538
594
  }
539
595
  ],
540
596
  icon: "ph--plus--regular",
@@ -543,71 +599,73 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
543
599
  }
544
600
  }
545
601
  ] : [],
546
- {
547
- id: getId(SpaceAction.RenameObject._tag),
548
- type: ACTION_TYPE,
549
- data: async (params) => {
550
- await dispatch(createIntent(SpaceAction.RenameObject, {
551
- object,
552
- caller: params?.caller
553
- }));
554
- },
555
- properties: {
556
- label: [
557
- "rename object label",
558
- {
559
- ns: typename
560
- }
561
- ],
562
- icon: "ph--pencil-simple-line--regular",
563
- disposition: "list-item",
564
- // TODO(wittjosiah): Not working.
565
- // keyBinding: {
566
- // macos: 'shift+F6',
567
- // },
568
- testId: "spacePlugin.renameObject"
569
- }
570
- },
571
- {
572
- id: getId(SpaceAction.RemoveObjects._tag),
573
- type: ACTION_TYPE,
574
- data: async () => {
575
- const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
576
- await dispatch(createIntent(SpaceAction.RemoveObjects, {
577
- objects: [
578
- 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
+ }
579
618
  ],
580
- target: collection
581
- }));
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
+ }
582
627
  },
583
- properties: {
584
- label: [
585
- "delete object label",
586
- {
587
- ns: typename
588
- }
589
- ],
590
- icon: "ph--trash--regular",
591
- disposition: "list-item",
592
- disabled: !deletable,
593
- // TODO(wittjosiah): This is a browser shortcut.
594
- // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
595
- 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
+ }
596
654
  }
597
- },
598
- ...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) ? [
599
657
  {
600
658
  id: getId("copy-link"),
601
659
  type: ACTION_TYPE,
602
660
  data: async () => {
603
- const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
661
+ const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
604
662
  await navigator.clipboard.writeText(url);
605
663
  },
606
664
  properties: {
607
665
  label: [
608
666
  "copy link label",
609
667
  {
610
- ns: SPACE_PLUGIN
668
+ ns: meta.id
611
669
  }
612
670
  ],
613
671
  icon: "ph--link--regular",
@@ -623,14 +681,14 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
623
681
  data: async () => {
624
682
  await dispatch(createIntent(LayoutAction.Expose, {
625
683
  part: "navigation",
626
- subject: fullyQualifiedId(object)
684
+ subject: Obj.getDXN(object).toString()
627
685
  }));
628
686
  },
629
687
  properties: {
630
688
  label: [
631
689
  "expose object label",
632
690
  {
633
- ns: SPACE_PLUGIN
691
+ ns: meta.id
634
692
  }
635
693
  ],
636
694
  icon: "ph--eye--regular",
@@ -641,6 +699,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
641
699
  ];
642
700
  return actions;
643
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
+ };
644
712
  var getNestedObjects = async (object, resolve) => {
645
713
  const type = Obj.getTypename(object);
646
714
  if (!type) {
@@ -665,7 +733,7 @@ var cloneObject = async (object, resolve, newSpace) => {
665
733
  const serializer = metadata.serializer;
666
734
  invariant(serializer, `No serializer for type: ${typename}`, {
667
735
  F: __dxlog_file,
668
- L: 715,
736
+ L: 788,
669
737
  S: void 0,
670
738
  A: [
671
739
  "serializer",
@@ -686,7 +754,7 @@ export {
686
754
  SPACES,
687
755
  COMPOSER_SPACE_LOCK,
688
756
  SHARED,
689
- rxFromQuery,
757
+ atomFromQuery,
690
758
  getSpaceDisplayName,
691
759
  constructSpaceNode,
692
760
  constructSpaceActions,
@@ -697,4 +765,4 @@ export {
697
765
  getNestedObjects,
698
766
  cloneObject
699
767
  };
700
- //# sourceMappingURL=chunk-DCY3W36E.mjs.map
768
+ //# sourceMappingURL=chunk-GJOZILGC.mjs.map