@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
@@ -2,21 +2,22 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { type AnyIntentChain } from '@dxos/app-framework';
8
8
  import { type Obj, Type } from '@dxos/echo';
9
- import { type BaseObject, EchoSchema, StoredSchema, type TypedObject } from '@dxos/echo-schema';
9
+ import { type BaseObject, EchoSchema, StoredSchema } from '@dxos/echo/internal';
10
10
  import { type PublicKey } from '@dxos/react-client';
11
11
  // TODO(wittjosiah): This pulls in full client.
12
12
  import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
13
13
  import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
14
- import { DataType, FieldSchema, TypenameAnnotationId } from '@dxos/schema';
14
+ import { Collection, FieldSchema, TypenameAnnotationId, View } from '@dxos/schema';
15
15
  import { type ComplexMap } from '@dxos/util';
16
16
 
17
- import { SPACE_PLUGIN } from '../meta';
17
+ import { meta } from '../meta';
18
+
19
+ export const SPACE_DIRECTORY_HANDLE = `${meta.id}/directory`;
18
20
 
19
- export const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';
20
21
  export const SPACE_TYPE = 'dxos.org/type/Space';
21
22
 
22
23
  export type ObjectViewerProps = {
@@ -105,8 +106,7 @@ export const SpaceForm = Schema.Struct({
105
106
  });
106
107
 
107
108
  export type ObjectForm<T extends BaseObject = BaseObject> = {
108
- // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext
109
- objectSchema: TypedObject;
109
+ objectSchema: Schema.Schema.AnyNoContext;
110
110
  formSchema?: Schema.Schema<T, any>;
111
111
  hidden?: boolean;
112
112
  getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
@@ -114,7 +114,7 @@ export type ObjectForm<T extends BaseObject = BaseObject> = {
114
114
 
115
115
  export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;
116
116
 
117
- export const SPACE_ACTION = `${SPACE_PLUGIN}/action`;
117
+ export const SPACE_ACTION = `${meta.id}/action`;
118
118
 
119
119
  export namespace SpaceAction {
120
120
  export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
@@ -230,6 +230,8 @@ export namespace SpaceAction {
230
230
  input: Schema.Struct({
231
231
  space: SpaceSchema,
232
232
  typename: Schema.String,
233
+ // TODO(wittjosiah): This is leaky.
234
+ show: Schema.optional(Schema.Boolean),
233
235
  }),
234
236
  output: Schema.Struct({}),
235
237
  }) {}
@@ -243,6 +245,8 @@ export namespace SpaceAction {
243
245
  version: Schema.optional(Schema.String),
244
246
  // TODO(wittjosiah): Schema for schema?
245
247
  schema: Schema.Any,
248
+ // TODO(wittjosiah): This is leaky.
249
+ show: Schema.optional(Schema.Boolean),
246
250
  }),
247
251
  output: Schema.Struct({
248
252
  // TODO(wittjosiah): ObjectId.
@@ -254,7 +258,7 @@ export namespace SpaceAction {
254
258
 
255
259
  export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {
256
260
  input: Schema.Struct({
257
- view: DataType.View,
261
+ view: View.View,
258
262
  fieldId: Schema.String,
259
263
  // TODO(wittjosiah): Separate fields for undo data?
260
264
  deletionData: Schema.optional(
@@ -272,7 +276,7 @@ export namespace SpaceAction {
272
276
 
273
277
  export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
274
278
  input: Schema.Struct({
275
- target: Schema.Union(SpaceSchema, DataType.Collection),
279
+ target: Schema.Union(SpaceSchema, Collection.Collection),
276
280
  views: Schema.optional(Schema.Boolean),
277
281
  typename: Schema.optional(Schema.String),
278
282
  initialFormValues: Schema.optional(Schema.Any),
@@ -286,7 +290,7 @@ export namespace SpaceAction {
286
290
  export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
287
291
  input: Schema.Struct({
288
292
  object: ReactiveObjectSchema,
289
- target: Schema.Union(SpaceSchema, DataType.Collection),
293
+ target: Schema.Union(SpaceSchema, Collection.Collection),
290
294
  hidden: Schema.optional(Schema.Boolean),
291
295
  }),
292
296
  output: Schema.Struct({
@@ -314,7 +318,7 @@ export namespace SpaceAction {
314
318
 
315
319
  export const DeletionData = Schema.Struct({
316
320
  objects: Schema.Array(EchoObjectSchema),
317
- parentCollection: DataType.Collection,
321
+ parentCollection: Collection.Collection,
318
322
  indices: Schema.Array(Schema.Number),
319
323
  nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
320
324
  wasActive: Schema.Array(Schema.String),
@@ -324,8 +328,9 @@ export namespace SpaceAction {
324
328
 
325
329
  export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
326
330
  input: Schema.Struct({
327
- objects: Schema.Array(EchoObjectSchema),
328
- target: Schema.optional(DataType.Collection),
331
+ // TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).
332
+ objects: Schema.Array(ReactiveObjectSchema),
333
+ target: Schema.optional(Collection.Collection),
329
334
  deletionData: Schema.optional(DeletionData),
330
335
  }),
331
336
  output: Schema.Void,
@@ -342,7 +347,7 @@ export namespace SpaceAction {
342
347
  export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
343
348
  input: Schema.Struct({
344
349
  object: EchoObjectSchema,
345
- target: Schema.Union(SpaceSchema, DataType.Collection),
350
+ target: Schema.Union(SpaceSchema, Collection.Collection),
346
351
  }),
347
352
  output: Schema.Void,
348
353
  }) {}
@@ -361,17 +366,15 @@ export namespace CollectionAction {
361
366
  name: Schema.optional(Schema.String),
362
367
  }),
363
368
  output: Schema.Struct({
364
- object: DataType.Collection,
369
+ object: Collection.Collection,
365
370
  }),
366
371
  }) {}
367
372
 
368
373
  export const QueryCollectionForm = Schema.Struct({
369
374
  name: Schema.optional(Schema.String),
370
- typename: Schema.optional(
371
- Schema.String.annotations({
372
- [TypenameAnnotationId]: ['object-form'],
373
- }),
374
- ),
375
+ typename: Schema.String.annotations({
376
+ [TypenameAnnotationId]: ['object-form'],
377
+ }),
375
378
  });
376
379
 
377
380
  export class CreateQueryCollection extends Schema.TaggedClass<CreateQueryCollection>()(
@@ -379,7 +382,8 @@ export namespace CollectionAction {
379
382
  {
380
383
  input: QueryCollectionForm,
381
384
  output: Schema.Struct({
382
- object: DataType.QueryCollection,
385
+ // TODO(wittjosiah): Remove cast.
386
+ object: EchoObjectSchema, // Collection.QueryCollection,
383
387
  }),
384
388
  },
385
389
  ) {}
package/src/util.tsx CHANGED
@@ -2,12 +2,12 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Rx } from '@effect-rx/rx-react';
6
- import { pipe } from 'effect';
5
+ import { Atom } from '@effect-atom/atom-react';
6
+ import * as Function from 'effect/Function';
7
7
 
8
8
  import { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';
9
9
  import { Obj, Ref, Type } from '@dxos/echo';
10
- import { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo-schema';
10
+ import { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo/internal';
11
11
  import { invariant } from '@dxos/invariant';
12
12
  import { Migrations } from '@dxos/migrations';
13
13
  import {
@@ -20,24 +20,24 @@ import {
20
20
  type ReadableGraph,
21
21
  isGraphNode,
22
22
  } from '@dxos/plugin-graph';
23
- import { type QueryResult, type Space, SpaceState, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';
23
+ import { type QueryResult, type Space, SpaceState, getSpace, isSpace } from '@dxos/react-client/echo';
24
24
  import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
25
25
  import { type TreeData } from '@dxos/react-ui-list';
26
- import { DataType } from '@dxos/schema';
26
+ import { Collection, StoredSchema, View, getTypenameFromQuery } from '@dxos/schema';
27
27
 
28
- import { SPACE_PLUGIN } from './meta';
28
+ import { meta } from './meta';
29
29
  import { type ObjectForm, SPACE_TYPE, SpaceAction } from './types';
30
30
 
31
- export const SPACES = `${SPACE_PLUGIN}-spaces`;
32
- export const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';
31
+ export const SPACES = `${meta.id}-spaces`;
32
+ export const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
33
33
  // TODO(wittjosiah): Remove.
34
34
  export const SHARED = 'shared-spaces';
35
35
 
36
36
  /**
37
- * Convert a query result to an Rx value of the objects.
37
+ * Convert a query result to an Atom value of the objects.
38
38
  */
39
- export const rxFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Rx.Rx<T[]> => {
40
- return Rx.make((get) => {
39
+ export const atomFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Atom.Atom<T[]> => {
40
+ return Atom.make((get) => {
41
41
  const unsubscribe = query.subscribe((result) => {
42
42
  get.setSelf(result.objects);
43
43
  });
@@ -57,8 +57,8 @@ export const getSpaceDisplayName = (
57
57
  : namesCache[space.id]
58
58
  ? namesCache[space.id]
59
59
  : personal
60
- ? ['personal space label', { ns: SPACE_PLUGIN }]
61
- : ['unnamed space label', { ns: SPACE_PLUGIN }];
60
+ ? ['personal space label', { ns: meta.id }]
61
+ : ['unnamed space label', { ns: meta.id }];
62
62
  };
63
63
 
64
64
  const getCollectionGraphNodePartials = ({
@@ -66,7 +66,7 @@ const getCollectionGraphNodePartials = ({
66
66
  space,
67
67
  resolve,
68
68
  }: {
69
- collection: DataType.Collection;
69
+ collection: Collection.Collection;
70
70
  space: Space;
71
71
  resolve: (typename: string) => Record<string, any>;
72
72
  }) => {
@@ -141,20 +141,21 @@ const getQueryCollectionNodePartials = ({
141
141
  space,
142
142
  resolve,
143
143
  }: {
144
- collection: DataType.QueryCollection;
144
+ collection: Collection.QueryCollection;
145
145
  space: Space;
146
146
  resolve: (typename: string) => Record<string, any>;
147
147
  }) => {
148
+ const typename = getTypenameFromQuery(collection.query);
149
+ const metadata = typename ? resolve(typename) : {};
148
150
  return {
149
- icon: collection.query.typename && resolve(collection.query.typename)?.icon,
151
+ icon: metadata.icon,
152
+ iconHue: metadata.iconHue,
150
153
  acceptPersistenceClass: new Set(['echo']),
151
154
  acceptPersistenceKey: new Set([space.id]),
152
155
  role: 'branch',
153
156
  canDrop: (source: TreeData) => {
154
157
  return (
155
- isGraphNode(source.item) &&
156
- Obj.isObject(source.item.data) &&
157
- Obj.getTypename(source.item.data) === collection.query.typename
158
+ isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename
158
159
  );
159
160
  },
160
161
  onTransferStart: (child: Node<Obj.Any>, index?: number) => {
@@ -177,7 +178,7 @@ const getViewGraphNodePartials = ({
177
178
  view,
178
179
  resolve,
179
180
  }: {
180
- view: DataType.View;
181
+ view: View.View;
181
182
  resolve: (typename: string) => Record<string, any>;
182
183
  }) => {
183
184
  const presentation = view.presentation.target;
@@ -187,6 +188,7 @@ const getViewGraphNodePartials = ({
187
188
  return {
188
189
  label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],
189
190
  icon: metadata.icon,
191
+ iconHue: metadata.iconHue,
190
192
  canDrop: () => false,
191
193
  };
192
194
  };
@@ -215,9 +217,9 @@ export const constructSpaceNode = ({
215
217
  }) => {
216
218
  const hasPendingMigration = checkPendingMigration(space);
217
219
  const collection =
218
- space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
220
+ space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
219
221
  const partials =
220
- space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)
222
+ space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)
221
223
  ? getCollectionGraphNodePartials({ collection, space, resolve })
222
224
  : {};
223
225
 
@@ -235,6 +237,7 @@ export const constructSpaceNode = ({
235
237
  space.state.get() === SpaceState.SPACE_READY && space.properties.icon
236
238
  ? `ph--${space.properties.icon}--regular`
237
239
  : undefined,
240
+ iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
238
241
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
239
242
  testId: 'spacePlugin.space',
240
243
  canDrop: (source: TreeData) => {
@@ -245,40 +248,40 @@ export const constructSpaceNode = ({
245
248
  nodes: [
246
249
  {
247
250
  id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
248
- type: `${SPACE_PLUGIN}/settings`,
251
+ type: `${meta.id}/settings`,
249
252
  data: null,
250
253
  properties: {
251
- label: ['settings panel label', { ns: SPACE_PLUGIN }],
254
+ label: ['settings panel label', { ns: meta.id }],
252
255
  icon: 'ph--faders--regular',
253
256
  disposition: 'alternate-tree',
254
257
  },
255
258
  nodes: [
256
259
  {
257
260
  id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
258
- type: `${SPACE_PLUGIN}/properties`,
259
- data: `${SPACE_PLUGIN}/properties`,
261
+ type: `${meta.id}/properties`,
262
+ data: `${meta.id}/properties`,
260
263
  properties: {
261
- label: ['space settings properties label', { ns: SPACE_PLUGIN }],
264
+ label: ['space settings properties label', { ns: meta.id }],
262
265
  icon: 'ph--sliders--regular',
263
266
  position: 'hoist',
264
267
  },
265
268
  },
266
269
  {
267
270
  id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
268
- type: `${SPACE_PLUGIN}/members`,
269
- data: `${SPACE_PLUGIN}/members`,
271
+ type: `${meta.id}/members`,
272
+ data: `${meta.id}/members`,
270
273
  properties: {
271
- label: ['members panel label', { ns: SPACE_PLUGIN }],
274
+ label: ['members panel label', { ns: meta.id }],
272
275
  icon: 'ph--users--regular',
273
276
  position: 'hoist',
274
277
  },
275
278
  },
276
279
  {
277
280
  id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
278
- type: `${SPACE_PLUGIN}/schema`,
279
- data: `${SPACE_PLUGIN}/schema`,
281
+ type: `${meta.id}/schema`,
282
+ data: `${meta.id}/schema`,
280
283
  properties: {
281
- label: ['space settings schema label', { ns: SPACE_PLUGIN }],
284
+ label: ['space settings schema label', { ns: meta.id }],
282
285
  icon: 'ph--shapes--regular',
283
286
  },
284
287
  },
@@ -312,7 +315,7 @@ export const constructSpaceActions = ({
312
315
  await dispatch(createIntent(SpaceAction.Migrate, { space }));
313
316
  },
314
317
  properties: {
315
- label: ['migrate space label', { ns: SPACE_PLUGIN }],
318
+ label: ['migrate space label', { ns: meta.id }],
316
319
  icon: 'ph--database--regular',
317
320
  disposition: 'list-item-primary',
318
321
  disabled: migrating || Migrations.running(space),
@@ -329,7 +332,7 @@ export const constructSpaceActions = ({
329
332
  await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));
330
333
  },
331
334
  properties: {
332
- label: ['create object in space label', { ns: SPACE_PLUGIN }],
335
+ label: ['create object in space label', { ns: meta.id }],
333
336
  icon: 'ph--plus--regular',
334
337
  disposition: 'item',
335
338
  testId: 'spacePlugin.createObject',
@@ -342,7 +345,7 @@ export const constructSpaceActions = ({
342
345
  await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));
343
346
  },
344
347
  properties: {
345
- label: ['rename space label', { ns: SPACE_PLUGIN }],
348
+ label: ['rename space label', { ns: meta.id }],
346
349
  icon: 'ph--pencil-simple-line--regular',
347
350
  keyBinding: {
348
351
  macos: 'shift+F6',
@@ -359,12 +362,14 @@ export const constructSpaceActions = ({
359
362
  export const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {
360
363
  return {
361
364
  id: `${space.id}/${Type.getTypename(schema)}`,
362
- type: `${SPACE_PLUGIN}/static-schema`,
365
+ type: `${meta.id}/static-schema`,
363
366
  data: schema,
364
367
  properties: {
365
368
  label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],
366
369
  icon: 'ph--database--regular',
370
+ iconHue: 'green',
367
371
  role: 'branch',
372
+ selectable: false,
368
373
  canDrop: () => false,
369
374
  space,
370
375
  },
@@ -398,7 +403,7 @@ export const createStaticSchemaActions = ({
398
403
  );
399
404
  },
400
405
  properties: {
401
- label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],
406
+ label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],
402
407
  icon: 'ph--plus--regular',
403
408
  disposition: 'list-item-primary',
404
409
  testId: 'spacePlugin.addViewToSchema',
@@ -411,7 +416,7 @@ export const createStaticSchemaActions = ({
411
416
  throw new Error('Not implemented');
412
417
  },
413
418
  properties: {
414
- label: ['rename object label', { ns: Type.getTypename(DataType.StoredSchema) }],
419
+ label: ['rename object label', { ns: Type.getTypename(StoredSchema) }],
415
420
  icon: 'ph--pencil-simple-line--regular',
416
421
  disabled: true,
417
422
  disposition: 'list-item',
@@ -430,7 +435,7 @@ export const createStaticSchemaActions = ({
430
435
  }
431
436
  },
432
437
  properties: {
433
- label: ['delete object label', { ns: Type.getTypename(DataType.StoredSchema) }],
438
+ label: ['delete object label', { ns: Type.getTypename(StoredSchema) }],
434
439
  icon: 'ph--trash--regular',
435
440
  disposition: 'list-item',
436
441
  disabled: !deletable,
@@ -463,13 +468,13 @@ export const createObjectNode = ({
463
468
  }
464
469
 
465
470
  const metadata = resolve(type);
466
- const partials = Obj.instanceOf(DataType.Collection, object)
471
+ const partials = Obj.instanceOf(Collection.Collection, object)
467
472
  ? getCollectionGraphNodePartials({ collection: object, space, resolve })
468
- : Obj.instanceOf(DataType.QueryCollection, object)
473
+ : Obj.instanceOf(Collection.QueryCollection, object)
469
474
  ? getQueryCollectionNodePartials({ collection: object, space, resolve })
470
- : Obj.instanceOf(DataType.StoredSchema, object)
475
+ : Obj.instanceOf(StoredSchema, object)
471
476
  ? getSchemaGraphNodePartials()
472
- : Obj.instanceOf(DataType.View, object)
477
+ : Obj.instanceOf(View.View, object)
473
478
  ? getViewGraphNodePartials({ view: object, resolve })
474
479
  : metadata.graphProps;
475
480
 
@@ -480,18 +485,26 @@ export const createObjectNode = ({
480
485
  // TODO(wittjosiah): Remove metadata labels.
481
486
  metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];
482
487
 
488
+ const selectable =
489
+ (!Obj.instanceOf(StoredSchema, object) &&
490
+ !Obj.instanceOf(Collection.QueryCollection, object) &&
491
+ !Obj.instanceOf(Collection.Collection, object)) ||
492
+ (navigable && Obj.instanceOf(Collection.Collection, object));
493
+
483
494
  return {
484
- id: fullyQualifiedId(object),
495
+ id: Obj.getDXN(object).toString(),
485
496
  type,
486
497
  cacheable: ['label', 'icon', 'role'],
487
498
  data: object,
488
499
  properties: {
489
500
  label,
490
501
  icon: metadata.icon ?? 'ph--placeholder--regular',
502
+ iconHue: metadata.iconHue,
491
503
  disposition,
492
504
  testId: 'spacePlugin.object',
493
505
  persistenceClass: 'echo',
494
506
  persistenceKey: space?.id,
507
+ selectable,
495
508
  canDrop: (source: TreeData) => {
496
509
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
497
510
  },
@@ -520,15 +533,15 @@ export const constructObjectActions = ({
520
533
  const typename = Obj.getTypename(object);
521
534
  invariant(typename, 'Object has no typename');
522
535
 
523
- const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;
536
+ const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;
524
537
 
525
- const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;
538
+ const queryCollection = Obj.instanceOf(Collection.QueryCollection, object) ? object : undefined;
526
539
  const matchingObjectForm = queryCollection
527
- ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename)
540
+ ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query))
528
541
  : undefined;
529
542
 
530
543
  const actions: NodeArg<ActionData>[] = [
531
- ...(Obj.instanceOf(DataType.Collection, object)
544
+ ...(Obj.instanceOf(Collection.Collection, object)
532
545
  ? [
533
546
  {
534
547
  id: getId(SpaceAction.OpenCreateObject._tag),
@@ -537,7 +550,7 @@ export const constructObjectActions = ({
537
550
  await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));
538
551
  },
539
552
  properties: {
540
- label: ['create object in collection label', { ns: SPACE_PLUGIN }],
553
+ label: ['create object in collection label', { ns: meta.id }],
541
554
  icon: 'ph--plus--regular',
542
555
  disposition: 'list-item-primary',
543
556
  testId: 'spacePlugin.createObject',
@@ -545,7 +558,7 @@ export const constructObjectActions = ({
545
558
  },
546
559
  ]
547
560
  : []),
548
- ...(Obj.instanceOf(DataType.StoredSchema, object)
561
+ ...(Obj.instanceOf(StoredSchema, object)
549
562
  ? [
550
563
  {
551
564
  id: getId(SpaceAction.AddObject._tag),
@@ -560,7 +573,7 @@ export const constructObjectActions = ({
560
573
  );
561
574
  },
562
575
  properties: {
563
- label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],
576
+ label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],
564
577
  icon: 'ph--plus--regular',
565
578
  disposition: 'list-item-primary',
566
579
  testId: 'spacePlugin.addViewToSchema',
@@ -578,12 +591,12 @@ export const constructObjectActions = ({
578
591
  await dispatch(
579
592
  createIntent(SpaceAction.OpenCreateObject, {
580
593
  target: space,
581
- typename: queryCollection?.query.typename,
594
+ typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : undefined,
582
595
  }),
583
596
  );
584
597
  } else {
585
598
  await dispatch(
586
- pipe(
599
+ Function.pipe(
587
600
  matchingObjectForm.getIntent({}, { space }),
588
601
  chain(SpaceAction.AddObject, { target: space, hidden: true }),
589
602
  chain(LayoutAction.Open, { part: 'main' }),
@@ -592,7 +605,7 @@ export const constructObjectActions = ({
592
605
  }
593
606
  },
594
607
  properties: {
595
- label: ['create object in smart collection label', { ns: SPACE_PLUGIN }],
608
+ label: ['create object in smart collection label', { ns: meta.id }],
596
609
  icon: 'ph--plus--regular',
597
610
  disposition: 'list-item-primary',
598
611
  testId: 'spacePlugin.createObject',
@@ -622,8 +635,8 @@ export const constructObjectActions = ({
622
635
  type: ACTION_TYPE,
623
636
  data: async () => {
624
637
  const collection = graph
625
- .getConnections(fullyQualifiedId(object), 'inbound')
626
- .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
638
+ .getConnections(Obj.getDXN(object).toString(), 'inbound')
639
+ .find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
627
640
  await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));
628
641
  },
629
642
  properties: {
@@ -637,19 +650,19 @@ export const constructObjectActions = ({
637
650
  },
638
651
  },
639
652
  ...(navigable ||
640
- (!Obj.instanceOf(DataType.Collection, object) &&
641
- !Obj.instanceOf(DataType.QueryCollection, object) &&
642
- !Obj.instanceOf(DataType.StoredSchema, object))
653
+ (!Obj.instanceOf(Collection.Collection, object) &&
654
+ !Obj.instanceOf(Collection.QueryCollection, object) &&
655
+ !Obj.instanceOf(StoredSchema, object))
643
656
  ? [
644
657
  {
645
658
  id: getId('copy-link'),
646
659
  type: ACTION_TYPE,
647
660
  data: async () => {
648
- const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
661
+ const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
649
662
  await navigator.clipboard.writeText(url);
650
663
  },
651
664
  properties: {
652
- label: ['copy link label', { ns: SPACE_PLUGIN }],
665
+ label: ['copy link label', { ns: meta.id }],
653
666
  icon: 'ph--link--regular',
654
667
  disposition: 'list-item',
655
668
  testId: 'spacePlugin.copyLink',
@@ -662,10 +675,12 @@ export const constructObjectActions = ({
662
675
  id: getId(LayoutAction.Expose._tag),
663
676
  type: ACTION_TYPE,
664
677
  data: async () => {
665
- await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));
678
+ await dispatch(
679
+ createIntent(LayoutAction.Expose, { part: 'navigation', subject: Obj.getDXN(object).toString() }),
680
+ );
666
681
  },
667
682
  properties: {
668
- label: ['expose object label', { ns: SPACE_PLUGIN }],
683
+ label: ['expose object label', { ns: meta.id }],
669
684
  icon: 'ph--eye--regular',
670
685
  disposition: 'heading-list-item',
671
686
  testId: 'spacePlugin.exposeObject',
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/CollectionMain.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { baseSurface, descriptionMessage, mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const CollectionMain = ({ collection }: { collection: DataType.Collection }) => {\n const { t } = useTranslation(SPACE_PLUGIN);\n\n return (\n <div\n role='none'\n className={mx(baseSurface, 'min-bs-screen is-full flex items-center justify-center p-8')}\n data-testid='composer.firstRunMessage'\n >\n <p\n role='alert'\n className={mx(descriptionMessage, 'rounded-md p-8 font-normal text-lg max-is-[24rem] break-words')}\n >\n {collection.name ?? t('unnamed collection label')}\n </p>\n </div>\n );\n};\n\nexport default CollectionMain;\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,sBAAsB;AAC/B,SAASC,aAAaC,oBAAoBC,UAAU;AAK7C,IAAMC,iBAAiB,CAAC,EAAEC,WAAU,MAAuC;;;AAChF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,YAAAA;AAE7B,WACE,sBAAA,cAACC,OAAAA;MACCC,MAAK;MACLC,WAAWC,GAAGC,aAAa,4DAAA;MAC3BC,eAAY;OAEZ,sBAAA,cAACC,KAAAA;MACCL,MAAK;MACLC,WAAWC,GAAGI,oBAAoB,+DAAA;OAEjCX,WAAWY,QAAQX,EAAE,0BAAA,CAAA,CAAA;;;;AAI9B;AAEA,IAAA,yBAAeF;",
6
- "names": ["React", "useTranslation", "baseSurface", "descriptionMessage", "mx", "CollectionMain", "collection", "t", "useTranslation", "SPACE_PLUGIN", "div", "role", "className", "mx", "baseSurface", "data-testid", "p", "descriptionMessage", "name"]
7
- }
@@ -1,88 +0,0 @@
1
- import {
2
- SPACE_PLUGIN
3
- } from "./chunk-FBCGT5YY.mjs";
4
-
5
- // src/components/ObjectDetailsPanel.tsx
6
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
7
- import React, { useCallback } from "react";
8
- import { setValue } from "@dxos/echo-schema";
9
- import { invariant } from "@dxos/invariant";
10
- import { useClient } from "@dxos/react-client";
11
- import { Filter, getSpace, useQuery, useSchema } from "@dxos/react-client/echo";
12
- import { Callout, useTranslation } from "@dxos/react-ui";
13
- import { useSelected } from "@dxos/react-ui-attention";
14
- import { Form, useRefQueryLookupHandler } from "@dxos/react-ui-form";
15
- import { isNonNullable } from "@dxos/util";
16
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ObjectDetailsPanel.tsx";
17
- var ObjectDetailsPanel = ({ objectId, view }) => {
18
- var _effect = _useSignals();
19
- try {
20
- const { t } = useTranslation(SPACE_PLUGIN);
21
- const client = useClient();
22
- const space = getSpace(view);
23
- const schema = useSchema(client, space, view.query?.typename);
24
- const queriedObjects = useQuery(space, schema ? Filter.type(schema) : Filter.nothing());
25
- const selectedRows = useSelected(objectId, "multi");
26
- const selectedObjects = selectedRows.map((id) => queriedObjects.find((obj) => obj.id === id)).filter(isNonNullable);
27
- const handleRefQueryLookup = useRefQueryLookupHandler({
28
- space
29
- });
30
- const handleSave = useCallback((values, { changed }) => {
31
- const id = values.id;
32
- invariant(typeof id === "string", void 0, {
33
- F: __dxlog_file,
34
- L: 36,
35
- S: void 0,
36
- A: [
37
- "typeof id === 'string'",
38
- ""
39
- ]
40
- });
41
- const object = queriedObjects.find((obj) => obj.id === id);
42
- invariant(object, void 0, {
43
- F: __dxlog_file,
44
- L: 38,
45
- S: void 0,
46
- A: [
47
- "object",
48
- ""
49
- ]
50
- });
51
- const changedPaths = Object.keys(changed).filter((path) => changed[path]);
52
- for (const path of changedPaths) {
53
- const value = values[path];
54
- setValue(object, path, value);
55
- }
56
- }, [
57
- queriedObjects
58
- ]);
59
- if (selectedObjects.length === 0) {
60
- return /* @__PURE__ */ React.createElement("div", {
61
- role: "none",
62
- className: "plb-cardSpacingBlock pli-cardSpacingInline"
63
- }, /* @__PURE__ */ React.createElement(Callout.Root, {
64
- classNames: "is-full"
65
- }, /* @__PURE__ */ React.createElement(Callout.Title, null, t("row details no selection label"))));
66
- }
67
- return /* @__PURE__ */ React.createElement("div", {
68
- role: "none",
69
- className: "bs-full is-full flex flex-col p-2 gap-1 overflow-y-auto"
70
- }, schema && selectedObjects.map((object) => /* @__PURE__ */ React.createElement("div", {
71
- key: object.id,
72
- className: "border border-separator rounded"
73
- }, /* @__PURE__ */ React.createElement(Form, {
74
- autoSave: true,
75
- schema,
76
- values: object,
77
- onSave: handleSave,
78
- onQueryRefOptions: handleRefQueryLookup
79
- }))));
80
- } finally {
81
- _effect.f();
82
- }
83
- };
84
- var ObjectDetailsPanel_default = ObjectDetailsPanel;
85
- export {
86
- ObjectDetailsPanel_default as default
87
- };
88
- //# sourceMappingURL=ObjectDetailsPanel-SY6FYTYC.mjs.map