@dxos/plugin-space 0.8.4-main.5ea62a8 → 0.8.4-main.72ec0f3

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 (338) 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-FLF7XMQO.mjs → app-graph-builder-VQAB3GCQ.mjs} +109 -97
  10. package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-3A6KBYWT.mjs → app-graph-serializer-KSLKMEPP.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-DCY3W36E.mjs → chunk-ERQMHU7L.mjs} +71 -61
  14. package/dist/lib/browser/chunk-ERQMHU7L.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-J6YZG77T.mjs → chunk-J2BUK5E6.mjs} +554 -481
  16. package/dist/lib/browser/chunk-J2BUK5E6.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
  18. package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-RQVV4XVF.mjs → chunk-M2Z6D4ZI.mjs} +27 -21
  20. package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-WAXS2ZVX.mjs → chunk-OLBBSOVI.mjs} +26 -13
  22. package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-PU5IOFMG.mjs +167 -0
  24. package/dist/lib/browser/chunk-PU5IOFMG.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  26. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  28. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs → identity-created-NAXTPQXE.mjs} +5 -5
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +89 -85
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-7E3IZIJS.mjs → intent-resolver-Q2XWHAVA.mjs} +78 -84
  34. package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-MM4HADPE.mjs +30 -0
  37. package/dist/lib/browser/react-root-MM4HADPE.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-GL4CE2F4.mjs → react-surface-SGZC3Y4U.mjs} +71 -105
  39. package/dist/lib/browser/react-surface-SGZC3Y4U.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-B6MMHLPS.mjs → settings-WKLGKUHQ.mjs} +5 -5
  43. package/dist/lib/browser/{settings-B6MMHLPS.mjs.map → settings-WKLGKUHQ.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-QVABOCO3.mjs → spaces-ready-C5QC2UFL.mjs} +15 -14
  45. package/dist/lib/browser/spaces-ready-C5QC2UFL.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-D5YPOJS5.mjs → app-graph-builder-24JCLJPX.mjs} +109 -97
  58. package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-M45TH5LR.mjs → app-graph-serializer-R723K764.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-R723K764.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-WKQTO37U.mjs → chunk-2PN7QNGV.mjs} +27 -21
  62. package/dist/lib/node-esm/chunk-2PN7QNGV.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-ZCEH2VYE.mjs → chunk-ITQFSFQ3.mjs} +554 -481
  68. package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs +168 -0
  70. package/dist/lib/node-esm/chunk-TJPQDQNI.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-AUQ3SKL2.mjs → chunk-VH2EBZEV.mjs} +71 -61
  72. package/dist/lib/node-esm/chunk-VH2EBZEV.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-HYIZVPOA.mjs → chunk-WC4VBFMA.mjs} +26 -13
  74. package/dist/lib/node-esm/chunk-WC4VBFMA.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 +89 -85
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-UVO4MKWX.mjs → intent-resolver-YK4ESSET.mjs} +78 -84
  82. package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-5EKYI66P.mjs → react-root-5ANDLQMX.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-5ANDLQMX.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-IOC6YSVQ.mjs → react-surface-V7J2QB44.mjs} +71 -105
  87. package/dist/lib/node-esm/react-surface-V7J2QB44.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-IOFU6EAS.mjs → settings-RBB5633M.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-IOFU6EAS.mjs.map → settings-RBB5633M.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-MS6GHPFR.mjs → spaces-ready-SJCXV6YH.mjs} +15 -14
  93. package/dist/lib/node-esm/spaces-ready-SJCXV6YH.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 +110 -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 +1697 -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 +1530 -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/ObjectSettingsContainer.d.ts.map +1 -1
  145. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  146. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  147. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  148. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  149. package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +111 -2
  150. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  151. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  152. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  153. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  154. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  155. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  156. package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +112 -3
  157. package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
  158. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  159. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  160. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  161. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  162. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  163. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  164. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  165. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +110 -1
  166. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  167. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  168. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +111 -2
  169. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  170. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  171. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  172. package/dist/types/src/components/index.d.ts +10 -17
  173. package/dist/types/src/components/index.d.ts.map +1 -1
  174. package/dist/types/src/events.d.ts.map +1 -1
  175. package/dist/types/src/helpers/index.d.ts +2 -0
  176. package/dist/types/src/helpers/index.d.ts.map +1 -0
  177. package/dist/types/src/helpers/query.d.ts +8 -0
  178. package/dist/types/src/helpers/query.d.ts.map +1 -0
  179. package/dist/types/src/helpers/query.test.d.ts +2 -0
  180. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  181. package/dist/types/src/hooks/index.d.ts +1 -0
  182. package/dist/types/src/hooks/index.d.ts.map +1 -1
  183. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  184. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  185. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  186. package/dist/types/src/hooks/usePath.d.ts +1 -1
  187. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  188. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  189. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  190. package/dist/types/src/index.d.ts +1 -0
  191. package/dist/types/src/index.d.ts.map +1 -1
  192. package/dist/types/src/meta.d.ts +0 -1
  193. package/dist/types/src/meta.d.ts.map +1 -1
  194. package/dist/types/src/translations.d.ts +1322 -22
  195. package/dist/types/src/translations.d.ts.map +1 -1
  196. package/dist/types/src/types/types.d.ts +59 -76
  197. package/dist/types/src/types/types.d.ts.map +1 -1
  198. package/dist/types/src/util.d.ts +10 -7
  199. package/dist/types/src/util.d.ts.map +1 -1
  200. package/dist/types/tsconfig.tsbuildinfo +1 -1
  201. package/package.json +64 -59
  202. package/src/SpacePlugin.ts +228 -212
  203. package/src/capabilities/app-graph-builder.ts +158 -123
  204. package/src/capabilities/app-graph-serializer.ts +12 -12
  205. package/src/capabilities/capabilities.ts +16 -11
  206. package/src/capabilities/identity-created.ts +2 -2
  207. package/src/capabilities/intent-resolver.ts +68 -61
  208. package/src/capabilities/react-root.tsx +4 -3
  209. package/src/capabilities/react-surface.tsx +65 -141
  210. package/src/capabilities/schema-defs.ts +1 -1
  211. package/src/capabilities/spaces-ready.ts +8 -5
  212. package/src/capabilities/state.ts +2 -2
  213. package/src/components/AwaitingObject.tsx +12 -14
  214. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  215. package/src/components/CollectionSection.tsx +8 -6
  216. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -11
  217. package/src/components/CreateDialog/CreateObjectDialog.tsx +38 -28
  218. package/src/components/CreateDialog/CreateObjectPanel.tsx +8 -8
  219. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  220. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  221. package/src/components/JoinDialog/index.ts +5 -0
  222. package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +7 -6
  223. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +16 -14
  224. package/src/components/MembersContainer/index.ts +5 -0
  225. package/src/components/MenuFooter.tsx +2 -2
  226. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  227. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  228. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  229. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
  230. package/src/components/ObjectRenamePopover/index.ts +5 -0
  231. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +3 -3
  232. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  233. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  234. package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
  235. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
  236. package/src/components/ObjectSettings/index.ts +3 -1
  237. package/src/components/RecordArticle.stories.tsx +115 -0
  238. package/src/components/RecordArticle.tsx +114 -0
  239. package/src/components/SchemaContainer.tsx +23 -26
  240. package/src/components/SpacePluginSettings.tsx +10 -4
  241. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +23 -25
  242. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
  243. package/src/components/SpacePresence/index.ts +5 -0
  244. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  245. package/src/components/SpaceRenamePopover/index.ts +5 -0
  246. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
  247. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +44 -23
  248. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  249. package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
  250. package/src/components/SyncStatus/SyncStatus.tsx +107 -11
  251. package/src/components/ViewEditor.tsx +51 -23
  252. package/src/components/index.ts +7 -8
  253. package/src/events.ts +6 -6
  254. package/src/helpers/index.ts +5 -0
  255. package/src/helpers/query.test.ts +24 -0
  256. package/src/helpers/query.ts +158 -0
  257. package/src/hooks/index.ts +1 -0
  258. package/src/hooks/useActiveSpace.ts +2 -1
  259. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  260. package/src/hooks/usePath.ts +1 -1
  261. package/src/hooks/useTypeOptions.ts +59 -0
  262. package/src/index.ts +1 -0
  263. package/src/meta.ts +6 -3
  264. package/src/translations.ts +25 -10
  265. package/src/types/types.ts +26 -22
  266. package/src/util.tsx +79 -64
  267. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  268. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs +0 -88
  269. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs.map +0 -7
  270. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  271. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  272. package/dist/lib/browser/app-graph-builder-FLF7XMQO.mjs.map +0 -7
  273. package/dist/lib/browser/app-graph-serializer-3A6KBYWT.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-DCY3W36E.mjs.map +0 -7
  277. package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
  278. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  279. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  280. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-J6YZG77T.mjs.map +0 -7
  282. package/dist/lib/browser/chunk-RQVV4XVF.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
  284. package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
  285. package/dist/lib/browser/chunk-WAXS2ZVX.mjs.map +0 -7
  286. package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
  287. package/dist/lib/browser/intent-resolver-7E3IZIJS.mjs.map +0 -7
  288. package/dist/lib/browser/react-root-RWMT2RCK.mjs +0 -29
  289. package/dist/lib/browser/react-root-RWMT2RCK.mjs.map +0 -7
  290. package/dist/lib/browser/react-surface-GL4CE2F4.mjs.map +0 -7
  291. package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
  292. package/dist/lib/browser/spaces-ready-QVABOCO3.mjs.map +0 -7
  293. package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
  294. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  295. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs +0 -89
  296. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs.map +0 -7
  297. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  298. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  299. package/dist/lib/node-esm/app-graph-builder-D5YPOJS5.mjs.map +0 -7
  300. package/dist/lib/node-esm/app-graph-serializer-M45TH5LR.mjs.map +0 -7
  301. package/dist/lib/node-esm/chunk-AUQ3SKL2.mjs.map +0 -7
  302. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
  303. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
  304. package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
  305. package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  307. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-HYIZVPOA.mjs.map +0 -7
  309. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
  310. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  311. package/dist/lib/node-esm/chunk-WKQTO37U.mjs.map +0 -7
  312. package/dist/lib/node-esm/chunk-ZCEH2VYE.mjs.map +0 -7
  313. package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
  314. package/dist/lib/node-esm/intent-resolver-UVO4MKWX.mjs.map +0 -7
  315. package/dist/lib/node-esm/react-root-5EKYI66P.mjs.map +0 -7
  316. package/dist/lib/node-esm/react-surface-IOC6YSVQ.mjs.map +0 -7
  317. package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
  318. package/dist/lib/node-esm/spaces-ready-MS6GHPFR.mjs.map +0 -7
  319. package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
  320. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  321. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  322. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  323. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  324. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  325. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  326. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  327. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  328. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  329. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  330. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  331. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  332. package/dist/types/src/components/RecordMain.d.ts +0 -7
  333. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  334. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  335. package/src/components/ObjectDetailsPanel.tsx +0 -77
  336. package/src/components/PersistenceStatus.tsx +0 -83
  337. package/src/components/RecordMain.tsx +0 -43
  338. /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
@@ -0,0 +1,117 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ meta
4
+ } from "./chunk-BDEFTL6K.mjs";
5
+
6
+ // src/components/RecordArticle.tsx
7
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
8
+ import React, { useMemo } from "react";
9
+ import { Surface } from "@dxos/app-framework/react";
10
+ import { Filter, Ref, Relation } from "@dxos/echo";
11
+ import { getSpace, useQuery } from "@dxos/react-client/echo";
12
+ import { useTranslation } from "@dxos/react-ui";
13
+ import { Masonry } from "@dxos/react-ui-masonry";
14
+ import { StackItem } from "@dxos/react-ui-stack";
15
+ import { mx } from "@dxos/react-ui-theme";
16
+ import { isNonNullable } from "@dxos/util";
17
+ var RecordArticle = ({ subject }) => {
18
+ var _effect = _useSignals();
19
+ try {
20
+ const { t } = useTranslation(meta.id);
21
+ const space = getSpace(subject);
22
+ const data = useMemo(() => ({
23
+ subject
24
+ }), [
25
+ subject
26
+ ]);
27
+ const related = useRelatedObjects(space, subject, {
28
+ references: true,
29
+ relations: true
30
+ });
31
+ const singleColumn = related.length === 1;
32
+ return /* @__PURE__ */ React.createElement(StackItem.Content, null, /* @__PURE__ */ React.createElement("div", {
33
+ role: "none",
34
+ className: mx("flex flex-col gap-4 p-4 is-full overflow-y-auto")
35
+ }, /* @__PURE__ */ React.createElement("div", {
36
+ role: "none",
37
+ className: mx("flex is-full card-max-width")
38
+ }, /* @__PURE__ */ React.createElement(Surface, {
39
+ role: "section",
40
+ data,
41
+ limit: 1
42
+ })), related.length > 0 && /* @__PURE__ */ React.createElement("div", {
43
+ role: "none",
44
+ className: mx("flex flex-col gap-1", singleColumn ? "card-max-width" : "is-full")
45
+ }, /* @__PURE__ */ React.createElement("label", {
46
+ className: "mbs-2 text-sm text-description"
47
+ }, t("related objects label")), /* @__PURE__ */ React.createElement(Masonry.Root, {
48
+ items: related,
49
+ render: Card,
50
+ columnCount: singleColumn ? 1 : void 0,
51
+ intrinsicHeight: true
52
+ }))));
53
+ } finally {
54
+ _effect.f();
55
+ }
56
+ };
57
+ var Card = ({ data: subject }) => {
58
+ var _effect = _useSignals();
59
+ try {
60
+ const data = useMemo(() => ({
61
+ subject
62
+ }), [
63
+ subject
64
+ ]);
65
+ return /* @__PURE__ */ React.createElement(Surface, {
66
+ role: "card",
67
+ data,
68
+ limit: 1
69
+ });
70
+ } finally {
71
+ _effect.f();
72
+ }
73
+ };
74
+ var useRelatedObjects = (space, record, options = {}) => {
75
+ const objects = useQuery(space, Filter.everything());
76
+ return useMemo(() => {
77
+ if (!record) {
78
+ return [];
79
+ }
80
+ const related = [];
81
+ if (options.references) {
82
+ const getReferences = (obj) => {
83
+ return Object.getOwnPropertyNames(obj).map((name) => obj[name]).filter((value) => Ref.isRef(value));
84
+ };
85
+ const references = getReferences(record);
86
+ const referenceTargets = references.map((ref) => ref.target).filter(isNonNullable);
87
+ const referenceSources = objects.filter((obj) => {
88
+ const refs = getReferences(obj);
89
+ return refs.some((ref) => ref.target === record);
90
+ });
91
+ related.push(...referenceTargets, ...referenceSources);
92
+ }
93
+ if (options.relations) {
94
+ const isValidRelation = (obj) => {
95
+ try {
96
+ return Relation.isRelation(obj) && Relation.getSource(obj) && Relation.getTarget(obj);
97
+ } catch {
98
+ return false;
99
+ }
100
+ };
101
+ const relations = objects.filter((obj) => Relation.isRelation(obj)).filter((obj) => isValidRelation(obj));
102
+ const targetObjects = relations.filter((relation) => Relation.getTarget(relation) === record).map((relation) => Relation.getSource(relation));
103
+ const sourceObjects = relations.filter((relation) => Relation.getSource(relation) === record).map((relation) => Relation.getTarget(relation));
104
+ related.push(...targetObjects, ...sourceObjects);
105
+ }
106
+ return related;
107
+ }, [
108
+ record,
109
+ objects
110
+ ]);
111
+ };
112
+ var RecordArticle_default = RecordArticle;
113
+ export {
114
+ RecordArticle,
115
+ RecordArticle_default as default
116
+ };
117
+ //# sourceMappingURL=RecordArticle-NACBH42P.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/RecordArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { type SurfaceComponentProps } from '@dxos/app-framework/react';\nimport { Filter, type Obj, Ref, Relation } from '@dxos/echo';\nimport { type Space, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Masonry } from '@dxos/react-ui-masonry';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nexport const RecordArticle = ({ subject }: SurfaceComponentProps) => {\n const { t } = useTranslation(meta.id);\n const space = getSpace(subject);\n const data = useMemo(() => ({ subject }), [subject]);\n const related = useRelatedObjects(space, subject, {\n references: true,\n relations: true,\n });\n const singleColumn = related.length === 1;\n\n return (\n <StackItem.Content>\n <div role='none' className={mx('flex flex-col gap-4 p-4 is-full overflow-y-auto')}>\n <div role='none' className={mx('flex is-full card-max-width')}>\n <Surface role='section' data={data} limit={1} />\n </div>\n\n {related.length > 0 && (\n <div role='none' className={mx('flex flex-col gap-1', singleColumn ? 'card-max-width' : 'is-full')}>\n <label className='mbs-2 text-sm text-description'>{t('related objects label')}</label>\n <Masonry.Root<Obj.Any>\n items={related}\n render={Card}\n columnCount={singleColumn ? 1 : undefined}\n intrinsicHeight\n />\n </div>\n )}\n </div>\n </StackItem.Content>\n );\n};\n\nconst Card = ({ data: subject }: { data: Obj.Any }) => {\n const data = useMemo(() => ({ subject }), [subject]);\n return <Surface role='card' data={data} limit={1} />;\n};\n\n// TODO(wittjosiah): This is a hack. ECHO needs to have a back reference index to easily query for related objects.\nconst useRelatedObjects = (\n space?: Space,\n record?: Obj.Any,\n options: { references?: boolean; relations?: boolean } = {},\n) => {\n const objects = useQuery(space, Filter.everything());\n return useMemo(() => {\n if (!record) {\n return [];\n }\n\n const related: Obj.Any[] = [];\n\n // TODO(burdon): Change Person => Organization to relations.\n if (options.references) {\n const getReferences = (obj: Obj.Any): Ref.Any[] => {\n return Object.getOwnPropertyNames(obj)\n .map((name) => obj[name as keyof Obj.Any])\n .filter((value) => Ref.isRef(value)) as Ref.Any[];\n };\n\n const references = getReferences(record);\n const referenceTargets = references.map((ref) => ref.target).filter(isNonNullable);\n const referenceSources = objects.filter((obj) => {\n const refs = getReferences(obj);\n return refs.some((ref) => ref.target === record);\n });\n\n related.push(...referenceTargets, ...referenceSources);\n }\n\n if (options.relations) {\n // TODO(dmaretskyi): Workaround until https://github.com/dxos/dxos/pull/10100 lands.\n const isValidRelation = (obj: Obj.Any) => {\n try {\n return Relation.isRelation(obj) && Relation.getSource(obj) && Relation.getTarget(obj);\n } catch {\n return false;\n }\n };\n\n const relations = objects.filter((obj) => Relation.isRelation(obj)).filter((obj) => isValidRelation(obj));\n const targetObjects = relations\n .filter((relation) => Relation.getTarget(relation) === record)\n .map((relation) => Relation.getSource(relation));\n const sourceObjects = relations\n .filter((relation) => Relation.getSource(relation) === record)\n .map((relation) => Relation.getTarget(relation));\n\n related.push(...targetObjects, ...sourceObjects);\n }\n\n return related;\n }, [record, objects]);\n};\n\nexport default RecordArticle;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "Surface", "Filter", "Ref", "Relation", "getSpace", "useQuery", "useTranslation", "Masonry", "StackItem", "mx", "isNonNullable", "RecordArticle", "subject", "t", "useTranslation", "meta", "id", "space", "getSpace", "data", "useMemo", "related", "useRelatedObjects", "references", "relations", "singleColumn", "length", "StackItem", "Content", "div", "role", "className", "mx", "Surface", "limit", "label", "Masonry", "Root", "items", "render", "Card", "columnCount", "undefined", "intrinsicHeight", "record", "options", "objects", "useQuery", "Filter", "everything", "getReferences", "obj", "Object", "getOwnPropertyNames", "map", "name", "filter", "value", "Ref", "isRef", "referenceTargets", "ref", "target", "isNonNullable", "referenceSources", "refs", "some", "push", "isValidRelation", "Relation", "isRelation", "getSource", "getTarget", "targetObjects", "relation", "sourceObjects"]
7
+ }
@@ -1,44 +1,47 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  getActiveSpace
4
- } from "./chunk-Q6AAQLQG.mjs";
4
+ } from "./chunk-TJPQDQNI.mjs";
5
5
  import {
6
6
  SpaceCapabilities
7
- } from "./chunk-HC677WUJ.mjs";
7
+ } from "./chunk-Z7BB6HC2.mjs";
8
8
  import {
9
9
  SHARED,
10
10
  SPACES,
11
+ atomFromQuery,
11
12
  constructObjectActions,
12
13
  constructSpaceActions,
13
14
  constructSpaceNode,
14
15
  createObjectNode,
15
16
  createStaticSchemaActions,
16
- createStaticSchemaNode,
17
- rxFromQuery
18
- } from "./chunk-AUQ3SKL2.mjs";
17
+ createStaticSchemaNode
18
+ } from "./chunk-VH2EBZEV.mjs";
19
19
  import {
20
20
  SPACE_TYPE,
21
21
  SpaceAction
22
- } from "./chunk-WKQTO37U.mjs";
22
+ } from "./chunk-2PN7QNGV.mjs";
23
23
  import {
24
- SPACE_PLUGIN
25
- } from "./chunk-HWNG4MEU.mjs";
24
+ meta
25
+ } from "./chunk-BDEFTL6K.mjs";
26
26
 
27
27
  // src/capabilities/app-graph-builder.ts
28
- import { Rx } from "@effect-rx/rx-react";
29
- import { Array, Option, Schema, pipe } from "effect";
28
+ import { Atom } from "@effect-atom/atom-react";
29
+ import * as Array from "effect/Array";
30
+ import * as Function from "effect/Function";
31
+ import * as Option from "effect/Option";
32
+ import * as Schema from "effect/Schema";
30
33
  import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
31
- import { SpaceState, getSpace, isSpace, parseId } from "@dxos/client/echo";
32
- import { Filter, Obj, Query, Type } from "@dxos/echo";
34
+ import { SpaceState, getSpace, isSpace } from "@dxos/client/echo";
35
+ import { DXN, Filter, Obj, Query, Type } from "@dxos/echo";
33
36
  import { log } from "@dxos/log";
34
37
  import { ClientCapabilities } from "@dxos/plugin-client";
35
38
  import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
36
- import { ROOT_ID, createExtension, rxFromObservable, rxFromSignal } from "@dxos/plugin-graph";
37
- import { DataType } from "@dxos/schema";
39
+ import { ROOT_ID, atomFromObservable, atomFromSignal, createExtension } from "@dxos/plugin-graph";
40
+ import { Collection, StoredSchema, View, getTypenameFromQuery } from "@dxos/schema";
38
41
  import { isNonNullable } from "@dxos/util";
39
42
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
40
- var app_graph_builder_default = (context) => {
41
- const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
43
+ var app_graph_builder_default = ((context) => {
44
+ const resolve = (get) => (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
42
45
  const spacesNode = {
43
46
  id: SPACES,
44
47
  type: SPACES,
@@ -50,7 +53,7 @@ var app_graph_builder_default = (context) => {
50
53
  label: [
51
54
  "spaces label",
52
55
  {
53
- ns: SPACE_PLUGIN
56
+ ns: meta.id
54
57
  }
55
58
  ],
56
59
  icon: "ph--planet--regular",
@@ -71,7 +74,7 @@ var app_graph_builder_default = (context) => {
71
74
  } else {
72
75
  log.warn("spaces order object not found", void 0, {
73
76
  F: __dxlog_file,
74
- L: 71,
77
+ L: 74,
75
78
  S: void 0,
76
79
  C: (f, a) => f(...a)
77
80
  });
@@ -82,9 +85,9 @@ var app_graph_builder_default = (context) => {
82
85
  return contributes(Capabilities.AppGraphBuilder, [
83
86
  // Primary actions.
84
87
  createExtension({
85
- id: `${SPACE_PLUGIN}/primary-actions`,
88
+ id: `${meta.id}/primary-actions`,
86
89
  position: "hoist",
87
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
90
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
88
91
  {
89
92
  id: SpaceAction.OpenCreateSpace._tag,
90
93
  data: async () => {
@@ -95,7 +98,7 @@ var app_graph_builder_default = (context) => {
95
98
  label: [
96
99
  "create space label",
97
100
  {
98
- ns: SPACE_PLUGIN
101
+ ns: meta.id
99
102
  }
100
103
  ],
101
104
  icon: "ph--plus--regular",
@@ -113,7 +116,7 @@ var app_graph_builder_default = (context) => {
113
116
  label: [
114
117
  "join space label",
115
118
  {
116
- ns: SPACE_PLUGIN
119
+ ns: meta.id
117
120
  }
118
121
  ],
119
122
  icon: "ph--sign-in--regular",
@@ -135,7 +138,7 @@ var app_graph_builder_default = (context) => {
135
138
  label: [
136
139
  "share space label",
137
140
  {
138
- ns: SPACE_PLUGIN
141
+ ns: meta.id
139
142
  }
140
143
  ],
141
144
  icon: "ph--users--regular",
@@ -160,7 +163,7 @@ var app_graph_builder_default = (context) => {
160
163
  label: [
161
164
  "open current space settings label",
162
165
  {
163
- ns: SPACE_PLUGIN
166
+ ns: meta.id
164
167
  }
165
168
  ],
166
169
  icon: "ph--faders--regular",
@@ -174,9 +177,9 @@ var app_graph_builder_default = (context) => {
174
177
  }),
175
178
  // Create spaces group node.
176
179
  createExtension({
177
- id: `${SPACE_PLUGIN}/root`,
180
+ id: `${meta.id}/root`,
178
181
  position: "hoist",
179
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
182
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
180
183
  spacesNode
181
184
  ]), Option.getOrElse(() => [])))
182
185
  }),
@@ -185,25 +188,25 @@ var app_graph_builder_default = (context) => {
185
188
  id: SPACES,
186
189
  connector: (node) => {
187
190
  let query;
188
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
191
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
189
192
  const state = context.getCapability(SpaceCapabilities.State);
190
193
  const client = context.getCapability(ClientCapabilities.Client);
191
- const spacesRx = rxFromObservable(client.spaces);
192
- const isReadyRx = rxFromObservable(client.spaces.isReady);
193
- const spaces = get(spacesRx);
194
- const isReady = get(isReadyRx);
194
+ const spacesAtom = atomFromObservable(client.spaces);
195
+ const isReadyAtom = atomFromObservable(client.spaces.isReady);
196
+ const spaces = get(spacesAtom);
197
+ const isReady = get(isReadyAtom);
195
198
  if (!spaces || !isReady) {
196
199
  return [];
197
200
  }
198
- const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore(SPACE_PLUGIN)?.value;
201
+ const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore(meta.id)?.value;
199
202
  try {
200
203
  if (!query) {
201
204
  query = client.spaces.default.db.query(Filter.type(Type.Expando, {
202
205
  key: SHARED
203
206
  }));
204
207
  }
205
- const [spacesOrder] = get(rxFromQuery(query));
206
- return get(rxFromSignal(() => {
208
+ const [spacesOrder] = get(atomFromQuery(query));
209
+ return get(atomFromSignal(() => {
207
210
  const order = spacesOrder?.order ?? [];
208
211
  const orderMap = new Map(order.map((id, index) => [
209
212
  id,
@@ -217,7 +220,7 @@ var app_graph_builder_default = (context) => {
217
220
  navigable: state.navigableCollections,
218
221
  personal: space === client.spaces.default,
219
222
  namesCache: state.spaceNames,
220
- resolve
223
+ resolve: resolve(get)
221
224
  }));
222
225
  }));
223
226
  } catch {
@@ -228,8 +231,8 @@ var app_graph_builder_default = (context) => {
228
231
  }),
229
232
  // Create space actions.
230
233
  createExtension({
231
- id: `${SPACE_PLUGIN}/actions`,
232
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
234
+ id: `${meta.id}/actions`,
235
+ actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
233
236
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
234
237
  const [client] = get(context.capabilities(ClientCapabilities.Client));
235
238
  const [state] = get(context.capabilities(SpaceCapabilities.State));
@@ -247,48 +250,49 @@ var app_graph_builder_default = (context) => {
247
250
  }),
248
251
  // Create nodes for objects in the root collection of a space.
249
252
  createExtension({
250
- id: `${SPACE_PLUGIN}/root-collection`,
251
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
253
+ id: `${meta.id}/root-collection`,
254
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
252
255
  const state = context.getCapability(SpaceCapabilities.State);
253
- const spaceState = get(rxFromObservable(space.state));
256
+ const spaceState = get(atomFromObservable(space.state));
254
257
  if (spaceState !== SpaceState.SPACE_READY) {
255
258
  return [];
256
259
  }
257
- const collection = get(rxFromSignal(() => space.properties[DataType.Collection.typename]?.target));
260
+ const collection = get(atomFromSignal(() => space.properties[Collection.Collection.typename]?.target));
258
261
  if (!collection) {
259
262
  return [];
260
263
  }
261
- return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
264
+ return get(atomFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
262
265
  space,
263
266
  object,
264
- resolve,
267
+ resolve: resolve(get),
265
268
  navigable: state.navigableCollections
266
269
  })), Array.filter(isNonNullable))));
267
270
  }), Option.getOrElse(() => [])))
268
271
  }),
269
272
  // Create nodes for objects in a collection or by its fully qualified id.
270
273
  createExtension({
271
- id: `${SPACE_PLUGIN}/objects`,
272
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.Collection, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
274
+ id: `${meta.id}/objects`,
275
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.Collection, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
273
276
  const state = context.getCapability(SpaceCapabilities.State);
274
277
  const space = getSpace(collection);
275
- return get(rxFromSignal(() => pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
278
+ return get(atomFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
276
279
  object,
277
280
  space,
278
- resolve,
281
+ resolve: resolve(get),
279
282
  navigable: state.navigableCollections
280
283
  })), Array.filter(isNonNullable))));
281
284
  }), Option.getOrElse(() => [])))
282
285
  }),
283
286
  // Create nodes for objects in a query collection.
284
287
  createExtension({
285
- id: `${SPACE_PLUGIN}/query-collection-objects`,
288
+ id: `${meta.id}/query-collection-objects`,
286
289
  connector: (node) => {
287
290
  let query;
288
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
291
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
289
292
  const space = getSpace(collection);
290
- return collection.query.typename && space ? Option.some({
291
- typename: collection.query.typename,
293
+ const typename = getTypenameFromQuery(collection.query);
294
+ return typename && space ? Option.some({
295
+ typename,
292
296
  space
293
297
  }) : Option.none();
294
298
  }), Option.map(({ typename, space }) => {
@@ -299,13 +303,13 @@ var app_graph_builder_default = (context) => {
299
303
  // TODO(wittjosiah): This query is broader than it should be.
300
304
  // It will return all objects in the collection, not just the ones of the given type.
301
305
  // However this works fine for now because this query is only used for exclusions.
302
- Query.select(Filter.typename(typename)).referencedBy(DataType.Collection, "objects").reference("objects")
306
+ Query.select(Filter.typename(typename)).referencedBy(Collection.Collection, "objects").reference("objects")
303
307
  ));
304
308
  }
305
- return get(rxFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(rxFromSignal(() => createObjectNode({
309
+ return get(atomFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(atomFromSignal(() => createObjectNode({
306
310
  object,
307
311
  space,
308
- resolve,
312
+ resolve: resolve(get),
309
313
  droppable: false,
310
314
  navigable: state.navigableCollections
311
315
  })))).filter(isNonNullable);
@@ -314,14 +318,14 @@ var app_graph_builder_default = (context) => {
314
318
  }),
315
319
  // Static schema records.
316
320
  createExtension({
317
- id: `${SPACE_PLUGIN}/static-schemas`,
321
+ id: `${meta.id}/static-schemas`,
318
322
  connector: (node) => {
319
323
  const client = context.getCapability(ClientCapabilities.Client);
320
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.QueryCollection, node2.data) && node2.data.query.typename === DataType.StoredSchema.typename ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
324
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.QueryCollection, node2.data) && getTypenameFromQuery(node2.data.query) === StoredSchema.typename ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
321
325
  const space = getSpace(collection);
322
326
  return space?.properties.staticRecords ? Option.some(space) : Option.none();
323
327
  }), Option.map((space) => {
324
- return get(rxFromSignal(() => space.properties.staticRecords ?? [])).map((typename) => client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename)).filter(isNonNullable).map((schema) => createStaticSchemaNode({
328
+ return get(atomFromSignal(() => space.properties.staticRecords ?? [])).map((typename) => client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename)).filter(isNonNullable).map((schema) => createStaticSchemaNode({
325
329
  schema,
326
330
  space
327
331
  }));
@@ -330,10 +334,10 @@ var app_graph_builder_default = (context) => {
330
334
  }),
331
335
  // Create static schema actions.
332
336
  createExtension({
333
- id: `${SPACE_PLUGIN}/static-schema-actions`,
337
+ id: `${meta.id}/static-schema-actions`,
334
338
  actions: (node) => {
335
339
  let query;
336
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
340
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
337
341
  const space = isSpace(node2.properties.space) ? node2.properties.space : void 0;
338
342
  return space && Schema.isSchema(node2.data) ? Option.some({
339
343
  space,
@@ -341,12 +345,12 @@ var app_graph_builder_default = (context) => {
341
345
  }) : Option.none();
342
346
  }), Option.map(({ space, schema }) => {
343
347
  if (!query) {
344
- query = space.db.query(Filter.type(DataType.View));
348
+ query = space.db.query(Filter.type(View.View));
345
349
  }
346
- const views = get(rxFromQuery(query));
347
- const filteredViews = get(rxFromSignal(() => (
350
+ const views = get(atomFromQuery(query));
351
+ const filteredViews = get(atomFromSignal(() => (
348
352
  // TODO(wittjosiah): Remove cast.
349
- views.filter((view) => view.query.typename === Type.getTypename(schema))
353
+ views.filter((view) => getTypenameFromQuery(view.query.ast) === Type.getTypename(schema))
350
354
  )));
351
355
  const deletable = filteredViews.length === 0;
352
356
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
@@ -364,24 +368,32 @@ var app_graph_builder_default = (context) => {
364
368
  }),
365
369
  // Create nodes for schema views.
366
370
  createExtension({
367
- id: `${SPACE_PLUGIN}/schema-views`,
371
+ id: `${meta.id}/schema-views`,
368
372
  connector: (node) => {
369
373
  let query;
370
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
374
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
371
375
  const space = getSpace(node2.data) ?? (isSpace(node2.properties.space) ? node2.properties.space : void 0);
372
- return space && (Obj.instanceOf(DataType.StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
376
+ return space && (Obj.instanceOf(StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
373
377
  space,
374
378
  schema: node2.data
375
379
  }) : Option.none();
376
380
  }), Option.map(({ space, schema }) => {
377
381
  if (!query) {
378
- query = space.db.query(Filter.type(DataType.View));
382
+ query = space.db.query(Filter.type(View.View));
379
383
  }
380
384
  const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
381
- return get(rxFromQuery(query)).filter((view) => view.query.typename === typename).map((view) => get(rxFromSignal(() => createObjectNode({
385
+ return get(atomFromQuery(query)).filter((view) => getTypenameFromQuery(view.query.ast) === typename).filter((view) => get(atomFromSignal(() => {
386
+ const presentation = view.presentation.target;
387
+ if (presentation) {
388
+ const typename2 = Obj.getTypename(presentation);
389
+ return typename2 !== Collection.Collection.typename;
390
+ } else {
391
+ return false;
392
+ }
393
+ }))).map((view) => get(atomFromSignal(() => createObjectNode({
382
394
  object: view,
383
395
  space,
384
- resolve,
396
+ resolve: resolve(get),
385
397
  droppable: false
386
398
  })))).filter(isNonNullable);
387
399
  }), Option.getOrElse(() => [])));
@@ -389,30 +401,30 @@ var app_graph_builder_default = (context) => {
389
401
  }),
390
402
  // Create record nodes.
391
403
  createExtension({
392
- id: `${SPACE_PLUGIN}/records`,
404
+ id: `${meta.id}/records`,
393
405
  resolver: (id) => {
394
406
  let query;
395
- return Rx.make((get) => {
407
+ return Atom.make((get) => {
396
408
  const client = context.getCapability(ClientCapabilities.Client);
397
- const { spaceId, objectId } = parseId(id);
398
- if (!spaceId || !objectId) {
409
+ const dxn = DXN.tryParse(id)?.asEchoDXN();
410
+ if (!dxn || !dxn.spaceId) {
399
411
  return null;
400
412
  }
401
- const space = client.spaces.get(spaceId);
413
+ const space = client.spaces.get(dxn.spaceId);
402
414
  if (!space) {
403
415
  return null;
404
416
  }
405
417
  if (!query) {
406
- query = space.db.query(Filter.ids(objectId));
418
+ query = space.db.query(Filter.ids(dxn.echoId));
407
419
  }
408
- const object = get(rxFromQuery(query)).at(0);
420
+ const object = get(atomFromQuery(query)).at(0);
409
421
  if (!object) {
410
422
  return null;
411
423
  }
412
424
  return createObjectNode({
413
425
  object,
414
426
  space,
415
- resolve,
427
+ resolve: resolve(get),
416
428
  disposition: "hidden"
417
429
  });
418
430
  });
@@ -420,25 +432,25 @@ var app_graph_builder_default = (context) => {
420
432
  }),
421
433
  // Create collection actions and action groups.
422
434
  createExtension({
423
- id: `${SPACE_PLUGIN}/object-actions`,
435
+ id: `${meta.id}/object-actions`,
424
436
  actions: (node) => {
425
437
  let query;
426
- return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => {
438
+ return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
427
439
  const space = getSpace(node2.data);
428
- return space && Obj.isObject(node2.data) ? Option.some({
440
+ return space && Obj.isObject(node2.data) && Obj.getTypename(node2.data) === node2.type ? Option.some({
429
441
  space,
430
442
  object: node2.data
431
443
  }) : Option.none();
432
444
  }), Option.flatMap(({ space, object }) => {
433
- const isSchema = Obj.instanceOf(DataType.StoredSchema, object);
434
- if (!query && isSchema) {
435
- query = space.db.query(Filter.type(DataType.View));
445
+ const isSchema2 = Obj.instanceOf(StoredSchema, object);
446
+ if (!query && isSchema2) {
447
+ query = space.db.query(Filter.type(View.View));
436
448
  }
437
- let deletable = !isSchema && // Don't allow the Records smart collection to be deleted.
438
- !(Obj.instanceOf(DataType.QueryCollection, object) && object.query.typename === DataType.StoredSchema.typename);
439
- if (isSchema && query) {
440
- const views = get(rxFromQuery(query));
441
- const filteredViews = get(rxFromSignal(() => views.filter((view) => view.query.typename === object.typename)));
449
+ let deletable = !isSchema2 && // Don't allow the Records smart collection to be deleted.
450
+ !(Obj.instanceOf(Collection.QueryCollection, object) && getTypenameFromQuery(object.query) === StoredSchema.typename);
451
+ if (isSchema2 && query) {
452
+ const views = get(atomFromQuery(query));
453
+ const filteredViews = get(atomFromSignal(() => views.filter((view) => getTypenameFromQuery(view.query.ast) === object.typename)));
442
454
  deletable = filteredViews.length === 0;
443
455
  }
444
456
  const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
@@ -454,7 +466,7 @@ var app_graph_builder_default = (context) => {
454
466
  dispatch: dispatcher.dispatchPromise,
455
467
  objectForms,
456
468
  deletable,
457
- navigable: get(rxFromSignal(() => state.navigableCollections))
469
+ navigable: get(atomFromSignal(() => state.navigableCollections))
458
470
  });
459
471
  }
460
472
  }), Option.map((params) => constructObjectActions(params)), Option.getOrElse(() => [])));
@@ -462,8 +474,8 @@ var app_graph_builder_default = (context) => {
462
474
  }),
463
475
  // View selected objects.
464
476
  createExtension({
465
- id: `${SPACE_PLUGIN}/selected-objects`,
466
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(DataType.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
477
+ id: `${meta.id}/selected-objects`,
478
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(View.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
467
479
  {
468
480
  id: [
469
481
  node2.id,
@@ -475,7 +487,7 @@ var app_graph_builder_default = (context) => {
475
487
  label: [
476
488
  "companion selected objects label",
477
489
  {
478
- ns: SPACE_PLUGIN
490
+ ns: meta.id
479
491
  }
480
492
  ],
481
493
  icon: "ph--tree-view--regular",
@@ -486,8 +498,8 @@ var app_graph_builder_default = (context) => {
486
498
  }),
487
499
  // Object settings plank companion.
488
500
  createExtension({
489
- id: `${SPACE_PLUGIN}/settings`,
490
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
501
+ id: `${meta.id}/settings`,
502
+ connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
491
503
  {
492
504
  id: [
493
505
  node2.id,
@@ -499,7 +511,7 @@ var app_graph_builder_default = (context) => {
499
511
  label: [
500
512
  "object settings label",
501
513
  {
502
- ns: SPACE_PLUGIN
514
+ ns: meta.id
503
515
  }
504
516
  ],
505
517
  icon: "ph--sliders--regular",
@@ -510,8 +522,8 @@ var app_graph_builder_default = (context) => {
510
522
  ]), Option.getOrElse(() => [])))
511
523
  })
512
524
  ]);
513
- };
525
+ });
514
526
  export {
515
527
  app_graph_builder_default as default
516
528
  };
517
- //# sourceMappingURL=app-graph-builder-D5YPOJS5.mjs.map
529
+ //# sourceMappingURL=app-graph-builder-24JCLJPX.mjs.map