@dxos/plugin-space 0.8.4-main.1f223c7 → 0.8.4-main.2c6827d

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 (337) 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-2BRUBHP6.mjs +141 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +144 -0
  6. package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs +116 -0
  8. package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-AFC6PNAB.mjs → app-graph-builder-3ZWAUCDM.mjs} +107 -96
  10. package/dist/lib/browser/app-graph-builder-3ZWAUCDM.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-Q7QG4EKW.mjs → app-graph-serializer-TIKXF43P.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-TIKXF43P.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
  14. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-S33AYKSS.mjs → chunk-KFUMADZF.mjs} +135 -62
  16. package/dist/lib/browser/chunk-KFUMADZF.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-NLFQFNYA.mjs +167 -0
  18. package/dist/lib/browser/chunk-NLFQFNYA.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-WZYRDFW7.mjs → chunk-VGKOXAPE.mjs} +26 -13
  20. package/dist/lib/browser/chunk-VGKOXAPE.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  22. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  24. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-6GRF7NEF.mjs → chunk-YGNDF37J.mjs} +553 -475
  26. package/dist/lib/browser/chunk-YGNDF37J.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-URST7EEN.mjs → chunk-ZQMSGD5J.mjs} +35 -19
  28. package/dist/lib/browser/chunk-ZQMSGD5J.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 -70
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-CO262Q44.mjs → intent-resolver-2RUHLO65.mjs} +90 -77
  34. package/dist/lib/browser/intent-resolver-2RUHLO65.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-47C75OBO.mjs +30 -0
  37. package/dist/lib/browser/react-root-47C75OBO.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-TPUOK2LC.mjs → react-surface-FAMKELOG.mjs} +71 -105
  39. package/dist/lib/browser/react-surface-FAMKELOG.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-YDPFZELA.mjs → schema-defs-QPI2JU3X.mjs} +6 -6
  41. package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-ZYH2JWNI.mjs → settings-45PGPO2V.mjs} +5 -5
  43. package/dist/lib/browser/{settings-ZYH2JWNI.mjs.map → settings-45PGPO2V.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-3I5LISH4.mjs → spaces-ready-QCND4DVY.mjs} +15 -14
  45. package/dist/lib/browser/spaces-ready-QCND4DVY.mjs.map +7 -0
  46. package/dist/lib/browser/{state-2RGW7FQG.mjs → state-Q7YRE5KG.mjs} +7 -7
  47. package/dist/lib/browser/state-Q7YRE5KG.mjs.map +7 -0
  48. package/dist/lib/browser/types/index.mjs +2 -2
  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-6PZQIQG3.mjs +142 -0
  52. package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +145 -0
  54. package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
  55. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs +117 -0
  56. package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +7 -0
  57. package/dist/lib/node-esm/{app-graph-builder-OW2EBYRI.mjs → app-graph-builder-WABE3AIY.mjs} +107 -96
  58. package/dist/lib/node-esm/app-graph-builder-WABE3AIY.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-6PGC5WR5.mjs → app-graph-serializer-BESQZAYU.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-BESQZAYU.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-RXDT5LA5.mjs → chunk-6VEONPNZ.mjs} +35 -19
  62. package/dist/lib/node-esm/chunk-6VEONPNZ.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  64. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  66. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-TEUN2E4F.mjs → chunk-OK2L7N2F.mjs} +135 -62
  68. package/dist/lib/node-esm/chunk-OK2L7N2F.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-LGNPMOXU.mjs → chunk-QBRPYAEL.mjs} +26 -13
  70. package/dist/lib/node-esm/chunk-QBRPYAEL.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-NMCD2PSG.mjs → chunk-SW4ETU2Z.mjs} +553 -475
  72. package/dist/lib/node-esm/chunk-SW4ETU2Z.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-TFC3EU3B.mjs +168 -0
  74. package/dist/lib/node-esm/chunk-TFC3EU3B.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +21 -0
  76. package/dist/lib/node-esm/chunk-Z7BB6HC2.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 -70
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-EXPK4B76.mjs → intent-resolver-CPGECQZ6.mjs} +90 -77
  82. package/dist/lib/node-esm/intent-resolver-CPGECQZ6.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-4OQ7MPGW.mjs → react-root-OU6IPRCL.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-OU6IPRCL.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-WXEXIDB7.mjs → react-surface-GAE5KB23.mjs} +71 -105
  87. package/dist/lib/node-esm/react-surface-GAE5KB23.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-OYBCWKAS.mjs → schema-defs-ZS2D47XW.mjs} +6 -6
  89. package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +7 -0
  90. package/dist/lib/node-esm/{settings-2RYFMMTP.mjs → settings-6FO65BA6.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-2RYFMMTP.mjs.map → settings-6FO65BA6.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-JAP22P57.mjs → spaces-ready-P7CKVXBE.mjs} +15 -14
  93. package/dist/lib/node-esm/spaces-ready-P7CKVXBE.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-7VBVBGNS.mjs → state-362I5BMK.mjs} +7 -7
  95. package/dist/lib/node-esm/state-362I5BMK.mjs.map +7 -0
  96. package/dist/lib/node-esm/types/index.mjs +2 -2
  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 +6 -5
  101. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  106. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  107. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  108. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  109. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  110. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
  112. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  113. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +120 -1
  114. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  115. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +3 -3
  116. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  117. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  118. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  119. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  120. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  121. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  122. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  123. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  124. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1707 -0
  125. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
  126. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  127. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  128. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  129. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  130. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  131. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  132. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  133. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  134. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  135. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  136. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  137. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  138. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  139. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  140. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1540 -0
  141. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  142. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  143. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  144. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  145. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  146. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  147. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  148. package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +121 -2
  149. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  150. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  151. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  152. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  153. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  154. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  155. package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +122 -3
  156. package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
  157. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  158. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  159. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  160. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  161. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  162. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  163. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  164. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +120 -1
  165. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  167. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +121 -2
  168. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  169. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  170. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  171. package/dist/types/src/components/index.d.ts +10 -17
  172. package/dist/types/src/components/index.d.ts.map +1 -1
  173. package/dist/types/src/events.d.ts.map +1 -1
  174. package/dist/types/src/helpers/index.d.ts +2 -0
  175. package/dist/types/src/helpers/index.d.ts.map +1 -0
  176. package/dist/types/src/helpers/query.d.ts +8 -0
  177. package/dist/types/src/helpers/query.d.ts.map +1 -0
  178. package/dist/types/src/helpers/query.test.d.ts +2 -0
  179. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  180. package/dist/types/src/hooks/index.d.ts +1 -0
  181. package/dist/types/src/hooks/index.d.ts.map +1 -1
  182. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  183. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  184. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  185. package/dist/types/src/hooks/usePath.d.ts +1 -1
  186. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  187. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  188. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  189. package/dist/types/src/index.d.ts +1 -0
  190. package/dist/types/src/index.d.ts.map +1 -1
  191. package/dist/types/src/meta.d.ts +0 -1
  192. package/dist/types/src/meta.d.ts.map +1 -1
  193. package/dist/types/src/translations.d.ts +120 -0
  194. package/dist/types/src/translations.d.ts.map +1 -1
  195. package/dist/types/src/types/types.d.ts +70 -55
  196. package/dist/types/src/types/types.d.ts.map +1 -1
  197. package/dist/types/src/util.d.ts +10 -7
  198. package/dist/types/src/util.d.ts.map +1 -1
  199. package/dist/types/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +65 -60
  201. package/src/SpacePlugin.ts +228 -200
  202. package/src/capabilities/app-graph-builder.ts +157 -121
  203. package/src/capabilities/app-graph-serializer.ts +12 -12
  204. package/src/capabilities/capabilities.ts +16 -11
  205. package/src/capabilities/identity-created.ts +2 -2
  206. package/src/capabilities/intent-resolver.ts +76 -60
  207. package/src/capabilities/react-root.tsx +4 -3
  208. package/src/capabilities/react-surface.tsx +65 -141
  209. package/src/capabilities/schema-defs.ts +1 -1
  210. package/src/capabilities/spaces-ready.ts +8 -5
  211. package/src/capabilities/state.ts +2 -2
  212. package/src/components/AwaitingObject.tsx +12 -14
  213. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  214. package/src/components/CollectionSection.tsx +8 -6
  215. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -11
  216. package/src/components/CreateDialog/CreateObjectDialog.tsx +36 -28
  217. package/src/components/CreateDialog/CreateObjectPanel.tsx +8 -8
  218. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  219. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  220. package/src/components/JoinDialog/index.ts +5 -0
  221. package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +7 -6
  222. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +16 -14
  223. package/src/components/MembersContainer/index.ts +5 -0
  224. package/src/components/MenuFooter.tsx +2 -2
  225. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  226. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  227. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  228. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
  229. package/src/components/ObjectRenamePopover/index.ts +5 -0
  230. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +3 -3
  231. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  232. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  233. package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
  234. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +1 -1
  235. package/src/components/ObjectSettings/index.ts +3 -1
  236. package/src/components/RecordArticle.stories.tsx +115 -0
  237. package/src/components/RecordArticle.tsx +114 -0
  238. package/src/components/SchemaContainer.tsx +23 -26
  239. package/src/components/SpacePluginSettings.tsx +10 -4
  240. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +23 -25
  241. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
  242. package/src/components/SpacePresence/index.ts +5 -0
  243. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  244. package/src/components/SpaceRenamePopover/index.ts +5 -0
  245. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
  246. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +44 -23
  247. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  248. package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
  249. package/src/components/SyncStatus/SyncStatus.tsx +107 -11
  250. package/src/components/ViewEditor.tsx +51 -18
  251. package/src/components/index.ts +7 -8
  252. package/src/events.ts +6 -6
  253. package/src/helpers/index.ts +5 -0
  254. package/src/helpers/query.test.ts +24 -0
  255. package/src/helpers/query.ts +158 -0
  256. package/src/hooks/index.ts +1 -0
  257. package/src/hooks/useActiveSpace.ts +2 -1
  258. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  259. package/src/hooks/usePath.ts +1 -1
  260. package/src/hooks/useTypeOptions.ts +59 -0
  261. package/src/index.ts +1 -0
  262. package/src/meta.ts +6 -3
  263. package/src/translations.ts +25 -10
  264. package/src/types/types.ts +33 -18
  265. package/src/util.tsx +141 -63
  266. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  267. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs +0 -90
  268. package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs.map +0 -7
  269. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  270. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  271. package/dist/lib/browser/app-graph-builder-AFC6PNAB.mjs.map +0 -7
  272. package/dist/lib/browser/app-graph-serializer-Q7QG4EKW.mjs.map +0 -7
  273. package/dist/lib/browser/chunk-6GRF7NEF.mjs.map +0 -7
  274. package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
  275. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
  276. package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
  277. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  278. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  279. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  280. package/dist/lib/browser/chunk-S33AYKSS.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
  282. package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-URST7EEN.mjs.map +0 -7
  284. package/dist/lib/browser/chunk-WZYRDFW7.mjs.map +0 -7
  285. package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
  286. package/dist/lib/browser/intent-resolver-CO262Q44.mjs.map +0 -7
  287. package/dist/lib/browser/react-root-K4IVLFYZ.mjs +0 -29
  288. package/dist/lib/browser/react-root-K4IVLFYZ.mjs.map +0 -7
  289. package/dist/lib/browser/react-surface-TPUOK2LC.mjs.map +0 -7
  290. package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
  291. package/dist/lib/browser/spaces-ready-3I5LISH4.mjs.map +0 -7
  292. package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
  293. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  294. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs +0 -91
  295. package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs.map +0 -7
  296. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  297. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  298. package/dist/lib/node-esm/app-graph-builder-OW2EBYRI.mjs.map +0 -7
  299. package/dist/lib/node-esm/app-graph-serializer-6PGC5WR5.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
  301. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
  303. package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +0 -7
  304. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  305. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-LGNPMOXU.mjs.map +0 -7
  307. package/dist/lib/node-esm/chunk-NMCD2PSG.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
  309. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  310. package/dist/lib/node-esm/chunk-RXDT5LA5.mjs.map +0 -7
  311. package/dist/lib/node-esm/chunk-TEUN2E4F.mjs.map +0 -7
  312. package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
  313. package/dist/lib/node-esm/intent-resolver-EXPK4B76.mjs.map +0 -7
  314. package/dist/lib/node-esm/react-root-4OQ7MPGW.mjs.map +0 -7
  315. package/dist/lib/node-esm/react-surface-WXEXIDB7.mjs.map +0 -7
  316. package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
  317. package/dist/lib/node-esm/spaces-ready-JAP22P57.mjs.map +0 -7
  318. package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
  319. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  320. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  321. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  322. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  323. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  324. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  325. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  326. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  327. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  328. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  329. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  330. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  331. package/dist/types/src/components/RecordMain.d.ts +0 -7
  332. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  333. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  334. package/src/components/ObjectDetailsPanel.tsx +0 -79
  335. package/src/components/PersistenceStatus.tsx +0 -83
  336. package/src/components/RecordMain.tsx +0 -43
  337. /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
@@ -1,31 +1,31 @@
1
1
  import {
2
2
  translations
3
- } from "./chunk-WZYRDFW7.mjs";
3
+ } from "./chunk-VGKOXAPE.mjs";
4
4
  import {
5
5
  SPACES
6
- } from "./chunk-S33AYKSS.mjs";
6
+ } from "./chunk-KFUMADZF.mjs";
7
7
  import {
8
8
  SPACE_TYPE,
9
9
  SpaceAction
10
- } from "./chunk-URST7EEN.mjs";
10
+ } from "./chunk-ZQMSGD5J.mjs";
11
11
  import {
12
- SPACE_PLUGIN
13
- } from "./chunk-FBCGT5YY.mjs";
12
+ meta
13
+ } from "./chunk-VZBIIYFM.mjs";
14
14
 
15
15
  // src/capabilities/app-graph-serializer.ts
16
16
  import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
17
17
  import { isSpace } from "@dxos/client/echo";
18
- import { Obj, Type } from "@dxos/echo";
19
- import { DataType } from "@dxos/schema";
20
- var COLLECTION_TYPE = Type.getTypename(DataType.Collection);
18
+ import { Obj } from "@dxos/echo";
19
+ import { Collection } from "@dxos/schema";
20
+ var COLLECTION_TYPE = Collection.Collection.typename;
21
21
  var DIRECTORY_TYPE = "text/directory";
22
- var app_graph_serializer_default = (context) => contributes(Capabilities.AppGraphSerializer, [
22
+ var app_graph_serializer_default = ((context) => contributes(Capabilities.AppGraphSerializer, [
23
23
  {
24
24
  inputType: SPACES,
25
25
  outputType: DIRECTORY_TYPE,
26
26
  serialize: (node) => ({
27
- name: translations[0]["en-US"][SPACE_PLUGIN]["spaces label"] ?? "Spaces",
28
- data: translations[0]["en-US"][SPACE_PLUGIN]["spaces label"] ?? "Spaces",
27
+ name: translations[0]["en-US"][meta.id]["spaces label"] ?? "Spaces",
28
+ data: translations[0]["en-US"][meta.id]["spaces label"] ?? "Spaces",
29
29
  type: DIRECTORY_TYPE
30
30
  }),
31
31
  deserialize: () => {
@@ -35,8 +35,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
35
35
  inputType: SPACE_TYPE,
36
36
  outputType: DIRECTORY_TYPE,
37
37
  serialize: (node) => ({
38
- name: node.data.properties.name ?? translations[0]["en-US"][SPACE_PLUGIN]["unnamed space label"],
39
- data: node.data.properties.name ?? translations[0]["en-US"][SPACE_PLUGIN]["unnamed space label"],
38
+ name: node.data.properties.name ?? translations[0]["en-US"][meta.id]["unnamed space label"],
39
+ data: node.data.properties.name ?? translations[0]["en-US"][meta.id]["unnamed space label"],
40
40
  type: DIRECTORY_TYPE
41
41
  }),
42
42
  deserialize: async (data) => {
@@ -52,20 +52,20 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
52
52
  inputType: COLLECTION_TYPE,
53
53
  outputType: DIRECTORY_TYPE,
54
54
  serialize: (node) => ({
55
- name: node.data.name ?? translations[0]["en-US"][SPACE_PLUGIN]["object name placeholder"],
56
- data: node.data.name ?? translations[0]["en-US"][SPACE_PLUGIN]["object name placeholder"],
55
+ name: node.data.name ?? translations[0]["en-US"][meta.id]["object name placeholder"],
56
+ data: node.data.name ?? translations[0]["en-US"][meta.id]["object name placeholder"],
57
57
  type: DIRECTORY_TYPE
58
58
  }),
59
59
  deserialize: async (data, ancestors) => {
60
60
  const space = ancestors.find(isSpace);
61
- const collection = ancestors.findLast((ancestor) => Obj.instanceOf(DataType.Collection, ancestor)) ?? space?.properties[COLLECTION_TYPE]?.target;
61
+ const collection = ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ?? space?.properties[COLLECTION_TYPE]?.target;
62
62
  if (!space || !collection) {
63
63
  return;
64
64
  }
65
65
  const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
66
66
  const result = await dispatch(createIntent(SpaceAction.AddObject, {
67
67
  target: collection,
68
- object: Obj.make(DataType.Collection, {
68
+ object: Obj.make(Collection.Collection, {
69
69
  name: data.name,
70
70
  objects: []
71
71
  })
@@ -73,8 +73,8 @@ var app_graph_serializer_default = (context) => contributes(Capabilities.AppGrap
73
73
  return result.data?.object;
74
74
  }
75
75
  }
76
- ]);
76
+ ]));
77
77
  export {
78
78
  app_graph_serializer_default as default
79
79
  };
80
- //# sourceMappingURL=app-graph-serializer-Q7QG4EKW.mjs.map
80
+ //# sourceMappingURL=app-graph-serializer-TIKXF43P.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-serializer.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { Obj } from '@dxos/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { translations } from '../translations';\nimport { SPACE_TYPE, SpaceAction } from '../types';\nimport { SPACES } from '../util';\n\nconst COLLECTION_TYPE = Collection.Collection.typename;\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n data: translations[0]['en-US'][meta.id]['spaces label'] ?? 'Spaces',\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][meta.id]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(createIntent(SpaceAction.Create, { name: data.name, edgeReplication: true }));\n return result.data?.space;\n },\n },\n {\n inputType: COLLECTION_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][meta.id]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => Obj.instanceOf(Collection.Collection, ancestor)) ??\n space?.properties[COLLECTION_TYPE]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n createIntent(SpaceAction.AddObject, {\n target: collection,\n object: Obj.make(Collection.Collection, { name: data.name, objects: [] }),\n }),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAIA,SAASA,cAAkCC,aAAaC,oBAAoB;AAC5E,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAO3B,IAAMC,kBAAkBC,WAAWA,WAAWC;AAG9C,IAAMC,iBAAiB;AAEvB,IAAA,gCAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;MAC3DC,MAAMH,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,cAAA,KAAmB;MAC3DE,MAAMf;IACR;IACAgB,aAAa,MAAA;IAEb;EACF;EACA;IACEX,WAAWY;IACXV,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;MACrEC,MAAML,KAAKK,KAAKI,WAAWR,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,qBAAA;MACrEE,MAAMf;IACR;IACAgB,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKnB,QAAQoB,cAAclB,aAAamB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SAASI,aAAaC,YAAYC,QAAQ;QAAEhB,MAAMI,KAAKJ;QAAMiB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEvB,WAAWR;IACXU,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;MAC1DC,MAAML,KAAKK,KAAKJ,QAAQC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE,EAAE,yBAAA;MAC1DE,MAAMf;IACR;IACAgB,aAAa,OAAOF,MAAMe,cAAAA;AACxB,YAAMD,QAAQC,UAAUC,KAAKC,OAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaC,IAAIC,WAAWtC,WAAWA,YAAYoC,QAAAA,CAAAA,KACvEN,OAAOV,WAAWrB,eAAAA,GAAkBwC;AACtC,UAAI,CAACT,SAAS,CAACI,YAAY;AACzB;MACF;AAEA,YAAM,EAAEb,iBAAiBC,SAAQ,IAAKnB,QAAQoB,cAAclB,aAAamB,gBAAgB;AACzF,YAAMC,SAAS,MAAMH,SACnBI,aAAaC,YAAYa,WAAW;QAClCD,QAAQL;QACRO,QAAQJ,IAAIK,KAAK1C,WAAWA,YAAY;UAAEY,MAAMI,KAAKJ;UAAM+B,SAAS,CAAA;QAAG,CAAA;MACzE,CAAA,CAAA;AAGF,aAAOlB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "isSpace", "Obj", "Collection", "COLLECTION_TYPE", "Collection", "typename", "DIRECTORY_TYPE", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "meta", "id", "data", "type", "deserialize", "SPACE_TYPE", "properties", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "Obj", "instanceOf", "target", "AddObject", "object", "make", "objects"]
7
+ }
@@ -0,0 +1,20 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-VZBIIYFM.mjs";
4
+
5
+ // src/capabilities/capabilities.ts
6
+ import { defineCapability } from "@dxos/app-framework";
7
+ (function(SpaceCapabilities2) {
8
+ SpaceCapabilities2.State = defineCapability(`${meta.id}/capability/state`);
9
+ SpaceCapabilities2.MutableState = defineCapability(`${meta.id}/capability/state`);
10
+ SpaceCapabilities2.SettingsSection = defineCapability(`${meta.id}/capability/settings-section`);
11
+ SpaceCapabilities2.onCreateSpace = defineCapability(`${meta.id}/capability/on-space-created`);
12
+ SpaceCapabilities2.OnSchemaAdded = defineCapability(`${meta.id}/capability/on-schema-added`);
13
+ SpaceCapabilities2.ObjectForm = defineCapability(`${meta.id}/capability/object-form`);
14
+ })(SpaceCapabilities || (SpaceCapabilities = {}));
15
+ var SpaceCapabilities;
16
+
17
+ export {
18
+ SpaceCapabilities
19
+ };
20
+ //# sourceMappingURL=chunk-K5J7ZB5P.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/capabilities.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\n\nimport { type AnyIntentChain, type Label, defineCapability } from '@dxos/app-framework';\nimport { type Space } from '@dxos/react-client/echo';\nimport { type Collection } from '@dxos/schema';\nimport { type DeepReadonly, type Position } from '@dxos/util';\n\nimport { meta } from '../meta';\nimport { type ObjectForm, type PluginState } from '../types';\n\nexport namespace SpaceCapabilities {\n export const State = defineCapability<DeepReadonly<PluginState>>(`${meta.id}/capability/state`);\n export const MutableState = defineCapability<PluginState>(`${meta.id}/capability/state`);\n\n export type SettingsSection = { id: string; label: Label; position?: Position };\n export const SettingsSection = defineCapability<SettingsSection>(`${meta.id}/capability/settings-section`);\n\n export type onCreateSpace = (params: { space: Space; rootCollection: Collection.Collection }) => AnyIntentChain;\n export const onCreateSpace = defineCapability<onCreateSpace>(`${meta.id}/capability/on-space-created`);\n\n export type OnSchemaAdded = (params: {\n space: Space;\n schema: Schema.Schema.AnyNoContext;\n // TODO(wittjosiah): This is leaky.\n show?: boolean;\n }) => AnyIntentChain;\n export const OnSchemaAdded = defineCapability<OnSchemaAdded>(`${meta.id}/capability/on-schema-added`);\n\n // TODO(burdon): Should this be view? Forms are UI concepts? (associated with a View/schema).\n export const ObjectForm = defineCapability<ObjectForm<any>>(`${meta.id}/capability/object-form`);\n}\n"],
5
+ "mappings": ";;;;;AAMA,SAA0CA,wBAAwB;UAQjDC,oBAAAA;qBACFC,QAAQC,iBAA4C,GAAGC,KAAKC,EAAE,mBAAmB;qBACjFC,eAAeH,iBAA8B,GAAGC,KAAKC,EAAE,mBAAmB;qBAG1EE,kBAAkBJ,iBAAkC,GAAGC,KAAKC,EAAE,8BAA8B;qBAG5FG,gBAAgBL,iBAAgC,GAAGC,KAAKC,EAAE,8BAA8B;qBAQxFI,gBAAgBN,iBAAgC,GAAGC,KAAKC,EAAE,6BAA6B;qBAGvFK,aAAaP,iBAAkC,GAAGC,KAAKC,EAAE,yBAAyB;AACjG,GApBiBJ,sBAAAA,oBAAAA,CAAAA,EAAAA;;",
6
+ "names": ["defineCapability", "SpaceCapabilities", "State", "defineCapability", "meta", "id", "MutableState", "SettingsSection", "onCreateSpace", "OnSchemaAdded", "ObjectForm"]
7
+ }
@@ -1,29 +1,29 @@
1
1
  import {
2
2
  SPACE_TYPE,
3
3
  SpaceAction
4
- } from "./chunk-URST7EEN.mjs";
4
+ } from "./chunk-ZQMSGD5J.mjs";
5
5
  import {
6
- SPACE_PLUGIN
7
- } from "./chunk-FBCGT5YY.mjs";
6
+ meta
7
+ } from "./chunk-VZBIIYFM.mjs";
8
8
 
9
9
  // src/util.tsx
10
- import { Rx } from "@effect-rx/rx-react";
11
- import { pipe } from "effect";
10
+ import { Atom } from "@effect-atom/atom-react";
11
+ import * as Function from "effect/Function";
12
12
  import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
13
- import { Obj, Ref, Type } from "@dxos/echo";
14
- import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
13
+ import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
14
+ import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
15
15
  import { invariant } from "@dxos/invariant";
16
16
  import { Migrations } from "@dxos/migrations";
17
17
  import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
18
- import { SpaceState, fullyQualifiedId, getSpace, isSpace } from "@dxos/react-client/echo";
18
+ import { SpaceState, getSpace, isSpace } from "@dxos/react-client/echo";
19
19
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
20
- import { DataType, typenameFromQuery } from "@dxos/schema";
20
+ import { Collection, StoredSchema, View, getTypenameFromQuery } from "@dxos/schema";
21
21
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
22
- var SPACES = `${SPACE_PLUGIN}-spaces`;
23
- var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
22
+ var SPACES = `${meta.id}-spaces`;
23
+ var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
24
24
  var SHARED = "shared-spaces";
25
- var rxFromQuery = (query) => {
26
- return Rx.make((get) => {
25
+ var atomFromQuery = (query) => {
26
+ return Atom.make((get) => {
27
27
  const unsubscribe = query.subscribe((result) => {
28
28
  get.setSelf(result.objects);
29
29
  });
@@ -35,12 +35,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
35
35
  return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
36
36
  "personal space label",
37
37
  {
38
- ns: SPACE_PLUGIN
38
+ ns: meta.id
39
39
  }
40
40
  ] : [
41
41
  "unnamed space label",
42
42
  {
43
- ns: SPACE_PLUGIN
43
+ ns: meta.id
44
44
  }
45
45
  ];
46
46
  };
@@ -83,9 +83,11 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
83
83
  };
84
84
  };
85
85
  var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
86
- const typename = typenameFromQuery(collection.query);
86
+ const typename = getTypenameFromQuery(collection.query);
87
+ const metadata = typename ? resolve(typename) : {};
87
88
  return {
88
- icon: typename && resolve(typename)?.icon,
89
+ icon: metadata.icon,
90
+ iconHue: metadata.iconHue,
89
91
  acceptPersistenceClass: /* @__PURE__ */ new Set([
90
92
  "echo"
91
93
  ]),
@@ -121,6 +123,7 @@ var getViewGraphNodePartials = ({ view, resolve }) => {
121
123
  }
122
124
  ],
123
125
  icon: metadata.icon,
126
+ iconHue: metadata.iconHue,
124
127
  canDrop: () => false
125
128
  };
126
129
  };
@@ -129,8 +132,8 @@ var checkPendingMigration = (space) => {
129
132
  };
130
133
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
131
134
  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({
135
+ const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
136
+ const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection) ? getCollectionGraphNodePartials({
134
137
  collection,
135
138
  space,
136
139
  resolve
@@ -153,6 +156,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
153
156
  description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
154
157
  hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
155
158
  icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
159
+ iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
156
160
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
157
161
  testId: "spacePlugin.space",
158
162
  canDrop: (source) => {
@@ -162,13 +166,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
162
166
  nodes: [
163
167
  {
164
168
  id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
165
- type: `${SPACE_PLUGIN}/settings`,
169
+ type: `${meta.id}/settings`,
166
170
  data: null,
167
171
  properties: {
168
172
  label: [
169
173
  "settings panel label",
170
174
  {
171
- ns: SPACE_PLUGIN
175
+ ns: meta.id
172
176
  }
173
177
  ],
174
178
  icon: "ph--faders--regular",
@@ -177,13 +181,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
177
181
  nodes: [
178
182
  {
179
183
  id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
180
- type: `${SPACE_PLUGIN}/properties`,
181
- data: `${SPACE_PLUGIN}/properties`,
184
+ type: `${meta.id}/properties`,
185
+ data: `${meta.id}/properties`,
182
186
  properties: {
183
187
  label: [
184
188
  "space settings properties label",
185
189
  {
186
- ns: SPACE_PLUGIN
190
+ ns: meta.id
187
191
  }
188
192
  ],
189
193
  icon: "ph--sliders--regular",
@@ -192,13 +196,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
192
196
  },
193
197
  {
194
198
  id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
195
- type: `${SPACE_PLUGIN}/members`,
196
- data: `${SPACE_PLUGIN}/members`,
199
+ type: `${meta.id}/members`,
200
+ data: `${meta.id}/members`,
197
201
  properties: {
198
202
  label: [
199
203
  "members panel label",
200
204
  {
201
- ns: SPACE_PLUGIN
205
+ ns: meta.id
202
206
  }
203
207
  ],
204
208
  icon: "ph--users--regular",
@@ -207,13 +211,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
207
211
  },
208
212
  {
209
213
  id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
210
- type: `${SPACE_PLUGIN}/schema`,
211
- data: `${SPACE_PLUGIN}/schema`,
214
+ type: `${meta.id}/schema`,
215
+ data: `${meta.id}/schema`,
212
216
  properties: {
213
217
  label: [
214
218
  "space settings schema label",
215
219
  {
216
- ns: SPACE_PLUGIN
220
+ ns: meta.id
217
221
  }
218
222
  ],
219
223
  icon: "ph--shapes--regular"
@@ -242,7 +246,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
242
246
  label: [
243
247
  "migrate space label",
244
248
  {
245
- ns: SPACE_PLUGIN
249
+ ns: meta.id
246
250
  }
247
251
  ],
248
252
  icon: "ph--database--regular",
@@ -264,7 +268,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
264
268
  label: [
265
269
  "create object in space label",
266
270
  {
267
- ns: SPACE_PLUGIN
271
+ ns: meta.id
268
272
  }
269
273
  ],
270
274
  icon: "ph--plus--regular",
@@ -284,7 +288,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
284
288
  label: [
285
289
  "rename space label",
286
290
  {
287
- ns: SPACE_PLUGIN
291
+ ns: meta.id
288
292
  }
289
293
  ],
290
294
  icon: "ph--pencil-simple-line--regular",
@@ -300,7 +304,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
300
304
  var createStaticSchemaNode = ({ schema, space }) => {
301
305
  return {
302
306
  id: `${space.id}/${Type.getTypename(schema)}`,
303
- type: `${SPACE_PLUGIN}/static-schema`,
307
+ type: `${meta.id}/static-schema`,
304
308
  data: schema,
305
309
  properties: {
306
310
  label: [
@@ -311,7 +315,9 @@ var createStaticSchemaNode = ({ schema, space }) => {
311
315
  }
312
316
  ],
313
317
  icon: "ph--database--regular",
318
+ iconHue: "green",
314
319
  role: "branch",
320
+ selectable: false,
315
321
  canDrop: () => false,
316
322
  space
317
323
  }
@@ -336,7 +342,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
336
342
  label: [
337
343
  "add view to schema label",
338
344
  {
339
- ns: Type.getTypename(DataType.StoredSchema)
345
+ ns: Type.getTypename(StoredSchema)
340
346
  }
341
347
  ],
342
348
  icon: "ph--plus--regular",
@@ -354,7 +360,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
354
360
  label: [
355
361
  "rename object label",
356
362
  {
357
- ns: Type.getTypename(DataType.StoredSchema)
363
+ ns: Type.getTypename(StoredSchema)
358
364
  }
359
365
  ],
360
366
  icon: "ph--pencil-simple-line--regular",
@@ -376,7 +382,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
376
382
  label: [
377
383
  "delete object label",
378
384
  {
379
- ns: Type.getTypename(DataType.StoredSchema)
385
+ ns: Type.getTypename(StoredSchema)
380
386
  }
381
387
  ],
382
388
  icon: "ph--trash--regular",
@@ -384,6 +390,33 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
384
390
  disabled: !deletable,
385
391
  testId: "spacePlugin.deleteObject"
386
392
  }
393
+ },
394
+ {
395
+ id: getId(SpaceAction.Snapshot._tag),
396
+ type: ACTION_TYPE,
397
+ data: async () => {
398
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
399
+ space,
400
+ query: Query.select(Filter.type(schema)).ast
401
+ }));
402
+ if (result.data?.snapshot) {
403
+ await downloadBlob(
404
+ result.data.snapshot,
405
+ // TODO(wittjosiah): Factor out file name construction.
406
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${Type.getTypename(schema)}.json`
407
+ );
408
+ }
409
+ },
410
+ properties: {
411
+ label: [
412
+ "snapshot by schema label",
413
+ {
414
+ ns: meta.id
415
+ }
416
+ ],
417
+ icon: "ph--camera--regular",
418
+ disposition: "list-item"
419
+ }
387
420
  }
388
421
  ];
389
422
  return actions;
@@ -394,15 +427,15 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
394
427
  return null;
395
428
  }
396
429
  const metadata = resolve(type);
397
- const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
430
+ const partials = Obj.instanceOf(Collection.Collection, object) ? getCollectionGraphNodePartials({
398
431
  collection: object,
399
432
  space,
400
433
  resolve
401
- }) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
434
+ }) : Obj.instanceOf(Collection.QueryCollection, object) ? getQueryCollectionNodePartials({
402
435
  collection: object,
403
436
  space,
404
437
  resolve
405
- }) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
438
+ }) : Obj.instanceOf(StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(View.View, object) ? getViewGraphNodePartials({
406
439
  view: object,
407
440
  resolve
408
441
  }) : metadata.graphProps;
@@ -414,8 +447,9 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
414
447
  default: "New item"
415
448
  }
416
449
  ];
450
+ const selectable = !Obj.instanceOf(StoredSchema, object) && !Obj.instanceOf(Collection.QueryCollection, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
417
451
  return {
418
- id: fullyQualifiedId(object),
452
+ id: Obj.getDXN(object).toString(),
419
453
  type,
420
454
  cacheable: [
421
455
  "label",
@@ -426,10 +460,12 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
426
460
  properties: {
427
461
  label,
428
462
  icon: metadata.icon ?? "ph--placeholder--regular",
463
+ iconHue: metadata.iconHue,
429
464
  disposition,
430
465
  testId: "spacePlugin.object",
431
466
  persistenceClass: "echo",
432
467
  persistenceKey: space?.id,
468
+ selectable,
433
469
  canDrop: (source) => {
434
470
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
435
471
  },
@@ -441,7 +477,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
441
477
  const space = getSpace(object);
442
478
  invariant(space, "Space not found", {
443
479
  F: __dxlog_file,
444
- L: 518,
480
+ L: 556,
445
481
  S: void 0,
446
482
  A: [
447
483
  "space",
@@ -451,18 +487,18 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
451
487
  const typename = Obj.getTypename(object);
452
488
  invariant(typename, "Object has no typename", {
453
489
  F: __dxlog_file,
454
- L: 520,
490
+ L: 558,
455
491
  S: void 0,
456
492
  A: [
457
493
  "typename",
458
494
  "'Object has no typename'"
459
495
  ]
460
496
  });
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) === typenameFromQuery(queryCollection.query)) : void 0;
497
+ const getId = (id) => `${id}/${Obj.getDXN(object).toString()}`;
498
+ const queryCollection = Obj.instanceOf(Collection.QueryCollection, object) ? object : void 0;
499
+ const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query)) : void 0;
464
500
  const actions = [
465
- ...Obj.instanceOf(DataType.Collection, object) ? [
501
+ ...Obj.instanceOf(Collection.Collection, object) ? [
466
502
  {
467
503
  id: getId(SpaceAction.OpenCreateObject._tag),
468
504
  type: ACTION_TYPE,
@@ -475,7 +511,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
475
511
  label: [
476
512
  "create object in collection label",
477
513
  {
478
- ns: SPACE_PLUGIN
514
+ ns: meta.id
479
515
  }
480
516
  ],
481
517
  icon: "ph--plus--regular",
@@ -484,7 +520,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
484
520
  }
485
521
  }
486
522
  ] : [],
487
- ...Obj.instanceOf(DataType.StoredSchema, object) ? [
523
+ ...Obj.instanceOf(StoredSchema, object) ? [
488
524
  {
489
525
  id: getId(SpaceAction.AddObject._tag),
490
526
  type: ACTION_TYPE,
@@ -501,13 +537,40 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
501
537
  label: [
502
538
  "add view to schema label",
503
539
  {
504
- ns: Type.getTypename(DataType.StoredSchema)
540
+ ns: Type.getTypename(StoredSchema)
505
541
  }
506
542
  ],
507
543
  icon: "ph--plus--regular",
508
544
  disposition: "list-item-primary",
509
545
  testId: "spacePlugin.addViewToSchema"
510
546
  }
547
+ },
548
+ {
549
+ id: getId(SpaceAction.Snapshot._tag),
550
+ type: ACTION_TYPE,
551
+ data: async () => {
552
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
553
+ space,
554
+ query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast
555
+ }));
556
+ if (result.data?.snapshot) {
557
+ await downloadBlob(
558
+ result.data.snapshot,
559
+ // TODO(wittjosiah): Factor out file name construction.
560
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${object.typename}.json`
561
+ );
562
+ }
563
+ },
564
+ properties: {
565
+ label: [
566
+ "snapshot by schema label",
567
+ {
568
+ ns: meta.id
569
+ }
570
+ ],
571
+ icon: "ph--camera--regular",
572
+ disposition: "list-item"
573
+ }
511
574
  }
512
575
  ] : [],
513
576
  ...matchingObjectForm ? [
@@ -518,10 +581,10 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
518
581
  if (matchingObjectForm.formSchema) {
519
582
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
520
583
  target: space,
521
- typename: queryCollection ? typenameFromQuery(queryCollection.query) : void 0
584
+ typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : void 0
522
585
  }));
523
586
  } else {
524
- await dispatch(pipe(matchingObjectForm.getIntent({}, {
587
+ await dispatch(Function.pipe(matchingObjectForm.getIntent({}, {
525
588
  space
526
589
  }), chain(SpaceAction.AddObject, {
527
590
  target: space,
@@ -535,7 +598,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
535
598
  label: [
536
599
  "create object in smart collection label",
537
600
  {
538
- ns: SPACE_PLUGIN
601
+ ns: meta.id
539
602
  }
540
603
  ],
541
604
  icon: "ph--plus--regular",
@@ -573,7 +636,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
573
636
  id: getId(SpaceAction.RemoveObjects._tag),
574
637
  type: ACTION_TYPE,
575
638
  data: async () => {
576
- const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
639
+ const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
577
640
  await dispatch(createIntent(SpaceAction.RemoveObjects, {
578
641
  objects: [
579
642
  object
@@ -596,19 +659,19 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
596
659
  testId: "spacePlugin.deleteObject"
597
660
  }
598
661
  },
599
- ...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.StoredSchema, object) ? [
662
+ ...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.QueryCollection, object) && !Obj.instanceOf(StoredSchema, object) ? [
600
663
  {
601
664
  id: getId("copy-link"),
602
665
  type: ACTION_TYPE,
603
666
  data: async () => {
604
- const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
667
+ const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
605
668
  await navigator.clipboard.writeText(url);
606
669
  },
607
670
  properties: {
608
671
  label: [
609
672
  "copy link label",
610
673
  {
611
- ns: SPACE_PLUGIN
674
+ ns: meta.id
612
675
  }
613
676
  ],
614
677
  icon: "ph--link--regular",
@@ -624,14 +687,14 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
624
687
  data: async () => {
625
688
  await dispatch(createIntent(LayoutAction.Expose, {
626
689
  part: "navigation",
627
- subject: fullyQualifiedId(object)
690
+ subject: Obj.getDXN(object).toString()
628
691
  }));
629
692
  },
630
693
  properties: {
631
694
  label: [
632
695
  "expose object label",
633
696
  {
634
- ns: SPACE_PLUGIN
697
+ ns: meta.id
635
698
  }
636
699
  ],
637
700
  icon: "ph--eye--regular",
@@ -642,6 +705,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
642
705
  ];
643
706
  return actions;
644
707
  };
708
+ var downloadBlob = async (blob, filename) => {
709
+ const url = URL.createObjectURL(blob);
710
+ const a = document.createElement("a");
711
+ a.href = url;
712
+ a.download = filename;
713
+ document.body.appendChild(a);
714
+ a.click();
715
+ document.body.removeChild(a);
716
+ URL.revokeObjectURL(url);
717
+ };
645
718
  var getNestedObjects = async (object, resolve) => {
646
719
  const type = Obj.getTypename(object);
647
720
  if (!type) {
@@ -666,7 +739,7 @@ var cloneObject = async (object, resolve, newSpace) => {
666
739
  const serializer = metadata.serializer;
667
740
  invariant(serializer, `No serializer for type: ${typename}`, {
668
741
  F: __dxlog_file,
669
- L: 714,
742
+ L: 792,
670
743
  S: void 0,
671
744
  A: [
672
745
  "serializer",
@@ -687,7 +760,7 @@ export {
687
760
  SPACES,
688
761
  COMPOSER_SPACE_LOCK,
689
762
  SHARED,
690
- rxFromQuery,
763
+ atomFromQuery,
691
764
  getSpaceDisplayName,
692
765
  constructSpaceNode,
693
766
  constructSpaceActions,
@@ -698,4 +771,4 @@ export {
698
771
  getNestedObjects,
699
772
  cloneObject
700
773
  };
701
- //# sourceMappingURL=chunk-S33AYKSS.mjs.map
774
+ //# sourceMappingURL=chunk-KFUMADZF.mjs.map