@dxos/plugin-space 0.8.3 → 0.8.4-main.28f8d3d

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 (275) hide show
  1. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs +31 -0
  2. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs +88 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs.map +7 -0
  5. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +68 -0
  6. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs → app-graph-builder-VZW75QPJ.mjs} +178 -30
  8. package/dist/lib/browser/app-graph-builder-VZW75QPJ.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-YPHYVZAP.mjs} +13 -13
  10. package/dist/lib/browser/app-graph-serializer-YPHYVZAP.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-3UFG6LQQ.mjs} +59 -5
  12. package/dist/lib/browser/chunk-3UFG6LQQ.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-CBYL62HG.mjs} +5 -4
  14. package/dist/lib/browser/chunk-CBYL62HG.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-DYKFFVN6.mjs} +5 -5
  16. package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-DYKFFVN6.mjs.map} +3 -3
  17. package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
  18. package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-PSIBVBTA.mjs} +419 -353
  19. package/dist/lib/browser/chunk-PSIBVBTA.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-Q5EEPP3S.mjs} +4 -3
  21. package/dist/lib/browser/chunk-Q5EEPP3S.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-SMB4DGYO.mjs} +133 -29
  23. package/dist/lib/browser/chunk-SMB4DGYO.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-WAXS2ZVX.mjs} +77 -16
  25. package/dist/lib/browser/chunk-WAXS2ZVX.mjs.map +7 -0
  26. package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-T6ZNVE7S.mjs} +5 -5
  27. package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +7 -0
  28. package/dist/lib/browser/index.mjs +108 -17
  29. package/dist/lib/browser/index.mjs.map +3 -3
  30. package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-TS6CCKST.mjs} +172 -22
  31. package/dist/lib/browser/intent-resolver-TS6CCKST.mjs.map +7 -0
  32. package/dist/lib/browser/meta.json +1 -1
  33. package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-RQGTZ2ZO.mjs} +8 -8
  34. package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-RQGTZ2ZO.mjs.map} +2 -2
  35. package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-V3ARS2BP.mjs} +54 -22
  36. package/dist/lib/browser/react-surface-V3ARS2BP.mjs.map +7 -0
  37. package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-5LBA43X5.mjs} +4 -4
  38. package/dist/lib/browser/schema-defs-5LBA43X5.mjs.map +7 -0
  39. package/dist/lib/browser/{schema-tools-ILTVSSS3.mjs → schema-tools-LPL35WOJ.mjs} +13 -13
  40. package/dist/lib/browser/schema-tools-LPL35WOJ.mjs.map +7 -0
  41. package/dist/lib/browser/{settings-K54STC5A.mjs → settings-FLLBP5KI.mjs} +4 -4
  42. package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-FXEP6XEW.mjs} +17 -15
  43. package/dist/lib/browser/spaces-ready-FXEP6XEW.mjs.map +7 -0
  44. package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-K3UBPKYP.mjs} +4 -4
  45. package/dist/lib/{node-esm/state-XQNDCN37.mjs.map → browser/state-K3UBPKYP.mjs.map} +2 -2
  46. package/dist/lib/browser/types/index.mjs +2 -2
  47. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs +32 -0
  48. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +7 -0
  49. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs +89 -0
  50. package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.mjs.map +7 -0
  51. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +70 -0
  52. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +7 -0
  53. package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-XNVQOJLE.mjs} +178 -30
  54. package/dist/lib/node-esm/app-graph-builder-XNVQOJLE.mjs.map +7 -0
  55. package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-PKVLWV6V.mjs} +13 -13
  56. package/dist/lib/node-esm/app-graph-serializer-PKVLWV6V.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-7MZ3J3LI.mjs} +4 -3
  58. package/dist/lib/node-esm/chunk-7MZ3J3LI.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-CTQMR7E3.mjs} +133 -29
  60. package/dist/lib/node-esm/chunk-CTQMR7E3.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-FJZNSJC4.mjs} +5 -4
  62. package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
  64. package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-HYIZVPOA.mjs} +77 -16
  65. package/dist/lib/node-esm/chunk-HYIZVPOA.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-KLG4Y4GY.mjs} +5 -5
  67. package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-KLG4Y4GY.mjs.map} +3 -3
  68. package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-KYUHPPRN.mjs} +419 -353
  69. package/dist/lib/node-esm/chunk-KYUHPPRN.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-S7MKRQHY.mjs} +59 -5
  71. package/dist/lib/node-esm/chunk-S7MKRQHY.mjs.map +7 -0
  72. package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-AL7NNCKH.mjs} +5 -5
  73. package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +7 -0
  74. package/dist/lib/node-esm/index.mjs +108 -17
  75. package/dist/lib/node-esm/index.mjs.map +3 -3
  76. package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-W6P27SCF.mjs} +172 -22
  77. package/dist/lib/node-esm/intent-resolver-W6P27SCF.mjs.map +7 -0
  78. package/dist/lib/node-esm/meta.json +1 -1
  79. package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-N27KETKT.mjs} +8 -8
  80. package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-N27KETKT.mjs.map} +2 -2
  81. package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-TNPAUQCM.mjs} +54 -22
  82. package/dist/lib/node-esm/react-surface-TNPAUQCM.mjs.map +7 -0
  83. package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-TPWZPDCR.mjs} +4 -4
  84. package/dist/lib/node-esm/schema-defs-TPWZPDCR.mjs.map +7 -0
  85. package/dist/lib/node-esm/{schema-tools-SRLCRZ3B.mjs → schema-tools-PJE2FKWH.mjs} +13 -13
  86. package/dist/lib/node-esm/schema-tools-PJE2FKWH.mjs.map +7 -0
  87. package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-WKUWY3P6.mjs} +4 -4
  88. package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-PQLLIO5W.mjs} +17 -15
  89. package/dist/lib/node-esm/spaces-ready-PQLLIO5W.mjs.map +7 -0
  90. package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-4M5A6OSB.mjs} +4 -4
  91. package/dist/lib/node-esm/state-4M5A6OSB.mjs.map +7 -0
  92. package/dist/lib/node-esm/types/index.mjs +2 -2
  93. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/capabilities.d.ts +9 -3
  97. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  106. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  107. package/dist/types/src/components/CollectionMain.d.ts +1 -0
  108. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  109. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -2
  110. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1 -1
  112. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +1 -1
  114. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  115. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  116. package/dist/types/src/components/MembersContainer.stories.d.ts +1 -1
  117. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  118. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  119. package/dist/types/src/components/ObjectDetailsPanel.d.ts +9 -0
  120. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -0
  121. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  122. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  123. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -1
  124. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  125. package/dist/types/src/components/RecordMain.d.ts +7 -0
  126. package/dist/types/src/components/RecordMain.d.ts.map +1 -0
  127. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  128. package/dist/types/src/components/SpacePresence.stories.d.ts +1 -1
  129. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  130. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  131. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1 -1
  132. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  133. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  134. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  135. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1 -1
  136. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  137. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  138. package/dist/types/src/components/ViewEditor.d.ts +8 -0
  139. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  140. package/dist/types/src/components/index.d.ts +11 -1
  141. package/dist/types/src/components/index.d.ts.map +1 -1
  142. package/dist/types/src/events.d.ts +1 -0
  143. package/dist/types/src/events.d.ts.map +1 -1
  144. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  145. package/dist/types/src/translations.d.ts +212 -410
  146. package/dist/types/src/translations.d.ts.map +1 -1
  147. package/dist/types/src/types/types.d.ts +82 -2
  148. package/dist/types/src/types/types.d.ts.map +1 -1
  149. package/dist/types/src/util.d.ts +31 -5
  150. package/dist/types/src/util.d.ts.map +1 -1
  151. package/dist/types/tsconfig.tsbuildinfo +1 -1
  152. package/package.json +52 -52
  153. package/src/SpacePlugin.ts +91 -8
  154. package/src/capabilities/app-graph-builder.ts +211 -14
  155. package/src/capabilities/app-graph-serializer.ts +6 -6
  156. package/src/capabilities/capabilities.ts +8 -3
  157. package/src/capabilities/identity-created.ts +3 -5
  158. package/src/capabilities/intent-resolver.ts +123 -13
  159. package/src/capabilities/react-root.tsx +2 -1
  160. package/src/capabilities/react-surface.tsx +69 -18
  161. package/src/capabilities/schema-defs.ts +3 -2
  162. package/src/capabilities/schema-tool.test.ts +1 -1
  163. package/src/capabilities/schema-tools.ts +11 -11
  164. package/src/capabilities/spaces-ready.ts +10 -7
  165. package/src/capabilities/state.ts +3 -2
  166. package/src/components/AwaitingObject.tsx +5 -7
  167. package/src/components/CollectionMain.tsx +2 -0
  168. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +5 -4
  169. package/src/components/CreateDialog/CreateObjectDialog.tsx +32 -27
  170. package/src/components/CreateDialog/CreateObjectPanel.tsx +3 -3
  171. package/src/components/CreateDialog/CreateSpaceDialog.tsx +1 -1
  172. package/src/components/JoinDialog.tsx +1 -1
  173. package/src/components/MembersContainer.stories.tsx +6 -5
  174. package/src/components/MembersContainer.tsx +8 -7
  175. package/src/components/MenuFooter.tsx +2 -3
  176. package/src/components/ObjectDetailsPanel.tsx +77 -0
  177. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -1
  178. package/src/components/PersistenceStatus.tsx +5 -6
  179. package/src/components/PopoverRenameObject.tsx +7 -13
  180. package/src/components/PopoverRenameSpace.tsx +1 -1
  181. package/src/components/RecordMain.tsx +43 -0
  182. package/src/components/SchemaContainer.tsx +2 -2
  183. package/src/components/SpacePluginSettings.tsx +2 -2
  184. package/src/components/SpacePresence.stories.tsx +4 -3
  185. package/src/components/SpacePresence.tsx +7 -7
  186. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +3 -2
  187. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +6 -6
  188. package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -15
  189. package/src/components/SyncStatus/SyncStatus.tsx +4 -3
  190. package/src/components/SyncStatus/save-tracker.ts +3 -3
  191. package/src/components/SyncStatus/status.ts +4 -4
  192. package/src/components/ViewEditor.tsx +64 -0
  193. package/src/components/index.ts +7 -1
  194. package/src/events.ts +2 -1
  195. package/src/hooks/useActiveSpace.ts +1 -1
  196. package/src/hooks/useInputSurfaceLookup.tsx +1 -1
  197. package/src/translations.ts +75 -11
  198. package/src/types/types.ts +56 -3
  199. package/src/util.tsx +127 -26
  200. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +0 -7
  201. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
  203. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +0 -7
  206. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +0 -7
  208. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
  209. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
  210. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
  211. package/dist/lib/browser/schema-defs-WREJNMIC.mjs.map +0 -7
  212. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +0 -7
  213. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +0 -7
  214. package/dist/lib/browser/state-HRZ4VRXU.mjs.map +0 -7
  215. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
  216. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
  217. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
  218. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
  219. package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
  220. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
  221. package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
  222. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
  223. package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
  224. package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
  225. package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
  226. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
  227. package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
  228. package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
  229. package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
  230. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
  231. package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
  232. package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
  233. package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
  234. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
  235. package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
  236. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
  237. package/dist/lib/node/index.cjs +0 -278
  238. package/dist/lib/node/index.cjs.map +0 -7
  239. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
  240. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
  241. package/dist/lib/node/meta.json +0 -1
  242. package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
  243. package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
  244. package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
  245. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
  246. package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
  247. package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
  248. package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
  249. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
  250. package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
  251. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
  252. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
  253. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
  254. package/dist/lib/node/state-M35DK75Z.cjs +0 -61
  255. package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
  256. package/dist/lib/node/types/index.cjs +0 -48
  257. package/dist/lib/node/types/index.cjs.map +0 -7
  258. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +0 -7
  259. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
  260. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +0 -7
  261. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +0 -7
  262. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +0 -7
  263. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
  264. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
  265. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
  266. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
  267. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
  268. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
  269. package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs.map +0 -7
  270. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +0 -7
  271. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +0 -7
  272. /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
  273. /package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-FLLBP5KI.mjs.map} +0 -0
  274. /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
  275. /package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-WKUWY3P6.mjs.map} +0 -0
@@ -2,32 +2,30 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  useInputSurfaceLookup,
4
4
  usePath
5
- } from "./chunk-GH2FGJXH.mjs";
5
+ } from "./chunk-KLG4Y4GY.mjs";
6
6
  import {
7
7
  SpaceCapabilities
8
- } from "./chunk-BSLREHIX.mjs";
8
+ } from "./chunk-7MZ3J3LI.mjs";
9
9
  import {
10
10
  COMPOSER_SPACE_LOCK,
11
11
  getSpaceDisplayName
12
- } from "./chunk-HO7AIKQS.mjs";
12
+ } from "./chunk-CTQMR7E3.mjs";
13
13
  import {
14
14
  SpaceAction,
15
15
  SpaceForm
16
- } from "./chunk-D4QMPPS7.mjs";
16
+ } from "./chunk-S7MKRQHY.mjs";
17
17
  import {
18
18
  SPACE_PLUGIN,
19
19
  meta
20
- } from "./chunk-MSWEFAPD.mjs";
20
+ } from "./chunk-HWNG4MEU.mjs";
21
21
 
22
- // packages/plugins/plugin-space/src/components/AwaitingObject.tsx
22
+ // src/components/AwaitingObject.tsx
23
23
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
24
- import { CheckCircle, CircleDashed, CircleNotch } from "@phosphor-icons/react";
25
24
  import React, { useCallback, useEffect, useState } from "react";
26
- import { createIntent, LayoutAction, useIntentDispatcher, useLayout } from "@dxos/app-framework";
25
+ import { LayoutAction, createIntent, useIntentDispatcher, useLayout } from "@dxos/app-framework";
27
26
  import { useClient } from "@dxos/react-client";
28
27
  import { Filter, fullyQualifiedId, useQuery } from "@dxos/react-client/echo";
29
- import { Button, Toast, useTranslation } from "@dxos/react-ui";
30
- import { getSize, mx } from "@dxos/react-ui-theme";
28
+ import { Button, Icon, Toast, useTranslation } from "@dxos/react-ui";
31
29
  var WAIT_FOR_OBJECT_TIMEOUT = 18e4;
32
30
  var TOAST_TIMEOUT = 24e4;
33
31
  var AwaitingObject = ({ id }) => {
@@ -88,12 +86,16 @@ var AwaitingObject = ({ id }) => {
88
86
  onOpenChange: setOpen
89
87
  }, /* @__PURE__ */ React.createElement(Toast.Body, null, /* @__PURE__ */ React.createElement(Toast.Title, {
90
88
  classNames: "flex items-center gap-2"
91
- }, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CheckCircle, {
92
- className: getSize(5)
93
- }), /* @__PURE__ */ React.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CircleNotch, {
94
- className: mx(getSize(5), "animate-spin")
95
- }), /* @__PURE__ */ React.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CircleDashed, {
96
- className: getSize(5)
89
+ }, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
90
+ icon: "ph--check-circle--regular",
91
+ size: 5
92
+ }), /* @__PURE__ */ React.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
93
+ icon: "ph--circle-notch--regular",
94
+ size: 5,
95
+ classNames: "animate-spin"
96
+ }), /* @__PURE__ */ React.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Icon, {
97
+ icon: "ph--circle-dashed--regular",
98
+ size: 5
97
99
  }), /* @__PURE__ */ React.createElement("span", null, t("object not found label")))), /* @__PURE__ */ React.createElement(Toast.Description, null, t(found ? "found object description" : waiting ? "waiting for object description" : "object not found description"))), /* @__PURE__ */ React.createElement(Toast.Actions, null, found ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Toast.Action, {
98
100
  altText: t("go to object alt"),
99
101
  asChild: true
@@ -118,26 +120,40 @@ var AwaitingObject = ({ id }) => {
118
120
  }
119
121
  };
120
122
 
121
- // packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx
123
+ // src/components/CreateDialog/CreateObjectDialog.tsx
122
124
  import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
123
- import { pipe } from "effect";
125
+ import { Effect, pipe } from "effect";
124
126
  import React3, { useCallback as useCallback3, useRef, useState as useState2 } from "react";
125
127
  import { Capabilities, LayoutAction as LayoutAction2, chain, createIntent as createIntent2, useCapabilities, useIntentDispatcher as useIntentDispatcher2, usePluginManager } from "@dxos/app-framework";
126
- import { Query, Type as Type2 } from "@dxos/echo";
128
+ import { Obj, Query, Type as Type2 } from "@dxos/echo";
127
129
  import { invariant } from "@dxos/invariant";
128
130
  import { useClient as useClient2 } from "@dxos/react-client";
129
131
  import { getSpace, isLiveObject, isSpace, useQuery as useQuery2, useSpaces } from "@dxos/react-client/echo";
130
- import { Button as Button2, Dialog, Icon as Icon2, useTranslation as useTranslation3 } from "@dxos/react-ui";
132
+ import { Button as Button2, Dialog, Icon as Icon3, useTranslation as useTranslation3 } from "@dxos/react-ui";
131
133
  import { cardDialogContent, cardDialogHeader } from "@dxos/react-ui-stack";
132
134
  import { DataType } from "@dxos/schema";
133
135
  import { isNonNullable as isNonNullable2 } from "@dxos/util";
134
136
 
135
- // packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectPanel.tsx
137
+ // src/capabilities/index.ts
138
+ import { lazy } from "@dxos/app-framework";
139
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-XNVQOJLE.mjs"));
140
+ var AppGraphSerializer = lazy(() => import("./app-graph-serializer-PKVLWV6V.mjs"));
141
+ var IdentityCreated = lazy(() => import("./identity-created-AL7NNCKH.mjs"));
142
+ var IntentResolver = lazy(() => import("./intent-resolver-W6P27SCF.mjs"));
143
+ var ReactRoot = lazy(() => import("./react-root-N27KETKT.mjs"));
144
+ var ReactSurface = lazy(() => import("./react-surface-TNPAUQCM.mjs"));
145
+ var SchemaDefs = lazy(() => import("./schema-defs-TPWZPDCR.mjs"));
146
+ var SchemaTools = lazy(() => import("./schema-tools-PJE2FKWH.mjs"));
147
+ var SpaceSettings = lazy(() => import("./settings-WKUWY3P6.mjs"));
148
+ var SpaceState = lazy(() => import("./state-4M5A6OSB.mjs"));
149
+ var SpacesReady = lazy(() => import("./spaces-ready-PQLLIO5W.mjs"));
150
+
151
+ // src/components/CreateDialog/CreateObjectPanel.tsx
136
152
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
137
153
  import React2, { useCallback as useCallback2 } from "react";
138
154
  import { Type } from "@dxos/echo";
139
155
  import { getTypeAnnotation } from "@dxos/echo-schema";
140
- import { Icon, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
156
+ import { Icon as Icon2, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
141
157
  import { Form } from "@dxos/react-ui-form";
142
158
  import { SearchList } from "@dxos/react-ui-searchlist";
143
159
  import { cardDialogOverflow, cardDialogPaddedOverflow, cardDialogSearchListRoot } from "@dxos/react-ui-stack";
@@ -275,7 +291,7 @@ var SelectSchema = ({ options, resolve, onChange }) => {
275
291
  classNames: "flex items-center gap-2"
276
292
  }, /* @__PURE__ */ React2.createElement("span", {
277
293
  className: "flex gap-2 items-center grow truncate"
278
- }, /* @__PURE__ */ React2.createElement(Icon, {
294
+ }, /* @__PURE__ */ React2.createElement(Icon2, {
279
295
  icon: resolve?.(option.typename).icon ?? "ph--placeholder--regular",
280
296
  size: 5
281
297
  }), t("typename label", {
@@ -287,24 +303,10 @@ var SelectSchema = ({ options, resolve, onChange }) => {
287
303
  }
288
304
  };
289
305
 
290
- // packages/plugins/plugin-space/src/capabilities/index.ts
291
- import { lazy } from "@dxos/app-framework";
292
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-BCHVZ4OM.mjs"));
293
- var AppGraphSerializer = lazy(() => import("./app-graph-serializer-TXRGGNP2.mjs"));
294
- var IdentityCreated = lazy(() => import("./identity-created-35CTAQWI.mjs"));
295
- var IntentResolver = lazy(() => import("./intent-resolver-JO6L2VXC.mjs"));
296
- var ReactRoot = lazy(() => import("./react-root-YFGL3B4J.mjs"));
297
- var ReactSurface = lazy(() => import("./react-surface-CVAPDLEZ.mjs"));
298
- var SchemaDefs = lazy(() => import("./schema-defs-4MEJETVX.mjs"));
299
- var SchemaTools = lazy(() => import("./schema-tools-SRLCRZ3B.mjs"));
300
- var SpaceSettings = lazy(() => import("./settings-TD76LTQS.mjs"));
301
- var SpaceState = lazy(() => import("./state-XQNDCN37.mjs"));
302
- var SpacesReady = lazy(() => import("./spaces-ready-FJMGPAVV.mjs"));
303
-
304
- // packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx
305
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
306
+ // src/components/CreateDialog/CreateObjectDialog.tsx
307
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
306
308
  var CREATE_OBJECT_DIALOG = `${SPACE_PLUGIN}/CreateObjectDialog`;
307
- var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, name, shouldNavigate: _shouldNavigate }) => {
309
+ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, name, onCreateObject, shouldNavigate: _shouldNavigate }) => {
308
310
  var _effect = _useSignals3();
309
311
  try {
310
312
  const closeRef = useRef(null);
@@ -312,7 +314,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
312
314
  const { t } = useTranslation3(SPACE_PLUGIN);
313
315
  const client = useClient2();
314
316
  const spaces = useSpaces();
315
- const { dispatchPromise: dispatch } = useIntentDispatcher2();
317
+ const { dispatch } = useIntentDispatcher2();
316
318
  const forms = useCapabilities(SpaceCapabilities.ObjectForm);
317
319
  const [target, setTarget] = useState2(initialTarget);
318
320
  const [typename, setTypename] = useState2(initialTypename);
@@ -322,7 +324,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
322
324
  const resolve = useCallback3((typename2) => manager.context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename2)?.metadata ?? {}, [
323
325
  manager
324
326
  ]);
325
- const handleCreateObject = useCallback3(async ({ form, data = {} }) => {
327
+ const handleCreateObject = useCallback3(({ form, data = {} }) => Effect.gen(function* () {
326
328
  if (!target) {
327
329
  return;
328
330
  }
@@ -330,18 +332,17 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
330
332
  const space2 = isSpace(target) ? target : getSpace(target);
331
333
  invariant(space2, "Missing space", {
332
334
  F: __dxlog_file,
333
- L: 73,
334
- S: void 0,
335
+ L: 77,
336
+ S: this,
335
337
  A: [
336
338
  "space",
337
339
  "'Missing space'"
338
340
  ]
339
341
  });
340
- const result = await dispatch(form.getIntent(data, {
342
+ const { object } = yield* dispatch(form.getIntent(data, {
341
343
  space: space2
342
344
  }));
343
- const object = result.data?.object;
344
- if (isLiveObject(object)) {
345
+ if (isLiveObject(object) && !Obj.instanceOf(DataType.StoredSchema, object)) {
345
346
  const hidden = form.hidden || hiddenTypenames.includes(Type2.getTypename(form.objectSchema));
346
347
  const addObjectIntent = createIntent2(SpaceAction.AddObject, {
347
348
  target,
@@ -350,14 +351,15 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
350
351
  });
351
352
  const shouldNavigate = _shouldNavigate ?? (() => true);
352
353
  if (shouldNavigate(object)) {
353
- await dispatch(pipe(addObjectIntent, chain(LayoutAction2.Open, {
354
+ yield* dispatch(pipe(addObjectIntent, chain(LayoutAction2.Open, {
354
355
  part: "main"
355
356
  })));
356
357
  } else {
357
- await dispatch(addObjectIntent);
358
+ yield* dispatch(addObjectIntent);
358
359
  }
360
+ onCreateObject?.(object);
359
361
  }
360
- }, [
362
+ }).pipe(Effect.runPromise), [
361
363
  dispatch,
362
364
  target,
363
365
  resolve,
@@ -384,7 +386,7 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
384
386
  density: "fine",
385
387
  variant: "ghost",
386
388
  autoFocus: true
387
- }, /* @__PURE__ */ React3.createElement(Icon2, {
389
+ }, /* @__PURE__ */ React3.createElement(Icon3, {
388
390
  icon: "ph--x--regular",
389
391
  size: 4
390
392
  })))), /* @__PURE__ */ React3.createElement(CreateObjectPanel, {
@@ -405,12 +407,12 @@ var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, na
405
407
  }
406
408
  };
407
409
 
408
- // packages/plugins/plugin-space/src/components/CreateDialog/CreateSpaceDialog.tsx
410
+ // src/components/CreateDialog/CreateSpaceDialog.tsx
409
411
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
410
- import { Effect } from "effect";
412
+ import { Effect as Effect2 } from "effect";
411
413
  import React4, { useCallback as useCallback4, useRef as useRef2 } from "react";
412
- import { createIntent as createIntent3, LayoutAction as LayoutAction3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
413
- import { Button as Button3, Dialog as Dialog2, Icon as Icon3, useTranslation as useTranslation4 } from "@dxos/react-ui";
414
+ import { LayoutAction as LayoutAction3, createIntent as createIntent3, useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework";
415
+ import { Button as Button3, Dialog as Dialog2, Icon as Icon4, useTranslation as useTranslation4 } from "@dxos/react-ui";
414
416
  import { Form as Form2 } from "@dxos/react-ui-form";
415
417
  import { cardDialogContent as cardDialogContent2, cardDialogHeader as cardDialogHeader2 } from "@dxos/react-ui-stack";
416
418
  var CREATE_SPACE_DIALOG = `${SPACE_PLUGIN}/CreateSpaceDialog`;
@@ -425,7 +427,7 @@ var CreateSpaceDialog = () => {
425
427
  const { dispatch } = useIntentDispatcher3();
426
428
  const inputSurfaceLookup = useInputSurfaceLookup();
427
429
  const handleCreateSpace = useCallback4(async (data) => {
428
- const program = Effect.gen(function* () {
430
+ const program = Effect2.gen(function* () {
429
431
  const { space } = yield* dispatch(createIntent3(SpaceAction.Create, data));
430
432
  yield* dispatch(createIntent3(LayoutAction3.SwitchWorkspace, {
431
433
  part: "workspace",
@@ -438,7 +440,7 @@ var CreateSpaceDialog = () => {
438
440
  }
439
441
  }));
440
442
  });
441
- await Effect.runPromise(program);
443
+ await Effect2.runPromise(program);
442
444
  }, [
443
445
  dispatch
444
446
  ]);
@@ -457,7 +459,7 @@ var CreateSpaceDialog = () => {
457
459
  density: "fine",
458
460
  variant: "ghost",
459
461
  autoFocus: true
460
- }, /* @__PURE__ */ React4.createElement(Icon3, {
462
+ }, /* @__PURE__ */ React4.createElement(Icon4, {
461
463
  icon: "ph--x--regular",
462
464
  size: 4
463
465
  })))), /* @__PURE__ */ React4.createElement("div", {
@@ -478,39 +480,17 @@ var CreateSpaceDialog = () => {
478
480
  }
479
481
  };
480
482
 
481
- // packages/plugins/plugin-space/src/components/CollectionMain.tsx
483
+ // src/components/CollectionSection.tsx
482
484
  import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
483
485
  import React5 from "react";
484
486
  import { useTranslation as useTranslation5 } from "@dxos/react-ui";
485
- import { baseSurface, descriptionMessage, mx as mx2 } from "@dxos/react-ui-theme";
486
- var CollectionMain = ({ collection }) => {
487
+ var CollectionSection = ({ collection }) => {
487
488
  var _effect = _useSignals5();
488
489
  try {
489
490
  const { t } = useTranslation5(SPACE_PLUGIN);
490
491
  return /* @__PURE__ */ React5.createElement("div", {
491
- role: "none",
492
- className: mx2(baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
493
- "data-testid": "composer.firstRunMessage"
494
- }, /* @__PURE__ */ React5.createElement("p", {
495
- role: "alert",
496
- className: mx2(descriptionMessage, "rounded-md p-8 font-normal text-lg max-is-[24rem] break-words")
497
- }, collection.name ?? t("unnamed collection label")));
498
- } finally {
499
- _effect.f();
500
- }
501
- };
502
-
503
- // packages/plugins/plugin-space/src/components/CollectionSection.tsx
504
- import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
505
- import React6 from "react";
506
- import { useTranslation as useTranslation6 } from "@dxos/react-ui";
507
- var CollectionSection = ({ collection }) => {
508
- var _effect = _useSignals6();
509
- try {
510
- const { t } = useTranslation6(SPACE_PLUGIN);
511
- return /* @__PURE__ */ React6.createElement("div", {
512
492
  className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
513
- }, /* @__PURE__ */ React6.createElement("span", {
493
+ }, /* @__PURE__ */ React5.createElement("span", {
514
494
  className: "truncate"
515
495
  }, collection.name ?? t("unnamed collection label")));
516
496
  } finally {
@@ -518,23 +498,23 @@ var CollectionSection = ({ collection }) => {
518
498
  }
519
499
  };
520
500
 
521
- // packages/plugins/plugin-space/src/components/JoinDialog.tsx
522
- import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
523
- import React7, { useCallback as useCallback5 } from "react";
524
- import { createIntent as createIntent4, LayoutAction as LayoutAction4, useAppGraph, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
501
+ // src/components/JoinDialog.tsx
502
+ import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
503
+ import React6, { useCallback as useCallback5 } from "react";
504
+ import { LayoutAction as LayoutAction4, createIntent as createIntent4, useAppGraph, useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework";
525
505
  import { Trigger } from "@dxos/async";
526
506
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
527
507
  import { useClient as useClient3 } from "@dxos/react-client";
528
- import { Dialog as Dialog3, useTranslation as useTranslation7 } from "@dxos/react-ui";
508
+ import { Dialog as Dialog3, useTranslation as useTranslation6 } from "@dxos/react-ui";
529
509
  import { JoinPanel } from "@dxos/shell/react";
530
510
  var JOIN_DIALOG = `${SPACE_PLUGIN}/JoinDialog`;
531
511
  var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
532
- var _effect = _useSignals7();
512
+ var _effect = _useSignals6();
533
513
  try {
534
514
  const { dispatchPromise: dispatch } = useIntentDispatcher4();
535
515
  const client = useClient3();
536
516
  const { graph } = useAppGraph();
537
- const { t } = useTranslation7(SPACE_PLUGIN);
517
+ const { t } = useTranslation6(SPACE_PLUGIN);
538
518
  const handleDone = useCallback5(async (result) => {
539
519
  const spaceKey = result?.spaceKey;
540
520
  if (!spaceKey) {
@@ -615,16 +595,16 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
615
595
  client,
616
596
  graph
617
597
  ]);
618
- return /* @__PURE__ */ React7.createElement(Dialog3.Content, null, /* @__PURE__ */ React7.createElement(Dialog3.Title, {
598
+ return /* @__PURE__ */ React6.createElement(Dialog3.Content, null, /* @__PURE__ */ React6.createElement(Dialog3.Title, {
619
599
  classNames: "sr-only"
620
600
  }, t("join space label", {
621
601
  ns: "os"
622
- })), /* @__PURE__ */ React7.createElement(JoinPanel, {
602
+ })), /* @__PURE__ */ React6.createElement(JoinPanel, {
623
603
  ...props,
624
- exitActionParent: /* @__PURE__ */ React7.createElement(Dialog3.Close, {
604
+ exitActionParent: /* @__PURE__ */ React6.createElement(Dialog3.Close, {
625
605
  asChild: true
626
606
  }),
627
- doneActionParent: /* @__PURE__ */ React7.createElement(Dialog3.Close, {
607
+ doneActionParent: /* @__PURE__ */ React6.createElement(Dialog3.Close, {
628
608
  asChild: true
629
609
  }),
630
610
  onDone: handleDone
@@ -634,25 +614,22 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
634
614
  }
635
615
  };
636
616
 
637
- // packages/plugins/plugin-space/src/components/MembersContainer.tsx
638
- import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
639
- import { Check, X } from "@phosphor-icons/react";
640
- import React8, { useCallback as useCallback6, useMemo, useState as useState3 } from "react";
617
+ // src/components/MembersContainer.tsx
618
+ import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
619
+ import React7, { useCallback as useCallback6, useMemo, useState as useState3 } from "react";
641
620
  import { QR } from "react-qr-rounded";
642
621
  import { createIntent as createIntent5, useIntentDispatcher as useIntentDispatcher5 } from "@dxos/app-framework";
643
- import { Type as Type3 } from "@dxos/echo";
644
622
  import { log } from "@dxos/log";
645
623
  import { useConfig } from "@dxos/react-client";
646
624
  import { fullyQualifiedId as fullyQualifiedId2, useSpaceInvitations } from "@dxos/react-client/echo";
647
625
  import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
648
- import { Button as Button4, Clipboard, Icon as Icon4, Input, useId, useTranslation as useTranslation8 } from "@dxos/react-ui";
649
- import { ControlPage, ControlSection, ControlFrame, ControlFrameItem, ControlItemInput } from "@dxos/react-ui-form";
626
+ import { Button as Button4, Clipboard, Icon as Icon5, Input, useId, useTranslation as useTranslation7 } from "@dxos/react-ui";
627
+ import { ControlFrame, ControlFrameItem, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
650
628
  import { StackItem } from "@dxos/react-ui-stack";
651
- import { getSize as getSize2, mx as mx3 } from "@dxos/react-ui-theme";
652
629
  import { DataType as DataType2 } from "@dxos/schema";
653
630
  import { AuthCode, BifurcatedAction, Centered, Emoji, InvitationList, SpaceMemberList, Viewport } from "@dxos/shell/react";
654
631
  import { hexToEmoji } from "@dxos/util";
655
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/MembersContainer.tsx";
632
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/MembersContainer.tsx";
656
633
  var activeActionKey = "dxos:react-shell/space-manager/active-action";
657
634
  var handleInvitationEvent = (invitation, subscription) => {
658
635
  const invitationCode = InvitationEncoder.encode(invitation);
@@ -662,7 +639,7 @@ var handleInvitationEvent = (invitation, subscription) => {
662
639
  authCode: invitation.authCode
663
640
  }), void 0, {
664
641
  F: __dxlog_file2,
665
- L: 42,
642
+ L: 39,
666
643
  S: void 0,
667
644
  C: (f, a) => f(...a)
668
645
  });
@@ -670,9 +647,9 @@ var handleInvitationEvent = (invitation, subscription) => {
670
647
  }
671
648
  };
672
649
  var MembersContainer = ({ space, createInvitationUrl }) => {
673
- var _effect = _useSignals8();
650
+ var _effect = _useSignals7();
674
651
  try {
675
- const { t } = useTranslation8(SPACE_PLUGIN);
652
+ const { t } = useTranslation7(SPACE_PLUGIN);
676
653
  const config = useConfig();
677
654
  const { dispatchPromise: dispatch } = useIntentDispatcher5();
678
655
  const invitations = useSpaceInvitations(space.key);
@@ -684,7 +661,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
684
661
  setInternalActiveAction(nextAction);
685
662
  localStorage.setItem(activeActionKey, nextAction);
686
663
  };
687
- const target = space.properties[Type3.getTypename(DataType2.Collection)]?.target?.objects[0]?.target;
664
+ const target = space.properties[DataType2.Collection.typename]?.target?.objects[0]?.target;
688
665
  const locked = space.properties[COMPOSER_SPACE_LOCK];
689
666
  const handleChangeLocked = useCallback6(() => {
690
667
  space.properties[COMPOSER_SPACE_LOCK] = !locked;
@@ -700,7 +677,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
700
677
  description: t("invite one description", {
701
678
  ns: "os"
702
679
  }),
703
- icon: () => /* @__PURE__ */ React8.createElement(Icon4, {
680
+ icon: () => /* @__PURE__ */ React7.createElement(Icon5, {
704
681
  icon: "ph--user-plus--regular",
705
682
  size: 5
706
683
  }),
@@ -725,7 +702,7 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
725
702
  description: t("invite many description", {
726
703
  ns: "os"
727
704
  }),
728
- icon: () => /* @__PURE__ */ React8.createElement(Icon4, {
705
+ icon: () => /* @__PURE__ */ React7.createElement(Icon5, {
729
706
  icon: "ph--users-three--regular",
730
707
  size: 5
731
708
  }),
@@ -755,44 +732,44 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
755
732
  const handleBack = () => {
756
733
  setSelectedInvitation(null);
757
734
  };
758
- return /* @__PURE__ */ React8.createElement(Clipboard.Provider, null, /* @__PURE__ */ React8.createElement(StackItem.Content, {
735
+ return /* @__PURE__ */ React7.createElement(Clipboard.Provider, null, /* @__PURE__ */ React7.createElement(StackItem.Content, {
759
736
  classNames: "block overflow-y-auto"
760
- }, /* @__PURE__ */ React8.createElement(ControlPage, null, /* @__PURE__ */ React8.createElement(ControlSection, {
737
+ }, /* @__PURE__ */ React7.createElement(ControlPage, null, /* @__PURE__ */ React7.createElement(ControlSection, {
761
738
  title: t("members verbose label"),
762
739
  description: t("members description")
763
- }, /* @__PURE__ */ React8.createElement(ControlFrame, null, /* @__PURE__ */ React8.createElement(ControlFrameItem, {
740
+ }, /* @__PURE__ */ React7.createElement(ControlFrame, null, /* @__PURE__ */ React7.createElement(ControlFrameItem, {
764
741
  title: t("members label")
765
- }, /* @__PURE__ */ React8.createElement(SpaceMemberList, {
742
+ }, /* @__PURE__ */ React7.createElement(SpaceMemberList, {
766
743
  spaceKey: space.key,
767
744
  includeSelf: true
768
- })), locked && /* @__PURE__ */ React8.createElement(ControlFrameItem, {
745
+ })), locked && /* @__PURE__ */ React7.createElement(ControlFrameItem, {
769
746
  title: t("invitations label")
770
- }, /* @__PURE__ */ React8.createElement("p", {
747
+ }, /* @__PURE__ */ React7.createElement("p", {
771
748
  className: "text-description mbe-2"
772
- }, t("locked space description"))), !locked && /* @__PURE__ */ React8.createElement(ControlFrameItem, {
749
+ }, t("locked space description"))), !locked && /* @__PURE__ */ React7.createElement(ControlFrameItem, {
773
750
  title: t("invitations label")
774
- }, selectedInvitation && /* @__PURE__ */ React8.createElement(InvitationSection, {
751
+ }, selectedInvitation && /* @__PURE__ */ React7.createElement(InvitationSection, {
775
752
  ...selectedInvitation,
776
753
  onBack: handleBack
777
- }), !selectedInvitation && /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("p", {
754
+ }), !selectedInvitation && /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
778
755
  className: "text-description mbe-2"
779
- }, t("space invitation description")), /* @__PURE__ */ React8.createElement(InvitationList, {
756
+ }, t("space invitation description")), /* @__PURE__ */ React7.createElement(InvitationList, {
780
757
  className: "mb-2",
781
758
  send: handleSend,
782
759
  invitations: visibleInvitations ?? [],
783
760
  onClickRemove: (invitation) => invitation.cancel(),
784
761
  createInvitationUrl
785
- }), /* @__PURE__ */ React8.createElement(BifurcatedAction, {
762
+ }), /* @__PURE__ */ React7.createElement(BifurcatedAction, {
786
763
  actions: inviteActions,
787
764
  activeAction,
788
765
  onChangeActiveAction: setActiveAction,
789
766
  "data-testid": "membersContainer.createInvitation"
790
- })))), /* @__PURE__ */ React8.createElement("div", {
767
+ })))), /* @__PURE__ */ React7.createElement("div", {
791
768
  className: "justify-center gap-4 p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
792
- }, /* @__PURE__ */ React8.createElement(ControlItemInput, {
769
+ }, /* @__PURE__ */ React7.createElement(ControlItemInput, {
793
770
  title: t("space locked label"),
794
771
  description: t("space locked description")
795
- }, /* @__PURE__ */ React8.createElement(Input.Switch, {
772
+ }, /* @__PURE__ */ React7.createElement(Input.Switch, {
796
773
  checked: locked,
797
774
  onCheckedChange: handleChangeLocked,
798
775
  classNames: "justify-self-end"
@@ -802,26 +779,26 @@ var MembersContainer = ({ space, createInvitationUrl }) => {
802
779
  }
803
780
  };
804
781
  var InvitationSection = ({ state = Invitation.State.INIT, authCode, invitationId = "never", url = "never", onBack }) => {
805
- var _effect = _useSignals8();
782
+ var _effect = _useSignals7();
806
783
  try {
807
784
  const activeView = state < 0 ? "init" : state >= Invitation.State.CANCELLED ? "complete" : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
808
- return /* @__PURE__ */ React8.createElement(Viewport.Root, {
785
+ return /* @__PURE__ */ React7.createElement(Viewport.Root, {
809
786
  activeView
810
- }, /* @__PURE__ */ React8.createElement(Viewport.Views, null, /* @__PURE__ */ React8.createElement(Viewport.View, {
787
+ }, /* @__PURE__ */ React7.createElement(Viewport.Views, null, /* @__PURE__ */ React7.createElement(Viewport.View, {
811
788
  id: "init"
812
- }), /* @__PURE__ */ React8.createElement(Viewport.View, {
789
+ }), /* @__PURE__ */ React7.createElement(Viewport.View, {
813
790
  id: "complete"
814
- }, /* @__PURE__ */ React8.createElement(InvitationComplete, {
791
+ }, /* @__PURE__ */ React7.createElement(InvitationComplete, {
815
792
  statusValue: state
816
- })), /* @__PURE__ */ React8.createElement(Viewport.View, {
793
+ })), /* @__PURE__ */ React7.createElement(Viewport.View, {
817
794
  id: "auth-code"
818
- }, /* @__PURE__ */ React8.createElement(InvitationAuthCode, {
795
+ }, /* @__PURE__ */ React7.createElement(InvitationAuthCode, {
819
796
  id: invitationId,
820
797
  code: authCode ?? "never",
821
798
  onCancel: onBack
822
- })), /* @__PURE__ */ React8.createElement(Viewport.View, {
799
+ })), /* @__PURE__ */ React7.createElement(Viewport.View, {
823
800
  id: "qr-code"
824
- }, /* @__PURE__ */ React8.createElement(InvitationQR, {
801
+ }, /* @__PURE__ */ React7.createElement(InvitationQR, {
825
802
  id: invitationId,
826
803
  url,
827
804
  onCancel: onBack
@@ -831,36 +808,36 @@ var InvitationSection = ({ state = Invitation.State.INIT, authCode, invitationId
831
808
  }
832
809
  };
833
810
  var InvitationQR = ({ id, url, onCancel }) => {
834
- var _effect = _useSignals8();
811
+ var _effect = _useSignals7();
835
812
  try {
836
- const { t } = useTranslation8("os");
813
+ const { t } = useTranslation7("os");
837
814
  const qrLabel = useId("members-container__qr-code");
838
815
  const emoji = hexToEmoji(id);
839
- return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("p", {
816
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
840
817
  className: "text-description"
841
818
  }, t("qr code description", {
842
819
  ns: SPACE_PLUGIN
843
- })), /* @__PURE__ */ React8.createElement("div", {
820
+ })), /* @__PURE__ */ React7.createElement("div", {
844
821
  role: "group",
845
822
  className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
846
- }, /* @__PURE__ */ React8.createElement("div", {
823
+ }, /* @__PURE__ */ React7.createElement("div", {
847
824
  role: "none",
848
825
  className: "is-full aspect-square relative text-description"
849
- }, /* @__PURE__ */ React8.createElement(QR, {
826
+ }, /* @__PURE__ */ React7.createElement(QR, {
850
827
  rounding: 100,
851
828
  backgroundColor: "transparent",
852
829
  color: "currentColor",
853
830
  "aria-labelledby": qrLabel,
854
831
  errorCorrectionLevel: "Q",
855
832
  cutout: true
856
- }, url ?? "never"), /* @__PURE__ */ React8.createElement(Centered, null, /* @__PURE__ */ React8.createElement(Emoji, {
833
+ }, url ?? "never"), /* @__PURE__ */ React7.createElement(Centered, null, /* @__PURE__ */ React7.createElement(Emoji, {
857
834
  text: emoji
858
- }))), /* @__PURE__ */ React8.createElement("span", {
835
+ }))), /* @__PURE__ */ React7.createElement("span", {
859
836
  id: qrLabel,
860
837
  className: "sr-only"
861
- }, t("qr label")), /* @__PURE__ */ React8.createElement(Clipboard.Button, {
838
+ }, t("qr label")), /* @__PURE__ */ React7.createElement(Clipboard.Button, {
862
839
  value: url ?? "never"
863
- })), /* @__PURE__ */ React8.createElement(Button4, {
840
+ })), /* @__PURE__ */ React7.createElement(Button4, {
864
841
  variant: "ghost",
865
842
  onClick: onCancel
866
843
  }, t("cancel label")));
@@ -869,22 +846,22 @@ var InvitationQR = ({ id, url, onCancel }) => {
869
846
  }
870
847
  };
871
848
  var InvitationAuthCode = ({ id, code, onCancel }) => {
872
- var _effect = _useSignals8();
849
+ var _effect = _useSignals7();
873
850
  try {
874
- const { t } = useTranslation8("os");
851
+ const { t } = useTranslation7("os");
875
852
  const emoji = hexToEmoji(id);
876
- return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement("p", {
853
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement("p", {
877
854
  className: "text-description"
878
- }, t("auth other device emoji message")), emoji && /* @__PURE__ */ React8.createElement(Emoji, {
855
+ }, t("auth other device emoji message")), emoji && /* @__PURE__ */ React7.createElement(Emoji, {
879
856
  text: emoji,
880
857
  className: "mli-auto mlb-2 text-center"
881
- }), /* @__PURE__ */ React8.createElement("p", {
858
+ }), /* @__PURE__ */ React7.createElement("p", {
882
859
  className: "text-description"
883
- }, t("auth code message")), /* @__PURE__ */ React8.createElement(AuthCode, {
860
+ }, t("auth code message")), /* @__PURE__ */ React7.createElement(AuthCode, {
884
861
  code,
885
862
  large: true,
886
863
  classNames: "mli-auto mlb-2 text-center grow"
887
- }), /* @__PURE__ */ React8.createElement(Button4, {
864
+ }), /* @__PURE__ */ React7.createElement(Button4, {
888
865
  variant: "ghost",
889
866
  onClick: onCancel
890
867
  }, t("cancel label")));
@@ -893,65 +870,69 @@ var InvitationAuthCode = ({ id, code, onCancel }) => {
893
870
  }
894
871
  };
895
872
  var InvitationComplete = ({ statusValue }) => {
896
- var _effect = _useSignals8();
873
+ var _effect = _useSignals7();
897
874
  try {
898
- return statusValue > 0 ? /* @__PURE__ */ React8.createElement(Check, {
899
- className: mx3("m-1.5", getSize2(6))
900
- }) : /* @__PURE__ */ React8.createElement(X, {
901
- className: mx3("m-1.5", getSize2(6))
875
+ return statusValue > 0 ? /* @__PURE__ */ React7.createElement(Icon5, {
876
+ icon: "ph--check--regular",
877
+ size: 6,
878
+ classNames: "m-1.5"
879
+ }) : /* @__PURE__ */ React7.createElement(Icon5, {
880
+ icon: "ph--x--regular",
881
+ size: 6,
882
+ classNames: "m-1.5"
902
883
  });
903
884
  } finally {
904
885
  _effect.f();
905
886
  }
906
887
  };
907
888
 
908
- // packages/plugins/plugin-space/src/components/MenuFooter.tsx
909
- import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
910
- import { Planet } from "@phosphor-icons/react";
911
- import React9 from "react";
889
+ // src/components/MenuFooter.tsx
890
+ import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
891
+ import React8 from "react";
912
892
  import { getSpace as getSpace2 } from "@dxos/client/echo";
913
893
  import { useClient as useClient4 } from "@dxos/react-client";
914
- import { DropdownMenu, toLocalizedString as toLocalizedString2, useTranslation as useTranslation9 } from "@dxos/react-ui";
894
+ import { DropdownMenu, Icon as Icon6, toLocalizedString as toLocalizedString2, useTranslation as useTranslation8 } from "@dxos/react-ui";
915
895
  var MenuFooter = ({ object }) => {
916
- var _effect = _useSignals9();
896
+ var _effect = _useSignals8();
917
897
  try {
918
- const { t } = useTranslation9(SPACE_PLUGIN);
898
+ const { t } = useTranslation8(SPACE_PLUGIN);
919
899
  const client = useClient4();
920
900
  const space = getSpace2(object);
921
901
  const spaceName = space ? getSpaceDisplayName(space, {
922
902
  personal: client.spaces.default === space
923
903
  }) : "";
924
- return space ? /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(DropdownMenu.Separator, null), /* @__PURE__ */ React9.createElement(DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ React9.createElement("dl", {
904
+ return space ? /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(DropdownMenu.Separator, null), /* @__PURE__ */ React8.createElement(DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ React8.createElement("dl", {
925
905
  className: "pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2"
926
- }, /* @__PURE__ */ React9.createElement("dt", {
906
+ }, /* @__PURE__ */ React8.createElement("dt", {
927
907
  className: "uppercase text-[.75em] tracking-wide font-medium mbs-px self-start"
928
- }, t("location label")), /* @__PURE__ */ React9.createElement("dd", {
908
+ }, t("location label")), /* @__PURE__ */ React8.createElement("dd", {
929
909
  className: "line-clamp-3"
930
- }, /* @__PURE__ */ React9.createElement(Planet, {
931
- className: "inline-block mie-1"
910
+ }, /* @__PURE__ */ React8.createElement(Icon6, {
911
+ icon: "ph--planet--regular",
912
+ classNames: "inline-block mie-1"
932
913
  }), toLocalizedString2(spaceName, t)))) : null;
933
914
  } finally {
934
915
  _effect.f();
935
916
  }
936
917
  };
937
918
 
938
- // packages/plugins/plugin-space/src/components/ObjectSettings/ObjectSettingsContainer.tsx
939
- import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
940
- import React11, { useMemo as useMemo2 } from "react";
919
+ // src/components/ObjectSettings/ObjectSettingsContainer.tsx
920
+ import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
921
+ import React10, { useMemo as useMemo2 } from "react";
941
922
  import { Surface } from "@dxos/app-framework";
942
923
  import { Clipboard as Clipboard2 } from "@dxos/react-ui";
943
924
  import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
944
925
 
945
- // packages/plugins/plugin-space/src/components/ObjectSettings/BaseObjectSettings.tsx
946
- import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
947
- import React10, { useRef as useRef3 } from "react";
948
- import { Input as Input2, useTranslation as useTranslation10 } from "@dxos/react-ui";
926
+ // src/components/ObjectSettings/BaseObjectSettings.tsx
927
+ import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
928
+ import React9, { useRef as useRef3 } from "react";
929
+ import { Input as Input2, useTranslation as useTranslation9 } from "@dxos/react-ui";
949
930
  var BaseObjectSettings = ({ classNames, children, object }) => {
950
- var _effect = _useSignals10();
931
+ var _effect = _useSignals9();
951
932
  try {
952
- const { t } = useTranslation10(meta.id);
933
+ const { t } = useTranslation9(meta.id);
953
934
  const inputRef = useRef3(null);
954
- return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement(Input2.Root, null, /* @__PURE__ */ React10.createElement(Input2.Label, null, t("name label")), /* @__PURE__ */ React10.createElement(Input2.TextInput, {
935
+ return /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(Input2.Root, null, /* @__PURE__ */ React9.createElement(Input2.Label, null, t("name label")), /* @__PURE__ */ React9.createElement(Input2.TextInput, {
955
936
  ref: inputRef,
956
937
  placeholder: t("name placeholder"),
957
938
  // TODO(burdon): Use annotation to get the name field.
@@ -970,26 +951,26 @@ var BaseObjectSettings = ({ classNames, children, object }) => {
970
951
  }
971
952
  };
972
953
 
973
- // packages/plugins/plugin-space/src/components/ObjectSettings/ObjectSettingsContainer.tsx
954
+ // src/components/ObjectSettings/ObjectSettingsContainer.tsx
974
955
  var ObjectSettingsContainer = ({ object, role }) => {
975
- var _effect = _useSignals11();
956
+ var _effect = _useSignals10();
976
957
  try {
977
958
  const data = useMemo2(() => ({
978
959
  subject: object
979
960
  }), [
980
961
  object
981
962
  ]);
982
- return /* @__PURE__ */ React11.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React11.createElement(StackItem2.Content, {
963
+ return /* @__PURE__ */ React10.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React10.createElement(StackItem2.Content, {
983
964
  toolbar: false
984
- }, /* @__PURE__ */ React11.createElement("div", {
965
+ }, /* @__PURE__ */ React10.createElement("div", {
985
966
  role: "none",
986
967
  className: "overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock"
987
- }, /* @__PURE__ */ React11.createElement(BaseObjectSettings, {
968
+ }, /* @__PURE__ */ React10.createElement(BaseObjectSettings, {
988
969
  object
989
- }, /* @__PURE__ */ React11.createElement(Surface, {
970
+ }, /* @__PURE__ */ React10.createElement(Surface, {
990
971
  role: "base-object-settings",
991
972
  data
992
- })), /* @__PURE__ */ React11.createElement(Surface, {
973
+ })), /* @__PURE__ */ React10.createElement(Surface, {
993
974
  role: "object-settings",
994
975
  data
995
976
  }))));
@@ -998,17 +979,16 @@ var ObjectSettingsContainer = ({ object, role }) => {
998
979
  }
999
980
  };
1000
981
 
1001
- // packages/plugins/plugin-space/src/components/PersistenceStatus.tsx
1002
- import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
1003
- import { ArrowsCounterClockwise, CheckCircle as CheckCircle2, Warning } from "@phosphor-icons/react";
1004
- import React12, { useEffect as useEffect2, useState as useState4 } from "react";
982
+ // src/components/PersistenceStatus.tsx
983
+ import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
984
+ import React11, { useEffect as useEffect2, useState as useState4 } from "react";
1005
985
  import { debounce } from "@dxos/async";
1006
- import { Tooltip, useTranslation as useTranslation11 } from "@dxos/react-ui";
1007
- import { getSize as getSize3, mx as mx4, staticPlaceholderText, warningText } from "@dxos/react-ui-theme";
986
+ import { Icon as Icon7, Tooltip, useTranslation as useTranslation10 } from "@dxos/react-ui";
987
+ import { mx, staticPlaceholderText, warningText } from "@dxos/react-ui-theme";
1008
988
  var PersistenceStatus = ({ db }) => {
1009
- var _effect = _useSignals12();
989
+ var _effect = _useSignals11();
1010
990
  try {
1011
- const { t } = useTranslation11(SPACE_PLUGIN);
991
+ const { t } = useTranslation10(SPACE_PLUGIN);
1012
992
  const [displayMessage, setDisplayMessage] = useState4(false);
1013
993
  const [status, naturalSetStatus] = useState4(0);
1014
994
  const [prevStatus, setPrevStatus] = useState4(0);
@@ -1025,32 +1005,38 @@ var PersistenceStatus = ({ db }) => {
1025
1005
  ]);
1026
1006
  switch (status) {
1027
1007
  case 2:
1028
- return /* @__PURE__ */ React12.createElement("div", {
1008
+ return /* @__PURE__ */ React11.createElement("div", {
1029
1009
  className: "flex items-center"
1030
- }, /* @__PURE__ */ React12.createElement(Warning, {
1031
- className: mx4(getSize3(4), "me-1")
1032
- }), /* @__PURE__ */ React12.createElement("span", {
1033
- className: mx4("text-sm", warningText)
1010
+ }, /* @__PURE__ */ React11.createElement(Icon7, {
1011
+ icon: "ph--warning--regular",
1012
+ size: 4,
1013
+ classNames: "me-1"
1014
+ }), /* @__PURE__ */ React11.createElement("span", {
1015
+ className: mx("text-sm", warningText)
1034
1016
  }, t("persistence error label")));
1035
1017
  case 1:
1036
- return /* @__PURE__ */ React12.createElement("div", {
1018
+ return /* @__PURE__ */ React11.createElement("div", {
1037
1019
  className: "flex items-center"
1038
- }, /* @__PURE__ */ React12.createElement(ArrowsCounterClockwise, {
1039
- className: mx4(getSize3(4), "me-1")
1040
- }), /* @__PURE__ */ React12.createElement("span", {
1041
- className: mx4("text-sm", staticPlaceholderText)
1020
+ }, /* @__PURE__ */ React11.createElement(Icon7, {
1021
+ icon: "ph--arrows-counter-clockwise--regular",
1022
+ size: 4,
1023
+ classNames: "me-1"
1024
+ }), /* @__PURE__ */ React11.createElement("span", {
1025
+ className: mx("text-sm", staticPlaceholderText)
1042
1026
  }, t("persistence pending label")));
1043
1027
  case 0:
1044
1028
  default:
1045
- return /* @__PURE__ */ React12.createElement(Tooltip.Trigger, {
1029
+ return /* @__PURE__ */ React11.createElement(Tooltip.Trigger, {
1046
1030
  delayDuration: 400,
1047
1031
  role: "status",
1048
1032
  content: t("persisted locally message"),
1049
1033
  className: "flex items-center"
1050
- }, /* @__PURE__ */ React12.createElement(CheckCircle2, {
1051
- className: mx4(getSize3(4), "me-1")
1052
- }), displayMessage && /* @__PURE__ */ React12.createElement("span", {
1053
- className: mx4("text-sm", staticPlaceholderText)
1034
+ }, /* @__PURE__ */ React11.createElement(Icon7, {
1035
+ icon: "ph--check-circle--regular",
1036
+ size: 4,
1037
+ classNames: "me-1"
1038
+ }), displayMessage && /* @__PURE__ */ React11.createElement("span", {
1039
+ className: mx("text-sm", staticPlaceholderText)
1054
1040
  }, t("persisted locally label")));
1055
1041
  }
1056
1042
  } finally {
@@ -1058,38 +1044,34 @@ var PersistenceStatus = ({ db }) => {
1058
1044
  }
1059
1045
  };
1060
1046
 
1061
- // packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx
1062
- import { useSignals as _useSignals13 } from "@preact-signals/safe-react/tracking";
1063
- import React13, { useCallback as useCallback7, useRef as useRef4, useState as useState5 } from "react";
1064
- import { createIntent as createIntent6, LayoutAction as LayoutAction5, useIntentDispatcher as useIntentDispatcher6 } from "@dxos/app-framework";
1047
+ // src/components/PopoverRenameObject.tsx
1048
+ import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
1049
+ import React12, { useCallback as useCallback7, useRef as useRef4, useState as useState5 } from "react";
1050
+ import { LayoutAction as LayoutAction5, createIntent as createIntent6, useIntentDispatcher as useIntentDispatcher6 } from "@dxos/app-framework";
1051
+ import { Obj as Obj2 } from "@dxos/echo";
1065
1052
  import { log as log2 } from "@dxos/log";
1066
- import { Button as Button5, Input as Input3, useTranslation as useTranslation12 } from "@dxos/react-ui";
1067
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
1053
+ import { Button as Button5, Input as Input3, useTranslation as useTranslation11 } from "@dxos/react-ui";
1054
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
1068
1055
  var POPOVER_RENAME_OBJECT = `${SPACE_PLUGIN}/PopoverRenameObject`;
1069
- var PopoverRenameObject = ({ object: obj }) => {
1070
- var _effect = _useSignals13();
1056
+ var PopoverRenameObject = ({ object }) => {
1057
+ var _effect = _useSignals12();
1071
1058
  try {
1072
- const { t } = useTranslation12(SPACE_PLUGIN);
1059
+ const { t } = useTranslation11(SPACE_PLUGIN);
1073
1060
  const doneButton = useRef4(null);
1074
- const object = obj;
1075
- const [name, setName] = useState5(object.name || object.title || "");
1061
+ const [name, setName] = useState5(Obj2.getLabel(object));
1076
1062
  const { dispatchPromise: dispatch } = useIntentDispatcher6();
1077
1063
  const handleDone = useCallback7(() => {
1078
1064
  try {
1079
- object.name = name;
1080
- } catch {
1081
- try {
1082
- object.title = name;
1083
- } catch (err) {
1084
- log2.error("Failed to rename object", {
1085
- err
1086
- }, {
1087
- F: __dxlog_file3,
1088
- L: 32,
1089
- S: void 0,
1090
- C: (f, a) => f(...a)
1091
- });
1092
- }
1065
+ name && Obj2.setLabel(object, name);
1066
+ } catch (err) {
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
+ });
1093
1075
  }
1094
1076
  void dispatch(createIntent6(LayoutAction5.UpdatePopover, {
1095
1077
  part: "popover",
@@ -1103,21 +1085,21 @@ var PopoverRenameObject = ({ object: obj }) => {
1103
1085
  object,
1104
1086
  name
1105
1087
  ]);
1106
- return /* @__PURE__ */ React13.createElement("div", {
1088
+ return /* @__PURE__ */ React12.createElement("div", {
1107
1089
  role: "none",
1108
1090
  className: "p-2 flex gap-2"
1109
- }, /* @__PURE__ */ React13.createElement("div", {
1091
+ }, /* @__PURE__ */ React12.createElement("div", {
1110
1092
  role: "none",
1111
1093
  className: "flex-1"
1112
- }, /* @__PURE__ */ React13.createElement(Input3.Root, null, /* @__PURE__ */ React13.createElement(Input3.Label, {
1094
+ }, /* @__PURE__ */ React12.createElement(Input3.Root, null, /* @__PURE__ */ React12.createElement(Input3.Label, {
1113
1095
  srOnly: true
1114
- }, t("object name label")), /* @__PURE__ */ React13.createElement(Input3.TextInput, {
1096
+ }, t("object name label")), /* @__PURE__ */ React12.createElement(Input3.TextInput, {
1115
1097
  placeholder: t("object placeholder"),
1116
1098
  value: name,
1117
1099
  "data-testid": "spacePlugin.renameObject.input",
1118
1100
  onChange: ({ target: { value } }) => setName(value),
1119
1101
  onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
1120
- }))), /* @__PURE__ */ React13.createElement(Button5, {
1102
+ }))), /* @__PURE__ */ React12.createElement(Button5, {
1121
1103
  ref: doneButton,
1122
1104
  classNames: "self-stretch",
1123
1105
  onClick: handleDone
@@ -1129,16 +1111,16 @@ var PopoverRenameObject = ({ object: obj }) => {
1129
1111
  }
1130
1112
  };
1131
1113
 
1132
- // packages/plugins/plugin-space/src/components/PopoverRenameSpace.tsx
1133
- import { useSignals as _useSignals14 } from "@preact-signals/safe-react/tracking";
1134
- import React14, { useCallback as useCallback8, useRef as useRef5, useState as useState6 } from "react";
1135
- import { createIntent as createIntent7, LayoutAction as LayoutAction6, useIntentDispatcher as useIntentDispatcher7 } from "@dxos/app-framework";
1136
- import { Button as Button6, Input as Input4, Popover, useTranslation as useTranslation13 } from "@dxos/react-ui";
1114
+ // src/components/PopoverRenameSpace.tsx
1115
+ import { useSignals as _useSignals13 } from "@preact-signals/safe-react/tracking";
1116
+ import React13, { useCallback as useCallback8, useRef as useRef5, useState as useState6 } from "react";
1117
+ import { LayoutAction as LayoutAction6, createIntent as createIntent7, useIntentDispatcher as useIntentDispatcher7 } from "@dxos/app-framework";
1118
+ import { Button as Button6, Input as Input4, Popover, useTranslation as useTranslation12 } from "@dxos/react-ui";
1137
1119
  var POPOVER_RENAME_SPACE = `${SPACE_PLUGIN}/PopoverRenameSpace`;
1138
1120
  var PopoverRenameSpace = ({ space }) => {
1139
- var _effect = _useSignals14();
1121
+ var _effect = _useSignals13();
1140
1122
  try {
1141
- const { t } = useTranslation13(SPACE_PLUGIN);
1123
+ const { t } = useTranslation12(SPACE_PLUGIN);
1142
1124
  const doneButton = useRef5(null);
1143
1125
  const [name, setName] = useState6(space.properties.name ?? "");
1144
1126
  const { dispatchPromise: dispatch } = useIntentDispatcher7();
@@ -1156,24 +1138,24 @@ var PopoverRenameSpace = ({ space }) => {
1156
1138
  space,
1157
1139
  name
1158
1140
  ]);
1159
- return /* @__PURE__ */ React14.createElement("div", {
1141
+ return /* @__PURE__ */ React13.createElement("div", {
1160
1142
  role: "none",
1161
1143
  className: "p-2 flex gap-2"
1162
- }, /* @__PURE__ */ React14.createElement("div", {
1144
+ }, /* @__PURE__ */ React13.createElement("div", {
1163
1145
  role: "none",
1164
1146
  className: "flex-1"
1165
- }, /* @__PURE__ */ React14.createElement(Input4.Root, null, /* @__PURE__ */ React14.createElement(Input4.Label, {
1147
+ }, /* @__PURE__ */ React13.createElement(Input4.Root, null, /* @__PURE__ */ React13.createElement(Input4.Label, {
1166
1148
  srOnly: true
1167
- }, t("space name label")), /* @__PURE__ */ React14.createElement(Input4.TextInput, {
1149
+ }, t("space name label")), /* @__PURE__ */ React13.createElement(Input4.TextInput, {
1168
1150
  defaultValue: space.properties.name ?? "",
1169
1151
  placeholder: t("unnamed space label"),
1170
1152
  onChange: ({ target: { value } }) => setName(value),
1171
1153
  // TODO(wittjosiah): Ideally this should access the popover context to close the popover.
1172
1154
  // Currently this is not possible because Radix does not expose the popover context.
1173
1155
  onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
1174
- }))), /* @__PURE__ */ React14.createElement(Popover.Close, {
1156
+ }))), /* @__PURE__ */ React13.createElement(Popover.Close, {
1175
1157
  asChild: true
1176
- }, /* @__PURE__ */ React14.createElement(Button6, {
1158
+ }, /* @__PURE__ */ React13.createElement(Button6, {
1177
1159
  ref: doneButton,
1178
1160
  classNames: "self-stretch",
1179
1161
  onClick: handleDone
@@ -1185,11 +1167,11 @@ var PopoverRenameSpace = ({ space }) => {
1185
1167
  }
1186
1168
  };
1187
1169
 
1188
- // packages/plugins/plugin-space/src/components/SchemaContainer.tsx
1189
- import { useSignals as _useSignals15 } from "@preact-signals/safe-react/tracking";
1190
- import React15, { useState as useState7, useEffect as useEffect3 } from "react";
1191
- import { useTranslation as useTranslation14 } from "@dxos/react-ui";
1192
- import { controlItemClasses, ControlPage as ControlPage2, ControlSection as ControlSection2 } from "@dxos/react-ui-form";
1170
+ // src/components/SchemaContainer.tsx
1171
+ import { useSignals as _useSignals14 } from "@preact-signals/safe-react/tracking";
1172
+ import React14, { useEffect as useEffect3, useState as useState7 } from "react";
1173
+ import { useTranslation as useTranslation13 } from "@dxos/react-ui";
1174
+ import { ControlPage as ControlPage2, ControlSection as ControlSection2, controlItemClasses } from "@dxos/react-ui-form";
1193
1175
  import { StackItem as StackItem3 } from "@dxos/react-ui-stack";
1194
1176
  var useQuerySpaceSchemas = (space) => {
1195
1177
  const [schemas, setSchemas] = useState7([]);
@@ -1205,38 +1187,38 @@ var useQuerySpaceSchemas = (space) => {
1205
1187
  return schemas;
1206
1188
  };
1207
1189
  var SchemaContainer = ({ space }) => {
1208
- var _effect = _useSignals15();
1190
+ var _effect = _useSignals14();
1209
1191
  try {
1210
- const { t } = useTranslation14(SPACE_PLUGIN);
1192
+ const { t } = useTranslation13(SPACE_PLUGIN);
1211
1193
  const schemas = useQuerySpaceSchemas(space);
1212
- return /* @__PURE__ */ React15.createElement(StackItem3.Content, {
1194
+ return /* @__PURE__ */ React14.createElement(StackItem3.Content, {
1213
1195
  classNames: "block overflow-y-auto"
1214
- }, /* @__PURE__ */ React15.createElement(ControlPage2, null, /* @__PURE__ */ React15.createElement(ControlSection2, {
1196
+ }, /* @__PURE__ */ React14.createElement(ControlPage2, null, /* @__PURE__ */ React14.createElement(ControlSection2, {
1215
1197
  title: t("schema verbose label"),
1216
1198
  description: t("schema description")
1217
- }, /* @__PURE__ */ React15.createElement("div", {
1199
+ }, /* @__PURE__ */ React14.createElement("div", {
1218
1200
  role: "none",
1219
1201
  className: controlItemClasses
1220
- }, schemas.length === 0 && /* @__PURE__ */ React15.createElement("div", {
1202
+ }, schemas.length === 0 && /* @__PURE__ */ React14.createElement("div", {
1221
1203
  className: "text-center plb-4"
1222
- }, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */ React15.createElement("div", {
1204
+ }, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */ React14.createElement("div", {
1223
1205
  key: schema.id
1224
- }, /* @__PURE__ */ React15.createElement("div", null, schema.typename)))))));
1206
+ }, /* @__PURE__ */ React14.createElement("div", null, schema.typename)))))));
1225
1207
  } finally {
1226
1208
  _effect.f();
1227
1209
  }
1228
1210
  };
1229
1211
 
1230
- // packages/plugins/plugin-space/src/components/SpacePresence.tsx
1231
- import { useSignals as _useSignals16 } from "@preact-signals/safe-react/tracking";
1212
+ // src/components/SpacePresence.tsx
1213
+ import { useSignals as _useSignals15 } from "@preact-signals/safe-react/tracking";
1232
1214
  import { Option } from "effect";
1233
- import React16, { forwardRef, useCallback as useCallback9, useEffect as useEffect4, useState as useState8 } from "react";
1215
+ import React15, { forwardRef, useCallback as useCallback9, useEffect as useEffect4, useState as useState8 } from "react";
1234
1216
  import { useAppGraph as useAppGraph2, useCapability } from "@dxos/app-framework";
1235
1217
  import { generateName } from "@dxos/display-name";
1236
1218
  import { PublicKey, useClient as useClient5 } from "@dxos/react-client";
1237
- 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";
1238
1220
  import { useIdentity } from "@dxos/react-client/halo";
1239
- import { Avatar, Tooltip as Tooltip2, Popover as Popover2, useTranslation as useTranslation15, List, ListItem, useDefaultValue } from "@dxos/react-ui";
1221
+ import { Avatar, List, ListItem, Popover as Popover2, Tooltip as Tooltip2, useDefaultValue, useTranslation as useTranslation14 } from "@dxos/react-ui";
1240
1222
  import { AttentionGlyph, useAttended, useAttention } from "@dxos/react-ui-attention";
1241
1223
  import { ComplexMap, keyToFallback } from "@dxos/util";
1242
1224
  var REFRESH_INTERVAL = 5e3;
@@ -1244,7 +1226,7 @@ var ACTIVITY_DURATION = 3e4;
1244
1226
  var noViewers = new ComplexMap(PublicKey.hash);
1245
1227
  var getName = (identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());
1246
1228
  var SpacePresence = ({ object, spaceKey }) => {
1247
- var _effect = _useSignals16();
1229
+ var _effect = _useSignals15();
1248
1230
  try {
1249
1231
  const spaceState = useCapability(SpaceCapabilities.MutableState);
1250
1232
  const client = useClient5();
@@ -1274,7 +1256,7 @@ var SpacePresence = ({ object, spaceKey }) => {
1274
1256
  lastSeen
1275
1257
  };
1276
1258
  }).toSorted((a, b) => a.lastSeen - b.lastSeen);
1277
- return /* @__PURE__ */ React16.createElement(FullPresence, {
1259
+ return /* @__PURE__ */ React15.createElement(FullPresence, {
1278
1260
  members: membersForObject
1279
1261
  });
1280
1262
  } finally {
@@ -1282,46 +1264,46 @@ var SpacePresence = ({ object, spaceKey }) => {
1282
1264
  }
1283
1265
  };
1284
1266
  var FullPresence = (props) => {
1285
- var _effect = _useSignals16();
1267
+ var _effect = _useSignals15();
1286
1268
  try {
1287
1269
  const { size = 9, onMemberClick } = props;
1288
1270
  const members = useDefaultValue(props.members, () => []);
1289
1271
  if (members.length === 0) {
1290
1272
  return null;
1291
1273
  }
1292
- return /* @__PURE__ */ React16.createElement("div", {
1274
+ return /* @__PURE__ */ React15.createElement("div", {
1293
1275
  className: "dx-avatar-group",
1294
1276
  "data-testid": "spacePlugin.presence"
1295
- }, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React16.createElement(Tooltip2.Trigger, {
1277
+ }, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React15.createElement(Tooltip2.Trigger, {
1296
1278
  key: member.identity.identityKey.toHex(),
1297
1279
  side: "bottom",
1298
1280
  content: getName(member.identity),
1299
1281
  className: "grid focus:outline-none"
1300
- }, /* @__PURE__ */ React16.createElement(PresenceAvatar, {
1282
+ }, /* @__PURE__ */ React15.createElement(PresenceAvatar, {
1301
1283
  identity: member.identity,
1302
1284
  match: member.currentlyAttended,
1303
1285
  index: members.length - i,
1304
1286
  onClick: () => onMemberClick?.(member),
1305
1287
  size
1306
- }))), members.length > 3 && /* @__PURE__ */ React16.createElement(Popover2.Root, null, /* @__PURE__ */ React16.createElement(Popover2.Trigger, {
1288
+ }))), members.length > 3 && /* @__PURE__ */ React15.createElement(Popover2.Root, null, /* @__PURE__ */ React15.createElement(Popover2.Trigger, {
1307
1289
  className: "grid focus:outline-none"
1308
- }, /* @__PURE__ */ React16.createElement(Avatar.Root, null, /* @__PURE__ */ React16.createElement(Avatar.Content, {
1290
+ }, /* @__PURE__ */ React15.createElement(Avatar.Root, null, /* @__PURE__ */ React15.createElement(Avatar.Content, {
1309
1291
  status: "inactive",
1310
1292
  style: {
1311
1293
  zIndex: members.length - 4
1312
1294
  },
1313
1295
  fallback: `+${members.length - 3}`,
1314
1296
  size
1315
- }))), /* @__PURE__ */ React16.createElement(Popover2.Portal, null, /* @__PURE__ */ React16.createElement(Popover2.Content, {
1297
+ }))), /* @__PURE__ */ React15.createElement(Popover2.Portal, null, /* @__PURE__ */ React15.createElement(Popover2.Content, {
1316
1298
  side: "bottom"
1317
- }, /* @__PURE__ */ React16.createElement(Popover2.Arrow, null), /* @__PURE__ */ React16.createElement(Popover2.Viewport, {
1299
+ }, /* @__PURE__ */ React15.createElement(Popover2.Arrow, null), /* @__PURE__ */ React15.createElement(Popover2.Viewport, {
1318
1300
  classNames: "max-bs-56"
1319
- }, /* @__PURE__ */ React16.createElement(List, null, members.map((member) => /* @__PURE__ */ React16.createElement(ListItem.Root, {
1301
+ }, /* @__PURE__ */ React15.createElement(List, null, members.map((member) => /* @__PURE__ */ React15.createElement(ListItem.Root, {
1320
1302
  key: member.identity.identityKey.toHex(),
1321
1303
  classNames: "flex gap-2 items-center cursor-pointer mbe-2",
1322
1304
  onClick: () => onMemberClick?.(member),
1323
1305
  "data-testid": "identity-list-item"
1324
- }, /* @__PURE__ */ React16.createElement(PresenceAvatar, {
1306
+ }, /* @__PURE__ */ React15.createElement(PresenceAvatar, {
1325
1307
  identity: member.identity,
1326
1308
  size,
1327
1309
  showName: true,
@@ -1332,11 +1314,11 @@ var FullPresence = (props) => {
1332
1314
  }
1333
1315
  };
1334
1316
  var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, index, onClick, size }, forwardedRef) => {
1335
- var _effect = _useSignals16();
1317
+ var _effect = _useSignals15();
1336
1318
  try {
1337
1319
  const status = match ? "current" : "active";
1338
1320
  const fallbackValue = keyToFallback(identity.identityKey);
1339
- return /* @__PURE__ */ React16.createElement(Avatar.Root, null, /* @__PURE__ */ React16.createElement(Avatar.Content, {
1321
+ return /* @__PURE__ */ React15.createElement(Avatar.Root, null, /* @__PURE__ */ React15.createElement(Avatar.Content, {
1340
1322
  status,
1341
1323
  hue: identity.profile?.data?.hue || fallbackValue.hue,
1342
1324
  "data-testid": "spacePlugin.presence.member",
@@ -1350,7 +1332,7 @@ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, in
1350
1332
  onClick,
1351
1333
  fallback: identity.profile?.data?.emoji || fallbackValue.emoji,
1352
1334
  ref: forwardedRef
1353
- }), /* @__PURE__ */ React16.createElement(Avatar.Label, {
1335
+ }), /* @__PURE__ */ React15.createElement(Avatar.Label, {
1354
1336
  classNames: showName ? "text-sm truncate pli-2" : "sr-only"
1355
1337
  }, getName(identity)));
1356
1338
  } finally {
@@ -1358,7 +1340,7 @@ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, in
1358
1340
  }
1359
1341
  });
1360
1342
  var SmallPresenceLive = ({ id, open, viewers }) => {
1361
- var _effect = _useSignals16();
1343
+ var _effect = _useSignals15();
1362
1344
  try {
1363
1345
  const { hasAttention, isAncestor, isRelated } = useAttention(id);
1364
1346
  const isAttended = hasAttention || isAncestor || isRelated;
@@ -1383,7 +1365,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
1383
1365
  }, [
1384
1366
  viewers
1385
1367
  ]);
1386
- return /* @__PURE__ */ React16.createElement(SmallPresence, {
1368
+ return /* @__PURE__ */ React15.createElement(SmallPresence, {
1387
1369
  count: activeViewers.length,
1388
1370
  attended: isAttended,
1389
1371
  containsAttended
@@ -1393,16 +1375,16 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
1393
1375
  }
1394
1376
  };
1395
1377
  var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1396
- var _effect = _useSignals16();
1378
+ var _effect = _useSignals15();
1397
1379
  try {
1398
- const { t } = useTranslation15(SPACE_PLUGIN);
1399
- return /* @__PURE__ */ React16.createElement(Tooltip2.Trigger, {
1380
+ const { t } = useTranslation14(SPACE_PLUGIN);
1381
+ return /* @__PURE__ */ React15.createElement(Tooltip2.Trigger, {
1400
1382
  asChild: true,
1401
1383
  content: t("presence label", {
1402
1384
  count
1403
1385
  }),
1404
1386
  side: "bottom"
1405
- }, /* @__PURE__ */ React16.createElement(AttentionGlyph, {
1387
+ }, /* @__PURE__ */ React15.createElement(AttentionGlyph, {
1406
1388
  attended,
1407
1389
  containsAttended,
1408
1390
  presence: count > 1 ? "many" : count === 1 ? "one" : "none",
@@ -1413,46 +1395,46 @@ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1413
1395
  }
1414
1396
  };
1415
1397
 
1416
- // packages/plugins/plugin-space/src/components/SpacePluginSettings.tsx
1417
- import { useSignals as _useSignals17 } from "@preact-signals/safe-react/tracking";
1418
- import React17 from "react";
1398
+ // src/components/SpacePluginSettings.tsx
1399
+ import { useSignals as _useSignals16 } from "@preact-signals/safe-react/tracking";
1400
+ import React16 from "react";
1419
1401
  import { createIntent as createIntent8, useIntentDispatcher as useIntentDispatcher8 } from "@dxos/app-framework";
1420
1402
  import { useClient as useClient6 } from "@dxos/react-client";
1421
1403
  import { useSpaces as useSpaces2 } from "@dxos/react-client/echo";
1422
- import { Input as Input5, toLocalizedString as toLocalizedString3, useTranslation as useTranslation16, List as List2, ListItem as ListItem2, IconButton } from "@dxos/react-ui";
1423
- 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 { ControlPage as ControlPage3, ControlSection as ControlSection3, DeprecatedFormInput, controlItemClasses as controlItemClasses2 } from "@dxos/react-ui-form";
1424
1406
  var SpacePluginSettings = ({ settings }) => {
1425
- var _effect = _useSignals17();
1407
+ var _effect = _useSignals16();
1426
1408
  try {
1427
- const { t } = useTranslation16(SPACE_PLUGIN);
1409
+ const { t } = useTranslation15(SPACE_PLUGIN);
1428
1410
  const client = useClient6();
1429
1411
  const spaces = useSpaces2({
1430
1412
  all: settings.showHidden
1431
1413
  });
1432
1414
  const { dispatchPromise: dispatch } = useIntentDispatcher8();
1433
- return /* @__PURE__ */ React17.createElement(ControlPage3, null, /* @__PURE__ */ React17.createElement(ControlSection3, {
1415
+ return /* @__PURE__ */ React16.createElement(ControlPage3, null, /* @__PURE__ */ React16.createElement(ControlSection3, {
1434
1416
  title: t("space settings label"),
1435
1417
  description: t("space settings description")
1436
- }, /* @__PURE__ */ React17.createElement("div", {
1418
+ }, /* @__PURE__ */ React16.createElement("div", {
1437
1419
  className: "pli-trimMd container-max-width"
1438
- }, /* @__PURE__ */ React17.createElement(DeprecatedFormInput, {
1420
+ }, /* @__PURE__ */ React16.createElement(DeprecatedFormInput, {
1439
1421
  label: t("show hidden spaces label")
1440
- }, /* @__PURE__ */ React17.createElement(Input5.Switch, {
1422
+ }, /* @__PURE__ */ React16.createElement(Input5.Switch, {
1441
1423
  checked: settings.showHidden,
1442
1424
  onCheckedChange: (checked) => settings.showHidden = !!checked
1443
- }))), /* @__PURE__ */ React17.createElement(List2, {
1425
+ }))), /* @__PURE__ */ React16.createElement(List2, {
1444
1426
  classNames: [
1445
1427
  controlItemClasses2,
1446
1428
  "flex flex-col gap-trimSm"
1447
1429
  ]
1448
- }, spaces.map((space) => /* @__PURE__ */ React17.createElement(ListItem2.Root, {
1430
+ }, spaces.map((space) => /* @__PURE__ */ React16.createElement(ListItem2.Root, {
1449
1431
  key: space.id,
1450
1432
  classNames: "is-full items-center"
1451
- }, /* @__PURE__ */ React17.createElement(ListItem2.Heading, {
1433
+ }, /* @__PURE__ */ React16.createElement(ListItem2.Heading, {
1452
1434
  classNames: "grow truncate !min-bs-0"
1453
1435
  }, toLocalizedString3(getSpaceDisplayName(space, {
1454
1436
  personal: space === client.spaces.default
1455
- }), t)), /* @__PURE__ */ React17.createElement(IconButton, {
1437
+ }), t)), /* @__PURE__ */ React16.createElement(IconButton, {
1456
1438
  icon: "ph--faders--regular",
1457
1439
  onClick: () => dispatch(createIntent8(SpaceAction.OpenSettings, {
1458
1440
  space
@@ -1464,29 +1446,29 @@ var SpacePluginSettings = ({ settings }) => {
1464
1446
  }
1465
1447
  };
1466
1448
 
1467
- // packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx
1468
- import { useSignals as _useSignals18 } from "@preact-signals/safe-react/tracking";
1469
- import { pipe as pipe2, Schema } from "effect";
1470
- import React18, { useCallback as useCallback10, useMemo as useMemo3, useState as useState9 } from "react";
1471
- import { chain as chain2, createIntent as createIntent9, LayoutAction as LayoutAction7, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
1449
+ // src/components/SpaceSettings/SpaceSettingsContainer.tsx
1450
+ import { useSignals as _useSignals17 } from "@preact-signals/safe-react/tracking";
1451
+ import { Schema, pipe as pipe2 } from "effect";
1452
+ import React17, { useCallback as useCallback10, useMemo as useMemo3, useState as useState9 } from "react";
1453
+ import { LayoutAction as LayoutAction7, chain as chain2, createIntent as createIntent9, useIntentDispatcher as useIntentDispatcher9 } from "@dxos/app-framework";
1472
1454
  import { log as log3 } from "@dxos/log";
1473
1455
  import { EdgeReplicationSetting } from "@dxos/protocols/proto/dxos/echo/metadata";
1474
1456
  import { useClient as useClient7 } from "@dxos/react-client";
1475
1457
  import { SpaceState as SpaceState2 } from "@dxos/react-client/echo";
1476
- import { Button as Button7, Input as Input6, useMulticastObservable, useTranslation as useTranslation17 } from "@dxos/react-ui";
1477
- import { Form as Form3, ControlItem, ControlItemInput as ControlItemInput2, ControlSection as ControlSection4, ControlPage as ControlPage4 } from "@dxos/react-ui-form";
1458
+ import { Button as Button7, Input as Input6, useMulticastObservable, useTranslation as useTranslation16 } from "@dxos/react-ui";
1459
+ import { ControlItem, ControlItemInput as ControlItemInput2, ControlPage as ControlPage4, ControlSection as ControlSection4, Form as Form3 } from "@dxos/react-ui-form";
1478
1460
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
1479
1461
  import { StackItem as StackItem4 } from "@dxos/react-ui-stack";
1480
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx";
1462
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx";
1481
1463
  var FormSchema = SpaceForm.pipe(Schema.extend(Schema.Struct({
1482
1464
  archived: Schema.Boolean.annotations({
1483
1465
  title: "Archive space"
1484
1466
  })
1485
1467
  })));
1486
1468
  var SpaceSettingsContainer = ({ space }) => {
1487
- var _effect = _useSignals18();
1469
+ var _effect = _useSignals17();
1488
1470
  try {
1489
- const { t } = useTranslation17(SPACE_PLUGIN);
1471
+ const { t } = useTranslation16(SPACE_PLUGIN);
1490
1472
  const { dispatchPromise: dispatch } = useIntentDispatcher9();
1491
1473
  const client = useClient7();
1492
1474
  const archived = useMulticastObservable(space.state) === SpaceState2.SPACE_INACTIVE;
@@ -1552,10 +1534,10 @@ var SpaceSettingsContainer = ({ space }) => {
1552
1534
  onValueChange,
1553
1535
  type
1554
1536
  ]);
1555
- return /* @__PURE__ */ React18.createElement(ControlItemInput2, {
1537
+ return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
1556
1538
  title: label,
1557
1539
  description: t("display name description")
1558
- }, /* @__PURE__ */ React18.createElement(Input6.TextInput, {
1540
+ }, /* @__PURE__ */ React17.createElement(Input6.TextInput, {
1559
1541
  value: getValue(),
1560
1542
  onChange: handleChange,
1561
1543
  placeholder: t("display name input placeholder"),
@@ -1571,10 +1553,10 @@ var SpaceSettingsContainer = ({ space }) => {
1571
1553
  onValueChange,
1572
1554
  type
1573
1555
  ]);
1574
- return /* @__PURE__ */ React18.createElement(ControlItem, {
1556
+ return /* @__PURE__ */ React17.createElement(ControlItem, {
1575
1557
  title: label,
1576
1558
  description: t("icon description")
1577
- }, /* @__PURE__ */ React18.createElement(IconPicker, {
1559
+ }, /* @__PURE__ */ React17.createElement(IconPicker, {
1578
1560
  value: getValue(),
1579
1561
  onChange: handleChange,
1580
1562
  onReset: handleEmojiReset,
@@ -1591,10 +1573,10 @@ var SpaceSettingsContainer = ({ space }) => {
1591
1573
  onValueChange,
1592
1574
  type
1593
1575
  ]);
1594
- return /* @__PURE__ */ React18.createElement(ControlItem, {
1576
+ return /* @__PURE__ */ React17.createElement(ControlItem, {
1595
1577
  title: label,
1596
1578
  description: t("hue description")
1597
- }, /* @__PURE__ */ React18.createElement(HuePicker, {
1579
+ }, /* @__PURE__ */ React17.createElement(HuePicker, {
1598
1580
  value: getValue(),
1599
1581
  onChange: handleChange,
1600
1582
  onReset: handleHueReset,
@@ -1606,10 +1588,10 @@ var SpaceSettingsContainer = ({ space }) => {
1606
1588
  onValueChange,
1607
1589
  type
1608
1590
  ]);
1609
- return /* @__PURE__ */ React18.createElement(ControlItemInput2, {
1591
+ return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
1610
1592
  title: label,
1611
1593
  description: t("edge replication description")
1612
- }, /* @__PURE__ */ React18.createElement(Input6.Switch, {
1594
+ }, /* @__PURE__ */ React17.createElement(Input6.Switch, {
1613
1595
  checked: getValue(),
1614
1596
  onCheckedChange: handleChange,
1615
1597
  classNames: "justify-self-end"
@@ -1621,10 +1603,10 @@ var SpaceSettingsContainer = ({ space }) => {
1621
1603
  type,
1622
1604
  getValue
1623
1605
  ]);
1624
- return /* @__PURE__ */ React18.createElement(ControlItemInput2, {
1606
+ return /* @__PURE__ */ React17.createElement(ControlItemInput2, {
1625
1607
  title: label,
1626
1608
  description: t("archive space description")
1627
- }, /* @__PURE__ */ React18.createElement(Button7, {
1609
+ }, /* @__PURE__ */ React17.createElement(Button7, {
1628
1610
  disabled: space === client.spaces.default,
1629
1611
  onClick: handleChange
1630
1612
  }, getValue() ? t("unarchive space label") : t("archive space label")));
@@ -1633,16 +1615,16 @@ var SpaceSettingsContainer = ({ space }) => {
1633
1615
  t,
1634
1616
  space
1635
1617
  ]);
1636
- return /* @__PURE__ */ React18.createElement(StackItem4.Content, {
1618
+ return /* @__PURE__ */ React17.createElement(StackItem4.Content, {
1637
1619
  classNames: "block overflow-y-auto pli-2"
1638
- }, /* @__PURE__ */ React18.createElement(ControlPage4, null, /* @__PURE__ */ React18.createElement(ControlSection4, {
1620
+ }, /* @__PURE__ */ React17.createElement(ControlPage4, null, /* @__PURE__ */ React17.createElement(ControlSection4, {
1639
1621
  title: t("space properties settings verbose label", {
1640
1622
  ns: SPACE_PLUGIN
1641
1623
  }),
1642
1624
  description: t("space properties settings description", {
1643
1625
  ns: SPACE_PLUGIN
1644
1626
  })
1645
- }, /* @__PURE__ */ React18.createElement(Form3, {
1627
+ }, /* @__PURE__ */ React17.createElement(Form3, {
1646
1628
  schema: FormSchema,
1647
1629
  values,
1648
1630
  autoSave: true,
@@ -1656,16 +1638,16 @@ var SpaceSettingsContainer = ({ space }) => {
1656
1638
  }
1657
1639
  };
1658
1640
 
1659
- // packages/plugins/plugin-space/src/components/SyncStatus/InlineSyncStatus.tsx
1660
- import { useSignals as _useSignals19 } from "@preact-signals/safe-react/tracking";
1641
+ // src/components/SyncStatus/InlineSyncStatus.tsx
1642
+ import { useSignals as _useSignals18 } from "@preact-signals/safe-react/tracking";
1661
1643
  import { Option as Option2 } from "effect";
1662
- import React19, { useEffect as useEffect5, useState as useState10 } from "react";
1644
+ import React18, { useEffect as useEffect5, useState as useState10 } from "react";
1663
1645
  import { useAppGraph as useAppGraph3 } from "@dxos/app-framework";
1664
1646
  import { EdgeStatus } from "@dxos/protocols/proto/dxos/client/services";
1665
1647
  import { EdgeReplicationSetting as EdgeReplicationSetting2 } from "@dxos/protocols/proto/dxos/echo/metadata";
1666
1648
  import { useClient as useClient8 } from "@dxos/react-client";
1667
1649
  import { useSpaceSyncState } from "@dxos/react-client/echo";
1668
- import { Tooltip as Tooltip3, useTranslation as useTranslation18 } from "@dxos/react-ui";
1650
+ import { Tooltip as Tooltip3, useTranslation as useTranslation17 } from "@dxos/react-ui";
1669
1651
  import { AttentionGlyph as AttentionGlyph2, useAttended as useAttended2, useAttention as useAttention2 } from "@dxos/react-ui-attention";
1670
1652
  var useEdgeStatus = () => {
1671
1653
  const [status, setStatus] = useState10(EdgeStatus.NOT_CONNECTED);
@@ -1680,9 +1662,9 @@ var useEdgeStatus = () => {
1680
1662
  return status;
1681
1663
  };
1682
1664
  var InlineSyncStatus = ({ space, open }) => {
1683
- var _effect = _useSignals19();
1665
+ var _effect = _useSignals18();
1684
1666
  try {
1685
- const { t } = useTranslation18(SPACE_PLUGIN);
1667
+ const { t } = useTranslation17(SPACE_PLUGIN);
1686
1668
  const id = space.id;
1687
1669
  const { hasAttention, isAncestor, isRelated } = useAttention2(id);
1688
1670
  const isAttended = hasAttention || isAncestor || isRelated;
@@ -1695,11 +1677,11 @@ var InlineSyncStatus = ({ space, open }) => {
1695
1677
  const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting2.ENABLED;
1696
1678
  const syncState = useSpaceSyncState(space);
1697
1679
  const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
1698
- return /* @__PURE__ */ React19.createElement(Tooltip3.Trigger, {
1680
+ return /* @__PURE__ */ React18.createElement(Tooltip3.Trigger, {
1699
1681
  asChild: true,
1700
1682
  content: t("syncing label"),
1701
1683
  side: "bottom"
1702
- }, /* @__PURE__ */ React19.createElement(AttentionGlyph2, {
1684
+ }, /* @__PURE__ */ React18.createElement(AttentionGlyph2, {
1703
1685
  syncing,
1704
1686
  attended: isAttended,
1705
1687
  containsAttended,
@@ -1710,17 +1692,17 @@ var InlineSyncStatus = ({ space, open }) => {
1710
1692
  }
1711
1693
  };
1712
1694
 
1713
- // packages/plugins/plugin-space/src/components/SyncStatus/SyncStatus.tsx
1714
- import { useSignals as _useSignals20 } from "@preact-signals/safe-react/tracking";
1715
- import React20, { useEffect as useEffect6, useState as useState11 } from "react";
1695
+ // src/components/SyncStatus/SyncStatus.tsx
1696
+ import { useSignals as _useSignals19 } from "@preact-signals/safe-react/tracking";
1697
+ import React19, { useEffect as useEffect6, useState as useState11 } from "react";
1716
1698
  import { StatusBar } from "@dxos/plugin-status-bar";
1717
1699
  import { useClient as useClient9 } from "@dxos/react-client";
1718
1700
  import { getSyncSummary, useSyncState } from "@dxos/react-client/echo";
1719
- import { Icon as Icon5, useTranslation as useTranslation19 } from "@dxos/react-ui";
1701
+ import { Icon as Icon8, useTranslation as useTranslation18 } from "@dxos/react-ui";
1720
1702
 
1721
- // packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts
1703
+ // src/components/SyncStatus/save-tracker.ts
1722
1704
  import { Context } from "@dxos/context";
1723
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
1705
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
1724
1706
  var createClientSaveTracker = (client, cb) => {
1725
1707
  const CleanupFns = {};
1726
1708
  const state = {};
@@ -1757,15 +1739,15 @@ var createSpaceSaveTracker = (space, cb) => {
1757
1739
  }
1758
1740
  let hasUnsavedChanges = false;
1759
1741
  let lastFlushPromise;
1760
- space.crud.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {
1742
+ space.db.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {
1761
1743
  hasUnsavedChanges = unsavedDocuments.length > 0;
1762
1744
  });
1763
- space.crud.saveStateChanged.debounce(500).on(ctx, () => {
1745
+ space.db.saveStateChanged.debounce(500).on(ctx, () => {
1764
1746
  if (hasUnsavedChanges) {
1765
1747
  lastFlushPromise = void 0;
1766
1748
  cb("saving");
1767
1749
  } else {
1768
- const flushPromise = space.crud.flush();
1750
+ const flushPromise = space.db.flush();
1769
1751
  lastFlushPromise = flushPromise;
1770
1752
  void flushPromise.then(() => {
1771
1753
  if (lastFlushPromise === flushPromise) {
@@ -1780,7 +1762,7 @@ var createSpaceSaveTracker = (space, cb) => {
1780
1762
  };
1781
1763
  };
1782
1764
 
1783
- // packages/plugins/plugin-space/src/components/SyncStatus/status.ts
1765
+ // src/components/SyncStatus/status.ts
1784
1766
  var getStatus = ({ offline, saved, needsToUpload, needsToDownload }) => {
1785
1767
  if (!saved) {
1786
1768
  return "saving locally";
@@ -1809,10 +1791,10 @@ var getIcon = (status) => {
1809
1791
  }
1810
1792
  };
1811
1793
 
1812
- // packages/plugins/plugin-space/src/components/SyncStatus/SyncStatus.tsx
1794
+ // src/components/SyncStatus/SyncStatus.tsx
1813
1795
  var SYNC_STALLED_TIMEOUT = 5e3;
1814
1796
  var SyncStatus = () => {
1815
- var _effect = _useSignals20();
1797
+ var _effect = _useSignals19();
1816
1798
  try {
1817
1799
  const client = useClient9();
1818
1800
  const state = useSyncState();
@@ -1822,7 +1804,7 @@ var SyncStatus = () => {
1822
1804
  setSaved(state2 === "saved");
1823
1805
  });
1824
1806
  }, []);
1825
- return /* @__PURE__ */ React20.createElement(SyncStatusIndicator, {
1807
+ return /* @__PURE__ */ React19.createElement(SyncStatusIndicator, {
1826
1808
  state,
1827
1809
  saved
1828
1810
  });
@@ -1831,9 +1813,9 @@ var SyncStatus = () => {
1831
1813
  }
1832
1814
  };
1833
1815
  var SyncStatusIndicator = ({ state, saved }) => {
1834
- var _effect = _useSignals20();
1816
+ var _effect = _useSignals19();
1835
1817
  try {
1836
- const { t } = useTranslation19(SPACE_PLUGIN);
1818
+ const { t } = useTranslation18(SPACE_PLUGIN);
1837
1819
  const summary = getSyncSummary(state);
1838
1820
  const offline = Object.values(state).length === 0;
1839
1821
  const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
@@ -1860,12 +1842,12 @@ var SyncStatusIndicator = ({ state, saved }) => {
1860
1842
  needsToDownload
1861
1843
  ]);
1862
1844
  const title = t(`${status} label`);
1863
- const icon = /* @__PURE__ */ React20.createElement(Icon5, {
1845
+ const icon = /* @__PURE__ */ React19.createElement(Icon8, {
1864
1846
  icon: getIcon(status),
1865
1847
  size: 4,
1866
1848
  classNames
1867
1849
  });
1868
- return /* @__PURE__ */ React20.createElement(StatusBar.Item, {
1850
+ return /* @__PURE__ */ React19.createElement(StatusBar.Item, {
1869
1851
  title
1870
1852
  }, icon);
1871
1853
  } finally {
@@ -1873,13 +1855,93 @@ var SyncStatusIndicator = ({ state, saved }) => {
1873
1855
  }
1874
1856
  };
1875
1857
 
1858
+ // src/components/ViewEditor.tsx
1859
+ import { useSignals as _useSignals20 } from "@preact-signals/safe-react/tracking";
1860
+ import React20, { useCallback as useCallback11, useMemo as useMemo4 } from "react";
1861
+ import { createIntent as createIntent10, useIntentDispatcher as useIntentDispatcher10 } from "@dxos/app-framework";
1862
+ import { Type as Type3 } from "@dxos/echo";
1863
+ import { invariant as invariant2 } from "@dxos/invariant";
1864
+ import { useClient as useClient10 } from "@dxos/react-client";
1865
+ import { Filter as Filter2, getSpace as getSpace4, useQuery as useQuery3, useSchema } from "@dxos/react-client/echo";
1866
+ import { ViewEditor as NativeViewEditor } from "@dxos/react-ui-form";
1867
+ import { DataType as DataType3 } from "@dxos/schema";
1868
+ var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ViewEditor.tsx";
1869
+ var ViewEditor = ({ view }) => {
1870
+ var _effect = _useSignals20();
1871
+ try {
1872
+ const { dispatchPromise: dispatch } = useIntentDispatcher10();
1873
+ const client = useClient10();
1874
+ const space = getSpace4(view);
1875
+ const schema = useSchema(client, space, view.query.typename);
1876
+ const views = useQuery3(space, Filter2.type(DataType3.View));
1877
+ const currentTypename = useMemo4(() => view.query?.typename, [
1878
+ view.query?.typename
1879
+ ]);
1880
+ const handleUpdateTypename = useCallback11((typename) => {
1881
+ invariant2(schema, void 0, {
1882
+ F: __dxlog_file6,
1883
+ L: 30,
1884
+ S: void 0,
1885
+ A: [
1886
+ "schema",
1887
+ ""
1888
+ ]
1889
+ });
1890
+ invariant2(Type3.isMutable(schema), void 0, {
1891
+ F: __dxlog_file6,
1892
+ L: 31,
1893
+ S: void 0,
1894
+ A: [
1895
+ "Type.isMutable(schema)",
1896
+ ""
1897
+ ]
1898
+ });
1899
+ const matchingViews = views.filter((view2) => view2.query.typename === currentTypename);
1900
+ for (const view2 of matchingViews) {
1901
+ view2.query.typename = typename;
1902
+ }
1903
+ schema.updateTypename(typename);
1904
+ }, [
1905
+ views,
1906
+ schema
1907
+ ]);
1908
+ const handleDelete = useCallback11((fieldId) => {
1909
+ void dispatch(createIntent10(SpaceAction.DeleteField, {
1910
+ view,
1911
+ fieldId
1912
+ }));
1913
+ }, [
1914
+ dispatch,
1915
+ view
1916
+ ]);
1917
+ if (!space || !schema) {
1918
+ return null;
1919
+ }
1920
+ return /* @__PURE__ */ React20.createElement(NativeViewEditor, {
1921
+ registry: space.db.schemaRegistry,
1922
+ schema,
1923
+ view,
1924
+ onTypenameChanged: Type3.isMutable(schema) ? handleUpdateTypename : void 0,
1925
+ onDelete: Type3.isMutable(schema) ? handleDelete : void 0,
1926
+ outerSpacing: false
1927
+ });
1928
+ } finally {
1929
+ _effect.f();
1930
+ }
1931
+ };
1932
+
1933
+ // src/components/index.ts
1934
+ import { lazy as lazy2 } from "react";
1935
+ var CollectionMain = lazy2(() => import("./CollectionMain-ZJIFCWKZ.mjs"));
1936
+ var ObjectDetailsPanel = lazy2(() => import("./ObjectDetailsPanel-3MYLTMXN.mjs"));
1937
+ var RecordMain = lazy2(() => import("./RecordMain-WLYJMYER.mjs"));
1938
+
1876
1939
  export {
1877
1940
  AwaitingObject,
1878
1941
  CREATE_OBJECT_DIALOG,
1879
1942
  CreateObjectDialog,
1880
1943
  CREATE_SPACE_DIALOG,
1881
1944
  CreateSpaceDialog,
1882
- CollectionMain,
1883
1945
  CollectionSection,
1884
1946
  JOIN_DIALOG,
1885
1947
  JoinDialog,
@@ -1902,6 +1964,10 @@ export {
1902
1964
  InlineSyncStatus,
1903
1965
  SyncStatus,
1904
1966
  SyncStatusIndicator,
1967
+ ViewEditor,
1968
+ CollectionMain,
1969
+ ObjectDetailsPanel,
1970
+ RecordMain,
1905
1971
  AppGraphBuilder,
1906
1972
  AppGraphSerializer,
1907
1973
  IdentityCreated,
@@ -1914,4 +1980,4 @@ export {
1914
1980
  SpaceState,
1915
1981
  SpacesReady
1916
1982
  };
1917
- //# sourceMappingURL=chunk-LA6AVVH6.mjs.map
1983
+ //# sourceMappingURL=chunk-KYUHPPRN.mjs.map