@dxos/plugin-space 0.8.4-main.fd6878d → 0.8.4-main.fffef41

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 (366) 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-VZW75QPJ.mjs → app-graph-builder-DTM7BJ6D.mjs} +114 -97
  10. package/dist/lib/browser/app-graph-builder-DTM7BJ6D.mjs.map +7 -0
  11. package/dist/lib/browser/{app-graph-serializer-YPHYVZAP.mjs → app-graph-serializer-TIKXF43P.mjs} +19 -19
  12. package/dist/lib/browser/app-graph-serializer-TIKXF43P.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-AFUOMLX6.mjs +167 -0
  14. package/dist/lib/browser/chunk-AFUOMLX6.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-PSIBVBTA.mjs → chunk-CKACGS7T.mjs} +576 -500
  16. package/dist/lib/browser/chunk-CKACGS7T.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-SMB4DGYO.mjs → chunk-KFUMADZF.mjs} +184 -60
  20. package/dist/lib/browser/chunk-KFUMADZF.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-WAXS2ZVX.mjs → chunk-VGKOXAPE.mjs} +27 -13
  22. package/dist/lib/browser/chunk-VGKOXAPE.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  24. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
  26. package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-3UFG6LQQ.mjs → chunk-ZQMSGD5J.mjs} +44 -22
  28. package/dist/lib/browser/chunk-ZQMSGD5J.mjs.map +7 -0
  29. package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs → identity-created-NAXTPQXE.mjs} +5 -5
  30. package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +89 -91
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-TS6CCKST.mjs → intent-resolver-3FNTO3VW.mjs} +103 -85
  34. package/dist/lib/browser/intent-resolver-3FNTO3VW.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/react-root-Q7VBWBES.mjs +30 -0
  37. package/dist/lib/browser/react-root-Q7VBWBES.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-V3ARS2BP.mjs → react-surface-TTHS332A.mjs} +75 -109
  39. package/dist/lib/browser/react-surface-TTHS332A.mjs.map +7 -0
  40. package/dist/lib/browser/{schema-defs-5LBA43X5.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-FLLBP5KI.mjs → settings-45PGPO2V.mjs} +5 -5
  43. package/dist/lib/browser/{settings-FLLBP5KI.mjs.map → settings-45PGPO2V.mjs.map} +1 -1
  44. package/dist/lib/browser/{spaces-ready-FXEP6XEW.mjs → spaces-ready-QCND4DVY.mjs} +15 -14
  45. package/dist/lib/browser/spaces-ready-QCND4DVY.mjs.map +7 -0
  46. package/dist/lib/browser/{state-K3UBPKYP.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-XNVQOJLE.mjs → app-graph-builder-FBJFWI4H.mjs} +114 -97
  58. package/dist/lib/node-esm/app-graph-builder-FBJFWI4H.mjs.map +7 -0
  59. package/dist/lib/node-esm/{app-graph-serializer-PKVLWV6V.mjs → app-graph-serializer-BESQZAYU.mjs} +19 -19
  60. package/dist/lib/node-esm/app-graph-serializer-BESQZAYU.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-S7MKRQHY.mjs → chunk-6VEONPNZ.mjs} +44 -22
  62. package/dist/lib/node-esm/chunk-6VEONPNZ.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs +168 -0
  64. package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  66. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-CTQMR7E3.mjs → chunk-OK2L7N2F.mjs} +184 -60
  70. package/dist/lib/node-esm/chunk-OK2L7N2F.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-HYIZVPOA.mjs → chunk-QBRPYAEL.mjs} +27 -13
  72. package/dist/lib/node-esm/chunk-QBRPYAEL.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-KYUHPPRN.mjs → chunk-XGAMJC5C.mjs} +576 -500
  74. package/dist/lib/node-esm/chunk-XGAMJC5C.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 -91
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/{intent-resolver-W6P27SCF.mjs → intent-resolver-6O5FSB7Z.mjs} +103 -85
  82. package/dist/lib/node-esm/intent-resolver-6O5FSB7Z.mjs.map +7 -0
  83. package/dist/lib/node-esm/meta.json +1 -1
  84. package/dist/lib/node-esm/{react-root-N27KETKT.mjs → react-root-K66W3FMA.mjs} +13 -12
  85. package/dist/lib/node-esm/react-root-K66W3FMA.mjs.map +7 -0
  86. package/dist/lib/node-esm/{react-surface-TNPAUQCM.mjs → react-surface-Y7FTEIDF.mjs} +75 -109
  87. package/dist/lib/node-esm/react-surface-Y7FTEIDF.mjs.map +7 -0
  88. package/dist/lib/node-esm/{schema-defs-TPWZPDCR.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-WKUWY3P6.mjs → settings-6FO65BA6.mjs} +5 -5
  91. package/dist/lib/node-esm/{settings-WKUWY3P6.mjs.map → settings-6FO65BA6.mjs.map} +1 -1
  92. package/dist/lib/node-esm/{spaces-ready-PQLLIO5W.mjs → spaces-ready-P7CKVXBE.mjs} +15 -14
  93. package/dist/lib/node-esm/spaces-ready-P7CKVXBE.mjs.map +7 -0
  94. package/dist/lib/node-esm/{state-4M5A6OSB.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 +1 -1
  100. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  102. package/dist/types/src/capabilities/capabilities.d.ts +6 -5
  103. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/identity-created.d.ts +1 -1
  105. package/dist/types/src/capabilities/index.d.ts +11 -12
  106. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  108. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  110. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  112. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
  114. package/dist/types/src/capabilities/settings.d.ts +1 -1
  115. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  116. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/state.d.ts +1 -1
  118. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  119. package/dist/types/src/components/CollectionArticle.d.ts +6 -0
  120. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  121. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  122. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  123. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  124. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  125. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1704 -4
  126. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  127. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +6 -4
  128. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  129. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  130. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  131. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  132. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  133. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  134. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  135. package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +3 -2
  136. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  137. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1707 -0
  138. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -0
  139. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  140. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  141. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  142. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  143. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  144. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  145. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  146. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  147. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  148. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  149. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  150. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  151. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  152. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  153. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1540 -0
  154. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  155. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  156. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  157. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  158. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  159. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  160. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  161. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  162. package/dist/types/src/components/RecordArticle.stories.d.ts +1707 -0
  163. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  164. package/dist/types/src/components/SchemaContainer.d.ts +1 -1
  165. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  166. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  167. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
  168. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  169. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +1537 -0
  170. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
  171. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  172. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  173. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  174. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  175. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  176. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  177. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  178. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1537 -4
  179. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  180. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  181. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1538 -5
  182. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  183. package/dist/types/src/components/ViewEditor.d.ts +3 -4
  184. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  185. package/dist/types/src/components/index.d.ts +10 -14
  186. package/dist/types/src/components/index.d.ts.map +1 -1
  187. package/dist/types/src/events.d.ts.map +1 -1
  188. package/dist/types/src/helpers/index.d.ts +2 -0
  189. package/dist/types/src/helpers/index.d.ts.map +1 -0
  190. package/dist/types/src/helpers/query.d.ts +8 -0
  191. package/dist/types/src/helpers/query.d.ts.map +1 -0
  192. package/dist/types/src/helpers/query.test.d.ts +2 -0
  193. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  194. package/dist/types/src/hooks/index.d.ts +1 -0
  195. package/dist/types/src/hooks/index.d.ts.map +1 -1
  196. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  197. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  198. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  199. package/dist/types/src/hooks/usePath.d.ts +1 -1
  200. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  201. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  202. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  203. package/dist/types/src/index.d.ts +1 -0
  204. package/dist/types/src/index.d.ts.map +1 -1
  205. package/dist/types/src/meta.d.ts +0 -1
  206. package/dist/types/src/meta.d.ts.map +1 -1
  207. package/dist/types/src/translations.d.ts +1332 -22
  208. package/dist/types/src/translations.d.ts.map +1 -1
  209. package/dist/types/src/types/types.d.ts +92 -97
  210. package/dist/types/src/types/types.d.ts.map +1 -1
  211. package/dist/types/src/util.d.ts +12 -8
  212. package/dist/types/src/util.d.ts.map +1 -1
  213. package/dist/types/tsconfig.tsbuildinfo +1 -1
  214. package/package.json +65 -59
  215. package/src/SpacePlugin.ts +228 -218
  216. package/src/capabilities/app-graph-builder.ts +184 -135
  217. package/src/capabilities/app-graph-serializer.ts +12 -12
  218. package/src/capabilities/capabilities.ts +17 -11
  219. package/src/capabilities/identity-created.ts +2 -2
  220. package/src/capabilities/index.ts +0 -1
  221. package/src/capabilities/intent-resolver.ts +89 -62
  222. package/src/capabilities/react-root.tsx +4 -3
  223. package/src/capabilities/react-surface.tsx +69 -145
  224. package/src/capabilities/schema-defs.ts +1 -1
  225. package/src/capabilities/spaces-ready.ts +8 -5
  226. package/src/capabilities/state.ts +2 -2
  227. package/src/components/AwaitingObject.tsx +12 -14
  228. package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
  229. package/src/components/CollectionSection.tsx +8 -6
  230. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +15 -15
  231. package/src/components/CreateDialog/CreateObjectDialog.tsx +48 -31
  232. package/src/components/CreateDialog/CreateObjectPanel.tsx +22 -11
  233. package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
  234. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
  235. package/src/components/JoinDialog/index.ts +5 -0
  236. package/src/components/MembersContainer/MembersContainer.stories.tsx +56 -0
  237. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +21 -20
  238. package/src/components/MembersContainer/index.ts +5 -0
  239. package/src/components/MenuFooter.tsx +2 -2
  240. package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
  241. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
  242. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  243. package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
  244. package/src/components/ObjectRenamePopover/index.ts +5 -0
  245. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +3 -3
  246. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  247. package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
  248. package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
  249. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -3
  250. package/src/components/ObjectSettings/index.ts +3 -1
  251. package/src/components/RecordArticle.stories.tsx +115 -0
  252. package/src/components/RecordArticle.tsx +114 -0
  253. package/src/components/SchemaContainer.tsx +23 -26
  254. package/src/components/SpacePluginSettings.tsx +15 -10
  255. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +22 -22
  256. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
  257. package/src/components/SpacePresence/index.ts +5 -0
  258. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
  259. package/src/components/SpaceRenamePopover/index.ts +5 -0
  260. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +15 -8
  261. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +45 -24
  262. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  263. package/src/components/SyncStatus/SyncStatus.stories.tsx +7 -8
  264. package/src/components/SyncStatus/SyncStatus.tsx +107 -11
  265. package/src/components/ViewEditor.tsx +51 -23
  266. package/src/components/index.ts +7 -8
  267. package/src/events.ts +6 -6
  268. package/src/helpers/index.ts +5 -0
  269. package/src/helpers/query.test.ts +24 -0
  270. package/src/helpers/query.ts +158 -0
  271. package/src/hooks/index.ts +1 -0
  272. package/src/hooks/useActiveSpace.ts +3 -2
  273. package/src/hooks/useInputSurfaceLookup.tsx +8 -3
  274. package/src/hooks/usePath.ts +1 -1
  275. package/src/hooks/useTypeOptions.ts +59 -0
  276. package/src/index.ts +1 -0
  277. package/src/meta.ts +6 -3
  278. package/src/translations.ts +26 -10
  279. package/src/types/types.ts +42 -23
  280. package/src/util.tsx +183 -62
  281. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  282. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs +0 -88
  283. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs.map +0 -7
  284. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  285. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  286. package/dist/lib/browser/app-graph-builder-VZW75QPJ.mjs.map +0 -7
  287. package/dist/lib/browser/app-graph-serializer-YPHYVZAP.mjs.map +0 -7
  288. package/dist/lib/browser/chunk-3UFG6LQQ.mjs.map +0 -7
  289. package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
  290. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
  291. package/dist/lib/browser/chunk-DYKFFVN6.mjs +0 -94
  292. package/dist/lib/browser/chunk-DYKFFVN6.mjs.map +0 -7
  293. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  294. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  295. package/dist/lib/browser/chunk-PSIBVBTA.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-Q5EEPP3S.mjs +0 -20
  297. package/dist/lib/browser/chunk-Q5EEPP3S.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-SMB4DGYO.mjs.map +0 -7
  299. package/dist/lib/browser/chunk-WAXS2ZVX.mjs.map +0 -7
  300. package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
  301. package/dist/lib/browser/intent-resolver-TS6CCKST.mjs.map +0 -7
  302. package/dist/lib/browser/react-root-RQGTZ2ZO.mjs +0 -29
  303. package/dist/lib/browser/react-root-RQGTZ2ZO.mjs.map +0 -7
  304. package/dist/lib/browser/react-surface-V3ARS2BP.mjs.map +0 -7
  305. package/dist/lib/browser/schema-defs-5LBA43X5.mjs.map +0 -7
  306. package/dist/lib/browser/schema-tools-LPL35WOJ.mjs +0 -124
  307. package/dist/lib/browser/schema-tools-LPL35WOJ.mjs.map +0 -7
  308. package/dist/lib/browser/spaces-ready-FXEP6XEW.mjs.map +0 -7
  309. package/dist/lib/browser/state-K3UBPKYP.mjs.map +0 -7
  310. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  311. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs +0 -89
  312. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs.map +0 -7
  313. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  314. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  315. package/dist/lib/node-esm/app-graph-builder-XNVQOJLE.mjs.map +0 -7
  316. package/dist/lib/node-esm/app-graph-serializer-PKVLWV6V.mjs.map +0 -7
  317. package/dist/lib/node-esm/chunk-7MZ3J3LI.mjs +0 -21
  318. package/dist/lib/node-esm/chunk-7MZ3J3LI.mjs.map +0 -7
  319. package/dist/lib/node-esm/chunk-CTQMR7E3.mjs.map +0 -7
  320. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
  321. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
  322. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  323. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  324. package/dist/lib/node-esm/chunk-HYIZVPOA.mjs.map +0 -7
  325. package/dist/lib/node-esm/chunk-KLG4Y4GY.mjs +0 -96
  326. package/dist/lib/node-esm/chunk-KLG4Y4GY.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-KYUHPPRN.mjs.map +0 -7
  328. package/dist/lib/node-esm/chunk-S7MKRQHY.mjs.map +0 -7
  329. package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
  330. package/dist/lib/node-esm/intent-resolver-W6P27SCF.mjs.map +0 -7
  331. package/dist/lib/node-esm/react-root-N27KETKT.mjs.map +0 -7
  332. package/dist/lib/node-esm/react-surface-TNPAUQCM.mjs.map +0 -7
  333. package/dist/lib/node-esm/schema-defs-TPWZPDCR.mjs.map +0 -7
  334. package/dist/lib/node-esm/schema-tools-PJE2FKWH.mjs +0 -126
  335. package/dist/lib/node-esm/schema-tools-PJE2FKWH.mjs.map +0 -7
  336. package/dist/lib/node-esm/spaces-ready-PQLLIO5W.mjs.map +0 -7
  337. package/dist/lib/node-esm/state-4M5A6OSB.mjs.map +0 -7
  338. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  339. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  340. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  341. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  342. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  343. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  344. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  345. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  346. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
  347. package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
  348. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  349. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  350. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  351. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  352. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  353. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  354. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  355. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  356. package/dist/types/src/components/RecordMain.d.ts +0 -7
  357. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  358. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  359. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
  360. package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
  361. package/src/capabilities/schema-tool.test.ts +0 -44
  362. package/src/capabilities/schema-tools.ts +0 -125
  363. package/src/components/MembersContainer.stories.tsx +0 -31
  364. package/src/components/ObjectDetailsPanel.tsx +0 -77
  365. package/src/components/PersistenceStatus.tsx +0 -83
  366. package/src/components/RecordMain.tsx +0 -43
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useActiveSpace.ts", "../../../src/hooks/useInputSurfaceLookup.tsx", "../../../src/hooks/usePath.ts", "../../../src/hooks/useTypeOptions.ts", "../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext } from '@dxos/app-framework';\nimport { useLayout } from '@dxos/app-framework/react';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { parseId, useSpace } from '@dxos/react-client/echo';\n\nexport const getActiveSpace = (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const layout = context.getCapability(Capabilities.Layout);\n const { spaceId } = parseId(layout.workspace);\n return spaceId ? client.spaces.get(spaceId) : undefined;\n};\n\nexport const useActiveSpace = () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n return useSpace(spaceId);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback } from 'react';\n\nimport { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework/react';\nimport { type InputProps } from '@dxos/react-ui-form';\n\n// TODO(ZaymonFC): Move this if you find yourself needing it elsewhere.\n/**\n * Creates a surface input component based on plugin context.\n * @param baseData Additional data that will be merged with form data and passed to the surface.\n * This allows providing more context to the surface than what's available from the form itself.\n */\nexport const useInputSurfaceLookup = (baseData?: Record<string, any>) => {\n const pluginManager = usePluginManager();\n\n return useCallback(\n ({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {\n const composedData = { prop, schema, ...baseData };\n if (\n !isSurfaceAvailable(pluginManager.context, {\n role: 'form-input',\n data: composedData,\n })\n ) {\n return undefined;\n }\n\n return <Surface role='form-input' data={composedData} {...inputProps} />;\n },\n [pluginManager, baseData],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useEffect, useState } from 'react';\n\nimport { type ReadableGraph } from '@dxos/plugin-graph';\n\n/**\n * React hook to get a path from the graph.\n *\n * @param graph Graph to find the node in.\n * @param id Id of the node to find a path to.\n * @param timeout Optional timeout in milliseconds to wait for the node to be found.\n * @returns Path if found, undefined otherwise.\n */\n// TODO(wittjosiah): Factor out.\nexport const usePath = (graph: ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {\n const [pathState, setPathState] = useState<Option.Option<string[]>>(\n id ? graph.getPath({ target: id }) : Option.none(),\n );\n\n useEffect(() => {\n if (!id && pathState) {\n setPathState(Option.none());\n }\n\n if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {\n return;\n }\n\n // Set timeout did not seem to effectively not block the UI thread.\n const frame = requestAnimationFrame(async () => {\n try {\n const path = await graph.waitForPath({ target: id }, { timeout });\n if (path) {\n setPathState(Option.some(path));\n }\n } catch {}\n });\n\n return () => cancelAnimationFrame(frame);\n }, [graph, id, timeout, pathState]);\n\n return pathState;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useCapabilities } from '@dxos/app-framework/react';\nimport { Type } from '@dxos/echo';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Collection, type TypenameAnnotation, getTypenames } from '@dxos/schema';\n\nimport { SpaceCapabilities } from '../capabilities';\n\nconst OMIT = [Collection.Collection.typename, Type.getTypename(Collection.QueryCollection)];\n\nexport const useTypeOptions = ({ space, annotation }: { space?: Space; annotation: TypenameAnnotation[] }) => {\n const { t } = useTranslation();\n const client = useClient();\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))),\n [schemaWhitelists],\n );\n\n const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);\n const objectFormTypenames = useMemo(\n () =>\n new Set(\n objectForms\n .map((form) => Type.getTypename(form.objectSchema))\n // TODO(wittjosiah): Remove.\n .filter((typename) => !OMIT.includes(typename) && !typename.endsWith('View')),\n ),\n [objectForms],\n );\n\n const typenames = getTypenames({\n annotation,\n whitelistedTypenames,\n objectFormTypenames,\n space,\n client,\n });\n\n return useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const AppGraphSerializer = lazy(() => import('./app-graph-serializer'));\nexport const IdentityCreated = lazy(() => import('./identity-created'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactRoot = lazy(() => import('./react-root'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const SchemaDefs = lazy(() => import('./schema-defs'));\nexport const SpaceSettings = lazy(() => import('./settings'));\nexport const SpaceState = lazy(() => import('./state'));\nexport const SpacesReady = lazy(() => import('./spaces-ready'));\n\nexport * from './capabilities';\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "useLayout", "ClientCapabilities", "parseId", "useSpace", "getActiveSpace", "context", "client", "getCapability", "ClientCapabilities", "Client", "layout", "Capabilities", "Layout", "spaceId", "parseId", "workspace", "spaces", "get", "undefined", "useActiveSpace", "useLayout", "useSpace", "React", "useCallback", "Surface", "isSurfaceAvailable", "usePluginManager", "useInputSurfaceLookup", "baseData", "pluginManager", "usePluginManager", "useCallback", "prop", "schema", "inputProps", "composedData", "isSurfaceAvailable", "context", "role", "data", "undefined", "Surface", "Option", "useEffect", "useState", "usePath", "graph", "id", "timeout", "pathState", "setPathState", "useState", "getPath", "target", "none", "useEffect", "isSome", "value", "at", "frame", "requestAnimationFrame", "path", "waitForPath", "some", "cancelAnimationFrame", "useMemo", "useCapabilities", "Type", "ClientCapabilities", "useClient", "useTranslation", "Collection", "getTypenames", "lazy", "AppGraphBuilder", "lazy", "AppGraphSerializer", "IdentityCreated", "IntentResolver", "ReactRoot", "ReactSurface", "SchemaDefs", "SpaceSettings", "SpaceState", "SpacesReady", "OMIT", "Collection", "typename", "Type", "getTypename", "QueryCollection", "useTypeOptions", "space", "annotation", "t", "useTranslation", "client", "useClient", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "useMemo", "Set", "flatMap", "typeArray", "map", "type", "objectForms", "SpaceCapabilities", "ObjectForm", "objectFormTypenames", "form", "objectSchema", "filter", "includes", "endsWith", "typenames", "getTypenames", "value", "label", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare"]
7
+ }
@@ -0,0 +1,18 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/meta.ts
4
+ import { trim } from "@dxos/util";
5
+ var meta = {
6
+ id: "dxos.org/plugin/space",
7
+ name: "Spaces",
8
+ description: trim`
9
+ Core workspace container system for organizing and sharing collaborative environments.
10
+ Create, manage, and share spaces with granular access control and invitation management.
11
+ `,
12
+ icon: "ph--planet--regular"
13
+ };
14
+
15
+ export {
16
+ meta
17
+ };
18
+ //# sourceMappingURL=chunk-BDEFTL6K.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/space',\n name: 'Spaces',\n description: trim`\n Core workspace container system for organizing and sharing collaborative environments.\n Create, manage, and share spaces with granular access control and invitation management.\n `,\n icon: 'ph--planet--regular',\n};\n"],
5
+ "mappings": ";;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;",
6
+ "names": ["trim", "meta", "id", "name", "description", "trim", "icon"]
7
+ }
@@ -0,0 +1,20 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ meta
4
+ } from "./chunk-BDEFTL6K.mjs";
5
+
6
+ // src/events.ts
7
+ import { Events, defineEvent } from "@dxos/app-framework";
8
+ (function(SpaceEvents2) {
9
+ SpaceEvents2.StateReady = Events.createStateEvent(`${meta.id}/event/state-ready`);
10
+ SpaceEvents2.SetupSettingsPanel = defineEvent(`${meta.id}/event/setup-settings-panel`);
11
+ SpaceEvents2.DefaultSpaceReady = defineEvent(`${meta.id}/event/default-space-ready`);
12
+ SpaceEvents2.SpaceCreated = defineEvent(`${meta.id}/event/space-created`);
13
+ SpaceEvents2.SchemaAdded = defineEvent(`${meta.id}/event/schema-added`);
14
+ })(SpaceEvents || (SpaceEvents = {}));
15
+ var SpaceEvents;
16
+
17
+ export {
18
+ SpaceEvents
19
+ };
20
+ //# sourceMappingURL=chunk-H4JILUJK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/events.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events, defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${meta.id}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${meta.id}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${meta.id}/event/default-space-ready`);\n export const SpaceCreated = defineEvent(`${meta.id}/event/space-created`);\n export const SchemaAdded = defineEvent(`${meta.id}/event/schema-added`);\n}\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,QAAQC,mBAAmB;UAInBC,cAAAA;eACFC,aAAaC,OAAOC,iBAAiB,GAAGC,KAAKC,EAAE,oBAAoB;eACnEC,qBAAqBC,YAAY,GAAGH,KAAKC,EAAE,6BAA6B;eACxEG,oBAAoBD,YAAY,GAAGH,KAAKC,EAAE,4BAA4B;eACtEI,eAAeF,YAAY,GAAGH,KAAKC,EAAE,sBAAsB;eAC3DK,cAAcH,YAAY,GAAGH,KAAKC,EAAE,qBAAqB;AACxE,GANiBL,gBAAAA,cAAAA,CAAAA,EAAAA;;",
6
+ "names": ["Events", "defineEvent", "SpaceEvents", "StateReady", "Events", "createStateEvent", "meta", "id", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "SpaceCreated", "SchemaAdded"]
7
+ }
@@ -2,29 +2,29 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  SPACE_TYPE,
4
4
  SpaceAction
5
- } from "./chunk-S7MKRQHY.mjs";
5
+ } from "./chunk-6VEONPNZ.mjs";
6
6
  import {
7
- SPACE_PLUGIN
8
- } from "./chunk-HWNG4MEU.mjs";
7
+ meta
8
+ } from "./chunk-BDEFTL6K.mjs";
9
9
 
10
10
  // src/util.tsx
11
- import { Rx } from "@effect-rx/rx-react";
12
- import { pipe } from "effect";
11
+ import { Atom } from "@effect-atom/atom-react";
12
+ import * as Function from "effect/Function";
13
13
  import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
14
- import { Obj, Ref, Type } from "@dxos/echo";
15
- import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
14
+ import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
15
+ import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
16
16
  import { invariant } from "@dxos/invariant";
17
17
  import { Migrations } from "@dxos/migrations";
18
18
  import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
19
- import { SpaceState, fullyQualifiedId, getSpace, isSpace } from "@dxos/react-client/echo";
19
+ import { SpaceState, getSpace, isSpace } from "@dxos/react-client/echo";
20
20
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
21
- import { DataType } from "@dxos/schema";
21
+ import { Collection, StoredSchema, View, getTypenameFromQuery } from "@dxos/schema";
22
22
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
23
- var SPACES = `${SPACE_PLUGIN}-spaces`;
24
- var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
23
+ var SPACES = `${meta.id}-spaces`;
24
+ var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
25
25
  var SHARED = "shared-spaces";
26
- var rxFromQuery = (query) => {
27
- return Rx.make((get) => {
26
+ var atomFromQuery = (query) => {
27
+ return Atom.make((get) => {
28
28
  const unsubscribe = query.subscribe((result) => {
29
29
  get.setSelf(result.objects);
30
30
  });
@@ -36,12 +36,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
36
36
  return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
37
37
  "personal space label",
38
38
  {
39
- ns: SPACE_PLUGIN
39
+ ns: meta.id
40
40
  }
41
41
  ] : [
42
42
  "unnamed space label",
43
43
  {
44
- ns: SPACE_PLUGIN
44
+ ns: meta.id
45
45
  }
46
46
  ];
47
47
  };
@@ -84,8 +84,11 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
84
84
  };
85
85
  };
86
86
  var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
87
+ const typename = getTypenameFromQuery(collection.query);
88
+ const metadata = typename ? resolve(typename) : {};
87
89
  return {
88
- icon: collection.query.typename && resolve(collection.query.typename)?.icon,
90
+ icon: metadata.icon,
91
+ iconHue: metadata.iconHue,
89
92
  acceptPersistenceClass: /* @__PURE__ */ new Set([
90
93
  "echo"
91
94
  ]),
@@ -94,7 +97,7 @@ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
94
97
  ]),
95
98
  role: "branch",
96
99
  canDrop: (source) => {
97
- return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === collection.query.typename;
100
+ return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename;
98
101
  },
99
102
  onTransferStart: (child, index) => {
100
103
  },
@@ -121,6 +124,7 @@ var getViewGraphNodePartials = ({ view, resolve }) => {
121
124
  }
122
125
  ],
123
126
  icon: metadata.icon,
127
+ iconHue: metadata.iconHue,
124
128
  canDrop: () => false
125
129
  };
126
130
  };
@@ -129,8 +133,8 @@ var checkPendingMigration = (space) => {
129
133
  };
130
134
  var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
131
135
  const hasPendingMigration = checkPendingMigration(space);
132
- const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
133
- const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection) ? getCollectionGraphNodePartials({
136
+ const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
137
+ const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection) ? getCollectionGraphNodePartials({
134
138
  collection,
135
139
  space,
136
140
  resolve
@@ -153,6 +157,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
153
157
  description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
154
158
  hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
155
159
  icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
160
+ iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
156
161
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
157
162
  testId: "spacePlugin.space",
158
163
  canDrop: (source) => {
@@ -162,13 +167,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
162
167
  nodes: [
163
168
  {
164
169
  id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
165
- type: `${SPACE_PLUGIN}/settings`,
170
+ type: `${meta.id}/settings`,
166
171
  data: null,
167
172
  properties: {
168
173
  label: [
169
174
  "settings panel label",
170
175
  {
171
- ns: SPACE_PLUGIN
176
+ ns: meta.id
172
177
  }
173
178
  ],
174
179
  icon: "ph--faders--regular",
@@ -177,13 +182,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
177
182
  nodes: [
178
183
  {
179
184
  id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
180
- type: `${SPACE_PLUGIN}/properties`,
181
- data: `${SPACE_PLUGIN}/properties`,
185
+ type: `${meta.id}/properties`,
186
+ data: `${meta.id}/properties`,
182
187
  properties: {
183
188
  label: [
184
189
  "space settings properties label",
185
190
  {
186
- ns: SPACE_PLUGIN
191
+ ns: meta.id
187
192
  }
188
193
  ],
189
194
  icon: "ph--sliders--regular",
@@ -192,13 +197,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
192
197
  },
193
198
  {
194
199
  id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
195
- type: `${SPACE_PLUGIN}/members`,
196
- data: `${SPACE_PLUGIN}/members`,
200
+ type: `${meta.id}/members`,
201
+ data: `${meta.id}/members`,
197
202
  properties: {
198
203
  label: [
199
204
  "members panel label",
200
205
  {
201
- ns: SPACE_PLUGIN
206
+ ns: meta.id
202
207
  }
203
208
  ],
204
209
  icon: "ph--users--regular",
@@ -207,13 +212,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
207
212
  },
208
213
  {
209
214
  id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
210
- type: `${SPACE_PLUGIN}/schema`,
211
- data: `${SPACE_PLUGIN}/schema`,
215
+ type: `${meta.id}/schema`,
216
+ data: `${meta.id}/schema`,
212
217
  properties: {
213
218
  label: [
214
219
  "space settings schema label",
215
220
  {
216
- ns: SPACE_PLUGIN
221
+ ns: meta.id
217
222
  }
218
223
  ],
219
224
  icon: "ph--shapes--regular"
@@ -242,7 +247,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
242
247
  label: [
243
248
  "migrate space label",
244
249
  {
245
- ns: SPACE_PLUGIN
250
+ ns: meta.id
246
251
  }
247
252
  ],
248
253
  icon: "ph--database--regular",
@@ -264,7 +269,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
264
269
  label: [
265
270
  "create object in space label",
266
271
  {
267
- ns: SPACE_PLUGIN
272
+ ns: meta.id
268
273
  }
269
274
  ],
270
275
  icon: "ph--plus--regular",
@@ -284,7 +289,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
284
289
  label: [
285
290
  "rename space label",
286
291
  {
287
- ns: SPACE_PLUGIN
292
+ ns: meta.id
288
293
  }
289
294
  ],
290
295
  icon: "ph--pencil-simple-line--regular",
@@ -300,7 +305,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
300
305
  var createStaticSchemaNode = ({ schema, space }) => {
301
306
  return {
302
307
  id: `${space.id}/${Type.getTypename(schema)}`,
303
- type: `${SPACE_PLUGIN}/static-schema`,
308
+ type: `${meta.id}/static-schema`,
304
309
  data: schema,
305
310
  properties: {
306
311
  label: [
@@ -311,15 +316,41 @@ var createStaticSchemaNode = ({ schema, space }) => {
311
316
  }
312
317
  ],
313
318
  icon: "ph--database--regular",
319
+ iconHue: "green",
314
320
  role: "branch",
321
+ selectable: false,
315
322
  canDrop: () => false,
316
323
  space
317
324
  }
318
325
  };
319
326
  };
320
- var createStaticSchemaActions = ({ schema, space, deletable }) => {
327
+ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
321
328
  const getId = (id) => `${space.id}/${Type.getTypename(schema)}/${id}`;
322
329
  const actions = [
330
+ {
331
+ id: getId(SpaceAction.AddObject._tag),
332
+ type: ACTION_TYPE,
333
+ data: async () => {
334
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
335
+ target: space,
336
+ views: true,
337
+ initialFormValues: {
338
+ typename: Type.getTypename(schema)
339
+ }
340
+ }));
341
+ },
342
+ properties: {
343
+ label: [
344
+ "add view to schema label",
345
+ {
346
+ ns: Type.getTypename(StoredSchema)
347
+ }
348
+ ],
349
+ icon: "ph--plus--regular",
350
+ disposition: "list-item-primary",
351
+ testId: "spacePlugin.addViewToSchema"
352
+ }
353
+ },
323
354
  {
324
355
  id: getId(SpaceAction.RenameObject._tag),
325
356
  type: ACTION_TYPE,
@@ -330,7 +361,7 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
330
361
  label: [
331
362
  "rename object label",
332
363
  {
333
- ns: Type.getTypename(DataType.StoredSchema)
364
+ ns: Type.getTypename(StoredSchema)
334
365
  }
335
366
  ],
336
367
  icon: "ph--pencil-simple-line--regular",
@@ -352,7 +383,7 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
352
383
  label: [
353
384
  "delete object label",
354
385
  {
355
- ns: Type.getTypename(DataType.StoredSchema)
386
+ ns: Type.getTypename(StoredSchema)
356
387
  }
357
388
  ],
358
389
  icon: "ph--trash--regular",
@@ -360,6 +391,33 @@ var createStaticSchemaActions = ({ schema, space, deletable }) => {
360
391
  disabled: !deletable,
361
392
  testId: "spacePlugin.deleteObject"
362
393
  }
394
+ },
395
+ {
396
+ id: getId(SpaceAction.Snapshot._tag),
397
+ type: ACTION_TYPE,
398
+ data: async () => {
399
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
400
+ space,
401
+ query: Query.select(Filter.type(schema)).ast
402
+ }));
403
+ if (result.data?.snapshot) {
404
+ await downloadBlob(
405
+ result.data.snapshot,
406
+ // TODO(wittjosiah): Factor out file name construction.
407
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${Type.getTypename(schema)}.json`
408
+ );
409
+ }
410
+ },
411
+ properties: {
412
+ label: [
413
+ "snapshot by schema label",
414
+ {
415
+ ns: meta.id
416
+ }
417
+ ],
418
+ icon: "ph--camera--regular",
419
+ disposition: "list-item"
420
+ }
363
421
  }
364
422
  ];
365
423
  return actions;
@@ -370,15 +428,15 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
370
428
  return null;
371
429
  }
372
430
  const metadata = resolve(type);
373
- const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
431
+ const partials = Obj.instanceOf(Collection.Collection, object) ? getCollectionGraphNodePartials({
374
432
  collection: object,
375
433
  space,
376
434
  resolve
377
- }) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
435
+ }) : Obj.instanceOf(Collection.QueryCollection, object) ? getQueryCollectionNodePartials({
378
436
  collection: object,
379
437
  space,
380
438
  resolve
381
- }) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
439
+ }) : Obj.instanceOf(StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(View.View, object) ? getViewGraphNodePartials({
382
440
  view: object,
383
441
  resolve
384
442
  }) : metadata.graphProps;
@@ -390,8 +448,9 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
390
448
  default: "New item"
391
449
  }
392
450
  ];
451
+ const selectable = !Obj.instanceOf(StoredSchema, object) && !Obj.instanceOf(Collection.QueryCollection, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
393
452
  return {
394
- id: fullyQualifiedId(object),
453
+ id: Obj.getDXN(object).toString(),
395
454
  type,
396
455
  cacheable: [
397
456
  "label",
@@ -402,10 +461,12 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
402
461
  properties: {
403
462
  label,
404
463
  icon: metadata.icon ?? "ph--placeholder--regular",
464
+ iconHue: metadata.iconHue,
405
465
  disposition,
406
466
  testId: "spacePlugin.object",
407
467
  persistenceClass: "echo",
408
468
  persistenceKey: space?.id,
469
+ selectable,
409
470
  canDrop: (source) => {
410
471
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
411
472
  },
@@ -417,7 +478,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
417
478
  const space = getSpace(object);
418
479
  invariant(space, "Space not found", {
419
480
  F: __dxlog_file,
420
- L: 498,
481
+ L: 556,
421
482
  S: void 0,
422
483
  A: [
423
484
  "space",
@@ -427,18 +488,18 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
427
488
  const typename = Obj.getTypename(object);
428
489
  invariant(typename, "Object has no typename", {
429
490
  F: __dxlog_file,
430
- L: 500,
491
+ L: 558,
431
492
  S: void 0,
432
493
  A: [
433
494
  "typename",
434
495
  "'Object has no typename'"
435
496
  ]
436
497
  });
437
- const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
438
- const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
439
- const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
498
+ const getId = (id) => `${id}/${Obj.getDXN(object).toString()}`;
499
+ const queryCollection = Obj.instanceOf(Collection.QueryCollection, object) ? object : void 0;
500
+ const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query)) : void 0;
440
501
  const actions = [
441
- ...Obj.instanceOf(DataType.Collection, object) ? [
502
+ ...Obj.instanceOf(Collection.Collection, object) ? [
442
503
  {
443
504
  id: getId(SpaceAction.OpenCreateObject._tag),
444
505
  type: ACTION_TYPE,
@@ -451,7 +512,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
451
512
  label: [
452
513
  "create object in collection label",
453
514
  {
454
- ns: SPACE_PLUGIN
515
+ ns: meta.id
455
516
  }
456
517
  ],
457
518
  icon: "ph--plus--regular",
@@ -460,6 +521,59 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
460
521
  }
461
522
  }
462
523
  ] : [],
524
+ ...Obj.instanceOf(StoredSchema, object) ? [
525
+ {
526
+ id: getId(SpaceAction.AddObject._tag),
527
+ type: ACTION_TYPE,
528
+ data: async () => {
529
+ await dispatch(createIntent(SpaceAction.OpenCreateObject, {
530
+ target: space,
531
+ views: true,
532
+ initialFormValues: {
533
+ typename: object.typename
534
+ }
535
+ }));
536
+ },
537
+ properties: {
538
+ label: [
539
+ "add view to schema label",
540
+ {
541
+ ns: Type.getTypename(StoredSchema)
542
+ }
543
+ ],
544
+ icon: "ph--plus--regular",
545
+ disposition: "list-item-primary",
546
+ testId: "spacePlugin.addViewToSchema"
547
+ }
548
+ },
549
+ {
550
+ id: getId(SpaceAction.Snapshot._tag),
551
+ type: ACTION_TYPE,
552
+ data: async () => {
553
+ const result = await dispatch(createIntent(SpaceAction.Snapshot, {
554
+ space,
555
+ query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast
556
+ }));
557
+ if (result.data?.snapshot) {
558
+ await downloadBlob(
559
+ result.data.snapshot,
560
+ // TODO(wittjosiah): Factor out file name construction.
561
+ `${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${object.typename}.json`
562
+ );
563
+ }
564
+ },
565
+ properties: {
566
+ label: [
567
+ "snapshot by schema label",
568
+ {
569
+ ns: meta.id
570
+ }
571
+ ],
572
+ icon: "ph--camera--regular",
573
+ disposition: "list-item"
574
+ }
575
+ }
576
+ ] : [],
463
577
  ...matchingObjectForm ? [
464
578
  {
465
579
  id: getId(SpaceAction.OpenCreateObject._tag),
@@ -468,10 +582,10 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
468
582
  if (matchingObjectForm.formSchema) {
469
583
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
470
584
  target: space,
471
- typename: queryCollection?.query.typename
585
+ typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : void 0
472
586
  }));
473
587
  } else {
474
- await dispatch(pipe(matchingObjectForm.getIntent({}, {
588
+ await dispatch(Function.pipe(matchingObjectForm.getIntent({}, {
475
589
  space
476
590
  }), chain(SpaceAction.AddObject, {
477
591
  target: space,
@@ -485,7 +599,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
485
599
  label: [
486
600
  "create object in smart collection label",
487
601
  {
488
- ns: SPACE_PLUGIN
602
+ ns: meta.id
489
603
  }
490
604
  ],
491
605
  icon: "ph--plus--regular",
@@ -523,7 +637,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
523
637
  id: getId(SpaceAction.RemoveObjects._tag),
524
638
  type: ACTION_TYPE,
525
639
  data: async () => {
526
- const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
640
+ const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
527
641
  await dispatch(createIntent(SpaceAction.RemoveObjects, {
528
642
  objects: [
529
643
  object
@@ -546,19 +660,19 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
546
660
  testId: "spacePlugin.deleteObject"
547
661
  }
548
662
  },
549
- ...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.StoredSchema, object) ? [
663
+ ...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.QueryCollection, object) && !Obj.instanceOf(StoredSchema, object) ? [
550
664
  {
551
665
  id: getId("copy-link"),
552
666
  type: ACTION_TYPE,
553
667
  data: async () => {
554
- const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;
668
+ const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
555
669
  await navigator.clipboard.writeText(url);
556
670
  },
557
671
  properties: {
558
672
  label: [
559
673
  "copy link label",
560
674
  {
561
- ns: SPACE_PLUGIN
675
+ ns: meta.id
562
676
  }
563
677
  ],
564
678
  icon: "ph--link--regular",
@@ -574,14 +688,14 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
574
688
  data: async () => {
575
689
  await dispatch(createIntent(LayoutAction.Expose, {
576
690
  part: "navigation",
577
- subject: fullyQualifiedId(object)
691
+ subject: Obj.getDXN(object).toString()
578
692
  }));
579
693
  },
580
694
  properties: {
581
695
  label: [
582
696
  "expose object label",
583
697
  {
584
- ns: SPACE_PLUGIN
698
+ ns: meta.id
585
699
  }
586
700
  ],
587
701
  icon: "ph--eye--regular",
@@ -592,6 +706,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
592
706
  ];
593
707
  return actions;
594
708
  };
709
+ var downloadBlob = async (blob, filename) => {
710
+ const url = URL.createObjectURL(blob);
711
+ const a = document.createElement("a");
712
+ a.href = url;
713
+ a.download = filename;
714
+ document.body.appendChild(a);
715
+ a.click();
716
+ document.body.removeChild(a);
717
+ URL.revokeObjectURL(url);
718
+ };
595
719
  var getNestedObjects = async (object, resolve) => {
596
720
  const type = Obj.getTypename(object);
597
721
  if (!type) {
@@ -616,7 +740,7 @@ var cloneObject = async (object, resolve, newSpace) => {
616
740
  const serializer = metadata.serializer;
617
741
  invariant(serializer, `No serializer for type: ${typename}`, {
618
742
  F: __dxlog_file,
619
- L: 671,
743
+ L: 792,
620
744
  S: void 0,
621
745
  A: [
622
746
  "serializer",
@@ -637,7 +761,7 @@ export {
637
761
  SPACES,
638
762
  COMPOSER_SPACE_LOCK,
639
763
  SHARED,
640
- rxFromQuery,
764
+ atomFromQuery,
641
765
  getSpaceDisplayName,
642
766
  constructSpaceNode,
643
767
  constructSpaceActions,
@@ -648,4 +772,4 @@ export {
648
772
  getNestedObjects,
649
773
  cloneObject
650
774
  };
651
- //# sourceMappingURL=chunk-CTQMR7E3.mjs.map
775
+ //# sourceMappingURL=chunk-OK2L7N2F.mjs.map