@dxos/plugin-space 0.8.4-main.b97322e → 0.8.4-main.c4373fc

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 (272) hide show
  1. package/dist/lib/browser/{CollectionMain-D2B75XBS.mjs → CollectionMain-AX7KKXWP.mjs} +4 -4
  2. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +7 -0
  3. package/dist/lib/browser/{ObjectDetailsPanel-YPTDQKMG.mjs → ObjectDetailsPanel-SJ4XUXXX.mjs} +11 -9
  4. package/dist/lib/browser/ObjectDetailsPanel-SJ4XUXXX.mjs.map +7 -0
  5. package/dist/lib/browser/RecordMain-FHPCS6GM.mjs +68 -0
  6. package/dist/lib/browser/RecordMain-FHPCS6GM.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-builder-7CZZJS3S.mjs → app-graph-builder-Y2LBZX2G.mjs} +102 -61
  8. package/dist/lib/browser/app-graph-builder-Y2LBZX2G.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-serializer-H6AW7KGS.mjs → app-graph-serializer-425OVRTW.mjs} +14 -14
  10. package/dist/lib/browser/app-graph-serializer-425OVRTW.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-V7MJSSBQ.mjs → chunk-6KVKMOGQ.mjs} +148 -157
  12. package/dist/lib/browser/chunk-6KVKMOGQ.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-VLBRSGJ2.mjs → chunk-CVZAZRW4.mjs} +4 -4
  14. package/dist/lib/browser/chunk-CVZAZRW4.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-EIXZABXD.mjs +19 -0
  16. package/dist/lib/browser/chunk-EIXZABXD.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-IRKDREHY.mjs +11 -0
  18. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-SGTQ52SU.mjs → chunk-OYHC63NL.mjs} +16 -10
  20. package/dist/lib/browser/chunk-OYHC63NL.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-PUF3B7XO.mjs +20 -0
  22. package/dist/lib/browser/chunk-PUF3B7XO.mjs.map +7 -0
  23. package/dist/lib/browser/{chunk-XUYKJUU7.mjs → chunk-X6COEDOD.mjs} +99 -44
  24. package/dist/lib/browser/chunk-X6COEDOD.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-QACNNDOT.mjs → chunk-YZJWWMNB.mjs} +11 -10
  26. package/dist/lib/browser/chunk-YZJWWMNB.mjs.map +7 -0
  27. package/dist/lib/browser/{identity-created-23XJJV2N.mjs → identity-created-PW2BA46S.mjs} +4 -4
  28. package/dist/lib/browser/{identity-created-23XJJV2N.mjs.map → identity-created-PW2BA46S.mjs.map} +3 -3
  29. package/dist/lib/browser/index.mjs +20 -40
  30. package/dist/lib/browser/index.mjs.map +3 -3
  31. package/dist/lib/browser/{intent-resolver-TIXVDYN7.mjs → intent-resolver-2TBYHOBA.mjs} +47 -42
  32. package/dist/lib/browser/intent-resolver-2TBYHOBA.mjs.map +7 -0
  33. package/dist/lib/browser/meta.json +1 -1
  34. package/dist/lib/browser/{react-root-N2J7TDRX.mjs → react-root-KMJXJ5VX.mjs} +11 -11
  35. package/dist/lib/browser/react-root-KMJXJ5VX.mjs.map +7 -0
  36. package/dist/lib/browser/{react-surface-TPNLWJJH.mjs → react-surface-YAJUAMER.mjs} +53 -42
  37. package/dist/lib/browser/react-surface-YAJUAMER.mjs.map +7 -0
  38. package/dist/lib/browser/{schema-defs-Z6FC4AHC.mjs → schema-defs-2OCPV7JF.mjs} +5 -5
  39. package/dist/lib/browser/schema-defs-2OCPV7JF.mjs.map +7 -0
  40. package/dist/lib/browser/{settings-4IMP5RYT.mjs → settings-UYYJ225A.mjs} +5 -5
  41. package/dist/lib/browser/{settings-4IMP5RYT.mjs.map → settings-UYYJ225A.mjs.map} +1 -1
  42. package/dist/lib/browser/{spaces-ready-TOPG6IV4.mjs → spaces-ready-YNZPWXA3.mjs} +18 -16
  43. package/dist/lib/browser/spaces-ready-YNZPWXA3.mjs.map +7 -0
  44. package/dist/lib/browser/{state-QYZAB45H.mjs → state-BPU73TYO.mjs} +7 -7
  45. package/dist/lib/browser/state-BPU73TYO.mjs.map +7 -0
  46. package/dist/lib/browser/types/index.mjs +2 -2
  47. package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionMain-EU57SRYK.mjs} +4 -4
  48. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +7 -0
  49. package/dist/lib/node-esm/{ObjectDetailsPanel-QKZEDSZK.mjs → ObjectDetailsPanel-P7D727OV.mjs} +11 -9
  50. package/dist/lib/node-esm/ObjectDetailsPanel-P7D727OV.mjs.map +7 -0
  51. package/dist/lib/node-esm/RecordMain-V73AEB6N.mjs +70 -0
  52. package/dist/lib/node-esm/RecordMain-V73AEB6N.mjs.map +7 -0
  53. package/dist/lib/node-esm/{app-graph-builder-KGIGWC72.mjs → app-graph-builder-DMNLDT7E.mjs} +102 -61
  54. package/dist/lib/node-esm/app-graph-builder-DMNLDT7E.mjs.map +7 -0
  55. package/dist/lib/node-esm/{app-graph-serializer-2ICUGQQT.mjs → app-graph-serializer-ZEDSY77N.mjs} +14 -14
  56. package/dist/lib/node-esm/app-graph-serializer-ZEDSY77N.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-36TAYXV7.mjs +21 -0
  58. package/dist/lib/node-esm/chunk-36TAYXV7.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-P442DOQ3.mjs → chunk-7UIEPBQJ.mjs} +11 -10
  60. package/dist/lib/node-esm/chunk-7UIEPBQJ.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-JH6F4C3I.mjs → chunk-ADEZJQE3.mjs} +16 -10
  62. package/dist/lib/node-esm/chunk-ADEZJQE3.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-SSLBYZEY.mjs → chunk-FLRC6XWU.mjs} +4 -4
  64. package/dist/lib/node-esm/chunk-FLRC6XWU.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-6X5DLJM5.mjs → chunk-L26ZIGHA.mjs} +148 -157
  66. package/dist/lib/node-esm/chunk-L26ZIGHA.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-HWNG4MEU.mjs → chunk-MWNATOXL.mjs} +2 -4
  68. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs +20 -0
  70. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-4AOMYKDE.mjs → chunk-ZFCCFELA.mjs} +99 -44
  72. package/dist/lib/node-esm/chunk-ZFCCFELA.mjs.map +7 -0
  73. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-MWTLGQRU.mjs} +4 -4
  74. package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs.map → identity-created-MWTLGQRU.mjs.map} +3 -3
  75. package/dist/lib/node-esm/index.mjs +20 -40
  76. package/dist/lib/node-esm/index.mjs.map +3 -3
  77. package/dist/lib/node-esm/{intent-resolver-MHGHRGDT.mjs → intent-resolver-YOG27WOG.mjs} +47 -42
  78. package/dist/lib/node-esm/intent-resolver-YOG27WOG.mjs.map +7 -0
  79. package/dist/lib/node-esm/meta.json +1 -1
  80. package/dist/lib/node-esm/{react-root-KW3TGJGY.mjs → react-root-27QMJZD2.mjs} +11 -11
  81. package/dist/lib/node-esm/react-root-27QMJZD2.mjs.map +7 -0
  82. package/dist/lib/node-esm/{react-surface-UUIUUD6P.mjs → react-surface-RC73GAN5.mjs} +53 -42
  83. package/dist/lib/node-esm/react-surface-RC73GAN5.mjs.map +7 -0
  84. package/dist/lib/node-esm/{schema-defs-WHJM7UZE.mjs → schema-defs-X2Z7F2EV.mjs} +5 -5
  85. package/dist/lib/node-esm/schema-defs-X2Z7F2EV.mjs.map +7 -0
  86. package/dist/lib/node-esm/{settings-SAOBPND3.mjs → settings-Q736OQRP.mjs} +5 -5
  87. package/dist/lib/node-esm/{settings-SAOBPND3.mjs.map → settings-Q736OQRP.mjs.map} +1 -1
  88. package/dist/lib/node-esm/{spaces-ready-HIUKNDZK.mjs → spaces-ready-XZQD7Q65.mjs} +18 -16
  89. package/dist/lib/node-esm/spaces-ready-XZQD7Q65.mjs.map +7 -0
  90. package/dist/lib/node-esm/{state-ZVEHQ4BJ.mjs → state-BY75TM32.mjs} +7 -7
  91. package/dist/lib/node-esm/state-BY75TM32.mjs.map +7 -0
  92. package/dist/lib/node-esm/types/index.mjs +2 -2
  93. package/dist/types/src/SpacePlugin.d.ts +1 -1
  94. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  96. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
  98. package/dist/types/src/capabilities/capabilities.d.ts +4 -4
  99. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/identity-created.d.ts +1 -1
  101. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/index.d.ts +11 -12
  103. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  105. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  106. package/dist/types/src/capabilities/react-root.d.ts +2 -2
  107. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  108. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  109. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
  111. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/settings.d.ts +1 -1
  113. package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
  114. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/state.d.ts +1 -1
  116. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  117. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -3
  118. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  119. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1584 -4
  120. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  121. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -3
  122. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  123. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  124. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  125. package/dist/types/src/components/JoinDialog.d.ts +1 -1
  126. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  127. package/dist/types/src/components/MembersContainer.d.ts +3 -2
  128. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  129. package/dist/types/src/components/MembersContainer.stories.d.ts +1584 -5
  130. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -1
  132. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  133. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  134. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  135. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
  136. package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
  137. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  138. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -1
  139. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  140. package/dist/types/src/components/RecordMain.d.ts +7 -0
  141. package/dist/types/src/components/RecordMain.d.ts.map +1 -0
  142. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  143. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  144. package/dist/types/src/components/SpacePresence.stories.d.ts +1412 -4
  145. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  146. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  147. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1417 -4
  148. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  149. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  150. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1418 -5
  151. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  152. package/dist/types/src/components/ViewEditor.d.ts +1 -1
  153. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  154. package/dist/types/src/components/index.d.ts +8 -2
  155. package/dist/types/src/components/index.d.ts.map +1 -1
  156. package/dist/types/src/events.d.ts.map +1 -1
  157. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  158. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  159. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  160. package/dist/types/src/hooks/usePath.d.ts +1 -1
  161. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  162. package/dist/types/src/meta.d.ts +0 -1
  163. package/dist/types/src/meta.d.ts.map +1 -1
  164. package/dist/types/src/translations.d.ts +1216 -26
  165. package/dist/types/src/translations.d.ts.map +1 -1
  166. package/dist/types/src/types/types.d.ts +76 -96
  167. package/dist/types/src/types/types.d.ts.map +1 -1
  168. package/dist/types/src/util.d.ts +10 -7
  169. package/dist/types/src/util.d.ts.map +1 -1
  170. package/dist/types/tsconfig.tsbuildinfo +1 -1
  171. package/package.json +60 -58
  172. package/src/SpacePlugin.ts +204 -219
  173. package/src/capabilities/app-graph-builder.ts +127 -69
  174. package/src/capabilities/app-graph-serializer.ts +7 -7
  175. package/src/capabilities/capabilities.ts +12 -11
  176. package/src/capabilities/identity-created.ts +1 -1
  177. package/src/capabilities/index.ts +0 -1
  178. package/src/capabilities/intent-resolver.ts +37 -25
  179. package/src/capabilities/react-root.tsx +4 -3
  180. package/src/capabilities/react-surface.tsx +52 -38
  181. package/src/capabilities/schema-defs.ts +3 -2
  182. package/src/capabilities/spaces-ready.ts +11 -8
  183. package/src/capabilities/state.ts +5 -4
  184. package/src/components/AwaitingObject.tsx +3 -3
  185. package/src/components/CollectionMain.tsx +2 -2
  186. package/src/components/CollectionSection.tsx +2 -2
  187. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -10
  188. package/src/components/CreateDialog/CreateObjectDialog.tsx +24 -13
  189. package/src/components/CreateDialog/CreateObjectPanel.tsx +22 -11
  190. package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
  191. package/src/components/JoinDialog.tsx +7 -7
  192. package/src/components/MembersContainer.stories.tsx +36 -10
  193. package/src/components/MembersContainer.tsx +13 -14
  194. package/src/components/MenuFooter.tsx +2 -2
  195. package/src/components/ObjectDetailsPanel.tsx +7 -5
  196. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -3
  197. package/src/components/ObjectSettings/ForeignKeys.tsx +3 -3
  198. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
  199. package/src/components/PersistenceStatus.tsx +2 -2
  200. package/src/components/PopoverRenameObject.tsx +9 -15
  201. package/src/components/PopoverRenameSpace.tsx +4 -4
  202. package/src/components/RecordMain.tsx +43 -0
  203. package/src/components/SchemaContainer.tsx +5 -5
  204. package/src/components/SpacePluginSettings.tsx +8 -9
  205. package/src/components/SpacePresence.stories.tsx +23 -22
  206. package/src/components/SpacePresence.tsx +10 -10
  207. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
  208. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +19 -18
  209. package/src/components/SyncStatus/InlineSyncStatus.tsx +3 -3
  210. package/src/components/SyncStatus/SyncStatus.stories.tsx +6 -7
  211. package/src/components/SyncStatus/SyncStatus.tsx +4 -3
  212. package/src/components/ViewEditor.tsx +13 -18
  213. package/src/components/index.ts +1 -0
  214. package/src/events.ts +7 -7
  215. package/src/hooks/useActiveSpace.ts +2 -2
  216. package/src/hooks/useInputSurfaceLookup.tsx +2 -2
  217. package/src/hooks/usePath.ts +1 -1
  218. package/src/meta.ts +1 -3
  219. package/src/translations.ts +9 -8
  220. package/src/types/types.ts +17 -13
  221. package/src/util.tsx +97 -40
  222. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
  223. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +0 -7
  224. package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +0 -7
  225. package/dist/lib/browser/app-graph-serializer-H6AW7KGS.mjs.map +0 -7
  226. package/dist/lib/browser/chunk-CEFHNVU7.mjs +0 -20
  227. package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +0 -7
  228. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  229. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  230. package/dist/lib/browser/chunk-JS3MMC42.mjs +0 -19
  231. package/dist/lib/browser/chunk-JS3MMC42.mjs.map +0 -7
  232. package/dist/lib/browser/chunk-QACNNDOT.mjs.map +0 -7
  233. package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +0 -7
  234. package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +0 -7
  235. package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
  236. package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +0 -7
  237. package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +0 -7
  238. package/dist/lib/browser/react-root-N2J7TDRX.mjs.map +0 -7
  239. package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +0 -7
  240. package/dist/lib/browser/schema-defs-Z6FC4AHC.mjs.map +0 -7
  241. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
  242. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  243. package/dist/lib/browser/spaces-ready-TOPG6IV4.mjs.map +0 -7
  244. package/dist/lib/browser/state-QYZAB45H.mjs.map +0 -7
  245. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
  246. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +0 -7
  247. package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +0 -7
  248. package/dist/lib/node-esm/app-graph-serializer-2ICUGQQT.mjs.map +0 -7
  249. package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +0 -7
  250. package/dist/lib/node-esm/chunk-5HHYE264.mjs +0 -20
  251. package/dist/lib/node-esm/chunk-5HHYE264.mjs.map +0 -7
  252. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs +0 -21
  253. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +0 -7
  254. package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +0 -7
  255. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  256. package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +0 -7
  257. package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +0 -7
  258. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
  259. package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +0 -7
  260. package/dist/lib/node-esm/react-root-KW3TGJGY.mjs.map +0 -7
  261. package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +0 -7
  262. package/dist/lib/node-esm/schema-defs-WHJM7UZE.mjs.map +0 -7
  263. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
  264. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  265. package/dist/lib/node-esm/spaces-ready-HIUKNDZK.mjs.map +0 -7
  266. package/dist/lib/node-esm/state-ZVEHQ4BJ.mjs.map +0 -7
  267. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  268. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  269. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  270. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  271. package/src/capabilities/schema-tool.test.ts +0 -44
  272. package/src/capabilities/schema-tools.ts +0 -125
@@ -2,27 +2,26 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  useInputSurfaceLookup,
4
4
  usePath
5
- } from "./chunk-SSLBYZEY.mjs";
5
+ } from "./chunk-FLRC6XWU.mjs";
6
6
  import {
7
7
  SpaceCapabilities
8
- } from "./chunk-5T3ZH23B.mjs";
8
+ } from "./chunk-36TAYXV7.mjs";
9
9
  import {
10
10
  COMPOSER_SPACE_LOCK,
11
11
  getSpaceDisplayName
12
- } from "./chunk-4AOMYKDE.mjs";
12
+ } from "./chunk-ZFCCFELA.mjs";
13
13
  import {
14
14
  SpaceAction,
15
15
  SpaceForm
16
- } from "./chunk-JH6F4C3I.mjs";
16
+ } from "./chunk-ADEZJQE3.mjs";
17
17
  import {
18
- SPACE_PLUGIN,
19
18
  meta
20
- } from "./chunk-HWNG4MEU.mjs";
19
+ } from "./chunk-MWNATOXL.mjs";
21
20
 
22
21
  // src/components/AwaitingObject.tsx
23
22
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
24
23
  import React, { useCallback, useEffect, useState } from "react";
25
- import { createIntent, LayoutAction, useIntentDispatcher, useLayout } from "@dxos/app-framework";
24
+ import { LayoutAction, createIntent, useIntentDispatcher, useLayout } from "@dxos/app-framework";
26
25
  import { useClient } from "@dxos/react-client";
27
26
  import { Filter, fullyQualifiedId, useQuery } from "@dxos/react-client/echo";
28
27
  import { Button, Icon, Toast, useTranslation } from "@dxos/react-ui";
@@ -34,7 +33,7 @@ var AwaitingObject = ({ id }) => {
34
33
  const [open, setOpen] = useState(true);
35
34
  const [waiting, setWaiting] = useState(true);
36
35
  const [found, setFound] = useState(false);
37
- const { t } = useTranslation(SPACE_PLUGIN);
36
+ const { t } = useTranslation(meta.id);
38
37
  const { dispatchPromise: dispatch } = useIntentDispatcher();
39
38
  const layout = useLayout();
40
39
  const client = useClient();
@@ -122,7 +121,8 @@ var AwaitingObject = ({ id }) => {
122
121
 
123
122
  // src/components/CreateDialog/CreateObjectDialog.tsx
124
123
  import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
125
- import { Effect, pipe } from "effect";
124
+ import * as Effect from "effect/Effect";
125
+ import * as Function from "effect/Function";
126
126
  import React3, { useCallback as useCallback3, useRef, useState as useState2 } from "react";
127
127
  import { Capabilities, LayoutAction as LayoutAction2, chain, createIntent as createIntent2, useCapabilities, useIntentDispatcher as useIntentDispatcher2, usePluginManager } from "@dxos/app-framework";
128
128
  import { Obj, Query, Type as Type2 } from "@dxos/echo";
@@ -131,25 +131,46 @@ import { useClient as useClient2 } from "@dxos/react-client";
131
131
  import { getSpace, isLiveObject, isSpace, useQuery as useQuery2, useSpaces } from "@dxos/react-client/echo";
132
132
  import { Button as Button2, Dialog, Icon as Icon3, useTranslation as useTranslation3 } from "@dxos/react-ui";
133
133
  import { cardDialogContent, cardDialogHeader } from "@dxos/react-ui-stack";
134
- import { DataType } from "@dxos/schema";
134
+ import { DataType, getTypenameFromQuery } from "@dxos/schema";
135
135
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
136
136
 
137
+ // src/capabilities/index.ts
138
+ import { lazy } from "@dxos/app-framework";
139
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-DMNLDT7E.mjs"));
140
+ var AppGraphSerializer = lazy(() => import("./app-graph-serializer-ZEDSY77N.mjs"));
141
+ var IdentityCreated = lazy(() => import("./identity-created-MWTLGQRU.mjs"));
142
+ var IntentResolver = lazy(() => import("./intent-resolver-YOG27WOG.mjs"));
143
+ var ReactRoot = lazy(() => import("./react-root-27QMJZD2.mjs"));
144
+ var ReactSurface = lazy(() => import("./react-surface-RC73GAN5.mjs"));
145
+ var SchemaDefs = lazy(() => import("./schema-defs-X2Z7F2EV.mjs"));
146
+ var SpaceSettings = lazy(() => import("./settings-Q736OQRP.mjs"));
147
+ var SpaceState = lazy(() => import("./state-BY75TM32.mjs"));
148
+ var SpacesReady = lazy(() => import("./spaces-ready-XZQD7Q65.mjs"));
149
+
137
150
  // src/components/CreateDialog/CreateObjectPanel.tsx
138
151
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
152
+ import * as Option from "effect/Option";
139
153
  import React2, { useCallback as useCallback2 } from "react";
140
154
  import { Type } from "@dxos/echo";
141
- import { getTypeAnnotation } from "@dxos/echo-schema";
142
- import { Icon as Icon2, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
155
+ import { ViewAnnotation, getTypeAnnotation } from "@dxos/echo/internal";
156
+ import { Icon as Icon2, toLocalizedString, useDefaultValue, useTranslation as useTranslation2 } from "@dxos/react-ui";
143
157
  import { Form } from "@dxos/react-ui-form";
144
158
  import { SearchList } from "@dxos/react-ui-searchlist";
145
159
  import { cardDialogOverflow, cardDialogPaddedOverflow, cardDialogSearchListRoot } from "@dxos/react-ui-stack";
146
160
  import { isNonNullable } from "@dxos/util";
147
- var CreateObjectPanel = ({ forms, spaces, typename, target, name: initialName, defaultSpaceId, resolve, onTargetChange, onTypenameChange, onCreateObject }) => {
161
+ var CreateObjectPanel = ({ forms, spaces, typename, target, views, initialFormValues: _initialFormValues, defaultSpaceId, resolve, onTargetChange, onTypenameChange, onCreateObject }) => {
148
162
  var _effect = _useSignals2();
149
163
  try {
150
- const { t } = useTranslation2(SPACE_PLUGIN);
164
+ const { t } = useTranslation2(meta.id);
165
+ const initialFormValues = useDefaultValue(_initialFormValues, () => ({}));
151
166
  const form = forms.find((form2) => Type.getTypename(form2.objectSchema) === typename);
152
- const options = forms.map((form2) => getTypeAnnotation(form2.objectSchema)).filter(isNonNullable).sort((a, b) => {
167
+ const options = forms.filter((form2) => {
168
+ if (views == null) {
169
+ return true;
170
+ } else {
171
+ return views === ViewAnnotation.get(form2.objectSchema).pipe(Option.getOrElse(() => false));
172
+ }
173
+ }).map((form2) => getTypeAnnotation(form2.objectSchema)).filter(isNonNullable).sort((a, b) => {
153
174
  const nameA = t("typename label", {
154
175
  ns: a.typename,
155
176
  defaultValue: a.typename
@@ -201,9 +222,7 @@ var CreateObjectPanel = ({ forms, spaces, typename, target, name: initialName, d
201
222
  className: cardDialogOverflow
202
223
  }, /* @__PURE__ */ React2.createElement(Form, {
203
224
  autoFocus: true,
204
- values: {
205
- name: initialName
206
- },
225
+ values: initialFormValues,
207
226
  schema: form.formSchema,
208
227
  testId: "create-object-form",
209
228
  onSave: handleCreateObject,
@@ -217,7 +236,7 @@ var CreateObjectPanel = ({ forms, spaces, typename, target, name: initialName, d
217
236
  var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
218
237
  var _effect = _useSignals2();
219
238
  try {
220
- const { t } = useTranslation2(SPACE_PLUGIN);
239
+ const { t } = useTranslation2(meta.id);
221
240
  return /* @__PURE__ */ React2.createElement(SearchList.Root, {
222
241
  label: t("space input label"),
223
242
  classNames: cardDialogSearchListRoot
@@ -257,7 +276,7 @@ var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
257
276
  var SelectSchema = ({ options, resolve, onChange }) => {
258
277
  var _effect = _useSignals2();
259
278
  try {
260
- const { t } = useTranslation2(SPACE_PLUGIN);
279
+ const { t } = useTranslation2(meta.id);
261
280
  return /* @__PURE__ */ React2.createElement(SearchList.Root, {
262
281
  label: t("schema input label"),
263
282
  classNames: cardDialogSearchListRoot
@@ -289,29 +308,15 @@ var SelectSchema = ({ options, resolve, onChange }) => {
289
308
  }
290
309
  };
291
310
 
292
- // src/capabilities/index.ts
293
- import { lazy } from "@dxos/app-framework";
294
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-KGIGWC72.mjs"));
295
- var AppGraphSerializer = lazy(() => import("./app-graph-serializer-2ICUGQQT.mjs"));
296
- var IdentityCreated = lazy(() => import("./identity-created-IJQO6GCR.mjs"));
297
- var IntentResolver = lazy(() => import("./intent-resolver-MHGHRGDT.mjs"));
298
- var ReactRoot = lazy(() => import("./react-root-KW3TGJGY.mjs"));
299
- var ReactSurface = lazy(() => import("./react-surface-UUIUUD6P.mjs"));
300
- var SchemaDefs = lazy(() => import("./schema-defs-WHJM7UZE.mjs"));
301
- var SchemaTools = lazy(() => import("./schema-tools-KWW5PTML.mjs"));
302
- var SpaceSettings = lazy(() => import("./settings-SAOBPND3.mjs"));
303
- var SpaceState = lazy(() => import("./state-ZVEHQ4BJ.mjs"));
304
- var SpacesReady = lazy(() => import("./spaces-ready-HIUKNDZK.mjs"));
305
-
306
311
  // src/components/CreateDialog/CreateObjectDialog.tsx
307
312
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
308
- var CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
309
- var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, name, onCreateObject, shouldNavigate: _shouldNavigate }) => {
313
+ var CREATE_OBJECT_DIALOG = `${meta.id}/CreateObjectDialog`;
314
+ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, views, initialFormValues, onCreateObject, shouldNavigate: _shouldNavigate }) => {
310
315
  var _effect = _useSignals3();
311
316
  try {
312
317
  const closeRef = useRef(null);
313
318
  const manager = usePluginManager();
314
- const { t } = useTranslation3(SPACE_PLUGIN);
319
+ const { t } = useTranslation3(meta.id);
315
320
  const client = useClient2();
316
321
  const spaces = useSpaces();
317
322
  const { dispatch } = useIntentDispatcher2();
@@ -320,7 +325,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
320
325
  const [typename, setTypename] = useState2(initialTypename);
321
326
  const space = isSpace(target) ? target : getSpace(target);
322
327
  const queryCollections = useQuery2(space, Query.type(DataType.QueryCollection));
323
- const hiddenTypenames = queryCollections.map((collection) => collection.query.typename).filter(isNonNullable2);
328
+ const hiddenTypenames = queryCollections.map((collection) => getTypenameFromQuery(collection.query)).filter(isNonNullable2);
324
329
  const resolve = useCallback3((typename2) => manager.context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename2)?.metadata ?? {}, [
325
330
  manager
326
331
  ]);
@@ -332,7 +337,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
332
337
  const space2 = isSpace(target) ? target : getSpace(target);
333
338
  invariant(space2, "Missing space", {
334
339
  F: __dxlog_file,
335
- L: 76,
340
+ L: 84,
336
341
  S: this,
337
342
  A: [
338
343
  "space",
@@ -351,7 +356,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
351
356
  });
352
357
  const shouldNavigate = _shouldNavigate ?? (() => true);
353
358
  if (shouldNavigate(object)) {
354
- yield* dispatch(pipe(addObjectIntent, chain(LayoutAction2.Open, {
359
+ yield* dispatch(Function.pipe(addObjectIntent, chain(LayoutAction2.Open, {
355
360
  part: "main"
356
361
  })));
357
362
  } else {
@@ -377,7 +382,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
377
382
  }, /* @__PURE__ */ React3.createElement(Dialog.Title, null, t("create object dialog title", {
378
383
  object: t("typename label", {
379
384
  ns: typename,
380
- defaultValue: "Item"
385
+ defaultValue: views ? "View" : "Item"
381
386
  })
382
387
  })), /* @__PURE__ */ React3.createElement(Dialog.Close, {
383
388
  asChild: true
@@ -393,8 +398,9 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
393
398
  forms,
394
399
  spaces,
395
400
  target,
401
+ views,
396
402
  typename,
397
- name,
403
+ initialFormValues,
398
404
  defaultSpaceId: client.spaces.default.id,
399
405
  resolve,
400
406
  onTargetChange: setTarget,
@@ -409,13 +415,13 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
409
415
 
410
416
  // src/components/CreateDialog/CreateSpaceDialog.tsx
411
417
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
412
- import { Effect as Effect2 } from "effect";
418
+ import * as Effect2 from "effect/Effect";
413
419
  import React4, { useCallback as useCallback4, useRef as useRef2 } from "react";
414
- import { createIntent as createIntent3, LayoutAction as LayoutAction3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
420
+ import { LayoutAction as LayoutAction3, createIntent as createIntent3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
415
421
  import { Button as Button3, Dialog as Dialog2, Icon as Icon4, useTranslation as useTranslation4 } from "@dxos/react-ui";
416
422
  import { Form as Form2 } from "@dxos/react-ui-form";
417
423
  import { cardDialogContent as cardDialogContent2, cardDialogHeader as cardDialogHeader2 } from "@dxos/react-ui-stack";
418
- var CREATE_SPACE_DIALOG = `${SPACE_PLUGIN}/CreateSpaceDialog`;
424
+ var CREATE_SPACE_DIALOG = `${meta.id}/CreateSpaceDialog`;
419
425
  var initialValues = {
420
426
  edgeReplication: true
421
427
  };
@@ -423,7 +429,7 @@ var CreateSpaceDialog = () => {
423
429
  var _effect = _useSignals4();
424
430
  try {
425
431
  const closeRef = useRef2(null);
426
- const { t } = useTranslation4(SPACE_PLUGIN);
432
+ const { t } = useTranslation4(meta.id);
427
433
  const { dispatch } = useIntentDispatcher3();
428
434
  const inputSurfaceLookup = useInputSurfaceLookup();
429
435
  const handleCreateSpace = useCallback4(async (data) => {
@@ -487,7 +493,7 @@ import { useTranslation as useTranslation5 } from "@dxos/react-ui";
487
493
  var CollectionSection = ({ collection }) => {
488
494
  var _effect = _useSignals5();
489
495
  try {
490
- const { t } = useTranslation5(SPACE_PLUGIN);
496
+ const { t } = useTranslation5(meta.id);
491
497
  return /* @__PURE__ */ React5.createElement("div", {
492
498
  className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
493
499
  }, /* @__PURE__ */ React5.createElement("span", {
@@ -501,20 +507,20 @@ var CollectionSection = ({ collection }) => {
501
507
  // src/components/JoinDialog.tsx
502
508
  import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
503
509
  import React6, { useCallback as useCallback5 } from "react";
504
- import { createIntent as createIntent4, LayoutAction as LayoutAction4, useAppGraph, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
510
+ import { LayoutAction as LayoutAction4, createIntent as createIntent4, useAppGraph, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
505
511
  import { Trigger } from "@dxos/async";
506
512
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
507
513
  import { useClient as useClient3 } from "@dxos/react-client";
508
514
  import { Dialog as Dialog3, useTranslation as useTranslation6 } from "@dxos/react-ui";
509
515
  import { JoinPanel } from "@dxos/shell/react";
510
- var JOIN_DIALOG = `${SPACE_PLUGIN}/JoinDialog`;
516
+ var JOIN_DIALOG = `${meta.id}/JoinDialog`;
511
517
  var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
512
518
  var _effect = _useSignals6();
513
519
  try {
514
520
  const { dispatchPromise: dispatch } = useIntentDispatcher4();
515
521
  const client = useClient3();
516
522
  const { graph } = useAppGraph();
517
- const { t } = useTranslation6(SPACE_PLUGIN);
523
+ const { t } = useTranslation6(meta.id);
518
524
  const handleDone = useCallback5(async (result) => {
519
525
  const spaceKey = result?.spaceKey;
520
526
  if (!spaceKey) {
@@ -524,18 +530,18 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
524
530
  dispatch(createIntent4(LayoutAction4.AddToast, {
525
531
  part: "toast",
526
532
  subject: {
527
- id: `${SPACE_PLUGIN}/join-success`,
533
+ id: `${meta.id}/join-success`,
528
534
  duration: 5e3,
529
535
  title: [
530
536
  "join success label",
531
537
  {
532
- ns: SPACE_PLUGIN
538
+ ns: meta.id
533
539
  }
534
540
  ],
535
541
  closeLabel: [
536
542
  "dismiss label",
537
543
  {
538
- ns: SPACE_PLUGIN
544
+ ns: meta.id
539
545
  }
540
546
  ]
541
547
  }
@@ -624,7 +630,7 @@ import { useConfig } from "@dxos/react-client";
624
630
  import { fullyQualifiedId as fullyQualifiedId2, useSpaceInvitations } from "@dxos/react-client/echo";
625
631
  import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
626
632
  import { Button as Button4, Clipboard, Icon as Icon5, Input, useId, useTranslation as useTranslation7 } from "@dxos/react-ui";
627
- import { ControlPage, ControlSection, ControlFrame, ControlFrameItem, ControlItemInput } from "@dxos/react-ui-form";
633
+ import { ControlFrame, ControlFrameItem, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
628
634
  import { StackItem } from "@dxos/react-ui-stack";
629
635
  import { DataType as DataType2 } from "@dxos/schema";
630
636
  import { AuthCode, BifurcatedAction, Centered, Emoji, InvitationList, SpaceMemberList, Viewport } from "@dxos/shell/react";
@@ -649,7 +655,7 @@ var handleInvitationEvent = (invitation, subscription) => {
649
655
  var MembersContainer = ({ space, createInvitationUrl }) => {
650
656
  var _effect = _useSignals7();
651
657
  try {
652
- const { t } = useTranslation7(SPACE_PLUGIN);
658
+ const { t } = useTranslation7(meta.id);
653
659
  const config = useConfig();
654
660
  const { dispatchPromise: dispatch } = useIntentDispatcher5();
655
661
  const invitations = useSpaceInvitations(space.key);
@@ -677,10 +683,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
677
683
  description: t("invite one description", {
678
684
  ns: "os"
679
685
  }),
680
- icon: () => /* @__PURE__ */ React7.createElement(Icon5, {
681
- icon: "ph--user-plus--regular",
682
- size: 5
683
- }),
686
+ icon: "ph--user-plus--regular",
684
687
  testId: "membersContainer.inviteOne",
685
688
  onClick: async () => {
686
689
  const { data: invitation } = await dispatch(createIntent5(SpaceAction.Share, {
@@ -702,10 +705,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
702
705
  description: t("invite many description", {
703
706
  ns: "os"
704
707
  }),
705
- icon: () => /* @__PURE__ */ React7.createElement(Icon5, {
706
- icon: "ph--users-three--regular",
707
- size: 5
708
- }),
708
+ icon: "ph--users-three--regular",
709
709
  testId: "membersContainer.inviteMany",
710
710
  onClick: async () => {
711
711
  const { data: invitation } = await dispatch(createIntent5(SpaceAction.Share, {
@@ -733,7 +733,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
733
733
  setSelectedInvitation(null);
734
734
  };
735
735
  return /* @__PURE__ */ React7.createElement(Clipboard.Provider, null, /* @__PURE__ */ React7.createElement(StackItem.Content, {
736
- classNames: "block overflow-y-auto"
736
+ scrollable: true
737
737
  }, /* @__PURE__ */ React7.createElement(ControlPage, null, /* @__PURE__ */ React7.createElement(ControlSection, {
738
738
  title: t("members verbose label"),
739
739
  description: t("members description")
@@ -765,7 +765,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
765
765
  onChangeActiveAction: setActiveAction,
766
766
  "data-testid": "membersContainer.createInvitation"
767
767
  })))), /* @__PURE__ */ React7.createElement("div", {
768
- className: "justify-center gap-4 p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
768
+ className: "justify-center p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
769
769
  }, /* @__PURE__ */ React7.createElement(ControlItemInput, {
770
770
  title: t("space locked label"),
771
771
  description: t("space locked description")
@@ -816,7 +816,7 @@ var InvitationQR = ({ id, url, onCancel }) => {
816
816
  return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
817
817
  className: "text-description"
818
818
  }, t("qr code description", {
819
- ns: SPACE_PLUGIN
819
+ ns: meta.id
820
820
  })), /* @__PURE__ */ React7.createElement("div", {
821
821
  role: "group",
822
822
  className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
@@ -895,7 +895,7 @@ import { DropdownMenu, Icon as Icon6, toLocalizedString as toLocalizedString2, u
895
895
  var MenuFooter = ({ object }) => {
896
896
  var _effect = _useSignals8();
897
897
  try {
898
- const { t } = useTranslation8(SPACE_PLUGIN);
898
+ const { t } = useTranslation8(meta.id);
899
899
  const client = useClient4();
900
900
  const space = getSpace2(object);
901
901
  const spaceName = space ? getSpaceDisplayName(space, {
@@ -920,7 +920,7 @@ var MenuFooter = ({ object }) => {
920
920
  import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
921
921
  import React10, { useMemo as useMemo2 } from "react";
922
922
  import { Surface } from "@dxos/app-framework";
923
- import { Clipboard as Clipboard2 } from "@dxos/react-ui";
923
+ import { Clipboard as Clipboard2, Toolbar } from "@dxos/react-ui";
924
924
  import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
925
925
 
926
926
  // src/components/ObjectSettings/BaseObjectSettings.tsx
@@ -961,8 +961,8 @@ var ObjectSettingsContainer = ({ object, role }) => {
961
961
  object
962
962
  ]);
963
963
  return /* @__PURE__ */ React10.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React10.createElement(StackItem2.Content, {
964
- toolbar: false
965
- }, /* @__PURE__ */ React10.createElement("div", {
964
+ toolbar: true
965
+ }, /* @__PURE__ */ React10.createElement(Toolbar.Root, null), /* @__PURE__ */ React10.createElement("div", {
966
966
  role: "none",
967
967
  className: "overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock"
968
968
  }, /* @__PURE__ */ React10.createElement(BaseObjectSettings, {
@@ -988,7 +988,7 @@ import { mx, staticPlaceholderText, warningText } from "@dxos/react-ui-theme";
988
988
  var PersistenceStatus = ({ db }) => {
989
989
  var _effect = _useSignals11();
990
990
  try {
991
- const { t } = useTranslation10(SPACE_PLUGIN);
991
+ const { t } = useTranslation10(meta.id);
992
992
  const [displayMessage, setDisplayMessage] = useState4(false);
993
993
  const [status, naturalSetStatus] = useState4(0);
994
994
  const [prevStatus, setPrevStatus] = useState4(0);
@@ -1047,35 +1047,31 @@ var PersistenceStatus = ({ db }) => {
1047
1047
  // src/components/PopoverRenameObject.tsx
1048
1048
  import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
1049
1049
  import React12, { useCallback as useCallback7, useRef as useRef4, useState as useState5 } from "react";
1050
- import { createIntent as createIntent6, LayoutAction as LayoutAction5, useIntentDispatcher as useIntentDispatcher6 } from "@dxos/app-framework";
1050
+ import { LayoutAction as LayoutAction5, createIntent as createIntent6, useIntentDispatcher as useIntentDispatcher6 } from "@dxos/app-framework";
1051
+ import { Obj as Obj2 } from "@dxos/echo";
1051
1052
  import { log as log2 } from "@dxos/log";
1052
1053
  import { Button as Button5, Input as Input3, useTranslation as useTranslation11 } from "@dxos/react-ui";
1053
1054
  var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
1054
- var POPOVER_RENAME_OBJECT = `${SPACE_PLUGIN}/PopoverRenameObject`;
1055
- var PopoverRenameObject = ({ object: obj }) => {
1055
+ var POPOVER_RENAME_OBJECT = `${meta.id}/PopoverRenameObject`;
1056
+ var PopoverRenameObject = ({ object }) => {
1056
1057
  var _effect = _useSignals12();
1057
1058
  try {
1058
- const { t } = useTranslation11(SPACE_PLUGIN);
1059
+ const { t } = useTranslation11(meta.id);
1059
1060
  const doneButton = useRef4(null);
1060
- const object = obj;
1061
- const [name, setName] = useState5(object.name || object.title || "");
1061
+ const [name, setName] = useState5(Obj2.getLabel(object));
1062
1062
  const { dispatchPromise: dispatch } = useIntentDispatcher6();
1063
1063
  const handleDone = useCallback7(() => {
1064
1064
  try {
1065
- object.name = name;
1065
+ name && Obj2.setLabel(object, name);
1066
1066
  } catch (err) {
1067
- try {
1068
- object.title = name;
1069
- } catch {
1070
- log2.error("Failed to rename object", {
1071
- err
1072
- }, {
1073
- F: __dxlog_file3,
1074
- L: 32,
1075
- S: void 0,
1076
- C: (f, a) => f(...a)
1077
- });
1078
- }
1067
+ log2.error("Failed to rename object", {
1068
+ err
1069
+ }, {
1070
+ F: __dxlog_file3,
1071
+ L: 27,
1072
+ S: void 0,
1073
+ C: (f, a) => f(...a)
1074
+ });
1079
1075
  }
1080
1076
  void dispatch(createIntent6(LayoutAction5.UpdatePopover, {
1081
1077
  part: "popover",
@@ -1118,13 +1114,13 @@ var PopoverRenameObject = ({ object: obj }) => {
1118
1114
  // src/components/PopoverRenameSpace.tsx
1119
1115
  import { useSignals as _useSignals13 } from "@preact-signals/safe-react/tracking";
1120
1116
  import React13, { useCallback as useCallback8, useRef as useRef5, useState as useState6 } from "react";
1121
- import { createIntent as createIntent7, LayoutAction as LayoutAction6, useIntentDispatcher as useIntentDispatcher7 } from "@dxos/app-framework";
1117
+ import { LayoutAction as LayoutAction6, createIntent as createIntent7, useIntentDispatcher as useIntentDispatcher7 } from "@dxos/app-framework";
1122
1118
  import { Button as Button6, Input as Input4, Popover, useTranslation as useTranslation12 } from "@dxos/react-ui";
1123
- var POPOVER_RENAME_SPACE = `${SPACE_PLUGIN}/PopoverRenameSpace`;
1119
+ var POPOVER_RENAME_SPACE = `${meta.id}/PopoverRenameSpace`;
1124
1120
  var PopoverRenameSpace = ({ space }) => {
1125
1121
  var _effect = _useSignals13();
1126
1122
  try {
1127
- const { t } = useTranslation12(SPACE_PLUGIN);
1123
+ const { t } = useTranslation12(meta.id);
1128
1124
  const doneButton = useRef5(null);
1129
1125
  const [name, setName] = useState6(space.properties.name ?? "");
1130
1126
  const { dispatchPromise: dispatch } = useIntentDispatcher7();
@@ -1173,9 +1169,9 @@ var PopoverRenameSpace = ({ space }) => {
1173
1169
 
1174
1170
  // src/components/SchemaContainer.tsx
1175
1171
  import { useSignals as _useSignals14 } from "@preact-signals/safe-react/tracking";
1176
- import React14, { useState as useState7, useEffect as useEffect3 } from "react";
1172
+ import React14, { useEffect as useEffect3, useState as useState7 } from "react";
1177
1173
  import { useTranslation as useTranslation13 } from "@dxos/react-ui";
1178
- import { controlItemClasses, ControlPage as ControlPage2, ControlSection as ControlSection2 } from "@dxos/react-ui-form";
1174
+ import { ControlPage as ControlPage2, ControlSection as ControlSection2, controlItemClasses } from "@dxos/react-ui-form";
1179
1175
  import { StackItem as StackItem3 } from "@dxos/react-ui-stack";
1180
1176
  var useQuerySpaceSchemas = (space) => {
1181
1177
  const [schemas, setSchemas] = useState7([]);
@@ -1193,10 +1189,10 @@ var useQuerySpaceSchemas = (space) => {
1193
1189
  var SchemaContainer = ({ space }) => {
1194
1190
  var _effect = _useSignals14();
1195
1191
  try {
1196
- const { t } = useTranslation13(SPACE_PLUGIN);
1192
+ const { t } = useTranslation13(meta.id);
1197
1193
  const schemas = useQuerySpaceSchemas(space);
1198
1194
  return /* @__PURE__ */ React14.createElement(StackItem3.Content, {
1199
- classNames: "block overflow-y-auto"
1195
+ scrollable: true
1200
1196
  }, /* @__PURE__ */ React14.createElement(ControlPage2, null, /* @__PURE__ */ React14.createElement(ControlSection2, {
1201
1197
  title: t("schema verbose label"),
1202
1198
  description: t("schema description")
@@ -1215,14 +1211,14 @@ var SchemaContainer = ({ space }) => {
1215
1211
 
1216
1212
  // src/components/SpacePresence.tsx
1217
1213
  import { useSignals as _useSignals15 } from "@preact-signals/safe-react/tracking";
1218
- import { Option } from "effect";
1214
+ import * as Option2 from "effect/Option";
1219
1215
  import React15, { forwardRef, useCallback as useCallback9, useEffect as useEffect4, useState as useState8 } from "react";
1220
1216
  import { useAppGraph as useAppGraph2, useCapability } from "@dxos/app-framework";
1221
1217
  import { generateName } from "@dxos/display-name";
1222
1218
  import { PublicKey, useClient as useClient5 } from "@dxos/react-client";
1223
- import { getSpace as getSpace3, useMembers, fullyQualifiedId as fullyQualifiedId3 } from "@dxos/react-client/echo";
1219
+ import { fullyQualifiedId as fullyQualifiedId3, getSpace as getSpace3, useMembers } from "@dxos/react-client/echo";
1224
1220
  import { useIdentity } from "@dxos/react-client/halo";
1225
- import { Avatar, Tooltip as Tooltip2, Popover as Popover2, useTranslation as useTranslation14, List, ListItem, useDefaultValue } from "@dxos/react-ui";
1221
+ import { Avatar, List, ListItem, Popover as Popover2, Tooltip as Tooltip2, useDefaultValue as useDefaultValue2, useTranslation as useTranslation14 } from "@dxos/react-ui";
1226
1222
  import { AttentionGlyph, useAttended, useAttention } from "@dxos/react-ui-attention";
1227
1223
  import { ComplexMap, keyToFallback } from "@dxos/util";
1228
1224
  var REFRESH_INTERVAL = 5e3;
@@ -1271,7 +1267,7 @@ var FullPresence = (props) => {
1271
1267
  var _effect = _useSignals15();
1272
1268
  try {
1273
1269
  const { size = 9, onMemberClick } = props;
1274
- const members = useDefaultValue(props.members, () => []);
1270
+ const members = useDefaultValue2(props.members, () => []);
1275
1271
  if (members.length === 0) {
1276
1272
  return null;
1277
1273
  }
@@ -1352,7 +1348,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
1352
1348
  const attended = useAttended();
1353
1349
  const startOfAttention = attended.at(-1);
1354
1350
  const path = usePath(graph, startOfAttention);
1355
- const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;
1351
+ const containsAttended = !open && !isAttended && id && Option2.isSome(path) ? path.value.includes(id) : false;
1356
1352
  const getActiveViewers = (viewers2) => {
1357
1353
  const moment = Date.now();
1358
1354
  return Array.from(viewers2.values()).filter((viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION);
@@ -1381,7 +1377,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
1381
1377
  var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1382
1378
  var _effect = _useSignals15();
1383
1379
  try {
1384
- const { t } = useTranslation14(SPACE_PLUGIN);
1380
+ const { t } = useTranslation14(meta.id);
1385
1381
  return /* @__PURE__ */ React15.createElement(Tooltip2.Trigger, {
1386
1382
  asChild: true,
1387
1383
  content: t("presence label", {
@@ -1405,12 +1401,12 @@ import React16 from "react";
1405
1401
  import { createIntent as createIntent8, useIntentDispatcher as useIntentDispatcher8 } from "@dxos/app-framework";
1406
1402
  import { useClient as useClient6 } from "@dxos/react-client";
1407
1403
  import { useSpaces as useSpaces2 } from "@dxos/react-client/echo";
1408
- import { Input as Input5, toLocalizedString as toLocalizedString3, useTranslation as useTranslation15, List as List2, ListItem as ListItem2, IconButton } from "@dxos/react-ui";
1409
- import { controlItemClasses as controlItemClasses2, ControlPage as ControlPage3, ControlSection as ControlSection3, DeprecatedFormInput } from "@dxos/react-ui-form";
1404
+ import { IconButton, Input as Input5, List as List2, ListItem as ListItem2, toLocalizedString as toLocalizedString3, useTranslation as useTranslation15 } from "@dxos/react-ui";
1405
+ import { ControlGroup, ControlItemInput as ControlItemInput2, ControlPage as ControlPage3, ControlSection as ControlSection3, controlItemClasses as controlItemClasses2 } from "@dxos/react-ui-form";
1410
1406
  var SpacePluginSettings = ({ settings }) => {
1411
1407
  var _effect = _useSignals16();
1412
1408
  try {
1413
- const { t } = useTranslation15(SPACE_PLUGIN);
1409
+ const { t } = useTranslation15(meta.id);
1414
1410
  const client = useClient6();
1415
1411
  const spaces = useSpaces2({
1416
1412
  all: settings.showHidden
@@ -1419,10 +1415,8 @@ var SpacePluginSettings = ({ settings }) => {
1419
1415
  return /* @__PURE__ */ React16.createElement(ControlPage3, null, /* @__PURE__ */ React16.createElement(ControlSection3, {
1420
1416
  title: t("space settings label"),
1421
1417
  description: t("space settings description")
1422
- }, /* @__PURE__ */ React16.createElement("div", {
1423
- className: "pli-trimMd container-max-width"
1424
- }, /* @__PURE__ */ React16.createElement(DeprecatedFormInput, {
1425
- label: t("show hidden spaces label")
1418
+ }, /* @__PURE__ */ React16.createElement(ControlGroup, null, /* @__PURE__ */ React16.createElement(ControlItemInput2, {
1419
+ title: t("show hidden spaces label")
1426
1420
  }, /* @__PURE__ */ React16.createElement(Input5.Switch, {
1427
1421
  checked: settings.showHidden,
1428
1422
  onCheckedChange: (checked) => settings.showHidden = !!checked
@@ -1452,15 +1446,16 @@ var SpacePluginSettings = ({ settings }) => {
1452
1446
 
1453
1447
  // src/components/SpaceSettings/SpaceSettingsContainer.tsx
1454
1448
  import { useSignals as _useSignals17 } from "@preact-signals/safe-react/tracking";
1455
- import { pipe as pipe2, Schema } from "effect";
1449
+ import * as Function2 from "effect/Function";
1450
+ import * as Schema from "effect/Schema";
1456
1451
  import React17, { useCallback as useCallback10, useMemo as useMemo3, useState as useState9 } from "react";
1457
- import { chain as chain2, createIntent as createIntent9, LayoutAction as LayoutAction7, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
1452
+ import { LayoutAction as LayoutAction7, chain as chain2, createIntent as createIntent9, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
1458
1453
  import { log as log3 } from "@dxos/log";
1459
1454
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
1460
1455
  import { useClient as useClient7 } from "@dxos/react-client";
1461
1456
  import { SpaceState as SpaceState2 } from "@dxos/react-client/echo";
1462
1457
  import { Button as Button7, Input as Input6, useMulticastObservable, useTranslation as useTranslation16 } from "@dxos/react-ui";
1463
- import { Form as Form3, ControlItem, ControlItemInput as ControlItemInput2, ControlSection as ControlSection4, ControlPage as ControlPage4 } from "@dxos/react-ui-form";
1458
+ import { ControlItem, ControlItemInput as ControlItemInput3, ControlPage as ControlPage4, ControlSection as ControlSection4, Form as Form3 } from "@dxos/react-ui-form";
1464
1459
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
1465
1460
  import { StackItem as StackItem4 } from "@dxos/react-ui-stack";
1466
1461
  var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx";
@@ -1472,7 +1467,7 @@ var FormSchema = SpaceForm.pipe(Schema.extend(Schema.Struct({
1472
1467
  var SpaceSettingsContainer = ({ space }) => {
1473
1468
  var _effect = _useSignals17();
1474
1469
  try {
1475
- const { t } = useTranslation16(SPACE_PLUGIN);
1470
+ const { t } = useTranslation16(meta.id);
1476
1471
  const { dispatchPromise: dispatch } = useIntentDispatcher9();
1477
1472
  const client = useClient7();
1478
1473
  const archived = useMulticastObservable(space.state) === SpaceState2.SPACE_INACTIVE;
@@ -1482,7 +1477,7 @@ var SpaceSettingsContainer = ({ space }) => {
1482
1477
  await space?.internal.setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED).catch((err) => {
1483
1478
  log3.catch(err, void 0, {
1484
1479
  F: __dxlog_file4,
1485
- L: 51,
1480
+ L: 52,
1486
1481
  S: void 0,
1487
1482
  C: (f, a) => f(...a)
1488
1483
  });
@@ -1503,7 +1498,7 @@ var SpaceSettingsContainer = ({ space }) => {
1503
1498
  space.properties.hue = properties.hue;
1504
1499
  }
1505
1500
  if (properties.archived && !archived) {
1506
- void dispatch(pipe2(createIntent9(SpaceAction.Close, {
1501
+ void dispatch(Function2.pipe(createIntent9(SpaceAction.Close, {
1507
1502
  space
1508
1503
  }), chain2(LayoutAction7.SwitchWorkspace, {
1509
1504
  part: "workspace",
@@ -1538,7 +1533,7 @@ var SpaceSettingsContainer = ({ space }) => {
1538
1533
  onValueChange,
1539
1534
  type
1540
1535
  ]);
1541
- return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
1536
+ return /* @__PURE__ */ React17.createElement(ControlItemInput3, {
1542
1537
  title: label,
1543
1538
  description: t("display name description")
1544
1539
  }, /* @__PURE__ */ React17.createElement(Input6.TextInput, {
@@ -1549,11 +1544,11 @@ var SpaceSettingsContainer = ({ space }) => {
1549
1544
  }));
1550
1545
  },
1551
1546
  icon: ({ type, label, getValue, onValueChange }) => {
1552
- const handleChange = useCallback10((nextEmoji) => onValueChange(type, nextEmoji), [
1547
+ const handleChange = useCallback10((icon) => onValueChange(type, icon), [
1553
1548
  onValueChange,
1554
1549
  type
1555
1550
  ]);
1556
- const handleEmojiReset = useCallback10(() => onValueChange(type, void 0), [
1551
+ const handleReset = useCallback10(() => onValueChange(type, void 0), [
1557
1552
  onValueChange,
1558
1553
  type
1559
1554
  ]);
@@ -1563,7 +1558,7 @@ var SpaceSettingsContainer = ({ space }) => {
1563
1558
  }, /* @__PURE__ */ React17.createElement(IconPicker, {
1564
1559
  value: getValue(),
1565
1560
  onChange: handleChange,
1566
- onReset: handleEmojiReset,
1561
+ onReset: handleReset,
1567
1562
  classNames: "justify-self-end",
1568
1563
  iconSize: 5
1569
1564
  }));
@@ -1573,7 +1568,7 @@ var SpaceSettingsContainer = ({ space }) => {
1573
1568
  onValueChange,
1574
1569
  type
1575
1570
  ]);
1576
- const handleHueReset = useCallback10(() => onValueChange(type, void 0), [
1571
+ const handleReset = useCallback10(() => onValueChange(type, void 0), [
1577
1572
  onValueChange,
1578
1573
  type
1579
1574
  ]);
@@ -1583,7 +1578,7 @@ var SpaceSettingsContainer = ({ space }) => {
1583
1578
  }, /* @__PURE__ */ React17.createElement(HuePicker, {
1584
1579
  value: getValue(),
1585
1580
  onChange: handleChange,
1586
- onReset: handleHueReset,
1581
+ onReset: handleReset,
1587
1582
  classNames: "[--hue-preview-size:1.25rem] justify-self-end"
1588
1583
  }));
1589
1584
  },
@@ -1592,7 +1587,7 @@ var SpaceSettingsContainer = ({ space }) => {
1592
1587
  onValueChange,
1593
1588
  type
1594
1589
  ]);
1595
- return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
1590
+ return /* @__PURE__ */ React17.createElement(ControlItemInput3, {
1596
1591
  title: label,
1597
1592
  description: t("edge replication description")
1598
1593
  }, /* @__PURE__ */ React17.createElement(Input6.Switch, {
@@ -1607,7 +1602,7 @@ var SpaceSettingsContainer = ({ space }) => {
1607
1602
  type,
1608
1603
  getValue
1609
1604
  ]);
1610
- return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
1605
+ return /* @__PURE__ */ React17.createElement(ControlItemInput3, {
1611
1606
  title: label,
1612
1607
  description: t("archive space description")
1613
1608
  }, /* @__PURE__ */ React17.createElement(Button7, {
@@ -1620,13 +1615,13 @@ var SpaceSettingsContainer = ({ space }) => {
1620
1615
  space
1621
1616
  ]);
1622
1617
  return /* @__PURE__ */ React17.createElement(StackItem4.Content, {
1623
- classNames: "block overflow-y-auto pli-2"
1618
+ scrollable: true
1624
1619
  }, /* @__PURE__ */ React17.createElement(ControlPage4, null, /* @__PURE__ */ React17.createElement(ControlSection4, {
1625
1620
  title: t("space properties settings verbose label", {
1626
- ns: SPACE_PLUGIN
1621
+ ns: meta.id
1627
1622
  }),
1628
1623
  description: t("space properties settings description", {
1629
- ns: SPACE_PLUGIN
1624
+ ns: meta.id
1630
1625
  })
1631
1626
  }, /* @__PURE__ */ React17.createElement(Form3, {
1632
1627
  schema: FormSchema,
@@ -1635,7 +1630,7 @@ var SpaceSettingsContainer = ({ space }) => {
1635
1630
  onSave: handleSave,
1636
1631
  Custom: customElements,
1637
1632
  outerSpacing: false,
1638
- classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content] gap-4"
1633
+ classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
1639
1634
  }))));
1640
1635
  } finally {
1641
1636
  _effect.f();
@@ -1644,7 +1639,7 @@ var SpaceSettingsContainer = ({ space }) => {
1644
1639
 
1645
1640
  // src/components/SyncStatus/InlineSyncStatus.tsx
1646
1641
  import { useSignals as _useSignals18 } from "@preact-signals/safe-react/tracking";
1647
- import { Option as Option2 } from "effect";
1642
+ import * as Option3 from "effect/Option";
1648
1643
  import React18, { useEffect as useEffect5, useState as useState10 } from "react";
1649
1644
  import { useAppGraph as useAppGraph3 } from "@dxos/app-framework";
1650
1645
  import { EdgeStatus } from "@dxos/protocols/proto/dxos/client/services";
@@ -1668,7 +1663,7 @@ var useEdgeStatus = () => {
1668
1663
  var InlineSyncStatus = ({ space, open }) => {
1669
1664
  var _effect = _useSignals18();
1670
1665
  try {
1671
- const { t } = useTranslation17(SPACE_PLUGIN);
1666
+ const { t } = useTranslation17(meta.id);
1672
1667
  const id = space.id;
1673
1668
  const { hasAttention, isAncestor, isRelated } = useAttention2(id);
1674
1669
  const isAttended = hasAttention || isAncestor || isRelated;
@@ -1676,7 +1671,7 @@ var InlineSyncStatus = ({ space, open }) => {
1676
1671
  const attended = useAttended2();
1677
1672
  const startOfAttention = attended.at(-1);
1678
1673
  const path = usePath(graph, startOfAttention);
1679
- const containsAttended = !open && !isAttended && id && Option2.isSome(path) ? path.value.includes(id) : false;
1674
+ const containsAttended = !open && !isAttended && id && Option3.isSome(path) ? path.value.includes(id) : false;
1680
1675
  const connectedToEdge = useEdgeStatus() === EdgeStatus.CONNECTED;
1681
1676
  const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting2.ENABLED;
1682
1677
  const syncState = useSpaceSyncState(space);
@@ -1819,7 +1814,7 @@ var SyncStatus = () => {
1819
1814
  var SyncStatusIndicator = ({ state, saved }) => {
1820
1815
  var _effect = _useSignals19();
1821
1816
  try {
1822
- const { t } = useTranslation18(SPACE_PLUGIN);
1817
+ const { t } = useTranslation18(meta.id);
1823
1818
  const summary = getSyncSummary(state);
1824
1819
  const offline = Object.values(state).length === 0;
1825
1820
  const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
@@ -1861,14 +1856,14 @@ var SyncStatusIndicator = ({ state, saved }) => {
1861
1856
 
1862
1857
  // src/components/ViewEditor.tsx
1863
1858
  import { useSignals as _useSignals20 } from "@preact-signals/safe-react/tracking";
1864
- import React20, { useCallback as useCallback11, useMemo as useMemo4 } from "react";
1859
+ import React20, { useCallback as useCallback11 } from "react";
1865
1860
  import { createIntent as createIntent10, useIntentDispatcher as useIntentDispatcher10 } from "@dxos/app-framework";
1866
- import { Type as Type3 } from "@dxos/echo";
1861
+ import { Filter as Filter2, Query as Query2, Type as Type3 } from "@dxos/echo";
1867
1862
  import { invariant as invariant2 } from "@dxos/invariant";
1868
1863
  import { useClient as useClient10 } from "@dxos/react-client";
1869
- import { Filter as Filter2, getSpace as getSpace4, useQuery as useQuery3, useSchema } from "@dxos/react-client/echo";
1870
- import { ViewEditor as NativeViewEditor } from "@dxos/react-ui-form";
1871
- import { DataType as DataType3 } from "@dxos/schema";
1864
+ import { getSpace as getSpace4, useSchema } from "@dxos/react-client/echo";
1865
+ import { ViewEditor as NaturalViewEditor } from "@dxos/react-ui-form";
1866
+ import { getTypenameFromQuery as getTypenameFromQuery2 } from "@dxos/schema";
1872
1867
  var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ViewEditor.tsx";
1873
1868
  var ViewEditor = ({ view }) => {
1874
1869
  var _effect = _useSignals20();
@@ -1876,15 +1871,12 @@ var ViewEditor = ({ view }) => {
1876
1871
  const { dispatchPromise: dispatch } = useIntentDispatcher10();
1877
1872
  const client = useClient10();
1878
1873
  const space = getSpace4(view);
1879
- const schema = useSchema(client, space, view.query.typename);
1880
- const views = useQuery3(space, Filter2.type(DataType3.View));
1881
- const currentTypename = useMemo4(() => view.query?.typename, [
1882
- view.query?.typename
1883
- ]);
1884
- const handleUpdateTypename = useCallback11((typename) => {
1874
+ const typename = view.query ? getTypenameFromQuery2(view.query.ast) : void 0;
1875
+ const schema = useSchema(client, space, typename);
1876
+ const handleUpdateQuery = useCallback11((typename2) => {
1885
1877
  invariant2(schema, void 0, {
1886
1878
  F: __dxlog_file6,
1887
- L: 30,
1879
+ L: 28,
1888
1880
  S: void 0,
1889
1881
  A: [
1890
1882
  "schema",
@@ -1893,20 +1885,18 @@ var ViewEditor = ({ view }) => {
1893
1885
  });
1894
1886
  invariant2(Type3.isMutable(schema), void 0, {
1895
1887
  F: __dxlog_file6,
1896
- L: 31,
1888
+ L: 29,
1897
1889
  S: void 0,
1898
1890
  A: [
1899
1891
  "Type.isMutable(schema)",
1900
1892
  ""
1901
1893
  ]
1902
1894
  });
1903
- const matchingViews = views.filter((view2) => view2.query.typename === currentTypename);
1904
- for (const view2 of matchingViews) {
1905
- view2.query.typename = typename;
1906
- }
1907
- schema.updateTypename(typename);
1895
+ const newQuery = Query2.select(Filter2.typename(typename2));
1896
+ view.query.ast = newQuery.ast;
1897
+ schema.updateTypename(typename2);
1908
1898
  }, [
1909
- views,
1899
+ view,
1910
1900
  schema
1911
1901
  ]);
1912
1902
  const handleDelete = useCallback11((fieldId) => {
@@ -1921,11 +1911,11 @@ var ViewEditor = ({ view }) => {
1921
1911
  if (!space || !schema) {
1922
1912
  return null;
1923
1913
  }
1924
- return /* @__PURE__ */ React20.createElement(NativeViewEditor, {
1914
+ return /* @__PURE__ */ React20.createElement(NaturalViewEditor, {
1925
1915
  registry: space.db.schemaRegistry,
1926
1916
  schema,
1927
1917
  view,
1928
- onTypenameChanged: Type3.isMutable(schema) ? handleUpdateTypename : void 0,
1918
+ onQueryChanged: Type3.isMutable(schema) ? handleUpdateQuery : void 0,
1929
1919
  onDelete: Type3.isMutable(schema) ? handleDelete : void 0,
1930
1920
  outerSpacing: false
1931
1921
  });
@@ -1936,8 +1926,9 @@ var ViewEditor = ({ view }) => {
1936
1926
 
1937
1927
  // src/components/index.ts
1938
1928
  import { lazy as lazy2 } from "react";
1939
- var CollectionMain = lazy2(() => import("./CollectionMain-ZJIFCWKZ.mjs"));
1940
- var ObjectDetailsPanel = lazy2(() => import("./ObjectDetailsPanel-QKZEDSZK.mjs"));
1929
+ var CollectionMain = lazy2(() => import("./CollectionMain-EU57SRYK.mjs"));
1930
+ var ObjectDetailsPanel = lazy2(() => import("./ObjectDetailsPanel-P7D727OV.mjs"));
1931
+ var RecordMain = lazy2(() => import("./RecordMain-V73AEB6N.mjs"));
1941
1932
 
1942
1933
  export {
1943
1934
  AwaitingObject,
@@ -1970,6 +1961,7 @@ export {
1970
1961
  ViewEditor,
1971
1962
  CollectionMain,
1972
1963
  ObjectDetailsPanel,
1964
+ RecordMain,
1973
1965
  AppGraphBuilder,
1974
1966
  AppGraphSerializer,
1975
1967
  IdentityCreated,
@@ -1977,9 +1969,8 @@ export {
1977
1969
  ReactRoot,
1978
1970
  ReactSurface,
1979
1971
  SchemaDefs,
1980
- SchemaTools,
1981
1972
  SpaceSettings,
1982
1973
  SpaceState,
1983
1974
  SpacesReady
1984
1975
  };
1985
- //# sourceMappingURL=chunk-6X5DLJM5.mjs.map
1976
+ //# sourceMappingURL=chunk-L26ZIGHA.mjs.map