@dxos/plugin-space 0.8.4-main.5ad4a44 → 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 (331) hide show
  1. package/dist/lib/browser/{CollectionMain-AX7KKXWP.mjs → CollectionArticle-WTHWY4YS.mjs} +8 -8
  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-Y2LBZX2G.mjs → app-graph-builder-HABMCWAI.mjs} +170 -173
  10. package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-425OVRTW.mjs → app-graph-serializer-G3VFEGTN.mjs} +10 -10
  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-PUF3B7XO.mjs → chunk-C6DAPIFF.mjs} +4 -4
  16. package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-X6COEDOD.mjs → chunk-GJOZILGC.mjs} +182 -118
  18. package/dist/lib/browser/chunk-GJOZILGC.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-6KVKMOGQ.mjs → chunk-KCZ527AM.mjs} +607 -456
  20. package/dist/lib/browser/chunk-KCZ527AM.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-CVZAZRW4.mjs → chunk-P25R3AOK.mjs} +34 -4
  22. package/dist/lib/browser/chunk-P25R3AOK.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-YZJWWMNB.mjs → chunk-POFUXISV.mjs} +68 -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-EIXZABXD.mjs → chunk-WJXU4GKV.mjs} +2 -2
  28. package/dist/lib/browser/{identity-created-PW2BA46S.mjs → identity-created-NAXTPQXE.mjs} +3 -3
  29. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  30. package/dist/lib/browser/index.mjs +83 -110
  31. package/dist/lib/browser/index.mjs.map +3 -3
  32. package/dist/lib/browser/{intent-resolver-2TBYHOBA.mjs → intent-resolver-RZEWNJ2K.mjs} +90 -82
  33. package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs.map +7 -0
  34. package/dist/lib/browser/meta.json +1 -1
  35. package/dist/lib/browser/{react-root-KMJXJ5VX.mjs → react-root-JCRD74GI.mjs} +9 -8
  36. package/dist/lib/browser/react-root-JCRD74GI.mjs.map +7 -0
  37. package/dist/lib/browser/{react-surface-YAJUAMER.mjs → react-surface-VOETEAG3.mjs} +64 -84
  38. package/dist/lib/browser/react-surface-VOETEAG3.mjs.map +7 -0
  39. package/dist/lib/browser/repair-CNLE35NF.mjs +44 -0
  40. package/dist/lib/browser/repair-CNLE35NF.mjs.map +7 -0
  41. package/dist/lib/browser/{settings-UYYJ225A.mjs → settings-TRLI52I5.mjs} +3 -3
  42. package/dist/lib/browser/{spaces-ready-YNZPWXA3.mjs → spaces-ready-OHGCWZHQ.mjs} +19 -12
  43. package/dist/lib/browser/spaces-ready-OHGCWZHQ.mjs.map +7 -0
  44. package/dist/lib/browser/{state-BPU73TYO.mjs → state-C7N6EDDZ.mjs} +3 -3
  45. package/dist/lib/browser/types/index.mjs +10 -4
  46. package/dist/lib/node-esm/{CollectionMain-EU57SRYK.mjs → CollectionArticle-KHXYT3SH.mjs} +8 -8
  47. package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
  48. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs +142 -0
  49. package/dist/lib/node-esm/ObjectDetailsPanel-6OFTT3GG.mjs.map +7 -0
  50. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs +145 -0
  51. package/dist/lib/node-esm/ObjectSettings-YXPJQMJ5.mjs.map +7 -0
  52. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs +117 -0
  53. package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +7 -0
  54. package/dist/lib/node-esm/{app-graph-builder-DMNLDT7E.mjs → app-graph-builder-T6VJKIOA.mjs} +170 -173
  55. package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs.map +7 -0
  56. package/dist/lib/node-esm/{app-graph-serializer-ZEDSY77N.mjs → app-graph-serializer-2NLWWFUB.mjs} +10 -10
  57. package/dist/lib/node-esm/app-graph-serializer-2NLWWFUB.mjs.map +7 -0
  58. package/dist/lib/node-esm/{chunk-FLRC6XWU.mjs → chunk-7EV4SN47.mjs} +33 -4
  59. package/dist/lib/node-esm/chunk-7EV4SN47.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-7UIEPBQJ.mjs → chunk-AX3UGL5D.mjs} +68 -62
  61. package/dist/lib/node-esm/chunk-AX3UGL5D.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  63. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  64. package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs → chunk-H4JILUJK.mjs} +2 -2
  65. package/dist/lib/node-esm/{chunk-ZFCCFELA.mjs → chunk-I6FZP42D.mjs} +182 -118
  66. package/dist/lib/node-esm/chunk-I6FZP42D.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-L26ZIGHA.mjs → chunk-JAMGJUFU.mjs} +607 -456
  68. package/dist/lib/node-esm/chunk-JAMGJUFU.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-36TAYXV7.mjs → chunk-WWGV5FJM.mjs} +4 -4
  70. package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-X34VDVMY.mjs +393 -0
  72. package/dist/lib/node-esm/chunk-X34VDVMY.mjs.map +7 -0
  73. package/dist/lib/node-esm/{identity-created-MWTLGQRU.mjs → identity-created-OXLKCJE3.mjs} +3 -3
  74. package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
  75. package/dist/lib/node-esm/index.mjs +83 -110
  76. package/dist/lib/node-esm/index.mjs.map +3 -3
  77. package/dist/lib/node-esm/{intent-resolver-YOG27WOG.mjs → intent-resolver-4PHJWDXW.mjs} +90 -82
  78. package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs.map +7 -0
  79. package/dist/lib/node-esm/meta.json +1 -1
  80. package/dist/lib/node-esm/{react-root-27QMJZD2.mjs → react-root-O5I5CDJ7.mjs} +9 -8
  81. package/dist/lib/node-esm/react-root-O5I5CDJ7.mjs.map +7 -0
  82. package/dist/lib/node-esm/{react-surface-RC73GAN5.mjs → react-surface-J3XDMU2D.mjs} +64 -84
  83. package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs.map +7 -0
  84. package/dist/lib/node-esm/repair-EHZS6MFY.mjs +45 -0
  85. package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +7 -0
  86. package/dist/lib/node-esm/{settings-Q736OQRP.mjs → settings-MNQTKHL7.mjs} +3 -3
  87. package/dist/lib/node-esm/{spaces-ready-XZQD7Q65.mjs → spaces-ready-ZPU24DA2.mjs} +19 -12
  88. package/dist/lib/node-esm/spaces-ready-ZPU24DA2.mjs.map +7 -0
  89. package/dist/lib/node-esm/{state-BY75TM32.mjs → state-45TXZQJ6.mjs} +3 -3
  90. package/dist/lib/node-esm/types/index.mjs +10 -4
  91. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/capabilities.d.ts +12 -6
  94. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/index.d.ts +1 -1
  96. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/repair.d.ts +4 -0
  101. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  102. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  103. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  104. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  105. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  106. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  107. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  108. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  109. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +218 -214
  110. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +16 -9
  112. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  113. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  114. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  115. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  116. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  117. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  118. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1591 -0
  119. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
  120. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  121. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  122. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  123. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  124. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  125. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  126. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  127. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  128. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  129. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  130. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  131. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  132. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  133. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  134. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  135. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1424 -0
  136. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  137. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +3 -3
  138. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  139. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  140. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  141. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  142. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  143. package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +219 -215
  144. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  145. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  146. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  147. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  148. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +6 -5
  149. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  150. package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +218 -214
  151. package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
  152. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  153. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  154. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  155. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  156. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  157. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  158. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  159. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +218 -214
  160. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  161. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  162. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +219 -215
  163. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  164. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  165. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  166. package/dist/types/src/components/index.d.ts +10 -17
  167. package/dist/types/src/components/index.d.ts.map +1 -1
  168. package/dist/types/src/helpers/index.d.ts +2 -0
  169. package/dist/types/src/helpers/index.d.ts.map +1 -0
  170. package/dist/types/src/helpers/query.d.ts +8 -0
  171. package/dist/types/src/helpers/query.d.ts.map +1 -0
  172. package/dist/types/src/helpers/query.test.d.ts +2 -0
  173. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  174. package/dist/types/src/hooks/index.d.ts +1 -0
  175. package/dist/types/src/hooks/index.d.ts.map +1 -1
  176. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  177. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  178. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  179. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  180. package/dist/types/src/index.d.ts +1 -0
  181. package/dist/types/src/index.d.ts.map +1 -1
  182. package/dist/types/src/meta.d.ts.map +1 -1
  183. package/dist/types/src/translations.d.ts +218 -214
  184. package/dist/types/src/translations.d.ts.map +1 -1
  185. package/dist/types/src/types/form.d.ts +24 -0
  186. package/dist/types/src/types/form.d.ts.map +1 -0
  187. package/dist/types/src/types/index.d.ts +1 -0
  188. package/dist/types/src/types/index.d.ts.map +1 -1
  189. package/dist/types/src/types/types.d.ts +33 -74
  190. package/dist/types/src/types/types.d.ts.map +1 -1
  191. package/dist/types/src/util.d.ts +19 -33
  192. package/dist/types/src/util.d.ts.map +1 -1
  193. package/dist/types/tsconfig.tsbuildinfo +1 -1
  194. package/package.json +57 -48
  195. package/src/SpacePlugin.ts +64 -89
  196. package/src/capabilities/app-graph-builder.ts +165 -233
  197. package/src/capabilities/app-graph-serializer.ts +5 -5
  198. package/src/capabilities/capabilities.ts +18 -8
  199. package/src/capabilities/identity-created.ts +2 -2
  200. package/src/capabilities/index.ts +1 -1
  201. package/src/capabilities/intent-resolver.ts +66 -66
  202. package/src/capabilities/react-root.tsx +2 -1
  203. package/src/capabilities/react-surface.tsx +69 -119
  204. package/src/capabilities/repair.ts +57 -0
  205. package/src/capabilities/spaces-ready.ts +14 -5
  206. package/src/components/AwaitingObject.tsx +11 -13
  207. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +5 -4
  208. package/src/components/CollectionSection.tsx +6 -4
  209. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +6 -6
  210. package/src/components/CreateDialog/CreateObjectDialog.tsx +57 -40
  211. package/src/components/CreateDialog/CreateObjectPanel.tsx +33 -26
  212. package/src/components/CreateDialog/CreateSpaceDialog.tsx +25 -7
  213. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +21 -5
  214. package/src/components/JoinDialog/index.ts +5 -0
  215. package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +1 -1
  216. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +11 -9
  217. package/src/components/MembersContainer/index.ts +5 -0
  218. package/src/components/{ObjectDetailsPanel.tsx → ObjectDetailsPanel/ObjectDetailsPanel.tsx} +8 -36
  219. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  220. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  221. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +5 -5
  222. package/src/components/ObjectRenamePopover/index.ts +5 -0
  223. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -5
  224. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  225. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  226. package/src/components/ObjectSettings/ForeignKeys.tsx +6 -6
  227. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +1 -1
  228. package/src/components/ObjectSettings/index.ts +3 -1
  229. package/src/components/RecordArticle.stories.tsx +115 -0
  230. package/src/components/RecordArticle.tsx +114 -0
  231. package/src/components/SchemaContainer.tsx +21 -24
  232. package/src/components/SpacePluginSettings.tsx +8 -2
  233. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +1 -1
  234. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +14 -9
  235. package/src/components/SpacePresence/index.ts +5 -0
  236. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +6 -5
  237. package/src/components/SpaceRenamePopover/index.ts +5 -0
  238. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +52 -13
  239. package/src/components/SyncStatus/InlineSyncStatus.tsx +5 -5
  240. package/src/components/SyncStatus/SyncStatus.stories.tsx +3 -2
  241. package/src/components/SyncStatus/SyncStatus.tsx +105 -9
  242. package/src/components/ViewEditor.tsx +57 -18
  243. package/src/components/index.ts +7 -8
  244. package/src/helpers/index.ts +5 -0
  245. package/src/helpers/query.test.ts +24 -0
  246. package/src/helpers/query.ts +158 -0
  247. package/src/hooks/index.ts +1 -0
  248. package/src/hooks/useActiveSpace.ts +2 -1
  249. package/src/hooks/useInputSurfaceLookup.tsx +7 -2
  250. package/src/hooks/useTypeOptions.ts +27 -0
  251. package/src/index.ts +1 -0
  252. package/src/meta.ts +5 -0
  253. package/src/translations.ts +67 -58
  254. package/src/types/form.ts +75 -0
  255. package/src/types/index.ts +1 -0
  256. package/src/types/types.ts +39 -44
  257. package/src/util.tsx +187 -121
  258. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +0 -7
  259. package/dist/lib/browser/ObjectDetailsPanel-SJ4XUXXX.mjs +0 -90
  260. package/dist/lib/browser/ObjectDetailsPanel-SJ4XUXXX.mjs.map +0 -7
  261. package/dist/lib/browser/RecordMain-FHPCS6GM.mjs +0 -68
  262. package/dist/lib/browser/RecordMain-FHPCS6GM.mjs.map +0 -7
  263. package/dist/lib/browser/app-graph-builder-Y2LBZX2G.mjs.map +0 -7
  264. package/dist/lib/browser/app-graph-serializer-425OVRTW.mjs.map +0 -7
  265. package/dist/lib/browser/chunk-6KVKMOGQ.mjs.map +0 -7
  266. package/dist/lib/browser/chunk-CVZAZRW4.mjs.map +0 -7
  267. package/dist/lib/browser/chunk-IRKDREHY.mjs +0 -11
  268. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +0 -7
  269. package/dist/lib/browser/chunk-OYHC63NL.mjs +0 -344
  270. package/dist/lib/browser/chunk-OYHC63NL.mjs.map +0 -7
  271. package/dist/lib/browser/chunk-PUF3B7XO.mjs.map +0 -7
  272. package/dist/lib/browser/chunk-X6COEDOD.mjs.map +0 -7
  273. package/dist/lib/browser/chunk-YZJWWMNB.mjs.map +0 -7
  274. package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +0 -7
  275. package/dist/lib/browser/intent-resolver-2TBYHOBA.mjs.map +0 -7
  276. package/dist/lib/browser/react-root-KMJXJ5VX.mjs.map +0 -7
  277. package/dist/lib/browser/react-surface-YAJUAMER.mjs.map +0 -7
  278. package/dist/lib/browser/schema-defs-2OCPV7JF.mjs +0 -26
  279. package/dist/lib/browser/schema-defs-2OCPV7JF.mjs.map +0 -7
  280. package/dist/lib/browser/spaces-ready-YNZPWXA3.mjs.map +0 -7
  281. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +0 -7
  282. package/dist/lib/node-esm/ObjectDetailsPanel-P7D727OV.mjs +0 -91
  283. package/dist/lib/node-esm/ObjectDetailsPanel-P7D727OV.mjs.map +0 -7
  284. package/dist/lib/node-esm/RecordMain-V73AEB6N.mjs +0 -70
  285. package/dist/lib/node-esm/RecordMain-V73AEB6N.mjs.map +0 -7
  286. package/dist/lib/node-esm/app-graph-builder-DMNLDT7E.mjs.map +0 -7
  287. package/dist/lib/node-esm/app-graph-serializer-ZEDSY77N.mjs.map +0 -7
  288. package/dist/lib/node-esm/chunk-36TAYXV7.mjs.map +0 -7
  289. package/dist/lib/node-esm/chunk-7UIEPBQJ.mjs.map +0 -7
  290. package/dist/lib/node-esm/chunk-ADEZJQE3.mjs +0 -345
  291. package/dist/lib/node-esm/chunk-ADEZJQE3.mjs.map +0 -7
  292. package/dist/lib/node-esm/chunk-FLRC6XWU.mjs.map +0 -7
  293. package/dist/lib/node-esm/chunk-L26ZIGHA.mjs.map +0 -7
  294. package/dist/lib/node-esm/chunk-MWNATOXL.mjs +0 -13
  295. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-ZFCCFELA.mjs.map +0 -7
  297. package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +0 -7
  298. package/dist/lib/node-esm/intent-resolver-YOG27WOG.mjs.map +0 -7
  299. package/dist/lib/node-esm/react-root-27QMJZD2.mjs.map +0 -7
  300. package/dist/lib/node-esm/react-surface-RC73GAN5.mjs.map +0 -7
  301. package/dist/lib/node-esm/schema-defs-X2Z7F2EV.mjs +0 -27
  302. package/dist/lib/node-esm/schema-defs-X2Z7F2EV.mjs.map +0 -7
  303. package/dist/lib/node-esm/spaces-ready-XZQD7Q65.mjs.map +0 -7
  304. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  305. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  306. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  307. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  308. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  309. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  310. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  311. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  312. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  313. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  314. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  315. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  316. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  317. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  318. package/dist/types/src/components/RecordMain.d.ts +0 -7
  319. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  320. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  321. package/src/capabilities/schema-defs.ts +0 -31
  322. package/src/components/PersistenceStatus.tsx +0 -83
  323. package/src/components/RecordMain.tsx +0 -43
  324. /package/dist/lib/browser/{chunk-EIXZABXD.mjs.map → chunk-WJXU4GKV.mjs.map} +0 -0
  325. /package/dist/lib/browser/{settings-UYYJ225A.mjs.map → settings-TRLI52I5.mjs.map} +0 -0
  326. /package/dist/lib/browser/{state-BPU73TYO.mjs.map → state-C7N6EDDZ.mjs.map} +0 -0
  327. /package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs.map → chunk-H4JILUJK.mjs.map} +0 -0
  328. /package/dist/lib/node-esm/{settings-Q736OQRP.mjs.map → settings-MNQTKHL7.mjs.map} +0 -0
  329. /package/dist/lib/node-esm/{state-BY75TM32.mjs.map → state-45TXZQJ6.mjs.map} +0 -0
  330. /package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +0 -0
  331. /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-ADEZJQE3.mjs";
5
+ } from "./chunk-X34VDVMY.mjs";
6
6
  import {
7
7
  meta
8
- } from "./chunk-MWNATOXL.mjs";
8
+ } from "./chunk-BDEFTL6K.mjs";
9
9
 
10
10
  // src/util.tsx
11
- import { Rx } from "@effect-rx/rx-react";
11
+ import { Atom } from "@effect-atom/atom-react";
12
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";
14
+ import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
15
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, getTypenameFromQuery } 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
23
  var SPACES = `${meta.id}-spaces`;
24
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
  });
@@ -83,24 +83,25 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
83
83
  }
84
84
  };
85
85
  };
86
- var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
87
- const typename = getTypenameFromQuery(collection.query);
86
+ var getSystemCollectionNodePartials = ({ collection, space, resolve }) => {
87
+ const metadata = resolve(collection.key);
88
88
  return {
89
- icon: typename && resolve(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,
90
98
  acceptPersistenceClass: /* @__PURE__ */ new Set([
91
99
  "echo"
92
100
  ]),
93
101
  acceptPersistenceKey: /* @__PURE__ */ new Set([
94
102
  space.id
95
103
  ]),
96
- role: "branch",
97
- canDrop: (source) => {
98
- return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename;
99
- },
100
- onTransferStart: (child, index) => {
101
- },
102
- onTransferEnd: (child, destination) => {
103
- }
104
+ role: "branch"
104
105
  };
105
106
  };
106
107
  var getSchemaGraphNodePartials = () => {
@@ -109,29 +110,13 @@ var getSchemaGraphNodePartials = () => {
109
110
  canDrop: () => false
110
111
  };
111
112
  };
112
- var getViewGraphNodePartials = ({ view, resolve }) => {
113
- const presentation = view.presentation.target;
114
- const typename = presentation ? Obj.getTypename(presentation) : void 0;
115
- const metadata = typename ? resolve(typename) : {};
116
- return {
117
- label: view.name || [
118
- "object name placeholder",
119
- {
120
- ns: typename,
121
- default: "New view"
122
- }
123
- ],
124
- icon: metadata.icon,
125
- canDrop: () => false
126
- };
127
- };
128
113
  var checkPendingMigration = (space) => {
129
114
  return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
130
115
  };
131
116
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
132
117
  const hasPendingMigration = checkPendingMigration(space);
133
- const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
134
- 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({
135
120
  collection,
136
121
  space,
137
122
  resolve
@@ -154,6 +139,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
154
139
  description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
155
140
  hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
156
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,
157
143
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
158
144
  testId: "spacePlugin.space",
159
145
  canDrop: (source) => {
@@ -308,10 +294,12 @@ var createStaticSchemaNode = ({ schema, space }) => {
308
294
  "typename label",
309
295
  {
310
296
  ns: Type.getTypename(schema),
297
+ count: 2,
311
298
  default: Type.getTypename(schema)
312
299
  }
313
300
  ],
314
301
  icon: "ph--database--regular",
302
+ iconHue: "green",
315
303
  role: "branch",
316
304
  selectable: false,
317
305
  canDrop: () => false,
@@ -338,7 +326,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
338
326
  label: [
339
327
  "add view to schema label",
340
328
  {
341
- ns: Type.getTypename(DataType.StoredSchema)
329
+ ns: meta.id
342
330
  }
343
331
  ],
344
332
  icon: "ph--plus--regular",
@@ -356,7 +344,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
356
344
  label: [
357
345
  "rename object label",
358
346
  {
359
- ns: Type.getTypename(DataType.StoredSchema)
347
+ ns: Type.getTypename(Type.PersistentType)
360
348
  }
361
349
  ],
362
350
  icon: "ph--pencil-simple-line--regular",
@@ -378,7 +366,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
378
366
  label: [
379
367
  "delete object label",
380
368
  {
381
- ns: Type.getTypename(DataType.StoredSchema)
369
+ ns: Type.getTypename(Type.PersistentType)
382
370
  }
383
371
  ],
384
372
  icon: "ph--trash--regular",
@@ -386,28 +374,52 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
386
374
  disabled: !deletable,
387
375
  testId: "spacePlugin.deleteObject"
388
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
+ }
389
404
  }
390
405
  ];
391
406
  return actions;
392
407
  };
393
- var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, resolve }) => {
408
+ var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, managedCollectionChild = false, resolve }) => {
394
409
  const type = Obj.getTypename(object);
395
410
  if (!type) {
396
411
  return null;
397
412
  }
398
413
  const metadata = resolve(type);
399
- const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
414
+ const partials = Obj.instanceOf(Collection.Collection, object) ? getCollectionGraphNodePartials({
400
415
  collection: object,
401
416
  space,
402
417
  resolve
403
- }) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
418
+ }) : Obj.instanceOf(Collection.Managed, object) ? getSystemCollectionNodePartials({
404
419
  collection: object,
405
420
  space,
406
421
  resolve
407
- }) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
408
- view: object,
409
- resolve
410
- }) : metadata.graphProps;
422
+ }) : Obj.instanceOf(Type.PersistentType, object) ? getSchemaGraphNodePartials() : metadata.graphProps;
411
423
  const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
412
424
  metadata.label?.(object) || [
413
425
  "object name placeholder",
@@ -416,9 +428,9 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
416
428
  default: "New item"
417
429
  }
418
430
  ];
419
- const selectable = !Obj.instanceOf(DataType.StoredSchema, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.Collection, object) || navigable && Obj.instanceOf(DataType.Collection, object);
431
+ const selectable = !Obj.instanceOf(Type.PersistentType, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
420
432
  return {
421
- id: fullyQualifiedId(object),
433
+ id: Obj.getDXN(object).toString(),
422
434
  type,
423
435
  cacheable: [
424
436
  "label",
@@ -429,11 +441,22 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
429
441
  properties: {
430
442
  label,
431
443
  icon: metadata.icon ?? "ph--placeholder--regular",
444
+ iconHue: metadata.iconHue,
432
445
  disposition,
433
446
  testId: "spacePlugin.object",
434
447
  persistenceClass: "echo",
435
448
  persistenceKey: space?.id,
436
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
+ },
437
460
  canDrop: (source) => {
438
461
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
439
462
  },
@@ -441,11 +464,11 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
441
464
  }
442
465
  };
443
466
  };
444
- var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable = true, navigable = false }) => {
467
+ var constructObjectActions = ({ object, graph, dispatch, resolve, deletable = true, navigable = false }) => {
445
468
  const space = getSpace(object);
446
469
  invariant(space, "Space not found", {
447
470
  F: __dxlog_file,
448
- L: 526,
471
+ L: 548,
449
472
  S: void 0,
450
473
  A: [
451
474
  "space",
@@ -455,18 +478,20 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
455
478
  const typename = Obj.getTypename(object);
456
479
  invariant(typename, "Object has no typename", {
457
480
  F: __dxlog_file,
458
- L: 528,
481
+ L: 550,
459
482
  S: void 0,
460
483
  A: [
461
484
  "typename",
462
485
  "'Object has no typename'"
463
486
  ]
464
487
  });
465
- const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
466
- const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
467
- const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query)) : 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;
468
493
  const actions = [
469
- ...Obj.instanceOf(DataType.Collection, object) ? [
494
+ ...Obj.instanceOf(Collection.Collection, object) ? [
470
495
  {
471
496
  id: getId(SpaceAction.OpenCreateObject._tag),
472
497
  type: ACTION_TYPE,
@@ -488,7 +513,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
488
513
  }
489
514
  }
490
515
  ] : [],
491
- ...Obj.instanceOf(DataType.StoredSchema, object) ? [
516
+ ...Obj.instanceOf(Type.PersistentType, object) ? [
492
517
  {
493
518
  id: getId(SpaceAction.AddObject._tag),
494
519
  type: ACTION_TYPE,
@@ -505,27 +530,54 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
505
530
  label: [
506
531
  "add view to schema label",
507
532
  {
508
- ns: Type.getTypename(DataType.StoredSchema)
533
+ ns: meta.id
509
534
  }
510
535
  ],
511
536
  icon: "ph--plus--regular",
512
537
  disposition: "list-item-primary",
513
538
  testId: "spacePlugin.addViewToSchema"
514
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
+ }
515
567
  }
516
568
  ] : [],
517
- ...matchingObjectForm ? [
569
+ ...createObjectIntent ? [
518
570
  {
519
571
  id: getId(SpaceAction.OpenCreateObject._tag),
520
572
  type: ACTION_TYPE,
521
573
  data: async () => {
522
- if (matchingObjectForm.formSchema) {
574
+ if (inputSchema) {
523
575
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
524
576
  target: space,
525
- typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : void 0
577
+ typename: managedCollection ? managedCollection.key : void 0
526
578
  }));
527
579
  } else {
528
- await dispatch(Function.pipe(matchingObjectForm.getIntent({}, {
580
+ await dispatch(Function.pipe(createObjectIntent({}, {
529
581
  space
530
582
  }), chain(SpaceAction.AddObject, {
531
583
  target: space,
@@ -537,7 +589,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
537
589
  },
538
590
  properties: {
539
591
  label: [
540
- "create object in smart collection label",
592
+ "create object in system collection label",
541
593
  {
542
594
  ns: meta.id
543
595
  }
@@ -548,64 +600,66 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
548
600
  }
549
601
  }
550
602
  ] : [],
551
- {
552
- id: getId(SpaceAction.RenameObject._tag),
553
- type: ACTION_TYPE,
554
- data: async (params) => {
555
- await dispatch(createIntent(SpaceAction.RenameObject, {
556
- object,
557
- caller: params?.caller
558
- }));
559
- },
560
- properties: {
561
- label: [
562
- "rename object label",
563
- {
564
- ns: typename
565
- }
566
- ],
567
- icon: "ph--pencil-simple-line--regular",
568
- disposition: "list-item",
569
- // TODO(wittjosiah): Not working.
570
- // keyBinding: {
571
- // macos: 'shift+F6',
572
- // },
573
- testId: "spacePlugin.renameObject"
574
- }
575
- },
576
- {
577
- id: getId(SpaceAction.RemoveObjects._tag),
578
- type: ACTION_TYPE,
579
- data: async () => {
580
- const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
581
- await dispatch(createIntent(SpaceAction.RemoveObjects, {
582
- objects: [
583
- 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
+ }
584
619
  ],
585
- target: collection
586
- }));
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
+ }
587
628
  },
588
- properties: {
589
- label: [
590
- "delete object label",
591
- {
592
- ns: typename
593
- }
594
- ],
595
- icon: "ph--trash--regular",
596
- disposition: "list-item",
597
- disabled: !deletable,
598
- // TODO(wittjosiah): This is a browser shortcut.
599
- // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
600
- 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
+ }
601
655
  }
602
- },
603
- ...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) ? [
604
658
  {
605
659
  id: getId("copy-link"),
606
660
  type: ACTION_TYPE,
607
661
  data: async () => {
608
- const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
662
+ const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
609
663
  await navigator.clipboard.writeText(url);
610
664
  },
611
665
  properties: {
@@ -628,7 +682,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
628
682
  data: async () => {
629
683
  await dispatch(createIntent(LayoutAction.Expose, {
630
684
  part: "navigation",
631
- subject: fullyQualifiedId(object)
685
+ subject: Obj.getDXN(object).toString()
632
686
  }));
633
687
  },
634
688
  properties: {
@@ -646,6 +700,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
646
700
  ];
647
701
  return actions;
648
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
+ };
649
713
  var getNestedObjects = async (object, resolve) => {
650
714
  const type = Obj.getTypename(object);
651
715
  if (!type) {
@@ -670,7 +734,7 @@ var cloneObject = async (object, resolve, newSpace) => {
670
734
  const serializer = metadata.serializer;
671
735
  invariant(serializer, `No serializer for type: ${typename}`, {
672
736
  F: __dxlog_file,
673
- L: 722,
737
+ L: 788,
674
738
  S: void 0,
675
739
  A: [
676
740
  "serializer",
@@ -691,7 +755,7 @@ export {
691
755
  SPACES,
692
756
  COMPOSER_SPACE_LOCK,
693
757
  SHARED,
694
- rxFromQuery,
758
+ atomFromQuery,
695
759
  getSpaceDisplayName,
696
760
  constructSpaceNode,
697
761
  constructSpaceActions,
@@ -702,4 +766,4 @@ export {
702
766
  getNestedObjects,
703
767
  cloneObject
704
768
  };
705
- //# sourceMappingURL=chunk-ZFCCFELA.mjs.map
769
+ //# sourceMappingURL=chunk-I6FZP42D.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport type * as Schema from 'effect/Schema';\n\nimport { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';\nimport { type Database, type Entity, Filter, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { EXPANDO_TYPENAME } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n type ReadableGraph,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { type Space, SpaceState, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from './meta';\nimport { SPACE_TYPE, SpaceAction } from './types';\n\nexport const SPACES = `${meta.id}-spaces`;\nexport const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Atom value of the objects.\n */\nexport const atomFromQuery = <T extends Entity.Unknown>(query: Database.QueryResult<T>): Atom.Atom<T[]> => {\n return Atom.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name!\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: meta.id }]\n : ['unnamed space label', { ns: meta.id }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: Collection.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getSystemCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: Collection.Managed;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const metadata = resolve(collection.key);\n return {\n label: ['typename label', { ns: collection.key, count: 2 }],\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/properties`,\n data: `${meta.id}/properties`,\n properties: {\n label: ['space settings properties label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/members`,\n data: `${meta.id}/members`,\n properties: {\n label: ['members panel label', { ns: meta.id }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/schema`,\n data: `${meta.id}/schema`,\n properties: {\n label: ['space settings schema label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: meta.id }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: meta.id }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({\n schema,\n space,\n}: {\n schema: Schema.Schema.AnyNoContext;\n space: Space;\n}): Node => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${meta.id}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), count: 2, default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n iconHue: 'green',\n role: 'branch',\n selectable: false,\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n dispatch,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n dispatch: PromiseIntentDispatcher;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: NodeArg<ActionData>[] = [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n throw new Error('Not implemented');\n },\n properties: {\n label: ['rename object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n space.properties.staticRecords.splice(index, 1);\n }\n },\n properties: {\n label: ['delete object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n {\n id: getId(SpaceAction.Snapshot._tag),\n type: ACTION_TYPE,\n data: async () => {\n const result = await dispatch(\n createIntent(SpaceAction.Snapshot, {\n space,\n query: Query.select(Filter.type(schema)).ast,\n }),\n );\n if (result.data?.snapshot) {\n await downloadBlob(\n result.data.snapshot,\n // TODO(wittjosiah): Factor out file name construction.\n `${new Date().toISOString()}-${space.id}-${Type.getTypename(schema)}.json`,\n );\n }\n },\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n disposition,\n droppable = true,\n navigable = false,\n managedCollectionChild = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n managedCollectionChild?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(Collection.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(Collection.Managed, object)\n ? getSystemCollectionNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(Type.PersistentType, object)\n ? getSchemaGraphNodePartials()\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n const selectable =\n (!Obj.instanceOf(Type.PersistentType, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Collection.Collection, object)) ||\n (navigable && Obj.instanceOf(Collection.Collection, object));\n\n return {\n id: Obj.getDXN(object).toString(),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n iconHue: metadata.iconHue,\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n selectable,\n managedCollectionChild,\n blockInstruction: (source: TreeData, instruction: Instruction) => {\n if (source.item.properties.managedCollectionChild) {\n // TODO(wittjosiah): Support reordering system collections.\n // return !(managedCollectionChild && source.item.type === type && instruction.type.startsWith('reorder'));\n return true;\n }\n\n if (Obj.instanceOf(Collection.Managed, object)) {\n return !instruction.type.startsWith('reorder');\n }\n\n return managedCollectionChild;\n },\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n resolve,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n resolve: (typename: string) => Record<string, any>;\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;\n\n const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : undefined;\n const metadata = managedCollection ? resolve(managedCollection.key) : {};\n const createObjectIntent = metadata.createObjectIntent;\n const inputSchema = metadata.inputSchema;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(Type.PersistentType, object)\n ? [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.Snapshot._tag),\n type: ACTION_TYPE,\n data: async () => {\n const result = await dispatch(\n createIntent(SpaceAction.Snapshot, {\n space,\n query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast,\n }),\n );\n if (result.data?.snapshot) {\n await downloadBlob(\n result.data.snapshot,\n // TODO(wittjosiah): Factor out file name construction.\n `${new Date().toISOString()}-${space.id}-${object.typename}.json`,\n );\n }\n },\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ]\n : []),\n ...(createObjectIntent\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (inputSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: managedCollection ? managedCollection.key : undefined,\n }),\n );\n } else {\n await dispatch(\n Function.pipe(\n createObjectIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in system collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(managedCollection\n ? []\n : [\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(Obj.getDXN(object).toString(), 'inbound')\n .find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ]),\n ...(navigable ||\n (!Obj.instanceOf(Collection.Collection, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Type.PersistentType, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(LayoutAction.Expose, { part: 'navigation', subject: Obj.getDXN(object).toString() }),\n );\n },\n properties: {\n label: ['expose object label', { ns: meta.id }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n// TODO(wittjosiah): Factor out.\nconst downloadBlob = async (blob: Blob, filename: string) => {\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n\n document.body.appendChild(a);\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Any[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Obj.Any> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? EXPANDO_TYPENAME) : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "Function", "LayoutAction", "chain", "createIntent", "Filter", "Obj", "Query", "Ref", "Type", "EXPANDO_TYPENAME", "invariant", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "isGraphNode", "SpaceState", "getSpace", "isSpace", "ATTENDABLE_PATH_SEPARATOR", "Collection", "SPACES", "meta", "id", "COMPOSER_SPACE_LOCK", "SHARED", "atomFromQuery", "query", "Atom", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getSystemCollectionNodePartials", "metadata", "key", "label", "count", "icon", "iconHue", "getSchemaGraphNodePartials", "canDrop", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "Collection", "typename", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "description", "hue", "undefined", "disabled", "testId", "source", "item", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "getTypename", "default", "selectable", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "RenameObject", "Error", "PersistentType", "RemoveObjects", "staticRecords", "Snapshot", "Query", "select", "Filter", "ast", "snapshot", "downloadBlob", "Date", "toISOString", "createObjectNode", "droppable", "managedCollectionChild", "Managed", "graphProps", "getLabel", "getDXN", "toString", "persistenceClass", "persistenceKey", "blockInstruction", "instruction", "startsWith", "isGraphNode", "constructObjectActions", "graph", "getSpace", "invariant", "managedCollection", "createObjectIntent", "inputSchema", "toEffectSchema", "jsonSchema", "pipe", "chain", "hidden", "LayoutAction", "Open", "part", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "blob", "filename", "URL", "createObjectURL", "a", "document", "createElement", "href", "download", "body", "appendChild", "click", "removeChild", "revokeObjectURL", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }