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