@dxos/shell 0.7.3-staging.cc8dd3e → 0.7.3

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 (89) hide show
  1. package/dist/bundle/shell.mjs +71384 -71355
  2. package/dist/bundle/shell.mjs.map +1 -1
  3. package/dist/bundle/shell.umd.js +123 -123
  4. package/dist/bundle/shell.umd.js.map +1 -1
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/react.mjs +641 -758
  7. package/dist/lib/browser/react.mjs.map +4 -4
  8. package/dist/lib/node/meta.json +1 -1
  9. package/dist/lib/node/react.cjs +732 -848
  10. package/dist/lib/node/react.cjs.map +4 -4
  11. package/dist/lib/node-esm/meta.json +1 -1
  12. package/dist/lib/node-esm/react.mjs +641 -758
  13. package/dist/lib/node-esm/react.mjs.map +4 -4
  14. package/dist/types/src/components/InvitationList/InvitationListItem.d.ts.map +1 -1
  15. package/dist/types/src/components/InvitationList/InvitationListItem.js +1 -2
  16. package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
  17. package/dist/types/src/components/StorybookDialog.d.ts.map +1 -1
  18. package/dist/types/src/components/StorybookDialog.js +1 -2
  19. package/dist/types/src/components/StorybookDialog.js.map +1 -1
  20. package/dist/types/src/components/index.d.ts +0 -1
  21. package/dist/types/src/components/index.d.ts.map +1 -1
  22. package/dist/types/src/components/index.js +0 -1
  23. package/dist/types/src/components/index.js.map +1 -1
  24. package/dist/types/src/composites/IdentityDialog/IdentityDialog.d.ts.map +1 -1
  25. package/dist/types/src/composites/IdentityDialog/IdentityDialog.js +1 -2
  26. package/dist/types/src/composites/IdentityDialog/IdentityDialog.js.map +1 -1
  27. package/dist/types/src/composites/Shell/run-shell.d.ts.map +1 -1
  28. package/dist/types/src/composites/Shell/run-shell.js +1 -2
  29. package/dist/types/src/composites/Shell/run-shell.js.map +1 -1
  30. package/dist/types/src/composites/SpaceDialog/SpaceDialog.d.ts.map +1 -1
  31. package/dist/types/src/composites/SpaceDialog/SpaceDialog.js +1 -2
  32. package/dist/types/src/composites/SpaceDialog/SpaceDialog.js.map +1 -1
  33. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  34. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +2 -18
  35. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  36. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +0 -1
  37. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
  38. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
  39. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +1 -1
  40. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
  41. package/dist/types/src/panels/JoinPanel/JoinPanel.js +5 -5
  42. package/dist/types/src/panels/JoinPanel/JoinPanel.js.map +1 -1
  43. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.d.ts +2 -1
  44. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.d.ts.map +1 -1
  45. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js +14 -9
  46. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js.map +1 -1
  47. package/dist/types/src/panels/JoinPanel/steps/InvitationInput.d.ts.map +1 -1
  48. package/dist/types/src/panels/JoinPanel/steps/InvitationInput.js +1 -3
  49. package/dist/types/src/panels/JoinPanel/steps/InvitationInput.js.map +1 -1
  50. package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
  51. package/dist/types/src/steps/InvitationManager.js +1 -1
  52. package/dist/types/src/steps/InvitationManager.js.map +1 -1
  53. package/dist/types/src/stories/Invitations.e2e-stories.js +2 -2
  54. package/dist/types/src/stories/Invitations.e2e-stories.js.map +1 -1
  55. package/dist/types/src/translations/locales/en-US.d.ts +4 -0
  56. package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
  57. package/dist/types/src/translations/locales/en-US.js +8 -4
  58. package/dist/types/src/translations/locales/en-US.js.map +1 -1
  59. package/package.json +25 -25
  60. package/src/components/InvitationList/InvitationListItem.tsx +2 -2
  61. package/src/components/StorybookDialog.tsx +3 -5
  62. package/src/components/index.ts +0 -1
  63. package/src/composites/IdentityDialog/IdentityDialog.tsx +3 -4
  64. package/src/composites/Shell/run-shell.tsx +3 -4
  65. package/src/composites/SpaceDialog/SpaceDialog.tsx +3 -4
  66. package/src/panels/IdentityPanel/IdentityPanel.tsx +4 -37
  67. package/src/panels/IdentityPanel/IdentityPanelProps.ts +0 -1
  68. package/src/panels/IdentityPanel/steps/ProfileForm.tsx +3 -11
  69. package/src/panels/JoinPanel/JoinPanel.tsx +2 -2
  70. package/src/panels/JoinPanel/steps/IdentityInput.tsx +23 -13
  71. package/src/panels/JoinPanel/steps/InvitationInput.tsx +1 -2
  72. package/src/steps/InvitationManager.tsx +3 -13
  73. package/src/stories/Invitations.e2e-stories.tsx +5 -5
  74. package/src/translations/locales/en-US.ts +8 -4
  75. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts +0 -9
  76. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +0 -1
  77. package/dist/types/src/components/Clipboard/ClipboardProvider.js +0 -46
  78. package/dist/types/src/components/Clipboard/ClipboardProvider.js.map +0 -1
  79. package/dist/types/src/components/Clipboard/CopyButton.d.ts +0 -10
  80. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +0 -1
  81. package/dist/types/src/components/Clipboard/CopyButton.js +0 -65
  82. package/dist/types/src/components/Clipboard/CopyButton.js.map +0 -1
  83. package/dist/types/src/components/Clipboard/index.d.ts +0 -3
  84. package/dist/types/src/components/Clipboard/index.d.ts.map +0 -1
  85. package/dist/types/src/components/Clipboard/index.js +0 -22
  86. package/dist/types/src/components/Clipboard/index.js.map +0 -1
  87. package/src/components/Clipboard/ClipboardProvider.tsx +0 -26
  88. package/src/components/Clipboard/CopyButton.tsx +0 -70
  89. package/src/components/Clipboard/index.ts +0 -6
@@ -34,14 +34,10 @@ __export(react_exports, {
34
34
  AuthCode: () => AuthCode,
35
35
  BifurcatedAction: () => BifurcatedAction,
36
36
  Centered: () => Centered,
37
- ClipboardContext: () => ClipboardContext,
38
- ClipboardProvider: () => ClipboardProvider,
39
37
  CloseButton: () => CloseButton,
40
38
  CompoundButton: () => CompoundButton,
41
39
  ConfirmReset: () => ConfirmReset,
42
40
  ConfirmResetImpl: () => ConfirmResetImpl,
43
- CopyButton: () => CopyButton,
44
- CopyButtonIconOnly: () => CopyButtonIconOnly,
45
41
  DeviceList: () => DeviceList,
46
42
  Emoji: () => Emoji,
47
43
  EmojiPickerBlock: () => EmojiPickerBlock,
@@ -97,7 +93,6 @@ __export(react_exports, {
97
93
  successBgColor: () => successBgColor,
98
94
  successStrokeColor: () => successStrokeColor,
99
95
  successTextColor: () => successTextColor,
100
- useClipboardContext: () => useClipboardContext,
101
96
  useShell: () => useShell,
102
97
  useViewportContext: () => useViewportContext
103
98
  });
@@ -107,231 +102,225 @@ var import_react = require("@phosphor-icons/react");
107
102
  var import_react2 = __toESM(require("react"));
108
103
  var import_react_ui = require("@dxos/react-ui");
109
104
  var import_react_ui_theme = require("@dxos/react-ui-theme");
110
- var import_react3 = require("@phosphor-icons/react");
111
- var import_react4 = __toESM(require("react"));
105
+ var import_react3 = __toESM(require("react"));
112
106
  var import_react_ui2 = require("@dxos/react-ui");
113
107
  var import_react_ui_theme2 = require("@dxos/react-ui-theme");
114
- var import_react5 = __toESM(require("react"));
108
+ var import_data = __toESM(require("@emoji-mart/data"));
109
+ var import_react4 = __toESM(require("@emoji-mart/react"));
110
+ var import_react5 = require("@phosphor-icons/react");
111
+ var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
115
112
  var import_react6 = __toESM(require("react"));
116
113
  var import_react_ui3 = require("@dxos/react-ui");
117
114
  var import_react_ui_theme3 = require("@dxos/react-ui-theme");
118
- var import_data = __toESM(require("@emoji-mart/data"));
119
- var import_react7 = __toESM(require("@emoji-mart/react"));
120
- var import_react8 = require("@phosphor-icons/react");
121
- var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
122
- var import_react9 = __toESM(require("react"));
115
+ var import_react7 = require("@phosphor-icons/react");
116
+ var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
117
+ var import_react8 = __toESM(require("react"));
123
118
  var import_react_ui4 = require("@dxos/react-ui");
124
119
  var import_react_ui_theme4 = require("@dxos/react-ui-theme");
125
- var import_react10 = require("@phosphor-icons/react");
126
- var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
127
- var import_react11 = __toESM(require("react"));
128
- var import_react_ui5 = require("@dxos/react-ui");
129
- var import_react_ui_theme5 = require("@dxos/react-ui-theme");
130
- var import_react12 = __toESM(require("react"));
120
+ var import_react9 = __toESM(require("react"));
131
121
  var import_display_name = require("@dxos/display-name");
132
122
  var import_echo = require("@dxos/react-client/echo");
133
- var import_react_ui6 = require("@dxos/react-ui");
134
- var import_react_ui_theme6 = require("@dxos/react-ui-theme");
123
+ var import_react_ui5 = require("@dxos/react-ui");
124
+ var import_react_ui_theme5 = require("@dxos/react-ui-theme");
135
125
  var import_util = require("@dxos/util");
136
- var import_react13 = __toESM(require("react"));
126
+ var import_react10 = __toESM(require("react"));
137
127
  var import_react_client = require("@dxos/react-client");
138
128
  var import_echo2 = require("@dxos/react-client/echo");
129
+ var import_react_ui6 = require("@dxos/react-ui");
130
+ var import_react_ui_theme6 = require("@dxos/react-ui-theme");
131
+ var import_react11 = require("@phosphor-icons/react");
132
+ var import_react12 = __toESM(require("react"));
139
133
  var import_react_ui7 = require("@dxos/react-ui");
140
134
  var import_react_ui_theme7 = require("@dxos/react-ui-theme");
141
- var import_react14 = require("@phosphor-icons/react");
142
- var import_react15 = __toESM(require("react"));
143
- var import_react_ui8 = require("@dxos/react-ui");
144
- var import_react_ui_theme8 = require("@dxos/react-ui-theme");
145
- var import_react16 = require("@phosphor-icons/react");
146
- var import_react17 = __toESM(require("react"));
135
+ var import_react13 = require("@phosphor-icons/react");
136
+ var import_react14 = __toESM(require("react"));
147
137
  var import_display_name2 = require("@dxos/display-name");
148
138
  var import_halo = require("@dxos/react-client/halo");
149
139
  var import_mesh = require("@dxos/react-client/mesh");
150
- var import_react_ui9 = require("@dxos/react-ui");
151
- var import_react_ui_theme9 = require("@dxos/react-ui-theme");
140
+ var import_react_ui8 = require("@dxos/react-ui");
141
+ var import_react_ui_theme8 = require("@dxos/react-ui-theme");
152
142
  var import_util2 = require("@dxos/util");
153
- var import_react18 = require("@phosphor-icons/react");
143
+ var import_react15 = require("@phosphor-icons/react");
154
144
  var import_date_fns = require("date-fns");
155
- var import_react19 = __toESM(require("react"));
145
+ var import_react16 = __toESM(require("react"));
156
146
  var import_invitations = require("@dxos/react-client/invitations");
157
- var import_react_ui10 = require("@dxos/react-ui");
158
- var import_react_ui_theme10 = require("@dxos/react-ui-theme");
147
+ var import_react_ui9 = require("@dxos/react-ui");
148
+ var import_react_ui_theme9 = require("@dxos/react-ui-theme");
159
149
  var import_util3 = require("@dxos/util");
160
- var import_react20 = __toESM(require("react"));
150
+ var import_react17 = __toESM(require("react"));
151
+ var import_react_ui_theme10 = require("@dxos/react-ui-theme");
152
+ var import_react18 = __toESM(require("react"));
153
+ var import_echo3 = require("@dxos/react-client/echo");
154
+ var import_react19 = __toESM(require("react"));
155
+ var import_react_ui10 = require("@dxos/react-ui");
161
156
  var import_react_ui_theme11 = require("@dxos/react-ui-theme");
157
+ var import_react20 = require("@phosphor-icons/react");
158
+ var import_react_use_controllable_state3 = require("@radix-ui/react-use-controllable-state");
162
159
  var import_react21 = __toESM(require("react"));
163
- var import_echo3 = require("@dxos/react-client/echo");
164
- var import_react22 = __toESM(require("react"));
165
160
  var import_react_ui11 = require("@dxos/react-ui");
166
161
  var import_react_ui_theme12 = require("@dxos/react-ui-theme");
162
+ var import_react22 = __toESM(require("react"));
163
+ var import_react_ui_theme13 = require("@dxos/react-ui-theme");
167
164
  var import_react23 = require("@phosphor-icons/react");
168
- var import_react_use_controllable_state3 = require("@radix-ui/react-use-controllable-state");
169
165
  var import_react24 = __toESM(require("react"));
170
166
  var import_react_ui12 = require("@dxos/react-ui");
171
- var import_react_ui_theme13 = require("@dxos/react-ui-theme");
172
- var import_react25 = __toESM(require("react"));
173
167
  var import_react_ui_theme14 = require("@dxos/react-ui-theme");
174
- var import_react26 = require("@phosphor-icons/react");
175
- var import_react27 = __toESM(require("react"));
176
- var import_react_ui13 = require("@dxos/react-ui");
168
+ var import_react25 = __toESM(require("react"));
177
169
  var import_react_ui_theme15 = require("@dxos/react-ui-theme");
178
- var import_react28 = __toESM(require("react"));
170
+ var import_react26 = __toESM(require("react"));
179
171
  var import_react_ui_theme16 = require("@dxos/react-ui-theme");
180
- var import_react29 = __toESM(require("react"));
172
+ var import_react27 = __toESM(require("react"));
181
173
  var import_react_ui_theme17 = require("@dxos/react-ui-theme");
182
- var import_react30 = __toESM(require("react"));
174
+ var import_react28 = __toESM(require("react"));
175
+ var import_react_ui13 = require("@dxos/react-ui");
176
+ var import_react29 = __toESM(require("react"));
183
177
  var import_react_ui_theme18 = require("@dxos/react-ui-theme");
184
- var import_react31 = __toESM(require("react"));
185
- var import_react_ui14 = require("@dxos/react-ui");
186
- var import_react32 = __toESM(require("react"));
187
- var import_react_ui_theme19 = require("@dxos/react-ui-theme");
188
178
  var import_react_tabster = require("@fluentui/react-tabster");
189
179
  var import_react_context = require("@radix-ui/react-context");
190
180
  var import_react_use_controllable_state4 = require("@radix-ui/react-use-controllable-state");
191
- var import_react33 = __toESM(require("react"));
181
+ var import_react30 = __toESM(require("react"));
182
+ var import_react_ui14 = require("@dxos/react-ui");
183
+ var import_react_ui_theme19 = require("@dxos/react-ui-theme");
184
+ var import_react31 = __toESM(require("react"));
192
185
  var import_react_ui15 = require("@dxos/react-ui");
193
186
  var import_react_ui_theme20 = require("@dxos/react-ui-theme");
194
- var import_react34 = __toESM(require("react"));
195
- var import_react_ui16 = require("@dxos/react-ui");
196
- var import_react_ui_theme21 = require("@dxos/react-ui-theme");
197
187
  var import_util4 = require("@dxos/util");
198
- var import_react35 = __toESM(require("react"));
199
- var import_react_ui17 = require("@dxos/react-ui");
200
- var import_react36 = require("@phosphor-icons/react");
201
- var import_react37 = __toESM(require("react"));
188
+ var import_react32 = __toESM(require("react"));
189
+ var import_react_ui16 = require("@dxos/react-ui");
190
+ var import_react33 = require("@phosphor-icons/react");
191
+ var import_react34 = __toESM(require("react"));
202
192
  var import_display_name3 = require("@dxos/display-name");
203
- var import_invariant = require("@dxos/invariant");
204
193
  var import_log = require("@dxos/log");
205
194
  var import_react_client2 = require("@dxos/react-client");
206
195
  var import_halo2 = require("@dxos/react-client/halo");
207
196
  var import_invitations2 = require("@dxos/react-client/invitations");
208
197
  var import_mesh2 = require("@dxos/react-client/mesh");
209
- var import_react_ui18 = require("@dxos/react-ui");
210
- var import_react_ui_theme22 = require("@dxos/react-ui-theme");
198
+ var import_react_ui17 = require("@dxos/react-ui");
199
+ var import_react_ui_theme21 = require("@dxos/react-ui-theme");
211
200
  var import_util5 = require("@dxos/util");
212
- var import_react38 = require("@xstate/react");
201
+ var import_react35 = require("@xstate/react");
213
202
  var import_xstate = require("xstate");
214
203
  var import_log2 = require("@dxos/log");
215
- var import_react39 = __toESM(require("react"));
204
+ var import_react36 = __toESM(require("react"));
216
205
  var import_log3 = require("@dxos/log");
217
206
  var import_react_client3 = require("@dxos/react-client");
218
207
  var import_halo3 = require("@dxos/react-client/halo");
219
208
  var import_invitations3 = require("@dxos/react-client/invitations");
220
- var import_react40 = __toESM(require("react"));
209
+ var import_react37 = __toESM(require("react"));
221
210
  var import_log4 = require("@dxos/log");
222
- var import_react_ui19 = require("@dxos/react-ui");
211
+ var import_react_ui18 = require("@dxos/react-ui");
223
212
  var import_util6 = require("@dxos/util");
224
213
  var import_react_client4 = require("@dxos/react-client");
225
- var import_react41 = require("react");
226
- var import_invariant2 = require("@dxos/invariant");
214
+ var import_react38 = require("react");
215
+ var import_invariant = require("@dxos/invariant");
227
216
  var import_log5 = require("@dxos/log");
228
217
  var import_services = require("@dxos/protocols/proto/dxos/client/services");
229
218
  var import_metadata = require("@dxos/protocols/proto/dxos/echo/metadata");
230
219
  var import_react_client5 = require("@dxos/react-client");
231
- var import_react42 = require("react");
232
- var import_invariant3 = require("@dxos/invariant");
220
+ var import_react39 = require("react");
221
+ var import_invariant2 = require("@dxos/invariant");
233
222
  var import_log6 = require("@dxos/log");
234
223
  var import_react_client6 = require("@dxos/react-client");
235
224
  var import_invitations4 = require("@dxos/react-client/invitations");
236
- var import_react43 = require("@phosphor-icons/react");
237
- var import_react44 = __toESM(require("react"));
225
+ var import_react40 = require("@phosphor-icons/react");
226
+ var import_react41 = __toESM(require("react"));
238
227
  var import_react_qr_rounded = require("react-qr-rounded");
239
- var import_react_ui20 = require("@dxos/react-ui");
240
- var import_react_ui_theme23 = require("@dxos/react-ui-theme");
228
+ var import_react_ui19 = require("@dxos/react-ui");
229
+ var import_react_ui_theme22 = require("@dxos/react-ui-theme");
241
230
  var import_util7 = require("@dxos/util");
242
231
  var import_invitations5 = require("@dxos/react-client/invitations");
243
- var import_react45 = require("@phosphor-icons/react");
244
- var import_react46 = __toESM(require("react"));
232
+ var import_react42 = require("@phosphor-icons/react");
233
+ var import_react43 = __toESM(require("react"));
245
234
  var import_log7 = require("@dxos/log");
246
- var import_react_ui21 = require("@dxos/react-ui");
247
- var import_react_ui_theme24 = require("@dxos/react-ui-theme");
248
- var import_react47 = __toESM(require("react"));
235
+ var import_react_ui20 = require("@dxos/react-ui");
236
+ var import_react_ui_theme23 = require("@dxos/react-ui-theme");
237
+ var import_react44 = __toESM(require("react"));
249
238
  var import_log8 = require("@dxos/log");
250
239
  var import_react_client7 = require("@dxos/react-client");
251
240
  var import_halo4 = require("@dxos/react-client/halo");
241
+ var import_react_ui21 = require("@dxos/react-ui");
242
+ var import_react45 = require("@phosphor-icons/react");
243
+ var import_react46 = __toESM(require("react"));
252
244
  var import_react_ui22 = require("@dxos/react-ui");
253
- var import_react48 = require("@phosphor-icons/react");
254
- var import_react49 = __toESM(require("react"));
255
- var import_react_ui23 = require("@dxos/react-ui");
256
- var import_react_ui_theme25 = require("@dxos/react-ui-theme");
257
- var import_react50 = require("@xstate/react");
258
- var import_react51 = require("react");
245
+ var import_react_ui_theme24 = require("@dxos/react-ui-theme");
246
+ var import_react47 = require("@xstate/react");
247
+ var import_react48 = require("react");
259
248
  var import_xstate2 = require("xstate");
260
249
  var import_log9 = require("@dxos/log");
261
250
  var import_react_client8 = require("@dxos/react-client");
262
251
  var import_invitations6 = require("@dxos/react-client/invitations");
263
- var import_react52 = require("@phosphor-icons/react");
264
- var import_react53 = __toESM(require("react"));
252
+ var import_react49 = require("@phosphor-icons/react");
253
+ var import_react50 = __toESM(require("react"));
254
+ var import_react_ui23 = require("@dxos/react-ui");
255
+ var import_react_ui_theme25 = require("@dxos/react-ui-theme");
256
+ var import_react51 = __toESM(require("react"));
257
+ var import_display_name4 = require("@dxos/display-name");
265
258
  var import_react_ui24 = require("@dxos/react-ui");
266
259
  var import_react_ui_theme26 = require("@dxos/react-ui-theme");
267
- var import_react54 = __toESM(require("react"));
268
- var import_display_name4 = require("@dxos/display-name");
269
- var import_react_ui25 = require("@dxos/react-ui");
270
- var import_react_ui_theme27 = require("@dxos/react-ui-theme");
271
260
  var import_util8 = require("@dxos/util");
272
- var import_react55 = __toESM(require("react"));
261
+ var import_react52 = __toESM(require("react"));
273
262
  var import_log10 = require("@dxos/log");
274
263
  var import_react_client9 = require("@dxos/react-client");
264
+ var import_react_ui25 = require("@dxos/react-ui");
265
+ var import_react53 = __toESM(require("react"));
275
266
  var import_react_ui26 = require("@dxos/react-ui");
276
- var import_react56 = __toESM(require("react"));
277
- var import_react_ui27 = require("@dxos/react-ui");
278
- var import_react57 = __toESM(require("react"));
267
+ var import_react54 = __toESM(require("react"));
279
268
  var import_log11 = require("@dxos/log");
269
+ var import_react_ui27 = require("@dxos/react-ui");
270
+ var import_react55 = __toESM(require("react"));
280
271
  var import_react_ui28 = require("@dxos/react-ui");
281
- var import_react58 = __toESM(require("react"));
272
+ var import_react_ui_theme27 = require("@dxos/react-ui-theme");
273
+ var import_react56 = __toESM(require("react"));
274
+ var import_invitations7 = require("@dxos/react-client/invitations");
282
275
  var import_react_ui29 = require("@dxos/react-ui");
283
276
  var import_react_ui_theme28 = require("@dxos/react-ui-theme");
284
- var import_react59 = __toESM(require("react"));
285
- var import_invitations7 = require("@dxos/react-client/invitations");
286
- var import_react_ui30 = require("@dxos/react-ui");
287
- var import_react_ui_theme29 = require("@dxos/react-ui-theme");
288
277
  var import_util9 = require("@dxos/util");
289
278
  var import_invitations8 = require("@dxos/react-client/invitations");
290
- var import_react60 = require("@phosphor-icons/react");
291
- var import_react61 = __toESM(require("react"));
279
+ var import_react57 = require("@phosphor-icons/react");
280
+ var import_react58 = __toESM(require("react"));
292
281
  var import_log12 = require("@dxos/log");
293
282
  var import_invitations9 = require("@dxos/react-client/invitations");
294
- var import_react_ui31 = require("@dxos/react-ui");
295
- var import_react62 = require("@xstate/react");
283
+ var import_react_ui30 = require("@dxos/react-ui");
284
+ var import_react59 = require("@xstate/react");
296
285
  var import_xstate3 = require("xstate");
297
286
  var import_log13 = require("@dxos/log");
298
- var import_react63 = require("@phosphor-icons/react");
299
- var import_react64 = __toESM(require("react"));
287
+ var import_react60 = require("@phosphor-icons/react");
288
+ var import_react61 = __toESM(require("react"));
300
289
  var import_log14 = require("@dxos/log");
301
290
  var import_react_client10 = require("@dxos/react-client");
302
291
  var import_echo4 = require("@dxos/react-client/echo");
303
292
  var import_invitations10 = require("@dxos/react-client/invitations");
293
+ var import_react_ui31 = require("@dxos/react-ui");
294
+ var import_react_ui_theme29 = require("@dxos/react-ui-theme");
295
+ var import_react62 = __toESM(require("react"));
304
296
  var import_react_ui32 = require("@dxos/react-ui");
305
- var import_react_ui_theme30 = require("@dxos/react-ui-theme");
306
- var import_react65 = __toESM(require("react"));
297
+ var import_react63 = __toESM(require("react"));
307
298
  var import_react_ui33 = require("@dxos/react-ui");
308
- var import_react66 = __toESM(require("react"));
309
- var import_react_ui34 = require("@dxos/react-ui");
310
- var import_react67 = __toESM(require("react"));
299
+ var import_react64 = __toESM(require("react"));
311
300
  var import_client = require("react-dom/client");
312
301
  var import_client_protocol = require("@dxos/client-protocol");
313
302
  var import_react_client11 = require("@dxos/react-client");
314
- var import_react_ui35 = require("@dxos/react-ui");
315
- var import_react_ui_theme31 = require("@dxos/react-ui-theme");
303
+ var import_react_ui34 = require("@dxos/react-ui");
304
+ var import_react_ui_theme30 = require("@dxos/react-ui-theme");
316
305
  var import_rpc_tunnel = require("@dxos/rpc-tunnel");
317
- var import_react68 = __toESM(require("react"));
306
+ var import_react65 = __toESM(require("react"));
318
307
  var import_log15 = require("@dxos/log");
319
308
  var import_react_client12 = require("@dxos/react-client");
320
309
  var import_react_client13 = require("@dxos/react-client");
321
310
  var import_echo5 = require("@dxos/react-client/echo");
322
- var import_react69 = __toESM(require("react"));
311
+ var import_react66 = __toESM(require("react"));
312
+ var import_react_ui35 = require("@dxos/react-ui");
313
+ var import_react67 = __toESM(require("react"));
323
314
  var import_react_ui36 = require("@dxos/react-ui");
324
- var import_react70 = __toESM(require("react"));
325
- var import_react_ui37 = require("@dxos/react-ui");
326
315
  var import_async = require("@dxos/async");
327
316
  var import_client_protocol2 = require("@dxos/client-protocol");
328
- var import_invariant4 = require("@dxos/invariant");
317
+ var import_invariant3 = require("@dxos/invariant");
329
318
  var import_iframe = require("@dxos/protocols/proto/dxos/iframe");
330
319
  var import_rpc = require("@dxos/rpc");
331
- var import_react71 = __toESM(require("react"));
320
+ var import_react68 = __toESM(require("react"));
332
321
  var import_react_client14 = require("@dxos/react-client");
333
322
  var import_halo5 = require("@dxos/react-client/halo");
334
- var import_react_ui_theme32 = require("@dxos/react-ui-theme");
323
+ var import_react_ui_theme31 = require("@dxos/react-ui-theme");
335
324
  var import_async2 = require("@dxos/async");
336
325
  var import_react_client15 = require("@dxos/react-client");
337
326
  var AgentConfig = ({ agentStatus, validationMessage, onAgentDestroy, onAgentCreate, onAgentRefresh }) => {
@@ -417,92 +406,11 @@ var AgentConfig = ({ agentStatus, validationMessage, onAgentDestroy, onAgentCrea
417
406
  className: import_react_ui_theme.descriptionText
418
407
  }, t("create agent description")))));
419
408
  };
420
- var ClipboardContext = /* @__PURE__ */ (0, import_react5.createContext)({
421
- textValue: "",
422
- setTextValue: async (_) => {
423
- }
424
- });
425
- var useClipboardContext = () => (0, import_react5.useContext)(ClipboardContext);
426
- var ClipboardProvider = ({ children }) => {
427
- const [textValue, setInternalTextValue] = (0, import_react5.useState)("");
428
- const setTextValue = (0, import_react5.useCallback)(async (nextValue) => {
429
- await navigator.clipboard.writeText(nextValue);
430
- return setInternalTextValue(nextValue);
431
- }, []);
432
- return /* @__PURE__ */ import_react5.default.createElement(ClipboardContext.Provider, {
433
- value: {
434
- textValue,
435
- setTextValue
436
- }
437
- }, children);
438
- };
439
- var inactiveLabelStyles = "invisible bs-px -mbe-px overflow-hidden";
440
- var CopyButton = ({ value, classNames, iconProps: iconProps2, ...props }) => {
441
- const { t } = (0, import_react_ui2.useTranslation)("os");
442
- const { textValue, setTextValue } = useClipboardContext();
443
- const isCopied = textValue === value;
444
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Button, {
445
- ...props,
446
- classNames: [
447
- "inline-flex flex-col justify-center",
448
- classNames
449
- ],
450
- onClick: () => setTextValue(value),
451
- "data-testid": "copy-invitation"
452
- }, /* @__PURE__ */ import_react4.default.createElement("div", {
453
- role: "none",
454
- className: (0, import_react_ui_theme2.mx)("flex gap-1 items-center", isCopied && inactiveLabelStyles)
455
- }, /* @__PURE__ */ import_react4.default.createElement("span", {
456
- className: "pli-1"
457
- }, t("copy invitation code label")), /* @__PURE__ */ import_react4.default.createElement(import_react3.Copy, {
458
- className: (0, import_react_ui_theme2.getSize)(5),
459
- ...iconProps2
460
- })), /* @__PURE__ */ import_react4.default.createElement("div", {
461
- role: "none",
462
- className: (0, import_react_ui_theme2.mx)("flex gap-1 items-center", !isCopied && inactiveLabelStyles)
463
- }, /* @__PURE__ */ import_react4.default.createElement("span", {
464
- className: "pli-1"
465
- }, t("copy success label")), /* @__PURE__ */ import_react4.default.createElement(import_react3.Check, {
466
- className: (0, import_react_ui_theme2.getSize)(5),
467
- ...iconProps2
468
- })));
469
- };
470
- var CopyButtonIconOnly = ({ value, classNames, iconProps: iconProps2, variant, ...props }) => {
471
- const { t } = (0, import_react_ui2.useTranslation)("os");
472
- const { textValue, setTextValue } = useClipboardContext();
473
- const isCopied = textValue === value;
474
- const label = isCopied ? t("copy success label") : t("copy invitation code label");
475
- const [open, setOpen] = (0, import_react4.useState)(false);
476
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Root, {
477
- delayDuration: 1500,
478
- open,
479
- onOpenChange: setOpen
480
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Content, {
481
- side: "bottom",
482
- sideOffset: 12,
483
- classNames: "z-30"
484
- }, /* @__PURE__ */ import_react4.default.createElement("span", null, label), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Arrow, null))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Tooltip.Trigger, {
485
- "aria-label": label,
486
- ...props,
487
- onClick: () => setTextValue(value).then(() => setOpen(true)),
488
- "data-testid": "copy-invitation",
489
- asChild: true
490
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Button, {
491
- variant,
492
- classNames: [
493
- "inline-flex flex-col justify-center",
494
- classNames
495
- ]
496
- }, /* @__PURE__ */ import_react4.default.createElement(import_react3.Copy, {
497
- className: (0, import_react_ui_theme2.getSize)(5),
498
- ...iconProps2
499
- }))));
500
- };
501
409
  var CompoundButton = ({ children, description, before, after, variant = "default", elevation: propsElevation, slots = {}, ...buttonProps }) => {
502
- const labelId = (0, import_react_ui3.useId)("compoundButton-label");
503
- const descriptionId = (0, import_react_ui3.useId)("compoundButton-description");
504
- const { tx } = (0, import_react_ui3.useThemeContext)();
505
- const elevation = (0, import_react_ui3.useElevationContext)(propsElevation);
410
+ const labelId = (0, import_react_ui2.useId)("compoundButton-label");
411
+ const descriptionId = (0, import_react_ui2.useId)("compoundButton-description");
412
+ const { tx } = (0, import_react_ui2.useThemeContext)();
413
+ const elevation = (0, import_react_ui2.useElevationContext)(propsElevation);
506
414
  const styleProps = {
507
415
  ...buttonProps,
508
416
  variant,
@@ -510,7 +418,7 @@ var CompoundButton = ({ children, description, before, after, variant = "default
510
418
  textWrap: true
511
419
  };
512
420
  const buttonClassName = tx("button.root", "button button--compound", styleProps, "flex items-center gap-4 plb-2.5", slots.root?.className);
513
- return /* @__PURE__ */ import_react6.default.createElement("button", {
421
+ return /* @__PURE__ */ import_react3.default.createElement("button", {
514
422
  ...buttonProps,
515
423
  ...slots.root,
516
424
  className: buttonClassName,
@@ -518,38 +426,38 @@ var CompoundButton = ({ children, description, before, after, variant = "default
518
426
  ...description && {
519
427
  "aria-describedby": descriptionId
520
428
  }
521
- }, before && /* @__PURE__ */ import_react6.default.createElement("div", {
429
+ }, before && /* @__PURE__ */ import_react3.default.createElement("div", {
522
430
  role: "none",
523
431
  className: "grow-0"
524
- }, before), /* @__PURE__ */ import_react6.default.createElement("div", {
432
+ }, before), /* @__PURE__ */ import_react3.default.createElement("div", {
525
433
  role: "none",
526
434
  ...slots.middle,
527
- className: (0, import_react_ui_theme3.mx)("grow whitespace-normal flex flex-col gap-1 text-left", slots.middle?.className)
528
- }, /* @__PURE__ */ import_react6.default.createElement("p", {
435
+ className: (0, import_react_ui_theme2.mx)("grow whitespace-normal flex flex-col gap-1 text-left", slots.middle?.className)
436
+ }, /* @__PURE__ */ import_react3.default.createElement("p", {
529
437
  ...slots.label,
530
438
  id: labelId,
531
- className: (0, import_react_ui_theme3.mx)(slots.label?.className)
532
- }, children), description && /* @__PURE__ */ import_react6.default.createElement("p", {
439
+ className: (0, import_react_ui_theme2.mx)(slots.label?.className)
440
+ }, children), description && /* @__PURE__ */ import_react3.default.createElement("p", {
533
441
  id: descriptionId,
534
442
  ...slots.description,
535
- className: (0, import_react_ui_theme3.mx)("text-xs mbe-1 font-normal", variant === "primary" ? import_react_ui_theme3.descriptionTextPrimary : import_react_ui_theme3.descriptionText, slots.description?.className)
536
- }, description)), after && /* @__PURE__ */ import_react6.default.createElement("div", {
443
+ className: (0, import_react_ui_theme2.mx)("text-xs mbe-1 font-normal", variant === "primary" ? import_react_ui_theme2.descriptionTextPrimary : import_react_ui_theme2.descriptionText, slots.description?.className)
444
+ }, description)), after && /* @__PURE__ */ import_react3.default.createElement("div", {
537
445
  role: "none",
538
446
  className: "grow-0"
539
447
  }, after));
540
448
  };
541
449
  var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames }) => {
542
- const { t } = (0, import_react_ui4.useTranslation)("os");
543
- const { themeMode } = (0, import_react_ui4.useThemeContext)();
450
+ const { t } = (0, import_react_ui3.useTranslation)("os");
451
+ const { themeMode } = (0, import_react_ui3.useThemeContext)();
544
452
  const [_emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
545
453
  prop: emoji,
546
454
  onChange: onChangeEmoji,
547
455
  defaultProp: defaultEmoji
548
456
  });
549
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react9.useState)(false);
550
- const suppressNextTooltip = (0, import_react9.useRef)(false);
551
- const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react9.useState)(false);
552
- return /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Root, {
457
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react6.useState)(false);
458
+ const suppressNextTooltip = (0, import_react6.useRef)(false);
459
+ const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react6.useState)(false);
460
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Root, {
553
461
  open: triggerTooltipOpen,
554
462
  onOpenChange: (nextOpen) => {
555
463
  if (suppressNextTooltip.current) {
@@ -559,30 +467,30 @@ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
559
467
  setTriggerTooltipOpen(nextOpen);
560
468
  }
561
469
  }
562
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Root, {
470
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Root, {
563
471
  open: emojiPickerOpen,
564
472
  onOpenChange: (nextOpen) => {
565
473
  setEmojiPickerOpen(nextOpen);
566
474
  suppressNextTooltip.current = true;
567
475
  }
568
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Trigger, {
476
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Trigger, {
569
477
  asChild: true
570
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Trigger, {
478
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Trigger, {
571
479
  asChild: true
572
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Toolbar.Button, {
480
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Toolbar.Button, {
573
481
  classNames: [
574
482
  "gap-2 text-2xl plb-1",
575
483
  classNames
576
484
  ],
577
485
  disabled
578
- }, /* @__PURE__ */ import_react9.default.createElement("span", {
486
+ }, /* @__PURE__ */ import_react6.default.createElement("span", {
579
487
  className: "sr-only"
580
- }, t("select emoji label")), /* @__PURE__ */ import_react9.default.createElement(import_react8.UserCircle, {
581
- className: (0, import_react_ui_theme4.getSize)(5)
582
- })))), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Portal, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Content, {
488
+ }, t("select emoji label")), /* @__PURE__ */ import_react6.default.createElement(import_react5.UserCircle, {
489
+ className: (0, import_react_ui_theme3.getSize)(5)
490
+ })))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Portal, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Content, {
583
491
  side: "bottom",
584
492
  classNames: "z-50"
585
- }, t("select emoji label"), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Arrow, null))), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Content, {
493
+ }, t("select emoji label"), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Arrow, null))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Content, {
586
494
  side: "bottom",
587
495
  onKeyDownCapture: (event) => {
588
496
  if (event.key === "Escape") {
@@ -591,7 +499,7 @@ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
591
499
  suppressNextTooltip.current = true;
592
500
  }
593
501
  }
594
- }, /* @__PURE__ */ import_react9.default.createElement(import_react7.default, {
502
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react4.default, {
595
503
  data: import_data.default,
596
504
  onEmojiSelect: ({ native }) => {
597
505
  if (native) {
@@ -603,11 +511,11 @@ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji,
603
511
  maxFrequentRows: 0,
604
512
  noCountryFlags: true,
605
513
  theme: themeMode
606
- }), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Arrow, null))));
514
+ }), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Arrow, null))));
607
515
  };
608
516
  var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }) => {
609
- const { t } = (0, import_react_ui4.useTranslation)("os");
610
- const [isMd] = (0, import_react_ui4.useMediaQuery)("md", {
517
+ const { t } = (0, import_react_ui3.useTranslation)("os");
518
+ const [isMd] = (0, import_react_ui3.useMediaQuery)("md", {
611
519
  ssr: false
612
520
  });
613
521
  const [emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
@@ -615,23 +523,23 @@ var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickC
615
523
  onChange: onChangeEmoji,
616
524
  defaultProp: defaultEmoji
617
525
  });
618
- const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react9.useState)(false);
619
- return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Root, {
526
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react6.useState)(false);
527
+ return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Root, {
620
528
  open: emojiPickerOpen,
621
529
  onOpenChange: setEmojiPickerOpen
622
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Trigger, {
530
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Trigger, {
623
531
  asChild: true
624
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Button, {
532
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Button, {
625
533
  variant: "ghost",
626
534
  classNames: "gap-2 text-2xl plb-1",
627
535
  disabled
628
- }, /* @__PURE__ */ import_react9.default.createElement("span", {
536
+ }, /* @__PURE__ */ import_react6.default.createElement("span", {
629
537
  className: "sr-only"
630
- }, t("select emoji label")), /* @__PURE__ */ import_react9.default.createElement("span", {
538
+ }, t("select emoji label")), /* @__PURE__ */ import_react6.default.createElement("span", {
631
539
  className: "grow pis-14"
632
- }, emojiValue), /* @__PURE__ */ import_react9.default.createElement(import_react8.CaretDown, {
633
- className: (0, import_react_ui_theme4.getSize)(4)
634
- }))), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Content, {
540
+ }, emojiValue), /* @__PURE__ */ import_react6.default.createElement(import_react5.CaretDown, {
541
+ className: (0, import_react_ui_theme3.getSize)(4)
542
+ }))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Content, {
635
543
  side: "right",
636
544
  sideOffset: isMd ? 0 : -310,
637
545
  onKeyDownCapture: (event) => {
@@ -640,7 +548,7 @@ var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickC
640
548
  setEmojiPickerOpen(false);
641
549
  }
642
550
  }
643
- }, /* @__PURE__ */ import_react9.default.createElement(import_react7.default, {
551
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react4.default, {
644
552
  data: import_data.default,
645
553
  onEmojiSelect: ({ native }) => {
646
554
  if (native) {
@@ -651,29 +559,29 @@ var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickC
651
559
  autoFocus: true,
652
560
  maxFrequentRows: 0,
653
561
  noCountryFlags: true
654
- }), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Popover.Arrow, null))), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Root, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Trigger, {
562
+ }), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Arrow, null))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Root, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Trigger, {
655
563
  asChild: true
656
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Button, {
564
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Button, {
657
565
  variant: "ghost",
658
566
  onClick: onClickClear,
659
567
  disabled
660
- }, /* @__PURE__ */ import_react9.default.createElement("span", {
568
+ }, /* @__PURE__ */ import_react6.default.createElement("span", {
661
569
  className: "sr-only"
662
- }, t("clear label")), /* @__PURE__ */ import_react9.default.createElement(import_react8.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Portal, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Content, {
570
+ }, t("clear label")), /* @__PURE__ */ import_react6.default.createElement(import_react5.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Portal, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Content, {
663
571
  style: {
664
572
  zIndex: 70
665
573
  },
666
574
  side: "right"
667
- }, t("clear label"), /* @__PURE__ */ import_react9.default.createElement(import_react_ui4.Tooltip.Arrow, null)))));
575
+ }, t("clear label"), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Arrow, null)))));
668
576
  };
669
577
  var HuePreview = ({ hue }) => {
670
- const { tx } = (0, import_react_ui5.useThemeContext)();
578
+ const { tx } = (0, import_react_ui4.useThemeContext)();
671
579
  const size = 20;
672
- return /* @__PURE__ */ import_react11.default.createElement("svg", {
580
+ return /* @__PURE__ */ import_react8.default.createElement("svg", {
673
581
  width: size,
674
582
  height: size,
675
583
  viewBox: `0 0 ${size} ${size}`
676
- }, /* @__PURE__ */ import_react11.default.createElement("rect", {
584
+ }, /* @__PURE__ */ import_react8.default.createElement("rect", {
677
585
  x: 0,
678
586
  y: 0,
679
587
  width: size,
@@ -683,18 +591,18 @@ var HuePreview = ({ hue }) => {
683
591
  })
684
592
  }));
685
593
  };
686
- var hueTokens = Object.keys(import_react_ui_theme5.hueTokenThemes).slice(0, 16);
594
+ var hueTokens = Object.keys(import_react_ui_theme4.hueTokenThemes).slice(0, 16);
687
595
  var HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultHue }) => {
688
- const { t } = (0, import_react_ui5.useTranslation)("os");
596
+ const { t } = (0, import_react_ui4.useTranslation)("os");
689
597
  const [hueValue, setHueValue] = (0, import_react_use_controllable_state2.useControllableState)({
690
598
  prop: hue,
691
599
  onChange: onChangeHue,
692
600
  defaultProp: defaultHue
693
601
  });
694
- const [huePickerOpen, setHuePickerOpen] = (0, import_react11.useState)(false);
695
- const suppressNextTooltip = (0, import_react11.useRef)(false);
696
- const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react11.useState)(false);
697
- return /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Root, {
602
+ const [huePickerOpen, setHuePickerOpen] = (0, import_react8.useState)(false);
603
+ const suppressNextTooltip = (0, import_react8.useRef)(false);
604
+ const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react8.useState)(false);
605
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Root, {
698
606
  open: triggerTooltipOpen,
699
607
  onOpenChange: (nextOpen) => {
700
608
  if (suppressNextTooltip.current) {
@@ -704,146 +612,146 @@ var HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultH
704
612
  setTriggerTooltipOpen(nextOpen);
705
613
  }
706
614
  }
707
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Root, {
615
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Root, {
708
616
  modal: false,
709
617
  open: huePickerOpen,
710
618
  onOpenChange: (nextOpen) => {
711
619
  setHuePickerOpen(nextOpen);
712
620
  suppressNextTooltip.current = true;
713
621
  }
714
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Trigger, {
622
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Trigger, {
715
623
  asChild: true
716
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Trigger, {
624
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Trigger, {
717
625
  asChild: true
718
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Toolbar.Button, {
719
- classNames: (0, import_react_ui_theme5.mx)("gap-2 plb-1", classNames),
626
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Toolbar.Button, {
627
+ classNames: (0, import_react_ui_theme4.mx)("gap-2 plb-1", classNames),
720
628
  disabled
721
- }, /* @__PURE__ */ import_react11.default.createElement("span", {
629
+ }, /* @__PURE__ */ import_react8.default.createElement("span", {
722
630
  className: "sr-only"
723
- }, t("select hue label")), /* @__PURE__ */ import_react11.default.createElement(import_react10.Palette, {
724
- className: (0, import_react_ui_theme5.getSize)(5)
725
- })))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Portal, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Content, {
631
+ }, t("select hue label")), /* @__PURE__ */ import_react8.default.createElement(import_react7.Palette, {
632
+ className: (0, import_react_ui_theme4.getSize)(5)
633
+ })))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Portal, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Content, {
726
634
  side: "bottom",
727
635
  classNames: "z-50"
728
- }, t("select hue label"), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Arrow, null))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Content, {
636
+ }, t("select hue label"), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Arrow, null))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Content, {
729
637
  side: "bottom",
730
638
  classNames: "!w-40"
731
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Viewport, {
639
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Viewport, {
732
640
  classNames: "grid grid-cols-4"
733
641
  }, hueTokens.map((hue2) => {
734
- return /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.CheckboxItem, {
642
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.CheckboxItem, {
735
643
  key: hue2,
736
644
  checked: hue2 === hueValue,
737
645
  onCheckedChange: () => setHueValue(hue2),
738
646
  classNames: "px-0 py-2 items-center justify-center"
739
- }, /* @__PURE__ */ import_react11.default.createElement(HuePreview, {
647
+ }, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
740
648
  hue: hue2
741
649
  }));
742
650
  })))));
743
651
  };
744
652
  var HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }) => {
745
- const { t } = (0, import_react_ui5.useTranslation)("os");
653
+ const { t } = (0, import_react_ui4.useTranslation)("os");
746
654
  const [hueValue, setHueValue] = (0, import_react_use_controllable_state2.useControllableState)({
747
655
  prop: hue,
748
656
  onChange: onChangeHue,
749
657
  defaultProp: defaultHue
750
658
  });
751
- return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Root, {
659
+ return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Root, {
752
660
  modal: false
753
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Trigger, {
661
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Trigger, {
754
662
  asChild: true
755
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Button, {
663
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Button, {
756
664
  variant: "ghost",
757
665
  classNames: "gap-2 plb-1",
758
666
  disabled
759
- }, /* @__PURE__ */ import_react11.default.createElement("span", {
667
+ }, /* @__PURE__ */ import_react8.default.createElement("span", {
760
668
  className: "sr-only"
761
- }, t("select hue label")), /* @__PURE__ */ import_react11.default.createElement("div", {
669
+ }, t("select hue label")), /* @__PURE__ */ import_react8.default.createElement("div", {
762
670
  role: "none",
763
671
  className: "pis-14 grow flex items-center justify-center gap-2"
764
- }, /* @__PURE__ */ import_react11.default.createElement(HuePreview, {
672
+ }, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
765
673
  hue: hueValue
766
- }), /* @__PURE__ */ import_react11.default.createElement("span", null, t(`${hueValue} label`))), /* @__PURE__ */ import_react11.default.createElement(import_react10.CaretDown, {
767
- className: (0, import_react_ui_theme5.getSize)(4)
768
- }))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Content, {
674
+ }), /* @__PURE__ */ import_react8.default.createElement("span", null, t(`${hueValue} label`))), /* @__PURE__ */ import_react8.default.createElement(import_react7.CaretDown, {
675
+ className: (0, import_react_ui_theme4.getSize)(4)
676
+ }))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Content, {
769
677
  side: "right"
770
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Viewport, null, Object.keys(import_react_ui_theme5.hueTokenThemes).map((hue2) => {
771
- return /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.CheckboxItem, {
678
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Viewport, null, Object.keys(import_react_ui_theme4.hueTokenThemes).map((hue2) => {
679
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.CheckboxItem, {
772
680
  key: hue2,
773
681
  checked: hue2 === hueValue,
774
682
  onCheckedChange: () => setHueValue(hue2)
775
- }, /* @__PURE__ */ import_react11.default.createElement(HuePreview, {
683
+ }, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
776
684
  hue: hue2
777
- }), /* @__PURE__ */ import_react11.default.createElement("span", {
685
+ }), /* @__PURE__ */ import_react8.default.createElement("span", {
778
686
  className: "grow"
779
- }, t(`${hue2} label`)), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.ItemIndicator, null, /* @__PURE__ */ import_react11.default.createElement(import_react10.Check, null)));
780
- })), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.DropdownMenu.Arrow, null))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Root, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Trigger, {
687
+ }, t(`${hue2} label`)), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.ItemIndicator, null, /* @__PURE__ */ import_react8.default.createElement(import_react7.Check, null)));
688
+ })), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Arrow, null))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Root, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Trigger, {
781
689
  asChild: true
782
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Button, {
690
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Button, {
783
691
  variant: "ghost",
784
692
  onClick: onClickClear,
785
693
  disabled
786
- }, /* @__PURE__ */ import_react11.default.createElement("span", {
694
+ }, /* @__PURE__ */ import_react8.default.createElement("span", {
787
695
  className: "sr-only"
788
- }, t("clear label")), /* @__PURE__ */ import_react11.default.createElement(import_react10.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Portal, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Content, {
696
+ }, t("clear label")), /* @__PURE__ */ import_react8.default.createElement(import_react7.ArrowCounterClockwise, null))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Portal, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Content, {
789
697
  style: {
790
698
  zIndex: 70
791
699
  },
792
700
  side: "right"
793
- }, t("clear label"), /* @__PURE__ */ import_react11.default.createElement(import_react_ui5.Tooltip.Arrow, null)))));
701
+ }, t("clear label"), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Arrow, null)))));
794
702
  };
795
- var IdentityListItem = /* @__PURE__ */ (0, import_react12.forwardRef)(({ identity, presence, onClick, classNames, ...props }, forwardedRef) => {
703
+ var IdentityListItem = /* @__PURE__ */ (0, import_react9.forwardRef)(({ identity, presence, onClick, classNames, ...props }, forwardedRef) => {
796
704
  const fallbackValue = (0, import_util.keyToFallback)(identity.identityKey);
797
- const labelId = (0, import_react_ui6.useId)("identityListItem__label");
705
+ const labelId = (0, import_react_ui5.useId)("identityListItem__label");
798
706
  const displayName = identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
799
- return /* @__PURE__ */ import_react12.default.createElement(import_react_ui6.ListItem.Root, {
707
+ return /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.ListItem.Root, {
800
708
  ...props,
801
- classNames: (0, import_react_ui_theme6.mx)("flex gap-2 pis-3 pie-1 items-center", onClick && "cursor-pointer", classNames),
709
+ classNames: (0, import_react_ui_theme5.mx)("flex gap-2 pis-3 pie-1 items-center", onClick && "cursor-pointer", classNames),
802
710
  onClick: () => onClick?.(),
803
711
  "data-testid": "identity-list-item",
804
712
  labelId,
805
713
  ref: forwardedRef
806
- }, /* @__PURE__ */ import_react12.default.createElement(import_react_ui6.Avatar.Root, {
714
+ }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Root, {
807
715
  status: presence === import_echo.SpaceMember.PresenceState.ONLINE ? "active" : "inactive",
808
716
  labelId,
809
717
  hue: identity.profile?.data?.hue || fallbackValue.hue
810
- }, /* @__PURE__ */ import_react12.default.createElement(import_react_ui6.Avatar.Frame, {
718
+ }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Frame, {
811
719
  classNames: "place-self-center"
812
- }, /* @__PURE__ */ import_react12.default.createElement(import_react_ui6.Avatar.Fallback, {
720
+ }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Fallback, {
813
721
  text: identity.profile?.data?.emoji || fallbackValue.emoji
814
- })), /* @__PURE__ */ import_react12.default.createElement(import_react_ui6.Avatar.Label, {
722
+ })), /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Label, {
815
723
  classNames: "text-sm truncate pli-2"
816
724
  }, displayName)));
817
725
  });
818
726
  var SpaceMemberList = ({ spaceKey, includeSelf, onSelect }) => {
819
727
  const client = (0, import_react_client.useClient)();
820
728
  const allUnsortedMembers = (0, import_echo2.useMembers)(spaceKey);
821
- const members = (0, import_react13.useMemo)(() => includeSelf ? allUnsortedMembers.sort((member) => member.identity.identityKey.equals(client.halo.identity.get().identityKey) ? -1 : 1) : allUnsortedMembers.filter((member) => !member.identity.identityKey.equals(client.halo.identity.get().identityKey)), [
729
+ const members = (0, import_react10.useMemo)(() => includeSelf ? allUnsortedMembers.sort((member) => member.identity.identityKey.equals(client.halo.identity.get().identityKey) ? -1 : 1) : allUnsortedMembers.filter((member) => !member.identity.identityKey.equals(client.halo.identity.get().identityKey)), [
822
730
  allUnsortedMembers
823
731
  ]);
824
- return /* @__PURE__ */ import_react13.default.createElement(SpaceMemberListImpl, {
732
+ return /* @__PURE__ */ import_react10.default.createElement(SpaceMemberListImpl, {
825
733
  members,
826
734
  onSelect
827
735
  });
828
736
  };
829
737
  var SpaceMemberListImpl = ({ members, onSelect }) => {
830
- const { t } = (0, import_react_ui7.useTranslation)("os");
738
+ const { t } = (0, import_react_ui6.useTranslation)("os");
831
739
  const visibleMembers = members.filter((member) => member.identity);
832
- return visibleMembers.length > 0 ? /* @__PURE__ */ import_react13.default.createElement(import_react_ui7.List, {
740
+ return visibleMembers.length > 0 ? /* @__PURE__ */ import_react10.default.createElement(import_react_ui6.List, {
833
741
  classNames: "flex flex-col gap-2",
834
742
  "data-testid": "space-members-list"
835
743
  }, visibleMembers.map((member) => {
836
- return /* @__PURE__ */ import_react13.default.createElement(IdentityListItem, {
744
+ return /* @__PURE__ */ import_react10.default.createElement(IdentityListItem, {
837
745
  key: member.identity.identityKey.toHex(),
838
746
  identity: member.identity,
839
747
  presence: member.presence,
840
748
  onClick: onSelect && (() => onSelect(member))
841
749
  });
842
- })) : /* @__PURE__ */ import_react13.default.createElement("div", {
750
+ })) : /* @__PURE__ */ import_react10.default.createElement("div", {
843
751
  role: "none",
844
752
  className: "grow flex items-center p-2"
845
- }, /* @__PURE__ */ import_react13.default.createElement("p", {
846
- className: (0, import_react_ui_theme7.mx)(import_react_ui_theme7.descriptionText, "text-center is-full mlb-2")
753
+ }, /* @__PURE__ */ import_react10.default.createElement("p", {
754
+ className: (0, import_react_ui_theme6.mx)(import_react_ui_theme6.descriptionText, "text-center is-full mlb-2")
847
755
  }, t("empty space members message")));
848
756
  };
849
757
  var iconProps = {
@@ -853,16 +761,16 @@ var iconProps = {
853
761
  x: 8,
854
762
  y: 8
855
763
  };
856
- var DeviceListItem = /* @__PURE__ */ (0, import_react17.forwardRef)(({ device, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, classNames, connectionState, onAgentDestroy: _, ...props }, forwardedRef) => {
857
- const { t } = (0, import_react_ui9.useTranslation)("os");
764
+ var DeviceListItem = /* @__PURE__ */ (0, import_react14.forwardRef)(({ device, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, classNames, connectionState, onAgentDestroy: _, ...props }, forwardedRef) => {
765
+ const { t } = (0, import_react_ui8.useTranslation)("os");
858
766
  const fallbackValue = (0, import_util2.keyToFallback)(device.deviceKey);
859
- const labelId = (0, import_react_ui9.useId)("identityListItem__label");
767
+ const labelId = (0, import_react_ui8.useId)("identityListItem__label");
860
768
  const displayName = device.profile ? t("device name placeholder", {
861
769
  os: device.profile.os,
862
770
  platform: device.profile.platform
863
771
  }) : (0, import_display_name2.generateName)(device.deviceKey.toHex());
864
772
  const isCurrent = device.kind === import_halo.DeviceKind.CURRENT;
865
- return /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.ListItem.Root, {
773
+ return /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.ListItem.Root, {
866
774
  ...props,
867
775
  classNames: [
868
776
  "flex gap-2 items-center mlb-2",
@@ -871,58 +779,58 @@ var DeviceListItem = /* @__PURE__ */ (0, import_react17.forwardRef)(({ device, o
871
779
  "data-testid": `device-list-item${isCurrent ? "-current" : ""}`,
872
780
  labelId,
873
781
  ref: forwardedRef
874
- }, /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.Avatar.Root, {
782
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Avatar.Root, {
875
783
  status: isCurrent && connectionState === import_mesh.ConnectionState.OFFLINE ? "error" : device.presence === import_halo.Device.PresenceState.ONLINE ? "active" : "inactive",
876
784
  labelId,
877
785
  hue: fallbackValue.hue,
878
786
  variant: "square"
879
- }, /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.Avatar.Frame, {
787
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Avatar.Frame, {
880
788
  classNames: "place-self-center"
881
- }, device.profile?.type ? device.profile.type === import_halo.DeviceType.AGENT_MANAGED ? /* @__PURE__ */ import_react17.default.createElement(import_react16.Database, iconProps) : device.profile.type === import_halo.DeviceType.BROWSER ? /* @__PURE__ */ import_react17.default.createElement(import_react16.Compass, iconProps) : device.profile.type === import_halo.DeviceType.NATIVE ? /* @__PURE__ */ import_react17.default.createElement(import_react16.Desktop, iconProps) : [
789
+ }, device.profile?.type ? device.profile.type === import_halo.DeviceType.AGENT_MANAGED ? /* @__PURE__ */ import_react14.default.createElement(import_react13.Database, iconProps) : device.profile.type === import_halo.DeviceType.BROWSER ? /* @__PURE__ */ import_react14.default.createElement(import_react13.Compass, iconProps) : device.profile.type === import_halo.DeviceType.NATIVE ? /* @__PURE__ */ import_react14.default.createElement(import_react13.Desktop, iconProps) : [
882
790
  import_halo.DeviceType.AGENT,
883
791
  import_halo.DeviceType.AGENT_MANAGED
884
- ].includes(device.profile.type) ? /* @__PURE__ */ import_react17.default.createElement(import_react16.Robot, iconProps) : device.profile.type === import_halo.DeviceType.MOBILE ? /* @__PURE__ */ import_react17.default.createElement(import_react16.DeviceMobile, iconProps) : /* @__PURE__ */ import_react17.default.createElement(import_react16.Devices, iconProps) : /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.Avatar.Fallback, {
792
+ ].includes(device.profile.type) ? /* @__PURE__ */ import_react14.default.createElement(import_react13.Robot, iconProps) : device.profile.type === import_halo.DeviceType.MOBILE ? /* @__PURE__ */ import_react14.default.createElement(import_react13.DeviceMobile, iconProps) : /* @__PURE__ */ import_react14.default.createElement(import_react13.Devices, iconProps) : /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Avatar.Fallback, {
885
793
  text: fallbackValue.emoji
886
- })), /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.Avatar.Label, {
794
+ })), /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Avatar.Label, {
887
795
  classNames: "flex-1 text-sm truncate"
888
- }, displayName), isCurrent && /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.Tag, {
796
+ }, displayName), isCurrent && /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Tag, {
889
797
  color: "primary"
890
- }, t("current device tag label")), device.kind === import_halo.DeviceKind.CURRENT && /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.DropdownMenu.Root, null, /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.DropdownMenu.Trigger, {
798
+ }, t("current device tag label")), device.kind === import_halo.DeviceKind.CURRENT && /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Root, null, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Trigger, {
891
799
  asChild: true
892
- }, /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.Button, {
800
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Button, {
893
801
  variant: "ghost",
894
802
  classNames: "pli-0 is-[--rail-action] bs-[--rail-action]",
895
803
  "data-testid": `device-list-item${isCurrent ? "-current" : ""}.options`
896
- }, /* @__PURE__ */ import_react17.default.createElement("span", {
804
+ }, /* @__PURE__ */ import_react14.default.createElement("span", {
897
805
  className: "sr-only"
898
- }, t("more options label")), /* @__PURE__ */ import_react17.default.createElement(import_react16.DotsThree, {
899
- className: (0, import_react_ui_theme9.getSize)(5)
900
- }))), /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.DropdownMenu.Content, null, /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.DropdownMenu.Item, {
806
+ }, t("more options label")), /* @__PURE__ */ import_react14.default.createElement(import_react13.DotsThree, {
807
+ className: (0, import_react_ui_theme8.getSize)(5)
808
+ }))), /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Content, null, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Item, {
901
809
  "data-testid": "device-list-item-current.join-existing",
902
810
  onClick: onClickJoinExisting
903
- }, /* @__PURE__ */ import_react17.default.createElement(import_react16.ShareFat, {
904
- className: (0, import_react_ui_theme9.getSize)(5)
905
- }), t("choose join new identity label")), onClickRecover && /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.DropdownMenu.Item, {
811
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react13.ShareFat, {
812
+ className: (0, import_react_ui_theme8.getSize)(5)
813
+ }), t("choose join new identity label")), onClickRecover && /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Item, {
906
814
  "data-testid": "device-list-item-current.recover",
907
815
  onClick: onClickRecover
908
- }, /* @__PURE__ */ import_react17.default.createElement(import_react16.FirstAidKit, {
909
- className: (0, import_react_ui_theme9.getSize)(5)
910
- }), t("choose recover identity label")), /* @__PURE__ */ import_react17.default.createElement(import_react_ui9.DropdownMenu.Item, {
816
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react13.FirstAidKit, {
817
+ className: (0, import_react_ui_theme8.getSize)(5)
818
+ }), t("choose recover identity label")), /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Item, {
911
819
  "data-testid": "device-list-item-current.reset",
912
820
  onClick: onClickReset
913
- }, /* @__PURE__ */ import_react17.default.createElement(import_react16.Power, {
914
- className: (0, import_react_ui_theme9.getSize)(5)
821
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react13.Power, {
822
+ className: (0, import_react_ui_theme8.getSize)(5)
915
823
  }), t("reset device label")))))));
916
824
  });
917
825
  var DeviceList = ({ devices, connectionState, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, onAgentDestroy }) => {
918
- const { t } = (0, import_react_ui8.useTranslation)("os");
919
- return /* @__PURE__ */ import_react15.default.createElement("div", {
826
+ const { t } = (0, import_react_ui7.useTranslation)("os");
827
+ return /* @__PURE__ */ import_react12.default.createElement("div", {
920
828
  role: "none",
921
829
  className: "p-1"
922
- }, /* @__PURE__ */ import_react15.default.createElement("h2", {
923
- className: (0, import_react_ui_theme8.mx)(import_react_ui_theme8.descriptionText, "text-center mbs-2")
924
- }, t("devices heading")), devices.length > 0 && /* @__PURE__ */ import_react15.default.createElement(import_react_ui8.List, null, devices.map((device) => {
925
- return /* @__PURE__ */ import_react15.default.createElement(DeviceListItem, {
830
+ }, /* @__PURE__ */ import_react12.default.createElement("h2", {
831
+ className: (0, import_react_ui_theme7.mx)(import_react_ui_theme7.descriptionText, "text-center mbs-2")
832
+ }, t("devices heading")), devices.length > 0 && /* @__PURE__ */ import_react12.default.createElement(import_react_ui7.List, null, devices.map((device) => {
833
+ return /* @__PURE__ */ import_react12.default.createElement(DeviceListItem, {
926
834
  key: device.deviceKey.toHex(),
927
835
  device,
928
836
  onClickEdit: () => onClickEdit?.(device),
@@ -932,22 +840,22 @@ var DeviceList = ({ devices, connectionState, onClickAdd, onClickEdit, onClickRe
932
840
  connectionState,
933
841
  onAgentDestroy
934
842
  });
935
- })), /* @__PURE__ */ import_react15.default.createElement(import_react_ui8.Button, {
843
+ })), /* @__PURE__ */ import_react12.default.createElement(import_react_ui7.Button, {
936
844
  variant: "ghost",
937
845
  classNames: "justify-start gap-2 !pis-0 !pie-3 is-full",
938
846
  "data-testid": "devices-panel.create-invitation",
939
847
  onClick: onClickAdd
940
- }, /* @__PURE__ */ import_react15.default.createElement("div", {
848
+ }, /* @__PURE__ */ import_react12.default.createElement("div", {
941
849
  role: "img",
942
- className: (0, import_react_ui_theme8.mx)((0, import_react_ui_theme8.getSize)(8), "m-1 rounded-sm bg-input grid place-items-center")
943
- }, /* @__PURE__ */ import_react15.default.createElement(import_react14.Plus, {
850
+ className: (0, import_react_ui_theme7.mx)((0, import_react_ui_theme7.getSize)(8), "m-1 rounded-sm bg-input grid place-items-center")
851
+ }, /* @__PURE__ */ import_react12.default.createElement(import_react11.Plus, {
944
852
  weight: "light",
945
- className: (0, import_react_ui_theme8.getSize)(6)
946
- })), /* @__PURE__ */ import_react15.default.createElement("span", {
853
+ className: (0, import_react_ui_theme7.getSize)(6)
854
+ })), /* @__PURE__ */ import_react12.default.createElement("span", {
947
855
  className: "grow font-medium text-start"
948
- }, t("choose add device label")), /* @__PURE__ */ import_react15.default.createElement(import_react14.CaretRight, {
856
+ }, t("choose add device label")), /* @__PURE__ */ import_react12.default.createElement(import_react11.CaretRight, {
949
857
  weight: "bold",
950
- className: (0, import_react_ui_theme8.getSize)(4)
858
+ className: (0, import_react_ui_theme7.getSize)(4)
951
859
  })));
952
860
  };
953
861
  var AuthCode = (props) => {
@@ -955,7 +863,7 @@ var AuthCode = (props) => {
955
863
  const l = code?.length ?? 0;
956
864
  const left = code?.slice(0, l / 2);
957
865
  const right = code?.slice(l / 2);
958
- const codeRef = (0, import_react20.useRef)(null);
866
+ const codeRef = (0, import_react17.useRef)(null);
959
867
  const handleClick = () => {
960
868
  if (codeRef.current) {
961
869
  const selection = window.getSelection();
@@ -966,18 +874,18 @@ var AuthCode = (props) => {
966
874
  }
967
875
  void navigator.clipboard.writeText(code ?? "");
968
876
  };
969
- return /* @__PURE__ */ import_react20.default.createElement("span", {
970
- className: (0, import_react_ui_theme11.mx)(large ? "text-6xl" : "text-2xl", "font-mono pli-2.5 rounded cursor-pointer", classNames),
877
+ return /* @__PURE__ */ import_react17.default.createElement("span", {
878
+ className: (0, import_react_ui_theme10.mx)(large ? "text-6xl" : "text-2xl", "font-mono pli-2.5 rounded cursor-pointer", classNames),
971
879
  onClick: handleClick,
972
880
  ref: codeRef
973
- }, /* @__PURE__ */ import_react20.default.createElement("span", {
881
+ }, /* @__PURE__ */ import_react17.default.createElement("span", {
974
882
  className: "mie-[0.4em]"
975
- }, left), /* @__PURE__ */ import_react20.default.createElement("span", null, right));
883
+ }, left), /* @__PURE__ */ import_react17.default.createElement("span", null, right));
976
884
  };
977
885
  var InvitationListItem = (props) => {
978
886
  const { invitation } = props;
979
887
  const invitationStatus = (0, import_invitations.useInvitationStatus)(invitation);
980
- return /* @__PURE__ */ import_react19.default.createElement(InvitationListItemImpl, {
888
+ return /* @__PURE__ */ import_react16.default.createElement(InvitationListItemImpl, {
981
889
  ...props,
982
890
  invitationStatus
983
891
  });
@@ -987,11 +895,11 @@ var avatarProps = {
987
895
  variant: "circle"
988
896
  };
989
897
  var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
990
- const { tx } = (0, import_react_ui10.useThemeContext)();
991
- return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement("span", {
898
+ const { tx } = (0, import_react_ui9.useThemeContext)();
899
+ return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement("span", {
992
900
  role: "none",
993
- className: (0, import_react_ui_theme10.mx)("absolute inline-end-auto opacity-20", reverseEffects ? "inline-start-3" : "inline-start-1", (0, import_react_ui_theme10.getSize)(avatarProps.size))
994
- }, /* @__PURE__ */ import_react19.default.createElement("span", {
901
+ className: (0, import_react_ui_theme9.mx)("absolute inline-end-auto opacity-20", reverseEffects ? "inline-start-3" : "inline-start-1", (0, import_react_ui_theme9.getSize)(avatarProps.size))
902
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
995
903
  role: "none",
996
904
  className: tx("avatar.ring", "avatar__ring", {
997
905
  ...avatarProps,
@@ -1001,10 +909,10 @@ var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
1001
909
  style: {
1002
910
  animationDelay: "400ms"
1003
911
  }
1004
- })), /* @__PURE__ */ import_react19.default.createElement("span", {
912
+ })), /* @__PURE__ */ import_react16.default.createElement("span", {
1005
913
  role: "none",
1006
- className: (0, import_react_ui_theme10.mx)("absolute inline-end-auto opacity-50", reverseEffects ? "inline-start-2" : "inline-start-2", (0, import_react_ui_theme10.getSize)(avatarProps.size))
1007
- }, /* @__PURE__ */ import_react19.default.createElement("span", {
914
+ className: (0, import_react_ui_theme9.mx)("absolute inline-end-auto opacity-50", reverseEffects ? "inline-start-2" : "inline-start-2", (0, import_react_ui_theme9.getSize)(avatarProps.size))
915
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
1008
916
  role: "none",
1009
917
  className: tx("avatar.ring", "avatar__ring", {
1010
918
  ...avatarProps,
@@ -1017,7 +925,7 @@ var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
1017
925
  })));
1018
926
  };
1019
927
  var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationStatus, send, onClickRemove, createInvitationUrl, reverseEffects, ...props }) => {
1020
- const { t } = (0, import_react_ui10.useTranslation)("os");
928
+ const { t } = (0, import_react_ui9.useTranslation)("os");
1021
929
  const { cancel, status: invitationStatus, invitationCode, authCode, multiUse, shareable } = propsInvitationStatus;
1022
930
  const isCancellable = !([
1023
931
  import_invitations.Invitation.State.ERROR,
@@ -1030,7 +938,7 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
1030
938
  import_invitations.Invitation.State.CONNECTED
1031
939
  ].indexOf(invitationStatus) >= 0);
1032
940
  const showAuthCode = invitationStatus === import_invitations.Invitation.State.READY_FOR_AUTHENTICATION;
1033
- const handleClickRemove = (0, import_react19.useCallback)(() => onClickRemove?.(invitation), [
941
+ const handleClickRemove = (0, import_react16.useCallback)(() => onClickRemove?.(invitation), [
1034
942
  invitation,
1035
943
  onClickRemove
1036
944
  ]);
@@ -1059,39 +967,39 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
1059
967
  import_invitations.Invitation.State.SUCCESS
1060
968
  ].includes(invitationStatus);
1061
969
  const avatarStatus = avatarError ? "error" : avatarGreen ? "active" : "inactive";
1062
- return /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.ListItem.Root, {
970
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.ListItem.Root, {
1063
971
  id: invitationCode,
1064
972
  ...props,
1065
973
  classNames: [
1066
974
  "flex gap-2 pis-3 pie-1 items-center relative",
1067
975
  props.classNames
1068
976
  ]
1069
- }, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.ListItem.Heading, {
977
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.ListItem.Heading, {
1070
978
  classNames: "sr-only"
1071
- }, t(multiUse ? "invite many list item label" : "invite one list item label")), multiUse && /* @__PURE__ */ import_react19.default.createElement(AvatarStackEffect, {
979
+ }, t(multiUse ? "invite many list item label" : "invite one list item label")), multiUse && /* @__PURE__ */ import_react16.default.createElement(AvatarStackEffect, {
1072
980
  status: avatarStatus,
1073
981
  animation: avatarAnimation,
1074
982
  reverseEffects
1075
- }), /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Root, null, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Avatar.Root, {
983
+ }), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Root, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Avatar.Root, {
1076
984
  ...avatarProps,
1077
985
  animation: avatarAnimation,
1078
986
  status: avatarStatus
1079
- }, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Trigger, {
987
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Trigger, {
1080
988
  asChild: true
1081
- }, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Avatar.Frame, {
989
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Avatar.Frame, {
1082
990
  tabIndex: 0,
1083
991
  classNames: [
1084
- import_react_ui_theme10.focusRing,
992
+ import_react_ui_theme9.focusRing,
1085
993
  "relative rounded-full place-self-center"
1086
994
  ]
1087
- }, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Avatar.Fallback, {
995
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Avatar.Fallback, {
1088
996
  text: (0, import_util3.hexToEmoji)(invitationId)
1089
- })))), /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Portal, null, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Content, {
997
+ })))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Content, {
1090
998
  side: "left",
1091
999
  classNames: "z-[70]"
1092
- }, t(multiUse ? "invite many qr label" : "invite one qr label"), /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Arrow, null)))), showShare && invitationUrl ? /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Root, null, /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Trigger, {
1000
+ }, t(multiUse ? "invite many qr label" : "invite one qr label"), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Arrow, null)))), showShare && invitationUrl ? /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Root, null, /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Trigger, {
1093
1001
  asChild: true
1094
- }, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Button, {
1002
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
1095
1003
  variant: "ghost",
1096
1004
  classNames: "grow justify-start font-medium",
1097
1005
  onClick: () => send({
@@ -1099,56 +1007,56 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
1099
1007
  invitation
1100
1008
  }),
1101
1009
  "data-testid": "show-qrcode"
1102
- }, /* @__PURE__ */ import_react19.default.createElement("span", null, t("open share panel label")))), /* @__PURE__ */ import_react19.default.createElement(CopyButtonIconOnly, {
1010
+ }, /* @__PURE__ */ import_react16.default.createElement("span", null, t("open share panel label")))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Clipboard.IconButton, {
1103
1011
  variant: "ghost",
1104
1012
  value: invitationUrl
1105
- })), /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Portal, null, /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Tooltip.Content, {
1013
+ })), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Content, {
1106
1014
  side: "left",
1107
1015
  classNames: "z-[70]"
1108
- }, invitationHasLifetime && /* @__PURE__ */ import_react19.default.createElement("span", null, "Expires ", invitationTimeLeft)))) : showAuthCode ? /* @__PURE__ */ import_react19.default.createElement(AuthCode, {
1016
+ }, invitationHasLifetime && /* @__PURE__ */ import_react16.default.createElement("span", null, "Expires ", invitationTimeLeft)))) : showAuthCode ? /* @__PURE__ */ import_react16.default.createElement(AuthCode, {
1109
1017
  code: authCode,
1110
1018
  classNames: "grow"
1111
- }) : invitationStatus === import_invitations.Invitation.State.CONNECTING ? /* @__PURE__ */ import_react19.default.createElement("span", {
1019
+ }) : invitationStatus === import_invitations.Invitation.State.CONNECTING ? /* @__PURE__ */ import_react16.default.createElement("span", {
1112
1020
  className: "pli-2 grow text-neutral-500"
1113
- }, "Connecting...") : invitationStatus === import_invitations.Invitation.State.AUTHENTICATING ? /* @__PURE__ */ import_react19.default.createElement("span", {
1021
+ }, "Connecting...") : invitationStatus === import_invitations.Invitation.State.AUTHENTICATING ? /* @__PURE__ */ import_react16.default.createElement("span", {
1114
1022
  className: "pli-2 grow text-neutral-500"
1115
- }, "Authenticating...") : invitationStatus === import_invitations.Invitation.State.ERROR || invitationStatus === import_invitations.Invitation.State.TIMEOUT ? /* @__PURE__ */ import_react19.default.createElement("span", {
1023
+ }, "Authenticating...") : invitationStatus === import_invitations.Invitation.State.ERROR || invitationStatus === import_invitations.Invitation.State.TIMEOUT ? /* @__PURE__ */ import_react16.default.createElement("span", {
1116
1024
  className: "pli-2 grow text-neutral-500"
1117
- }, "Failed") : invitationStatus === import_invitations.Invitation.State.CANCELLED ? /* @__PURE__ */ import_react19.default.createElement("span", {
1025
+ }, "Failed") : invitationStatus === import_invitations.Invitation.State.CANCELLED ? /* @__PURE__ */ import_react16.default.createElement("span", {
1118
1026
  className: "pli-2 grow text-neutral-500"
1119
- }, "Cancelled") : invitationStatus === import_invitations.Invitation.State.SUCCESS ? /* @__PURE__ */ import_react19.default.createElement("span", {
1027
+ }, "Cancelled") : invitationStatus === import_invitations.Invitation.State.SUCCESS ? /* @__PURE__ */ import_react16.default.createElement("span", {
1120
1028
  className: "pli-2 grow truncate"
1121
- }, "User joined") : !shareable ? /* @__PURE__ */ import_react19.default.createElement("span", {
1029
+ }, "User joined") : !shareable ? /* @__PURE__ */ import_react16.default.createElement("span", {
1122
1030
  className: "pli-2 grow text-neutral-500"
1123
- }, "Pending Invitation") : /* @__PURE__ */ import_react19.default.createElement("span", {
1031
+ }, "Pending Invitation") : /* @__PURE__ */ import_react16.default.createElement("span", {
1124
1032
  className: "grow"
1125
- }, " "), isCancellable ? /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Button, {
1033
+ }, " "), isCancellable ? /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
1126
1034
  variant: "ghost",
1127
1035
  classNames: "flex gap-1 pli-0",
1128
1036
  onClick: cancel,
1129
1037
  "data-testid": "cancel-invitation"
1130
- }, /* @__PURE__ */ import_react19.default.createElement("span", {
1038
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
1131
1039
  className: "sr-only"
1132
- }, t("cancel invitation label")), /* @__PURE__ */ import_react19.default.createElement(import_react18.X, {
1133
- className: (0, import_react_ui_theme10.getSize)(4)
1134
- })) : /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Button, {
1040
+ }, t("cancel invitation label")), /* @__PURE__ */ import_react16.default.createElement(import_react15.X, {
1041
+ className: (0, import_react_ui_theme9.getSize)(4)
1042
+ })) : /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
1135
1043
  variant: "ghost",
1136
1044
  classNames: "flex gap-1 pli-0",
1137
1045
  onClick: handleClickRemove,
1138
1046
  "data-testid": "remove-invitation"
1139
- }, /* @__PURE__ */ import_react19.default.createElement("span", {
1047
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
1140
1048
  className: "sr-only"
1141
- }, t("remove invitation label")), /* @__PURE__ */ import_react19.default.createElement(import_react18.X, {
1142
- className: (0, import_react_ui_theme10.getSize)(4)
1049
+ }, t("remove invitation label")), /* @__PURE__ */ import_react16.default.createElement(import_react15.X, {
1050
+ className: (0, import_react_ui_theme9.getSize)(4)
1143
1051
  })));
1144
1052
  };
1145
1053
  var InvitationList = ({ invitations, send, ...invitationProps }) => {
1146
1054
  const { className, InvitationListItem: Item = InvitationListItem } = invitationProps;
1147
- return /* @__PURE__ */ import_react22.default.createElement(import_react_ui11.List, {
1148
- classNames: (0, import_react_ui_theme12.mx)("flex flex-col gap-2", className)
1055
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.List, {
1056
+ classNames: (0, import_react_ui_theme11.mx)("flex flex-col gap-2", className)
1149
1057
  }, invitations.map((invitation) => {
1150
1058
  const value = invitation.get().invitationId;
1151
- return /* @__PURE__ */ import_react22.default.createElement(Item, {
1059
+ return /* @__PURE__ */ import_react19.default.createElement(Item, {
1152
1060
  key: value,
1153
1061
  send,
1154
1062
  invitation,
@@ -1159,12 +1067,12 @@ var InvitationList = ({ invitations, send, ...invitationProps }) => {
1159
1067
  var InvitationListContainer = ({ spaceKey, createInvitationUrl, send }) => {
1160
1068
  const space = (0, import_echo3.useSpace)(spaceKey);
1161
1069
  const invitations = (0, import_echo3.useSpaceInvitations)(spaceKey);
1162
- const handleClickRemove = (0, import_react21.useCallback)((invitation) => {
1070
+ const handleClickRemove = (0, import_react18.useCallback)((invitation) => {
1163
1071
  void invitation.cancel();
1164
1072
  }, [
1165
1073
  space
1166
1074
  ]);
1167
- return /* @__PURE__ */ import_react21.default.createElement(InvitationList, {
1075
+ return /* @__PURE__ */ import_react18.default.createElement(InvitationList, {
1168
1076
  invitations,
1169
1077
  onClickRemove: handleClickRemove,
1170
1078
  createInvitationUrl,
@@ -1175,12 +1083,12 @@ var defaultActions = {
1175
1083
  noopAction: {
1176
1084
  label: "No-op",
1177
1085
  description: "",
1178
- icon: import_react23.Placeholder,
1086
+ icon: import_react20.Placeholder,
1179
1087
  onClick: () => {
1180
1088
  }
1181
1089
  }
1182
1090
  };
1183
- var BifurcatedAction = /* @__PURE__ */ (0, import_react24.forwardRef)((props, forwardedRef) => {
1091
+ var BifurcatedAction = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
1184
1092
  const { classNames, variant, isFull = true, actions = defaultActions, activeAction: propsActiveAction, onChangeActiveAction, defaultActiveAction, "data-testid": testId, ...rest } = props;
1185
1093
  const dropdownTestId = testId && `${testId}.more`;
1186
1094
  const [activeActionKey2 = Object.keys(actions)[0], setActiveAction] = (0, import_react_use_controllable_state3.useControllableState)({
@@ -1189,11 +1097,11 @@ var BifurcatedAction = /* @__PURE__ */ (0, import_react24.forwardRef)((props, fo
1189
1097
  defaultProp: defaultActiveAction
1190
1098
  });
1191
1099
  const activeAction = actions[activeActionKey2] ?? {};
1192
- const { t } = (0, import_react_ui12.useTranslation)("os");
1193
- return /* @__PURE__ */ import_react24.default.createElement("div", {
1100
+ const { t } = (0, import_react_ui11.useTranslation)("os");
1101
+ return /* @__PURE__ */ import_react21.default.createElement("div", {
1194
1102
  role: "none",
1195
- className: (0, import_react_ui_theme13.mx)("mbs-2 flex gap-px items-center", isFull && "is-full")
1196
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.Button, {
1103
+ className: (0, import_react_ui_theme12.mx)("mbs-2 flex gap-px items-center", isFull && "is-full")
1104
+ }, /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.Button, {
1197
1105
  ...rest,
1198
1106
  classNames: [
1199
1107
  "bs-11 flex-1 min-is-0 flex gap-2 rounded-ie-none",
@@ -1203,22 +1111,22 @@ var BifurcatedAction = /* @__PURE__ */ (0, import_react24.forwardRef)((props, fo
1203
1111
  variant,
1204
1112
  "data-testid": testId,
1205
1113
  onClick: activeAction.onClick
1206
- }, activeAction.icon && /* @__PURE__ */ import_react24.default.createElement(activeAction.icon, {
1207
- className: (0, import_react_ui_theme13.getSize)(5)
1208
- }), /* @__PURE__ */ import_react24.default.createElement("span", null, activeAction.label)), /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.Root, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.Trigger, {
1114
+ }, activeAction.icon && /* @__PURE__ */ import_react21.default.createElement(activeAction.icon, {
1115
+ className: (0, import_react_ui_theme12.getSize)(5)
1116
+ }), /* @__PURE__ */ import_react21.default.createElement("span", null, activeAction.label)), /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.Root, null, /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.Trigger, {
1209
1117
  asChild: true
1210
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.Button, {
1118
+ }, /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.Button, {
1211
1119
  classNames: [
1212
1120
  "bs-11 flex-none rounded-is-none",
1213
1121
  classNames
1214
1122
  ],
1215
1123
  "data-testid": dropdownTestId
1216
- }, /* @__PURE__ */ import_react24.default.createElement("span", {
1124
+ }, /* @__PURE__ */ import_react21.default.createElement("span", {
1217
1125
  className: "sr-only"
1218
- }, t("invite options label")), /* @__PURE__ */ import_react24.default.createElement(import_react23.CaretDown, {
1219
- className: (0, import_react_ui_theme13.getSize)(4)
1220
- }))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.Portal, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.Content, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.Viewport, null, Object.entries(actions).map(([id, action]) => {
1221
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.CheckboxItem, {
1126
+ }, t("invite options label")), /* @__PURE__ */ import_react21.default.createElement(import_react20.CaretDown, {
1127
+ className: (0, import_react_ui_theme12.getSize)(4)
1128
+ }))), /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.Portal, null, /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.Content, null, /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.Viewport, null, Object.entries(actions).map(([id, action]) => {
1129
+ return /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.CheckboxItem, {
1222
1130
  key: id,
1223
1131
  "aria-labelledby": `${id}__label`,
1224
1132
  "aria-describedby": `${id}__description`,
@@ -1226,27 +1134,27 @@ var BifurcatedAction = /* @__PURE__ */ (0, import_react24.forwardRef)((props, fo
1226
1134
  onCheckedChange: (checked) => checked && setActiveAction(id),
1227
1135
  classNames: "gap-2",
1228
1136
  "data-testid": action.testId
1229
- }, action.icon && /* @__PURE__ */ import_react24.default.createElement(action.icon, {
1230
- className: (0, import_react_ui_theme13.getSize)(5)
1231
- }), /* @__PURE__ */ import_react24.default.createElement("div", {
1137
+ }, action.icon && /* @__PURE__ */ import_react21.default.createElement(action.icon, {
1138
+ className: (0, import_react_ui_theme12.getSize)(5)
1139
+ }), /* @__PURE__ */ import_react21.default.createElement("div", {
1232
1140
  role: "none",
1233
1141
  className: "flex-1 min-is-0 space-b-1"
1234
- }, /* @__PURE__ */ import_react24.default.createElement("p", {
1142
+ }, /* @__PURE__ */ import_react21.default.createElement("p", {
1235
1143
  id: `${id}__label`
1236
- }, action.label), action.description && /* @__PURE__ */ import_react24.default.createElement("p", {
1144
+ }, action.label), action.description && /* @__PURE__ */ import_react21.default.createElement("p", {
1237
1145
  id: `${id}__description`,
1238
- className: import_react_ui_theme13.descriptionText
1239
- }, action.description)), /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.ItemIndicator, {
1146
+ className: import_react_ui_theme12.descriptionText
1147
+ }, action.description)), /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.ItemIndicator, {
1240
1148
  asChild: true
1241
- }, /* @__PURE__ */ import_react24.default.createElement(import_react23.Check, {
1149
+ }, /* @__PURE__ */ import_react21.default.createElement(import_react20.Check, {
1242
1150
  weight: "bold",
1243
- className: (0, import_react_ui_theme13.getSize)(4)
1151
+ className: (0, import_react_ui_theme12.getSize)(4)
1244
1152
  })));
1245
- })), /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.DropdownMenu.Arrow, null)))));
1153
+ })), /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.Arrow, null)))));
1246
1154
  });
1247
- var Action = /* @__PURE__ */ (0, import_react24.forwardRef)((props, forwardedRef) => {
1155
+ var Action = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
1248
1156
  const { children, classNames, variant, isFull = true, ...rest } = props;
1249
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.Button, {
1157
+ return /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.Button, {
1250
1158
  ...rest,
1251
1159
  classNames: [
1252
1160
  isFull && "is-full",
@@ -1257,37 +1165,37 @@ var Action = /* @__PURE__ */ (0, import_react24.forwardRef)((props, forwardedRef
1257
1165
  variant
1258
1166
  }, children);
1259
1167
  });
1260
- var Actions = /* @__PURE__ */ (0, import_react25.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
1261
- return /* @__PURE__ */ import_react25.default.createElement("div", {
1168
+ var Actions = /* @__PURE__ */ (0, import_react22.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
1169
+ return /* @__PURE__ */ import_react22.default.createElement("div", {
1262
1170
  ...props,
1263
- className: (0, import_react_ui_theme14.mx)("flex flex-col gap-2 mbs-2", Array.isArray(children) && children.length > 1 ? "justify-between" : "justify-center", classNames),
1171
+ className: (0, import_react_ui_theme13.mx)("flex flex-col gap-2 mbs-2", Array.isArray(children) && children.length > 1 ? "justify-between" : "justify-center", classNames),
1264
1172
  ref: forwardedRef
1265
1173
  }, children);
1266
1174
  });
1267
1175
  var CloseButton = ({ onDone, ...props }) => {
1268
- const { t } = (0, import_react_ui13.useTranslation)("os");
1269
- return /* @__PURE__ */ import_react27.default.createElement(import_react_ui13.Button, {
1176
+ const { t } = (0, import_react_ui12.useTranslation)("os");
1177
+ return /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.Button, {
1270
1178
  variant: "ghost",
1271
- classNames: (0, import_react_ui_theme15.mx)("plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
1179
+ classNames: (0, import_react_ui_theme14.mx)("plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
1272
1180
  onClick: () => onDone?.(),
1273
1181
  ...props
1274
- }, /* @__PURE__ */ import_react27.default.createElement(import_react26.X, {
1182
+ }, /* @__PURE__ */ import_react24.default.createElement(import_react23.X, {
1275
1183
  weight: "bold",
1276
- className: (0, import_react_ui_theme15.getSize)(4)
1277
- }), /* @__PURE__ */ import_react27.default.createElement("span", {
1184
+ className: (0, import_react_ui_theme14.getSize)(4)
1185
+ }), /* @__PURE__ */ import_react24.default.createElement("span", {
1278
1186
  className: "sr-only"
1279
1187
  }, t("exit label")));
1280
1188
  };
1281
1189
  var Emoji = ({ text, className }) => {
1282
1190
  const size = 14;
1283
- return /* @__PURE__ */ import_react28.default.createElement("div", {
1191
+ return /* @__PURE__ */ import_react25.default.createElement("div", {
1284
1192
  role: "none",
1285
- className: (0, import_react_ui_theme16.mx)((0, import_react_ui_theme16.getSize)(size), "rounded relative pointer-events-none", className)
1286
- }, /* @__PURE__ */ import_react28.default.createElement("svg", {
1193
+ className: (0, import_react_ui_theme15.mx)((0, import_react_ui_theme15.getSize)(size), "rounded relative pointer-events-none", className)
1194
+ }, /* @__PURE__ */ import_react25.default.createElement("svg", {
1287
1195
  viewBox: `0 0 ${size * 4} ${size * 4}`,
1288
1196
  width: size * 4,
1289
1197
  height: size * 4
1290
- }, /* @__PURE__ */ import_react28.default.createElement("text", {
1198
+ }, /* @__PURE__ */ import_react25.default.createElement("text", {
1291
1199
  x: "50%",
1292
1200
  y: "50%",
1293
1201
  textAnchor: "middle",
@@ -1298,41 +1206,41 @@ var Emoji = ({ text, className }) => {
1298
1206
  };
1299
1207
  var Centered = (props) => {
1300
1208
  const { children } = props;
1301
- return /* @__PURE__ */ import_react28.default.createElement("div", {
1209
+ return /* @__PURE__ */ import_react25.default.createElement("div", {
1302
1210
  role: "none",
1303
1211
  className: "absolute inset-0 flex items-center justify-center"
1304
1212
  }, children);
1305
1213
  };
1306
- var Heading = /* @__PURE__ */ (0, import_react29.forwardRef)(({ titleId, title, titleSrOnly, children, corner }, forwardedRef) => {
1307
- return /* @__PURE__ */ import_react29.default.createElement("div", {
1214
+ var Heading = /* @__PURE__ */ (0, import_react26.forwardRef)(({ titleId, title, titleSrOnly, children, corner }, forwardedRef) => {
1215
+ return /* @__PURE__ */ import_react26.default.createElement("div", {
1308
1216
  role: "none",
1309
1217
  className: "pbe-2 relative",
1310
1218
  ref: forwardedRef
1311
- }, corner, /* @__PURE__ */ import_react29.default.createElement("h1", {
1219
+ }, corner, /* @__PURE__ */ import_react26.default.createElement("h1", {
1312
1220
  ...!titleSrOnly && {
1313
1221
  id: titleId
1314
1222
  },
1315
- className: (0, import_react_ui_theme17.mx)(import_react_ui_theme17.descriptionText, "text-center mlb-2", titleSrOnly && "invisible")
1316
- }, title), titleSrOnly && /* @__PURE__ */ import_react29.default.createElement("span", {
1223
+ className: (0, import_react_ui_theme16.mx)(import_react_ui_theme16.descriptionText, "text-center mlb-2", titleSrOnly && "invisible")
1224
+ }, title), titleSrOnly && /* @__PURE__ */ import_react26.default.createElement("span", {
1317
1225
  id: titleId
1318
1226
  }, title), children);
1319
1227
  });
1320
1228
  var Label = (props) => {
1321
1229
  const { children } = props;
1322
- return /* @__PURE__ */ import_react30.default.createElement("span", {
1323
- className: (0, import_react_ui_theme18.mx)(import_react_ui_theme18.descriptionText, "text-center mli-6 whitespace-normal")
1230
+ return /* @__PURE__ */ import_react27.default.createElement("span", {
1231
+ className: (0, import_react_ui_theme17.mx)(import_react_ui_theme17.descriptionText, "text-center mli-6 whitespace-normal")
1324
1232
  }, children);
1325
1233
  };
1326
1234
  var Input = ({ validationMessage, label, ...props }) => {
1327
- return /* @__PURE__ */ import_react31.default.createElement(import_react_ui14.Input.Root, null, /* @__PURE__ */ import_react31.default.createElement(import_react_ui14.Input.Label, null, label), /* @__PURE__ */ import_react31.default.createElement(import_react_ui14.Input.TextInput, {
1235
+ return /* @__PURE__ */ import_react28.default.createElement(import_react_ui13.Input.Root, null, /* @__PURE__ */ import_react28.default.createElement(import_react_ui13.Input.Label, null, label), /* @__PURE__ */ import_react28.default.createElement(import_react_ui13.Input.TextInput, {
1328
1236
  ...props,
1329
1237
  classNames: "plb-3 mbs-2 text-center"
1330
- }), /* @__PURE__ */ import_react31.default.createElement(import_react_ui14.Input.DescriptionAndValidation, null, validationMessage && /* @__PURE__ */ import_react31.default.createElement(import_react_ui14.Input.Validation, null, validationMessage)));
1238
+ }), /* @__PURE__ */ import_react28.default.createElement(import_react_ui13.Input.DescriptionAndValidation, null, validationMessage && /* @__PURE__ */ import_react28.default.createElement(import_react_ui13.Input.Validation, null, validationMessage)));
1331
1239
  };
1332
- var StepHeading = /* @__PURE__ */ (0, import_react32.forwardRef)(({ children, className, ...props }, forwardedRef) => {
1333
- return /* @__PURE__ */ import_react32.default.createElement("h2", {
1240
+ var StepHeading = /* @__PURE__ */ (0, import_react29.forwardRef)(({ children, className, ...props }, forwardedRef) => {
1241
+ return /* @__PURE__ */ import_react29.default.createElement("h2", {
1334
1242
  ...props,
1335
- className: (0, import_react_ui_theme19.mx)("font-normal text-sm mbe-4 mli-1 text-center", className),
1243
+ className: (0, import_react_ui_theme18.mx)("font-normal text-sm mbe-4 mli-1 text-center", className),
1336
1244
  ref: forwardedRef
1337
1245
  }, children);
1338
1246
  });
@@ -1347,16 +1255,16 @@ var ViewportRoot = ({ __viewportScope, classNames, children, defaultActiveView,
1347
1255
  defaultProp: defaultActiveView,
1348
1256
  onChange: onActiveViewChange
1349
1257
  });
1350
- return /* @__PURE__ */ import_react33.default.createElement(ViewportProvider, {
1258
+ return /* @__PURE__ */ import_react30.default.createElement(ViewportProvider, {
1351
1259
  focusManaged,
1352
1260
  activeView,
1353
1261
  setActiveView,
1354
1262
  scope: __viewportScope
1355
- }, /* @__PURE__ */ import_react33.default.createElement("div", {
1263
+ }, /* @__PURE__ */ import_react30.default.createElement("div", {
1356
1264
  role: "region",
1357
1265
  "aria-live": "polite",
1358
1266
  ...props,
1359
- className: (0, import_react_ui_theme20.mx)("is-full overflow-hidden", classNames)
1267
+ className: (0, import_react_ui_theme19.mx)("is-full overflow-hidden", classNames)
1360
1268
  }, children));
1361
1269
  };
1362
1270
  ViewportRoot.displayName = VIEWPORT_NAME;
@@ -1364,20 +1272,20 @@ var ViewportViews = ({ classNames, children, ...props }) => {
1364
1272
  const size = {
1365
1273
  inlineSize: `${Math.ceil(children.length) * 100}%`
1366
1274
  };
1367
- return /* @__PURE__ */ import_react33.default.createElement("div", {
1275
+ return /* @__PURE__ */ import_react30.default.createElement("div", {
1368
1276
  role: "none",
1369
1277
  style: size,
1370
1278
  ...props,
1371
- className: (0, import_react_ui_theme20.mx)("flex", classNames)
1279
+ className: (0, import_react_ui_theme19.mx)("flex", classNames)
1372
1280
  }, children);
1373
1281
  };
1374
1282
  ViewportViews.displayName = VIEWS_NAME;
1375
- var ViewportView = /* @__PURE__ */ (0, import_react33.forwardRef)(({ __viewportScope, classNames, children, id, ...props }, forwardedRef) => {
1283
+ var ViewportView = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __viewportScope, classNames, children, id, ...props }, forwardedRef) => {
1376
1284
  const { activeView, focusManaged } = useViewportContext(VIEW_NAME, __viewportScope);
1377
1285
  const isActive = id === activeView;
1378
- const ref = (0, import_react_ui15.useForwardedRef)(forwardedRef);
1286
+ const ref = (0, import_react_ui14.useForwardedRef)(forwardedRef);
1379
1287
  const { findFirstFocusable } = (0, import_react_tabster.useFocusFinders)();
1380
- (0, import_react33.useEffect)(() => {
1288
+ (0, import_react30.useEffect)(() => {
1381
1289
  if (!focusManaged && isActive && document.body.hasAttribute("data-is-keyboard") && ref.current) {
1382
1290
  findFirstFocusable(ref.current)?.focus();
1383
1291
  }
@@ -1386,12 +1294,12 @@ var ViewportView = /* @__PURE__ */ (0, import_react33.forwardRef)(({ __viewportS
1386
1294
  ref.current,
1387
1295
  isActive
1388
1296
  ]);
1389
- return /* @__PURE__ */ import_react33.default.createElement("section", {
1297
+ return /* @__PURE__ */ import_react30.default.createElement("section", {
1390
1298
  ...props,
1391
1299
  ...!isActive && {
1392
1300
  "aria-hidden": true
1393
1301
  },
1394
- className: (0, import_react_ui_theme20.mx)("min-is-0 flex-1 flex flex-col", isActive ? "order-2" : "order-4 invisible", classNames),
1302
+ className: (0, import_react_ui_theme19.mx)("min-is-0 flex-1 flex flex-col", isActive ? "order-2" : "order-4 invisible", classNames),
1395
1303
  ref
1396
1304
  }, children);
1397
1305
  });
@@ -1401,20 +1309,20 @@ var Viewport = {
1401
1309
  Views: ViewportViews,
1402
1310
  View: ViewportView
1403
1311
  };
1404
- var SpaceListItem = /* @__PURE__ */ (0, import_react34.forwardRef)(({ space, onClick }, ref) => {
1312
+ var SpaceListItem = /* @__PURE__ */ (0, import_react31.forwardRef)(({ space, onClick }, ref) => {
1405
1313
  const fallbackValue = (0, import_util4.keyToEmoji)(space.key);
1406
- const labelId = (0, import_react_ui16.useId)("identityListItem__label");
1314
+ const labelId = (0, import_react_ui15.useId)("identityListItem__label");
1407
1315
  const displayName = space.properties.name ?? (0, import_util4.humanize)(space.key.toHex());
1408
- return /* @__PURE__ */ import_react34.default.createElement("li", {
1409
- className: (0, import_react_ui_theme21.mx)("flex gap-2 items-center mbe-2", onClick && "cursor-pointer"),
1316
+ return /* @__PURE__ */ import_react31.default.createElement("li", {
1317
+ className: (0, import_react_ui_theme20.mx)("flex gap-2 items-center mbe-2", onClick && "cursor-pointer"),
1410
1318
  onClick: () => onClick?.(),
1411
1319
  ref,
1412
1320
  "data-testid": "space-list-item"
1413
- }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui16.Avatar.Root, {
1321
+ }, /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Root, {
1414
1322
  labelId
1415
- }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui16.Avatar.Frame, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui16.Avatar.Fallback, {
1323
+ }, /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Frame, null, /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Fallback, {
1416
1324
  text: fallbackValue
1417
- })), /* @__PURE__ */ import_react34.default.createElement(import_react_ui16.Avatar.Label, {
1325
+ })), /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Label, {
1418
1326
  classNames: "text-sm truncate"
1419
1327
  }, displayName)));
1420
1328
  });
@@ -1513,7 +1421,7 @@ var identityMachine = (0, import_xstate.createMachine)({
1513
1421
  }
1514
1422
  });
1515
1423
  var useIdentityMachine = (client, options) => {
1516
- return (0, import_react38.useMachine)(identityMachine, {
1424
+ return (0, import_react35.useMachine)(identityMachine, {
1517
1425
  ...options,
1518
1426
  context: {
1519
1427
  ...options?.context,
@@ -1556,7 +1464,7 @@ var IdentityActionChooser = (props) => {
1556
1464
  });
1557
1465
  };
1558
1466
  const isProduction = client.config.values.runtime?.app?.env?.DX_ENVIRONMENT === "production";
1559
- return /* @__PURE__ */ import_react39.default.createElement(IdentityActionChooserImpl, {
1467
+ return /* @__PURE__ */ import_react36.default.createElement(IdentityActionChooserImpl, {
1560
1468
  ...props,
1561
1469
  onClickAdd: createInvitation,
1562
1470
  onClickJoinExisting: () => send?.({
@@ -1572,10 +1480,10 @@ var IdentityActionChooser = (props) => {
1572
1480
  };
1573
1481
  var IdentityActionChooserImpl = ({ devices, connectionState, agentHostingEnabled, onClickAdd, onClickJoinExisting, onClickRecover, onClickReset, ...agentProps }) => {
1574
1482
  const edgeDeviceAvailable = devices.find((device) => device.profile?.type === import_halo3.DeviceType.AGENT_MANAGED && device.profile?.os?.toUpperCase() === "EDGE");
1575
- return /* @__PURE__ */ import_react39.default.createElement("div", {
1483
+ return /* @__PURE__ */ import_react36.default.createElement("div", {
1576
1484
  role: "none",
1577
1485
  className: "bs-40 grow overflow-y-auto"
1578
- }, /* @__PURE__ */ import_react39.default.createElement(DeviceList, {
1486
+ }, /* @__PURE__ */ import_react36.default.createElement(DeviceList, {
1579
1487
  devices,
1580
1488
  connectionState,
1581
1489
  onClickAdd,
@@ -1583,13 +1491,13 @@ var IdentityActionChooserImpl = ({ devices, connectionState, agentHostingEnabled
1583
1491
  onClickRecover: agentProps.agentStatus === "created" ? onClickRecover : void 0,
1584
1492
  onClickReset,
1585
1493
  onAgentDestroy: agentProps.onAgentDestroy
1586
- }), !edgeDeviceAvailable && agentHostingEnabled && /* @__PURE__ */ import_react39.default.createElement(AgentConfig, agentProps));
1494
+ }), !edgeDeviceAvailable && agentHostingEnabled && /* @__PURE__ */ import_react36.default.createElement(AgentConfig, agentProps));
1587
1495
  };
1588
1496
  var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/IdentityPanel/useEdgeAgentsHandlers.ts";
1589
1497
  var useEdgeAgentHandlers = ({ identity }) => {
1590
- const [validationMessage, setValidationMessage] = (0, import_react41.useState)("");
1591
- const [lastReceivedStatus, setLastReceivedStatus] = (0, import_react41.useState)(import_services.QueryAgentStatusResponse.AgentStatus.UNKNOWN);
1592
- const [agentStatus, setAgentStatus] = (0, import_react41.useState)("getting");
1498
+ const [validationMessage, setValidationMessage] = (0, import_react38.useState)("");
1499
+ const [lastReceivedStatus, setLastReceivedStatus] = (0, import_react38.useState)(import_services.QueryAgentStatusResponse.AgentStatus.UNKNOWN);
1500
+ const [agentStatus, setAgentStatus] = (0, import_react38.useState)("getting");
1593
1501
  const client = (0, import_react_client5.useClient)();
1594
1502
  const agentHostingEnabled = Boolean(client.config.values.runtime?.client?.edgeFeatures?.agents);
1595
1503
  const handleStatus = (status) => {
@@ -1606,7 +1514,7 @@ var useEdgeAgentHandlers = ({ identity }) => {
1606
1514
  break;
1607
1515
  }
1608
1516
  };
1609
- (0, import_react41.useEffect)(() => {
1517
+ (0, import_react38.useEffect)(() => {
1610
1518
  const stream = client.services.services.EdgeAgentService?.queryAgentStatus();
1611
1519
  stream?.subscribe(({ status }) => {
1612
1520
  setLastReceivedStatus(status);
@@ -1618,7 +1526,7 @@ var useEdgeAgentHandlers = ({ identity }) => {
1618
1526
  };
1619
1527
  }, []);
1620
1528
  const onAgentCreate = async () => {
1621
- (0, import_invariant2.invariant)(identity, "Identity not found", {
1529
+ (0, import_invariant.invariant)(identity, "Identity not found", {
1622
1530
  F: __dxlog_file3,
1623
1531
  L: 59,
1624
1532
  S: void 0,
@@ -1675,8 +1583,8 @@ var useEdgeAgentHandlers = ({ identity }) => {
1675
1583
  };
1676
1584
  var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/IdentityPanel/useKubeAgentHandlers.ts";
1677
1585
  var useKubeAgentHandlers = ({ invitations, identity }) => {
1678
- const [validationMessage, setValidationMessage] = (0, import_react42.useState)("");
1679
- const [agentStatus, setAgentStatus] = (0, import_react42.useState)("getting");
1586
+ const [validationMessage, setValidationMessage] = (0, import_react39.useState)("");
1587
+ const [agentStatus, setAgentStatus] = (0, import_react39.useState)("getting");
1680
1588
  const agentHostingProviderClient = (0, import_react_client6.useAgentHostingClient)();
1681
1589
  const client = (0, import_react_client6.useClient)();
1682
1590
  const updateAgentStatus = async () => {
@@ -1699,7 +1607,7 @@ var useKubeAgentHandlers = ({ invitations, identity }) => {
1699
1607
  }
1700
1608
  };
1701
1609
  const createAgent = async (invitationCode) => {
1702
- (0, import_invariant3.invariant)(identity, "Identity not found", {
1610
+ (0, import_invariant2.invariant)(identity, "Identity not found", {
1703
1611
  F: __dxlog_file4,
1704
1612
  L: 50,
1705
1613
  S: void 0,
@@ -1729,7 +1637,7 @@ var useKubeAgentHandlers = ({ invitations, identity }) => {
1729
1637
  }
1730
1638
  };
1731
1639
  const destroyAgent = async () => {
1732
- (0, import_invariant3.invariant)(identity, "Identity not found", {
1640
+ (0, import_invariant2.invariant)(identity, "Identity not found", {
1733
1641
  F: __dxlog_file4,
1734
1642
  L: 73,
1735
1643
  S: void 0,
@@ -1753,10 +1661,10 @@ var useKubeAgentHandlers = ({ invitations, identity }) => {
1753
1661
  setValidationMessage("No agent provider configured.");
1754
1662
  }
1755
1663
  };
1756
- (0, import_react42.useEffect)(() => {
1664
+ (0, import_react39.useEffect)(() => {
1757
1665
  void updateAgentStatus();
1758
1666
  }, []);
1759
- const handleAgentCreate = (0, import_react42.useCallback)(async (invitation) => {
1667
+ const handleAgentCreate = (0, import_react39.useCallback)(async (invitation) => {
1760
1668
  const invitationCode = import_invitations4.InvitationEncoder.encode(invitation);
1761
1669
  if (invitation.state === import_invitations4.Invitation.State.CONNECTING) {
1762
1670
  import_log6.log.info(JSON.stringify({
@@ -1840,18 +1748,18 @@ var invitationStatusValue = /* @__PURE__ */ new Map([
1840
1748
  ]
1841
1749
  ]);
1842
1750
  var InvitationManagerView = ({ children, ...props }) => {
1843
- return /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
1751
+ return /* @__PURE__ */ import_react41.default.createElement(Viewport.View, {
1844
1752
  ...props,
1845
1753
  classNames: "grow flex flex-col justify-around items-center"
1846
1754
  }, children);
1847
1755
  };
1848
1756
  var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCode, id = "0" }) => {
1849
- const { t } = (0, import_react_ui20.useTranslation)("os");
1850
- const qrLabel = (0, import_react_ui20.useId)("invitation-manager__qr-code");
1757
+ const { t } = (0, import_react_ui19.useTranslation)("os");
1758
+ const qrLabel = (0, import_react_ui19.useId)("invitation-manager__qr-code");
1851
1759
  const statusValue = multiUse ? 0 : invitationStatusValue.get(status) ?? 0;
1852
1760
  const showAuthCode = statusValue === 3;
1853
1761
  const emoji = (0, import_util7.hexToEmoji)(id);
1854
- const activeView = (0, import_react44.useMemo)(() => {
1762
+ const activeView = (0, import_react41.useMemo)(() => {
1855
1763
  if (multiUse) {
1856
1764
  return "showing qr";
1857
1765
  }
@@ -1867,50 +1775,50 @@ var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCo
1867
1775
  }, [
1868
1776
  statusValue
1869
1777
  ]);
1870
- return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, /* @__PURE__ */ import_react44.default.createElement(Viewport.Root, {
1778
+ return /* @__PURE__ */ import_react41.default.createElement(import_react41.default.Fragment, null, /* @__PURE__ */ import_react41.default.createElement(Viewport.Root, {
1871
1779
  activeView,
1872
1780
  classNames: "grow plb-1"
1873
- }, /* @__PURE__ */ import_react44.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react44.default.createElement(InvitationManagerView, {
1781
+ }, /* @__PURE__ */ import_react41.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react41.default.createElement(InvitationManagerView, {
1874
1782
  id: "showing qr",
1875
1783
  emoji
1876
- }, /* @__PURE__ */ import_react44.default.createElement("p", {
1784
+ }, /* @__PURE__ */ import_react41.default.createElement("p", {
1877
1785
  className: "text-sm mlb-1 font-normal text-center"
1878
- }, t(multiUse ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */ import_react44.default.createElement("div", {
1786
+ }, t(multiUse ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */ import_react41.default.createElement("div", {
1879
1787
  role: "none",
1880
- className: (0, import_react_ui_theme23.mx)(import_react_ui_theme23.descriptionText, "is-full max-is-[14rem] relative")
1881
- }, /* @__PURE__ */ import_react44.default.createElement(import_react_qr_rounded.QR, {
1788
+ className: (0, import_react_ui_theme22.mx)(import_react_ui_theme22.descriptionText, "is-full max-is-[14rem] relative")
1789
+ }, /* @__PURE__ */ import_react41.default.createElement(import_react_qr_rounded.QR, {
1882
1790
  rounding: 100,
1883
1791
  backgroundColor: "transparent",
1884
1792
  color: "currentColor",
1885
- className: (0, import_react_ui_theme23.mx)("is-full bs-full p-2", showAuthCode && "invisible"),
1793
+ className: (0, import_react_ui_theme22.mx)("is-full bs-full p-2", showAuthCode && "invisible"),
1886
1794
  "aria-labelledby": qrLabel,
1887
1795
  errorCorrectionLevel: "Q",
1888
1796
  cutout: true
1889
- }, invitationUrl ?? "never"), /* @__PURE__ */ import_react44.default.createElement(Centered, null, /* @__PURE__ */ import_react44.default.createElement(Emoji, {
1797
+ }, invitationUrl ?? "never"), /* @__PURE__ */ import_react41.default.createElement(Centered, null, /* @__PURE__ */ import_react41.default.createElement(Emoji, {
1890
1798
  text: emoji
1891
- }))), /* @__PURE__ */ import_react44.default.createElement("span", {
1799
+ }))), /* @__PURE__ */ import_react41.default.createElement("span", {
1892
1800
  id: qrLabel,
1893
1801
  className: "sr-only"
1894
- }, t("qr label")), /* @__PURE__ */ import_react44.default.createElement(CopyButton, {
1802
+ }, t("qr label")), /* @__PURE__ */ import_react41.default.createElement(import_react_ui19.Clipboard.Button, {
1895
1803
  variant: "ghost",
1896
1804
  value: invitationUrl ?? "never"
1897
- })), /* @__PURE__ */ import_react44.default.createElement(InvitationManagerView, {
1805
+ })), /* @__PURE__ */ import_react41.default.createElement(InvitationManagerView, {
1898
1806
  id: "showing auth code"
1899
- }, /* @__PURE__ */ import_react44.default.createElement(Label, null, t("auth code message")), /* @__PURE__ */ import_react44.default.createElement(AuthCode, {
1807
+ }, /* @__PURE__ */ import_react41.default.createElement(Label, null, t("auth code message")), /* @__PURE__ */ import_react41.default.createElement(AuthCode, {
1900
1808
  code: authCode,
1901
1809
  large: true,
1902
1810
  classNames: "text-black dark:text-white"
1903
- }), /* @__PURE__ */ import_react44.default.createElement(Label, null, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react44.default.createElement(Emoji, {
1811
+ }), /* @__PURE__ */ import_react41.default.createElement(Label, null, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react41.default.createElement(Emoji, {
1904
1812
  text: emoji
1905
- })), /* @__PURE__ */ import_react44.default.createElement(InvitationManagerView, {
1813
+ })), /* @__PURE__ */ import_react41.default.createElement(InvitationManagerView, {
1906
1814
  id: "showing final"
1907
- }, statusValue > 0 ? /* @__PURE__ */ import_react44.default.createElement(import_react43.Check, {
1908
- className: (0, import_react_ui_theme23.mx)("m-1.5", (0, import_react_ui_theme23.getSize)(6))
1909
- }) : /* @__PURE__ */ import_react44.default.createElement(import_react43.X, {
1910
- className: (0, import_react_ui_theme23.mx)("m-1.5", (0, import_react_ui_theme23.getSize)(6))
1911
- })))), /* @__PURE__ */ import_react44.default.createElement(Actions, {
1815
+ }, statusValue > 0 ? /* @__PURE__ */ import_react41.default.createElement(import_react40.Check, {
1816
+ className: (0, import_react_ui_theme22.mx)("m-1.5", (0, import_react_ui_theme22.getSize)(6))
1817
+ }) : /* @__PURE__ */ import_react41.default.createElement(import_react40.X, {
1818
+ className: (0, import_react_ui_theme22.mx)("m-1.5", (0, import_react_ui_theme22.getSize)(6))
1819
+ })))), /* @__PURE__ */ import_react41.default.createElement(Actions, {
1912
1820
  classNames: "mbs-4"
1913
- }, /* @__PURE__ */ import_react44.default.createElement(Action, {
1821
+ }, /* @__PURE__ */ import_react41.default.createElement(Action, {
1914
1822
  disabled: !active,
1915
1823
  onClick: () => send?.({
1916
1824
  type: "deselectInvitation"
@@ -1919,9 +1827,9 @@ var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCo
1919
1827
  };
1920
1828
  var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/steps/ConfirmReset.tsx";
1921
1829
  var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
1922
- const { t } = (0, import_react_ui21.useTranslation)("os");
1923
- const [validationMessage, setValidationMessage] = (0, import_react46.useState)("");
1924
- const [pending, setPending] = (0, import_react46.useState)(false);
1830
+ const { t } = (0, import_react_ui20.useTranslation)("os");
1831
+ const [validationMessage, setValidationMessage] = (0, import_react43.useState)("");
1832
+ const [pending, setPending] = (0, import_react43.useState)(false);
1925
1833
  const processReset = async () => {
1926
1834
  setPending(true);
1927
1835
  return onConfirm?.().then(() => setPending(false), (error) => {
@@ -1935,7 +1843,7 @@ var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
1935
1843
  setPending(false);
1936
1844
  });
1937
1845
  };
1938
- return /* @__PURE__ */ import_react46.default.createElement(ConfirmResetImpl, {
1846
+ return /* @__PURE__ */ import_react43.default.createElement(ConfirmResetImpl, {
1939
1847
  disabled: !active,
1940
1848
  pending,
1941
1849
  validationMessage,
@@ -1945,20 +1853,20 @@ var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
1945
1853
  });
1946
1854
  };
1947
1855
  var ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onCancel, mode }) => {
1948
- const { t } = (0, import_react_ui21.useTranslation)("os");
1856
+ const { t } = (0, import_react_ui20.useTranslation)("os");
1949
1857
  const confirmationValue = t("confirmation value");
1950
- const [inputValue, setInputValue] = (0, import_react46.useState)("");
1858
+ const [inputValue, setInputValue] = (0, import_react43.useState)("");
1951
1859
  const testIdAffix = mode === "join new identity" ? "join-new-identity" : mode === "recover" ? "recover" : "reset-storage";
1952
- return /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, /* @__PURE__ */ import_react46.default.createElement("div", {
1860
+ return /* @__PURE__ */ import_react43.default.createElement(import_react43.default.Fragment, null, /* @__PURE__ */ import_react43.default.createElement("div", {
1953
1861
  role: "none",
1954
1862
  className: "grow flex flex-col gap-2 justify-center"
1955
- }, /* @__PURE__ */ import_react46.default.createElement(import_react_ui21.Message.Root, {
1863
+ }, /* @__PURE__ */ import_react43.default.createElement(import_react_ui20.Message.Root, {
1956
1864
  valence: "error"
1957
- }, /* @__PURE__ */ import_react46.default.createElement(import_react_ui21.Message.Title, null, /* @__PURE__ */ import_react46.default.createElement(import_react45.Warning, {
1958
- className: (0, import_react_ui_theme24.mx)((0, import_react_ui_theme24.getSize)(6), "inline mie-2")
1959
- }), t("sign out chooser title")), /* @__PURE__ */ import_react46.default.createElement(import_react_ui21.Message.Body, null, t("sign out chooser message"))), /* @__PURE__ */ import_react46.default.createElement(Input, {
1865
+ }, /* @__PURE__ */ import_react43.default.createElement(import_react_ui20.Message.Title, null, /* @__PURE__ */ import_react43.default.createElement(import_react42.Warning, {
1866
+ className: (0, import_react_ui_theme23.mx)((0, import_react_ui_theme23.getSize)(6), "inline mie-2")
1867
+ }), t("sign out chooser title")), /* @__PURE__ */ import_react43.default.createElement(import_react_ui20.Message.Body, null, t("sign out chooser message"))), /* @__PURE__ */ import_react43.default.createElement(Input, {
1960
1868
  validationMessage,
1961
- label: /* @__PURE__ */ import_react46.default.createElement(StepHeading, {
1869
+ label: /* @__PURE__ */ import_react43.default.createElement(StepHeading, {
1962
1870
  className: "text-start mlb-2"
1963
1871
  }, t(mode === "join new identity" ? "join new identity input label" : mode === "recover" ? "recover reset input label" : "reset storage input label", {
1964
1872
  confirmationValue
@@ -1969,11 +1877,11 @@ var ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onCan
1969
1877
  confirmationValue
1970
1878
  }),
1971
1879
  onChange: ({ target: { value } }) => setInputValue(value)
1972
- })), /* @__PURE__ */ import_react46.default.createElement(Actions, null, onCancel && /* @__PURE__ */ import_react46.default.createElement(Action, {
1880
+ })), /* @__PURE__ */ import_react43.default.createElement(Actions, null, onCancel && /* @__PURE__ */ import_react43.default.createElement(Action, {
1973
1881
  disabled,
1974
1882
  onClick: onCancel,
1975
1883
  "data-testid": `${testIdAffix}.reset-identity-cancel`
1976
- }, t("cancel label")), onConfirm && /* @__PURE__ */ import_react46.default.createElement(Action, {
1884
+ }, t("cancel label")), onConfirm && /* @__PURE__ */ import_react43.default.createElement(Action, {
1977
1885
  variant: "destructive",
1978
1886
  disabled: disabled || pending || inputValue !== confirmationValue,
1979
1887
  onClick: onConfirm,
@@ -1984,14 +1892,13 @@ var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/I
1984
1892
  var viewStyles = "pbs-1 pbe-3 pli-3";
1985
1893
  var getHueValue = (identity) => identity?.profile?.data?.hue || (0, import_util5.hexToHue)(identity?.identityKey.toHex() ?? "0");
1986
1894
  var getEmojiValue = (identity) => identity?.profile?.data?.emoji || (0, import_util5.hexToEmoji)(identity?.identityKey.toHex() ?? "0");
1987
- var IdentityHeading = ({ titleId, title, identity, hideRecover, onDone, onUpdateProfile, connectionState, onChangeConnectionState }) => {
1988
- const client = (0, import_react_client2.useClient)();
1895
+ var IdentityHeading = ({ titleId, title, identity, onDone, onUpdateProfile, connectionState, onChangeConnectionState }) => {
1989
1896
  const fallbackValue = (0, import_util5.keyToFallback)(identity.identityKey);
1990
- const { t } = (0, import_react_ui18.useTranslation)("os");
1991
- const [displayName, setDisplayName] = (0, import_react37.useState)(identity.profile?.displayName ?? "");
1992
- const [emoji, setEmojiDirectly] = (0, import_react37.useState)(getEmojiValue(identity));
1993
- const [hue, setHueDirectly] = (0, import_react37.useState)(getHueValue(identity));
1994
- const { textValue, setTextValue } = useClipboardContext();
1897
+ const { t } = (0, import_react_ui17.useTranslation)("os");
1898
+ const [displayName, setDisplayName] = (0, import_react34.useState)(identity.profile?.displayName ?? "");
1899
+ const [emoji, setEmojiDirectly] = (0, import_react34.useState)(getEmojiValue(identity));
1900
+ const [hue, setHueDirectly] = (0, import_react34.useState)(getHueValue(identity));
1901
+ const { textValue, setTextValue } = (0, import_react_ui17.useClipboard)();
1995
1902
  const identityHex = identity.identityKey.toHex();
1996
1903
  const publicKeyCopied = textValue === identityHex;
1997
1904
  const setEmoji = (nextEmoji) => {
@@ -2014,43 +1921,30 @@ var IdentityHeading = ({ titleId, title, identity, hideRecover, onDone, onUpdate
2014
1921
  }
2015
1922
  });
2016
1923
  };
2017
- const handleRecoveryCode = async () => {
2018
- (0, import_invariant.invariant)(client.services.services.IdentityService, "IdentityService not available", {
2019
- F: __dxlog_file6,
2020
- L: 77,
2021
- S: void 0,
2022
- A: [
2023
- "client.services.services.IdentityService",
2024
- "'IdentityService not available'"
2025
- ]
2026
- });
2027
- const { seedphrase } = await client.services.services.IdentityService.createRecoveryPhrase();
2028
- void setTextValue(seedphrase);
2029
- };
2030
1924
  const isConnected = connectionState === import_mesh2.ConnectionState.ONLINE;
2031
- return /* @__PURE__ */ import_react37.default.createElement(Heading, {
1925
+ return /* @__PURE__ */ import_react34.default.createElement(Heading, {
2032
1926
  titleId,
2033
1927
  title,
2034
- corner: /* @__PURE__ */ import_react37.default.createElement(CloseButton, {
1928
+ corner: /* @__PURE__ */ import_react34.default.createElement(CloseButton, {
2035
1929
  onDone
2036
1930
  })
2037
- }, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Avatar.Root, {
1931
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Root, {
2038
1932
  size: 16,
2039
1933
  variant: "circle",
2040
1934
  status: isConnected ? "active" : "error",
2041
1935
  hue: hue || fallbackValue.hue
2042
- }, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Toolbar.Root, {
1936
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Root, {
2043
1937
  classNames: "flex justify-center"
2044
- }, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Avatar.Frame, {
1938
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Frame, {
2045
1939
  classNames: "relative z-[2] -mli-4 chromatic-ignore"
2046
- }, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Avatar.Fallback, {
1940
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Fallback, {
2047
1941
  text: emoji || fallbackValue.emoji
2048
- }))), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Avatar.Label, {
1942
+ }))), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Label, {
2049
1943
  classNames: "sr-only",
2050
1944
  "data-testid": "identityHeading.displayName"
2051
- }, identity.profile?.displayName ?? (0, import_display_name3.generateName)(identity.identityKey.toHex())), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Input.Root, null, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Input.Label, {
1945
+ }, identity.profile?.displayName ?? (0, import_display_name3.generateName)(identity.identityKey.toHex())), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Input.Root, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Input.Label, {
2052
1946
  srOnly: true
2053
- }, t("display name input label")), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Input.TextInput, {
1947
+ }, t("display name input label")), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Input.TextInput, {
2054
1948
  variant: "subdued",
2055
1949
  "data-testid": "display-name-input",
2056
1950
  placeholder: t("display name input placeholder"),
@@ -2061,62 +1955,52 @@ var IdentityHeading = ({ titleId, title, identity, hideRecover, onDone, onUpdate
2061
1955
  ...identity.profile,
2062
1956
  displayName: value
2063
1957
  })
2064
- })), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Toolbar.Root, {
1958
+ })), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Root, {
2065
1959
  classNames: "flex justify-center items-center gap-1 pt-3"
2066
- }, /* @__PURE__ */ import_react37.default.createElement(EmojiPickerToolbarButton, {
1960
+ }, /* @__PURE__ */ import_react34.default.createElement(EmojiPickerToolbarButton, {
2067
1961
  emoji,
2068
1962
  onChangeEmoji: setEmoji,
2069
1963
  classNames: "bs-[--rail-action]"
2070
- }), /* @__PURE__ */ import_react37.default.createElement(HuePickerToolbarButton, {
1964
+ }), /* @__PURE__ */ import_react34.default.createElement(HuePickerToolbarButton, {
2071
1965
  hue,
2072
1966
  onChangeHue: setHue,
2073
1967
  classNames: "bs-[--rail-action]"
2074
- }), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Root, null, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Trigger, {
1968
+ }), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Root, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Trigger, {
2075
1969
  asChild: true
2076
- }, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Toolbar.Button, {
1970
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Button, {
2077
1971
  classNames: "bs-[--rail-action]",
2078
1972
  "data-testid": "update-profile-form-copy-key",
2079
1973
  onClick: () => setTextValue(identityHex)
2080
- }, /* @__PURE__ */ import_react37.default.createElement("span", {
1974
+ }, /* @__PURE__ */ import_react34.default.createElement("span", {
2081
1975
  className: "sr-only"
2082
- }, t(publicKeyCopied ? "copy success label" : "copy self public key label")), /* @__PURE__ */ import_react37.default.createElement(import_react36.Key, {
2083
- className: (0, import_react_ui_theme22.getSize)(5)
2084
- }))), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Portal, null, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Content, {
2085
- side: "bottom",
2086
- classNames: "z-50"
2087
- }, t(publicKeyCopied ? "copy success label" : "copy self public key label"), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Arrow, null)))), !hideRecover && /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Root, null, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Trigger, {
2088
- asChild: true
2089
- }, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Toolbar.Button, {
2090
- classNames: "bs-[--rail-action]",
2091
- onClick: handleRecoveryCode
2092
- }, /* @__PURE__ */ import_react37.default.createElement(import_react36.FirstAidKit, {
2093
- className: (0, import_react_ui_theme22.getSize)(5)
2094
- }))), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Portal, null, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Content, {
1976
+ }, t(publicKeyCopied ? "copy success label" : "copy self public key label")), /* @__PURE__ */ import_react34.default.createElement(import_react33.Key, {
1977
+ className: (0, import_react_ui_theme21.getSize)(5)
1978
+ }))), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Portal, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Content, {
2095
1979
  side: "bottom",
2096
1980
  classNames: "z-50"
2097
- }, t("create recovery code label"), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Arrow, null)))), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Root, null, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Trigger, {
1981
+ }, t(publicKeyCopied ? "copy success label" : "copy self public key label"), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Arrow, null)))), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Root, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Trigger, {
2098
1982
  asChild: true
2099
- }, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Toolbar.Button, {
1983
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Button, {
2100
1984
  classNames: [
2101
1985
  "bs-[--rail-action]",
2102
1986
  !isConnected && "text-error-500"
2103
1987
  ],
2104
1988
  onClick: () => onChangeConnectionState?.(isConnected ? import_mesh2.ConnectionState.OFFLINE : import_mesh2.ConnectionState.ONLINE)
2105
- }, /* @__PURE__ */ import_react37.default.createElement("span", {
1989
+ }, /* @__PURE__ */ import_react34.default.createElement("span", {
2106
1990
  className: "sr-only"
2107
- }, t(isConnected ? "disconnect label" : "connect label")), isConnected ? /* @__PURE__ */ import_react37.default.createElement(import_react36.PlugsConnected, {
2108
- className: (0, import_react_ui_theme22.getSize)(5)
2109
- }) : /* @__PURE__ */ import_react37.default.createElement(import_react36.Plugs, {
2110
- className: (0, import_react_ui_theme22.getSize)(5)
2111
- }))), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Portal, null, /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Content, {
1991
+ }, t(isConnected ? "disconnect label" : "connect label")), isConnected ? /* @__PURE__ */ import_react34.default.createElement(import_react33.PlugsConnected, {
1992
+ className: (0, import_react_ui_theme21.getSize)(5)
1993
+ }) : /* @__PURE__ */ import_react34.default.createElement(import_react33.Plugs, {
1994
+ className: (0, import_react_ui_theme21.getSize)(5)
1995
+ }))), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Portal, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Content, {
2112
1996
  side: "bottom",
2113
1997
  classNames: "z-50"
2114
- }, t(isConnected ? "disconnect label" : "connect label"), /* @__PURE__ */ import_react37.default.createElement(import_react_ui18.Tooltip.Arrow, null)))))));
1998
+ }, t(isConnected ? "disconnect label" : "connect label"), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Arrow, null)))))));
2115
1999
  };
2116
2000
  var IdentityPanelImpl = (props) => {
2117
2001
  const { identity, titleId, activeView, onUpdateProfile, onResetStorage, onRecover, onJoinNewIdentity, IdentityActionChooser: IdentityActionChooserComponent = IdentityActionChooser, InvitationManager: InvitationManagerComponent = InvitationManager, connectionState, onChangeConnectionState, onDone, ...rest } = props;
2118
- const { t } = (0, import_react_ui18.useTranslation)("os");
2119
- const title = (0, import_react37.useMemo)(() => {
2002
+ const { t } = (0, import_react_ui17.useTranslation)("os");
2003
+ const title = (0, import_react34.useMemo)(() => {
2120
2004
  switch (activeView) {
2121
2005
  case "device invitation manager":
2122
2006
  return t("choose add device label");
@@ -2129,7 +2013,7 @@ var IdentityPanelImpl = (props) => {
2129
2013
  ]);
2130
2014
  const onCancelReset = () => rest.send?.("unchooseAction");
2131
2015
  const hideRecover = rest.agentStatus !== "created";
2132
- return /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, /* @__PURE__ */ import_react37.default.createElement(IdentityHeading, {
2016
+ return /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, /* @__PURE__ */ import_react34.default.createElement(IdentityHeading, {
2133
2017
  identity,
2134
2018
  titleId,
2135
2019
  title,
@@ -2138,44 +2022,44 @@ var IdentityPanelImpl = (props) => {
2138
2022
  onUpdateProfile,
2139
2023
  connectionState,
2140
2024
  onChangeConnectionState
2141
- }), /* @__PURE__ */ import_react37.default.createElement(Viewport.Root, {
2025
+ }), /* @__PURE__ */ import_react34.default.createElement(Viewport.Root, {
2142
2026
  activeView
2143
- }, /* @__PURE__ */ import_react37.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react37.default.createElement(Viewport.View, {
2027
+ }, /* @__PURE__ */ import_react34.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
2144
2028
  id: "identity action chooser",
2145
2029
  classNames: viewStyles
2146
- }, /* @__PURE__ */ import_react37.default.createElement(IdentityActionChooserComponent, {
2030
+ }, /* @__PURE__ */ import_react34.default.createElement(IdentityActionChooserComponent, {
2147
2031
  active: activeView === "identity action chooser",
2148
2032
  ...rest,
2149
2033
  connectionState
2150
- })), /* @__PURE__ */ import_react37.default.createElement(Viewport.View, {
2034
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
2151
2035
  id: "device invitation manager",
2152
2036
  classNames: viewStyles
2153
- }, /* @__PURE__ */ import_react37.default.createElement(InvitationManagerComponent, {
2037
+ }, /* @__PURE__ */ import_react34.default.createElement(InvitationManagerComponent, {
2154
2038
  active: activeView === "device invitation manager",
2155
2039
  ...rest,
2156
2040
  invitationUrl: rest.createInvitationUrl(rest.invitationCode)
2157
- })), /* @__PURE__ */ import_react37.default.createElement(Viewport.View, {
2041
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
2158
2042
  classNames: viewStyles,
2159
2043
  id: "confirm join new identity"
2160
- }, /* @__PURE__ */ import_react37.default.createElement(ConfirmReset, {
2044
+ }, /* @__PURE__ */ import_react34.default.createElement(ConfirmReset, {
2161
2045
  active: activeView === "confirm join new identity",
2162
2046
  ...rest,
2163
2047
  mode: "join new identity",
2164
2048
  onConfirm: onJoinNewIdentity,
2165
2049
  onCancel: onCancelReset
2166
- })), /* @__PURE__ */ import_react37.default.createElement(Viewport.View, {
2050
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
2167
2051
  classNames: viewStyles,
2168
2052
  id: "confirm recover"
2169
- }, /* @__PURE__ */ import_react37.default.createElement(ConfirmReset, {
2053
+ }, /* @__PURE__ */ import_react34.default.createElement(ConfirmReset, {
2170
2054
  active: activeView === "confirm recover",
2171
2055
  ...rest,
2172
2056
  mode: "recover",
2173
2057
  onConfirm: onRecover,
2174
2058
  onCancel: onCancelReset
2175
- })), /* @__PURE__ */ import_react37.default.createElement(Viewport.View, {
2059
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
2176
2060
  classNames: viewStyles,
2177
2061
  id: "confirm reset storage"
2178
- }, /* @__PURE__ */ import_react37.default.createElement(ConfirmReset, {
2062
+ }, /* @__PURE__ */ import_react34.default.createElement(ConfirmReset, {
2179
2063
  active: activeView === "confirm reset storage",
2180
2064
  ...rest,
2181
2065
  mode: "reset storage",
@@ -2185,13 +2069,13 @@ var IdentityPanelImpl = (props) => {
2185
2069
  };
2186
2070
  var IdentityPanelWithInvitationImpl = ({ invitation, ...props }) => {
2187
2071
  const invitationStatus = (0, import_invitations2.useInvitationStatus)(invitation);
2188
- return /* @__PURE__ */ import_react37.default.createElement(IdentityPanelImpl, {
2072
+ return /* @__PURE__ */ import_react34.default.createElement(IdentityPanelImpl, {
2189
2073
  ...props,
2190
2074
  ...invitationStatus
2191
2075
  });
2192
2076
  };
2193
2077
  var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code, initialDisposition = "default", ...props }) => {
2194
- const titleId = (0, import_react_ui18.useId)("identityPanel__heading", propsTitleId);
2078
+ const titleId = (0, import_react_ui17.useId)("identityPanel__heading", propsTitleId);
2195
2079
  const client = (0, import_react_client2.useClient)();
2196
2080
  const devices = (0, import_halo2.useDevices)();
2197
2081
  const identity = (0, import_halo2.useIdentity)();
@@ -2203,7 +2087,7 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
2203
2087
  if (!identity) {
2204
2088
  import_log.log.error("IdentityPanel rendered with no active identity.", void 0, {
2205
2089
  F: __dxlog_file6,
2206
- L: 288,
2090
+ L: 255,
2207
2091
  S: void 0,
2208
2092
  C: (f, a) => f(...a)
2209
2093
  });
@@ -2216,11 +2100,11 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
2216
2100
  });
2217
2101
  const { swarm: connectionState } = (0, import_mesh2.useNetworkStatus)();
2218
2102
  const handleChangeConnectionState = async (nextState) => client?.mesh.updateConfig(nextState);
2219
- (0, import_react37.useEffect)(() => {
2103
+ (0, import_react34.useEffect)(() => {
2220
2104
  const subscription = identityService.subscribe((state) => {
2221
2105
  (0, import_log.log)("[state]", state, {
2222
2106
  F: __dxlog_file6,
2223
- L: 301,
2107
+ L: 268,
2224
2108
  S: void 0,
2225
2109
  C: (f, a) => f(...a)
2226
2110
  });
@@ -2229,7 +2113,7 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
2229
2113
  }, [
2230
2114
  identityService
2231
2115
  ]);
2232
- const activeView = (0, import_react37.useMemo)(() => {
2116
+ const activeView = (0, import_react34.useMemo)(() => {
2233
2117
  switch (true) {
2234
2118
  case identityState.matches("choosingAction"):
2235
2119
  return "identity action chooser";
@@ -2266,34 +2150,34 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
2266
2150
  onChangeConnectionState: handleChangeConnectionState,
2267
2151
  ...agentProps
2268
2152
  };
2269
- return identityState.context.invitation ? /* @__PURE__ */ import_react37.default.createElement(IdentityPanelWithInvitationImpl, {
2153
+ return identityState.context.invitation ? /* @__PURE__ */ import_react34.default.createElement(IdentityPanelWithInvitationImpl, {
2270
2154
  ...implProps,
2271
2155
  invitation: identityState.context.invitation
2272
- }) : /* @__PURE__ */ import_react37.default.createElement(IdentityPanelImpl, implProps);
2156
+ }) : /* @__PURE__ */ import_react34.default.createElement(IdentityPanelImpl, implProps);
2273
2157
  };
2274
- var JoinHeading = /* @__PURE__ */ (0, import_react49.forwardRef)(({ mode, titleId, exitActionParent, onExit }, forwardedRef) => {
2275
- const { t } = (0, import_react_ui23.useTranslation)("os");
2276
- const exitButton = /* @__PURE__ */ import_react49.default.createElement(import_react_ui23.Button, {
2158
+ var JoinHeading = /* @__PURE__ */ (0, import_react46.forwardRef)(({ mode, titleId, exitActionParent, onExit }, forwardedRef) => {
2159
+ const { t } = (0, import_react_ui22.useTranslation)("os");
2160
+ const exitButton = /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Button, {
2277
2161
  variant: "ghost",
2278
2162
  ...onExit && {
2279
2163
  onClick: onExit
2280
2164
  },
2281
- classNames: (0, import_react_ui_theme25.mx)(import_react_ui_theme25.descriptionText, "plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
2165
+ classNames: (0, import_react_ui_theme24.mx)(import_react_ui_theme24.descriptionText, "plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
2282
2166
  "data-testid": "join-exit"
2283
- }, /* @__PURE__ */ import_react49.default.createElement(import_react48.X, {
2167
+ }, /* @__PURE__ */ import_react46.default.createElement(import_react45.X, {
2284
2168
  weight: "bold",
2285
- className: (0, import_react_ui_theme25.getSize)(4)
2286
- }), /* @__PURE__ */ import_react49.default.createElement("span", {
2169
+ className: (0, import_react_ui_theme24.getSize)(4)
2170
+ }), /* @__PURE__ */ import_react46.default.createElement("span", {
2287
2171
  className: "sr-only"
2288
2172
  }, t("exit label")));
2289
- return /* @__PURE__ */ import_react49.default.createElement(Heading, {
2173
+ return /* @__PURE__ */ import_react46.default.createElement(Heading, {
2290
2174
  ref: forwardedRef,
2291
2175
  titleId,
2292
2176
  title: t(mode === "halo-only" ? "selecting identity heading" : "joining space heading"),
2293
2177
  ...mode === "halo-only" ? {
2294
2178
  titleSrOnly: true
2295
2179
  } : {
2296
- corner: exitActionParent ? /* @__PURE__ */ (0, import_react49.cloneElement)(exitActionParent, {}, exitButton) : exitButton
2180
+ corner: exitActionParent ? /* @__PURE__ */ (0, import_react46.cloneElement)(exitActionParent, {}, exitButton) : exitButton
2297
2181
  },
2298
2182
  titleSrOnly: mode === "halo-only"
2299
2183
  });
@@ -2798,7 +2682,7 @@ var defaultCodeFromUrl = (invitationType, text) => {
2798
2682
  }
2799
2683
  };
2800
2684
  var useJoinMachine = (client, options) => {
2801
- const redeemHaloInvitationCode = (0, import_react51.useCallback)(({ halo }) => {
2685
+ const redeemHaloInvitationCode = (0, import_react48.useCallback)(({ halo }) => {
2802
2686
  if (halo.unredeemedCode) {
2803
2687
  try {
2804
2688
  const invitation = import_invitations6.InvitationEncoder.decode(defaultCodeFromUrl("halo", halo.unredeemedCode));
@@ -2823,7 +2707,7 @@ var useJoinMachine = (client, options) => {
2823
2707
  }, [
2824
2708
  client
2825
2709
  ]);
2826
- const redeemSpaceInvitationCode = (0, import_react51.useCallback)(({ space }) => {
2710
+ const redeemSpaceInvitationCode = (0, import_react48.useCallback)(({ space }) => {
2827
2711
  if (space.unredeemedCode) {
2828
2712
  try {
2829
2713
  const invitation = import_invitations6.InvitationEncoder.decode(defaultCodeFromUrl("space", space.unredeemedCode));
@@ -2848,7 +2732,7 @@ var useJoinMachine = (client, options) => {
2848
2732
  }, [
2849
2733
  client
2850
2734
  ]);
2851
- const invalidateHaloInvitationCode = (0, import_react51.useCallback)(({ halo }) => {
2735
+ const invalidateHaloInvitationCode = (0, import_react48.useCallback)(({ halo }) => {
2852
2736
  if (halo.unredeemedCode) {
2853
2737
  options?.onInvalidateInvitationCode?.(halo.unredeemedCode);
2854
2738
  return {
@@ -2861,7 +2745,7 @@ var useJoinMachine = (client, options) => {
2861
2745
  }, [
2862
2746
  options?.onInvalidateInvitationCode
2863
2747
  ]);
2864
- const invalidateSpaceInvitationCode = (0, import_react51.useCallback)(({ space }) => {
2748
+ const invalidateSpaceInvitationCode = (0, import_react48.useCallback)(({ space }) => {
2865
2749
  if (space.unredeemedCode) {
2866
2750
  options?.onInvalidateInvitationCode?.(space.unredeemedCode);
2867
2751
  return {
@@ -2874,7 +2758,7 @@ var useJoinMachine = (client, options) => {
2874
2758
  }, [
2875
2759
  options?.onInvalidateInvitationCode
2876
2760
  ]);
2877
- return (0, import_react50.useMachine)(joinMachine, {
2761
+ return (0, import_react47.useMachine)(joinMachine, {
2878
2762
  ...options,
2879
2763
  actions: {
2880
2764
  ...options?.actions,
@@ -2896,11 +2780,11 @@ var useJoinMachine = (client, options) => {
2896
2780
  var AdditionMethodChooser = (viewStateProps) => {
2897
2781
  const disabled = !viewStateProps.active;
2898
2782
  const { send } = viewStateProps;
2899
- const { t } = (0, import_react_ui24.useTranslation)("os");
2783
+ const { t } = (0, import_react_ui23.useTranslation)("os");
2900
2784
  const sharedButtonProps = {
2901
2785
  disabled,
2902
- after: /* @__PURE__ */ import_react53.default.createElement(import_react52.CaretRight, {
2903
- className: (0, import_react_ui_theme26.getSize)(4),
2786
+ after: /* @__PURE__ */ import_react50.default.createElement(import_react49.CaretRight, {
2787
+ className: (0, import_react_ui_theme25.getSize)(4),
2904
2788
  weight: "bold"
2905
2789
  }),
2906
2790
  slots: {
@@ -2909,35 +2793,35 @@ var AdditionMethodChooser = (viewStateProps) => {
2909
2793
  }
2910
2794
  }
2911
2795
  };
2912
- return /* @__PURE__ */ import_react53.default.createElement(import_react53.default.Fragment, null, /* @__PURE__ */ import_react53.default.createElement(StepHeading, null, t("addition method chooser title")), /* @__PURE__ */ import_react53.default.createElement("div", {
2796
+ return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(StepHeading, null, t("addition method chooser title")), /* @__PURE__ */ import_react50.default.createElement("div", {
2913
2797
  role: "none",
2914
2798
  className: "flex flex-col gap-1 grow"
2915
- }, /* @__PURE__ */ import_react53.default.createElement(CompoundButton, {
2799
+ }, /* @__PURE__ */ import_react50.default.createElement(CompoundButton, {
2916
2800
  ...sharedButtonProps,
2917
2801
  description: t("create identity description"),
2918
- before: /* @__PURE__ */ import_react53.default.createElement(import_react52.Plus, {
2919
- className: (0, import_react_ui_theme26.getSize)(6)
2802
+ before: /* @__PURE__ */ import_react50.default.createElement(import_react49.Plus, {
2803
+ className: (0, import_react_ui_theme25.getSize)(6)
2920
2804
  }),
2921
2805
  onClick: () => send({
2922
2806
  type: "createIdentity"
2923
2807
  }),
2924
2808
  "data-autofocus": "choosingAuthMethod",
2925
2809
  "data-testid": "identity-chooser.create-identity"
2926
- }, t("create identity label")), /* @__PURE__ */ import_react53.default.createElement(CompoundButton, {
2810
+ }, t("create identity label")), /* @__PURE__ */ import_react50.default.createElement(CompoundButton, {
2927
2811
  ...sharedButtonProps,
2928
2812
  description: t("join identity description"),
2929
- before: /* @__PURE__ */ import_react53.default.createElement(import_react52.QrCode, {
2930
- className: (0, import_react_ui_theme26.getSize)(6)
2813
+ before: /* @__PURE__ */ import_react50.default.createElement(import_react49.QrCode, {
2814
+ className: (0, import_react_ui_theme25.getSize)(6)
2931
2815
  }),
2932
2816
  onClick: () => send({
2933
2817
  type: "acceptHaloInvitation"
2934
2818
  }),
2935
2819
  "data-testid": "identity-chooser.join-identity"
2936
- }, t("join identity label")), /* @__PURE__ */ import_react53.default.createElement(CompoundButton, {
2820
+ }, t("join identity label")), /* @__PURE__ */ import_react50.default.createElement(CompoundButton, {
2937
2821
  ...sharedButtonProps,
2938
2822
  description: t("recover identity description"),
2939
- before: /* @__PURE__ */ import_react53.default.createElement(import_react52.Textbox, {
2940
- className: (0, import_react_ui_theme26.getSize)(6)
2823
+ before: /* @__PURE__ */ import_react50.default.createElement(import_react49.Textbox, {
2824
+ className: (0, import_react_ui_theme25.getSize)(6)
2941
2825
  }),
2942
2826
  onClick: () => send({
2943
2827
  type: "recoverIdentity"
@@ -2948,31 +2832,31 @@ var AdditionMethodChooser = (viewStateProps) => {
2948
2832
  var IdentityAdded = (props) => {
2949
2833
  const { mode, addedIdentity, active, send, onDone, doneActionParent } = props;
2950
2834
  const disabled = !active;
2951
- const { t } = (0, import_react_ui25.useTranslation)("os");
2835
+ const { t } = (0, import_react_ui24.useTranslation)("os");
2952
2836
  const addedIdentityHex = addedIdentity?.identityKey.toHex() ?? "0";
2953
2837
  const fallbackValue = (0, import_util8.hexToFallback)(addedIdentityHex);
2954
- const labelId = (0, import_react_ui25.useId)("identityListItem__label");
2838
+ const labelId = (0, import_react_ui24.useId)("identityListItem__label");
2955
2839
  const displayName = addedIdentity?.profile?.displayName ?? (addedIdentity && (0, import_display_name4.generateName)(addedIdentityHex));
2956
- const doneAction = /* @__PURE__ */ import_react54.default.createElement(Action, {
2840
+ const doneAction = /* @__PURE__ */ import_react51.default.createElement(Action, {
2957
2841
  ...onDone && {
2958
2842
  onClick: () => onDone(null)
2959
2843
  },
2960
2844
  disabled,
2961
2845
  "data-autofocus": "confirmingAddedIdentity",
2962
2846
  "data-testid": "identity-added-done"
2963
- }, /* @__PURE__ */ import_react54.default.createElement("span", null, t("done label")));
2964
- return /* @__PURE__ */ import_react54.default.createElement(import_react54.default.Fragment, null, /* @__PURE__ */ import_react54.default.createElement(StepHeading, null, t("identity added label")), /* @__PURE__ */ import_react54.default.createElement("div", {
2847
+ }, /* @__PURE__ */ import_react51.default.createElement("span", null, t("done label")));
2848
+ return /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(StepHeading, null, t("identity added label")), /* @__PURE__ */ import_react51.default.createElement("div", {
2965
2849
  role: "none",
2966
2850
  className: "grow flex flex-col items-center justify-center text-center gap-2"
2967
- }, /* @__PURE__ */ import_react54.default.createElement(import_react_ui25.Avatar.Root, {
2851
+ }, /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Root, {
2968
2852
  status: "active",
2969
2853
  labelId,
2970
2854
  hue: addedIdentity?.profile?.data?.hue || fallbackValue.hue
2971
- }, /* @__PURE__ */ import_react54.default.createElement(import_react_ui25.Avatar.Frame, null, /* @__PURE__ */ import_react54.default.createElement(import_react_ui25.Avatar.Fallback, {
2855
+ }, /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Frame, null, /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Fallback, {
2972
2856
  text: addedIdentity?.profile?.data?.emoji || fallbackValue.emoji
2973
- })), /* @__PURE__ */ import_react54.default.createElement(import_react_ui25.Avatar.Label, {
2974
- classNames: (0, import_react_ui_theme27.mx)("text-lg truncate", !addedIdentity?.profile?.displayName && "font-mono")
2975
- }, displayName))), /* @__PURE__ */ import_react54.default.createElement(Actions, null, mode === "halo-only" ? doneActionParent ? /* @__PURE__ */ (0, import_react54.cloneElement)(doneActionParent, {}, doneAction) : doneAction : /* @__PURE__ */ import_react54.default.createElement(Action, {
2857
+ })), /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Label, {
2858
+ classNames: (0, import_react_ui_theme26.mx)("text-lg truncate", !addedIdentity?.profile?.displayName && "font-mono")
2859
+ }, displayName))), /* @__PURE__ */ import_react51.default.createElement(Actions, null, mode === "halo-only" ? doneActionParent ? /* @__PURE__ */ (0, import_react51.cloneElement)(doneActionParent, {}, doneAction) : doneAction : /* @__PURE__ */ import_react51.default.createElement(Action, {
2976
2860
  variant: "primary",
2977
2861
  disabled: disabled || !addedIdentity,
2978
2862
  onClick: () => addedIdentity && send({
@@ -2987,11 +2871,11 @@ var IdentityInput = (props) => {
2987
2871
  const { send, method } = props;
2988
2872
  const isRecover = method === "recover identity";
2989
2873
  const client = (0, import_react_client9.useClient)();
2990
- const { t } = (0, import_react_ui26.useTranslation)("os");
2991
- const [validationMessage, setValidationMessage] = (0, import_react55.useState)("");
2992
- const createIdentity = (value) => {
2874
+ const { t } = (0, import_react_ui25.useTranslation)("os");
2875
+ const [validationMessage, setValidationMessage] = (0, import_react52.useState)("");
2876
+ const handleConfirm = async (value) => {
2993
2877
  if (isRecover) {
2994
- void client.halo.recoverIdentity({
2878
+ await client.halo.recoverIdentity({
2995
2879
  seedphrase: value
2996
2880
  }).then((identity) => {
2997
2881
  send?.({
@@ -3001,14 +2885,14 @@ var IdentityInput = (props) => {
3001
2885
  }, (error) => {
3002
2886
  import_log10.log.catch(error, void 0, {
3003
2887
  F: __dxlog_file8,
3004
- L: 38,
2888
+ L: 39,
3005
2889
  S: void 0,
3006
2890
  C: (f, a) => f(...a)
3007
2891
  });
3008
2892
  setValidationMessage(t("failed to recover identity message"));
3009
2893
  });
3010
2894
  } else {
3011
- void client.halo.createIdentity({
2895
+ await client.halo.createIdentity({
3012
2896
  displayName: value
3013
2897
  }).then((identity) => {
3014
2898
  send?.({
@@ -3018,7 +2902,7 @@ var IdentityInput = (props) => {
3018
2902
  }, (error) => {
3019
2903
  import_log10.log.catch(error, void 0, {
3020
2904
  F: __dxlog_file8,
3021
- L: 48,
2905
+ L: 49,
3022
2906
  S: void 0,
3023
2907
  C: (f, a) => f(...a)
3024
2908
  });
@@ -3026,41 +2910,43 @@ var IdentityInput = (props) => {
3026
2910
  });
3027
2911
  }
3028
2912
  };
3029
- return /* @__PURE__ */ import_react55.default.createElement(IdentityInputImpl, {
2913
+ return /* @__PURE__ */ import_react52.default.createElement(IdentityInputImpl, {
3030
2914
  ...props,
3031
- onDisplayNameConfirm: createIdentity,
2915
+ onConfirm: handleConfirm,
3032
2916
  validationMessage
3033
2917
  });
3034
2918
  };
3035
2919
  var IdentityInputImpl = (props) => {
3036
- const { method, send, active, onDisplayNameConfirm, validationMessage } = props;
3037
- const disabled = !active;
3038
- const { t } = (0, import_react_ui26.useTranslation)("os");
3039
- const [inputValue, setInputValue] = (0, import_react55.useState)("");
2920
+ const { method, active, onConfirm, validationMessage } = props;
2921
+ const { t } = (0, import_react_ui25.useTranslation)("os");
2922
+ const [inputValue, setInputValue] = (0, import_react52.useState)("");
2923
+ const [pending, setPending] = (0, import_react52.useState)(false);
2924
+ const disabled = !active || pending;
3040
2925
  const isRecover = method === "recover identity";
3041
- return /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement("div", {
2926
+ const handleConfirm = (0, import_react52.useCallback)(async () => {
2927
+ setPending(true);
2928
+ await onConfirm?.(inputValue);
2929
+ setPending(false);
2930
+ }, [
2931
+ onConfirm,
2932
+ inputValue
2933
+ ]);
2934
+ return /* @__PURE__ */ import_react52.default.createElement(import_react52.default.Fragment, null, /* @__PURE__ */ import_react52.default.createElement("div", {
3042
2935
  role: "none",
3043
2936
  className: "grow flex flex-col justify-center"
3044
- }, /* @__PURE__ */ import_react55.default.createElement(Input, {
2937
+ }, /* @__PURE__ */ import_react52.default.createElement(Input, {
3045
2938
  validationMessage,
3046
- label: /* @__PURE__ */ import_react55.default.createElement(StepHeading, null, t(isRecover ? "recover identity input label" : "new identity input label")),
2939
+ label: /* @__PURE__ */ import_react52.default.createElement(StepHeading, null, t(isRecover ? "recover identity input label" : "new identity input label")),
3047
2940
  disabled,
3048
2941
  "data-testid": "identity-input",
3049
- placeholder: isRecover ? "Type your recovery phrase" : "Type a display name",
2942
+ placeholder: isRecover ? t("recovery code placeholder") : t("display name placeholder"),
3050
2943
  onChange: ({ target: { value } }) => setInputValue(value)
3051
- })), /* @__PURE__ */ import_react55.default.createElement(Actions, null, /* @__PURE__ */ import_react55.default.createElement(Action, {
3052
- variant: "ghost",
3053
- disabled,
3054
- onClick: () => send?.({
3055
- type: "deselectAuthMethod"
3056
- }),
3057
- "data-testid": `${method === "recover identity" ? "recover" : "create"}-identity-input-back`
3058
- }, t("back label")), /* @__PURE__ */ import_react55.default.createElement(Action, {
2944
+ })), /* @__PURE__ */ import_react52.default.createElement(Actions, null, /* @__PURE__ */ import_react52.default.createElement(Action, {
3059
2945
  variant: "primary",
3060
- disabled,
3061
- onClick: () => onDisplayNameConfirm?.(inputValue),
2946
+ disabled: disabled || inputValue.trim().length === 0,
2947
+ onClick: handleConfirm,
3062
2948
  "data-testid": `${method === "recover identity" ? "recover" : "create"}-identity-input-continue`
3063
- }, t("continue label"))));
2949
+ }, pending ? t("pending label") : t("continue label"))));
3064
2950
  };
3065
2951
  var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/JoinPanel/steps/InvitationInput.tsx";
3066
2952
  var invitationCodeFromUrl = (text) => {
@@ -3081,9 +2967,9 @@ var invitationCodeFromUrl = (text) => {
3081
2967
  var InvitationInput = (props) => {
3082
2968
  const { Kind, active, send, unredeemedCode, onExit, exitActionParent, onDone, doneActionParent, succeededKeys } = props;
3083
2969
  const disabled = !active;
3084
- const { t } = (0, import_react_ui28.useTranslation)("os");
3085
- const [inputValue, setInputValue] = (0, import_react57.useState)(unredeemedCode ?? "");
3086
- (0, import_react57.useEffect)(() => {
2970
+ const { t } = (0, import_react_ui27.useTranslation)("os");
2971
+ const [inputValue, setInputValue] = (0, import_react54.useState)(unredeemedCode ?? "");
2972
+ (0, import_react54.useEffect)(() => {
3087
2973
  unredeemedCode && setInputValue(unredeemedCode ?? "");
3088
2974
  }, [
3089
2975
  unredeemedCode
@@ -3100,7 +2986,7 @@ var InvitationInput = (props) => {
3100
2986
  }
3101
2987
  });
3102
2988
  };
3103
- const exitAction = /* @__PURE__ */ import_react57.default.createElement(Action, {
2989
+ const exitAction = /* @__PURE__ */ import_react54.default.createElement(Action, {
3104
2990
  variant: "ghost",
3105
2991
  disabled,
3106
2992
  ...onExit ? {
@@ -3110,20 +2996,19 @@ var InvitationInput = (props) => {
3110
2996
  },
3111
2997
  "data-testid": "join-exit"
3112
2998
  }, t("cancel label"));
3113
- return /* @__PURE__ */ import_react57.default.createElement(import_react57.default.Fragment, null, /* @__PURE__ */ import_react57.default.createElement("div", {
2999
+ return /* @__PURE__ */ import_react54.default.createElement(import_react54.default.Fragment, null, /* @__PURE__ */ import_react54.default.createElement("div", {
3114
3000
  role: "none",
3115
3001
  className: "grow flex flex-col justify-center"
3116
- }, /* @__PURE__ */ import_react57.default.createElement(Input, {
3117
- label: /* @__PURE__ */ import_react57.default.createElement(StepHeading, null, t("invitation input label")),
3118
- // TODO(burdon): Translation.
3119
- placeholder: "Type an invitation code",
3002
+ }, /* @__PURE__ */ import_react54.default.createElement(Input, {
3003
+ label: /* @__PURE__ */ import_react54.default.createElement(StepHeading, null, t("invitation input label")),
3004
+ placeholder: t("invitation input placeholder"),
3120
3005
  disabled,
3121
3006
  value: inputValue,
3122
3007
  onChange: ({ target: { value } }) => setInputValue(value),
3123
3008
  "data-autofocus": `inputting${Kind}InvitationCode`,
3124
3009
  "data-testid": `${Kind.toLowerCase()}-invitation-input`,
3125
3010
  onKeyUp: ({ key }) => key === "Enter" && handleNext()
3126
- })), /* @__PURE__ */ import_react57.default.createElement(Actions, null, Kind === "Halo" ? null : exitActionParent ? /* @__PURE__ */ (0, import_react57.cloneElement)(exitActionParent, {}, exitAction) : doneActionParent ? /* @__PURE__ */ (0, import_react57.cloneElement)(doneActionParent, {}, exitAction) : exitAction, /* @__PURE__ */ import_react57.default.createElement(Action, {
3011
+ })), /* @__PURE__ */ import_react54.default.createElement(Actions, null, Kind === "Halo" ? null : exitActionParent ? /* @__PURE__ */ (0, import_react54.cloneElement)(exitActionParent, {}, exitAction) : doneActionParent ? /* @__PURE__ */ (0, import_react54.cloneElement)(doneActionParent, {}, exitAction) : exitAction, /* @__PURE__ */ import_react54.default.createElement(Action, {
3127
3012
  variant: "primary",
3128
3013
  disabled: disabled || inputValue.trim().length === 0,
3129
3014
  onClick: handleNext,
@@ -3140,14 +3025,14 @@ var InvitationActions = ({
3140
3025
  Kind,
3141
3026
  failReason
3142
3027
  }) => {
3143
- const { t } = (0, import_react_ui29.useTranslation)("os");
3028
+ const { t } = (0, import_react_ui28.useTranslation)("os");
3144
3029
  if (failReason) {
3145
- return /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, /* @__PURE__ */ import_react58.default.createElement(StepHeading, {
3146
- className: import_react_ui_theme28.descriptionText
3147
- }, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */ import_react58.default.createElement("div", {
3030
+ return /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement(StepHeading, {
3031
+ className: import_react_ui_theme27.descriptionText
3032
+ }, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */ import_react55.default.createElement("div", {
3148
3033
  role: "none",
3149
3034
  className: "grow"
3150
- }), /* @__PURE__ */ import_react58.default.createElement(Actions, null, /* @__PURE__ */ import_react58.default.createElement(Action, {
3035
+ }), /* @__PURE__ */ import_react55.default.createElement(Actions, null, /* @__PURE__ */ import_react55.default.createElement(Action, {
3151
3036
  disabled: !active,
3152
3037
  onClick: () => send({
3153
3038
  type: `reset${Kind}Invitation`
@@ -3155,16 +3040,16 @@ var InvitationActions = ({
3155
3040
  "data-testid": "invitation-rescuer-reset"
3156
3041
  }, t("reset label"))));
3157
3042
  } else {
3158
- return /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, /* @__PURE__ */ import_react58.default.createElement(StepHeading, {
3159
- className: import_react_ui_theme28.descriptionText
3160
- }, t("connecting status label")), /* @__PURE__ */ import_react58.default.createElement("div", {
3043
+ return /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement(StepHeading, {
3044
+ className: import_react_ui_theme27.descriptionText
3045
+ }, t("connecting status label")), /* @__PURE__ */ import_react55.default.createElement("div", {
3161
3046
  role: "none",
3162
3047
  className: "grow"
3163
- }), /* @__PURE__ */ import_react58.default.createElement(Actions, null, /* @__PURE__ */ import_react58.default.createElement(Action, {
3048
+ }), /* @__PURE__ */ import_react55.default.createElement(Actions, null, /* @__PURE__ */ import_react55.default.createElement(Action, {
3164
3049
  disabled: true,
3165
3050
  classNames: "order-2",
3166
3051
  "data-testid": "next"
3167
- }, t("next label")), /* @__PURE__ */ import_react58.default.createElement(Action, {
3052
+ }, t("next label")), /* @__PURE__ */ import_react55.default.createElement(Action, {
3168
3053
  disabled: !active,
3169
3054
  onClick: onInvitationCancel,
3170
3055
  "data-testid": "invitation-rescuer-cancel"
@@ -3173,45 +3058,45 @@ var InvitationActions = ({
3173
3058
  };
3174
3059
  var InvitationRescuer = (props) => {
3175
3060
  const { Kind, invitationState, active, send } = props;
3176
- const { t } = (0, import_react_ui29.useTranslation)("os");
3177
- return /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, typeof invitationState === "undefined" ? /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, /* @__PURE__ */ import_react58.default.createElement("div", {
3061
+ const { t } = (0, import_react_ui28.useTranslation)("os");
3062
+ return /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, typeof invitationState === "undefined" ? /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement("div", {
3178
3063
  role: "none",
3179
3064
  className: "grow flex flex-col justify-center"
3180
- }, /* @__PURE__ */ import_react58.default.createElement(StepHeading, {
3181
- className: import_react_ui_theme28.descriptionText
3182
- }, "There was a problem joining the space")), /* @__PURE__ */ import_react58.default.createElement(Actions, null, /* @__PURE__ */ import_react58.default.createElement(Action, {
3065
+ }, /* @__PURE__ */ import_react55.default.createElement(StepHeading, {
3066
+ className: import_react_ui_theme27.descriptionText
3067
+ }, "There was a problem joining the space")), /* @__PURE__ */ import_react55.default.createElement(Actions, null, /* @__PURE__ */ import_react55.default.createElement(Action, {
3183
3068
  disabled: !active,
3184
3069
  "data-testid": "invitation-rescuer-blank-reset",
3185
3070
  onClick: () => send({
3186
3071
  type: `reset${Kind}Invitation`
3187
3072
  })
3188
- }, t("reset label")))) : /* @__PURE__ */ import_react58.default.createElement(InvitationActions, props));
3073
+ }, t("reset label")))) : /* @__PURE__ */ import_react55.default.createElement(InvitationActions, props));
3189
3074
  };
3190
3075
  var pinLength = 6;
3191
3076
  var InvitationAuthenticator = ({ failed, Kind, authMethod, active, pending, invitationId, onInvitationAuthenticate, onInvitationCancel }) => {
3192
3077
  const disabled = !active || pending;
3193
- const { t } = (0, import_react_ui30.useTranslation)("os");
3078
+ const { t } = (0, import_react_ui29.useTranslation)("os");
3194
3079
  const invitationType = Kind.toLowerCase();
3195
- const [authCode, setAuthCode] = (0, import_react59.useState)("");
3080
+ const [authCode, setAuthCode] = (0, import_react56.useState)("");
3196
3081
  const onChange = ({ target: { value } }) => {
3197
3082
  setAuthCode(value);
3198
3083
  if (value.length === pinLength) {
3199
3084
  document.querySelector(`[data-autofocus-pinlength="${invitationType}"]`)?.focus();
3200
3085
  }
3201
3086
  };
3202
- return /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, /* @__PURE__ */ import_react59.default.createElement("div", {
3087
+ return /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement("div", {
3203
3088
  role: "none",
3204
3089
  className: "grow flex flex-col justify-center gap-4"
3205
- }, /* @__PURE__ */ import_react59.default.createElement(import_react_ui30.Input.Root, failed && {
3090
+ }, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.Root, failed && {
3206
3091
  validationValence: "error"
3207
- }, /* @__PURE__ */ import_react59.default.createElement(import_react_ui30.Input.Label, {
3092
+ }, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.Label, {
3208
3093
  asChild: true
3209
- }, authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET ? /* @__PURE__ */ import_react59.default.createElement(StepHeading, null, t("auth code input label")) : /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, /* @__PURE__ */ import_react59.default.createElement(StepHeading, {
3210
- className: import_react_ui_theme29.descriptionText
3211
- }, t("authenticating label")), /* @__PURE__ */ import_react59.default.createElement("div", {
3094
+ }, authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET ? /* @__PURE__ */ import_react56.default.createElement(StepHeading, null, t("auth code input label")) : /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement(StepHeading, {
3095
+ className: import_react_ui_theme28.descriptionText
3096
+ }, t("authenticating label")), /* @__PURE__ */ import_react56.default.createElement("div", {
3212
3097
  role: "none",
3213
3098
  className: "grow"
3214
- }))), authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react59.default.createElement(import_react_ui30.Input.PinInput, {
3099
+ }))), authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.PinInput, {
3215
3100
  disabled,
3216
3101
  length: pinLength,
3217
3102
  onChange,
@@ -3222,18 +3107,18 @@ var InvitationAuthenticator = ({ failed, Kind, authMethod, active, pending, invi
3222
3107
  "data-prevent-ios-autofocus": true,
3223
3108
  "data-testid": `${invitationType}-auth-code-input`,
3224
3109
  "data-1p-ignore": true
3225
- }), failed && /* @__PURE__ */ import_react59.default.createElement(import_react_ui30.Input.DescriptionAndValidation, {
3110
+ }), failed && /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.DescriptionAndValidation, {
3226
3111
  classNames: "text-center"
3227
- }, /* @__PURE__ */ import_react59.default.createElement(import_react_ui30.Input.Validation, null, t("failed to authenticate message")))), invitationId && authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, /* @__PURE__ */ import_react59.default.createElement(Label, null, t("auth other device emoji message")), /* @__PURE__ */ import_react59.default.createElement("div", {
3112
+ }, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.Validation, null, t("failed to authenticate message")))), invitationId && authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement(Label, null, t("auth other device emoji message")), /* @__PURE__ */ import_react56.default.createElement("div", {
3228
3113
  className: "flex justify-center"
3229
- }, /* @__PURE__ */ import_react59.default.createElement(Emoji, {
3114
+ }, /* @__PURE__ */ import_react56.default.createElement(Emoji, {
3230
3115
  text: (0, import_util9.hexToEmoji)(invitationId)
3231
- })))), /* @__PURE__ */ import_react59.default.createElement(Actions, null, /* @__PURE__ */ import_react59.default.createElement(Action, {
3116
+ })))), /* @__PURE__ */ import_react56.default.createElement(Actions, null, /* @__PURE__ */ import_react56.default.createElement(Action, {
3232
3117
  variant: "ghost",
3233
3118
  disabled,
3234
3119
  onClick: () => onInvitationCancel?.(),
3235
3120
  "data-testid": `${invitationType}-invitation-authenticator-cancel`
3236
- }, t("cancel label")), /* @__PURE__ */ import_react59.default.createElement(Action, {
3121
+ }, t("cancel label")), /* @__PURE__ */ import_react56.default.createElement(Action, {
3237
3122
  variant: "primary",
3238
3123
  disabled,
3239
3124
  onClick: () => onInvitationAuthenticate?.(authCode),
@@ -3288,46 +3173,46 @@ var JoinPanelImpl = (props) => {
3288
3173
  IdentityInput: IdentityInputComponent = IdentityInput,
3289
3174
  ConfirmReset: ConfirmResetComponent = ConfirmReset
3290
3175
  } = props;
3291
- return /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, mode !== "halo-only" && /* @__PURE__ */ import_react47.default.createElement(JoinHeading, {
3176
+ return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, mode !== "halo-only" && /* @__PURE__ */ import_react44.default.createElement(JoinHeading, {
3292
3177
  titleId,
3293
3178
  mode,
3294
3179
  onExit,
3295
3180
  exitActionParent
3296
- }), /* @__PURE__ */ import_react47.default.createElement(Viewport.Root, {
3181
+ }), /* @__PURE__ */ import_react44.default.createElement(Viewport.Root, {
3297
3182
  focusManaged: true,
3298
3183
  activeView
3299
- }, /* @__PURE__ */ import_react47.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3184
+ }, /* @__PURE__ */ import_react44.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3300
3185
  classNames: stepStyles,
3301
3186
  id: "addition method chooser"
3302
- }, /* @__PURE__ */ import_react47.default.createElement(AdditionMethodChooser, {
3187
+ }, /* @__PURE__ */ import_react44.default.createElement(AdditionMethodChooser, {
3303
3188
  send,
3304
3189
  active: activeView === "addition method chooser"
3305
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3190
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3306
3191
  classNames: stepStyles,
3307
3192
  id: "reset storage confirmation"
3308
- }, /* @__PURE__ */ import_react47.default.createElement(ConfirmResetComponent, {
3193
+ }, /* @__PURE__ */ import_react44.default.createElement(ConfirmResetComponent, {
3309
3194
  send,
3310
3195
  active: activeView === "reset storage confirmation",
3311
3196
  onCancel: onCancelResetStorage,
3312
3197
  onConfirm: onConfirmResetStorage
3313
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3198
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3314
3199
  classNames: stepStyles,
3315
3200
  id: "create identity input"
3316
- }, /* @__PURE__ */ import_react47.default.createElement(IdentityInputComponent, {
3201
+ }, /* @__PURE__ */ import_react44.default.createElement(IdentityInputComponent, {
3317
3202
  send,
3318
3203
  method: "create identity",
3319
3204
  active: activeView === "create identity input"
3320
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3205
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3321
3206
  classNames: stepStyles,
3322
3207
  id: "recover identity input"
3323
- }, /* @__PURE__ */ import_react47.default.createElement(IdentityInputComponent, {
3208
+ }, /* @__PURE__ */ import_react44.default.createElement(IdentityInputComponent, {
3324
3209
  send,
3325
3210
  method: "recover identity",
3326
3211
  active: activeView === "recover identity input"
3327
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3212
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3328
3213
  classNames: stepStyles,
3329
3214
  id: "halo invitation input"
3330
- }, /* @__PURE__ */ import_react47.default.createElement(InvitationInput, {
3215
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationInput, {
3331
3216
  send,
3332
3217
  Kind: "Halo",
3333
3218
  active: activeView === "halo invitation input",
@@ -3337,20 +3222,20 @@ var JoinPanelImpl = (props) => {
3337
3222
  ...succeededKeys?.Halo && {
3338
3223
  succeededKeys: succeededKeys.Halo
3339
3224
  }
3340
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3225
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3341
3226
  classNames: stepStyles,
3342
3227
  id: "halo invitation rescuer"
3343
- }, /* @__PURE__ */ import_react47.default.createElement(InvitationRescuer, {
3228
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationRescuer, {
3344
3229
  send,
3345
3230
  Kind: "Halo",
3346
3231
  active: activeView === "halo invitation rescuer",
3347
3232
  invitationState: invitationStates?.Halo,
3348
3233
  onInvitationCancel: onHaloInvitationCancel,
3349
3234
  failReason: failReasons?.Halo
3350
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3235
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3351
3236
  classNames: stepStyles,
3352
3237
  id: "halo invitation authenticator"
3353
- }, /* @__PURE__ */ import_react47.default.createElement(InvitationAuthenticator, {
3238
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationAuthenticator, {
3354
3239
  send,
3355
3240
  Kind: "Halo",
3356
3241
  invitationId: invitationIds?.Halo,
@@ -3361,19 +3246,19 @@ var JoinPanelImpl = (props) => {
3361
3246
  ...failed.has("Halo") && {
3362
3247
  failed: true
3363
3248
  }
3364
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3249
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3365
3250
  classNames: stepStyles,
3366
3251
  id: "identity added"
3367
- }, /* @__PURE__ */ import_react47.default.createElement(IdentityAdded, {
3252
+ }, /* @__PURE__ */ import_react44.default.createElement(IdentityAdded, {
3368
3253
  send,
3369
3254
  mode,
3370
3255
  active: activeView === "identity added",
3371
3256
  doneActionParent,
3372
3257
  onDone: onHaloDone
3373
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3258
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3374
3259
  classNames: stepStyles,
3375
3260
  id: "space invitation input"
3376
- }, /* @__PURE__ */ import_react47.default.createElement(InvitationInput, {
3261
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationInput, {
3377
3262
  send,
3378
3263
  Kind: "Space",
3379
3264
  active: activeView === "space invitation input",
@@ -3385,20 +3270,20 @@ var JoinPanelImpl = (props) => {
3385
3270
  },
3386
3271
  onExit,
3387
3272
  exitActionParent
3388
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3273
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3389
3274
  classNames: stepStyles,
3390
3275
  id: "space invitation rescuer"
3391
- }, /* @__PURE__ */ import_react47.default.createElement(InvitationRescuer, {
3276
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationRescuer, {
3392
3277
  send,
3393
3278
  Kind: "Space",
3394
3279
  active: activeView === "space invitation rescuer",
3395
3280
  invitationState: invitationStates?.Space,
3396
3281
  onInvitationCancel: onSpaceInvitationCancel,
3397
3282
  failReason: failReasons?.Space
3398
- })), /* @__PURE__ */ import_react47.default.createElement(Viewport.View, {
3283
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3399
3284
  classNames: stepStyles,
3400
3285
  id: "space invitation authenticator"
3401
- }, /* @__PURE__ */ import_react47.default.createElement(InvitationAuthenticator, {
3286
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationAuthenticator, {
3402
3287
  send,
3403
3288
  Kind: "Space",
3404
3289
  invitationId: invitationIds?.Space,
@@ -3414,8 +3299,8 @@ var JoinPanelImpl = (props) => {
3414
3299
  var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition = "default", initialInvitationCode, exitActionParent, onExit, doneActionParent, onDone: propsOnDone, onCancelResetStorage }) => {
3415
3300
  const client = (0, import_react_client7.useClient)();
3416
3301
  const identity = (0, import_halo4.useIdentity)();
3417
- const { hasIosKeyboard } = (0, import_react_ui22.useThemeContext)();
3418
- const titleId = (0, import_react_ui22.useId)("joinPanel__heading", propsTitleId);
3302
+ const { hasIosKeyboard } = (0, import_react_ui21.useThemeContext)();
3303
+ const titleId = (0, import_react_ui21.useId)("joinPanel__heading", propsTitleId);
3419
3304
  const [joinState, joinSend, joinService] = useJoinMachine(client, {
3420
3305
  context: {
3421
3306
  mode,
@@ -3428,7 +3313,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3428
3313
  }
3429
3314
  }
3430
3315
  });
3431
- (0, import_react47.useEffect)(() => {
3316
+ (0, import_react44.useEffect)(() => {
3432
3317
  const subscription = joinService.subscribe((state) => {
3433
3318
  (0, import_log8.log)("[state]", state, {
3434
3319
  F: __dxlog_file10,
@@ -3441,7 +3326,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3441
3326
  }, [
3442
3327
  joinService
3443
3328
  ]);
3444
- (0, import_react47.useEffect)(() => {
3329
+ (0, import_react44.useEffect)(() => {
3445
3330
  const stateStack = joinState.configuration[0].id.split(".");
3446
3331
  const innermostState = stateStack[stateStack.length - 1];
3447
3332
  const autoFocusValue = innermostState === "finishingJoining" ? "successSpaceInvitation" : innermostState;
@@ -3453,7 +3338,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3453
3338
  joinState.value,
3454
3339
  hasIosKeyboard
3455
3340
  ]);
3456
- const activeView = (0, import_react47.useMemo)(() => {
3341
+ const activeView = (0, import_react44.useMemo)(() => {
3457
3342
  switch (true) {
3458
3343
  case joinState.matches({
3459
3344
  choosingIdentity: "choosingAuthMethod"
@@ -3574,7 +3459,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3574
3459
  }, [
3575
3460
  joinState
3576
3461
  ]);
3577
- (0, import_react47.useEffect)(() => {
3462
+ (0, import_react44.useEffect)(() => {
3578
3463
  switch (activeView) {
3579
3464
  case "halo invitation accepted":
3580
3465
  onHaloDone();
@@ -3586,7 +3471,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3586
3471
  }, [
3587
3472
  activeView
3588
3473
  ]);
3589
- const failed = (0, import_react47.useMemo)(() => {
3474
+ const failed = (0, import_react44.useMemo)(() => {
3590
3475
  const result = /* @__PURE__ */ new Set();
3591
3476
  switch (true) {
3592
3477
  case joinState.matches({
@@ -3610,54 +3495,54 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3610
3495
  }, [
3611
3496
  joinState
3612
3497
  ]);
3613
- const unredeemedCodes = (0, import_react47.useMemo)(() => ({
3498
+ const unredeemedCodes = (0, import_react44.useMemo)(() => ({
3614
3499
  Halo: joinState.context.halo.unredeemedCode,
3615
3500
  Space: joinState.context.space.unredeemedCode
3616
3501
  }), [
3617
3502
  joinState
3618
3503
  ]);
3619
3504
  const spaces = (0, import_react_client7.useMulticastObservable)(client.spaces);
3620
- const succeededKeys = (0, import_react47.useMemo)(() => ({
3505
+ const succeededKeys = (0, import_react44.useMemo)(() => ({
3621
3506
  Space: spaces ? new Set(spaces.map(({ key }) => key.toHex())) : void 0
3622
3507
  }), [
3623
3508
  spaces
3624
3509
  ]);
3625
- const invitationStates = (0, import_react47.useMemo)(() => ({
3510
+ const invitationStates = (0, import_react44.useMemo)(() => ({
3626
3511
  Halo: joinState.context.halo.invitationObservable?.get().state,
3627
3512
  Space: joinState.context.space.invitationObservable?.get().state
3628
3513
  }), [
3629
3514
  joinState
3630
3515
  ]);
3631
- const invitationAuthMethods = (0, import_react47.useMemo)(() => ({
3516
+ const invitationAuthMethods = (0, import_react44.useMemo)(() => ({
3632
3517
  Halo: joinState.context.halo.invitationObservable?.get().authMethod,
3633
3518
  Space: joinState.context.space.invitationObservable?.get().authMethod
3634
3519
  }), [
3635
3520
  joinState
3636
3521
  ]);
3637
- const invitationIds = (0, import_react47.useMemo)(() => ({
3522
+ const invitationIds = (0, import_react44.useMemo)(() => ({
3638
3523
  Halo: joinState.context.halo.invitationObservable?.get().invitationId,
3639
3524
  Space: joinState.context.space.invitationObservable?.get().invitationId
3640
3525
  }), [
3641
3526
  joinState
3642
3527
  ]);
3643
- const failReasons = (0, import_react47.useMemo)(() => ({
3528
+ const failReasons = (0, import_react44.useMemo)(() => ({
3644
3529
  Halo: joinState.context.halo.failReason,
3645
3530
  Space: joinState.context.space.failReason
3646
3531
  }), [
3647
3532
  joinState
3648
3533
  ]);
3649
- const onHaloDone = (0, import_react47.useCallback)(() => {
3534
+ const onHaloDone = (0, import_react44.useCallback)(() => {
3650
3535
  propsOnDone?.({
3651
- identityKey: joinState.context.halo.invitation?.identityKey ?? null,
3536
+ identityKey: joinState.context.identity?.identityKey ?? joinState.context.halo.invitation?.identityKey ?? null,
3652
3537
  swarmKey: joinState.context.halo.invitation?.swarmKey ?? null,
3653
- spaceKey: joinState.context.halo.invitation?.spaceKey ?? null,
3538
+ spaceKey: joinState.context.identity?.spaceKey ?? joinState.context.halo.invitation?.spaceKey ?? null,
3654
3539
  target: joinState.context.halo.invitation?.target ?? null
3655
3540
  });
3656
3541
  }, [
3657
3542
  joinState,
3658
3543
  propsOnDone
3659
3544
  ]);
3660
- const onSpaceDone = (0, import_react47.useCallback)(() => {
3545
+ const onSpaceDone = (0, import_react44.useCallback)(() => {
3661
3546
  propsOnDone?.({
3662
3547
  identityKey: joinState.context.space.invitation?.identityKey ?? null,
3663
3548
  swarmKey: joinState.context.space.invitation?.swarmKey ?? null,
@@ -3668,7 +3553,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3668
3553
  joinState,
3669
3554
  propsOnDone
3670
3555
  ]);
3671
- const onConfirmResetStorage = (0, import_react47.useCallback)(() => client.reset().then(() => {
3556
+ const onConfirmResetStorage = (0, import_react44.useCallback)(() => client.reset().then(() => {
3672
3557
  joinSend({
3673
3558
  type: "resetIdentity"
3674
3559
  });
@@ -3676,7 +3561,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3676
3561
  client,
3677
3562
  joinSend
3678
3563
  ]);
3679
- return /* @__PURE__ */ import_react47.default.createElement(JoinPanelImpl, {
3564
+ return /* @__PURE__ */ import_react44.default.createElement(JoinPanelImpl, {
3680
3565
  titleId,
3681
3566
  mode,
3682
3567
  send: joinSend,
@@ -3766,7 +3651,7 @@ var spaceMachine = (0, import_xstate3.createMachine)({
3766
3651
  }
3767
3652
  });
3768
3653
  var useSpaceMachine = (options) => {
3769
- return (0, import_react62.useMachine)(spaceMachine, {
3654
+ return (0, import_react59.useMachine)(spaceMachine, {
3770
3655
  ...options,
3771
3656
  context: {
3772
3657
  ...options?.context
@@ -3792,16 +3677,16 @@ var handleInvitationEvent = (invitation, subscription) => {
3792
3677
  };
3793
3678
  var SpaceManager = (props) => {
3794
3679
  const { space, target } = props;
3795
- const { t } = (0, import_react_ui32.useTranslation)("os");
3680
+ const { t } = (0, import_react_ui31.useTranslation)("os");
3796
3681
  const config = (0, import_react_client10.useConfig)();
3797
3682
  const invitations = (0, import_echo4.useSpaceInvitations)(space?.key);
3798
3683
  const inviteActions = {
3799
3684
  inviteOne: {
3800
3685
  label: t("invite one label"),
3801
3686
  description: t("invite one description"),
3802
- icon: import_react63.UserPlus,
3687
+ icon: import_react60.UserPlus,
3803
3688
  testId: "spaces-panel.invite-one",
3804
- onClick: (0, import_react64.useCallback)(() => {
3689
+ onClick: (0, import_react61.useCallback)(() => {
3805
3690
  const invitation = space.share?.({
3806
3691
  type: import_invitations10.Invitation.Type.INTERACTIVE,
3807
3692
  authMethod: import_invitations10.Invitation.AuthMethod.SHARED_SECRET,
@@ -3819,9 +3704,9 @@ var SpaceManager = (props) => {
3819
3704
  inviteMany: {
3820
3705
  label: t("invite many label"),
3821
3706
  description: t("invite many description"),
3822
- icon: import_react63.UsersThree,
3707
+ icon: import_react60.UsersThree,
3823
3708
  testId: "spaces-panel.invite-many",
3824
- onClick: (0, import_react64.useCallback)(() => {
3709
+ onClick: (0, import_react61.useCallback)(() => {
3825
3710
  const invitation = space.share?.({
3826
3711
  type: import_invitations10.Invitation.Type.DELEGATED,
3827
3712
  authMethod: import_invitations10.Invitation.AuthMethod.KNOWN_PUBLIC_KEY,
@@ -3837,7 +3722,7 @@ var SpaceManager = (props) => {
3837
3722
  ])
3838
3723
  }
3839
3724
  };
3840
- return /* @__PURE__ */ import_react64.default.createElement(SpaceManagerImpl, {
3725
+ return /* @__PURE__ */ import_react61.default.createElement(SpaceManagerImpl, {
3841
3726
  ...props,
3842
3727
  invitations,
3843
3728
  inviteActions
@@ -3846,17 +3731,17 @@ var SpaceManager = (props) => {
3846
3731
  var headingFragment = "pis-3 pie-1 plb-1 mbe-1 font-medium";
3847
3732
  var SpaceManagerImpl = (props) => {
3848
3733
  const { active, space, createInvitationUrl, send, inviteActions: propsInviteActions, invitations, showInactiveInvitations, SpaceMemberList: SpaceMemberListComponent = SpaceMemberList, InvitationList: InvitationListComponent = InvitationList } = props;
3849
- const { t } = (0, import_react_ui32.useTranslation)("os");
3734
+ const { t } = (0, import_react_ui31.useTranslation)("os");
3850
3735
  const inviteActions = propsInviteActions ?? {
3851
3736
  noopInvite: {
3852
3737
  label: t("create space invitation label"),
3853
3738
  description: "",
3854
- icon: import_react63.Placeholder,
3739
+ icon: import_react60.Placeholder,
3855
3740
  onClick: () => {
3856
3741
  }
3857
3742
  }
3858
3743
  };
3859
- const [activeAction, setInternalActiveAction] = (0, import_react64.useState)(localStorage.getItem(activeActionKey) ?? "inviteMany");
3744
+ const [activeAction, setInternalActiveAction] = (0, import_react61.useState)(localStorage.getItem(activeActionKey) ?? "inviteMany");
3860
3745
  const setActiveAction = (nextAction) => {
3861
3746
  setInternalActiveAction(nextAction);
3862
3747
  localStorage.setItem(activeActionKey, nextAction);
@@ -3864,26 +3749,26 @@ var SpaceManagerImpl = (props) => {
3864
3749
  const visibleInvitations = showInactiveInvitations ? invitations : invitations?.filter((invitation) => ![
3865
3750
  import_invitations10.Invitation.State.CANCELLED
3866
3751
  ].includes(invitation.get().state));
3867
- return /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement(import_react_ui32.ScrollArea.Root, {
3752
+ return /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Root, {
3868
3753
  classNames: "grow shrink basis-28 -mli-2"
3869
- }, /* @__PURE__ */ import_react64.default.createElement(import_react_ui32.ScrollArea.Viewport, {
3754
+ }, /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Viewport, {
3870
3755
  classNames: "is-full pie-2"
3871
- }, !!visibleInvitations?.length && /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement("h3", {
3872
- className: (0, import_react_ui_theme30.mx)(headingFragment, import_react_ui_theme30.descriptionText)
3873
- }, t("invitation list heading")), /* @__PURE__ */ import_react64.default.createElement(InvitationListComponent, {
3756
+ }, !!visibleInvitations?.length && /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, /* @__PURE__ */ import_react61.default.createElement("h3", {
3757
+ className: (0, import_react_ui_theme29.mx)(headingFragment, import_react_ui_theme29.descriptionText)
3758
+ }, t("invitation list heading")), /* @__PURE__ */ import_react61.default.createElement(InvitationListComponent, {
3874
3759
  className: "mb-2",
3875
3760
  send,
3876
3761
  invitations: visibleInvitations ?? [],
3877
3762
  onClickRemove: (invitation) => invitation.cancel(),
3878
3763
  createInvitationUrl
3879
- }), /* @__PURE__ */ import_react64.default.createElement("h3", {
3880
- className: (0, import_react_ui_theme30.mx)(headingFragment, import_react_ui_theme30.descriptionText, "mbs-2")
3881
- }, t("space member list heading"))), /* @__PURE__ */ import_react64.default.createElement(SpaceMemberListComponent, {
3764
+ }), /* @__PURE__ */ import_react61.default.createElement("h3", {
3765
+ className: (0, import_react_ui_theme29.mx)(headingFragment, import_react_ui_theme29.descriptionText, "mbs-2")
3766
+ }, t("space member list heading"))), /* @__PURE__ */ import_react61.default.createElement(SpaceMemberListComponent, {
3882
3767
  spaceKey: space.key,
3883
3768
  includeSelf: true
3884
- })), /* @__PURE__ */ import_react64.default.createElement(import_react_ui32.ScrollArea.Scrollbar, {
3769
+ })), /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Scrollbar, {
3885
3770
  orientation: "vertical"
3886
- }, /* @__PURE__ */ import_react64.default.createElement(import_react_ui32.ScrollArea.Thumb, null))), /* @__PURE__ */ import_react64.default.createElement(Actions, null, /* @__PURE__ */ import_react64.default.createElement(BifurcatedAction, {
3771
+ }, /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Thumb, null))), /* @__PURE__ */ import_react61.default.createElement(Actions, null, /* @__PURE__ */ import_react61.default.createElement(BifurcatedAction, {
3887
3772
  disabled: !active,
3888
3773
  actions: inviteActions,
3889
3774
  activeAction,
@@ -3893,45 +3778,45 @@ var SpaceManagerImpl = (props) => {
3893
3778
  };
3894
3779
  var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/SpacePanel/SpacePanel.tsx";
3895
3780
  var SpacePanelHeading = ({ titleId, space, onDone }) => {
3896
- const { t } = (0, import_react_ui31.useTranslation)("os");
3781
+ const { t } = (0, import_react_ui30.useTranslation)("os");
3897
3782
  const name = space.properties.name;
3898
- return /* @__PURE__ */ import_react61.default.createElement(Heading, {
3783
+ return /* @__PURE__ */ import_react58.default.createElement(Heading, {
3899
3784
  titleId,
3900
3785
  title: t("space panel heading"),
3901
- corner: /* @__PURE__ */ import_react61.default.createElement(CloseButton, {
3786
+ corner: /* @__PURE__ */ import_react58.default.createElement(CloseButton, {
3902
3787
  "data-testid": "identity-panel-done",
3903
3788
  onDone
3904
3789
  })
3905
- }, /* @__PURE__ */ import_react61.default.createElement("div", {
3790
+ }, /* @__PURE__ */ import_react58.default.createElement("div", {
3906
3791
  role: "none",
3907
3792
  className: "flex gap-4 items-center justify-center mlb-4"
3908
- }, /* @__PURE__ */ import_react61.default.createElement(import_react60.Planet, {
3793
+ }, /* @__PURE__ */ import_react58.default.createElement(import_react57.Planet, {
3909
3794
  size: 32,
3910
3795
  weight: "light"
3911
- }), /* @__PURE__ */ import_react61.default.createElement("div", {
3796
+ }), /* @__PURE__ */ import_react58.default.createElement("div", {
3912
3797
  className: "block text-start font-light text-xl"
3913
3798
  }, name ?? space.key.truncate())));
3914
3799
  };
3915
3800
  var SpacePanelImpl = (props) => {
3916
3801
  const { titleId, activeView, space, hideHeading, target, SpaceManager: SpaceManagerComponent = SpaceManager, InvitationManager: InvitationManagerComponent = InvitationManager, ...rest } = props;
3917
- return /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, !hideHeading && /* @__PURE__ */ import_react61.default.createElement(SpacePanelHeading, {
3802
+ return /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, !hideHeading && /* @__PURE__ */ import_react58.default.createElement(SpacePanelHeading, {
3918
3803
  ...rest,
3919
3804
  titleId,
3920
3805
  space
3921
- }), /* @__PURE__ */ import_react61.default.createElement(Viewport.Root, {
3806
+ }), /* @__PURE__ */ import_react58.default.createElement(Viewport.Root, {
3922
3807
  activeView
3923
- }, /* @__PURE__ */ import_react61.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react61.default.createElement(Viewport.View, {
3808
+ }, /* @__PURE__ */ import_react58.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react58.default.createElement(Viewport.View, {
3924
3809
  id: "space manager",
3925
3810
  classNames: stepStyles
3926
- }, /* @__PURE__ */ import_react61.default.createElement(SpaceManagerComponent, {
3811
+ }, /* @__PURE__ */ import_react58.default.createElement(SpaceManagerComponent, {
3927
3812
  active: activeView === "space manager",
3928
3813
  space,
3929
3814
  target,
3930
3815
  ...rest
3931
- })), /* @__PURE__ */ import_react61.default.createElement(Viewport.View, {
3816
+ })), /* @__PURE__ */ import_react58.default.createElement(Viewport.View, {
3932
3817
  id: "space invitation manager",
3933
3818
  classNames: stepStyles
3934
- }, /* @__PURE__ */ import_react61.default.createElement(InvitationManagerComponent, {
3819
+ }, /* @__PURE__ */ import_react58.default.createElement(InvitationManagerComponent, {
3935
3820
  active: activeView === "space invitation manager",
3936
3821
  ...rest,
3937
3822
  invitationUrl: props.invitationUrl
@@ -3939,20 +3824,20 @@ var SpacePanelImpl = (props) => {
3939
3824
  };
3940
3825
  var SpacePanelWithInvitationImpl = ({ invitation, ...props }) => {
3941
3826
  const invitationStatus = (0, import_invitations9.useInvitationStatus)(invitation);
3942
- return /* @__PURE__ */ import_react61.default.createElement(SpacePanelImpl, {
3827
+ return /* @__PURE__ */ import_react58.default.createElement(SpacePanelImpl, {
3943
3828
  ...props,
3944
3829
  ...invitationStatus,
3945
3830
  invitationUrl: props.createInvitationUrl(invitationStatus.invitationCode)
3946
3831
  });
3947
3832
  };
3948
3833
  var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code, ...props }) => {
3949
- const titleId = (0, import_react_ui31.useId)("spacePanel__heading", propsTitleId);
3834
+ const titleId = (0, import_react_ui30.useId)("spacePanel__heading", propsTitleId);
3950
3835
  const [spaceState, spaceSend, spaceService] = useSpaceMachine({
3951
3836
  context: {
3952
3837
  space: props.space
3953
3838
  }
3954
3839
  });
3955
- (0, import_react61.useEffect)(() => {
3840
+ (0, import_react58.useEffect)(() => {
3956
3841
  const subscription = spaceService.subscribe((state) => {
3957
3842
  (0, import_log12.log)("[state]", state, {
3958
3843
  F: __dxlog_file13,
@@ -3965,7 +3850,7 @@ var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code,
3965
3850
  }, [
3966
3851
  spaceService
3967
3852
  ]);
3968
- const activeView = (0, import_react61.useMemo)(() => {
3853
+ const activeView = (0, import_react58.useMemo)(() => {
3969
3854
  switch (true) {
3970
3855
  case spaceState.matches("managingSpace"):
3971
3856
  return "space manager";
@@ -3986,101 +3871,101 @@ var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code,
3986
3871
  };
3987
3872
  return spaceState.context.invitation ? (
3988
3873
  // TODO(wittjosiah): Unused? Remove?
3989
- /* @__PURE__ */ import_react61.default.createElement(SpacePanelWithInvitationImpl, {
3874
+ /* @__PURE__ */ import_react58.default.createElement(SpacePanelWithInvitationImpl, {
3990
3875
  ...implProps,
3991
3876
  invitation: spaceState.context.invitation
3992
3877
  })
3993
- ) : /* @__PURE__ */ import_react61.default.createElement(SpacePanelImpl, implProps);
3878
+ ) : /* @__PURE__ */ import_react58.default.createElement(SpacePanelImpl, implProps);
3994
3879
  };
3995
3880
  var StatusPanel = ({ titleId }) => {
3996
- const { t } = (0, import_react_ui33.useTranslation)("os");
3997
- return /* @__PURE__ */ import_react65.default.createElement("div", {
3881
+ const { t } = (0, import_react_ui32.useTranslation)("os");
3882
+ return /* @__PURE__ */ import_react62.default.createElement("div", {
3998
3883
  className: "grid place-items-center p-2 gap-2"
3999
- }, /* @__PURE__ */ import_react65.default.createElement("p", {
3884
+ }, /* @__PURE__ */ import_react62.default.createElement("p", {
4000
3885
  id: titleId,
4001
3886
  className: "font-medium text-center"
4002
- }, t("resetting message")), /* @__PURE__ */ import_react65.default.createElement(import_react_ui33.Status, {
3887
+ }, t("resetting message")), /* @__PURE__ */ import_react62.default.createElement(import_react_ui32.Status, {
4003
3888
  indeterminate: true
4004
3889
  }, t("resetting message")));
4005
3890
  };
4006
3891
  var IdentityDialog = (props) => {
4007
- const titleId = (0, import_react_ui17.useId)("identityDialog__title", props.title);
4008
- return /* @__PURE__ */ import_react35.default.createElement(import_react_ui17.Dialog.Root, {
3892
+ const titleId = (0, import_react_ui16.useId)("identityDialog__title", props.title);
3893
+ return /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Dialog.Root, {
4009
3894
  defaultOpen: true,
4010
3895
  onOpenChange: (open) => open || props.onDone?.()
4011
- }, /* @__PURE__ */ import_react35.default.createElement(import_react_ui17.Dialog.Portal, null, /* @__PURE__ */ import_react35.default.createElement(import_react_ui17.Dialog.Overlay, null, /* @__PURE__ */ import_react35.default.createElement(import_react_ui17.Dialog.Content, {
3896
+ }, /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Dialog.Portal, null, /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Dialog.Overlay, null, /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Dialog.Content, {
4012
3897
  "aria-labelledby": titleId,
4013
3898
  onOpenAutoFocus: (e) => e.preventDefault()
4014
- }, /* @__PURE__ */ import_react35.default.createElement(ClipboardProvider, null, /* @__PURE__ */ import_react35.default.createElement(IdentityPanel, {
3899
+ }, /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Clipboard.Provider, null, /* @__PURE__ */ import_react32.default.createElement(IdentityPanel, {
4015
3900
  ...props,
4016
3901
  titleId,
4017
- doneActionParent: /* @__PURE__ */ import_react35.default.createElement(import_react_ui17.Dialog.Close, {
3902
+ doneActionParent: /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Dialog.Close, {
4018
3903
  asChild: true
4019
3904
  })
4020
3905
  }))))));
4021
3906
  };
4022
3907
  var JoinDialog = (joinPanelProps) => {
4023
- const titleId = (0, import_react_ui34.useId)("joinDialog__title");
4024
- const { height } = (0, import_react_ui34.useVisualViewport)();
4025
- return /* @__PURE__ */ import_react66.default.createElement(import_react_ui34.AlertDialog.Root, {
3908
+ const titleId = (0, import_react_ui33.useId)("joinDialog__title");
3909
+ const { height } = (0, import_react_ui33.useVisualViewport)();
3910
+ return /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Root, {
4026
3911
  defaultOpen: true,
4027
3912
  onOpenChange: (open) => open || (joinPanelProps.onExit ? joinPanelProps.onExit() : joinPanelProps.onDone?.(null))
4028
- }, /* @__PURE__ */ import_react66.default.createElement(import_react_ui34.AlertDialog.Portal, null, /* @__PURE__ */ import_react66.default.createElement(import_react_ui34.AlertDialog.Overlay, {
3913
+ }, /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Portal, null, /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Overlay, {
4029
3914
  classNames: "backdrop-blur",
4030
3915
  ...height && {
4031
3916
  style: {
4032
3917
  blockSize: `${height}px`
4033
3918
  }
4034
3919
  }
4035
- }, /* @__PURE__ */ import_react66.default.createElement(import_react_ui34.AlertDialog.Content, {
3920
+ }, /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Content, {
4036
3921
  "aria-labelledby": titleId
4037
- }, /* @__PURE__ */ import_react66.default.createElement(JoinPanel, {
3922
+ }, /* @__PURE__ */ import_react63.default.createElement(JoinPanel, {
4038
3923
  ...joinPanelProps,
4039
3924
  titleId,
4040
- exitActionParent: /* @__PURE__ */ import_react66.default.createElement(import_react_ui34.AlertDialog.Cancel, {
3925
+ exitActionParent: /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Cancel, {
4041
3926
  asChild: true
4042
3927
  }),
4043
- doneActionParent: /* @__PURE__ */ import_react66.default.createElement(import_react_ui34.AlertDialog.Action, {
3928
+ doneActionParent: /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Action, {
4044
3929
  asChild: true
4045
3930
  })
4046
3931
  })))));
4047
3932
  };
4048
3933
  var SpaceDialog = (spacePanelProps) => {
4049
- const titleId = (0, import_react_ui36.useId)("spaceDialog__title");
4050
- return /* @__PURE__ */ import_react69.default.createElement(import_react_ui36.Dialog.Root, {
3934
+ const titleId = (0, import_react_ui35.useId)("spaceDialog__title");
3935
+ return /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Dialog.Root, {
4051
3936
  defaultOpen: true,
4052
3937
  onOpenChange: (open) => open || spacePanelProps.onDone?.()
4053
- }, /* @__PURE__ */ import_react69.default.createElement(import_react_ui36.Dialog.Portal, null, /* @__PURE__ */ import_react69.default.createElement(import_react_ui36.Dialog.Overlay, null, /* @__PURE__ */ import_react69.default.createElement(import_react_ui36.Dialog.Content, {
3938
+ }, /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Dialog.Portal, null, /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Dialog.Overlay, null, /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Dialog.Content, {
4054
3939
  "aria-labelledby": titleId
4055
- }, /* @__PURE__ */ import_react69.default.createElement(ClipboardProvider, null, /* @__PURE__ */ import_react69.default.createElement(SpacePanel, {
3940
+ }, /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Clipboard.Provider, null, /* @__PURE__ */ import_react66.default.createElement(SpacePanel, {
4056
3941
  ...spacePanelProps,
4057
3942
  titleId,
4058
- doneActionParent: /* @__PURE__ */ import_react69.default.createElement(import_react_ui36.Dialog.Close, {
3943
+ doneActionParent: /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Dialog.Close, {
4059
3944
  asChild: true
4060
3945
  })
4061
3946
  }))))));
4062
3947
  };
4063
3948
  var StatusDialog = () => {
4064
- const titleId = (0, import_react_ui37.useId)("statusDialog__title");
4065
- return /* @__PURE__ */ import_react70.default.createElement(import_react_ui37.AlertDialog.Root, {
3949
+ const titleId = (0, import_react_ui36.useId)("statusDialog__title");
3950
+ return /* @__PURE__ */ import_react67.default.createElement(import_react_ui36.AlertDialog.Root, {
4066
3951
  open: true
4067
- }, /* @__PURE__ */ import_react70.default.createElement(import_react_ui37.AlertDialog.Portal, null, /* @__PURE__ */ import_react70.default.createElement(import_react_ui37.AlertDialog.Overlay, null, /* @__PURE__ */ import_react70.default.createElement(import_react_ui37.AlertDialog.Content, {
3952
+ }, /* @__PURE__ */ import_react67.default.createElement(import_react_ui36.AlertDialog.Portal, null, /* @__PURE__ */ import_react67.default.createElement(import_react_ui36.AlertDialog.Overlay, null, /* @__PURE__ */ import_react67.default.createElement(import_react_ui36.AlertDialog.Content, {
4068
3953
  "aria-labelledby": titleId
4069
- }, /* @__PURE__ */ import_react70.default.createElement(StatusPanel, {
3954
+ }, /* @__PURE__ */ import_react67.default.createElement(StatusPanel, {
4070
3955
  titleId
4071
3956
  })))));
4072
3957
  };
4073
3958
  var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/composites/Shell/Shell.tsx";
4074
3959
  var blurActiveElement = () => document.activeElement?.blur?.();
4075
3960
  var Shell = ({ runtime }) => {
4076
- const [{ layout, invitationCode, spaceKey, spaceId, target }, setLayout] = (0, import_react68.useState)({
3961
+ const [{ layout, invitationCode, spaceKey, spaceId, target }, setLayout] = (0, import_react65.useState)({
4077
3962
  layout: runtime.layout,
4078
3963
  invitationCode: runtime.invitationCode,
4079
3964
  spaceKey: runtime.spaceKey,
4080
3965
  spaceId: runtime.spaceId,
4081
3966
  target: runtime.target
4082
3967
  });
4083
- const [{ invitationUrl, deviceInvitationParam, spaceInvitationParam }, setInvitationUrl] = (0, import_react68.useState)({
3968
+ const [{ invitationUrl, deviceInvitationParam, spaceInvitationParam }, setInvitationUrl] = (0, import_react65.useState)({
4084
3969
  invitationUrl: runtime.invitationUrl,
4085
3970
  deviceInvitationParam: runtime.deviceInvitationParam,
4086
3971
  spaceInvitationParam: runtime.spaceInvitationParam
@@ -4097,7 +3982,7 @@ var Shell = ({ runtime }) => {
4097
3982
  baseUrl.searchParams.set(spaceInvitationParam, invitationCode2);
4098
3983
  return baseUrl.toString();
4099
3984
  };
4100
- (0, import_react68.useEffect)(() => {
3985
+ (0, import_react65.useEffect)(() => {
4101
3986
  const unsubscribeLayout = runtime.layoutUpdate.on((request) => setLayout(request));
4102
3987
  const unsubscribeInvitationUrl = runtime.invitationUrlUpdate.on((request) => setInvitationUrl(request));
4103
3988
  return () => {
@@ -4107,7 +3992,7 @@ var Shell = ({ runtime }) => {
4107
3992
  }, [
4108
3993
  runtime
4109
3994
  ]);
4110
- (0, import_react68.useEffect)(() => {
3995
+ (0, import_react65.useEffect)(() => {
4111
3996
  if (layout === import_react_client13.ShellLayout.SPACE && !space) {
4112
3997
  import_log15.log.warn("No space found for shell space invitations.", void 0, {
4113
3998
  F: __dxlog_file14,
@@ -4132,11 +4017,11 @@ var Shell = ({ runtime }) => {
4132
4017
  ]);
4133
4018
  switch (layout) {
4134
4019
  case import_react_client13.ShellLayout.STATUS:
4135
- return /* @__PURE__ */ import_react68.default.createElement(StatusDialog, null);
4020
+ return /* @__PURE__ */ import_react65.default.createElement(StatusDialog, null);
4136
4021
  case import_react_client13.ShellLayout.INITIALIZE_IDENTITY:
4137
4022
  case import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_INVITATION:
4138
4023
  case import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_RECOVERY:
4139
- return /* @__PURE__ */ import_react68.default.createElement(JoinDialog, {
4024
+ return /* @__PURE__ */ import_react65.default.createElement(JoinDialog, {
4140
4025
  mode: "halo-only",
4141
4026
  initialDisposition: layout === import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_RECOVERY ? "recover-identity" : layout === import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_INVITATION ? "accept-halo-invitation" : "default",
4142
4027
  initialInvitationCode: invitationCode,
@@ -4156,7 +4041,7 @@ var Shell = ({ runtime }) => {
4156
4041
  case import_react_client13.ShellLayout.IDENTITY:
4157
4042
  case import_react_client13.ShellLayout.SHARE_IDENTITY:
4158
4043
  case import_react_client13.ShellLayout.EDIT_PROFILE:
4159
- return /* @__PURE__ */ import_react68.default.createElement(IdentityDialog, {
4044
+ return /* @__PURE__ */ import_react65.default.createElement(IdentityDialog, {
4160
4045
  createInvitationUrl: createDeviceInvitationUrl,
4161
4046
  onResetStorage: async () => {
4162
4047
  runtime.setLayout({
@@ -4202,7 +4087,7 @@ var Shell = ({ runtime }) => {
4202
4087
  initialDisposition: layout === import_react_client13.ShellLayout.SHARE_IDENTITY ? "manage-device-invitation" : "default"
4203
4088
  });
4204
4089
  case import_react_client13.ShellLayout.SPACE:
4205
- return space ? /* @__PURE__ */ import_react68.default.createElement(SpaceDialog, {
4090
+ return space ? /* @__PURE__ */ import_react65.default.createElement(SpaceDialog, {
4206
4091
  space,
4207
4092
  target,
4208
4093
  createInvitationUrl: createSpaceInvitationUrl,
@@ -4217,7 +4102,7 @@ var Shell = ({ runtime }) => {
4217
4102
  }
4218
4103
  }) : null;
4219
4104
  case import_react_client13.ShellLayout.JOIN_SPACE:
4220
- return /* @__PURE__ */ import_react68.default.createElement(JoinDialog, {
4105
+ return /* @__PURE__ */ import_react65.default.createElement(JoinDialog, {
4221
4106
  initialInvitationCode: invitationCode,
4222
4107
  onDone: async (result) => {
4223
4108
  blurActiveElement();
@@ -4301,7 +4186,7 @@ var ShellRuntimeImpl = class {
4301
4186
  });
4302
4187
  }
4303
4188
  async setAppContext(context) {
4304
- (0, import_invariant4.invariant)(this._appRpc, "runtime not open", {
4189
+ (0, import_invariant3.invariant)(this._appRpc, "runtime not open", {
4305
4190
  F: __dxlog_file15,
4306
4191
  L: 83,
4307
4192
  S: this,
@@ -4362,22 +4247,26 @@ var os = {
4362
4247
  "identity radio group title": "Select an identity you\u2019ve associated with this device already",
4363
4248
  "add identity label": "Add",
4364
4249
  "continue label": "Continue",
4250
+ "pending label": "Pending",
4365
4251
  "back label": "Back",
4366
4252
  "next label": "Next",
4367
4253
  "close label": "Close",
4368
4254
  "auth choices label": "Choose an identity",
4369
4255
  "create identity label": "Create an identity",
4370
4256
  "create identity description": "Create a new identity.",
4371
- "recover identity label": "Use a seed phrase",
4372
- "recover identity description": "Enter your seed phrase to log in manually.",
4257
+ "recover identity label": "Use a recovery code",
4258
+ "recover identity description": "Enter your recovery code to log in manually.",
4259
+ "invitation input placeholder": "Invitation code",
4260
+ "recovery code placeholder": "Recovery code",
4261
+ "display name placeholder": "Display name",
4373
4262
  "join identity label": "Use another device",
4374
4263
  "join identity description": "Add this device to an identity you\u2019re already logged into on another device.",
4375
4264
  "deselect identity label": "Back to identities",
4376
4265
  "addition method chooser title": "An identity is required to continue",
4377
4266
  "new identity input label": "Set display name",
4378
- "recover identity input label": "Type or paste your seed phrase",
4267
+ "recover identity input label": "Type or paste your recovery code",
4379
4268
  "failed to create identity message": "Failed to create an identity.",
4380
- "failed to recover identity message": "Failed to recover an identity from the provided seed phrase.",
4269
+ "failed to recover identity message": "Failed to recover an identity from the provided recovery code.",
4381
4270
  "failed to authenticate message": "Incorrect code.",
4382
4271
  "identity added label": "Created identity & added to this device:",
4383
4272
  "join space as identity heading": "<part>as </part><part><icon/><label>{{labelValue}}</label></part>",
@@ -4507,25 +4396,25 @@ var runShell = async (config = new import_react_client11.Config()) => {
4507
4396
  const services = new import_react_client11.ClientServicesProxy((0, import_rpc_tunnel.createIFramePort)({
4508
4397
  channel: import_client_protocol.DEFAULT_CLIENT_CHANNEL
4509
4398
  }));
4510
- (0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react67.default.createElement(import_react67.StrictMode, null, /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.ThemeProvider, {
4511
- tx: import_react_ui_theme31.defaultTx,
4399
+ (0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react64.default.createElement(import_react64.StrictMode, null, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.ThemeProvider, {
4400
+ tx: import_react_ui_theme30.defaultTx,
4512
4401
  resourceExtensions: [
4513
4402
  osTranslations
4514
4403
  ]
4515
- }, /* @__PURE__ */ import_react67.default.createElement(import_react_client11.ClientProvider, {
4404
+ }, /* @__PURE__ */ import_react64.default.createElement(import_react_client11.ClientProvider, {
4516
4405
  config,
4517
4406
  services,
4518
4407
  noBanner: true
4519
- }, /* @__PURE__ */ import_react67.default.createElement(ClipboardProvider, null, /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.Tooltip.Provider, null, /* @__PURE__ */ import_react67.default.createElement(import_react_client11.AgentHostingProvider, null, /* @__PURE__ */ import_react67.default.createElement(Shell, {
4408
+ }, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Clipboard.Provider, null, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Tooltip.Provider, null, /* @__PURE__ */ import_react64.default.createElement(import_react_client11.AgentHostingProvider, null, /* @__PURE__ */ import_react64.default.createElement(Shell, {
4520
4409
  runtime
4521
4410
  }))))))));
4522
4411
  } catch {
4523
- (0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react67.default.createElement(import_react67.StrictMode, null, /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.ThemeProvider, {
4524
- tx: import_react_ui_theme31.defaultTx,
4412
+ (0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react64.default.createElement(import_react64.StrictMode, null, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.ThemeProvider, {
4413
+ tx: import_react_ui_theme30.defaultTx,
4525
4414
  resourceExtensions: [
4526
4415
  osTranslations
4527
4416
  ]
4528
- }, /* @__PURE__ */ import_react67.default.createElement(Fallback, {
4417
+ }, /* @__PURE__ */ import_react64.default.createElement(Fallback, {
4529
4418
  onClose: () => runtime.setAppContext({
4530
4419
  display: import_react_client11.ShellDisplay.NONE
4531
4420
  })
@@ -4533,15 +4422,15 @@ var runShell = async (config = new import_react_client11.Config()) => {
4533
4422
  }
4534
4423
  };
4535
4424
  var Fallback = ({ onClose }) => {
4536
- const { t } = (0, import_react_ui35.useTranslation)("os");
4537
- return /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.Dialog.Root, {
4425
+ const { t } = (0, import_react_ui34.useTranslation)("os");
4426
+ return /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Dialog.Root, {
4538
4427
  modal: true,
4539
4428
  open: true,
4540
4429
  onOpenChange: () => onClose?.()
4541
- }, /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.Dialog.Overlay, null, /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.Dialog.Content, null, /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.Dialog.Title, null, t("shell fallback title")), /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.Dialog.Close, {
4430
+ }, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Dialog.Overlay, null, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Dialog.Content, null, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Dialog.Title, null, t("shell fallback title")), /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Dialog.Close, {
4542
4431
  asChild: true,
4543
4432
  onClick: () => onClose?.()
4544
- }, /* @__PURE__ */ import_react67.default.createElement(import_react_ui35.Button, {
4433
+ }, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Button, {
4545
4434
  variant: "primary"
4546
4435
  }, t("close label"))))));
4547
4436
  };
@@ -4591,10 +4480,10 @@ var MemoryShellRuntime = class {
4591
4480
  this.contextUpdate.emit(context);
4592
4481
  }
4593
4482
  };
4594
- var ShellContext = /* @__PURE__ */ (0, import_react71.createContext)({});
4483
+ var ShellContext = /* @__PURE__ */ (0, import_react68.createContext)({});
4595
4484
  var useShell = () => {
4596
4485
  const client = (0, import_react_client14.useClient)();
4597
- const { runtime, setDisplay } = (0, import_react71.useContext)(ShellContext);
4486
+ const { runtime, setDisplay } = (0, import_react68.useContext)(ShellContext);
4598
4487
  const setLayout = async (layout, options) => {
4599
4488
  if (runtime) {
4600
4489
  if (layout === import_react_client14.ShellLayout.DEFAULT) {
@@ -4616,8 +4505,8 @@ var useShell = () => {
4616
4505
  var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoinedSpace, children }) => {
4617
4506
  const client = (0, import_react_client14.useClient)();
4618
4507
  const identity = (0, import_halo5.useIdentity)();
4619
- const [display, setDisplay] = (0, import_react71.useState)(!identity || spaceInvitationCode || deviceInvitationCode ? import_react_client14.ShellDisplay.FULLSCREEN : import_react_client14.ShellDisplay.NONE);
4620
- const shellRuntime = (0, import_react71.useMemo)(() => {
4508
+ const [display, setDisplay] = (0, import_react68.useState)(!identity || spaceInvitationCode || deviceInvitationCode ? import_react_client14.ShellDisplay.FULLSCREEN : import_react_client14.ShellDisplay.NONE);
4509
+ const shellRuntime = (0, import_react68.useMemo)(() => {
4621
4510
  if (client.config.get("runtime.app.env.DX_VAULT") !== "false") {
4622
4511
  return;
4623
4512
  }
@@ -4642,7 +4531,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4642
4531
  spaceInvitationCode,
4643
4532
  deviceInvitationCode
4644
4533
  ]);
4645
- const handleKeyDown = (0, import_react71.useCallback)((event) => {
4534
+ const handleKeyDown = (0, import_react68.useCallback)((event) => {
4646
4535
  if (!space || !shellRuntime) {
4647
4536
  return;
4648
4537
  }
@@ -4663,7 +4552,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4663
4552
  space,
4664
4553
  shellRuntime
4665
4554
  ]);
4666
- (0, import_react71.useEffect)(() => {
4555
+ (0, import_react68.useEffect)(() => {
4667
4556
  if (!shellRuntime) {
4668
4557
  return;
4669
4558
  }
@@ -4673,7 +4562,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4673
4562
  shellRuntime,
4674
4563
  handleKeyDown
4675
4564
  ]);
4676
- (0, import_react71.useEffect)(() => {
4565
+ (0, import_react68.useEffect)(() => {
4677
4566
  if (!shellRuntime) {
4678
4567
  return;
4679
4568
  }
@@ -4686,11 +4575,11 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4686
4575
  }, [
4687
4576
  shellRuntime
4688
4577
  ]);
4689
- return /* @__PURE__ */ import_react71.default.createElement(import_react71.default.Fragment, null, shellRuntime && /* @__PURE__ */ import_react71.default.createElement("div", {
4690
- className: (0, import_react_ui_theme32.mx)(display === import_react_client14.ShellDisplay.NONE ? "hidden" : "")
4691
- }, /* @__PURE__ */ import_react71.default.createElement(Shell, {
4578
+ return /* @__PURE__ */ import_react68.default.createElement(import_react68.default.Fragment, null, shellRuntime && /* @__PURE__ */ import_react68.default.createElement("div", {
4579
+ className: (0, import_react_ui_theme31.mx)(display === import_react_client14.ShellDisplay.NONE ? "hidden" : "")
4580
+ }, /* @__PURE__ */ import_react68.default.createElement(Shell, {
4692
4581
  runtime: shellRuntime
4693
- })), /* @__PURE__ */ import_react71.default.createElement(ShellContext.Provider, {
4582
+ })), /* @__PURE__ */ import_react68.default.createElement(ShellContext.Provider, {
4694
4583
  value: {
4695
4584
  runtime: shellRuntime,
4696
4585
  setDisplay
@@ -4705,14 +4594,10 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4705
4594
  AuthCode,
4706
4595
  BifurcatedAction,
4707
4596
  Centered,
4708
- ClipboardContext,
4709
- ClipboardProvider,
4710
4597
  CloseButton,
4711
4598
  CompoundButton,
4712
4599
  ConfirmReset,
4713
4600
  ConfirmResetImpl,
4714
- CopyButton,
4715
- CopyButtonIconOnly,
4716
4601
  DeviceList,
4717
4602
  Emoji,
4718
4603
  EmojiPickerBlock,
@@ -4768,7 +4653,6 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4768
4653
  successBgColor,
4769
4654
  successStrokeColor,
4770
4655
  successTextColor,
4771
- useClipboardContext,
4772
4656
  useShell,
4773
4657
  useViewportContext
4774
4658
  });