@dxos/plugin-space 0.7.5-labs.5f04cf6 → 0.7.5-labs.8a82073

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 (174) hide show
  1. package/dist/lib/browser/{app-graph-builder-5D2QB43K.mjs → app-graph-builder-TTM2YZVS.mjs} +10 -8
  2. package/dist/lib/browser/app-graph-builder-TTM2YZVS.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-VNWPLPDF.mjs → app-graph-serializer-ZGM5NDXE.mjs} +5 -5
  4. package/dist/lib/browser/{chunk-PDJ4MLA4.mjs → chunk-2NMUVDMZ.mjs} +293 -250
  5. package/dist/lib/browser/chunk-2NMUVDMZ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-5TBRONF6.mjs → chunk-ENRYFGYE.mjs} +3 -3
  7. package/dist/lib/browser/{chunk-HCXWKGTE.mjs → chunk-H2AR4OLP.mjs} +4 -4
  8. package/dist/lib/browser/{chunk-HCXWKGTE.mjs.map → chunk-H2AR4OLP.mjs.map} +3 -3
  9. package/dist/lib/browser/{chunk-SOXNANA6.mjs → chunk-PQXZCNAU.mjs} +3 -2
  10. package/dist/lib/browser/{chunk-SOXNANA6.mjs.map → chunk-PQXZCNAU.mjs.map} +3 -3
  11. package/dist/lib/browser/{chunk-UH5P4UL3.mjs → chunk-RLZQJD47.mjs} +3 -2
  12. package/dist/lib/browser/chunk-RLZQJD47.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-ZBKFJNHH.mjs → chunk-S5IGZNXJ.mjs} +14 -9
  14. package/dist/lib/browser/chunk-S5IGZNXJ.mjs.map +7 -0
  15. package/dist/lib/browser/{identity-created-EC5FOCX2.mjs → identity-created-VICTPQX7.mjs} +3 -3
  16. package/dist/lib/browser/index.mjs +14 -13
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/intent-resolver-A5274MUR.mjs +537 -0
  19. package/dist/lib/browser/intent-resolver-A5274MUR.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-root-4QQST3T2.mjs → react-root-N6QTWYCV.mjs} +6 -6
  22. package/dist/lib/browser/{react-surface-JTNUNOJG.mjs → react-surface-STMNA7W7.mjs} +26 -33
  23. package/dist/lib/browser/react-surface-STMNA7W7.mjs.map +7 -0
  24. package/dist/lib/browser/{settings-ASFF5BZL.mjs → settings-HN5UIYQO.mjs} +3 -3
  25. package/dist/lib/browser/{spaces-ready-4SFNS5JQ.mjs → spaces-ready-F57ITJDR.mjs} +31 -32
  26. package/dist/lib/browser/spaces-ready-F57ITJDR.mjs.map +7 -0
  27. package/dist/lib/browser/{state-MS4KYJWI.mjs → state-6DCY5YJP.mjs} +3 -3
  28. package/dist/lib/browser/types/index.mjs +2 -2
  29. package/dist/lib/node/{app-graph-builder-ZQ5S62YR.cjs → app-graph-builder-6N4TEVHH.cjs} +58 -56
  30. package/dist/lib/node/app-graph-builder-6N4TEVHH.cjs.map +7 -0
  31. package/dist/lib/node/{app-graph-serializer-72S7P33H.cjs → app-graph-serializer-AWKVTYAB.cjs} +21 -21
  32. package/dist/lib/node/{chunk-VCPICVIE.cjs → chunk-2RCJT3P2.cjs} +294 -251
  33. package/dist/lib/node/chunk-2RCJT3P2.cjs.map +7 -0
  34. package/dist/lib/node/{chunk-BQRNTKSQ.cjs → chunk-I2LRRRMV.cjs} +8 -8
  35. package/dist/lib/node/{chunk-Z34MTEU7.cjs → chunk-MMXP2NHE.cjs} +65 -60
  36. package/dist/lib/node/chunk-MMXP2NHE.cjs.map +7 -0
  37. package/dist/lib/node/{chunk-DDZYVNVP.cjs → chunk-SPCSJ2CY.cjs} +8 -8
  38. package/dist/lib/node/{chunk-DDZYVNVP.cjs.map → chunk-SPCSJ2CY.cjs.map} +3 -3
  39. package/dist/lib/node/{chunk-56NGXG2A.cjs → chunk-UX3U4RU2.cjs} +9 -8
  40. package/dist/lib/node/chunk-UX3U4RU2.cjs.map +7 -0
  41. package/dist/lib/node/{chunk-AO4EW2RX.cjs → chunk-WZR6OAN3.cjs} +6 -5
  42. package/dist/lib/node/{chunk-AO4EW2RX.cjs.map → chunk-WZR6OAN3.cjs.map} +3 -3
  43. package/dist/lib/node/{identity-created-IMDS4A6A.cjs → identity-created-JNDKMFKI.cjs} +7 -7
  44. package/dist/lib/node/index.cjs +93 -92
  45. package/dist/lib/node/index.cjs.map +3 -3
  46. package/dist/lib/node/intent-resolver-NVTAESKB.cjs +536 -0
  47. package/dist/lib/node/intent-resolver-NVTAESKB.cjs.map +7 -0
  48. package/dist/lib/node/meta.json +1 -1
  49. package/dist/lib/node/{react-root-TCHYZQY3.cjs → react-root-YCHSAYQE.cjs} +12 -12
  50. package/dist/lib/node/{react-surface-TFPR6QAQ.cjs → react-surface-ANSZ4FKK.cjs} +72 -76
  51. package/dist/lib/node/react-surface-ANSZ4FKK.cjs.map +7 -0
  52. package/dist/lib/node/{settings-QLCKAUHK.cjs → settings-RBBL22DJ.cjs} +8 -8
  53. package/dist/lib/node/{spaces-ready-RZTKEXOL.cjs → spaces-ready-WHU4J6E5.cjs} +39 -40
  54. package/dist/lib/node/spaces-ready-WHU4J6E5.cjs.map +7 -0
  55. package/dist/lib/node/{state-4UIOUKLJ.cjs → state-WPZC4JXB.cjs} +8 -8
  56. package/dist/lib/node/types/index.cjs +17 -17
  57. package/dist/lib/node/types/index.cjs.map +1 -1
  58. package/dist/lib/node-esm/{app-graph-builder-CD6IYPSS.mjs → app-graph-builder-MS6BI5EW.mjs} +10 -8
  59. package/dist/lib/node-esm/app-graph-builder-MS6BI5EW.mjs.map +7 -0
  60. package/dist/lib/node-esm/{app-graph-serializer-CFXS6ZE2.mjs → app-graph-serializer-AWAWDSCM.mjs} +5 -5
  61. package/dist/lib/node-esm/{chunk-I75ZN2YH.mjs → chunk-4HICD7AU.mjs} +293 -250
  62. package/dist/lib/node-esm/chunk-4HICD7AU.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-FUMGYUD3.mjs → chunk-77RE7Y5J.mjs} +14 -9
  64. package/dist/lib/node-esm/chunk-77RE7Y5J.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-M4XTHK35.mjs → chunk-ESWV7ICX.mjs} +3 -3
  66. package/dist/lib/node-esm/{chunk-7FUVU45N.mjs → chunk-ICCM4YRJ.mjs} +3 -2
  67. package/dist/lib/node-esm/{chunk-7FUVU45N.mjs.map → chunk-ICCM4YRJ.mjs.map} +3 -3
  68. package/dist/lib/node-esm/{chunk-375RB3CZ.mjs → chunk-LGL4A5B5.mjs} +3 -2
  69. package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +7 -0
  70. package/dist/lib/node-esm/{chunk-CLGCKZ2D.mjs → chunk-S6VAU6VJ.mjs} +4 -4
  71. package/dist/lib/node-esm/{chunk-CLGCKZ2D.mjs.map → chunk-S6VAU6VJ.mjs.map} +3 -3
  72. package/dist/lib/node-esm/{identity-created-SJYZZ7Q3.mjs → identity-created-3AUSSVEK.mjs} +3 -3
  73. package/dist/lib/node-esm/index.mjs +14 -13
  74. package/dist/lib/node-esm/index.mjs.map +3 -3
  75. package/dist/lib/node-esm/intent-resolver-KJ67TU34.mjs +538 -0
  76. package/dist/lib/node-esm/intent-resolver-KJ67TU34.mjs.map +7 -0
  77. package/dist/lib/node-esm/meta.json +1 -1
  78. package/dist/lib/node-esm/{react-root-BEX2XFJK.mjs → react-root-NBQQKAZD.mjs} +6 -6
  79. package/dist/lib/node-esm/{react-surface-TRLHCJZ3.mjs → react-surface-G2H5T2D2.mjs} +26 -33
  80. package/dist/lib/node-esm/react-surface-G2H5T2D2.mjs.map +7 -0
  81. package/dist/lib/node-esm/{settings-WLVEO4JM.mjs → settings-VBAUB37B.mjs} +3 -3
  82. package/dist/lib/node-esm/{spaces-ready-ITGYYT5A.mjs → spaces-ready-ABADUX2P.mjs} +31 -32
  83. package/dist/lib/node-esm/spaces-ready-ABADUX2P.mjs.map +7 -0
  84. package/dist/lib/node-esm/{state-BMISGQ2O.mjs → state-5GH2D5U4.mjs} +3 -3
  85. package/dist/lib/node-esm/types/index.mjs +2 -2
  86. package/dist/types/src/SpacePlugin.d.ts +5 -1
  87. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/app-graph-builder.d.ts +22 -22
  89. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/capabilities.d.ts +6 -0
  91. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/index.d.ts +34 -33
  93. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -1
  95. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  98. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +4 -3
  99. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  100. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  101. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  102. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  103. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  104. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  105. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  106. package/dist/types/src/meta.d.ts +1 -0
  107. package/dist/types/src/meta.d.ts.map +1 -1
  108. package/dist/types/src/types/types.d.ts +2 -2
  109. package/dist/types/src/util.d.ts.map +1 -1
  110. package/dist/types/tsconfig.tsbuildinfo +1 -1
  111. package/package.json +38 -37
  112. package/src/SpacePlugin.tsx +11 -6
  113. package/src/capabilities/app-graph-builder.ts +4 -3
  114. package/src/capabilities/capabilities.ts +4 -1
  115. package/src/capabilities/intent-resolver.ts +410 -312
  116. package/src/capabilities/react-surface.tsx +22 -30
  117. package/src/capabilities/spaces-ready.ts +20 -21
  118. package/src/components/AwaitingObject.tsx +5 -5
  119. package/src/components/CreateDialog/CreateObjectDialog.tsx +15 -15
  120. package/src/components/CreateDialog/CreateObjectPanel.tsx +113 -114
  121. package/src/components/CreateDialog/CreateSpaceDialog.tsx +18 -9
  122. package/src/components/JoinDialog.tsx +27 -19
  123. package/src/components/SpacePluginSettings.tsx +3 -3
  124. package/src/components/SpacePresence.stories.tsx +2 -2
  125. package/src/components/SpacePresence.tsx +2 -3
  126. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +16 -1
  127. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +3 -4
  128. package/src/components/SyncStatus/InlineSyncStatus.tsx +2 -2
  129. package/src/components/SyncStatus/SyncStatus.tsx +2 -1
  130. package/src/meta.ts +1 -0
  131. package/src/types/types.ts +2 -2
  132. package/src/util.tsx +8 -4
  133. package/dist/lib/browser/app-graph-builder-5D2QB43K.mjs.map +0 -7
  134. package/dist/lib/browser/chunk-PDJ4MLA4.mjs.map +0 -7
  135. package/dist/lib/browser/chunk-UH5P4UL3.mjs.map +0 -7
  136. package/dist/lib/browser/chunk-ZBKFJNHH.mjs.map +0 -7
  137. package/dist/lib/browser/intent-resolver-Y6AZTVRL.mjs +0 -459
  138. package/dist/lib/browser/intent-resolver-Y6AZTVRL.mjs.map +0 -7
  139. package/dist/lib/browser/react-surface-JTNUNOJG.mjs.map +0 -7
  140. package/dist/lib/browser/spaces-ready-4SFNS5JQ.mjs.map +0 -7
  141. package/dist/lib/node/app-graph-builder-ZQ5S62YR.cjs.map +0 -7
  142. package/dist/lib/node/chunk-56NGXG2A.cjs.map +0 -7
  143. package/dist/lib/node/chunk-VCPICVIE.cjs.map +0 -7
  144. package/dist/lib/node/chunk-Z34MTEU7.cjs.map +0 -7
  145. package/dist/lib/node/intent-resolver-MUGCKZPN.cjs +0 -458
  146. package/dist/lib/node/intent-resolver-MUGCKZPN.cjs.map +0 -7
  147. package/dist/lib/node/react-surface-TFPR6QAQ.cjs.map +0 -7
  148. package/dist/lib/node/spaces-ready-RZTKEXOL.cjs.map +0 -7
  149. package/dist/lib/node-esm/app-graph-builder-CD6IYPSS.mjs.map +0 -7
  150. package/dist/lib/node-esm/chunk-375RB3CZ.mjs.map +0 -7
  151. package/dist/lib/node-esm/chunk-FUMGYUD3.mjs.map +0 -7
  152. package/dist/lib/node-esm/chunk-I75ZN2YH.mjs.map +0 -7
  153. package/dist/lib/node-esm/intent-resolver-6PNQKHDL.mjs +0 -460
  154. package/dist/lib/node-esm/intent-resolver-6PNQKHDL.mjs.map +0 -7
  155. package/dist/lib/node-esm/react-surface-TRLHCJZ3.mjs.map +0 -7
  156. package/dist/lib/node-esm/spaces-ready-ITGYYT5A.mjs.map +0 -7
  157. /package/dist/lib/browser/{app-graph-serializer-VNWPLPDF.mjs.map → app-graph-serializer-ZGM5NDXE.mjs.map} +0 -0
  158. /package/dist/lib/browser/{chunk-5TBRONF6.mjs.map → chunk-ENRYFGYE.mjs.map} +0 -0
  159. /package/dist/lib/browser/{identity-created-EC5FOCX2.mjs.map → identity-created-VICTPQX7.mjs.map} +0 -0
  160. /package/dist/lib/browser/{react-root-4QQST3T2.mjs.map → react-root-N6QTWYCV.mjs.map} +0 -0
  161. /package/dist/lib/browser/{settings-ASFF5BZL.mjs.map → settings-HN5UIYQO.mjs.map} +0 -0
  162. /package/dist/lib/browser/{state-MS4KYJWI.mjs.map → state-6DCY5YJP.mjs.map} +0 -0
  163. /package/dist/lib/node/{app-graph-serializer-72S7P33H.cjs.map → app-graph-serializer-AWKVTYAB.cjs.map} +0 -0
  164. /package/dist/lib/node/{chunk-BQRNTKSQ.cjs.map → chunk-I2LRRRMV.cjs.map} +0 -0
  165. /package/dist/lib/node/{identity-created-IMDS4A6A.cjs.map → identity-created-JNDKMFKI.cjs.map} +0 -0
  166. /package/dist/lib/node/{react-root-TCHYZQY3.cjs.map → react-root-YCHSAYQE.cjs.map} +0 -0
  167. /package/dist/lib/node/{settings-QLCKAUHK.cjs.map → settings-RBBL22DJ.cjs.map} +0 -0
  168. /package/dist/lib/node/{state-4UIOUKLJ.cjs.map → state-WPZC4JXB.cjs.map} +0 -0
  169. /package/dist/lib/node-esm/{app-graph-serializer-CFXS6ZE2.mjs.map → app-graph-serializer-AWAWDSCM.mjs.map} +0 -0
  170. /package/dist/lib/node-esm/{chunk-M4XTHK35.mjs.map → chunk-ESWV7ICX.mjs.map} +0 -0
  171. /package/dist/lib/node-esm/{identity-created-SJYZZ7Q3.mjs.map → identity-created-3AUSSVEK.mjs.map} +0 -0
  172. /package/dist/lib/node-esm/{react-root-BEX2XFJK.mjs.map → react-root-NBQQKAZD.mjs.map} +0 -0
  173. /package/dist/lib/node-esm/{settings-WLVEO4JM.mjs.map → settings-VBAUB37B.mjs.map} +0 -0
  174. /package/dist/lib/node-esm/{state-BMISGQ2O.mjs.map → state-5GH2D5U4.mjs.map} +0 -0
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_VCPICVIE_exports = {};
30
- __export(chunk_VCPICVIE_exports, {
29
+ var chunk_2RCJT3P2_exports = {};
30
+ __export(chunk_2RCJT3P2_exports, {
31
31
  AdvancedObjectSettings: () => AdvancedObjectSettings,
32
32
  AppGraphBuilder: () => AppGraphBuilder,
33
33
  AppGraphSerializer: () => AppGraphSerializer,
@@ -69,11 +69,11 @@ __export(chunk_VCPICVIE_exports, {
69
69
  SyncStatusDetail: () => SyncStatusDetail,
70
70
  SyncStatusIndicator: () => SyncStatusIndicator
71
71
  });
72
- module.exports = __toCommonJS(chunk_VCPICVIE_exports);
73
- var import_chunk_56NGXG2A = require("./chunk-56NGXG2A.cjs");
74
- var import_chunk_Z34MTEU7 = require("./chunk-Z34MTEU7.cjs");
75
- var import_chunk_DDZYVNVP = require("./chunk-DDZYVNVP.cjs");
76
- var import_chunk_AO4EW2RX = require("./chunk-AO4EW2RX.cjs");
72
+ module.exports = __toCommonJS(chunk_2RCJT3P2_exports);
73
+ var import_chunk_UX3U4RU2 = require("./chunk-UX3U4RU2.cjs");
74
+ var import_chunk_MMXP2NHE = require("./chunk-MMXP2NHE.cjs");
75
+ var import_chunk_SPCSJ2CY = require("./chunk-SPCSJ2CY.cjs");
76
+ var import_chunk_WZR6OAN3 = require("./chunk-WZR6OAN3.cjs");
77
77
  var import_react = __toESM(require("react"));
78
78
  var import_echo_schema = require("@dxos/echo-schema");
79
79
  var import_echo = require("@dxos/react-client/echo");
@@ -99,39 +99,40 @@ var import_react_ui5 = require("@dxos/react-ui");
99
99
  var import_react7 = __toESM(require("react"));
100
100
  var import_app_framework3 = require("@dxos/app-framework");
101
101
  var import_echo_schema2 = require("@dxos/echo-schema");
102
- var import_echo4 = require("@dxos/react-client/echo");
103
102
  var import_react_ui6 = require("@dxos/react-ui");
104
103
  var import_react_ui_form2 = require("@dxos/react-ui-form");
105
104
  var import_react_ui_searchlist = require("@dxos/react-ui-searchlist");
105
+ var import_react_ui_theme2 = require("@dxos/react-ui-theme");
106
106
  var import_util = require("@dxos/util");
107
+ var import_effect2 = require("effect");
107
108
  var import_react8 = __toESM(require("react"));
108
109
  var import_app_framework4 = require("@dxos/app-framework");
109
110
  var import_react_ui7 = require("@dxos/react-ui");
110
111
  var import_react_ui_form3 = require("@dxos/react-ui-form");
111
112
  var import_react9 = __toESM(require("react"));
112
113
  var import_react_ui8 = require("@dxos/react-ui");
113
- var import_react_ui_theme2 = require("@dxos/react-ui-theme");
114
+ var import_react_ui_theme3 = require("@dxos/react-ui-theme");
114
115
  var import_react10 = __toESM(require("react"));
115
116
  var import_react_ui9 = require("@dxos/react-ui");
116
117
  var import_react11 = __toESM(require("react"));
117
118
  var import_app_framework5 = require("@dxos/app-framework");
118
- var import_plugin_graph = require("@dxos/plugin-graph");
119
+ var import_log = require("@dxos/log");
119
120
  var import_types = require("@dxos/plugin-observability/types");
120
- var import_echo5 = require("@dxos/react-client/echo");
121
+ var import_react_client3 = require("@dxos/react-client");
121
122
  var import_react_ui10 = require("@dxos/react-ui");
122
123
  var import_react12 = require("@dxos/shell/react");
123
124
  var import_react13 = require("@phosphor-icons/react");
124
125
  var import_react14 = __toESM(require("react"));
125
- var import_echo6 = require("@dxos/client/echo");
126
- var import_react_client3 = require("@dxos/react-client");
126
+ var import_echo4 = require("@dxos/client/echo");
127
+ var import_react_client4 = require("@dxos/react-client");
127
128
  var import_react_ui11 = require("@dxos/react-ui");
128
129
  var import_react15 = require("@phosphor-icons/react");
129
130
  var import_react16 = __toESM(require("react"));
130
131
  var import_async = require("@dxos/async");
131
132
  var import_react_ui12 = require("@dxos/react-ui");
132
- var import_react_ui_theme3 = require("@dxos/react-ui-theme");
133
+ var import_react_ui_theme4 = require("@dxos/react-ui-theme");
133
134
  var import_react17 = __toESM(require("react"));
134
- var import_log = require("@dxos/log");
135
+ var import_log2 = require("@dxos/log");
135
136
  var import_react_ui13 = require("@dxos/react-ui");
136
137
  var import_react18 = __toESM(require("react"));
137
138
  var import_react_ui14 = require("@dxos/react-ui");
@@ -141,9 +142,8 @@ var import_react_ui15 = require("@dxos/react-ui");
141
142
  var import_react20 = __toESM(require("react"));
142
143
  var import_app_framework7 = require("@dxos/app-framework");
143
144
  var import_display_name = require("@dxos/display-name");
144
- var import_plugin_graph2 = require("@dxos/plugin-graph");
145
- var import_react_client4 = require("@dxos/react-client");
146
- var import_echo7 = require("@dxos/react-client/echo");
145
+ var import_react_client5 = require("@dxos/react-client");
146
+ var import_echo5 = require("@dxos/react-client/echo");
147
147
  var import_halo = require("@dxos/react-client/halo");
148
148
  var import_react_ui16 = require("@dxos/react-ui");
149
149
  var import_react_ui_attention = require("@dxos/react-ui-attention");
@@ -154,37 +154,37 @@ var import_react22 = __toESM(require("react"));
154
154
  var import_react_ui17 = require("@dxos/react-ui");
155
155
  var import_react_ui_form4 = require("@dxos/react-ui-form");
156
156
  var import_react23 = __toESM(require("react"));
157
- var import_log2 = require("@dxos/log");
157
+ var import_log3 = require("@dxos/log");
158
158
  var import_metadata = require("@dxos/protocols/proto/dxos/echo/metadata");
159
- var import_react_client5 = require("@dxos/react-client");
159
+ var import_react_client6 = require("@dxos/react-client");
160
160
  var import_react_ui18 = require("@dxos/react-ui");
161
161
  var import_react_ui_form5 = require("@dxos/react-ui-form");
162
- var import_react_ui_theme4 = require("@dxos/react-ui-theme");
163
162
  var import_react24 = __toESM(require("react"));
164
- var import_react_client6 = require("@dxos/react-client");
163
+ var import_app_framework9 = require("@dxos/app-framework");
164
+ var import_react_client7 = require("@dxos/react-client");
165
165
  var import_react_ui19 = require("@dxos/react-ui");
166
166
  var import_react_ui_tabs = require("@dxos/react-ui-tabs");
167
167
  var import_react25 = require("@dxos/shell/react");
168
168
  var import_react26 = __toESM(require("react"));
169
- var import_plugin_graph3 = require("@dxos/plugin-graph");
169
+ var import_app_framework10 = require("@dxos/app-framework");
170
170
  var import_services = require("@dxos/protocols/proto/dxos/client/services");
171
171
  var import_metadata2 = require("@dxos/protocols/proto/dxos/echo/metadata");
172
- var import_react_client7 = require("@dxos/react-client");
172
+ var import_react_client8 = require("@dxos/react-client");
173
173
  var import_react_ui20 = require("@dxos/react-ui");
174
174
  var import_react_ui_attention2 = require("@dxos/react-ui-attention");
175
175
  var import_react27 = require("react");
176
176
  var import_context = require("@dxos/context");
177
177
  var import_protocols = require("@dxos/protocols");
178
- var import_react_client8 = require("@dxos/react-client");
178
+ var import_react_client9 = require("@dxos/react-client");
179
179
  var import_react28 = __toESM(require("react"));
180
180
  var import_plugin_status_bar = require("@dxos/plugin-status-bar");
181
- var import_react_client9 = require("@dxos/react-client");
181
+ var import_react_client10 = require("@dxos/react-client");
182
182
  var import_react_ui21 = require("@dxos/react-ui");
183
183
  var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highlighter");
184
184
  var import_react_ui_theme5 = require("@dxos/react-ui-theme");
185
185
  var import_react29 = __toESM(require("react"));
186
- var import_react_client10 = require("@dxos/react-client");
187
- var import_echo8 = require("@dxos/react-client/echo");
186
+ var import_react_client11 = require("@dxos/react-client");
187
+ var import_echo6 = require("@dxos/react-client/echo");
188
188
  var import_react_ui22 = require("@dxos/react-ui");
189
189
  var import_react_ui_theme6 = require("@dxos/react-ui-theme");
190
190
  var import_context2 = require("@dxos/context");
@@ -198,7 +198,7 @@ var ForeignKeys = ({ keys, onDelete }) => {
198
198
  })));
199
199
  };
200
200
  var KeyItem = ({ forignKey, onDelete }) => {
201
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
201
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
202
202
  const handleDelete = (0, import_react2.useCallback)(() => {
203
203
  onDelete?.(forignKey);
204
204
  }, [
@@ -224,7 +224,7 @@ var initialValues = {
224
224
  id: ""
225
225
  };
226
226
  var AdvancedObjectSettings = ({ object }) => {
227
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
227
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
228
228
  const [adding, setAdding] = (0, import_react.useState)(false);
229
229
  const keys = (0, import_echo.getMeta)(object).keys;
230
230
  const handleNew = (0, import_react.useCallback)(() => setAdding(true), []);
@@ -275,9 +275,9 @@ var AwaitingObject = ({ id }) => {
275
275
  const [open, setOpen] = (0, import_react4.useState)(true);
276
276
  const [waiting, setWaiting] = (0, import_react4.useState)(true);
277
277
  const [found, setFound] = (0, import_react4.useState)(false);
278
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
278
+ const { t } = (0, import_react_ui3.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
279
279
  const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
280
- const location = (0, import_app_framework.useCapability)(import_app_framework.Capabilities.Location);
280
+ const layout = (0, import_app_framework.useLayout)();
281
281
  const client = (0, import_react_client.useClient)();
282
282
  const objects = (0, import_echo2.useQuery)(client.spaces, import_echo2.Filter.all());
283
283
  (0, import_react4.useEffect)(() => {
@@ -294,27 +294,26 @@ var AwaitingObject = ({ id }) => {
294
294
  (0, import_react4.useEffect)(() => {
295
295
  if (objects.findIndex((object) => (0, import_echo2.fullyQualifiedId)(object) === id) > -1) {
296
296
  setFound(true);
297
- if (location.active.solo?.[0].id === id) {
297
+ if (layout.active.includes(id)) {
298
298
  setOpen(false);
299
299
  }
300
300
  }
301
301
  }, [
302
302
  id,
303
303
  objects,
304
- location
304
+ layout
305
305
  ]);
306
- const handleClose = (0, import_react4.useCallback)(async () => dispatch((0, import_app_framework.createIntent)(import_chunk_DDZYVNVP.SpaceAction.WaitForObject, {
306
+ const handleClose = (0, import_react4.useCallback)(async () => dispatch((0, import_app_framework.createIntent)(import_chunk_SPCSJ2CY.SpaceAction.WaitForObject, {
307
307
  id: void 0
308
308
  })), [
309
309
  dispatch
310
310
  ]);
311
311
  const handleNavigate = (0, import_react4.useCallback)(() => {
312
- void dispatch((0, import_app_framework.createIntent)(import_app_framework.NavigationAction.Open, {
313
- activeParts: {
314
- main: [
315
- id
316
- ]
317
- }
312
+ void dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Open, {
313
+ part: "main",
314
+ subject: [
315
+ id
316
+ ]
318
317
  }));
319
318
  void handleClose();
320
319
  }, [
@@ -355,7 +354,7 @@ var AwaitingObject = ({ id }) => {
355
354
  })))));
356
355
  };
357
356
  var BaseObjectSettings = ({ object }) => {
358
- const { t } = (0, import_react_ui4.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
357
+ const { t } = (0, import_react_ui4.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
359
358
  return /* @__PURE__ */ import_react5.default.createElement("div", {
360
359
  role: "form",
361
360
  className: "flex flex-col w-full p-2 gap-1"
@@ -391,14 +390,22 @@ var useInputSurfaceLookup = (baseData) => {
391
390
  baseData
392
391
  ]);
393
392
  };
394
- var CreateObjectPanel = ({ schemas, spaces, typename: initialTypename, target: initialTarget, name: initialName, defaultSpaceId, resolve, onCreateObject }) => {
395
- const { t } = (0, import_react_ui6.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
393
+ var CreateObjectPanel = ({ classNames, schemas, spaces, typename: initialTypename, target: initialTarget, name: initialName, defaultSpaceId, resolve, onCreateObject }) => {
394
+ const { t } = (0, import_react_ui6.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
396
395
  const [typename, setTypename] = (0, import_react7.useState)(initialTypename);
397
396
  const [target, setTarget] = (0, import_react7.useState)(initialTarget);
398
397
  const schema = schemas.find((schema2) => (0, import_echo_schema2.getObjectAnnotation)(schema2)?.typename === typename);
399
- const options = schemas.map(import_echo_schema2.getObjectAnnotation).filter(import_util.nonNullable);
400
- const handleClearSchema = (0, import_react7.useCallback)(() => setTypename(void 0), []);
401
- const handleClearTarget = (0, import_react7.useCallback)(() => setTarget(void 0), []);
398
+ const options = schemas.map(import_echo_schema2.getObjectAnnotation).filter(import_util.nonNullable).sort((a, b) => {
399
+ const nameA = t("typename label", {
400
+ ns: a.typename,
401
+ defaultValue: a.typename
402
+ });
403
+ const nameB = t("typename label", {
404
+ ns: b.typename,
405
+ defaultValue: b.typename
406
+ });
407
+ return nameA.localeCompare(nameB);
408
+ });
402
409
  const handleCreateObject = (0, import_react7.useCallback)(async (props) => {
403
410
  if (!schema || !target) {
404
411
  return;
@@ -422,55 +429,6 @@ var CreateObjectPanel = ({ schemas, spaces, typename: initialTypename, target: i
422
429
  resolve,
423
430
  typename
424
431
  ]);
425
- const schemaInput = /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Root, {
426
- label: t("schema input label"),
427
- classNames: "flex flex-col grow overflow-hidden"
428
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Input, {
429
- autoFocus: true,
430
- "data-testid": "create-object-form.schema-input",
431
- placeholder: t("schema input placeholder"),
432
- classNames: "px-1 my-2"
433
- }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Content, {
434
- classNames: "max-bs-[24rem] overflow-auto"
435
- }, options.map((option) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Item, {
436
- key: option.typename,
437
- value: t("typename label", {
438
- ns: option.typename,
439
- defaultValue: option.typename
440
- }),
441
- onSelect: () => setTypename(option.typename),
442
- classNames: "flex items-center gap-2"
443
- }, /* @__PURE__ */ import_react7.default.createElement("span", {
444
- className: "flex gap-2 items-center grow truncate"
445
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Icon, {
446
- icon: resolve?.(option.typename).icon ?? "ph--placeholder--regular",
447
- size: 5
448
- }), t("typename label", {
449
- ns: option.typename,
450
- defaultValue: option.typename
451
- }))))));
452
- const spaceInput = /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Root, {
453
- label: t("space input label"),
454
- classNames: "flex flex-col grow overflow-hidden"
455
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Input, {
456
- autoFocus: true,
457
- "data-testid": "create-object-form.space-input",
458
- placeholder: t("space input placeholder"),
459
- classNames: "px-1 my-2"
460
- }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Content, {
461
- classNames: "max-bs-[24rem] overflow-auto"
462
- }, spaces.map((space) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Item, {
463
- key: space.id,
464
- value: (0, import_react_ui6.toLocalizedString)((0, import_chunk_Z34MTEU7.getSpaceDisplayName)(space, {
465
- personal: space.id === defaultSpaceId
466
- }), t),
467
- onSelect: () => setTarget(space),
468
- classNames: "flex items-center gap-2"
469
- }, /* @__PURE__ */ import_react7.default.createElement("span", {
470
- className: "grow truncate"
471
- }, (0, import_react_ui6.toLocalizedString)((0, import_chunk_Z34MTEU7.getSpaceDisplayName)(space, {
472
- personal: space.id === defaultSpaceId
473
- }), t))))));
474
432
  const inputSurfaceLookup = useInputSurfaceLookup({
475
433
  target
476
434
  });
@@ -479,6 +437,7 @@ var CreateObjectPanel = ({ schemas, spaces, typename: initialTypename, target: i
479
437
  name: import_echo_schema2.S.optional(import_echo_schema2.S.String)
480
438
  });
481
439
  return /* @__PURE__ */ import_react7.default.createElement(import_react_ui_form2.Form, {
440
+ classNames: "!p-0",
482
441
  autoFocus: true,
483
442
  values: {
484
443
  name: initialName
@@ -495,49 +454,89 @@ var CreateObjectPanel = ({ schemas, spaces, typename: initialTypename, target: i
495
454
  ]);
496
455
  return /* @__PURE__ */ import_react7.default.createElement("div", {
497
456
  role: "form",
498
- className: "flex flex-col gap-2"
499
- }, target && /* @__PURE__ */ import_react7.default.createElement("div", {
500
- role: "none"
501
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Input.Root, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_form2.InputHeader, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Input.Label, null, t((0, import_echo4.isSpace)(target) ? "creating in space label" : "creating in collection label"))), /* @__PURE__ */ import_react7.default.createElement("div", {
502
- role: "none",
503
- className: "flex gap-2"
504
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Input.TextInput, {
505
- disabled: true,
506
- value: (0, import_echo4.isSpace)(target) ? (0, import_react_ui6.toLocalizedString)((0, import_chunk_Z34MTEU7.getSpaceDisplayName)(target, {
507
- personal: target.id === defaultSpaceId
508
- }), t) : target.name || t("unnamed collection label")
509
- }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.IconButton, {
510
- iconOnly: true,
511
- icon: "ph--x--regular",
512
- label: t("clear input label"),
513
- onClick: handleClearTarget
514
- })))), schema && /* @__PURE__ */ import_react7.default.createElement("div", {
515
- role: "none"
516
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Input.Root, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_form2.InputHeader, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Input.Label, null, t("creating object type label"))), /* @__PURE__ */ import_react7.default.createElement("div", {
517
- role: "none",
518
- className: "flex gap-2"
519
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Input.TextInput, {
520
- disabled: true,
457
+ className: (0, import_react_ui_theme2.mx)("flex flex-col gap-2", classNames)
458
+ }, !schema ? /* @__PURE__ */ import_react7.default.createElement(SelectSchema, {
459
+ options,
460
+ resolve,
461
+ onChange: setTypename
462
+ }) : !target ? /* @__PURE__ */ import_react7.default.createElement(SelectSpace, {
463
+ spaces,
464
+ defaultSpaceId,
465
+ onChange: setTarget
466
+ }) : form);
467
+ };
468
+ var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
469
+ const { t } = (0, import_react_ui6.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
470
+ return /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Root, {
471
+ label: t("space input label"),
472
+ classNames: "flex flex-col grow overflow-hidden"
473
+ }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Input, {
474
+ autoFocus: true,
475
+ "data-testid": "create-object-form.space-input",
476
+ placeholder: t("space input placeholder"),
477
+ classNames: "px-1 my-2"
478
+ }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Content, {
479
+ classNames: "max-bs-[24rem] overflow-auto"
480
+ }, spaces.sort((a, b) => {
481
+ const aName = (0, import_react_ui6.toLocalizedString)((0, import_chunk_MMXP2NHE.getSpaceDisplayName)(a, {
482
+ personal: a.id === defaultSpaceId
483
+ }), t);
484
+ const bName = (0, import_react_ui6.toLocalizedString)((0, import_chunk_MMXP2NHE.getSpaceDisplayName)(b, {
485
+ personal: b.id === defaultSpaceId
486
+ }), t);
487
+ return aName.localeCompare(bName);
488
+ }).map((space) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Item, {
489
+ key: space.id,
490
+ value: (0, import_react_ui6.toLocalizedString)((0, import_chunk_MMXP2NHE.getSpaceDisplayName)(space, {
491
+ personal: space.id === defaultSpaceId
492
+ }), t),
493
+ onSelect: () => onChange(space),
494
+ classNames: "flex items-center gap-2"
495
+ }, /* @__PURE__ */ import_react7.default.createElement("span", {
496
+ className: "grow truncate"
497
+ }, (0, import_react_ui6.toLocalizedString)((0, import_chunk_MMXP2NHE.getSpaceDisplayName)(space, {
498
+ personal: space.id === defaultSpaceId
499
+ }), t))))));
500
+ };
501
+ var SelectSchema = ({ options, resolve, onChange }) => {
502
+ const { t } = (0, import_react_ui6.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
503
+ return /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Root, {
504
+ label: t("schema input label"),
505
+ classNames: "flex flex-col grow overflow-hidden"
506
+ }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Input, {
507
+ autoFocus: true,
508
+ "data-testid": "create-object-form.schema-input",
509
+ placeholder: t("schema input placeholder"),
510
+ classNames: "px-1 my-2"
511
+ }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Content, {
512
+ classNames: "max-bs-[24rem] overflow-auto"
513
+ }, options.map((option) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Item, {
514
+ key: option.typename,
521
515
  value: t("typename label", {
522
- ns: schema.typename,
523
- defaultValue: schema.typename
524
- })
525
- }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.IconButton, {
526
- iconOnly: true,
527
- icon: "ph--x--regular",
528
- label: t("clear input label"),
529
- onClick: handleClearSchema
530
- })))), !schema ? schemaInput : !target ? spaceInput : form);
516
+ ns: option.typename,
517
+ defaultValue: option.typename
518
+ }),
519
+ onSelect: () => onChange(option.typename),
520
+ classNames: "flex items-center gap-2"
521
+ }, /* @__PURE__ */ import_react7.default.createElement("span", {
522
+ className: "flex gap-2 items-center grow truncate"
523
+ }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Icon, {
524
+ icon: resolve?.(option.typename).icon ?? "ph--placeholder--regular",
525
+ size: 5
526
+ }), t("typename label", {
527
+ ns: option.typename,
528
+ defaultValue: option.typename
529
+ }))))));
531
530
  };
532
- var CREATE_OBJECT_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/CreateObjectDialog`;
531
+ var CREATE_OBJECT_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/CreateObjectDialog`;
533
532
  var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _shouldNavigate, resolve }) => {
534
533
  const closeRef = (0, import_react6.useRef)(null);
535
- const { t } = (0, import_react_ui5.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
534
+ const { t } = (0, import_react_ui5.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
536
535
  const client = (0, import_react_client2.useClient)();
537
536
  const spaces = (0, import_echo3.useSpaces)();
538
537
  const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
539
538
  const handleCreateObject = (0, import_react6.useCallback)(async ({ schema, target: _target, data }) => {
540
- const target2 = (0, import_echo3.isSpace)(_target) ? _target.properties[import_chunk_DDZYVNVP.CollectionType.typename]?.target : _target;
539
+ const target2 = (0, import_echo3.isSpace)(_target) ? _target.properties[import_chunk_SPCSJ2CY.CollectionType.typename]?.target : _target;
541
540
  const createObjectIntent = resolve?.(schema.typename)?.createObject;
542
541
  if (!createObjectIntent || !target2) {
543
542
  return;
@@ -549,13 +548,15 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
549
548
  }));
550
549
  const object = result.data?.object;
551
550
  if ((0, import_echo3.isReactiveObject)(object)) {
552
- const addObjectIntent = (0, import_app_framework2.createIntent)(import_chunk_DDZYVNVP.SpaceAction.AddObject, {
551
+ const addObjectIntent = (0, import_app_framework2.createIntent)(import_chunk_SPCSJ2CY.SpaceAction.AddObject, {
553
552
  target: target2,
554
553
  object
555
554
  });
556
555
  const shouldNavigate = _shouldNavigate ?? (() => true);
557
556
  if (shouldNavigate(object)) {
558
- await dispatch((0, import_effect.pipe)(addObjectIntent, (0, import_app_framework2.chain)(import_app_framework2.NavigationAction.Open, {})));
557
+ await dispatch((0, import_effect.pipe)(addObjectIntent, (0, import_app_framework2.chain)(import_app_framework2.LayoutAction.Open, {
558
+ part: "main"
559
+ })));
559
560
  } else {
560
561
  await dispatch(addObjectIntent);
561
562
  }
@@ -568,7 +569,7 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
568
569
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
569
570
  // Consider factoring it out to the tabs package.
570
571
  /* @__PURE__ */ import_react6.default.createElement(import_react_ui5.Dialog.Content, {
571
- classNames: "p-0 bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
572
+ classNames: "p-0 bs-content max-bs-full md:max-is-[40rem] overflow-hidden"
572
573
  }, /* @__PURE__ */ import_react6.default.createElement("div", {
573
574
  role: "none",
574
575
  className: "flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4"
@@ -582,9 +583,8 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
582
583
  }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui5.Icon, {
583
584
  icon: "ph--x--regular",
584
585
  size: 4
585
- })))), /* @__PURE__ */ import_react6.default.createElement("div", {
586
- className: "p-4"
587
- }, /* @__PURE__ */ import_react6.default.createElement(CreateObjectPanel, {
586
+ })))), /* @__PURE__ */ import_react6.default.createElement(CreateObjectPanel, {
587
+ classNames: "p-4",
588
588
  schemas,
589
589
  spaces,
590
590
  target,
@@ -593,25 +593,29 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
593
593
  defaultSpaceId: client.spaces.default.id,
594
594
  resolve,
595
595
  onCreateObject: handleCreateObject
596
- })))
596
+ }))
597
597
  );
598
598
  };
599
- var CREATE_SPACE_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/CreateSpaceDialog`;
599
+ var CREATE_SPACE_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/CreateSpaceDialog`;
600
600
  var initialValues2 = {
601
601
  edgeReplication: true
602
602
  };
603
603
  var CreateSpaceDialog = () => {
604
604
  const closeRef = (0, import_react8.useRef)(null);
605
- const { t } = (0, import_react_ui7.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
606
- const { dispatchPromise: dispatch } = (0, import_app_framework4.useIntentDispatcher)();
605
+ const { t } = (0, import_react_ui7.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
606
+ const { dispatch } = (0, import_app_framework4.useIntentDispatcher)();
607
607
  const handleCreateSpace = (0, import_react8.useCallback)(async (data) => {
608
- const result = await dispatch((0, import_app_framework4.createIntent)(import_chunk_DDZYVNVP.SpaceAction.Create, data));
609
- const target = result.data?.space;
610
- if (target) {
611
- await dispatch((0, import_app_framework4.createIntent)(import_chunk_DDZYVNVP.SpaceAction.OpenCreateObject, {
612
- target
608
+ const program = import_effect2.Effect.gen(function* () {
609
+ const { space } = yield* dispatch((0, import_app_framework4.createIntent)(import_chunk_SPCSJ2CY.SpaceAction.Create, data));
610
+ yield* dispatch((0, import_app_framework4.createIntent)(import_app_framework4.LayoutAction.SwitchWorkspace, {
611
+ part: "workspace",
612
+ subject: space.id
613
613
  }));
614
- }
614
+ yield* dispatch((0, import_app_framework4.createIntent)(import_chunk_SPCSJ2CY.SpaceAction.OpenCreateObject, {
615
+ target: space
616
+ }));
617
+ });
618
+ await import_effect2.Effect.runPromise(program);
615
619
  }, [
616
620
  dispatch
617
621
  ]);
@@ -619,7 +623,7 @@ var CreateSpaceDialog = () => {
619
623
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
620
624
  // Consider factoring it out to the tabs package.
621
625
  /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Content, {
622
- classNames: "p-0 bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
626
+ classNames: "p-0 bs-content min-bs-[16rem] max-bs-full md:max-is-[32rem] overflow-hidden"
623
627
  }, /* @__PURE__ */ import_react8.default.createElement("div", {
624
628
  role: "none",
625
629
  className: "flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4"
@@ -637,56 +641,83 @@ var CreateSpaceDialog = () => {
637
641
  className: "p-4"
638
642
  }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui_form3.Form, {
639
643
  testId: "create-space-form",
644
+ classNames: "!p-0",
645
+ autoFocus: true,
640
646
  values: initialValues2,
641
- schema: import_chunk_DDZYVNVP.SpaceForm,
647
+ schema: import_chunk_SPCSJ2CY.SpaceForm,
642
648
  onSave: handleCreateSpace
643
649
  })))
644
650
  );
645
651
  };
646
652
  var CollectionMain = ({ collection }) => {
647
- const { t } = (0, import_react_ui8.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
653
+ const { t } = (0, import_react_ui8.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
648
654
  return /* @__PURE__ */ import_react9.default.createElement("div", {
649
655
  role: "none",
650
- className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
656
+ className: (0, import_react_ui_theme3.mx)(import_react_ui_theme3.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
651
657
  "data-testid": "composer.firstRunMessage"
652
658
  }, /* @__PURE__ */ import_react9.default.createElement("p", {
653
659
  role: "alert",
654
- className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg p-8 font-normal text-lg max-is-[24rem] break-words")
660
+ className: (0, import_react_ui_theme3.mx)(import_react_ui_theme3.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg p-8 font-normal text-lg max-is-[24rem] break-words")
655
661
  }, collection.name ?? t("unnamed collection label")));
656
662
  };
657
663
  var CollectionSection = ({ collection }) => {
658
- const { t } = (0, import_react_ui9.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
664
+ const { t } = (0, import_react_ui9.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
659
665
  return /* @__PURE__ */ import_react10.default.createElement("div", {
660
666
  className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
661
667
  }, /* @__PURE__ */ import_react10.default.createElement("span", {
662
668
  className: "truncate"
663
669
  }, collection.name ?? t("unnamed collection label")));
664
670
  };
665
- var JOIN_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/JoinDialog`;
671
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/JoinDialog.tsx";
672
+ var JOIN_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/JoinDialog`;
666
673
  var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
667
- const { t } = (0, import_react_ui10.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
668
674
  const { dispatchPromise: dispatch } = (0, import_app_framework5.useIntentDispatcher)();
669
- const spaces = (0, import_echo5.useSpaces)();
670
- const { graph } = (0, import_plugin_graph.useGraph)();
675
+ const client = (0, import_react_client3.useClient)();
676
+ const { graph } = (0, import_app_framework5.useAppGraph)();
671
677
  const handleDone = (0, import_react11.useCallback)(async (result) => {
672
678
  if (result?.spaceKey) {
673
679
  await Promise.all([
674
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SetLayout, {
675
- element: "toast",
680
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.AddToast, {
681
+ part: "toast",
676
682
  subject: {
677
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/join-success`,
683
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/join-success`,
678
684
  duration: 5e3,
679
- title: t("join success label"),
680
- closeLabel: t("dismiss label")
685
+ title: [
686
+ "join success label",
687
+ {
688
+ ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
689
+ }
690
+ ],
691
+ closeLabel: [
692
+ "dismiss label",
693
+ {
694
+ ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
695
+ }
696
+ ]
681
697
  }
682
698
  })),
683
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SetLayout, {
684
- element: "dialog",
685
- state: false
699
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.UpdateDialog, {
700
+ part: "dialog",
701
+ options: {
702
+ state: false
703
+ }
686
704
  }))
687
705
  ]);
688
706
  }
689
- const space = spaces.find(({ key }) => result?.spaceKey?.equals(key));
707
+ const space = result?.spaceKey ? client.spaces.get(result.spaceKey) : void 0;
708
+ if (!space) {
709
+ import_log.log.warn("Space not found", result?.spaceKey, {
710
+ F: __dxlog_file,
711
+ L: 56,
712
+ S: void 0,
713
+ C: (f, a) => f(...a)
714
+ });
715
+ return;
716
+ }
717
+ await dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SwitchWorkspace, {
718
+ part: "workspace",
719
+ subject: space.id
720
+ }));
690
721
  const target = result?.target || (navigableCollections ? space?.id : void 0);
691
722
  if (target) {
692
723
  await graph.waitForPath({
@@ -694,15 +725,15 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
694
725
  }).catch(() => {
695
726
  });
696
727
  await Promise.all([
697
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.NavigationAction.Open, {
698
- activeParts: {
699
- main: [
700
- target
701
- ]
702
- }
728
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.Open, {
729
+ part: "main",
730
+ subject: [
731
+ target
732
+ ]
703
733
  })),
704
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.NavigationAction.Expose, {
705
- id: target
734
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.Expose, {
735
+ part: "navigation",
736
+ subject: target
706
737
  }))
707
738
  ]);
708
739
  }
@@ -717,7 +748,8 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
717
748
  }
718
749
  }, [
719
750
  dispatch,
720
- spaces
751
+ client,
752
+ graph
721
753
  ]);
722
754
  return /* @__PURE__ */ import_react11.default.createElement(import_react_ui10.Dialog.Content, null, /* @__PURE__ */ import_react11.default.createElement(import_react12.JoinPanel, {
723
755
  ...props,
@@ -731,10 +763,10 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
731
763
  }));
732
764
  };
733
765
  var MenuFooter = ({ object }) => {
734
- const { t } = (0, import_react_ui11.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
735
- const client = (0, import_react_client3.useClient)();
736
- const space = (0, import_echo6.getSpace)(object);
737
- const spaceName = space ? (0, import_chunk_Z34MTEU7.getSpaceDisplayName)(space, {
766
+ const { t } = (0, import_react_ui11.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
767
+ const client = (0, import_react_client4.useClient)();
768
+ const space = (0, import_echo4.getSpace)(object);
769
+ const spaceName = space ? (0, import_chunk_MMXP2NHE.getSpaceDisplayName)(space, {
738
770
  personal: client.spaces.default === space
739
771
  }) : "";
740
772
  return space ? /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement(import_react_ui11.DropdownMenu.Separator, null), /* @__PURE__ */ import_react14.default.createElement(import_react_ui11.DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ import_react14.default.createElement("dl", {
@@ -754,7 +786,7 @@ var Status;
754
786
  Status2[Status2["ERROR"] = 2] = "ERROR";
755
787
  })(Status || (Status = {}));
756
788
  var PersistenceStatus = ({ db }) => {
757
- const { t } = (0, import_react_ui12.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
789
+ const { t } = (0, import_react_ui12.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
758
790
  const [displayMessage, setDisplayMessage] = (0, import_react16.useState)(false);
759
791
  const [status, naturalSetStatus] = (0, import_react16.useState)(0);
760
792
  const [prevStatus, setPrevStatus] = (0, import_react16.useState)(0);
@@ -774,17 +806,17 @@ var PersistenceStatus = ({ db }) => {
774
806
  return /* @__PURE__ */ import_react16.default.createElement("div", {
775
807
  className: "flex items-center"
776
808
  }, /* @__PURE__ */ import_react16.default.createElement(import_react15.Warning, {
777
- className: (0, import_react_ui_theme3.mx)((0, import_react_ui_theme3.getSize)(4), "me-1")
809
+ className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
778
810
  }), /* @__PURE__ */ import_react16.default.createElement("span", {
779
- className: (0, import_react_ui_theme3.mx)("text-sm", import_react_ui_theme3.warningText)
811
+ className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.warningText)
780
812
  }, t("persistence error label")));
781
813
  case 1:
782
814
  return /* @__PURE__ */ import_react16.default.createElement("div", {
783
815
  className: "flex items-center"
784
816
  }, /* @__PURE__ */ import_react16.default.createElement(import_react15.ArrowsCounterClockwise, {
785
- className: (0, import_react_ui_theme3.mx)((0, import_react_ui_theme3.getSize)(4), "me-1")
817
+ className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
786
818
  }), /* @__PURE__ */ import_react16.default.createElement("span", {
787
- className: (0, import_react_ui_theme3.mx)("text-sm", import_react_ui_theme3.staticPlaceholderText)
819
+ className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
788
820
  }, t("persistence pending label")));
789
821
  case 0:
790
822
  default:
@@ -794,16 +826,16 @@ var PersistenceStatus = ({ db }) => {
794
826
  role: "status",
795
827
  className: "flex items-center"
796
828
  }, /* @__PURE__ */ import_react16.default.createElement(import_react15.CheckCircle, {
797
- className: (0, import_react_ui_theme3.mx)((0, import_react_ui_theme3.getSize)(4), "me-1")
829
+ className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
798
830
  }), displayMessage && /* @__PURE__ */ import_react16.default.createElement("span", {
799
- className: (0, import_react_ui_theme3.mx)("text-sm", import_react_ui_theme3.staticPlaceholderText)
831
+ className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
800
832
  }, t("persisted locally label"))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui12.Tooltip.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui12.Tooltip.Content, null, t("persisted locally message"), /* @__PURE__ */ import_react16.default.createElement(import_react_ui12.Tooltip.Arrow, null))));
801
833
  }
802
834
  };
803
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
804
- var POPOVER_RENAME_OBJECT = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/PopoverRenameObject`;
835
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
836
+ var POPOVER_RENAME_OBJECT = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/PopoverRenameObject`;
805
837
  var PopoverRenameObject = ({ object: obj }) => {
806
- const { t } = (0, import_react_ui13.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
838
+ const { t } = (0, import_react_ui13.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
807
839
  const doneButton = (0, import_react17.useRef)(null);
808
840
  const object = obj;
809
841
  const [name, setName] = (0, import_react17.useState)(object.name || object.title || "");
@@ -814,10 +846,10 @@ var PopoverRenameObject = ({ object: obj }) => {
814
846
  try {
815
847
  object.title = name;
816
848
  } catch (err) {
817
- import_log.log.error("Failed to rename object", {
849
+ import_log2.log.error("Failed to rename object", {
818
850
  err
819
851
  }, {
820
- F: __dxlog_file,
852
+ F: __dxlog_file2,
821
853
  L: 30,
822
854
  S: void 0,
823
855
  C: (f, a) => f(...a)
@@ -852,9 +884,9 @@ var PopoverRenameObject = ({ object: obj }) => {
852
884
  ns: "os"
853
885
  }))));
854
886
  };
855
- var POPOVER_RENAME_SPACE = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/PopoverRenameSpace`;
887
+ var POPOVER_RENAME_SPACE = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/PopoverRenameSpace`;
856
888
  var PopoverRenameSpace = ({ space }) => {
857
- const { t } = (0, import_react_ui14.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
889
+ const { t } = (0, import_react_ui14.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
858
890
  const doneButton = (0, import_react18.useRef)(null);
859
891
  const [name, setName] = (0, import_react18.useState)(space.properties.name ?? "");
860
892
  const handleDone = (0, import_react18.useCallback)(() => {
@@ -891,13 +923,13 @@ var PopoverRenameSpace = ({ space }) => {
891
923
  var ShareSpaceButton = ({ space }) => {
892
924
  const { dispatchPromise: dispatch } = (0, import_app_framework6.useIntentDispatcher)();
893
925
  return /* @__PURE__ */ import_react19.default.createElement(ShareSpaceButtonImpl, {
894
- onClick: () => dispatch((0, import_app_framework6.createIntent)(import_chunk_DDZYVNVP.SpaceAction.Share, {
926
+ onClick: () => dispatch((0, import_app_framework6.createIntent)(import_chunk_SPCSJ2CY.SpaceAction.Share, {
895
927
  space
896
928
  }))
897
929
  });
898
930
  };
899
931
  var ShareSpaceButtonImpl = ({ onClick }) => {
900
- const { t } = (0, import_react_ui15.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
932
+ const { t } = (0, import_react_ui15.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
901
933
  return /* @__PURE__ */ import_react19.default.createElement(import_react_ui15.IconButton, {
902
934
  "data-testid": "spacePlugin.shareSpaceButton",
903
935
  icon: "ph--users--regular",
@@ -905,15 +937,15 @@ var ShareSpaceButtonImpl = ({ onClick }) => {
905
937
  onClick
906
938
  });
907
939
  };
908
- var AppGraphBuilder = (0, import_app_framework8.lazy)(() => import("./app-graph-builder-ZQ5S62YR.cjs"));
909
- var AppGraphSerializer = (0, import_app_framework8.lazy)(() => import("./app-graph-serializer-72S7P33H.cjs"));
910
- var IdentityCreated = (0, import_app_framework8.lazy)(() => import("./identity-created-IMDS4A6A.cjs"));
911
- var IntentResolver = (0, import_app_framework8.lazy)(() => import("./intent-resolver-MUGCKZPN.cjs"));
912
- var ReactRoot = (0, import_app_framework8.lazy)(() => import("./react-root-TCHYZQY3.cjs"));
913
- var ReactSurface = (0, import_app_framework8.lazy)(() => import("./react-surface-TFPR6QAQ.cjs"));
914
- var SpaceSettings = (0, import_app_framework8.lazy)(() => import("./settings-QLCKAUHK.cjs"));
915
- var SpaceState = (0, import_app_framework8.lazy)(() => import("./state-4UIOUKLJ.cjs"));
916
- var SpacesReady = (0, import_app_framework8.lazy)(() => import("./spaces-ready-RZTKEXOL.cjs"));
940
+ var AppGraphBuilder = (0, import_app_framework8.lazy)(() => import("./app-graph-builder-6N4TEVHH.cjs"));
941
+ var AppGraphSerializer = (0, import_app_framework8.lazy)(() => import("./app-graph-serializer-AWKVTYAB.cjs"));
942
+ var IdentityCreated = (0, import_app_framework8.lazy)(() => import("./identity-created-JNDKMFKI.cjs"));
943
+ var IntentResolver = (0, import_app_framework8.lazy)(() => import("./intent-resolver-NVTAESKB.cjs"));
944
+ var ReactRoot = (0, import_app_framework8.lazy)(() => import("./react-root-YCHSAYQE.cjs"));
945
+ var ReactSurface = (0, import_app_framework8.lazy)(() => import("./react-surface-ANSZ4FKK.cjs"));
946
+ var SpaceSettings = (0, import_app_framework8.lazy)(() => import("./settings-RBBL22DJ.cjs"));
947
+ var SpaceState = (0, import_app_framework8.lazy)(() => import("./state-WPZC4JXB.cjs"));
948
+ var SpacesReady = (0, import_app_framework8.lazy)(() => import("./spaces-ready-WHU4J6E5.cjs"));
917
949
  var usePath = (graph, id, timeout) => {
918
950
  const [pathState, setPathState] = (0, import_react21.useState)(id ? graph.getPath({
919
951
  target: id
@@ -949,14 +981,14 @@ var usePath = (graph, id, timeout) => {
949
981
  };
950
982
  var REFRESH_INTERVAL = 5e3;
951
983
  var ACTIVITY_DURATION = 3e4;
952
- var noViewers = new import_util2.ComplexMap(import_react_client4.PublicKey.hash);
984
+ var noViewers = new import_util2.ComplexMap(import_react_client5.PublicKey.hash);
953
985
  var getName = (identity) => identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
954
986
  var SpacePresence = ({ object, spaceKey }) => {
955
- const spaceState = (0, import_app_framework7.useCapability)(import_chunk_56NGXG2A.SpaceCapabilities.MutableState);
956
- const client = (0, import_react_client4.useClient)();
987
+ const spaceState = (0, import_app_framework7.useCapability)(import_chunk_UX3U4RU2.SpaceCapabilities.MutableState);
988
+ const client = (0, import_react_client5.useClient)();
957
989
  const identity = (0, import_halo.useIdentity)();
958
- const space = spaceKey ? client.spaces.get(spaceKey) : (0, import_echo7.getSpace)(object);
959
- const spaceMembers = (0, import_echo7.useMembers)(space?.key);
990
+ const space = spaceKey ? client.spaces.get(spaceKey) : (0, import_echo5.getSpace)(object);
991
+ const spaceMembers = (0, import_echo5.useMembers)(space?.key);
960
992
  const [_moment, setMoment] = (0, import_react20.useState)(Date.now());
961
993
  (0, import_react20.useEffect)(() => {
962
994
  const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
@@ -969,7 +1001,7 @@ var SpacePresence = ({ object, spaceKey }) => {
969
1001
  if (!identity || !spaceState || !space) {
970
1002
  return null;
971
1003
  }
972
- const currentObjectViewers = spaceState.viewersByObject[(0, import_echo7.fullyQualifiedId)(object)] ?? noViewers;
1004
+ const currentObjectViewers = spaceState.viewersByObject[(0, import_echo5.fullyQualifiedId)(object)] ?? noViewers;
973
1005
  const membersForObject = spaceMembers.filter((member) => memberOnline(member) && memberIsNotSelf(member)).filter((member) => currentObjectViewers.has(member.identity.identityKey)).map((member) => {
974
1006
  const objectView = currentObjectViewers.get(member.identity.identityKey);
975
1007
  const lastSeen = objectView?.lastSeen ?? -Infinity;
@@ -1052,7 +1084,7 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
1052
1084
  var SmallPresenceLive = ({ id, open, viewers }) => {
1053
1085
  const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention.useAttention)(id);
1054
1086
  const isAttended = hasAttention || isAncestor || isRelated;
1055
- const { graph } = (0, import_plugin_graph2.useGraph)();
1087
+ const { graph } = (0, import_app_framework7.useAppGraph)();
1056
1088
  const attended = (0, import_react_ui_attention.useAttended)();
1057
1089
  const startOfAttention = attended.at(-1);
1058
1090
  const path = usePath(graph, startOfAttention);
@@ -1080,7 +1112,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
1080
1112
  });
1081
1113
  };
1082
1114
  var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1083
- const { t } = (0, import_react_ui16.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1115
+ const { t } = (0, import_react_ui16.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1084
1116
  return /* @__PURE__ */ import_react20.default.createElement(import_react_ui16.Tooltip.Root, null, /* @__PURE__ */ import_react20.default.createElement(import_react_ui16.Tooltip.Trigger, {
1085
1117
  asChild: true
1086
1118
  }, /* @__PURE__ */ import_react20.default.createElement(import_react_ui_attention.AttentionGlyph, {
@@ -1095,26 +1127,26 @@ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1095
1127
  })), /* @__PURE__ */ import_react20.default.createElement(import_react_ui16.Tooltip.Arrow, null))));
1096
1128
  };
1097
1129
  var SpacePluginSettings = ({ settings }) => {
1098
- const { t } = (0, import_react_ui17.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1099
- return /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui_form4.DeprecatedFormInput, {
1130
+ const { t } = (0, import_react_ui17.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1131
+ return /* @__PURE__ */ import_react22.default.createElement(import_react_ui_form4.DeprecatedFormContainer, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui_form4.DeprecatedFormInput, {
1100
1132
  label: t("show hidden spaces label")
1101
1133
  }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui17.Input.Switch, {
1102
1134
  checked: settings.showHidden,
1103
1135
  onCheckedChange: (checked) => settings.showHidden = !!checked
1104
1136
  })));
1105
1137
  };
1106
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsPanel.tsx";
1138
+ var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsPanel.tsx";
1107
1139
  var SpaceSettingsPanel = ({ classNames, space }) => {
1108
- const { t } = (0, import_react_ui18.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1109
- const client = (0, import_react_client5.useClient)();
1140
+ const { t } = (0, import_react_ui18.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1141
+ const client = (0, import_react_client6.useClient)();
1110
1142
  const edgeEnabled = Boolean(client.config.values.runtime?.client?.edgeFeatures?.echoReplicator);
1111
1143
  const [edgeReplication, setEdgeReplication] = (0, import_react23.useState)(space.internal.data.edgeReplication === import_metadata.EdgeReplicationSetting.ENABLED);
1112
1144
  const toggleEdgeReplication = (0, import_react23.useCallback)(async (next) => {
1113
1145
  setEdgeReplication(next);
1114
1146
  await space?.internal.setEdgeReplicationPreference(next ? import_metadata.EdgeReplicationSetting.ENABLED : import_metadata.EdgeReplicationSetting.DISABLED).catch((err) => {
1115
- import_log2.log.catch(err, void 0, {
1116
- F: __dxlog_file2,
1117
- L: 36,
1147
+ import_log3.log.catch(err, void 0, {
1148
+ F: __dxlog_file3,
1149
+ L: 35,
1118
1150
  S: void 0,
1119
1151
  C: (f, a) => f(...a)
1120
1152
  });
@@ -1123,10 +1155,7 @@ var SpaceSettingsPanel = ({ classNames, space }) => {
1123
1155
  }, [
1124
1156
  space
1125
1157
  ]);
1126
- return /* @__PURE__ */ import_react23.default.createElement("div", {
1127
- role: "form",
1128
- className: (0, import_react_ui_theme4.mx)("flex flex-col", classNames)
1129
- }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormInput, {
1158
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormContainer, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormInput, {
1130
1159
  label: t("name label")
1131
1160
  }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui18.Input.TextInput, {
1132
1161
  placeholder: t("unnamed space label"),
@@ -1141,17 +1170,23 @@ var SpaceSettingsPanel = ({ classNames, space }) => {
1141
1170
  onCheckedChange: toggleEdgeReplication
1142
1171
  })));
1143
1172
  };
1144
- var SPACE_SETTINGS_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/SpaceSettingsDialog`;
1173
+ var SPACE_SETTINGS_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/SpaceSettingsDialog`;
1145
1174
  var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "members", namesCache }) => {
1146
- const { t } = (0, import_react_ui19.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1147
- const client = (0, import_react_client6.useClient)();
1175
+ const { t } = (0, import_react_ui19.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1176
+ const client = (0, import_react_client7.useClient)();
1148
1177
  const [tabsActivePart, setTabsActivePart] = (0, import_react24.useState)("list");
1149
1178
  const [selected, setSelected] = (0, import_react24.useState)(initialTab);
1150
- const locked = space.properties[import_chunk_Z34MTEU7.COMPOSER_SPACE_LOCK];
1151
- const name = (0, import_chunk_Z34MTEU7.getSpaceDisplayName)(space, {
1179
+ const locked = space.properties[import_chunk_MMXP2NHE.COMPOSER_SPACE_LOCK];
1180
+ const name = (0, import_chunk_MMXP2NHE.getSpaceDisplayName)(space, {
1152
1181
  personal: client.spaces.default === space,
1153
1182
  namesCache
1154
1183
  });
1184
+ const panels = (0, import_app_framework9.useCapabilities)(import_chunk_UX3U4RU2.SpaceCapabilities.SettingsPanel);
1185
+ const data = (0, import_react24.useMemo)(() => ({
1186
+ subject: space
1187
+ }), [
1188
+ space
1189
+ ]);
1155
1190
  return (
1156
1191
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
1157
1192
  // Consider factoring it out to the tabs package.
@@ -1204,7 +1239,10 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
1204
1239
  }, t("settings tab label")), /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tab, {
1205
1240
  value: "members",
1206
1241
  disabled: locked
1207
- }, t("members tab label"))))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tabpanel, {
1242
+ }, t("members tab label")), panels.map((panel) => /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tab, {
1243
+ key: panel.id,
1244
+ value: panel.id
1245
+ }, (0, import_react_ui19.toLocalizedString)(panel.label, t)))))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tabpanel, {
1208
1246
  value: "settings",
1209
1247
  classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
1210
1248
  }, /* @__PURE__ */ import_react24.default.createElement(SpaceSettingsPanel, {
@@ -1217,10 +1255,17 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
1217
1255
  hideHeading: true,
1218
1256
  target,
1219
1257
  createInvitationUrl
1258
+ }))), panels.map((panel) => /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tabpanel, {
1259
+ key: panel.id,
1260
+ value: panel.id,
1261
+ classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
1262
+ }, /* @__PURE__ */ import_react24.default.createElement(import_app_framework9.Surface, {
1263
+ role: `space-settings--${panel.id}`,
1264
+ data
1220
1265
  }))))))
1221
1266
  );
1222
1267
  };
1223
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts";
1268
+ var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts";
1224
1269
  var createEmptyEdgeSyncState = () => ({
1225
1270
  missingOnLocal: 0,
1226
1271
  missingOnRemote: 0,
@@ -1240,11 +1285,11 @@ var getSyncSummary = (syncMap) => {
1240
1285
  };
1241
1286
  var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${import_protocols.EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
1242
1287
  var useSyncState = () => {
1243
- const client = (0, import_react_client8.useClient)();
1288
+ const client = (0, import_react_client9.useClient)();
1244
1289
  const [spaceState, setSpaceState] = (0, import_react27.useState)({});
1245
1290
  (0, import_react27.useEffect)(() => {
1246
1291
  const ctx = new import_context.Context(void 0, {
1247
- F: __dxlog_file3,
1292
+ F: __dxlog_file4,
1248
1293
  L: 48
1249
1294
  });
1250
1295
  const createSubscriptions = (spaces) => {
@@ -1279,7 +1324,7 @@ var useSpaceSyncState = (space) => {
1279
1324
  const [spaceState, setSpaceState] = (0, import_react27.useState)();
1280
1325
  (0, import_react27.useEffect)(() => {
1281
1326
  const ctx = new import_context.Context(void 0, {
1282
- F: __dxlog_file3,
1327
+ F: __dxlog_file4,
1283
1328
  L: 87
1284
1329
  });
1285
1330
  space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
@@ -1298,7 +1343,7 @@ var useSpaceSyncState = (space) => {
1298
1343
  };
1299
1344
  var useEdgeStatus = () => {
1300
1345
  const [status, setStatus] = (0, import_react26.useState)(import_services.QueryEdgeStatusResponse.EdgeStatus.NOT_CONNECTED);
1301
- const client = (0, import_react_client7.useClient)();
1346
+ const client = (0, import_react_client8.useClient)();
1302
1347
  (0, import_react26.useEffect)(() => {
1303
1348
  client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status: status2 }) => {
1304
1349
  setStatus(status2);
@@ -1309,11 +1354,11 @@ var useEdgeStatus = () => {
1309
1354
  return status;
1310
1355
  };
1311
1356
  var InlineSyncStatus = ({ space, open }) => {
1312
- const { t } = (0, import_react_ui20.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1357
+ const { t } = (0, import_react_ui20.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1313
1358
  const id = space.id;
1314
1359
  const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention2.useAttention)(id);
1315
1360
  const isAttended = hasAttention || isAncestor || isRelated;
1316
- const { graph } = (0, import_plugin_graph3.useGraph)();
1361
+ const { graph } = (0, import_app_framework10.useAppGraph)();
1317
1362
  const attended = (0, import_react_ui_attention2.useAttended)();
1318
1363
  const startOfAttention = attended.at(-1);
1319
1364
  const path = usePath(graph, startOfAttention);
@@ -1364,13 +1409,13 @@ var useActive = (count) => {
1364
1409
  return active;
1365
1410
  };
1366
1411
  var SpaceRowContainer = ({ spaceId, state }) => {
1367
- const { t } = (0, import_react_ui22.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1368
- const client = (0, import_react_client10.useClient)();
1369
- const space = (0, import_echo8.useSpace)(spaceId);
1412
+ const { t } = (0, import_react_ui22.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1413
+ const client = (0, import_react_client11.useClient)();
1414
+ const space = (0, import_echo6.useSpace)(spaceId);
1370
1415
  if (!space) {
1371
1416
  return null;
1372
1417
  }
1373
- const spaceName = (0, import_react_ui22.toLocalizedString)((0, import_chunk_Z34MTEU7.getSpaceDisplayName)(space, {
1418
+ const spaceName = (0, import_react_ui22.toLocalizedString)((0, import_chunk_MMXP2NHE.getSpaceDisplayName)(space, {
1374
1419
  personal: space === client.spaces.default
1375
1420
  }), t);
1376
1421
  return /* @__PURE__ */ import_react29.default.createElement(SpaceRow, {
@@ -1438,7 +1483,7 @@ var Bar = ({ classNames, count, total }) => {
1438
1483
  className: "absolute top-0 bottom-0 flex items-center mx-0.5 text-black text-xs"
1439
1484
  }, count));
1440
1485
  };
1441
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
1486
+ var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
1442
1487
  var createClientSaveTracker = (client, cb) => {
1443
1488
  const unsubscribeCallbacks = {};
1444
1489
  const state = {};
@@ -1466,7 +1511,7 @@ var createClientSaveTracker = (client, cb) => {
1466
1511
  };
1467
1512
  var createSpaceSaveTracker = (space, cb) => {
1468
1513
  const ctx = new import_context2.Context(void 0, {
1469
- F: __dxlog_file4,
1514
+ F: __dxlog_file5,
1470
1515
  L: 40
1471
1516
  });
1472
1517
  void space.waitUntilReady().then(() => {
@@ -1525,7 +1570,7 @@ var getIcon = (status) => {
1525
1570
  }
1526
1571
  };
1527
1572
  var SyncStatus = () => {
1528
- const client = (0, import_react_client9.useClient)();
1573
+ const client = (0, import_react_client10.useClient)();
1529
1574
  const state = useSyncState();
1530
1575
  const [saved, setSaved] = (0, import_react28.useState)(true);
1531
1576
  (0, import_react28.useEffect)(() => {
@@ -1539,7 +1584,7 @@ var SyncStatus = () => {
1539
1584
  });
1540
1585
  };
1541
1586
  var SyncStatusIndicator = ({ state, saved }) => {
1542
- const { t } = (0, import_react_ui21.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1587
+ const { t } = (0, import_react_ui21.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1543
1588
  const summary = getSyncSummary(state);
1544
1589
  const offline = Object.values(state).length === 0;
1545
1590
  const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
@@ -1580,18 +1625,16 @@ var SyncStatusIndicator = ({ state, saved }) => {
1580
1625
  asChild: true
1581
1626
  }, /* @__PURE__ */ import_react28.default.createElement(import_plugin_status_bar.StatusBar.Button, {
1582
1627
  title
1583
- }, icon)), /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Popover.Portal, null, /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Popover.Content, {
1584
- sideOffset: 16
1585
- }, /* @__PURE__ */ import_react28.default.createElement(SyncStatusDetail, {
1628
+ }, icon)), /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Popover.Portal, null, /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Popover.Content, null, /* @__PURE__ */ import_react28.default.createElement(SyncStatusDetail, {
1586
1629
  state,
1587
1630
  summary,
1588
1631
  debug: false
1589
- }))));
1632
+ }), /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Popover.Arrow, null))));
1590
1633
  }
1591
1634
  };
1592
1635
  var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
1593
1636
  const [showAll, setShowAll] = (0, import_react28.useState)(false);
1594
- const { t } = (0, import_react_ui21.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1637
+ const { t } = (0, import_react_ui21.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1595
1638
  const entries = Object.entries(state).filter(([_, value]) => showAll || value.missingOnLocal + value.missingOnRemote > 0).toSorted(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
1596
1639
  const handleCheckedChange = (0, import_react28.useCallback)((state2) => setShowAll(state2), [
1597
1640
  setShowAll
@@ -1666,4 +1709,4 @@ var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
1666
1709
  SyncStatusDetail,
1667
1710
  SyncStatusIndicator
1668
1711
  });
1669
- //# sourceMappingURL=chunk-VCPICVIE.cjs.map
1712
+ //# sourceMappingURL=chunk-2RCJT3P2.cjs.map