@dxos/plugin-space 0.7.5-feature-compute.4d9d99a → 0.7.5-labs.401163d

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 (184) hide show
  1. package/dist/lib/browser/{app-graph-builder-5D2QB43K.mjs → app-graph-builder-GSS3V7IN.mjs} +15 -13
  2. package/dist/lib/browser/app-graph-builder-GSS3V7IN.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-VNWPLPDF.mjs → app-graph-serializer-QDXM5M6K.mjs} +5 -5
  4. package/dist/lib/browser/{chunk-6SWQRWOD.mjs → chunk-DIBLC24B.mjs} +308 -251
  5. package/dist/lib/browser/chunk-DIBLC24B.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-SOXNANA6.mjs → chunk-PQXZCNAU.mjs} +3 -2
  7. package/dist/lib/browser/{chunk-SOXNANA6.mjs.map → chunk-PQXZCNAU.mjs.map} +3 -3
  8. package/dist/lib/browser/{chunk-UH5P4UL3.mjs → chunk-RLZQJD47.mjs} +3 -2
  9. package/dist/lib/browser/chunk-RLZQJD47.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-5TBRONF6.mjs → chunk-SDK7RZI3.mjs} +3 -3
  11. package/dist/lib/browser/{chunk-HCXWKGTE.mjs → chunk-XPZ6IIXF.mjs} +4 -9
  12. package/dist/lib/browser/chunk-XPZ6IIXF.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-ZBKFJNHH.mjs → chunk-ZL5ZFGBK.mjs} +15 -9
  14. package/dist/lib/browser/chunk-ZL5ZFGBK.mjs.map +7 -0
  15. package/dist/lib/browser/{identity-created-EC5FOCX2.mjs → identity-created-25TK5XNO.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-LNTCXZ57.mjs +537 -0
  19. package/dist/lib/browser/intent-resolver-LNTCXZ57.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-root-AZJFNTKK.mjs → react-root-Q7JJDCPB.mjs} +6 -6
  22. package/dist/lib/browser/{react-surface-E2VSYVNZ.mjs → react-surface-BDMYLARO.mjs} +26 -33
  23. package/dist/lib/browser/react-surface-BDMYLARO.mjs.map +7 -0
  24. package/dist/lib/browser/{settings-ASFF5BZL.mjs → settings-K4JPYYEM.mjs} +3 -3
  25. package/dist/lib/browser/{spaces-ready-4SFNS5JQ.mjs → spaces-ready-THYJEJYZ.mjs} +31 -32
  26. package/dist/lib/browser/spaces-ready-THYJEJYZ.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 -4
  29. package/dist/lib/node/{app-graph-builder-ZQ5S62YR.cjs → app-graph-builder-V3RCGDV7.cjs} +60 -58
  30. package/dist/lib/node/app-graph-builder-V3RCGDV7.cjs.map +7 -0
  31. package/dist/lib/node/{app-graph-serializer-72S7P33H.cjs → app-graph-serializer-H4UACG57.cjs} +21 -21
  32. package/dist/lib/node/{chunk-M64YG2FY.cjs → chunk-4AZ2DD4G.cjs} +308 -251
  33. package/dist/lib/node/chunk-4AZ2DD4G.cjs.map +7 -0
  34. package/dist/lib/node/{chunk-DDZYVNVP.cjs → chunk-6MEOP3DH.cjs} +8 -14
  35. package/dist/lib/node/chunk-6MEOP3DH.cjs.map +7 -0
  36. package/dist/lib/node/{chunk-BQRNTKSQ.cjs → chunk-D6BFKOXY.cjs} +8 -8
  37. package/dist/lib/node/{chunk-Z34MTEU7.cjs → chunk-SYVPVU3K.cjs} +66 -60
  38. package/dist/lib/node/chunk-SYVPVU3K.cjs.map +7 -0
  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-7G5U7R36.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-CDE4M3TW.cjs +536 -0
  47. package/dist/lib/node/intent-resolver-CDE4M3TW.cjs.map +7 -0
  48. package/dist/lib/node/meta.json +1 -1
  49. package/dist/lib/node/{react-root-RB3OM3QG.cjs → react-root-JN6AIHMS.cjs} +12 -12
  50. package/dist/lib/node/{react-surface-TLKQEHHT.cjs → react-surface-XSK2QEQV.cjs} +72 -76
  51. package/dist/lib/node/react-surface-XSK2QEQV.cjs.map +7 -0
  52. package/dist/lib/node/{settings-QLCKAUHK.cjs → settings-TEELGWS4.cjs} +8 -8
  53. package/dist/lib/node/{spaces-ready-RZTKEXOL.cjs → spaces-ready-L4MJTFQ6.cjs} +39 -40
  54. package/dist/lib/node/spaces-ready-L4MJTFQ6.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 +16 -18
  57. package/dist/lib/node/types/index.cjs.map +2 -2
  58. package/dist/lib/node-esm/{app-graph-builder-CD6IYPSS.mjs → app-graph-builder-VFHK7OQI.mjs} +15 -13
  59. package/dist/lib/node-esm/app-graph-builder-VFHK7OQI.mjs.map +7 -0
  60. package/dist/lib/node-esm/{app-graph-serializer-CFXS6ZE2.mjs → app-graph-serializer-PIPJVXYZ.mjs} +5 -5
  61. package/dist/lib/node-esm/{chunk-M4XTHK35.mjs → chunk-4UX5WGKJ.mjs} +3 -3
  62. package/dist/lib/node-esm/{chunk-CLGCKZ2D.mjs → chunk-AAQRELDK.mjs} +4 -9
  63. package/dist/lib/node-esm/chunk-AAQRELDK.mjs.map +7 -0
  64. package/dist/lib/node-esm/{chunk-CMKML5IN.mjs → chunk-FTVEA5LO.mjs} +308 -251
  65. package/dist/lib/node-esm/chunk-FTVEA5LO.mjs.map +7 -0
  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-FUMGYUD3.mjs → chunk-RCZRYXI3.mjs} +15 -9
  71. package/dist/lib/node-esm/chunk-RCZRYXI3.mjs.map +7 -0
  72. package/dist/lib/node-esm/{identity-created-SJYZZ7Q3.mjs → identity-created-7THGZ7EW.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-7L3GJAZE.mjs +538 -0
  76. package/dist/lib/node-esm/intent-resolver-7L3GJAZE.mjs.map +7 -0
  77. package/dist/lib/node-esm/meta.json +1 -1
  78. package/dist/lib/node-esm/{react-root-WKJWCHXR.mjs → react-root-BNA6PBFZ.mjs} +6 -6
  79. package/dist/lib/node-esm/{react-surface-RVEHOSAD.mjs → react-surface-FTI2LQNL.mjs} +26 -33
  80. package/dist/lib/node-esm/react-surface-FTI2LQNL.mjs.map +7 -0
  81. package/dist/lib/node-esm/{settings-WLVEO4JM.mjs → settings-KXYUZBLN.mjs} +3 -3
  82. package/dist/lib/node-esm/{spaces-ready-ITGYYT5A.mjs → spaces-ready-ZC2R73H3.mjs} +31 -32
  83. package/dist/lib/node-esm/spaces-ready-ZC2R73H3.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 -4
  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/BaseObjectSettings.d.ts.map +1 -1
  99. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +4 -3
  100. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  101. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  102. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  103. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  104. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  105. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +3 -4
  106. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  107. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.stories.d.ts.map +1 -1
  108. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  109. package/dist/types/src/meta.d.ts +1 -0
  110. package/dist/types/src/meta.d.ts.map +1 -1
  111. package/dist/types/src/types/types.d.ts +2 -5
  112. package/dist/types/src/types/types.d.ts.map +1 -1
  113. package/dist/types/src/util.d.ts +1 -0
  114. package/dist/types/src/util.d.ts.map +1 -1
  115. package/dist/types/tsconfig.tsbuildinfo +1 -1
  116. package/package.json +39 -37
  117. package/src/SpacePlugin.tsx +11 -6
  118. package/src/capabilities/app-graph-builder.ts +9 -8
  119. package/src/capabilities/capabilities.ts +4 -1
  120. package/src/capabilities/intent-resolver.ts +410 -312
  121. package/src/capabilities/react-surface.tsx +22 -30
  122. package/src/capabilities/spaces-ready.ts +20 -21
  123. package/src/components/AwaitingObject.tsx +5 -5
  124. package/src/components/BaseObjectSettings.tsx +7 -0
  125. package/src/components/CreateDialog/CreateObjectDialog.tsx +15 -15
  126. package/src/components/CreateDialog/CreateObjectPanel.tsx +115 -116
  127. package/src/components/CreateDialog/CreateSpaceDialog.tsx +18 -9
  128. package/src/components/JoinDialog.tsx +27 -19
  129. package/src/components/SpacePluginSettings.tsx +3 -3
  130. package/src/components/SpacePresence.stories.tsx +2 -2
  131. package/src/components/SpacePresence.tsx +2 -3
  132. package/src/components/SpaceSettings/SpaceSettingsDialog.tsx +16 -1
  133. package/src/components/SpaceSettings/SpaceSettingsPanel.stories.tsx +5 -1
  134. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +15 -8
  135. package/src/components/SyncStatus/InlineSyncStatus.tsx +2 -2
  136. package/src/components/SyncStatus/SyncStatus.tsx +2 -1
  137. package/src/meta.ts +1 -0
  138. package/src/types/types.ts +2 -7
  139. package/src/util.tsx +9 -4
  140. package/dist/lib/browser/app-graph-builder-5D2QB43K.mjs.map +0 -7
  141. package/dist/lib/browser/chunk-6SWQRWOD.mjs.map +0 -7
  142. package/dist/lib/browser/chunk-HCXWKGTE.mjs.map +0 -7
  143. package/dist/lib/browser/chunk-UH5P4UL3.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-ZBKFJNHH.mjs.map +0 -7
  145. package/dist/lib/browser/intent-resolver-VBL572N7.mjs +0 -459
  146. package/dist/lib/browser/intent-resolver-VBL572N7.mjs.map +0 -7
  147. package/dist/lib/browser/react-surface-E2VSYVNZ.mjs.map +0 -7
  148. package/dist/lib/browser/spaces-ready-4SFNS5JQ.mjs.map +0 -7
  149. package/dist/lib/node/app-graph-builder-ZQ5S62YR.cjs.map +0 -7
  150. package/dist/lib/node/chunk-56NGXG2A.cjs.map +0 -7
  151. package/dist/lib/node/chunk-DDZYVNVP.cjs.map +0 -7
  152. package/dist/lib/node/chunk-M64YG2FY.cjs.map +0 -7
  153. package/dist/lib/node/chunk-Z34MTEU7.cjs.map +0 -7
  154. package/dist/lib/node/intent-resolver-S4HZABYI.cjs +0 -458
  155. package/dist/lib/node/intent-resolver-S4HZABYI.cjs.map +0 -7
  156. package/dist/lib/node/react-surface-TLKQEHHT.cjs.map +0 -7
  157. package/dist/lib/node/spaces-ready-RZTKEXOL.cjs.map +0 -7
  158. package/dist/lib/node-esm/app-graph-builder-CD6IYPSS.mjs.map +0 -7
  159. package/dist/lib/node-esm/chunk-375RB3CZ.mjs.map +0 -7
  160. package/dist/lib/node-esm/chunk-CLGCKZ2D.mjs.map +0 -7
  161. package/dist/lib/node-esm/chunk-CMKML5IN.mjs.map +0 -7
  162. package/dist/lib/node-esm/chunk-FUMGYUD3.mjs.map +0 -7
  163. package/dist/lib/node-esm/intent-resolver-OIQH7HN7.mjs +0 -460
  164. package/dist/lib/node-esm/intent-resolver-OIQH7HN7.mjs.map +0 -7
  165. package/dist/lib/node-esm/react-surface-RVEHOSAD.mjs.map +0 -7
  166. package/dist/lib/node-esm/spaces-ready-ITGYYT5A.mjs.map +0 -7
  167. /package/dist/lib/browser/{app-graph-serializer-VNWPLPDF.mjs.map → app-graph-serializer-QDXM5M6K.mjs.map} +0 -0
  168. /package/dist/lib/browser/{chunk-5TBRONF6.mjs.map → chunk-SDK7RZI3.mjs.map} +0 -0
  169. /package/dist/lib/browser/{identity-created-EC5FOCX2.mjs.map → identity-created-25TK5XNO.mjs.map} +0 -0
  170. /package/dist/lib/browser/{react-root-AZJFNTKK.mjs.map → react-root-Q7JJDCPB.mjs.map} +0 -0
  171. /package/dist/lib/browser/{settings-ASFF5BZL.mjs.map → settings-K4JPYYEM.mjs.map} +0 -0
  172. /package/dist/lib/browser/{state-MS4KYJWI.mjs.map → state-6DCY5YJP.mjs.map} +0 -0
  173. /package/dist/lib/node/{app-graph-serializer-72S7P33H.cjs.map → app-graph-serializer-H4UACG57.cjs.map} +0 -0
  174. /package/dist/lib/node/{chunk-BQRNTKSQ.cjs.map → chunk-D6BFKOXY.cjs.map} +0 -0
  175. /package/dist/lib/node/{identity-created-IMDS4A6A.cjs.map → identity-created-7G5U7R36.cjs.map} +0 -0
  176. /package/dist/lib/node/{react-root-RB3OM3QG.cjs.map → react-root-JN6AIHMS.cjs.map} +0 -0
  177. /package/dist/lib/node/{settings-QLCKAUHK.cjs.map → settings-TEELGWS4.cjs.map} +0 -0
  178. /package/dist/lib/node/{state-4UIOUKLJ.cjs.map → state-WPZC4JXB.cjs.map} +0 -0
  179. /package/dist/lib/node-esm/{app-graph-serializer-CFXS6ZE2.mjs.map → app-graph-serializer-PIPJVXYZ.mjs.map} +0 -0
  180. /package/dist/lib/node-esm/{chunk-M4XTHK35.mjs.map → chunk-4UX5WGKJ.mjs.map} +0 -0
  181. /package/dist/lib/node-esm/{identity-created-SJYZZ7Q3.mjs.map → identity-created-7THGZ7EW.mjs.map} +0 -0
  182. /package/dist/lib/node-esm/{react-root-WKJWCHXR.mjs.map → react-root-BNA6PBFZ.mjs.map} +0 -0
  183. /package/dist/lib/node-esm/{settings-WLVEO4JM.mjs.map → settings-KXYUZBLN.mjs.map} +0 -0
  184. /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_M64YG2FY_exports = {};
30
- __export(chunk_M64YG2FY_exports, {
29
+ var chunk_4AZ2DD4G_exports = {};
30
+ __export(chunk_4AZ2DD4G_exports, {
31
31
  AdvancedObjectSettings: () => AdvancedObjectSettings,
32
32
  AppGraphBuilder: () => AppGraphBuilder,
33
33
  AppGraphSerializer: () => AppGraphSerializer,
@@ -69,11 +69,11 @@ __export(chunk_M64YG2FY_exports, {
69
69
  SyncStatusDetail: () => SyncStatusDetail,
70
70
  SyncStatusIndicator: () => SyncStatusIndicator
71
71
  });
72
- module.exports = __toCommonJS(chunk_M64YG2FY_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_4AZ2DD4G_exports);
73
+ var import_chunk_UX3U4RU2 = require("./chunk-UX3U4RU2.cjs");
74
+ var import_chunk_SYVPVU3K = require("./chunk-SYVPVU3K.cjs");
75
+ var import_chunk_6MEOP3DH = require("./chunk-6MEOP3DH.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,38 @@ 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");
162
+ var import_react_ui_pickers = require("@dxos/react-ui-pickers");
163
163
  var import_react24 = __toESM(require("react"));
164
- var import_react_client6 = require("@dxos/react-client");
164
+ var import_app_framework9 = require("@dxos/app-framework");
165
+ var import_react_client7 = require("@dxos/react-client");
165
166
  var import_react_ui19 = require("@dxos/react-ui");
166
167
  var import_react_ui_tabs = require("@dxos/react-ui-tabs");
167
168
  var import_react25 = require("@dxos/shell/react");
168
169
  var import_react26 = __toESM(require("react"));
169
- var import_plugin_graph3 = require("@dxos/plugin-graph");
170
+ var import_app_framework10 = require("@dxos/app-framework");
170
171
  var import_services = require("@dxos/protocols/proto/dxos/client/services");
171
172
  var import_metadata2 = require("@dxos/protocols/proto/dxos/echo/metadata");
172
- var import_react_client7 = require("@dxos/react-client");
173
+ var import_react_client8 = require("@dxos/react-client");
173
174
  var import_react_ui20 = require("@dxos/react-ui");
174
175
  var import_react_ui_attention2 = require("@dxos/react-ui-attention");
175
176
  var import_react27 = require("react");
176
177
  var import_context = require("@dxos/context");
177
178
  var import_protocols = require("@dxos/protocols");
178
- var import_react_client8 = require("@dxos/react-client");
179
+ var import_react_client9 = require("@dxos/react-client");
179
180
  var import_react28 = __toESM(require("react"));
180
181
  var import_plugin_status_bar = require("@dxos/plugin-status-bar");
181
- var import_react_client9 = require("@dxos/react-client");
182
+ var import_react_client10 = require("@dxos/react-client");
182
183
  var import_react_ui21 = require("@dxos/react-ui");
183
184
  var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highlighter");
184
185
  var import_react_ui_theme5 = require("@dxos/react-ui-theme");
185
186
  var import_react29 = __toESM(require("react"));
186
- var import_react_client10 = require("@dxos/react-client");
187
- var import_echo8 = require("@dxos/react-client/echo");
187
+ var import_react_client11 = require("@dxos/react-client");
188
+ var import_echo6 = require("@dxos/react-client/echo");
188
189
  var import_react_ui22 = require("@dxos/react-ui");
189
190
  var import_react_ui_theme6 = require("@dxos/react-ui-theme");
190
191
  var import_context2 = require("@dxos/context");
@@ -198,7 +199,7 @@ var ForeignKeys = ({ keys, onDelete }) => {
198
199
  })));
199
200
  };
200
201
  var KeyItem = ({ forignKey, onDelete }) => {
201
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
202
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
202
203
  const handleDelete = (0, import_react2.useCallback)(() => {
203
204
  onDelete?.(forignKey);
204
205
  }, [
@@ -224,7 +225,7 @@ var initialValues = {
224
225
  id: ""
225
226
  };
226
227
  var AdvancedObjectSettings = ({ object }) => {
227
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
228
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
228
229
  const [adding, setAdding] = (0, import_react.useState)(false);
229
230
  const keys = (0, import_echo.getMeta)(object).keys;
230
231
  const handleNew = (0, import_react.useCallback)(() => setAdding(true), []);
@@ -275,9 +276,9 @@ var AwaitingObject = ({ id }) => {
275
276
  const [open, setOpen] = (0, import_react4.useState)(true);
276
277
  const [waiting, setWaiting] = (0, import_react4.useState)(true);
277
278
  const [found, setFound] = (0, import_react4.useState)(false);
278
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
279
+ const { t } = (0, import_react_ui3.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
279
280
  const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
280
- const location = (0, import_app_framework.useCapability)(import_app_framework.Capabilities.Location);
281
+ const layout = (0, import_app_framework.useLayout)();
281
282
  const client = (0, import_react_client.useClient)();
282
283
  const objects = (0, import_echo2.useQuery)(client.spaces, import_echo2.Filter.all());
283
284
  (0, import_react4.useEffect)(() => {
@@ -294,27 +295,26 @@ var AwaitingObject = ({ id }) => {
294
295
  (0, import_react4.useEffect)(() => {
295
296
  if (objects.findIndex((object) => (0, import_echo2.fullyQualifiedId)(object) === id) > -1) {
296
297
  setFound(true);
297
- if (location.active.solo?.[0].id === id) {
298
+ if (layout.active.includes(id)) {
298
299
  setOpen(false);
299
300
  }
300
301
  }
301
302
  }, [
302
303
  id,
303
304
  objects,
304
- location
305
+ layout
305
306
  ]);
306
- const handleClose = (0, import_react4.useCallback)(async () => dispatch((0, import_app_framework.createIntent)(import_chunk_DDZYVNVP.SpaceAction.WaitForObject, {
307
+ const handleClose = (0, import_react4.useCallback)(async () => dispatch((0, import_app_framework.createIntent)(import_chunk_6MEOP3DH.SpaceAction.WaitForObject, {
307
308
  id: void 0
308
309
  })), [
309
310
  dispatch
310
311
  ]);
311
312
  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
- }
313
+ void dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Open, {
314
+ part: "main",
315
+ subject: [
316
+ id
317
+ ]
318
318
  }));
319
319
  void handleClose();
320
320
  }, [
@@ -355,15 +355,22 @@ var AwaitingObject = ({ id }) => {
355
355
  })))));
356
356
  };
357
357
  var BaseObjectSettings = ({ object }) => {
358
- const { t } = (0, import_react_ui4.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
358
+ const { t } = (0, import_react_ui4.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
359
+ const inputRef = import_react5.default.useRef(null);
359
360
  return /* @__PURE__ */ import_react5.default.createElement("div", {
360
361
  role: "form",
361
362
  className: "flex flex-col w-full p-2 gap-1"
362
363
  }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Input.Root, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Input.Label, null, t("name label")), /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Input.TextInput, {
364
+ ref: inputRef,
363
365
  placeholder: t("name placeholder"),
364
366
  value: object.name ?? "",
365
367
  onChange: (event) => {
366
368
  object.name = event.target.value;
369
+ },
370
+ onKeyDown: (event) => {
371
+ if (event.key === "Enter") {
372
+ inputRef.current?.blur();
373
+ }
367
374
  }
368
375
  })));
369
376
  };
@@ -391,14 +398,22 @@ var useInputSurfaceLookup = (baseData) => {
391
398
  baseData
392
399
  ]);
393
400
  };
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);
401
+ var CreateObjectPanel = ({ classNames, schemas, spaces, typename: initialTypename, target: initialTarget, name: initialName, defaultSpaceId, resolve, onCreateObject }) => {
402
+ const { t } = (0, import_react_ui6.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
396
403
  const [typename, setTypename] = (0, import_react7.useState)(initialTypename);
397
404
  const [target, setTarget] = (0, import_react7.useState)(initialTarget);
398
405
  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), []);
406
+ const options = schemas.map(import_echo_schema2.getObjectAnnotation).filter(import_util.isNonNullable).sort((a, b) => {
407
+ const nameA = t("typename label", {
408
+ ns: a.typename,
409
+ defaultValue: a.typename
410
+ });
411
+ const nameB = t("typename label", {
412
+ ns: b.typename,
413
+ defaultValue: b.typename
414
+ });
415
+ return nameA.localeCompare(nameB);
416
+ });
402
417
  const handleCreateObject = (0, import_react7.useCallback)(async (props) => {
403
418
  if (!schema || !target) {
404
419
  return;
@@ -422,55 +437,6 @@ var CreateObjectPanel = ({ schemas, spaces, typename: initialTypename, target: i
422
437
  resolve,
423
438
  typename
424
439
  ]);
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
440
  const inputSurfaceLookup = useInputSurfaceLookup({
475
441
  target
476
442
  });
@@ -479,6 +445,7 @@ var CreateObjectPanel = ({ schemas, spaces, typename: initialTypename, target: i
479
445
  name: import_echo_schema2.S.optional(import_echo_schema2.S.String)
480
446
  });
481
447
  return /* @__PURE__ */ import_react7.default.createElement(import_react_ui_form2.Form, {
448
+ classNames: "!p-0",
482
449
  autoFocus: true,
483
450
  values: {
484
451
  name: initialName
@@ -495,49 +462,89 @@ var CreateObjectPanel = ({ schemas, spaces, typename: initialTypename, target: i
495
462
  ]);
496
463
  return /* @__PURE__ */ import_react7.default.createElement("div", {
497
464
  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,
465
+ className: (0, import_react_ui_theme2.mx)("flex flex-col gap-2", classNames)
466
+ }, !schema ? /* @__PURE__ */ import_react7.default.createElement(SelectSchema, {
467
+ options,
468
+ resolve,
469
+ onChange: setTypename
470
+ }) : !target ? /* @__PURE__ */ import_react7.default.createElement(SelectSpace, {
471
+ spaces,
472
+ defaultSpaceId,
473
+ onChange: setTarget
474
+ }) : form);
475
+ };
476
+ var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
477
+ const { t } = (0, import_react_ui6.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
478
+ return /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Root, {
479
+ label: t("space input label"),
480
+ classNames: "flex flex-col grow overflow-hidden"
481
+ }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Input, {
482
+ autoFocus: true,
483
+ "data-testid": "create-object-form.space-input",
484
+ placeholder: t("space input placeholder"),
485
+ classNames: "px-1 my-2"
486
+ }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Content, {
487
+ classNames: "max-bs-[24rem] overflow-auto"
488
+ }, spaces.sort((a, b) => {
489
+ const aName = (0, import_react_ui6.toLocalizedString)((0, import_chunk_SYVPVU3K.getSpaceDisplayName)(a, {
490
+ personal: a.id === defaultSpaceId
491
+ }), t);
492
+ const bName = (0, import_react_ui6.toLocalizedString)((0, import_chunk_SYVPVU3K.getSpaceDisplayName)(b, {
493
+ personal: b.id === defaultSpaceId
494
+ }), t);
495
+ return aName.localeCompare(bName);
496
+ }).map((space) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Item, {
497
+ key: space.id,
498
+ value: (0, import_react_ui6.toLocalizedString)((0, import_chunk_SYVPVU3K.getSpaceDisplayName)(space, {
499
+ personal: space.id === defaultSpaceId
500
+ }), t),
501
+ onSelect: () => onChange(space),
502
+ classNames: "flex items-center gap-2"
503
+ }, /* @__PURE__ */ import_react7.default.createElement("span", {
504
+ className: "grow truncate"
505
+ }, (0, import_react_ui6.toLocalizedString)((0, import_chunk_SYVPVU3K.getSpaceDisplayName)(space, {
506
+ personal: space.id === defaultSpaceId
507
+ }), t))))));
508
+ };
509
+ var SelectSchema = ({ options, resolve, onChange }) => {
510
+ const { t } = (0, import_react_ui6.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
511
+ return /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Root, {
512
+ label: t("schema input label"),
513
+ classNames: "flex flex-col grow overflow-hidden"
514
+ }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Input, {
515
+ autoFocus: true,
516
+ "data-testid": "create-object-form.schema-input",
517
+ placeholder: t("schema input placeholder"),
518
+ classNames: "px-1 my-2"
519
+ }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Content, {
520
+ classNames: "max-bs-[24rem] overflow-auto"
521
+ }, options.map((option) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui_searchlist.SearchList.Item, {
522
+ key: option.typename,
521
523
  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);
524
+ ns: option.typename,
525
+ defaultValue: option.typename
526
+ }),
527
+ onSelect: () => onChange(option.typename),
528
+ classNames: "flex items-center gap-2"
529
+ }, /* @__PURE__ */ import_react7.default.createElement("span", {
530
+ className: "flex gap-2 items-center grow truncate"
531
+ }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui6.Icon, {
532
+ icon: resolve?.(option.typename).icon ?? "ph--placeholder--regular",
533
+ size: 5
534
+ }), t("typename label", {
535
+ ns: option.typename,
536
+ defaultValue: option.typename
537
+ }))))));
531
538
  };
532
- var CREATE_OBJECT_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/CreateObjectDialog`;
539
+ var CREATE_OBJECT_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/CreateObjectDialog`;
533
540
  var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _shouldNavigate, resolve }) => {
534
541
  const closeRef = (0, import_react6.useRef)(null);
535
- const { t } = (0, import_react_ui5.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
542
+ const { t } = (0, import_react_ui5.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
536
543
  const client = (0, import_react_client2.useClient)();
537
544
  const spaces = (0, import_echo3.useSpaces)();
538
545
  const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
539
546
  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;
547
+ const target2 = (0, import_echo3.isSpace)(_target) ? _target.properties[import_chunk_6MEOP3DH.CollectionType.typename]?.target : _target;
541
548
  const createObjectIntent = resolve?.(schema.typename)?.createObject;
542
549
  if (!createObjectIntent || !target2) {
543
550
  return;
@@ -549,13 +556,15 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
549
556
  }));
550
557
  const object = result.data?.object;
551
558
  if ((0, import_echo3.isReactiveObject)(object)) {
552
- const addObjectIntent = (0, import_app_framework2.createIntent)(import_chunk_DDZYVNVP.SpaceAction.AddObject, {
559
+ const addObjectIntent = (0, import_app_framework2.createIntent)(import_chunk_6MEOP3DH.SpaceAction.AddObject, {
553
560
  target: target2,
554
561
  object
555
562
  });
556
563
  const shouldNavigate = _shouldNavigate ?? (() => true);
557
564
  if (shouldNavigate(object)) {
558
- await dispatch((0, import_effect.pipe)(addObjectIntent, (0, import_app_framework2.chain)(import_app_framework2.NavigationAction.Open, {})));
565
+ await dispatch((0, import_effect.pipe)(addObjectIntent, (0, import_app_framework2.chain)(import_app_framework2.LayoutAction.Open, {
566
+ part: "main"
567
+ })));
559
568
  } else {
560
569
  await dispatch(addObjectIntent);
561
570
  }
@@ -568,7 +577,7 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
568
577
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
569
578
  // Consider factoring it out to the tabs package.
570
579
  /* @__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"
580
+ classNames: "p-0 bs-content max-bs-full md:max-is-[40rem] overflow-hidden"
572
581
  }, /* @__PURE__ */ import_react6.default.createElement("div", {
573
582
  role: "none",
574
583
  className: "flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4"
@@ -582,9 +591,8 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
582
591
  }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui5.Icon, {
583
592
  icon: "ph--x--regular",
584
593
  size: 4
585
- })))), /* @__PURE__ */ import_react6.default.createElement("div", {
586
- className: "p-4"
587
- }, /* @__PURE__ */ import_react6.default.createElement(CreateObjectPanel, {
594
+ })))), /* @__PURE__ */ import_react6.default.createElement(CreateObjectPanel, {
595
+ classNames: "p-4",
588
596
  schemas,
589
597
  spaces,
590
598
  target,
@@ -593,25 +601,29 @@ var CreateObjectDialog = ({ schemas, target, typename, name, shouldNavigate: _sh
593
601
  defaultSpaceId: client.spaces.default.id,
594
602
  resolve,
595
603
  onCreateObject: handleCreateObject
596
- })))
604
+ }))
597
605
  );
598
606
  };
599
- var CREATE_SPACE_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/CreateSpaceDialog`;
607
+ var CREATE_SPACE_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/CreateSpaceDialog`;
600
608
  var initialValues2 = {
601
609
  edgeReplication: true
602
610
  };
603
611
  var CreateSpaceDialog = () => {
604
612
  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)();
613
+ const { t } = (0, import_react_ui7.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
614
+ const { dispatch } = (0, import_app_framework4.useIntentDispatcher)();
607
615
  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
616
+ const program = import_effect2.Effect.gen(function* () {
617
+ const { space } = yield* dispatch((0, import_app_framework4.createIntent)(import_chunk_6MEOP3DH.SpaceAction.Create, data));
618
+ yield* dispatch((0, import_app_framework4.createIntent)(import_app_framework4.LayoutAction.SwitchWorkspace, {
619
+ part: "workspace",
620
+ subject: space.id
613
621
  }));
614
- }
622
+ yield* dispatch((0, import_app_framework4.createIntent)(import_chunk_6MEOP3DH.SpaceAction.OpenCreateObject, {
623
+ target: space
624
+ }));
625
+ });
626
+ await import_effect2.Effect.runPromise(program);
615
627
  }, [
616
628
  dispatch
617
629
  ]);
@@ -619,7 +631,7 @@ var CreateSpaceDialog = () => {
619
631
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
620
632
  // Consider factoring it out to the tabs package.
621
633
  /* @__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"
634
+ classNames: "p-0 bs-content min-bs-[16rem] max-bs-full md:max-is-[32rem] overflow-hidden"
623
635
  }, /* @__PURE__ */ import_react8.default.createElement("div", {
624
636
  role: "none",
625
637
  className: "flex justify-between pbs-2 pis-2 pie-2 @md:pbs-4 @md:pis-4 @md:pie-4"
@@ -637,56 +649,83 @@ var CreateSpaceDialog = () => {
637
649
  className: "p-4"
638
650
  }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui_form3.Form, {
639
651
  testId: "create-space-form",
652
+ classNames: "!p-0",
653
+ autoFocus: true,
640
654
  values: initialValues2,
641
- schema: import_chunk_DDZYVNVP.SpaceForm,
655
+ schema: import_chunk_6MEOP3DH.SpaceForm,
642
656
  onSave: handleCreateSpace
643
657
  })))
644
658
  );
645
659
  };
646
660
  var CollectionMain = ({ collection }) => {
647
- const { t } = (0, import_react_ui8.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
661
+ const { t } = (0, import_react_ui8.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
648
662
  return /* @__PURE__ */ import_react9.default.createElement("div", {
649
663
  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"),
664
+ 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
665
  "data-testid": "composer.firstRunMessage"
652
666
  }, /* @__PURE__ */ import_react9.default.createElement("p", {
653
667
  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")
668
+ 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
669
  }, collection.name ?? t("unnamed collection label")));
656
670
  };
657
671
  var CollectionSection = ({ collection }) => {
658
- const { t } = (0, import_react_ui9.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
672
+ const { t } = (0, import_react_ui9.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
659
673
  return /* @__PURE__ */ import_react10.default.createElement("div", {
660
674
  className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
661
675
  }, /* @__PURE__ */ import_react10.default.createElement("span", {
662
676
  className: "truncate"
663
677
  }, collection.name ?? t("unnamed collection label")));
664
678
  };
665
- var JOIN_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/JoinDialog`;
679
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/JoinDialog.tsx";
680
+ var JOIN_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/JoinDialog`;
666
681
  var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
667
- const { t } = (0, import_react_ui10.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
668
682
  const { dispatchPromise: dispatch } = (0, import_app_framework5.useIntentDispatcher)();
669
- const spaces = (0, import_echo5.useSpaces)();
670
- const { graph } = (0, import_plugin_graph.useGraph)();
683
+ const client = (0, import_react_client3.useClient)();
684
+ const { graph } = (0, import_app_framework5.useAppGraph)();
671
685
  const handleDone = (0, import_react11.useCallback)(async (result) => {
672
686
  if (result?.spaceKey) {
673
687
  await Promise.all([
674
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SetLayout, {
675
- element: "toast",
688
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.AddToast, {
689
+ part: "toast",
676
690
  subject: {
677
- id: `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/join-success`,
691
+ id: `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/join-success`,
678
692
  duration: 5e3,
679
- title: t("join success label"),
680
- closeLabel: t("dismiss label")
693
+ title: [
694
+ "join success label",
695
+ {
696
+ ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
697
+ }
698
+ ],
699
+ closeLabel: [
700
+ "dismiss label",
701
+ {
702
+ ns: import_chunk_WZR6OAN3.SPACE_PLUGIN
703
+ }
704
+ ]
681
705
  }
682
706
  })),
683
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SetLayout, {
684
- element: "dialog",
685
- state: false
707
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.UpdateDialog, {
708
+ part: "dialog",
709
+ options: {
710
+ state: false
711
+ }
686
712
  }))
687
713
  ]);
688
714
  }
689
- const space = spaces.find(({ key }) => result?.spaceKey?.equals(key));
715
+ const space = result?.spaceKey ? client.spaces.get(result.spaceKey) : void 0;
716
+ if (!space) {
717
+ import_log.log.warn("Space not found", result?.spaceKey, {
718
+ F: __dxlog_file,
719
+ L: 56,
720
+ S: void 0,
721
+ C: (f, a) => f(...a)
722
+ });
723
+ return;
724
+ }
725
+ await dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SwitchWorkspace, {
726
+ part: "workspace",
727
+ subject: space.id
728
+ }));
690
729
  const target = result?.target || (navigableCollections ? space?.id : void 0);
691
730
  if (target) {
692
731
  await graph.waitForPath({
@@ -694,15 +733,15 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
694
733
  }).catch(() => {
695
734
  });
696
735
  await Promise.all([
697
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.NavigationAction.Open, {
698
- activeParts: {
699
- main: [
700
- target
701
- ]
702
- }
736
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.Open, {
737
+ part: "main",
738
+ subject: [
739
+ target
740
+ ]
703
741
  })),
704
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.NavigationAction.Expose, {
705
- id: target
742
+ dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.Expose, {
743
+ part: "navigation",
744
+ subject: target
706
745
  }))
707
746
  ]);
708
747
  }
@@ -717,7 +756,8 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
717
756
  }
718
757
  }, [
719
758
  dispatch,
720
- spaces
759
+ client,
760
+ graph
721
761
  ]);
722
762
  return /* @__PURE__ */ import_react11.default.createElement(import_react_ui10.Dialog.Content, null, /* @__PURE__ */ import_react11.default.createElement(import_react12.JoinPanel, {
723
763
  ...props,
@@ -731,10 +771,10 @@ var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
731
771
  }));
732
772
  };
733
773
  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, {
774
+ const { t } = (0, import_react_ui11.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
775
+ const client = (0, import_react_client4.useClient)();
776
+ const space = (0, import_echo4.getSpace)(object);
777
+ const spaceName = space ? (0, import_chunk_SYVPVU3K.getSpaceDisplayName)(space, {
738
778
  personal: client.spaces.default === space
739
779
  }) : "";
740
780
  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 +794,7 @@ var Status;
754
794
  Status2[Status2["ERROR"] = 2] = "ERROR";
755
795
  })(Status || (Status = {}));
756
796
  var PersistenceStatus = ({ db }) => {
757
- const { t } = (0, import_react_ui12.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
797
+ const { t } = (0, import_react_ui12.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
758
798
  const [displayMessage, setDisplayMessage] = (0, import_react16.useState)(false);
759
799
  const [status, naturalSetStatus] = (0, import_react16.useState)(0);
760
800
  const [prevStatus, setPrevStatus] = (0, import_react16.useState)(0);
@@ -774,17 +814,17 @@ var PersistenceStatus = ({ db }) => {
774
814
  return /* @__PURE__ */ import_react16.default.createElement("div", {
775
815
  className: "flex items-center"
776
816
  }, /* @__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")
817
+ className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
778
818
  }), /* @__PURE__ */ import_react16.default.createElement("span", {
779
- className: (0, import_react_ui_theme3.mx)("text-sm", import_react_ui_theme3.warningText)
819
+ className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.warningText)
780
820
  }, t("persistence error label")));
781
821
  case 1:
782
822
  return /* @__PURE__ */ import_react16.default.createElement("div", {
783
823
  className: "flex items-center"
784
824
  }, /* @__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")
825
+ className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
786
826
  }), /* @__PURE__ */ import_react16.default.createElement("span", {
787
- className: (0, import_react_ui_theme3.mx)("text-sm", import_react_ui_theme3.staticPlaceholderText)
827
+ className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
788
828
  }, t("persistence pending label")));
789
829
  case 0:
790
830
  default:
@@ -794,16 +834,16 @@ var PersistenceStatus = ({ db }) => {
794
834
  role: "status",
795
835
  className: "flex items-center"
796
836
  }, /* @__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")
837
+ className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
798
838
  }), displayMessage && /* @__PURE__ */ import_react16.default.createElement("span", {
799
- className: (0, import_react_ui_theme3.mx)("text-sm", import_react_ui_theme3.staticPlaceholderText)
839
+ className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
800
840
  }, 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
841
  }
802
842
  };
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`;
843
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
844
+ var POPOVER_RENAME_OBJECT = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/PopoverRenameObject`;
805
845
  var PopoverRenameObject = ({ object: obj }) => {
806
- const { t } = (0, import_react_ui13.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
846
+ const { t } = (0, import_react_ui13.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
807
847
  const doneButton = (0, import_react17.useRef)(null);
808
848
  const object = obj;
809
849
  const [name, setName] = (0, import_react17.useState)(object.name || object.title || "");
@@ -814,10 +854,10 @@ var PopoverRenameObject = ({ object: obj }) => {
814
854
  try {
815
855
  object.title = name;
816
856
  } catch (err) {
817
- import_log.log.error("Failed to rename object", {
857
+ import_log2.log.error("Failed to rename object", {
818
858
  err
819
859
  }, {
820
- F: __dxlog_file,
860
+ F: __dxlog_file2,
821
861
  L: 30,
822
862
  S: void 0,
823
863
  C: (f, a) => f(...a)
@@ -852,9 +892,9 @@ var PopoverRenameObject = ({ object: obj }) => {
852
892
  ns: "os"
853
893
  }))));
854
894
  };
855
- var POPOVER_RENAME_SPACE = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/PopoverRenameSpace`;
895
+ var POPOVER_RENAME_SPACE = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/PopoverRenameSpace`;
856
896
  var PopoverRenameSpace = ({ space }) => {
857
- const { t } = (0, import_react_ui14.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
897
+ const { t } = (0, import_react_ui14.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
858
898
  const doneButton = (0, import_react18.useRef)(null);
859
899
  const [name, setName] = (0, import_react18.useState)(space.properties.name ?? "");
860
900
  const handleDone = (0, import_react18.useCallback)(() => {
@@ -891,13 +931,13 @@ var PopoverRenameSpace = ({ space }) => {
891
931
  var ShareSpaceButton = ({ space }) => {
892
932
  const { dispatchPromise: dispatch } = (0, import_app_framework6.useIntentDispatcher)();
893
933
  return /* @__PURE__ */ import_react19.default.createElement(ShareSpaceButtonImpl, {
894
- onClick: () => dispatch((0, import_app_framework6.createIntent)(import_chunk_DDZYVNVP.SpaceAction.Share, {
934
+ onClick: () => dispatch((0, import_app_framework6.createIntent)(import_chunk_6MEOP3DH.SpaceAction.Share, {
895
935
  space
896
936
  }))
897
937
  });
898
938
  };
899
939
  var ShareSpaceButtonImpl = ({ onClick }) => {
900
- const { t } = (0, import_react_ui15.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
940
+ const { t } = (0, import_react_ui15.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
901
941
  return /* @__PURE__ */ import_react19.default.createElement(import_react_ui15.IconButton, {
902
942
  "data-testid": "spacePlugin.shareSpaceButton",
903
943
  icon: "ph--users--regular",
@@ -905,15 +945,15 @@ var ShareSpaceButtonImpl = ({ onClick }) => {
905
945
  onClick
906
946
  });
907
947
  };
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-S4HZABYI.cjs"));
912
- var ReactRoot = (0, import_app_framework8.lazy)(() => import("./react-root-RB3OM3QG.cjs"));
913
- var ReactSurface = (0, import_app_framework8.lazy)(() => import("./react-surface-TLKQEHHT.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"));
948
+ var AppGraphBuilder = (0, import_app_framework8.lazy)(() => import("./app-graph-builder-V3RCGDV7.cjs"));
949
+ var AppGraphSerializer = (0, import_app_framework8.lazy)(() => import("./app-graph-serializer-H4UACG57.cjs"));
950
+ var IdentityCreated = (0, import_app_framework8.lazy)(() => import("./identity-created-7G5U7R36.cjs"));
951
+ var IntentResolver = (0, import_app_framework8.lazy)(() => import("./intent-resolver-CDE4M3TW.cjs"));
952
+ var ReactRoot = (0, import_app_framework8.lazy)(() => import("./react-root-JN6AIHMS.cjs"));
953
+ var ReactSurface = (0, import_app_framework8.lazy)(() => import("./react-surface-XSK2QEQV.cjs"));
954
+ var SpaceSettings = (0, import_app_framework8.lazy)(() => import("./settings-TEELGWS4.cjs"));
955
+ var SpaceState = (0, import_app_framework8.lazy)(() => import("./state-WPZC4JXB.cjs"));
956
+ var SpacesReady = (0, import_app_framework8.lazy)(() => import("./spaces-ready-L4MJTFQ6.cjs"));
917
957
  var usePath = (graph, id, timeout) => {
918
958
  const [pathState, setPathState] = (0, import_react21.useState)(id ? graph.getPath({
919
959
  target: id
@@ -949,14 +989,14 @@ var usePath = (graph, id, timeout) => {
949
989
  };
950
990
  var REFRESH_INTERVAL = 5e3;
951
991
  var ACTIVITY_DURATION = 3e4;
952
- var noViewers = new import_util2.ComplexMap(import_react_client4.PublicKey.hash);
992
+ var noViewers = new import_util2.ComplexMap(import_react_client5.PublicKey.hash);
953
993
  var getName = (identity) => identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
954
994
  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)();
995
+ const spaceState = (0, import_app_framework7.useCapability)(import_chunk_UX3U4RU2.SpaceCapabilities.MutableState);
996
+ const client = (0, import_react_client5.useClient)();
957
997
  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);
998
+ const space = spaceKey ? client.spaces.get(spaceKey) : (0, import_echo5.getSpace)(object);
999
+ const spaceMembers = (0, import_echo5.useMembers)(space?.key);
960
1000
  const [_moment, setMoment] = (0, import_react20.useState)(Date.now());
961
1001
  (0, import_react20.useEffect)(() => {
962
1002
  const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
@@ -969,7 +1009,7 @@ var SpacePresence = ({ object, spaceKey }) => {
969
1009
  if (!identity || !spaceState || !space) {
970
1010
  return null;
971
1011
  }
972
- const currentObjectViewers = spaceState.viewersByObject[(0, import_echo7.fullyQualifiedId)(object)] ?? noViewers;
1012
+ const currentObjectViewers = spaceState.viewersByObject[(0, import_echo5.fullyQualifiedId)(object)] ?? noViewers;
973
1013
  const membersForObject = spaceMembers.filter((member) => memberOnline(member) && memberIsNotSelf(member)).filter((member) => currentObjectViewers.has(member.identity.identityKey)).map((member) => {
974
1014
  const objectView = currentObjectViewers.get(member.identity.identityKey);
975
1015
  const lastSeen = objectView?.lastSeen ?? -Infinity;
@@ -1052,7 +1092,7 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
1052
1092
  var SmallPresenceLive = ({ id, open, viewers }) => {
1053
1093
  const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention.useAttention)(id);
1054
1094
  const isAttended = hasAttention || isAncestor || isRelated;
1055
- const { graph } = (0, import_plugin_graph2.useGraph)();
1095
+ const { graph } = (0, import_app_framework7.useAppGraph)();
1056
1096
  const attended = (0, import_react_ui_attention.useAttended)();
1057
1097
  const startOfAttention = attended.at(-1);
1058
1098
  const path = usePath(graph, startOfAttention);
@@ -1080,7 +1120,7 @@ var SmallPresenceLive = ({ id, open, viewers }) => {
1080
1120
  });
1081
1121
  };
1082
1122
  var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1083
- const { t } = (0, import_react_ui16.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1123
+ const { t } = (0, import_react_ui16.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1084
1124
  return /* @__PURE__ */ import_react20.default.createElement(import_react_ui16.Tooltip.Root, null, /* @__PURE__ */ import_react20.default.createElement(import_react_ui16.Tooltip.Trigger, {
1085
1125
  asChild: true
1086
1126
  }, /* @__PURE__ */ import_react20.default.createElement(import_react_ui_attention.AttentionGlyph, {
@@ -1095,25 +1135,25 @@ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1095
1135
  })), /* @__PURE__ */ import_react20.default.createElement(import_react_ui16.Tooltip.Arrow, null))));
1096
1136
  };
1097
1137
  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, {
1138
+ const { t } = (0, import_react_ui17.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1139
+ return /* @__PURE__ */ import_react22.default.createElement(import_react_ui_form4.DeprecatedFormContainer, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui_form4.DeprecatedFormInput, {
1100
1140
  label: t("show hidden spaces label")
1101
1141
  }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui17.Input.Switch, {
1102
1142
  checked: settings.showHidden,
1103
1143
  onCheckedChange: (checked) => settings.showHidden = !!checked
1104
1144
  })));
1105
1145
  };
1106
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsPanel.tsx";
1107
- 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)();
1146
+ var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsPanel.tsx";
1147
+ var SpaceSettingsPanel = ({ space }) => {
1148
+ const { t } = (0, import_react_ui18.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1149
+ const client = (0, import_react_client6.useClient)();
1110
1150
  const edgeEnabled = Boolean(client.config.values.runtime?.client?.edgeFeatures?.echoReplicator);
1111
1151
  const [edgeReplication, setEdgeReplication] = (0, import_react23.useState)(space.internal.data.edgeReplication === import_metadata.EdgeReplicationSetting.ENABLED);
1112
1152
  const toggleEdgeReplication = (0, import_react23.useCallback)(async (next) => {
1113
1153
  setEdgeReplication(next);
1114
1154
  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,
1155
+ import_log3.log.catch(err, void 0, {
1156
+ F: __dxlog_file3,
1117
1157
  L: 36,
1118
1158
  S: void 0,
1119
1159
  C: (f, a) => f(...a)
@@ -1123,10 +1163,7 @@ var SpaceSettingsPanel = ({ classNames, space }) => {
1123
1163
  }, [
1124
1164
  space
1125
1165
  ]);
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, {
1166
+ return /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormContainer, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormInput, {
1130
1167
  label: t("name label")
1131
1168
  }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui18.Input.TextInput, {
1132
1169
  placeholder: t("unnamed space label"),
@@ -1134,6 +1171,12 @@ var SpaceSettingsPanel = ({ classNames, space }) => {
1134
1171
  onChange: (event) => {
1135
1172
  space.properties.name = event.target.value;
1136
1173
  }
1174
+ })), /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormInput, {
1175
+ label: t("hue label")
1176
+ }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui_pickers.HuePickerBlock, {
1177
+ hue: space.properties.hue,
1178
+ onChangeHue: (nextHue) => space.properties.hue = nextHue,
1179
+ onClickClear: () => space.properties.hue = void 0
1137
1180
  })), edgeEnabled && /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormInput, {
1138
1181
  label: t("edge replication label")
1139
1182
  }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui18.Input.Switch, {
@@ -1141,17 +1184,23 @@ var SpaceSettingsPanel = ({ classNames, space }) => {
1141
1184
  onCheckedChange: toggleEdgeReplication
1142
1185
  })));
1143
1186
  };
1144
- var SPACE_SETTINGS_DIALOG = `${import_chunk_AO4EW2RX.SPACE_PLUGIN}/SpaceSettingsDialog`;
1187
+ var SPACE_SETTINGS_DIALOG = `${import_chunk_WZR6OAN3.SPACE_PLUGIN}/SpaceSettingsDialog`;
1145
1188
  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)();
1189
+ const { t } = (0, import_react_ui19.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1190
+ const client = (0, import_react_client7.useClient)();
1148
1191
  const [tabsActivePart, setTabsActivePart] = (0, import_react24.useState)("list");
1149
1192
  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, {
1193
+ const locked = space.properties[import_chunk_SYVPVU3K.COMPOSER_SPACE_LOCK];
1194
+ const name = (0, import_chunk_SYVPVU3K.getSpaceDisplayName)(space, {
1152
1195
  personal: client.spaces.default === space,
1153
1196
  namesCache
1154
1197
  });
1198
+ const panels = (0, import_app_framework9.useCapabilities)(import_chunk_UX3U4RU2.SpaceCapabilities.SettingsPanel);
1199
+ const data = (0, import_react24.useMemo)(() => ({
1200
+ subject: space
1201
+ }), [
1202
+ space
1203
+ ]);
1155
1204
  return (
1156
1205
  // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
1157
1206
  // Consider factoring it out to the tabs package.
@@ -1204,7 +1253,10 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
1204
1253
  }, t("settings tab label")), /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tab, {
1205
1254
  value: "members",
1206
1255
  disabled: locked
1207
- }, t("members tab label"))))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tabpanel, {
1256
+ }, t("members tab label")), panels.map((panel) => /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tab, {
1257
+ key: panel.id,
1258
+ value: panel.id
1259
+ }, (0, import_react_ui19.toLocalizedString)(panel.label, t)))))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tabpanel, {
1208
1260
  value: "settings",
1209
1261
  classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
1210
1262
  }, /* @__PURE__ */ import_react24.default.createElement(SpaceSettingsPanel, {
@@ -1217,10 +1269,17 @@ var SpaceSettingsDialog = ({ space, target, createInvitationUrl, initialTab = "m
1217
1269
  hideHeading: true,
1218
1270
  target,
1219
1271
  createInvitationUrl
1272
+ }))), panels.map((panel) => /* @__PURE__ */ import_react24.default.createElement(import_react_ui_tabs.Tabs.Tabpanel, {
1273
+ key: panel.id,
1274
+ value: panel.id,
1275
+ classNames: "pli-3 @md:pli-5 max-bs-dvh overflow-y-auto"
1276
+ }, /* @__PURE__ */ import_react24.default.createElement(import_app_framework9.Surface, {
1277
+ role: `space-settings--${panel.id}`,
1278
+ data
1220
1279
  }))))))
1221
1280
  );
1222
1281
  };
1223
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts";
1282
+ var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/sync-state.ts";
1224
1283
  var createEmptyEdgeSyncState = () => ({
1225
1284
  missingOnLocal: 0,
1226
1285
  missingOnRemote: 0,
@@ -1240,11 +1299,11 @@ var getSyncSummary = (syncMap) => {
1240
1299
  };
1241
1300
  var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${import_protocols.EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
1242
1301
  var useSyncState = () => {
1243
- const client = (0, import_react_client8.useClient)();
1302
+ const client = (0, import_react_client9.useClient)();
1244
1303
  const [spaceState, setSpaceState] = (0, import_react27.useState)({});
1245
1304
  (0, import_react27.useEffect)(() => {
1246
1305
  const ctx = new import_context.Context(void 0, {
1247
- F: __dxlog_file3,
1306
+ F: __dxlog_file4,
1248
1307
  L: 48
1249
1308
  });
1250
1309
  const createSubscriptions = (spaces) => {
@@ -1279,7 +1338,7 @@ var useSpaceSyncState = (space) => {
1279
1338
  const [spaceState, setSpaceState] = (0, import_react27.useState)();
1280
1339
  (0, import_react27.useEffect)(() => {
1281
1340
  const ctx = new import_context.Context(void 0, {
1282
- F: __dxlog_file3,
1341
+ F: __dxlog_file4,
1283
1342
  L: 87
1284
1343
  });
1285
1344
  space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
@@ -1298,7 +1357,7 @@ var useSpaceSyncState = (space) => {
1298
1357
  };
1299
1358
  var useEdgeStatus = () => {
1300
1359
  const [status, setStatus] = (0, import_react26.useState)(import_services.QueryEdgeStatusResponse.EdgeStatus.NOT_CONNECTED);
1301
- const client = (0, import_react_client7.useClient)();
1360
+ const client = (0, import_react_client8.useClient)();
1302
1361
  (0, import_react26.useEffect)(() => {
1303
1362
  client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status: status2 }) => {
1304
1363
  setStatus(status2);
@@ -1309,11 +1368,11 @@ var useEdgeStatus = () => {
1309
1368
  return status;
1310
1369
  };
1311
1370
  var InlineSyncStatus = ({ space, open }) => {
1312
- const { t } = (0, import_react_ui20.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1371
+ const { t } = (0, import_react_ui20.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1313
1372
  const id = space.id;
1314
1373
  const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention2.useAttention)(id);
1315
1374
  const isAttended = hasAttention || isAncestor || isRelated;
1316
- const { graph } = (0, import_plugin_graph3.useGraph)();
1375
+ const { graph } = (0, import_app_framework10.useAppGraph)();
1317
1376
  const attended = (0, import_react_ui_attention2.useAttended)();
1318
1377
  const startOfAttention = attended.at(-1);
1319
1378
  const path = usePath(graph, startOfAttention);
@@ -1364,13 +1423,13 @@ var useActive = (count) => {
1364
1423
  return active;
1365
1424
  };
1366
1425
  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);
1426
+ const { t } = (0, import_react_ui22.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1427
+ const client = (0, import_react_client11.useClient)();
1428
+ const space = (0, import_echo6.useSpace)(spaceId);
1370
1429
  if (!space) {
1371
1430
  return null;
1372
1431
  }
1373
- const spaceName = (0, import_react_ui22.toLocalizedString)((0, import_chunk_Z34MTEU7.getSpaceDisplayName)(space, {
1432
+ const spaceName = (0, import_react_ui22.toLocalizedString)((0, import_chunk_SYVPVU3K.getSpaceDisplayName)(space, {
1374
1433
  personal: space === client.spaces.default
1375
1434
  }), t);
1376
1435
  return /* @__PURE__ */ import_react29.default.createElement(SpaceRow, {
@@ -1438,7 +1497,7 @@ var Bar = ({ classNames, count, total }) => {
1438
1497
  className: "absolute top-0 bottom-0 flex items-center mx-0.5 text-black text-xs"
1439
1498
  }, count));
1440
1499
  };
1441
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
1500
+ var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
1442
1501
  var createClientSaveTracker = (client, cb) => {
1443
1502
  const unsubscribeCallbacks = {};
1444
1503
  const state = {};
@@ -1466,7 +1525,7 @@ var createClientSaveTracker = (client, cb) => {
1466
1525
  };
1467
1526
  var createSpaceSaveTracker = (space, cb) => {
1468
1527
  const ctx = new import_context2.Context(void 0, {
1469
- F: __dxlog_file4,
1528
+ F: __dxlog_file5,
1470
1529
  L: 40
1471
1530
  });
1472
1531
  void space.waitUntilReady().then(() => {
@@ -1525,7 +1584,7 @@ var getIcon = (status) => {
1525
1584
  }
1526
1585
  };
1527
1586
  var SyncStatus = () => {
1528
- const client = (0, import_react_client9.useClient)();
1587
+ const client = (0, import_react_client10.useClient)();
1529
1588
  const state = useSyncState();
1530
1589
  const [saved, setSaved] = (0, import_react28.useState)(true);
1531
1590
  (0, import_react28.useEffect)(() => {
@@ -1539,7 +1598,7 @@ var SyncStatus = () => {
1539
1598
  });
1540
1599
  };
1541
1600
  var SyncStatusIndicator = ({ state, saved }) => {
1542
- const { t } = (0, import_react_ui21.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1601
+ const { t } = (0, import_react_ui21.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1543
1602
  const summary = getSyncSummary(state);
1544
1603
  const offline = Object.values(state).length === 0;
1545
1604
  const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
@@ -1580,18 +1639,16 @@ var SyncStatusIndicator = ({ state, saved }) => {
1580
1639
  asChild: true
1581
1640
  }, /* @__PURE__ */ import_react28.default.createElement(import_plugin_status_bar.StatusBar.Button, {
1582
1641
  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, {
1642
+ }, 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
1643
  state,
1587
1644
  summary,
1588
1645
  debug: false
1589
- }))));
1646
+ }), /* @__PURE__ */ import_react28.default.createElement(import_react_ui21.Popover.Arrow, null))));
1590
1647
  }
1591
1648
  };
1592
1649
  var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
1593
1650
  const [showAll, setShowAll] = (0, import_react28.useState)(false);
1594
- const { t } = (0, import_react_ui21.useTranslation)(import_chunk_AO4EW2RX.SPACE_PLUGIN);
1651
+ const { t } = (0, import_react_ui21.useTranslation)(import_chunk_WZR6OAN3.SPACE_PLUGIN);
1595
1652
  const entries = Object.entries(state).filter(([_, value]) => showAll || value.missingOnLocal + value.missingOnRemote > 0).toSorted(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
1596
1653
  const handleCheckedChange = (0, import_react28.useCallback)((state2) => setShowAll(state2), [
1597
1654
  setShowAll
@@ -1666,4 +1723,4 @@ var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
1666
1723
  SyncStatusDetail,
1667
1724
  SyncStatusIndicator
1668
1725
  });
1669
- //# sourceMappingURL=chunk-M64YG2FY.cjs.map
1726
+ //# sourceMappingURL=chunk-4AZ2DD4G.cjs.map