@dxos/shell 0.7.5-labs.e27f9b9 → 0.7.5-main.2567c87

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 (66) hide show
  1. package/dist/bundle/shell.mjs +57515 -56513
  2. package/dist/bundle/shell.mjs.map +1 -1
  3. package/dist/bundle/shell.umd.js +146 -148
  4. package/dist/bundle/shell.umd.js.map +1 -1
  5. package/dist/bundle/style.css +1 -1
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/react.css +7 -0
  8. package/dist/lib/browser/react.css.map +7 -0
  9. package/dist/lib/browser/react.mjs +782 -518
  10. package/dist/lib/browser/react.mjs.map +4 -4
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/react.cjs +879 -615
  13. package/dist/lib/node/react.cjs.map +4 -4
  14. package/dist/lib/node/react.css +7 -0
  15. package/dist/lib/node/react.css.map +7 -0
  16. package/dist/lib/node-esm/meta.json +1 -1
  17. package/dist/lib/node-esm/react.css +7 -0
  18. package/dist/lib/node-esm/react.css.map +7 -0
  19. package/dist/lib/node-esm/react.mjs +782 -518
  20. package/dist/lib/node-esm/react.mjs.map +4 -4
  21. package/dist/types/src/components/AgentConfig.js +1 -1
  22. package/dist/types/src/components/AgentConfig.js.map +1 -1
  23. package/dist/types/src/components/DeviceList/DeviceList.js +1 -1
  24. package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -1
  25. package/dist/types/src/components/EmojiPicker.d.ts +19 -0
  26. package/dist/types/src/components/EmojiPicker.d.ts.map +1 -0
  27. package/dist/types/src/components/EmojiPicker.js +146 -0
  28. package/dist/types/src/components/EmojiPicker.js.map +1 -0
  29. package/dist/types/src/components/HuePicker.d.ts +18 -0
  30. package/dist/types/src/components/HuePicker.d.ts.map +1 -0
  31. package/dist/types/src/components/HuePicker.js +133 -0
  32. package/dist/types/src/components/HuePicker.js.map +1 -0
  33. package/dist/types/src/components/index.d.ts +2 -0
  34. package/dist/types/src/components/index.d.ts.map +1 -1
  35. package/dist/types/src/components/index.js +2 -0
  36. package/dist/types/src/components/index.js.map +1 -1
  37. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  38. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +2 -3
  39. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  40. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
  41. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +0 -2
  42. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
  43. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
  44. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +2 -3
  45. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
  46. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js +1 -1
  47. package/dist/types/src/panels/JoinPanel/steps/IdentityInput.js.map +1 -1
  48. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.d.ts.map +1 -1
  49. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js +0 -5
  50. package/dist/types/src/panels/SpacePanel/SpacePanel.stories.js.map +1 -1
  51. package/dist/types/src/testing/fixtures/identities.d.ts.map +1 -1
  52. package/dist/types/src/testing/fixtures/identities.js +0 -2
  53. package/dist/types/src/testing/fixtures/identities.js.map +1 -1
  54. package/package.json +30 -31
  55. package/src/components/AgentConfig.tsx +1 -1
  56. package/src/components/DeviceList/DeviceList.tsx +1 -1
  57. package/src/components/EmojiPicker.tsx +187 -0
  58. package/src/components/HuePicker.tsx +182 -0
  59. package/src/components/emoji.css +25 -0
  60. package/src/components/index.ts +2 -0
  61. package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +0 -2
  62. package/src/panels/IdentityPanel/IdentityPanel.tsx +1 -2
  63. package/src/panels/IdentityPanel/steps/ProfileForm.tsx +1 -2
  64. package/src/panels/JoinPanel/steps/IdentityInput.tsx +1 -1
  65. package/src/panels/SpacePanel/SpacePanel.stories.tsx +1 -6
  66. package/src/testing/fixtures/identities.ts +0 -2
@@ -40,7 +40,11 @@ __export(react_exports, {
40
40
  ConfirmResetImpl: () => ConfirmResetImpl,
41
41
  DeviceList: () => DeviceList,
42
42
  Emoji: () => Emoji,
43
+ EmojiPickerBlock: () => EmojiPickerBlock,
44
+ EmojiPickerToolbarButton: () => EmojiPickerToolbarButton,
43
45
  Heading: () => Heading,
46
+ HuePickerBlock: () => HuePickerBlock,
47
+ HuePickerToolbarButton: () => HuePickerToolbarButton,
44
48
  IdentityDialog: () => IdentityDialog,
45
49
  IdentityListItem: () => IdentityListItem,
46
50
  IdentityPanel: () => IdentityPanel,
@@ -101,212 +105,222 @@ var import_react_ui_theme = require("@dxos/react-ui-theme");
101
105
  var import_react3 = __toESM(require("react"));
102
106
  var import_react_ui2 = require("@dxos/react-ui");
103
107
  var import_react_ui_theme2 = require("@dxos/react-ui-theme");
104
- var import_react4 = __toESM(require("react"));
105
- var import_display_name = require("@dxos/display-name");
106
- var import_echo = require("@dxos/react-client/echo");
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");
112
+ var import_react6 = __toESM(require("react"));
107
113
  var import_react_ui3 = require("@dxos/react-ui");
108
114
  var import_react_ui_theme3 = require("@dxos/react-ui-theme");
109
- var import_util = require("@dxos/util");
110
- var import_react5 = __toESM(require("react"));
111
- var import_react_client = require("@dxos/react-client");
112
- var import_echo2 = require("@dxos/react-client/echo");
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"));
113
118
  var import_react_ui4 = require("@dxos/react-ui");
114
119
  var import_react_ui_theme4 = require("@dxos/react-ui-theme");
115
- var import_react6 = require("@phosphor-icons/react");
116
- var import_react7 = __toESM(require("react"));
120
+ var import_react9 = __toESM(require("react"));
121
+ var import_display_name = require("@dxos/display-name");
122
+ var import_echo = require("@dxos/react-client/echo");
117
123
  var import_react_ui5 = require("@dxos/react-ui");
118
124
  var import_react_ui_theme5 = require("@dxos/react-ui-theme");
119
- var import_react8 = require("@phosphor-icons/react");
120
- var import_react9 = __toESM(require("react"));
121
- var import_display_name2 = require("@dxos/display-name");
122
- var import_halo = require("@dxos/react-client/halo");
123
- var import_mesh = require("@dxos/react-client/mesh");
125
+ var import_util = require("@dxos/util");
126
+ var import_react10 = __toESM(require("react"));
127
+ var import_react_client = require("@dxos/react-client");
128
+ var import_echo2 = require("@dxos/react-client/echo");
124
129
  var import_react_ui6 = require("@dxos/react-ui");
125
130
  var import_react_ui_theme6 = require("@dxos/react-ui-theme");
126
- var import_util2 = require("@dxos/util");
127
- var import_react10 = require("@phosphor-icons/react");
128
- var import_date_fns = require("date-fns");
129
- var import_react11 = __toESM(require("react"));
130
- var import_invitations = require("@dxos/react-client/invitations");
131
+ var import_react11 = require("@phosphor-icons/react");
132
+ var import_react12 = __toESM(require("react"));
131
133
  var import_react_ui7 = require("@dxos/react-ui");
132
134
  var import_react_ui_theme7 = require("@dxos/react-ui-theme");
133
- var import_util3 = require("@dxos/util");
134
- var import_react12 = __toESM(require("react"));
135
- var import_react_ui_theme8 = require("@dxos/react-ui-theme");
136
- var import_react13 = __toESM(require("react"));
137
- var import_echo3 = require("@dxos/react-client/echo");
135
+ var import_react13 = require("@phosphor-icons/react");
138
136
  var import_react14 = __toESM(require("react"));
137
+ var import_display_name2 = require("@dxos/display-name");
138
+ var import_halo = require("@dxos/react-client/halo");
139
+ var import_mesh = require("@dxos/react-client/mesh");
139
140
  var import_react_ui8 = require("@dxos/react-ui");
140
- var import_react_ui_theme9 = require("@dxos/react-ui-theme");
141
+ var import_react_ui_theme8 = require("@dxos/react-ui-theme");
142
+ var import_util2 = require("@dxos/util");
141
143
  var import_react15 = require("@phosphor-icons/react");
142
- var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
144
+ var import_date_fns = require("date-fns");
143
145
  var import_react16 = __toESM(require("react"));
146
+ var import_invitations = require("@dxos/react-client/invitations");
144
147
  var import_react_ui9 = require("@dxos/react-ui");
145
- var import_react_ui_theme10 = require("@dxos/react-ui-theme");
148
+ var import_react_ui_theme9 = require("@dxos/react-ui-theme");
149
+ var import_util3 = require("@dxos/util");
146
150
  var import_react17 = __toESM(require("react"));
147
- var import_react_ui_theme11 = require("@dxos/react-ui-theme");
148
- var import_react18 = require("@phosphor-icons/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");
149
154
  var import_react19 = __toESM(require("react"));
150
155
  var import_react_ui10 = require("@dxos/react-ui");
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");
159
+ var import_react21 = __toESM(require("react"));
160
+ var import_react_ui11 = require("@dxos/react-ui");
151
161
  var import_react_ui_theme12 = require("@dxos/react-ui-theme");
152
- var import_react20 = __toESM(require("react"));
162
+ var import_react22 = __toESM(require("react"));
153
163
  var import_react_ui_theme13 = require("@dxos/react-ui-theme");
154
- var import_react21 = __toESM(require("react"));
164
+ var import_react23 = require("@phosphor-icons/react");
165
+ var import_react24 = __toESM(require("react"));
166
+ var import_react_ui12 = require("@dxos/react-ui");
155
167
  var import_react_ui_theme14 = require("@dxos/react-ui-theme");
156
- var import_react22 = __toESM(require("react"));
168
+ var import_react25 = __toESM(require("react"));
157
169
  var import_react_ui_theme15 = require("@dxos/react-ui-theme");
158
- var import_react23 = __toESM(require("react"));
159
- var import_react_ui11 = require("@dxos/react-ui");
160
- var import_react24 = __toESM(require("react"));
170
+ var import_react26 = __toESM(require("react"));
161
171
  var import_react_ui_theme16 = require("@dxos/react-ui-theme");
162
- var import_react_tabster = require("@fluentui/react-tabster");
163
- var import_react_context = require("@radix-ui/react-context");
164
- var import_react_use_controllable_state2 = require("@radix-ui/react-use-controllable-state");
165
- var import_react25 = __toESM(require("react"));
166
- var import_react_ui12 = require("@dxos/react-ui");
172
+ var import_react27 = __toESM(require("react"));
167
173
  var import_react_ui_theme17 = require("@dxos/react-ui-theme");
168
- var import_react26 = __toESM(require("react"));
174
+ var import_react28 = __toESM(require("react"));
169
175
  var import_react_ui13 = require("@dxos/react-ui");
176
+ var import_react29 = __toESM(require("react"));
170
177
  var import_react_ui_theme18 = require("@dxos/react-ui-theme");
171
- var import_util4 = require("@dxos/util");
172
- var import_react27 = __toESM(require("react"));
178
+ var import_react_tabster = require("@fluentui/react-tabster");
179
+ var import_react_context = require("@radix-ui/react-context");
180
+ var import_react_use_controllable_state4 = require("@radix-ui/react-use-controllable-state");
181
+ var import_react30 = __toESM(require("react"));
173
182
  var import_react_ui14 = require("@dxos/react-ui");
174
- var import_react28 = require("@phosphor-icons/react");
175
- var import_react29 = __toESM(require("react"));
183
+ var import_react_ui_theme19 = require("@dxos/react-ui-theme");
184
+ var import_react31 = __toESM(require("react"));
185
+ var import_react_ui15 = require("@dxos/react-ui");
186
+ var import_react_ui_theme20 = require("@dxos/react-ui-theme");
187
+ var import_util4 = require("@dxos/util");
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"));
176
192
  var import_display_name3 = require("@dxos/display-name");
177
193
  var import_log = require("@dxos/log");
178
194
  var import_react_client2 = require("@dxos/react-client");
179
195
  var import_halo2 = require("@dxos/react-client/halo");
180
196
  var import_invitations2 = require("@dxos/react-client/invitations");
181
197
  var import_mesh2 = require("@dxos/react-client/mesh");
182
- var import_react_ui15 = require("@dxos/react-ui");
183
- var import_react_ui_pickers = require("@dxos/react-ui-pickers");
184
- var import_react_ui_theme19 = 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");
185
200
  var import_util5 = require("@dxos/util");
186
- var import_react30 = require("@xstate/react");
201
+ var import_react35 = require("@xstate/react");
187
202
  var import_xstate = require("xstate");
188
203
  var import_log2 = require("@dxos/log");
189
- var import_react31 = __toESM(require("react"));
204
+ var import_react36 = __toESM(require("react"));
190
205
  var import_log3 = require("@dxos/log");
191
206
  var import_react_client3 = require("@dxos/react-client");
192
207
  var import_halo3 = require("@dxos/react-client/halo");
193
208
  var import_invitations3 = require("@dxos/react-client/invitations");
194
- var import_react32 = __toESM(require("react"));
209
+ var import_react37 = __toESM(require("react"));
195
210
  var import_log4 = require("@dxos/log");
196
- var import_react_ui16 = require("@dxos/react-ui");
197
- var import_react_ui_pickers2 = require("@dxos/react-ui-pickers");
211
+ var import_react_ui18 = require("@dxos/react-ui");
198
212
  var import_util6 = require("@dxos/util");
199
213
  var import_react_client4 = require("@dxos/react-client");
200
- var import_react33 = require("react");
214
+ var import_react38 = require("react");
201
215
  var import_invariant = require("@dxos/invariant");
202
216
  var import_log5 = require("@dxos/log");
203
217
  var import_services = require("@dxos/protocols/proto/dxos/client/services");
204
218
  var import_metadata = require("@dxos/protocols/proto/dxos/echo/metadata");
205
219
  var import_react_client5 = require("@dxos/react-client");
206
- var import_react34 = require("react");
220
+ var import_react39 = require("react");
207
221
  var import_invariant2 = require("@dxos/invariant");
208
222
  var import_log6 = require("@dxos/log");
209
223
  var import_react_client6 = require("@dxos/react-client");
210
224
  var import_invitations4 = require("@dxos/react-client/invitations");
211
- var import_react35 = require("@phosphor-icons/react");
212
- var import_react36 = __toESM(require("react"));
225
+ var import_react40 = require("@phosphor-icons/react");
226
+ var import_react41 = __toESM(require("react"));
213
227
  var import_react_qr_rounded = require("react-qr-rounded");
214
- var import_react_ui17 = require("@dxos/react-ui");
215
- var import_react_ui_theme20 = 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");
216
230
  var import_util7 = require("@dxos/util");
217
231
  var import_invitations5 = require("@dxos/react-client/invitations");
218
- var import_react37 = require("@phosphor-icons/react");
219
- var import_react38 = __toESM(require("react"));
232
+ var import_react42 = require("@phosphor-icons/react");
233
+ var import_react43 = __toESM(require("react"));
220
234
  var import_log7 = require("@dxos/log");
221
- var import_react_ui18 = require("@dxos/react-ui");
222
- var import_react_ui_theme21 = require("@dxos/react-ui-theme");
223
- var import_react39 = __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"));
224
238
  var import_log8 = require("@dxos/log");
225
239
  var import_react_client7 = require("@dxos/react-client");
226
240
  var import_halo4 = require("@dxos/react-client/halo");
227
- var import_react_ui19 = require("@dxos/react-ui");
228
- var import_react40 = require("@phosphor-icons/react");
229
- var import_react41 = __toESM(require("react"));
230
- var import_react_ui20 = require("@dxos/react-ui");
231
- var import_react_ui_theme22 = require("@dxos/react-ui-theme");
232
- var import_react42 = require("@xstate/react");
233
- var import_react43 = require("react");
241
+ var import_react_ui21 = require("@dxos/react-ui");
242
+ var import_react45 = require("@phosphor-icons/react");
243
+ var import_react46 = __toESM(require("react"));
244
+ var import_react_ui22 = require("@dxos/react-ui");
245
+ var import_react_ui_theme24 = require("@dxos/react-ui-theme");
246
+ var import_react47 = require("@xstate/react");
247
+ var import_react48 = require("react");
234
248
  var import_xstate2 = require("xstate");
235
249
  var import_log9 = require("@dxos/log");
236
250
  var import_react_client8 = require("@dxos/react-client");
237
251
  var import_invitations6 = require("@dxos/react-client/invitations");
238
- var import_react44 = require("@phosphor-icons/react");
239
- var import_react45 = __toESM(require("react"));
240
- var import_react_ui21 = require("@dxos/react-ui");
241
- var import_react_ui_theme23 = require("@dxos/react-ui-theme");
242
- var import_react46 = __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"));
243
257
  var import_display_name4 = require("@dxos/display-name");
244
- var import_react_ui22 = require("@dxos/react-ui");
245
- var import_react_ui_theme24 = require("@dxos/react-ui-theme");
258
+ var import_react_ui24 = require("@dxos/react-ui");
259
+ var import_react_ui_theme26 = require("@dxos/react-ui-theme");
246
260
  var import_util8 = require("@dxos/util");
247
- var import_react47 = __toESM(require("react"));
261
+ var import_react52 = __toESM(require("react"));
248
262
  var import_log10 = require("@dxos/log");
249
263
  var import_react_client9 = require("@dxos/react-client");
250
- var import_react_ui23 = require("@dxos/react-ui");
251
- var import_react48 = __toESM(require("react"));
252
- var import_react_ui24 = require("@dxos/react-ui");
253
- var import_react49 = __toESM(require("react"));
254
- var import_log11 = require("@dxos/log");
255
264
  var import_react_ui25 = require("@dxos/react-ui");
256
- var import_react50 = __toESM(require("react"));
265
+ var import_react53 = __toESM(require("react"));
257
266
  var import_react_ui26 = require("@dxos/react-ui");
258
- var import_react_ui_theme25 = require("@dxos/react-ui-theme");
259
- var import_react51 = __toESM(require("react"));
260
- var import_invitations7 = require("@dxos/react-client/invitations");
267
+ var import_react54 = __toESM(require("react"));
268
+ var import_log11 = require("@dxos/log");
261
269
  var import_react_ui27 = require("@dxos/react-ui");
262
- var import_react_ui_theme26 = require("@dxos/react-ui-theme");
270
+ var import_react55 = __toESM(require("react"));
271
+ var import_react_ui28 = require("@dxos/react-ui");
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");
275
+ var import_react_ui29 = require("@dxos/react-ui");
276
+ var import_react_ui_theme28 = require("@dxos/react-ui-theme");
263
277
  var import_util9 = require("@dxos/util");
264
278
  var import_invitations8 = require("@dxos/react-client/invitations");
265
- var import_react52 = require("@phosphor-icons/react");
266
- var import_react53 = __toESM(require("react"));
279
+ var import_react57 = require("@phosphor-icons/react");
280
+ var import_react58 = __toESM(require("react"));
267
281
  var import_log12 = require("@dxos/log");
268
282
  var import_invitations9 = require("@dxos/react-client/invitations");
269
- var import_react_ui28 = require("@dxos/react-ui");
270
- var import_react54 = require("@xstate/react");
283
+ var import_react_ui30 = require("@dxos/react-ui");
284
+ var import_react59 = require("@xstate/react");
271
285
  var import_xstate3 = require("xstate");
272
286
  var import_log13 = require("@dxos/log");
273
- var import_react55 = require("@phosphor-icons/react");
274
- var import_react56 = __toESM(require("react"));
287
+ var import_react60 = require("@phosphor-icons/react");
288
+ var import_react61 = __toESM(require("react"));
275
289
  var import_log14 = require("@dxos/log");
276
290
  var import_react_client10 = require("@dxos/react-client");
277
291
  var import_echo4 = require("@dxos/react-client/echo");
278
292
  var import_invitations10 = require("@dxos/react-client/invitations");
279
- var import_react_ui29 = require("@dxos/react-ui");
280
- var import_react_ui_theme27 = require("@dxos/react-ui-theme");
281
- var import_react57 = __toESM(require("react"));
282
- var import_react_ui30 = require("@dxos/react-ui");
283
- var import_react58 = __toESM(require("react"));
284
293
  var import_react_ui31 = require("@dxos/react-ui");
285
- var import_react59 = __toESM(require("react"));
294
+ var import_react_ui_theme29 = require("@dxos/react-ui-theme");
295
+ var import_react62 = __toESM(require("react"));
296
+ var import_react_ui32 = require("@dxos/react-ui");
297
+ var import_react63 = __toESM(require("react"));
298
+ var import_react_ui33 = require("@dxos/react-ui");
299
+ var import_react64 = __toESM(require("react"));
286
300
  var import_client = require("react-dom/client");
287
301
  var import_client_protocol = require("@dxos/client-protocol");
288
302
  var import_react_client11 = require("@dxos/react-client");
289
- var import_react_ui32 = require("@dxos/react-ui");
290
- var import_react_ui_theme28 = 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");
291
305
  var import_rpc_tunnel = require("@dxos/rpc-tunnel");
292
- var import_react60 = __toESM(require("react"));
306
+ var import_react65 = __toESM(require("react"));
293
307
  var import_log15 = require("@dxos/log");
294
308
  var import_react_client12 = require("@dxos/react-client");
295
309
  var import_react_client13 = require("@dxos/react-client");
296
310
  var import_echo5 = require("@dxos/react-client/echo");
297
- var import_react61 = __toESM(require("react"));
298
- var import_react_ui33 = require("@dxos/react-ui");
299
- var import_react62 = __toESM(require("react"));
300
- var import_react_ui34 = require("@dxos/react-ui");
311
+ var import_react66 = __toESM(require("react"));
312
+ var import_react_ui35 = require("@dxos/react-ui");
313
+ var import_react67 = __toESM(require("react"));
314
+ var import_react_ui36 = require("@dxos/react-ui");
301
315
  var import_async = require("@dxos/async");
302
316
  var import_client_protocol2 = require("@dxos/client-protocol");
303
317
  var import_invariant3 = require("@dxos/invariant");
304
318
  var import_iframe = require("@dxos/protocols/proto/dxos/iframe");
305
319
  var import_rpc = require("@dxos/rpc");
306
- var import_react63 = __toESM(require("react"));
320
+ var import_react68 = __toESM(require("react"));
307
321
  var import_react_client14 = require("@dxos/react-client");
308
322
  var import_halo5 = require("@dxos/react-client/halo");
309
- var import_react_ui_theme29 = require("@dxos/react-ui-theme");
323
+ var import_react_ui_theme31 = require("@dxos/react-ui-theme");
310
324
  var import_async2 = require("@dxos/async");
311
325
  var import_react_client15 = require("@dxos/react-client");
312
326
  var AgentConfig = ({ agentStatus, validationMessage, onAgentDestroy, onAgentCreate, onAgentRefresh }) => {
@@ -357,7 +371,7 @@ var AgentConfig = ({ agentStatus, validationMessage, onAgentDestroy, onAgentCrea
357
371
  className: (0, import_react_ui_theme.mx)(import_react_ui_theme.descriptionText, "mlb-2")
358
372
  }, t("agent requested description"))) : /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
359
373
  variant: "ghost",
360
- classNames: "mlb-2 is-full justify-start gap-2 pis-0 pie-3",
374
+ classNames: "mlb-2 is-full justify-start gap-2 !pis-0 !pie-3",
361
375
  "data-testid": agentStatus === "creatable" ? "devices-panel.create-agent" : "devices-panel.agent-error",
362
376
  onClick: agentStatus === "creatable" ? onAgentCreate : onAgentRefresh,
363
377
  "aria-describedby": "devices-panel.create-agent.description"
@@ -431,58 +445,304 @@ var CompoundButton = ({ children, description, before, after, variant = "default
431
445
  className: "grow-0"
432
446
  }, after));
433
447
  };
434
- var IdentityListItem = /* @__PURE__ */ (0, import_react4.forwardRef)(({ identity, presence, onClick, classNames, ...props }, forwardedRef) => {
448
+ var EmojiPickerToolbarButton = ({ disabled, defaultEmoji, emoji, onChangeEmoji, classNames }) => {
449
+ const { t } = (0, import_react_ui3.useTranslation)("os");
450
+ const { themeMode } = (0, import_react_ui3.useThemeContext)();
451
+ const [_emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
452
+ prop: emoji,
453
+ onChange: onChangeEmoji,
454
+ defaultProp: defaultEmoji
455
+ });
456
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react6.useState)(false);
457
+ const suppressNextTooltip = (0, import_react6.useRef)(false);
458
+ const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react6.useState)(false);
459
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Root, {
460
+ open: triggerTooltipOpen,
461
+ onOpenChange: (nextOpen) => {
462
+ if (suppressNextTooltip.current) {
463
+ setTriggerTooltipOpen(false);
464
+ suppressNextTooltip.current = false;
465
+ } else {
466
+ setTriggerTooltipOpen(nextOpen);
467
+ }
468
+ }
469
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Root, {
470
+ open: emojiPickerOpen,
471
+ onOpenChange: (nextOpen) => {
472
+ setEmojiPickerOpen(nextOpen);
473
+ suppressNextTooltip.current = true;
474
+ }
475
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Trigger, {
476
+ asChild: true
477
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Trigger, {
478
+ asChild: true
479
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Toolbar.Button, {
480
+ classNames: [
481
+ "gap-2 text-2xl plb-1",
482
+ classNames
483
+ ],
484
+ disabled
485
+ }, /* @__PURE__ */ import_react6.default.createElement("span", {
486
+ className: "sr-only"
487
+ }, t("select emoji label")), /* @__PURE__ */ import_react6.default.createElement(import_react5.UserCircle, {
488
+ className: (0, import_react_ui_theme3.getSize)(5)
489
+ })))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Portal, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Content, {
490
+ side: "bottom"
491
+ }, 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, {
492
+ side: "bottom",
493
+ onKeyDownCapture: (event) => {
494
+ if (event.key === "Escape") {
495
+ event.stopPropagation();
496
+ setEmojiPickerOpen(false);
497
+ suppressNextTooltip.current = true;
498
+ }
499
+ }
500
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react4.default, {
501
+ data: import_data.default,
502
+ onEmojiSelect: ({ native }) => {
503
+ if (native) {
504
+ setEmojiValue(native);
505
+ setEmojiPickerOpen(false);
506
+ }
507
+ },
508
+ autoFocus: true,
509
+ maxFrequentRows: 0,
510
+ noCountryFlags: true,
511
+ theme: themeMode
512
+ }), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Arrow, null))));
513
+ };
514
+ var EmojiPickerBlock = ({ disabled, defaultEmoji, emoji, onChangeEmoji, onClickClear }) => {
515
+ const { t } = (0, import_react_ui3.useTranslation)("os");
516
+ const [isMd] = (0, import_react_ui3.useMediaQuery)("md", {
517
+ ssr: false
518
+ });
519
+ const [emojiValue, setEmojiValue] = (0, import_react_use_controllable_state.useControllableState)({
520
+ prop: emoji,
521
+ onChange: onChangeEmoji,
522
+ defaultProp: defaultEmoji
523
+ });
524
+ const [emojiPickerOpen, setEmojiPickerOpen] = (0, import_react6.useState)(false);
525
+ return /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Root, {
526
+ open: emojiPickerOpen,
527
+ onOpenChange: setEmojiPickerOpen
528
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Trigger, {
529
+ asChild: true
530
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Button, {
531
+ variant: "ghost",
532
+ classNames: "gap-2 text-2xl plb-1",
533
+ disabled
534
+ }, /* @__PURE__ */ import_react6.default.createElement("span", {
535
+ className: "sr-only"
536
+ }, t("select emoji label")), /* @__PURE__ */ import_react6.default.createElement("span", {
537
+ className: "grow pis-14"
538
+ }, emojiValue), /* @__PURE__ */ import_react6.default.createElement(import_react5.CaretDown, {
539
+ className: (0, import_react_ui_theme3.getSize)(4)
540
+ }))), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Popover.Content, {
541
+ side: "right",
542
+ sideOffset: isMd ? 0 : -310,
543
+ onKeyDownCapture: (event) => {
544
+ if (event.key === "Escape") {
545
+ event.stopPropagation();
546
+ setEmojiPickerOpen(false);
547
+ }
548
+ }
549
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react4.default, {
550
+ data: import_data.default,
551
+ onEmojiSelect: ({ native }) => {
552
+ if (native) {
553
+ setEmojiValue(native);
554
+ setEmojiPickerOpen(false);
555
+ }
556
+ },
557
+ autoFocus: true,
558
+ maxFrequentRows: 0,
559
+ noCountryFlags: true
560
+ }), /* @__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, {
561
+ asChild: true
562
+ }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Button, {
563
+ variant: "ghost",
564
+ onClick: onClickClear,
565
+ disabled
566
+ }, /* @__PURE__ */ import_react6.default.createElement("span", {
567
+ className: "sr-only"
568
+ }, 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, {
569
+ side: "right"
570
+ }, t("clear label"), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Arrow, null)))));
571
+ };
572
+ var HuePreview = ({ hue }) => {
573
+ const { tx } = (0, import_react_ui4.useThemeContext)();
574
+ const size = 20;
575
+ return /* @__PURE__ */ import_react8.default.createElement("svg", {
576
+ width: size,
577
+ height: size,
578
+ viewBox: `0 0 ${size} ${size}`
579
+ }, /* @__PURE__ */ import_react8.default.createElement("rect", {
580
+ x: 0,
581
+ y: 0,
582
+ width: size,
583
+ height: size,
584
+ className: tx("hue.fill", "select--hue__preview", {
585
+ hue
586
+ })
587
+ }));
588
+ };
589
+ var hueTokens = Object.keys(import_react_ui_theme4.hueTokenThemes).slice(0, 16);
590
+ var HuePickerToolbarButton = ({ disabled, hue, onChangeHue, classNames, defaultHue }) => {
591
+ const { t } = (0, import_react_ui4.useTranslation)("os");
592
+ const [hueValue, setHueValue] = (0, import_react_use_controllable_state2.useControllableState)({
593
+ prop: hue,
594
+ onChange: onChangeHue,
595
+ defaultProp: defaultHue
596
+ });
597
+ const [huePickerOpen, setHuePickerOpen] = (0, import_react8.useState)(false);
598
+ const suppressNextTooltip = (0, import_react8.useRef)(false);
599
+ const [triggerTooltipOpen, setTriggerTooltipOpen] = (0, import_react8.useState)(false);
600
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Root, {
601
+ open: triggerTooltipOpen,
602
+ onOpenChange: (nextOpen) => {
603
+ if (suppressNextTooltip.current) {
604
+ setTriggerTooltipOpen(false);
605
+ suppressNextTooltip.current = false;
606
+ } else {
607
+ setTriggerTooltipOpen(nextOpen);
608
+ }
609
+ }
610
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Root, {
611
+ modal: false,
612
+ open: huePickerOpen,
613
+ onOpenChange: (nextOpen) => {
614
+ setHuePickerOpen(nextOpen);
615
+ suppressNextTooltip.current = true;
616
+ }
617
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Trigger, {
618
+ asChild: true
619
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Trigger, {
620
+ asChild: true
621
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Toolbar.Button, {
622
+ classNames: (0, import_react_ui_theme4.mx)("gap-2 plb-1", classNames),
623
+ disabled
624
+ }, /* @__PURE__ */ import_react8.default.createElement("span", {
625
+ className: "sr-only"
626
+ }, t("select hue label")), /* @__PURE__ */ import_react8.default.createElement(import_react7.Palette, {
627
+ className: (0, import_react_ui_theme4.getSize)(5)
628
+ })))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Portal, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Content, {
629
+ side: "bottom"
630
+ }, 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, {
631
+ side: "bottom",
632
+ classNames: "!w-40"
633
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Viewport, {
634
+ classNames: "grid grid-cols-4"
635
+ }, hueTokens.map((hue2) => {
636
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.CheckboxItem, {
637
+ key: hue2,
638
+ checked: hue2 === hueValue,
639
+ onCheckedChange: () => setHueValue(hue2),
640
+ classNames: "px-0 py-2 items-center justify-center"
641
+ }, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
642
+ hue: hue2
643
+ }));
644
+ })))));
645
+ };
646
+ var HuePickerBlock = ({ disabled, hue, onChangeHue, defaultHue, onClickClear }) => {
647
+ const { t } = (0, import_react_ui4.useTranslation)("os");
648
+ const [hueValue, setHueValue] = (0, import_react_use_controllable_state2.useControllableState)({
649
+ prop: hue,
650
+ onChange: onChangeHue,
651
+ defaultProp: defaultHue
652
+ });
653
+ return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Root, {
654
+ modal: false
655
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Trigger, {
656
+ asChild: true
657
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Button, {
658
+ variant: "ghost",
659
+ classNames: "gap-2 plb-1",
660
+ disabled
661
+ }, /* @__PURE__ */ import_react8.default.createElement("span", {
662
+ className: "sr-only"
663
+ }, t("select hue label")), /* @__PURE__ */ import_react8.default.createElement("div", {
664
+ role: "none",
665
+ className: "pis-14 grow flex items-center justify-center gap-2"
666
+ }, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
667
+ hue: hueValue
668
+ }), /* @__PURE__ */ import_react8.default.createElement("span", null, t(`${hueValue} label`))), /* @__PURE__ */ import_react8.default.createElement(import_react7.CaretDown, {
669
+ className: (0, import_react_ui_theme4.getSize)(4)
670
+ }))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Content, {
671
+ side: "right"
672
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.Viewport, null, Object.keys(import_react_ui_theme4.hueTokenThemes).map((hue2) => {
673
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.CheckboxItem, {
674
+ key: hue2,
675
+ checked: hue2 === hueValue,
676
+ onCheckedChange: () => setHueValue(hue2)
677
+ }, /* @__PURE__ */ import_react8.default.createElement(HuePreview, {
678
+ hue: hue2
679
+ }), /* @__PURE__ */ import_react8.default.createElement("span", {
680
+ className: "grow"
681
+ }, t(`${hue2} label`)), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.DropdownMenu.ItemIndicator, null, /* @__PURE__ */ import_react8.default.createElement(import_react7.Check, null)));
682
+ })), /* @__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, {
683
+ asChild: true
684
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Button, {
685
+ variant: "ghost",
686
+ onClick: onClickClear,
687
+ disabled
688
+ }, /* @__PURE__ */ import_react8.default.createElement("span", {
689
+ className: "sr-only"
690
+ }, 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, {
691
+ side: "right"
692
+ }, t("clear label"), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Tooltip.Arrow, null)))));
693
+ };
694
+ var IdentityListItem = /* @__PURE__ */ (0, import_react9.forwardRef)(({ identity, presence, onClick, classNames, ...props }, forwardedRef) => {
435
695
  const fallbackValue = (0, import_util.keyToFallback)(identity.identityKey);
436
- const labelId = (0, import_react_ui3.useId)("identityListItem__label");
696
+ const labelId = (0, import_react_ui5.useId)("identityListItem__label");
437
697
  const displayName = identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
438
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.ListItem.Root, {
698
+ return /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.ListItem.Root, {
439
699
  ...props,
440
- classNames: (0, import_react_ui_theme3.mx)("flex gap-2 pis-3 pie-1 items-center", onClick && "cursor-pointer", classNames),
700
+ classNames: (0, import_react_ui_theme5.mx)("flex gap-2 pis-3 pie-1 items-center", onClick && "cursor-pointer", classNames),
441
701
  onClick: () => onClick?.(),
442
702
  "data-testid": "identity-list-item",
443
703
  labelId,
444
704
  ref: forwardedRef
445
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Root, {
705
+ }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Root, {
446
706
  status: presence === import_echo.SpaceMember.PresenceState.ONLINE ? "active" : "inactive",
447
707
  labelId,
448
708
  hue: identity.profile?.data?.hue || fallbackValue.hue
449
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Frame, {
709
+ }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Frame, {
450
710
  classNames: "place-self-center"
451
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Fallback, {
711
+ }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Fallback, {
452
712
  text: identity.profile?.data?.emoji || fallbackValue.emoji
453
- })), /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Avatar.Label, {
713
+ })), /* @__PURE__ */ import_react9.default.createElement(import_react_ui5.Avatar.Label, {
454
714
  classNames: "text-sm truncate pli-2"
455
715
  }, displayName)));
456
716
  });
457
717
  var SpaceMemberList = ({ spaceKey, includeSelf, onSelect }) => {
458
718
  const client = (0, import_react_client.useClient)();
459
719
  const allUnsortedMembers = (0, import_echo2.useMembers)(spaceKey);
460
- const members = (0, import_react5.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)), [
720
+ 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)), [
461
721
  allUnsortedMembers
462
722
  ]);
463
- return /* @__PURE__ */ import_react5.default.createElement(SpaceMemberListImpl, {
723
+ return /* @__PURE__ */ import_react10.default.createElement(SpaceMemberListImpl, {
464
724
  members,
465
725
  onSelect
466
726
  });
467
727
  };
468
728
  var SpaceMemberListImpl = ({ members, onSelect }) => {
469
- const { t } = (0, import_react_ui4.useTranslation)("os");
729
+ const { t } = (0, import_react_ui6.useTranslation)("os");
470
730
  const visibleMembers = members.filter((member) => member.identity);
471
- return visibleMembers.length > 0 ? /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.List, {
731
+ return visibleMembers.length > 0 ? /* @__PURE__ */ import_react10.default.createElement(import_react_ui6.List, {
472
732
  classNames: "flex flex-col gap-2",
473
733
  "data-testid": "space-members-list"
474
734
  }, visibleMembers.map((member) => {
475
- return /* @__PURE__ */ import_react5.default.createElement(IdentityListItem, {
735
+ return /* @__PURE__ */ import_react10.default.createElement(IdentityListItem, {
476
736
  key: member.identity.identityKey.toHex(),
477
737
  identity: member.identity,
478
738
  presence: member.presence,
479
739
  onClick: onSelect && (() => onSelect(member))
480
740
  });
481
- })) : /* @__PURE__ */ import_react5.default.createElement("div", {
741
+ })) : /* @__PURE__ */ import_react10.default.createElement("div", {
482
742
  role: "none",
483
743
  className: "grow flex items-center p-2"
484
- }, /* @__PURE__ */ import_react5.default.createElement("p", {
485
- className: (0, import_react_ui_theme4.mx)(import_react_ui_theme4.descriptionText, "text-center is-full mlb-2")
744
+ }, /* @__PURE__ */ import_react10.default.createElement("p", {
745
+ className: (0, import_react_ui_theme6.mx)(import_react_ui_theme6.descriptionText, "text-center is-full mlb-2")
486
746
  }, t("empty space members message")));
487
747
  };
488
748
  var iconProps = {
@@ -492,16 +752,16 @@ var iconProps = {
492
752
  x: 8,
493
753
  y: 8
494
754
  };
495
- var DeviceListItem = /* @__PURE__ */ (0, import_react9.forwardRef)(({ device, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, classNames, connectionState, onAgentDestroy: _, ...props }, forwardedRef) => {
496
- const { t } = (0, import_react_ui6.useTranslation)("os");
755
+ var DeviceListItem = /* @__PURE__ */ (0, import_react14.forwardRef)(({ device, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, classNames, connectionState, onAgentDestroy: _, ...props }, forwardedRef) => {
756
+ const { t } = (0, import_react_ui8.useTranslation)("os");
497
757
  const fallbackValue = (0, import_util2.keyToFallback)(device.deviceKey);
498
- const labelId = (0, import_react_ui6.useId)("identityListItem__label");
758
+ const labelId = (0, import_react_ui8.useId)("identityListItem__label");
499
759
  const displayName = device.profile ? t("device name placeholder", {
500
760
  os: device.profile.os,
501
761
  platform: device.profile.platform
502
762
  }) : (0, import_display_name2.generateName)(device.deviceKey.toHex());
503
763
  const isCurrent = device.kind === import_halo.DeviceKind.CURRENT;
504
- return /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.ListItem.Root, {
764
+ return /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.ListItem.Root, {
505
765
  ...props,
506
766
  classNames: [
507
767
  "flex gap-2 items-center mlb-2",
@@ -510,58 +770,58 @@ var DeviceListItem = /* @__PURE__ */ (0, import_react9.forwardRef)(({ device, on
510
770
  "data-testid": `device-list-item${isCurrent ? "-current" : ""}`,
511
771
  labelId,
512
772
  ref: forwardedRef
513
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Root, {
773
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Avatar.Root, {
514
774
  status: isCurrent && connectionState === import_mesh.ConnectionState.OFFLINE ? "error" : device.presence === import_halo.Device.PresenceState.ONLINE ? "active" : "inactive",
515
775
  labelId,
516
776
  hue: fallbackValue.hue,
517
777
  variant: "square"
518
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Frame, {
778
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Avatar.Frame, {
519
779
  classNames: "place-self-center"
520
- }, device.profile?.type ? device.profile.type === import_halo.DeviceType.AGENT_MANAGED ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Database, iconProps) : device.profile.type === import_halo.DeviceType.BROWSER ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Compass, iconProps) : device.profile.type === import_halo.DeviceType.NATIVE ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Desktop, iconProps) : [
780
+ }, 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) : [
521
781
  import_halo.DeviceType.AGENT,
522
782
  import_halo.DeviceType.AGENT_MANAGED
523
- ].includes(device.profile.type) ? /* @__PURE__ */ import_react9.default.createElement(import_react8.Robot, iconProps) : device.profile.type === import_halo.DeviceType.MOBILE ? /* @__PURE__ */ import_react9.default.createElement(import_react8.DeviceMobile, iconProps) : /* @__PURE__ */ import_react9.default.createElement(import_react8.Devices, iconProps) : /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Fallback, {
783
+ ].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, {
524
784
  text: fallbackValue.emoji
525
- })), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Avatar.Label, {
785
+ })), /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Avatar.Label, {
526
786
  classNames: "flex-1 text-sm truncate"
527
- }, displayName), isCurrent && /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Tag, {
787
+ }, displayName), isCurrent && /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Tag, {
528
788
  color: "primary"
529
- }, t("current device tag label")), device.kind === import_halo.DeviceKind.CURRENT && /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Root, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Trigger, {
789
+ }, 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, {
530
790
  asChild: true
531
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Button, {
791
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Button, {
532
792
  variant: "ghost",
533
793
  classNames: "pli-0 is-[--rail-action] bs-[--rail-action]",
534
794
  "data-testid": `device-list-item${isCurrent ? "-current" : ""}.options`
535
- }, /* @__PURE__ */ import_react9.default.createElement("span", {
795
+ }, /* @__PURE__ */ import_react14.default.createElement("span", {
536
796
  className: "sr-only"
537
- }, t("more options label")), /* @__PURE__ */ import_react9.default.createElement(import_react8.DotsThree, {
538
- className: (0, import_react_ui_theme6.getSize)(5)
539
- }))), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Content, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Viewport, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Item, {
797
+ }, t("more options label")), /* @__PURE__ */ import_react14.default.createElement(import_react13.DotsThree, {
798
+ className: (0, import_react_ui_theme8.getSize)(5)
799
+ }))), /* @__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, {
540
800
  "data-testid": "device-list-item-current.join-existing",
541
801
  onClick: onClickJoinExisting
542
- }, /* @__PURE__ */ import_react9.default.createElement(import_react8.ShareFat, {
543
- className: (0, import_react_ui_theme6.getSize)(5)
544
- }), t("choose join new identity label")), onClickRecover && /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Item, {
802
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react13.ShareFat, {
803
+ className: (0, import_react_ui_theme8.getSize)(5)
804
+ }), t("choose join new identity label")), onClickRecover && /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Item, {
545
805
  "data-testid": "device-list-item-current.recover",
546
806
  onClick: onClickRecover
547
- }, /* @__PURE__ */ import_react9.default.createElement(import_react8.FirstAidKit, {
548
- className: (0, import_react_ui_theme6.getSize)(5)
549
- }), t("choose recover identity label")), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Item, {
807
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react13.FirstAidKit, {
808
+ className: (0, import_react_ui_theme8.getSize)(5)
809
+ }), t("choose recover identity label")), /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.DropdownMenu.Item, {
550
810
  "data-testid": "device-list-item-current.reset",
551
811
  onClick: onClickReset
552
- }, /* @__PURE__ */ import_react9.default.createElement(import_react8.Power, {
553
- className: (0, import_react_ui_theme6.getSize)(5)
812
+ }, /* @__PURE__ */ import_react14.default.createElement(import_react13.Power, {
813
+ className: (0, import_react_ui_theme8.getSize)(5)
554
814
  }), t("reset device label")))))));
555
815
  });
556
816
  var DeviceList = ({ devices, connectionState, onClickAdd, onClickEdit, onClickReset, onClickRecover, onClickJoinExisting, onAgentDestroy }) => {
557
- const { t } = (0, import_react_ui5.useTranslation)("os");
558
- return /* @__PURE__ */ import_react7.default.createElement("div", {
817
+ const { t } = (0, import_react_ui7.useTranslation)("os");
818
+ return /* @__PURE__ */ import_react12.default.createElement("div", {
559
819
  role: "none",
560
820
  className: "p-1"
561
- }, /* @__PURE__ */ import_react7.default.createElement("h2", {
562
- className: (0, import_react_ui_theme5.mx)(import_react_ui_theme5.descriptionText, "text-center mbs-2")
563
- }, t("devices heading")), devices.length > 0 && /* @__PURE__ */ import_react7.default.createElement(import_react_ui5.List, null, devices.map((device) => {
564
- return /* @__PURE__ */ import_react7.default.createElement(DeviceListItem, {
821
+ }, /* @__PURE__ */ import_react12.default.createElement("h2", {
822
+ className: (0, import_react_ui_theme7.mx)(import_react_ui_theme7.descriptionText, "text-center mbs-2")
823
+ }, t("devices heading")), devices.length > 0 && /* @__PURE__ */ import_react12.default.createElement(import_react_ui7.List, null, devices.map((device) => {
824
+ return /* @__PURE__ */ import_react12.default.createElement(DeviceListItem, {
565
825
  key: device.deviceKey.toHex(),
566
826
  device,
567
827
  onClickEdit: () => onClickEdit?.(device),
@@ -571,22 +831,22 @@ var DeviceList = ({ devices, connectionState, onClickAdd, onClickEdit, onClickRe
571
831
  connectionState,
572
832
  onAgentDestroy
573
833
  });
574
- })), /* @__PURE__ */ import_react7.default.createElement(import_react_ui5.Button, {
834
+ })), /* @__PURE__ */ import_react12.default.createElement(import_react_ui7.Button, {
575
835
  variant: "ghost",
576
- classNames: "justify-start gap-2 pis-0 pie-3 is-full",
836
+ classNames: "justify-start gap-2 !pis-0 !pie-3 is-full",
577
837
  "data-testid": "devices-panel.create-invitation",
578
838
  onClick: onClickAdd
579
- }, /* @__PURE__ */ import_react7.default.createElement("div", {
839
+ }, /* @__PURE__ */ import_react12.default.createElement("div", {
580
840
  role: "img",
581
- className: (0, import_react_ui_theme5.mx)((0, import_react_ui_theme5.getSize)(8), "m-1 rounded-sm bg-input grid place-items-center")
582
- }, /* @__PURE__ */ import_react7.default.createElement(import_react6.Plus, {
841
+ className: (0, import_react_ui_theme7.mx)((0, import_react_ui_theme7.getSize)(8), "m-1 rounded-sm bg-input grid place-items-center")
842
+ }, /* @__PURE__ */ import_react12.default.createElement(import_react11.Plus, {
583
843
  weight: "light",
584
- className: (0, import_react_ui_theme5.getSize)(6)
585
- })), /* @__PURE__ */ import_react7.default.createElement("span", {
844
+ className: (0, import_react_ui_theme7.getSize)(6)
845
+ })), /* @__PURE__ */ import_react12.default.createElement("span", {
586
846
  className: "grow font-medium text-start"
587
- }, t("choose add device label")), /* @__PURE__ */ import_react7.default.createElement(import_react6.CaretRight, {
847
+ }, t("choose add device label")), /* @__PURE__ */ import_react12.default.createElement(import_react11.CaretRight, {
588
848
  weight: "bold",
589
- className: (0, import_react_ui_theme5.getSize)(4)
849
+ className: (0, import_react_ui_theme7.getSize)(4)
590
850
  })));
591
851
  };
592
852
  var AuthCode = (props) => {
@@ -594,7 +854,7 @@ var AuthCode = (props) => {
594
854
  const l = code?.length ?? 0;
595
855
  const left = code?.slice(0, l / 2);
596
856
  const right = code?.slice(l / 2);
597
- const codeRef = (0, import_react12.useRef)(null);
857
+ const codeRef = (0, import_react17.useRef)(null);
598
858
  const handleClick = () => {
599
859
  if (codeRef.current) {
600
860
  const selection = window.getSelection();
@@ -605,18 +865,18 @@ var AuthCode = (props) => {
605
865
  }
606
866
  void navigator.clipboard.writeText(code ?? "");
607
867
  };
608
- return /* @__PURE__ */ import_react12.default.createElement("span", {
609
- className: (0, import_react_ui_theme8.mx)(large ? "text-6xl" : "text-2xl", "font-mono pli-2.5 rounded cursor-pointer", classNames),
868
+ return /* @__PURE__ */ import_react17.default.createElement("span", {
869
+ className: (0, import_react_ui_theme10.mx)(large ? "text-6xl" : "text-2xl", "font-mono pli-2.5 rounded cursor-pointer", classNames),
610
870
  onClick: handleClick,
611
871
  ref: codeRef
612
- }, /* @__PURE__ */ import_react12.default.createElement("span", {
872
+ }, /* @__PURE__ */ import_react17.default.createElement("span", {
613
873
  className: "mie-[0.4em]"
614
- }, left), /* @__PURE__ */ import_react12.default.createElement("span", null, right));
874
+ }, left), /* @__PURE__ */ import_react17.default.createElement("span", null, right));
615
875
  };
616
876
  var InvitationListItem = (props) => {
617
877
  const { invitation } = props;
618
878
  const invitationStatus = (0, import_invitations.useInvitationStatus)(invitation);
619
- return /* @__PURE__ */ import_react11.default.createElement(InvitationListItemImpl, {
879
+ return /* @__PURE__ */ import_react16.default.createElement(InvitationListItemImpl, {
620
880
  ...props,
621
881
  invitationStatus
622
882
  });
@@ -626,11 +886,11 @@ var avatarProps = {
626
886
  variant: "circle"
627
887
  };
628
888
  var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
629
- const { tx } = (0, import_react_ui7.useThemeContext)();
630
- return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("span", {
889
+ const { tx } = (0, import_react_ui9.useThemeContext)();
890
+ return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement("span", {
631
891
  role: "none",
632
- className: (0, import_react_ui_theme7.mx)("absolute inline-end-auto opacity-20", reverseEffects ? "inline-start-3" : "inline-start-1", (0, import_react_ui_theme7.getSize)(avatarProps.size))
633
- }, /* @__PURE__ */ import_react11.default.createElement("span", {
892
+ 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))
893
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
634
894
  role: "none",
635
895
  className: tx("avatar.ring", "avatar__ring", {
636
896
  ...avatarProps,
@@ -640,10 +900,10 @@ var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
640
900
  style: {
641
901
  animationDelay: "400ms"
642
902
  }
643
- })), /* @__PURE__ */ import_react11.default.createElement("span", {
903
+ })), /* @__PURE__ */ import_react16.default.createElement("span", {
644
904
  role: "none",
645
- className: (0, import_react_ui_theme7.mx)("absolute inline-end-auto opacity-50", reverseEffects ? "inline-start-2" : "inline-start-2", (0, import_react_ui_theme7.getSize)(avatarProps.size))
646
- }, /* @__PURE__ */ import_react11.default.createElement("span", {
905
+ 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))
906
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
647
907
  role: "none",
648
908
  className: tx("avatar.ring", "avatar__ring", {
649
909
  ...avatarProps,
@@ -656,7 +916,7 @@ var AvatarStackEffect = ({ animation, status, reverseEffects }) => {
656
916
  })));
657
917
  };
658
918
  var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationStatus, send, onClickRemove, createInvitationUrl, reverseEffects, ...props }) => {
659
- const { t } = (0, import_react_ui7.useTranslation)("os");
919
+ const { t } = (0, import_react_ui9.useTranslation)("os");
660
920
  const { cancel, status: invitationStatus, invitationCode, authCode, multiUse, shareable } = propsInvitationStatus;
661
921
  const isCancellable = !([
662
922
  import_invitations.Invitation.State.ERROR,
@@ -669,7 +929,7 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
669
929
  import_invitations.Invitation.State.CONNECTED
670
930
  ].indexOf(invitationStatus) >= 0);
671
931
  const showAuthCode = invitationStatus === import_invitations.Invitation.State.READY_FOR_AUTHENTICATION;
672
- const handleClickRemove = (0, import_react11.useCallback)(() => onClickRemove?.(invitation), [
932
+ const handleClickRemove = (0, import_react16.useCallback)(() => onClickRemove?.(invitation), [
673
933
  invitation,
674
934
  onClickRemove
675
935
  ]);
@@ -698,38 +958,38 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
698
958
  import_invitations.Invitation.State.SUCCESS
699
959
  ].includes(invitationStatus);
700
960
  const avatarStatus = avatarError ? "error" : avatarGreen ? "active" : "inactive";
701
- return /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.ListItem.Root, {
961
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.ListItem.Root, {
702
962
  id: invitationCode,
703
963
  ...props,
704
964
  classNames: [
705
965
  "flex gap-2 pis-3 pie-1 items-center relative",
706
966
  props.classNames
707
967
  ]
708
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.ListItem.Heading, {
968
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.ListItem.Heading, {
709
969
  classNames: "sr-only"
710
- }, t(multiUse ? "invite many list item label" : "invite one list item label")), multiUse && /* @__PURE__ */ import_react11.default.createElement(AvatarStackEffect, {
970
+ }, t(multiUse ? "invite many list item label" : "invite one list item label")), multiUse && /* @__PURE__ */ import_react16.default.createElement(AvatarStackEffect, {
711
971
  status: avatarStatus,
712
972
  animation: avatarAnimation,
713
973
  reverseEffects
714
- }), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Root, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Avatar.Root, {
974
+ }), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Root, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Avatar.Root, {
715
975
  ...avatarProps,
716
976
  animation: avatarAnimation,
717
977
  status: avatarStatus
718
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Trigger, {
978
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Trigger, {
719
979
  asChild: true
720
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Avatar.Frame, {
980
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Avatar.Frame, {
721
981
  tabIndex: 0,
722
982
  classNames: [
723
- import_react_ui_theme7.focusRing,
983
+ import_react_ui_theme9.focusRing,
724
984
  "relative rounded-full place-self-center"
725
985
  ]
726
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Avatar.Fallback, {
986
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Avatar.Fallback, {
727
987
  text: (0, import_util3.hexToEmoji)(invitationId)
728
- })))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Portal, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Content, {
988
+ })))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Content, {
729
989
  side: "left"
730
- }, t(multiUse ? "invite many qr label" : "invite one qr label"), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Arrow, null)))), showShare && invitationUrl ? /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Root, null, /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Trigger, {
990
+ }, 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, {
731
991
  asChild: true
732
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Button, {
992
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
733
993
  variant: "ghost",
734
994
  classNames: "grow justify-start font-medium",
735
995
  onClick: () => send({
@@ -737,55 +997,55 @@ var InvitationListItemImpl = ({ invitation, invitationStatus: propsInvitationSta
737
997
  invitation
738
998
  }),
739
999
  "data-testid": "show-qrcode"
740
- }, /* @__PURE__ */ import_react11.default.createElement("span", null, t("open share panel label")))), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Clipboard.IconButton, {
1000
+ }, /* @__PURE__ */ import_react16.default.createElement("span", null, t("open share panel label")))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Clipboard.IconButton, {
741
1001
  variant: "ghost",
742
1002
  value: invitationUrl
743
- })), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Portal, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Tooltip.Content, {
1003
+ })), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Content, {
744
1004
  side: "left"
745
- }, invitationHasLifetime && /* @__PURE__ */ import_react11.default.createElement("span", null, "Expires ", invitationTimeLeft)))) : showAuthCode ? /* @__PURE__ */ import_react11.default.createElement(AuthCode, {
1005
+ }, invitationHasLifetime && /* @__PURE__ */ import_react16.default.createElement("span", null, "Expires ", invitationTimeLeft)))) : showAuthCode ? /* @__PURE__ */ import_react16.default.createElement(AuthCode, {
746
1006
  code: authCode,
747
1007
  classNames: "grow"
748
- }) : invitationStatus === import_invitations.Invitation.State.CONNECTING ? /* @__PURE__ */ import_react11.default.createElement("span", {
1008
+ }) : invitationStatus === import_invitations.Invitation.State.CONNECTING ? /* @__PURE__ */ import_react16.default.createElement("span", {
749
1009
  className: "pli-2 grow text-neutral-500"
750
- }, "Connecting...") : invitationStatus === import_invitations.Invitation.State.AUTHENTICATING ? /* @__PURE__ */ import_react11.default.createElement("span", {
1010
+ }, "Connecting...") : invitationStatus === import_invitations.Invitation.State.AUTHENTICATING ? /* @__PURE__ */ import_react16.default.createElement("span", {
751
1011
  className: "pli-2 grow text-neutral-500"
752
- }, "Authenticating...") : invitationStatus === import_invitations.Invitation.State.ERROR || invitationStatus === import_invitations.Invitation.State.TIMEOUT ? /* @__PURE__ */ import_react11.default.createElement("span", {
1012
+ }, "Authenticating...") : invitationStatus === import_invitations.Invitation.State.ERROR || invitationStatus === import_invitations.Invitation.State.TIMEOUT ? /* @__PURE__ */ import_react16.default.createElement("span", {
753
1013
  className: "pli-2 grow text-neutral-500"
754
- }, "Failed") : invitationStatus === import_invitations.Invitation.State.CANCELLED ? /* @__PURE__ */ import_react11.default.createElement("span", {
1014
+ }, "Failed") : invitationStatus === import_invitations.Invitation.State.CANCELLED ? /* @__PURE__ */ import_react16.default.createElement("span", {
755
1015
  className: "pli-2 grow text-neutral-500"
756
- }, "Cancelled") : invitationStatus === import_invitations.Invitation.State.SUCCESS ? /* @__PURE__ */ import_react11.default.createElement("span", {
1016
+ }, "Cancelled") : invitationStatus === import_invitations.Invitation.State.SUCCESS ? /* @__PURE__ */ import_react16.default.createElement("span", {
757
1017
  className: "pli-2 grow truncate"
758
- }, "User joined") : !shareable ? /* @__PURE__ */ import_react11.default.createElement("span", {
1018
+ }, "User joined") : !shareable ? /* @__PURE__ */ import_react16.default.createElement("span", {
759
1019
  className: "pli-2 grow text-neutral-500"
760
- }, "Pending Invitation") : /* @__PURE__ */ import_react11.default.createElement("span", {
1020
+ }, "Pending Invitation") : /* @__PURE__ */ import_react16.default.createElement("span", {
761
1021
  className: "grow"
762
- }, " "), isCancellable ? /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Button, {
1022
+ }, " "), isCancellable ? /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
763
1023
  variant: "ghost",
764
1024
  classNames: "flex gap-1 pli-0",
765
1025
  onClick: cancel,
766
1026
  "data-testid": "cancel-invitation"
767
- }, /* @__PURE__ */ import_react11.default.createElement("span", {
1027
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
768
1028
  className: "sr-only"
769
- }, t("cancel invitation label")), /* @__PURE__ */ import_react11.default.createElement(import_react10.X, {
770
- className: (0, import_react_ui_theme7.getSize)(4)
771
- })) : /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.Button, {
1029
+ }, t("cancel invitation label")), /* @__PURE__ */ import_react16.default.createElement(import_react15.X, {
1030
+ className: (0, import_react_ui_theme9.getSize)(4)
1031
+ })) : /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
772
1032
  variant: "ghost",
773
1033
  classNames: "flex gap-1 pli-0",
774
1034
  onClick: handleClickRemove,
775
1035
  "data-testid": "remove-invitation"
776
- }, /* @__PURE__ */ import_react11.default.createElement("span", {
1036
+ }, /* @__PURE__ */ import_react16.default.createElement("span", {
777
1037
  className: "sr-only"
778
- }, t("remove invitation label")), /* @__PURE__ */ import_react11.default.createElement(import_react10.X, {
779
- className: (0, import_react_ui_theme7.getSize)(4)
1038
+ }, t("remove invitation label")), /* @__PURE__ */ import_react16.default.createElement(import_react15.X, {
1039
+ className: (0, import_react_ui_theme9.getSize)(4)
780
1040
  })));
781
1041
  };
782
1042
  var InvitationList = ({ invitations, send, ...invitationProps }) => {
783
1043
  const { className, InvitationListItem: Item = InvitationListItem } = invitationProps;
784
- return /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.List, {
785
- classNames: (0, import_react_ui_theme9.mx)("flex flex-col gap-2", className)
1044
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.List, {
1045
+ classNames: (0, import_react_ui_theme11.mx)("flex flex-col gap-2", className)
786
1046
  }, invitations.map((invitation) => {
787
1047
  const value = invitation.get().invitationId;
788
- return /* @__PURE__ */ import_react14.default.createElement(Item, {
1048
+ return /* @__PURE__ */ import_react19.default.createElement(Item, {
789
1049
  key: value,
790
1050
  send,
791
1051
  invitation,
@@ -796,12 +1056,12 @@ var InvitationList = ({ invitations, send, ...invitationProps }) => {
796
1056
  var InvitationListContainer = ({ spaceKey, createInvitationUrl, send }) => {
797
1057
  const space = (0, import_echo3.useSpace)(spaceKey);
798
1058
  const invitations = (0, import_echo3.useSpaceInvitations)(spaceKey);
799
- const handleClickRemove = (0, import_react13.useCallback)((invitation) => {
1059
+ const handleClickRemove = (0, import_react18.useCallback)((invitation) => {
800
1060
  void invitation.cancel();
801
1061
  }, [
802
1062
  space
803
1063
  ]);
804
- return /* @__PURE__ */ import_react13.default.createElement(InvitationList, {
1064
+ return /* @__PURE__ */ import_react18.default.createElement(InvitationList, {
805
1065
  invitations,
806
1066
  onClickRemove: handleClickRemove,
807
1067
  createInvitationUrl,
@@ -812,25 +1072,25 @@ var defaultActions = {
812
1072
  noopAction: {
813
1073
  label: "No-op",
814
1074
  description: "",
815
- icon: import_react15.Placeholder,
1075
+ icon: import_react20.Placeholder,
816
1076
  onClick: () => {
817
1077
  }
818
1078
  }
819
1079
  };
820
- var BifurcatedAction = /* @__PURE__ */ (0, import_react16.forwardRef)((props, forwardedRef) => {
1080
+ var BifurcatedAction = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
821
1081
  const { classNames, variant, isFull = true, actions = defaultActions, activeAction: propsActiveAction, onChangeActiveAction, defaultActiveAction, "data-testid": testId, ...rest } = props;
822
1082
  const dropdownTestId = testId && `${testId}.more`;
823
- const [activeActionKey2 = Object.keys(actions)[0], setActiveAction] = (0, import_react_use_controllable_state.useControllableState)({
1083
+ const [activeActionKey2 = Object.keys(actions)[0], setActiveAction] = (0, import_react_use_controllable_state3.useControllableState)({
824
1084
  prop: propsActiveAction,
825
1085
  onChange: onChangeActiveAction,
826
1086
  defaultProp: defaultActiveAction
827
1087
  });
828
1088
  const activeAction = actions[activeActionKey2] ?? {};
829
- const { t } = (0, import_react_ui9.useTranslation)("os");
830
- return /* @__PURE__ */ import_react16.default.createElement("div", {
1089
+ const { t } = (0, import_react_ui11.useTranslation)("os");
1090
+ return /* @__PURE__ */ import_react21.default.createElement("div", {
831
1091
  role: "none",
832
- className: (0, import_react_ui_theme10.mx)("mbs-2 flex gap-px items-center", isFull && "is-full")
833
- }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
1092
+ className: (0, import_react_ui_theme12.mx)("mbs-2 flex gap-px items-center", isFull && "is-full")
1093
+ }, /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.Button, {
834
1094
  ...rest,
835
1095
  classNames: [
836
1096
  "bs-11 flex-1 min-is-0 flex gap-2 rounded-ie-none",
@@ -840,22 +1100,22 @@ var BifurcatedAction = /* @__PURE__ */ (0, import_react16.forwardRef)((props, fo
840
1100
  variant,
841
1101
  "data-testid": testId,
842
1102
  onClick: activeAction.onClick
843
- }, activeAction.icon && /* @__PURE__ */ import_react16.default.createElement(activeAction.icon, {
844
- className: (0, import_react_ui_theme10.getSize)(5)
845
- }), /* @__PURE__ */ import_react16.default.createElement("span", null, activeAction.label)), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Root, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Trigger, {
1103
+ }, activeAction.icon && /* @__PURE__ */ import_react21.default.createElement(activeAction.icon, {
1104
+ className: (0, import_react_ui_theme12.getSize)(5)
1105
+ }), /* @__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, {
846
1106
  asChild: true
847
- }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
1107
+ }, /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.Button, {
848
1108
  classNames: [
849
1109
  "bs-11 flex-none rounded-is-none",
850
1110
  classNames
851
1111
  ],
852
1112
  "data-testid": dropdownTestId
853
- }, /* @__PURE__ */ import_react16.default.createElement("span", {
1113
+ }, /* @__PURE__ */ import_react21.default.createElement("span", {
854
1114
  className: "sr-only"
855
- }, t("invite options label")), /* @__PURE__ */ import_react16.default.createElement(import_react15.CaretDown, {
856
- className: (0, import_react_ui_theme10.getSize)(4)
857
- }))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Content, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Viewport, null, Object.entries(actions).map(([id, action]) => {
858
- return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.CheckboxItem, {
1115
+ }, t("invite options label")), /* @__PURE__ */ import_react21.default.createElement(import_react20.CaretDown, {
1116
+ className: (0, import_react_ui_theme12.getSize)(4)
1117
+ }))), /* @__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]) => {
1118
+ return /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.CheckboxItem, {
859
1119
  key: id,
860
1120
  "aria-labelledby": `${id}__label`,
861
1121
  "aria-describedby": `${id}__description`,
@@ -863,27 +1123,27 @@ var BifurcatedAction = /* @__PURE__ */ (0, import_react16.forwardRef)((props, fo
863
1123
  onCheckedChange: (checked) => checked && setActiveAction(id),
864
1124
  classNames: "gap-2",
865
1125
  "data-testid": action.testId
866
- }, action.icon && /* @__PURE__ */ import_react16.default.createElement(action.icon, {
867
- className: (0, import_react_ui_theme10.getSize)(5)
868
- }), /* @__PURE__ */ import_react16.default.createElement("div", {
1126
+ }, action.icon && /* @__PURE__ */ import_react21.default.createElement(action.icon, {
1127
+ className: (0, import_react_ui_theme12.getSize)(5)
1128
+ }), /* @__PURE__ */ import_react21.default.createElement("div", {
869
1129
  role: "none",
870
1130
  className: "flex-1 min-is-0 space-b-1"
871
- }, /* @__PURE__ */ import_react16.default.createElement("p", {
1131
+ }, /* @__PURE__ */ import_react21.default.createElement("p", {
872
1132
  id: `${id}__label`
873
- }, action.label), action.description && /* @__PURE__ */ import_react16.default.createElement("p", {
1133
+ }, action.label), action.description && /* @__PURE__ */ import_react21.default.createElement("p", {
874
1134
  id: `${id}__description`,
875
- className: import_react_ui_theme10.descriptionText
876
- }, action.description)), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.ItemIndicator, {
1135
+ className: import_react_ui_theme12.descriptionText
1136
+ }, action.description)), /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.ItemIndicator, {
877
1137
  asChild: true
878
- }, /* @__PURE__ */ import_react16.default.createElement(import_react15.Check, {
1138
+ }, /* @__PURE__ */ import_react21.default.createElement(import_react20.Check, {
879
1139
  weight: "bold",
880
- className: (0, import_react_ui_theme10.getSize)(4)
1140
+ className: (0, import_react_ui_theme12.getSize)(4)
881
1141
  })));
882
- })), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.DropdownMenu.Arrow, null)))));
1142
+ })), /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.DropdownMenu.Arrow, null)))));
883
1143
  });
884
- var Action = /* @__PURE__ */ (0, import_react16.forwardRef)((props, forwardedRef) => {
1144
+ var Action = /* @__PURE__ */ (0, import_react21.forwardRef)((props, forwardedRef) => {
885
1145
  const { children, classNames, variant, isFull = true, ...rest } = props;
886
- return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Button, {
1146
+ return /* @__PURE__ */ import_react21.default.createElement(import_react_ui11.Button, {
887
1147
  ...rest,
888
1148
  classNames: [
889
1149
  isFull && "is-full",
@@ -894,37 +1154,37 @@ var Action = /* @__PURE__ */ (0, import_react16.forwardRef)((props, forwardedRef
894
1154
  variant
895
1155
  }, children);
896
1156
  });
897
- var Actions = /* @__PURE__ */ (0, import_react17.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
898
- return /* @__PURE__ */ import_react17.default.createElement("div", {
1157
+ var Actions = /* @__PURE__ */ (0, import_react22.forwardRef)(({ classNames, children, ...props }, forwardedRef) => {
1158
+ return /* @__PURE__ */ import_react22.default.createElement("div", {
899
1159
  ...props,
900
- className: (0, import_react_ui_theme11.mx)("flex flex-col gap-2 mbs-2", Array.isArray(children) && children.length > 1 ? "justify-between" : "justify-center", classNames),
1160
+ 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),
901
1161
  ref: forwardedRef
902
1162
  }, children);
903
1163
  });
904
1164
  var CloseButton = ({ onDone, ...props }) => {
905
- const { t } = (0, import_react_ui10.useTranslation)("os");
906
- return /* @__PURE__ */ import_react19.default.createElement(import_react_ui10.Button, {
1165
+ const { t } = (0, import_react_ui12.useTranslation)("os");
1166
+ return /* @__PURE__ */ import_react24.default.createElement(import_react_ui12.Button, {
907
1167
  variant: "ghost",
908
- classNames: (0, import_react_ui_theme12.mx)("plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
1168
+ classNames: (0, import_react_ui_theme14.mx)("plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
909
1169
  onClick: () => onDone?.(),
910
1170
  ...props
911
- }, /* @__PURE__ */ import_react19.default.createElement(import_react18.X, {
1171
+ }, /* @__PURE__ */ import_react24.default.createElement(import_react23.X, {
912
1172
  weight: "bold",
913
- className: (0, import_react_ui_theme12.getSize)(4)
914
- }), /* @__PURE__ */ import_react19.default.createElement("span", {
1173
+ className: (0, import_react_ui_theme14.getSize)(4)
1174
+ }), /* @__PURE__ */ import_react24.default.createElement("span", {
915
1175
  className: "sr-only"
916
1176
  }, t("exit label")));
917
1177
  };
918
1178
  var Emoji = ({ text, className }) => {
919
1179
  const size = 14;
920
- return /* @__PURE__ */ import_react20.default.createElement("div", {
1180
+ return /* @__PURE__ */ import_react25.default.createElement("div", {
921
1181
  role: "none",
922
- className: (0, import_react_ui_theme13.mx)((0, import_react_ui_theme13.getSize)(size), "rounded relative pointer-events-none", className)
923
- }, /* @__PURE__ */ import_react20.default.createElement("svg", {
1182
+ className: (0, import_react_ui_theme15.mx)((0, import_react_ui_theme15.getSize)(size), "rounded relative pointer-events-none", className)
1183
+ }, /* @__PURE__ */ import_react25.default.createElement("svg", {
924
1184
  viewBox: `0 0 ${size * 4} ${size * 4}`,
925
1185
  width: size * 4,
926
1186
  height: size * 4
927
- }, /* @__PURE__ */ import_react20.default.createElement("text", {
1187
+ }, /* @__PURE__ */ import_react25.default.createElement("text", {
928
1188
  x: "50%",
929
1189
  y: "50%",
930
1190
  textAnchor: "middle",
@@ -935,41 +1195,41 @@ var Emoji = ({ text, className }) => {
935
1195
  };
936
1196
  var Centered = (props) => {
937
1197
  const { children } = props;
938
- return /* @__PURE__ */ import_react20.default.createElement("div", {
1198
+ return /* @__PURE__ */ import_react25.default.createElement("div", {
939
1199
  role: "none",
940
1200
  className: "absolute inset-0 flex items-center justify-center"
941
1201
  }, children);
942
1202
  };
943
- var Heading = /* @__PURE__ */ (0, import_react21.forwardRef)(({ titleId, title, titleSrOnly, children, corner }, forwardedRef) => {
944
- return /* @__PURE__ */ import_react21.default.createElement("div", {
1203
+ var Heading = /* @__PURE__ */ (0, import_react26.forwardRef)(({ titleId, title, titleSrOnly, children, corner }, forwardedRef) => {
1204
+ return /* @__PURE__ */ import_react26.default.createElement("div", {
945
1205
  role: "none",
946
1206
  className: "pbe-2 relative",
947
1207
  ref: forwardedRef
948
- }, corner, /* @__PURE__ */ import_react21.default.createElement("h1", {
1208
+ }, corner, /* @__PURE__ */ import_react26.default.createElement("h1", {
949
1209
  ...!titleSrOnly && {
950
1210
  id: titleId
951
1211
  },
952
- className: (0, import_react_ui_theme14.mx)(import_react_ui_theme14.descriptionText, "text-center mlb-2", titleSrOnly && "invisible")
953
- }, title), titleSrOnly && /* @__PURE__ */ import_react21.default.createElement("span", {
1212
+ className: (0, import_react_ui_theme16.mx)(import_react_ui_theme16.descriptionText, "text-center mlb-2", titleSrOnly && "invisible")
1213
+ }, title), titleSrOnly && /* @__PURE__ */ import_react26.default.createElement("span", {
954
1214
  id: titleId
955
1215
  }, title), children);
956
1216
  });
957
1217
  var Label = (props) => {
958
1218
  const { children } = props;
959
- return /* @__PURE__ */ import_react22.default.createElement("span", {
960
- className: (0, import_react_ui_theme15.mx)(import_react_ui_theme15.descriptionText, "text-center mli-6 whitespace-normal")
1219
+ return /* @__PURE__ */ import_react27.default.createElement("span", {
1220
+ className: (0, import_react_ui_theme17.mx)(import_react_ui_theme17.descriptionText, "text-center mli-6 whitespace-normal")
961
1221
  }, children);
962
1222
  };
963
1223
  var Input = ({ validationMessage, label, ...props }) => {
964
- return /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.Root, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.Label, null, label), /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.TextInput, {
1224
+ 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, {
965
1225
  ...props,
966
1226
  classNames: "plb-3 mbs-2 text-center"
967
- }), /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.DescriptionAndValidation, null, validationMessage && /* @__PURE__ */ import_react23.default.createElement(import_react_ui11.Input.Validation, null, validationMessage)));
1227
+ }), /* @__PURE__ */ import_react28.default.createElement(import_react_ui13.Input.DescriptionAndValidation, null, validationMessage && /* @__PURE__ */ import_react28.default.createElement(import_react_ui13.Input.Validation, null, validationMessage)));
968
1228
  };
969
- var StepHeading = /* @__PURE__ */ (0, import_react24.forwardRef)(({ children, className, ...props }, forwardedRef) => {
970
- return /* @__PURE__ */ import_react24.default.createElement("h2", {
1229
+ var StepHeading = /* @__PURE__ */ (0, import_react29.forwardRef)(({ children, className, ...props }, forwardedRef) => {
1230
+ return /* @__PURE__ */ import_react29.default.createElement("h2", {
971
1231
  ...props,
972
- className: (0, import_react_ui_theme16.mx)("font-normal text-sm mbe-4 mli-1 text-center", className),
1232
+ className: (0, import_react_ui_theme18.mx)("font-normal text-sm mbe-4 mli-1 text-center", className),
973
1233
  ref: forwardedRef
974
1234
  }, children);
975
1235
  });
@@ -979,21 +1239,21 @@ var VIEW_NAME = "ViewportView";
979
1239
  var [createViewportContext, createViewportScope] = (0, import_react_context.createContextScope)(VIEWPORT_NAME, []);
980
1240
  var [ViewportProvider, useViewportContext] = createViewportContext(VIEWPORT_NAME);
981
1241
  var ViewportRoot = ({ __viewportScope, classNames, children, defaultActiveView, activeView: propsActiveView, focusManaged = false, onActiveViewChange, ...props }) => {
982
- const [activeView = "never", setActiveView] = (0, import_react_use_controllable_state2.useControllableState)({
1242
+ const [activeView = "never", setActiveView] = (0, import_react_use_controllable_state4.useControllableState)({
983
1243
  prop: propsActiveView,
984
1244
  defaultProp: defaultActiveView,
985
1245
  onChange: onActiveViewChange
986
1246
  });
987
- return /* @__PURE__ */ import_react25.default.createElement(ViewportProvider, {
1247
+ return /* @__PURE__ */ import_react30.default.createElement(ViewportProvider, {
988
1248
  focusManaged,
989
1249
  activeView,
990
1250
  setActiveView,
991
1251
  scope: __viewportScope
992
- }, /* @__PURE__ */ import_react25.default.createElement("div", {
1252
+ }, /* @__PURE__ */ import_react30.default.createElement("div", {
993
1253
  role: "region",
994
1254
  "aria-live": "polite",
995
1255
  ...props,
996
- className: (0, import_react_ui_theme17.mx)("is-full overflow-hidden", classNames)
1256
+ className: (0, import_react_ui_theme19.mx)("is-full overflow-hidden", classNames)
997
1257
  }, children));
998
1258
  };
999
1259
  ViewportRoot.displayName = VIEWPORT_NAME;
@@ -1001,20 +1261,20 @@ var ViewportViews = ({ classNames, children, ...props }) => {
1001
1261
  const size = {
1002
1262
  inlineSize: `${Math.ceil(children.length) * 100}%`
1003
1263
  };
1004
- return /* @__PURE__ */ import_react25.default.createElement("div", {
1264
+ return /* @__PURE__ */ import_react30.default.createElement("div", {
1005
1265
  role: "none",
1006
1266
  style: size,
1007
1267
  ...props,
1008
- className: (0, import_react_ui_theme17.mx)("flex", classNames)
1268
+ className: (0, import_react_ui_theme19.mx)("flex", classNames)
1009
1269
  }, children);
1010
1270
  };
1011
1271
  ViewportViews.displayName = VIEWS_NAME;
1012
- var ViewportView = /* @__PURE__ */ (0, import_react25.forwardRef)(({ __viewportScope, classNames, children, id, ...props }, forwardedRef) => {
1272
+ var ViewportView = /* @__PURE__ */ (0, import_react30.forwardRef)(({ __viewportScope, classNames, children, id, ...props }, forwardedRef) => {
1013
1273
  const { activeView, focusManaged } = useViewportContext(VIEW_NAME, __viewportScope);
1014
1274
  const isActive = id === activeView;
1015
- const ref = (0, import_react_ui12.useForwardedRef)(forwardedRef);
1275
+ const ref = (0, import_react_ui14.useForwardedRef)(forwardedRef);
1016
1276
  const { findFirstFocusable } = (0, import_react_tabster.useFocusFinders)();
1017
- (0, import_react25.useEffect)(() => {
1277
+ (0, import_react30.useEffect)(() => {
1018
1278
  if (!focusManaged && isActive && document.body.hasAttribute("data-is-keyboard") && ref.current) {
1019
1279
  findFirstFocusable(ref.current)?.focus();
1020
1280
  }
@@ -1023,12 +1283,12 @@ var ViewportView = /* @__PURE__ */ (0, import_react25.forwardRef)(({ __viewportS
1023
1283
  ref.current,
1024
1284
  isActive
1025
1285
  ]);
1026
- return /* @__PURE__ */ import_react25.default.createElement("section", {
1286
+ return /* @__PURE__ */ import_react30.default.createElement("section", {
1027
1287
  ...props,
1028
1288
  ...!isActive && {
1029
1289
  "aria-hidden": true
1030
1290
  },
1031
- className: (0, import_react_ui_theme17.mx)("min-is-0 flex-1 flex flex-col", isActive ? "order-2" : "order-4 invisible", classNames),
1291
+ className: (0, import_react_ui_theme19.mx)("min-is-0 flex-1 flex flex-col", isActive ? "order-2" : "order-4 invisible", classNames),
1032
1292
  ref
1033
1293
  }, children);
1034
1294
  });
@@ -1038,20 +1298,20 @@ var Viewport = {
1038
1298
  Views: ViewportViews,
1039
1299
  View: ViewportView
1040
1300
  };
1041
- var SpaceListItem = /* @__PURE__ */ (0, import_react26.forwardRef)(({ space, onClick }, ref) => {
1301
+ var SpaceListItem = /* @__PURE__ */ (0, import_react31.forwardRef)(({ space, onClick }, ref) => {
1042
1302
  const fallbackValue = (0, import_util4.keyToEmoji)(space.key);
1043
- const labelId = (0, import_react_ui13.useId)("identityListItem__label");
1303
+ const labelId = (0, import_react_ui15.useId)("identityListItem__label");
1044
1304
  const displayName = space.properties.name ?? (0, import_util4.humanize)(space.key.toHex());
1045
- return /* @__PURE__ */ import_react26.default.createElement("li", {
1046
- className: (0, import_react_ui_theme18.mx)("flex gap-2 items-center mbe-2", onClick && "cursor-pointer"),
1305
+ return /* @__PURE__ */ import_react31.default.createElement("li", {
1306
+ className: (0, import_react_ui_theme20.mx)("flex gap-2 items-center mbe-2", onClick && "cursor-pointer"),
1047
1307
  onClick: () => onClick?.(),
1048
1308
  ref,
1049
1309
  "data-testid": "space-list-item"
1050
- }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Root, {
1310
+ }, /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Root, {
1051
1311
  labelId
1052
- }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Frame, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Fallback, {
1312
+ }, /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Frame, null, /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Fallback, {
1053
1313
  text: fallbackValue
1054
- })), /* @__PURE__ */ import_react26.default.createElement(import_react_ui13.Avatar.Label, {
1314
+ })), /* @__PURE__ */ import_react31.default.createElement(import_react_ui15.Avatar.Label, {
1055
1315
  classNames: "text-sm truncate"
1056
1316
  }, displayName)));
1057
1317
  });
@@ -1150,7 +1410,7 @@ var identityMachine = (0, import_xstate.createMachine)({
1150
1410
  }
1151
1411
  });
1152
1412
  var useIdentityMachine = (client, options) => {
1153
- return (0, import_react30.useMachine)(identityMachine, {
1413
+ return (0, import_react35.useMachine)(identityMachine, {
1154
1414
  ...options,
1155
1415
  context: {
1156
1416
  ...options?.context,
@@ -1193,7 +1453,7 @@ var IdentityActionChooser = (props) => {
1193
1453
  });
1194
1454
  };
1195
1455
  const isProduction = client.config.values.runtime?.app?.env?.DX_ENVIRONMENT === "production";
1196
- return /* @__PURE__ */ import_react31.default.createElement(IdentityActionChooserImpl, {
1456
+ return /* @__PURE__ */ import_react36.default.createElement(IdentityActionChooserImpl, {
1197
1457
  ...props,
1198
1458
  onClickAdd: createInvitation,
1199
1459
  onClickJoinExisting: () => send?.({
@@ -1209,10 +1469,10 @@ var IdentityActionChooser = (props) => {
1209
1469
  };
1210
1470
  var IdentityActionChooserImpl = ({ devices, connectionState, agentHostingEnabled, onClickAdd, onClickJoinExisting, onClickRecover, onClickReset, ...agentProps }) => {
1211
1471
  const edgeDeviceAvailable = devices.find((device) => device.profile?.type === import_halo3.DeviceType.AGENT_MANAGED && device.profile?.os?.toUpperCase() === "EDGE");
1212
- return /* @__PURE__ */ import_react31.default.createElement("div", {
1472
+ return /* @__PURE__ */ import_react36.default.createElement("div", {
1213
1473
  role: "none",
1214
1474
  className: "bs-40 grow overflow-y-auto"
1215
- }, /* @__PURE__ */ import_react31.default.createElement(DeviceList, {
1475
+ }, /* @__PURE__ */ import_react36.default.createElement(DeviceList, {
1216
1476
  devices,
1217
1477
  connectionState,
1218
1478
  onClickAdd,
@@ -1220,13 +1480,13 @@ var IdentityActionChooserImpl = ({ devices, connectionState, agentHostingEnabled
1220
1480
  onClickRecover: agentProps.agentStatus === "created" ? onClickRecover : void 0,
1221
1481
  onClickReset,
1222
1482
  onAgentDestroy: agentProps.onAgentDestroy
1223
- }), !edgeDeviceAvailable && agentHostingEnabled && /* @__PURE__ */ import_react31.default.createElement(AgentConfig, agentProps));
1483
+ }), !edgeDeviceAvailable && agentHostingEnabled && /* @__PURE__ */ import_react36.default.createElement(AgentConfig, agentProps));
1224
1484
  };
1225
1485
  var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/IdentityPanel/useEdgeAgentsHandlers.ts";
1226
1486
  var useEdgeAgentHandlers = ({ identity }) => {
1227
- const [validationMessage, setValidationMessage] = (0, import_react33.useState)("");
1228
- const [lastReceivedStatus, setLastReceivedStatus] = (0, import_react33.useState)(import_services.QueryAgentStatusResponse.AgentStatus.UNKNOWN);
1229
- const [agentStatus, setAgentStatus] = (0, import_react33.useState)("getting");
1487
+ const [validationMessage, setValidationMessage] = (0, import_react38.useState)("");
1488
+ const [lastReceivedStatus, setLastReceivedStatus] = (0, import_react38.useState)(import_services.QueryAgentStatusResponse.AgentStatus.UNKNOWN);
1489
+ const [agentStatus, setAgentStatus] = (0, import_react38.useState)("getting");
1230
1490
  const client = (0, import_react_client5.useClient)();
1231
1491
  const agentHostingEnabled = Boolean(client.config.values.runtime?.client?.edgeFeatures?.agents);
1232
1492
  const handleStatus = (status) => {
@@ -1243,7 +1503,7 @@ var useEdgeAgentHandlers = ({ identity }) => {
1243
1503
  break;
1244
1504
  }
1245
1505
  };
1246
- (0, import_react33.useEffect)(() => {
1506
+ (0, import_react38.useEffect)(() => {
1247
1507
  const stream = client.services.services.EdgeAgentService?.queryAgentStatus();
1248
1508
  stream?.subscribe(({ status }) => {
1249
1509
  setLastReceivedStatus(status);
@@ -1312,8 +1572,8 @@ var useEdgeAgentHandlers = ({ identity }) => {
1312
1572
  };
1313
1573
  var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/IdentityPanel/useKubeAgentHandlers.ts";
1314
1574
  var useKubeAgentHandlers = ({ invitations, identity }) => {
1315
- const [validationMessage, setValidationMessage] = (0, import_react34.useState)("");
1316
- const [agentStatus, setAgentStatus] = (0, import_react34.useState)("getting");
1575
+ const [validationMessage, setValidationMessage] = (0, import_react39.useState)("");
1576
+ const [agentStatus, setAgentStatus] = (0, import_react39.useState)("getting");
1317
1577
  const agentHostingProviderClient = (0, import_react_client6.useAgentHostingClient)();
1318
1578
  const client = (0, import_react_client6.useClient)();
1319
1579
  const updateAgentStatus = async () => {
@@ -1390,10 +1650,10 @@ var useKubeAgentHandlers = ({ invitations, identity }) => {
1390
1650
  setValidationMessage("No agent provider configured.");
1391
1651
  }
1392
1652
  };
1393
- (0, import_react34.useEffect)(() => {
1653
+ (0, import_react39.useEffect)(() => {
1394
1654
  void updateAgentStatus();
1395
1655
  }, []);
1396
- const handleAgentCreate = (0, import_react34.useCallback)(async (invitation) => {
1656
+ const handleAgentCreate = (0, import_react39.useCallback)(async (invitation) => {
1397
1657
  const invitationCode = import_invitations4.InvitationEncoder.encode(invitation);
1398
1658
  if (invitation.state === import_invitations4.Invitation.State.CONNECTING) {
1399
1659
  import_log6.log.info(JSON.stringify({
@@ -1477,18 +1737,18 @@ var invitationStatusValue = /* @__PURE__ */ new Map([
1477
1737
  ]
1478
1738
  ]);
1479
1739
  var InvitationManagerView = ({ children, ...props }) => {
1480
- return /* @__PURE__ */ import_react36.default.createElement(Viewport.View, {
1740
+ return /* @__PURE__ */ import_react41.default.createElement(Viewport.View, {
1481
1741
  ...props,
1482
1742
  classNames: "grow flex flex-col justify-around items-center"
1483
1743
  }, children);
1484
1744
  };
1485
1745
  var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCode, id = "0" }) => {
1486
- const { t } = (0, import_react_ui17.useTranslation)("os");
1487
- const qrLabel = (0, import_react_ui17.useId)("invitation-manager__qr-code");
1746
+ const { t } = (0, import_react_ui19.useTranslation)("os");
1747
+ const qrLabel = (0, import_react_ui19.useId)("invitation-manager__qr-code");
1488
1748
  const statusValue = multiUse ? 0 : invitationStatusValue.get(status) ?? 0;
1489
1749
  const showAuthCode = statusValue === 3;
1490
1750
  const emoji = (0, import_util7.hexToEmoji)(id);
1491
- const activeView = (0, import_react36.useMemo)(() => {
1751
+ const activeView = (0, import_react41.useMemo)(() => {
1492
1752
  if (multiUse) {
1493
1753
  return "showing qr";
1494
1754
  }
@@ -1504,50 +1764,50 @@ var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCo
1504
1764
  }, [
1505
1765
  statusValue
1506
1766
  ]);
1507
- return /* @__PURE__ */ import_react36.default.createElement(import_react36.default.Fragment, null, /* @__PURE__ */ import_react36.default.createElement(Viewport.Root, {
1767
+ return /* @__PURE__ */ import_react41.default.createElement(import_react41.default.Fragment, null, /* @__PURE__ */ import_react41.default.createElement(Viewport.Root, {
1508
1768
  activeView,
1509
1769
  classNames: "grow plb-1"
1510
- }, /* @__PURE__ */ import_react36.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react36.default.createElement(InvitationManagerView, {
1770
+ }, /* @__PURE__ */ import_react41.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react41.default.createElement(InvitationManagerView, {
1511
1771
  id: "showing qr",
1512
1772
  emoji
1513
- }, /* @__PURE__ */ import_react36.default.createElement("p", {
1773
+ }, /* @__PURE__ */ import_react41.default.createElement("p", {
1514
1774
  className: "text-sm mlb-1 font-normal text-center"
1515
- }, t(multiUse ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */ import_react36.default.createElement("div", {
1775
+ }, t(multiUse ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */ import_react41.default.createElement("div", {
1516
1776
  role: "none",
1517
- className: (0, import_react_ui_theme20.mx)(import_react_ui_theme20.descriptionText, "is-full max-is-[14rem] relative")
1518
- }, /* @__PURE__ */ import_react36.default.createElement(import_react_qr_rounded.QR, {
1777
+ className: (0, import_react_ui_theme22.mx)(import_react_ui_theme22.descriptionText, "is-full max-is-[14rem] relative")
1778
+ }, /* @__PURE__ */ import_react41.default.createElement(import_react_qr_rounded.QR, {
1519
1779
  rounding: 100,
1520
1780
  backgroundColor: "transparent",
1521
1781
  color: "currentColor",
1522
- className: (0, import_react_ui_theme20.mx)("is-full bs-full p-2", showAuthCode && "invisible"),
1782
+ className: (0, import_react_ui_theme22.mx)("is-full bs-full p-2", showAuthCode && "invisible"),
1523
1783
  "aria-labelledby": qrLabel,
1524
1784
  errorCorrectionLevel: "Q",
1525
1785
  cutout: true
1526
- }, invitationUrl ?? "never"), /* @__PURE__ */ import_react36.default.createElement(Centered, null, /* @__PURE__ */ import_react36.default.createElement(Emoji, {
1786
+ }, invitationUrl ?? "never"), /* @__PURE__ */ import_react41.default.createElement(Centered, null, /* @__PURE__ */ import_react41.default.createElement(Emoji, {
1527
1787
  text: emoji
1528
- }))), /* @__PURE__ */ import_react36.default.createElement("span", {
1788
+ }))), /* @__PURE__ */ import_react41.default.createElement("span", {
1529
1789
  id: qrLabel,
1530
1790
  className: "sr-only"
1531
- }, t("qr label")), /* @__PURE__ */ import_react36.default.createElement(import_react_ui17.Clipboard.Button, {
1791
+ }, t("qr label")), /* @__PURE__ */ import_react41.default.createElement(import_react_ui19.Clipboard.Button, {
1532
1792
  variant: "ghost",
1533
1793
  value: invitationUrl ?? "never"
1534
- })), /* @__PURE__ */ import_react36.default.createElement(InvitationManagerView, {
1794
+ })), /* @__PURE__ */ import_react41.default.createElement(InvitationManagerView, {
1535
1795
  id: "showing auth code"
1536
- }, /* @__PURE__ */ import_react36.default.createElement(Label, null, t("auth code message")), /* @__PURE__ */ import_react36.default.createElement(AuthCode, {
1796
+ }, /* @__PURE__ */ import_react41.default.createElement(Label, null, t("auth code message")), /* @__PURE__ */ import_react41.default.createElement(AuthCode, {
1537
1797
  code: authCode,
1538
1798
  large: true,
1539
1799
  classNames: "text-black dark:text-white"
1540
- }), /* @__PURE__ */ import_react36.default.createElement(Label, null, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react36.default.createElement(Emoji, {
1800
+ }), /* @__PURE__ */ import_react41.default.createElement(Label, null, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react41.default.createElement(Emoji, {
1541
1801
  text: emoji
1542
- })), /* @__PURE__ */ import_react36.default.createElement(InvitationManagerView, {
1802
+ })), /* @__PURE__ */ import_react41.default.createElement(InvitationManagerView, {
1543
1803
  id: "showing final"
1544
- }, statusValue > 0 ? /* @__PURE__ */ import_react36.default.createElement(import_react35.Check, {
1545
- className: (0, import_react_ui_theme20.mx)("m-1.5", (0, import_react_ui_theme20.getSize)(6))
1546
- }) : /* @__PURE__ */ import_react36.default.createElement(import_react35.X, {
1547
- className: (0, import_react_ui_theme20.mx)("m-1.5", (0, import_react_ui_theme20.getSize)(6))
1548
- })))), /* @__PURE__ */ import_react36.default.createElement(Actions, {
1804
+ }, statusValue > 0 ? /* @__PURE__ */ import_react41.default.createElement(import_react40.Check, {
1805
+ className: (0, import_react_ui_theme22.mx)("m-1.5", (0, import_react_ui_theme22.getSize)(6))
1806
+ }) : /* @__PURE__ */ import_react41.default.createElement(import_react40.X, {
1807
+ className: (0, import_react_ui_theme22.mx)("m-1.5", (0, import_react_ui_theme22.getSize)(6))
1808
+ })))), /* @__PURE__ */ import_react41.default.createElement(Actions, {
1549
1809
  classNames: "mbs-4"
1550
- }, /* @__PURE__ */ import_react36.default.createElement(Action, {
1810
+ }, /* @__PURE__ */ import_react41.default.createElement(Action, {
1551
1811
  disabled: !active,
1552
1812
  onClick: () => send?.({
1553
1813
  type: "deselectInvitation"
@@ -1556,9 +1816,9 @@ var InvitationManager = ({ invitationUrl, active, send, status, multiUse, authCo
1556
1816
  };
1557
1817
  var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/steps/ConfirmReset.tsx";
1558
1818
  var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
1559
- const { t } = (0, import_react_ui18.useTranslation)("os");
1560
- const [validationMessage, setValidationMessage] = (0, import_react38.useState)("");
1561
- const [pending, setPending] = (0, import_react38.useState)(false);
1819
+ const { t } = (0, import_react_ui20.useTranslation)("os");
1820
+ const [validationMessage, setValidationMessage] = (0, import_react43.useState)("");
1821
+ const [pending, setPending] = (0, import_react43.useState)(false);
1562
1822
  const processReset = async () => {
1563
1823
  setPending(true);
1564
1824
  return onConfirm?.().then(() => setPending(false), (error) => {
@@ -1572,7 +1832,7 @@ var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
1572
1832
  setPending(false);
1573
1833
  });
1574
1834
  };
1575
- return /* @__PURE__ */ import_react38.default.createElement(ConfirmResetImpl, {
1835
+ return /* @__PURE__ */ import_react43.default.createElement(ConfirmResetImpl, {
1576
1836
  disabled: !active,
1577
1837
  pending,
1578
1838
  validationMessage,
@@ -1582,20 +1842,20 @@ var ConfirmReset = ({ active, onCancel, onConfirm, mode }) => {
1582
1842
  });
1583
1843
  };
1584
1844
  var ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onCancel, mode }) => {
1585
- const { t } = (0, import_react_ui18.useTranslation)("os");
1845
+ const { t } = (0, import_react_ui20.useTranslation)("os");
1586
1846
  const confirmationValue = t("confirmation value");
1587
- const [inputValue, setInputValue] = (0, import_react38.useState)("");
1847
+ const [inputValue, setInputValue] = (0, import_react43.useState)("");
1588
1848
  const testIdAffix = mode === "join new identity" ? "join-new-identity" : mode === "recover" ? "recover" : "reset-storage";
1589
- return /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, /* @__PURE__ */ import_react38.default.createElement("div", {
1849
+ return /* @__PURE__ */ import_react43.default.createElement(import_react43.default.Fragment, null, /* @__PURE__ */ import_react43.default.createElement("div", {
1590
1850
  role: "none",
1591
1851
  className: "grow flex flex-col gap-2 justify-center"
1592
- }, /* @__PURE__ */ import_react38.default.createElement(import_react_ui18.Message.Root, {
1852
+ }, /* @__PURE__ */ import_react43.default.createElement(import_react_ui20.Message.Root, {
1593
1853
  valence: "error"
1594
- }, /* @__PURE__ */ import_react38.default.createElement(import_react_ui18.Message.Title, null, /* @__PURE__ */ import_react38.default.createElement(import_react37.Warning, {
1595
- className: (0, import_react_ui_theme21.mx)((0, import_react_ui_theme21.getSize)(6), "inline mie-2")
1596
- }), t("sign out chooser title")), /* @__PURE__ */ import_react38.default.createElement(import_react_ui18.Message.Body, null, t("sign out chooser message"))), /* @__PURE__ */ import_react38.default.createElement(Input, {
1854
+ }, /* @__PURE__ */ import_react43.default.createElement(import_react_ui20.Message.Title, null, /* @__PURE__ */ import_react43.default.createElement(import_react42.Warning, {
1855
+ className: (0, import_react_ui_theme23.mx)((0, import_react_ui_theme23.getSize)(6), "inline mie-2")
1856
+ }), 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, {
1597
1857
  validationMessage,
1598
- label: /* @__PURE__ */ import_react38.default.createElement(StepHeading, {
1858
+ label: /* @__PURE__ */ import_react43.default.createElement(StepHeading, {
1599
1859
  className: "text-start mlb-2"
1600
1860
  }, t(mode === "join new identity" ? "join new identity input label" : mode === "recover" ? "recover reset input label" : "reset storage input label", {
1601
1861
  confirmationValue
@@ -1606,11 +1866,11 @@ var ConfirmResetImpl = ({ disabled, pending, validationMessage, onConfirm, onCan
1606
1866
  confirmationValue
1607
1867
  }),
1608
1868
  onChange: ({ target: { value } }) => setInputValue(value)
1609
- })), /* @__PURE__ */ import_react38.default.createElement(Actions, null, onCancel && /* @__PURE__ */ import_react38.default.createElement(Action, {
1869
+ })), /* @__PURE__ */ import_react43.default.createElement(Actions, null, onCancel && /* @__PURE__ */ import_react43.default.createElement(Action, {
1610
1870
  disabled,
1611
1871
  onClick: onCancel,
1612
1872
  "data-testid": `${testIdAffix}.reset-identity-cancel`
1613
- }, t("cancel label")), onConfirm && /* @__PURE__ */ import_react38.default.createElement(Action, {
1873
+ }, t("cancel label")), onConfirm && /* @__PURE__ */ import_react43.default.createElement(Action, {
1614
1874
  variant: "destructive",
1615
1875
  disabled: disabled || pending || inputValue !== confirmationValue,
1616
1876
  onClick: onConfirm,
@@ -1623,11 +1883,11 @@ var getHueValue = (identity) => identity?.profile?.data?.hue || (0, import_util5
1623
1883
  var getEmojiValue = (identity) => identity?.profile?.data?.emoji || (0, import_util5.hexToEmoji)(identity?.identityKey.toHex() ?? "0");
1624
1884
  var IdentityHeading = ({ titleId, title, identity, onDone, onUpdateProfile, connectionState, onChangeConnectionState }) => {
1625
1885
  const fallbackValue = (0, import_util5.keyToFallback)(identity.identityKey);
1626
- const { t } = (0, import_react_ui15.useTranslation)("os");
1627
- const [displayName, setDisplayName] = (0, import_react29.useState)(identity.profile?.displayName ?? "");
1628
- const [emoji, setEmojiDirectly] = (0, import_react29.useState)(getEmojiValue(identity));
1629
- const [hue, setHueDirectly] = (0, import_react29.useState)(getHueValue(identity));
1630
- const { textValue, setTextValue } = (0, import_react_ui15.useClipboard)();
1886
+ const { t } = (0, import_react_ui17.useTranslation)("os");
1887
+ const [displayName, setDisplayName] = (0, import_react34.useState)(identity.profile?.displayName ?? "");
1888
+ const [emoji, setEmojiDirectly] = (0, import_react34.useState)(getEmojiValue(identity));
1889
+ const [hue, setHueDirectly] = (0, import_react34.useState)(getHueValue(identity));
1890
+ const { textValue, setTextValue } = (0, import_react_ui17.useClipboard)();
1631
1891
  const identityHex = identity.identityKey.toHex();
1632
1892
  const publicKeyCopied = textValue === identityHex;
1633
1893
  const setEmoji = (nextEmoji) => {
@@ -1651,29 +1911,29 @@ var IdentityHeading = ({ titleId, title, identity, onDone, onUpdateProfile, conn
1651
1911
  });
1652
1912
  };
1653
1913
  const isConnected = connectionState === import_mesh2.ConnectionState.ONLINE;
1654
- return /* @__PURE__ */ import_react29.default.createElement(Heading, {
1914
+ return /* @__PURE__ */ import_react34.default.createElement(Heading, {
1655
1915
  titleId,
1656
1916
  title,
1657
- corner: /* @__PURE__ */ import_react29.default.createElement(CloseButton, {
1917
+ corner: /* @__PURE__ */ import_react34.default.createElement(CloseButton, {
1658
1918
  onDone
1659
1919
  })
1660
- }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Root, {
1920
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Root, {
1661
1921
  size: 16,
1662
1922
  variant: "circle",
1663
1923
  status: isConnected ? "active" : "error",
1664
1924
  hue: hue || fallbackValue.hue
1665
- }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Root, {
1925
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Root, {
1666
1926
  classNames: "flex justify-center"
1667
- }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Frame, {
1927
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Frame, {
1668
1928
  classNames: "relative z-[2] -mli-4 chromatic-ignore"
1669
- }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Fallback, {
1929
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Fallback, {
1670
1930
  text: emoji || fallbackValue.emoji
1671
- }))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Avatar.Label, {
1931
+ }))), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Avatar.Label, {
1672
1932
  classNames: "sr-only",
1673
1933
  "data-testid": "identityHeading.displayName"
1674
- }, identity.profile?.displayName ?? (0, import_display_name3.generateName)(identity.identityKey.toHex())), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Input.Root, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Input.Label, {
1934
+ }, 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, {
1675
1935
  srOnly: true
1676
- }, t("display name input label")), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Input.TextInput, {
1936
+ }, t("display name input label")), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Input.TextInput, {
1677
1937
  variant: "subdued",
1678
1938
  "data-testid": "display-name-input",
1679
1939
  placeholder: t("display name input placeholder"),
@@ -1684,50 +1944,50 @@ var IdentityHeading = ({ titleId, title, identity, onDone, onUpdateProfile, conn
1684
1944
  ...identity.profile,
1685
1945
  displayName: value
1686
1946
  })
1687
- })), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Root, {
1947
+ })), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Root, {
1688
1948
  classNames: "flex justify-center items-center gap-1 pt-3"
1689
- }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui_pickers.EmojiPickerToolbarButton, {
1949
+ }, /* @__PURE__ */ import_react34.default.createElement(EmojiPickerToolbarButton, {
1690
1950
  emoji,
1691
1951
  onChangeEmoji: setEmoji,
1692
1952
  classNames: "bs-[--rail-action]"
1693
- }), /* @__PURE__ */ import_react29.default.createElement(import_react_ui_pickers.HuePickerToolbarButton, {
1953
+ }), /* @__PURE__ */ import_react34.default.createElement(HuePickerToolbarButton, {
1694
1954
  hue,
1695
1955
  onChangeHue: setHue,
1696
1956
  classNames: "bs-[--rail-action]"
1697
- }), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Trigger, {
1957
+ }), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Root, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Trigger, {
1698
1958
  asChild: true
1699
- }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Button, {
1959
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Button, {
1700
1960
  classNames: "bs-[--rail-action]",
1701
1961
  "data-testid": "update-profile-form-copy-key",
1702
1962
  onClick: () => setTextValue(identityHex)
1703
- }, /* @__PURE__ */ import_react29.default.createElement("span", {
1963
+ }, /* @__PURE__ */ import_react34.default.createElement("span", {
1704
1964
  className: "sr-only"
1705
- }, t(publicKeyCopied ? "copy success label" : "copy self public key label")), /* @__PURE__ */ import_react29.default.createElement(import_react28.Key, {
1706
- className: (0, import_react_ui_theme19.getSize)(5)
1707
- }))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Content, {
1965
+ }, t(publicKeyCopied ? "copy success label" : "copy self public key label")), /* @__PURE__ */ import_react34.default.createElement(import_react33.Key, {
1966
+ className: (0, import_react_ui_theme21.getSize)(5)
1967
+ }))), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Portal, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Content, {
1708
1968
  side: "bottom"
1709
- }, t(publicKeyCopied ? "copy success label" : "copy self public key label"), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Arrow, null)))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Trigger, {
1969
+ }, 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, {
1710
1970
  asChild: true
1711
- }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Toolbar.Button, {
1971
+ }, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Toolbar.Button, {
1712
1972
  classNames: [
1713
1973
  "bs-[--rail-action]",
1714
1974
  !isConnected && "text-error-500"
1715
1975
  ],
1716
1976
  onClick: () => onChangeConnectionState?.(isConnected ? import_mesh2.ConnectionState.OFFLINE : import_mesh2.ConnectionState.ONLINE)
1717
- }, /* @__PURE__ */ import_react29.default.createElement("span", {
1977
+ }, /* @__PURE__ */ import_react34.default.createElement("span", {
1718
1978
  className: "sr-only"
1719
- }, t(isConnected ? "disconnect label" : "connect label")), isConnected ? /* @__PURE__ */ import_react29.default.createElement(import_react28.PlugsConnected, {
1720
- className: (0, import_react_ui_theme19.getSize)(5)
1721
- }) : /* @__PURE__ */ import_react29.default.createElement(import_react28.Plugs, {
1722
- className: (0, import_react_ui_theme19.getSize)(5)
1723
- }))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Content, {
1979
+ }, t(isConnected ? "disconnect label" : "connect label")), isConnected ? /* @__PURE__ */ import_react34.default.createElement(import_react33.PlugsConnected, {
1980
+ className: (0, import_react_ui_theme21.getSize)(5)
1981
+ }) : /* @__PURE__ */ import_react34.default.createElement(import_react33.Plugs, {
1982
+ className: (0, import_react_ui_theme21.getSize)(5)
1983
+ }))), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Portal, null, /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Content, {
1724
1984
  side: "bottom"
1725
- }, t(isConnected ? "disconnect label" : "connect label"), /* @__PURE__ */ import_react29.default.createElement(import_react_ui15.Tooltip.Arrow, null)))))));
1985
+ }, t(isConnected ? "disconnect label" : "connect label"), /* @__PURE__ */ import_react34.default.createElement(import_react_ui17.Tooltip.Arrow, null)))))));
1726
1986
  };
1727
1987
  var IdentityPanelImpl = (props) => {
1728
1988
  const { identity, titleId, activeView, onUpdateProfile, onResetStorage, onRecover, onJoinNewIdentity, IdentityActionChooser: IdentityActionChooserComponent = IdentityActionChooser, InvitationManager: InvitationManagerComponent = InvitationManager, connectionState, onChangeConnectionState, onDone, ...rest } = props;
1729
- const { t } = (0, import_react_ui15.useTranslation)("os");
1730
- const title = (0, import_react29.useMemo)(() => {
1989
+ const { t } = (0, import_react_ui17.useTranslation)("os");
1990
+ const title = (0, import_react34.useMemo)(() => {
1731
1991
  switch (activeView) {
1732
1992
  case "device invitation manager":
1733
1993
  return t("choose add device label");
@@ -1740,7 +2000,7 @@ var IdentityPanelImpl = (props) => {
1740
2000
  ]);
1741
2001
  const onCancelReset = () => rest.send?.("unchooseAction");
1742
2002
  const hideRecover = rest.agentStatus !== "created";
1743
- return /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(IdentityHeading, {
2003
+ return /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, /* @__PURE__ */ import_react34.default.createElement(IdentityHeading, {
1744
2004
  identity,
1745
2005
  titleId,
1746
2006
  title,
@@ -1749,44 +2009,44 @@ var IdentityPanelImpl = (props) => {
1749
2009
  onUpdateProfile,
1750
2010
  connectionState,
1751
2011
  onChangeConnectionState
1752
- }), /* @__PURE__ */ import_react29.default.createElement(Viewport.Root, {
2012
+ }), /* @__PURE__ */ import_react34.default.createElement(Viewport.Root, {
1753
2013
  activeView
1754
- }, /* @__PURE__ */ import_react29.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
2014
+ }, /* @__PURE__ */ import_react34.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
1755
2015
  id: "identity action chooser",
1756
2016
  classNames: viewStyles
1757
- }, /* @__PURE__ */ import_react29.default.createElement(IdentityActionChooserComponent, {
2017
+ }, /* @__PURE__ */ import_react34.default.createElement(IdentityActionChooserComponent, {
1758
2018
  active: activeView === "identity action chooser",
1759
2019
  ...rest,
1760
2020
  connectionState
1761
- })), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
2021
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
1762
2022
  id: "device invitation manager",
1763
2023
  classNames: viewStyles
1764
- }, /* @__PURE__ */ import_react29.default.createElement(InvitationManagerComponent, {
2024
+ }, /* @__PURE__ */ import_react34.default.createElement(InvitationManagerComponent, {
1765
2025
  active: activeView === "device invitation manager",
1766
2026
  ...rest,
1767
2027
  invitationUrl: rest.createInvitationUrl(rest.invitationCode)
1768
- })), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
2028
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
1769
2029
  classNames: viewStyles,
1770
2030
  id: "confirm join new identity"
1771
- }, /* @__PURE__ */ import_react29.default.createElement(ConfirmReset, {
2031
+ }, /* @__PURE__ */ import_react34.default.createElement(ConfirmReset, {
1772
2032
  active: activeView === "confirm join new identity",
1773
2033
  ...rest,
1774
2034
  mode: "join new identity",
1775
2035
  onConfirm: onJoinNewIdentity,
1776
2036
  onCancel: onCancelReset
1777
- })), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
2037
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
1778
2038
  classNames: viewStyles,
1779
2039
  id: "confirm recover"
1780
- }, /* @__PURE__ */ import_react29.default.createElement(ConfirmReset, {
2040
+ }, /* @__PURE__ */ import_react34.default.createElement(ConfirmReset, {
1781
2041
  active: activeView === "confirm recover",
1782
2042
  ...rest,
1783
2043
  mode: "recover",
1784
2044
  onConfirm: onRecover,
1785
2045
  onCancel: onCancelReset
1786
- })), /* @__PURE__ */ import_react29.default.createElement(Viewport.View, {
2046
+ })), /* @__PURE__ */ import_react34.default.createElement(Viewport.View, {
1787
2047
  classNames: viewStyles,
1788
2048
  id: "confirm reset storage"
1789
- }, /* @__PURE__ */ import_react29.default.createElement(ConfirmReset, {
2049
+ }, /* @__PURE__ */ import_react34.default.createElement(ConfirmReset, {
1790
2050
  active: activeView === "confirm reset storage",
1791
2051
  ...rest,
1792
2052
  mode: "reset storage",
@@ -1796,13 +2056,13 @@ var IdentityPanelImpl = (props) => {
1796
2056
  };
1797
2057
  var IdentityPanelWithInvitationImpl = ({ invitation, ...props }) => {
1798
2058
  const invitationStatus = (0, import_invitations2.useInvitationStatus)(invitation);
1799
- return /* @__PURE__ */ import_react29.default.createElement(IdentityPanelImpl, {
2059
+ return /* @__PURE__ */ import_react34.default.createElement(IdentityPanelImpl, {
1800
2060
  ...props,
1801
2061
  ...invitationStatus
1802
2062
  });
1803
2063
  };
1804
2064
  var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code, initialDisposition = "default", ...props }) => {
1805
- const titleId = (0, import_react_ui15.useId)("identityPanel__heading", propsTitleId);
2065
+ const titleId = (0, import_react_ui17.useId)("identityPanel__heading", propsTitleId);
1806
2066
  const client = (0, import_react_client2.useClient)();
1807
2067
  const devices = (0, import_halo2.useDevices)();
1808
2068
  const identity = (0, import_halo2.useIdentity)();
@@ -1814,7 +2074,7 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
1814
2074
  if (!identity) {
1815
2075
  import_log.log.error("IdentityPanel rendered with no active identity.", void 0, {
1816
2076
  F: __dxlog_file6,
1817
- L: 256,
2077
+ L: 255,
1818
2078
  S: void 0,
1819
2079
  C: (f, a) => f(...a)
1820
2080
  });
@@ -1827,11 +2087,11 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
1827
2087
  });
1828
2088
  const { swarm: connectionState } = (0, import_mesh2.useNetworkStatus)();
1829
2089
  const handleChangeConnectionState = async (nextState) => client?.mesh.updateConfig(nextState);
1830
- (0, import_react29.useEffect)(() => {
2090
+ (0, import_react34.useEffect)(() => {
1831
2091
  const subscription = identityService.subscribe((state) => {
1832
2092
  (0, import_log.log)("[state]", state, {
1833
2093
  F: __dxlog_file6,
1834
- L: 269,
2094
+ L: 268,
1835
2095
  S: void 0,
1836
2096
  C: (f, a) => f(...a)
1837
2097
  });
@@ -1840,7 +2100,7 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
1840
2100
  }, [
1841
2101
  identityService
1842
2102
  ]);
1843
- const activeView = (0, import_react29.useMemo)(() => {
2103
+ const activeView = (0, import_react34.useMemo)(() => {
1844
2104
  switch (true) {
1845
2105
  case identityState.matches("choosingAction"):
1846
2106
  return "identity action chooser";
@@ -1877,34 +2137,34 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
1877
2137
  onChangeConnectionState: handleChangeConnectionState,
1878
2138
  ...agentProps
1879
2139
  };
1880
- return identityState.context.invitation ? /* @__PURE__ */ import_react29.default.createElement(IdentityPanelWithInvitationImpl, {
2140
+ return identityState.context.invitation ? /* @__PURE__ */ import_react34.default.createElement(IdentityPanelWithInvitationImpl, {
1881
2141
  ...implProps,
1882
2142
  invitation: identityState.context.invitation
1883
- }) : /* @__PURE__ */ import_react29.default.createElement(IdentityPanelImpl, implProps);
2143
+ }) : /* @__PURE__ */ import_react34.default.createElement(IdentityPanelImpl, implProps);
1884
2144
  };
1885
- var JoinHeading = /* @__PURE__ */ (0, import_react41.forwardRef)(({ mode, titleId, exitActionParent, onExit }, forwardedRef) => {
1886
- const { t } = (0, import_react_ui20.useTranslation)("os");
1887
- const exitButton = /* @__PURE__ */ import_react41.default.createElement(import_react_ui20.Button, {
2145
+ var JoinHeading = /* @__PURE__ */ (0, import_react46.forwardRef)(({ mode, titleId, exitActionParent, onExit }, forwardedRef) => {
2146
+ const { t } = (0, import_react_ui22.useTranslation)("os");
2147
+ const exitButton = /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Button, {
1888
2148
  variant: "ghost",
1889
2149
  ...onExit && {
1890
2150
  onClick: onExit
1891
2151
  },
1892
- classNames: (0, import_react_ui_theme22.mx)(import_react_ui_theme22.descriptionText, "plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
2152
+ 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]"),
1893
2153
  "data-testid": "join-exit"
1894
- }, /* @__PURE__ */ import_react41.default.createElement(import_react40.X, {
2154
+ }, /* @__PURE__ */ import_react46.default.createElement(import_react45.X, {
1895
2155
  weight: "bold",
1896
- className: (0, import_react_ui_theme22.getSize)(4)
1897
- }), /* @__PURE__ */ import_react41.default.createElement("span", {
2156
+ className: (0, import_react_ui_theme24.getSize)(4)
2157
+ }), /* @__PURE__ */ import_react46.default.createElement("span", {
1898
2158
  className: "sr-only"
1899
2159
  }, t("exit label")));
1900
- return /* @__PURE__ */ import_react41.default.createElement(Heading, {
2160
+ return /* @__PURE__ */ import_react46.default.createElement(Heading, {
1901
2161
  ref: forwardedRef,
1902
2162
  titleId,
1903
2163
  title: t(mode === "halo-only" ? "selecting identity heading" : "joining space heading"),
1904
2164
  ...mode === "halo-only" ? {
1905
2165
  titleSrOnly: true
1906
2166
  } : {
1907
- corner: exitActionParent ? /* @__PURE__ */ (0, import_react41.cloneElement)(exitActionParent, {}, exitButton) : exitButton
2167
+ corner: exitActionParent ? /* @__PURE__ */ (0, import_react46.cloneElement)(exitActionParent, {}, exitButton) : exitButton
1908
2168
  },
1909
2169
  titleSrOnly: mode === "halo-only"
1910
2170
  });
@@ -2409,7 +2669,7 @@ var defaultCodeFromUrl = (invitationType, text) => {
2409
2669
  }
2410
2670
  };
2411
2671
  var useJoinMachine = (client, options) => {
2412
- const redeemHaloInvitationCode = (0, import_react43.useCallback)(({ halo }) => {
2672
+ const redeemHaloInvitationCode = (0, import_react48.useCallback)(({ halo }) => {
2413
2673
  if (halo.unredeemedCode) {
2414
2674
  try {
2415
2675
  const invitation = import_invitations6.InvitationEncoder.decode(defaultCodeFromUrl("halo", halo.unredeemedCode));
@@ -2434,7 +2694,7 @@ var useJoinMachine = (client, options) => {
2434
2694
  }, [
2435
2695
  client
2436
2696
  ]);
2437
- const redeemSpaceInvitationCode = (0, import_react43.useCallback)(({ space }) => {
2697
+ const redeemSpaceInvitationCode = (0, import_react48.useCallback)(({ space }) => {
2438
2698
  if (space.unredeemedCode) {
2439
2699
  try {
2440
2700
  const invitation = import_invitations6.InvitationEncoder.decode(defaultCodeFromUrl("space", space.unredeemedCode));
@@ -2459,7 +2719,7 @@ var useJoinMachine = (client, options) => {
2459
2719
  }, [
2460
2720
  client
2461
2721
  ]);
2462
- const invalidateHaloInvitationCode = (0, import_react43.useCallback)(({ halo }) => {
2722
+ const invalidateHaloInvitationCode = (0, import_react48.useCallback)(({ halo }) => {
2463
2723
  if (halo.unredeemedCode) {
2464
2724
  options?.onInvalidateInvitationCode?.(halo.unredeemedCode);
2465
2725
  return {
@@ -2472,7 +2732,7 @@ var useJoinMachine = (client, options) => {
2472
2732
  }, [
2473
2733
  options?.onInvalidateInvitationCode
2474
2734
  ]);
2475
- const invalidateSpaceInvitationCode = (0, import_react43.useCallback)(({ space }) => {
2735
+ const invalidateSpaceInvitationCode = (0, import_react48.useCallback)(({ space }) => {
2476
2736
  if (space.unredeemedCode) {
2477
2737
  options?.onInvalidateInvitationCode?.(space.unredeemedCode);
2478
2738
  return {
@@ -2485,7 +2745,7 @@ var useJoinMachine = (client, options) => {
2485
2745
  }, [
2486
2746
  options?.onInvalidateInvitationCode
2487
2747
  ]);
2488
- return (0, import_react42.useMachine)(joinMachine, {
2748
+ return (0, import_react47.useMachine)(joinMachine, {
2489
2749
  ...options,
2490
2750
  actions: {
2491
2751
  ...options?.actions,
@@ -2507,11 +2767,11 @@ var useJoinMachine = (client, options) => {
2507
2767
  var AdditionMethodChooser = (viewStateProps) => {
2508
2768
  const disabled = !viewStateProps.active;
2509
2769
  const { send } = viewStateProps;
2510
- const { t } = (0, import_react_ui21.useTranslation)("os");
2770
+ const { t } = (0, import_react_ui23.useTranslation)("os");
2511
2771
  const sharedButtonProps = {
2512
2772
  disabled,
2513
- after: /* @__PURE__ */ import_react45.default.createElement(import_react44.CaretRight, {
2514
- className: (0, import_react_ui_theme23.getSize)(4),
2773
+ after: /* @__PURE__ */ import_react50.default.createElement(import_react49.CaretRight, {
2774
+ className: (0, import_react_ui_theme25.getSize)(4),
2515
2775
  weight: "bold"
2516
2776
  }),
2517
2777
  slots: {
@@ -2520,35 +2780,35 @@ var AdditionMethodChooser = (viewStateProps) => {
2520
2780
  }
2521
2781
  }
2522
2782
  };
2523
- return /* @__PURE__ */ import_react45.default.createElement(import_react45.default.Fragment, null, /* @__PURE__ */ import_react45.default.createElement(StepHeading, null, t("addition method chooser title")), /* @__PURE__ */ import_react45.default.createElement("div", {
2783
+ 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", {
2524
2784
  role: "none",
2525
2785
  className: "flex flex-col gap-1 grow"
2526
- }, /* @__PURE__ */ import_react45.default.createElement(CompoundButton, {
2786
+ }, /* @__PURE__ */ import_react50.default.createElement(CompoundButton, {
2527
2787
  ...sharedButtonProps,
2528
2788
  description: t("create identity description"),
2529
- before: /* @__PURE__ */ import_react45.default.createElement(import_react44.Plus, {
2530
- className: (0, import_react_ui_theme23.getSize)(6)
2789
+ before: /* @__PURE__ */ import_react50.default.createElement(import_react49.Plus, {
2790
+ className: (0, import_react_ui_theme25.getSize)(6)
2531
2791
  }),
2532
2792
  onClick: () => send({
2533
2793
  type: "createIdentity"
2534
2794
  }),
2535
2795
  "data-autofocus": "choosingAuthMethod",
2536
2796
  "data-testid": "identity-chooser.create-identity"
2537
- }, t("create identity label")), /* @__PURE__ */ import_react45.default.createElement(CompoundButton, {
2797
+ }, t("create identity label")), /* @__PURE__ */ import_react50.default.createElement(CompoundButton, {
2538
2798
  ...sharedButtonProps,
2539
2799
  description: t("join identity description"),
2540
- before: /* @__PURE__ */ import_react45.default.createElement(import_react44.QrCode, {
2541
- className: (0, import_react_ui_theme23.getSize)(6)
2800
+ before: /* @__PURE__ */ import_react50.default.createElement(import_react49.QrCode, {
2801
+ className: (0, import_react_ui_theme25.getSize)(6)
2542
2802
  }),
2543
2803
  onClick: () => send({
2544
2804
  type: "acceptHaloInvitation"
2545
2805
  }),
2546
2806
  "data-testid": "identity-chooser.join-identity"
2547
- }, t("join identity label")), /* @__PURE__ */ import_react45.default.createElement(CompoundButton, {
2807
+ }, t("join identity label")), /* @__PURE__ */ import_react50.default.createElement(CompoundButton, {
2548
2808
  ...sharedButtonProps,
2549
2809
  description: t("recover identity description"),
2550
- before: /* @__PURE__ */ import_react45.default.createElement(import_react44.Textbox, {
2551
- className: (0, import_react_ui_theme23.getSize)(6)
2810
+ before: /* @__PURE__ */ import_react50.default.createElement(import_react49.Textbox, {
2811
+ className: (0, import_react_ui_theme25.getSize)(6)
2552
2812
  }),
2553
2813
  onClick: () => send({
2554
2814
  type: "recoverIdentity"
@@ -2559,31 +2819,31 @@ var AdditionMethodChooser = (viewStateProps) => {
2559
2819
  var IdentityAdded = (props) => {
2560
2820
  const { mode, addedIdentity, active, send, onDone, doneActionParent } = props;
2561
2821
  const disabled = !active;
2562
- const { t } = (0, import_react_ui22.useTranslation)("os");
2822
+ const { t } = (0, import_react_ui24.useTranslation)("os");
2563
2823
  const addedIdentityHex = addedIdentity?.identityKey.toHex() ?? "0";
2564
2824
  const fallbackValue = (0, import_util8.hexToFallback)(addedIdentityHex);
2565
- const labelId = (0, import_react_ui22.useId)("identityListItem__label");
2825
+ const labelId = (0, import_react_ui24.useId)("identityListItem__label");
2566
2826
  const displayName = addedIdentity?.profile?.displayName ?? (addedIdentity && (0, import_display_name4.generateName)(addedIdentityHex));
2567
- const doneAction = /* @__PURE__ */ import_react46.default.createElement(Action, {
2827
+ const doneAction = /* @__PURE__ */ import_react51.default.createElement(Action, {
2568
2828
  ...onDone && {
2569
2829
  onClick: () => onDone(null)
2570
2830
  },
2571
2831
  disabled,
2572
2832
  "data-autofocus": "confirmingAddedIdentity",
2573
2833
  "data-testid": "identity-added-done"
2574
- }, /* @__PURE__ */ import_react46.default.createElement("span", null, t("done label")));
2575
- return /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, /* @__PURE__ */ import_react46.default.createElement(StepHeading, null, t("identity added label")), /* @__PURE__ */ import_react46.default.createElement("div", {
2834
+ }, /* @__PURE__ */ import_react51.default.createElement("span", null, t("done label")));
2835
+ 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", {
2576
2836
  role: "none",
2577
2837
  className: "grow flex flex-col items-center justify-center text-center gap-2"
2578
- }, /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Root, {
2838
+ }, /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Root, {
2579
2839
  status: "active",
2580
2840
  labelId,
2581
2841
  hue: addedIdentity?.profile?.data?.hue || fallbackValue.hue
2582
- }, /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Frame, null, /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Fallback, {
2842
+ }, /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Frame, null, /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Fallback, {
2583
2843
  text: addedIdentity?.profile?.data?.emoji || fallbackValue.emoji
2584
- })), /* @__PURE__ */ import_react46.default.createElement(import_react_ui22.Avatar.Label, {
2585
- classNames: (0, import_react_ui_theme24.mx)("text-lg truncate", !addedIdentity?.profile?.displayName && "font-mono")
2586
- }, displayName))), /* @__PURE__ */ import_react46.default.createElement(Actions, null, mode === "halo-only" ? doneActionParent ? /* @__PURE__ */ (0, import_react46.cloneElement)(doneActionParent, {}, doneAction) : doneAction : /* @__PURE__ */ import_react46.default.createElement(Action, {
2844
+ })), /* @__PURE__ */ import_react51.default.createElement(import_react_ui24.Avatar.Label, {
2845
+ classNames: (0, import_react_ui_theme26.mx)("text-lg truncate", !addedIdentity?.profile?.displayName && "font-mono")
2846
+ }, 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, {
2587
2847
  variant: "primary",
2588
2848
  disabled: disabled || !addedIdentity,
2589
2849
  onClick: () => addedIdentity && send({
@@ -2598,12 +2858,12 @@ var IdentityInput = (props) => {
2598
2858
  const { send, method } = props;
2599
2859
  const isRecover = method === "recover identity";
2600
2860
  const client = (0, import_react_client9.useClient)();
2601
- const { t } = (0, import_react_ui23.useTranslation)("os");
2602
- const [validationMessage, setValidationMessage] = (0, import_react47.useState)("");
2861
+ const { t } = (0, import_react_ui25.useTranslation)("os");
2862
+ const [validationMessage, setValidationMessage] = (0, import_react52.useState)("");
2603
2863
  const handleConfirm = async (value) => {
2604
2864
  if (isRecover) {
2605
2865
  await client.halo.recoverIdentity({
2606
- recoveryCode: value
2866
+ seedphrase: value
2607
2867
  }).then((identity) => {
2608
2868
  send?.({
2609
2869
  type: "selectIdentity",
@@ -2637,7 +2897,7 @@ var IdentityInput = (props) => {
2637
2897
  });
2638
2898
  }
2639
2899
  };
2640
- return /* @__PURE__ */ import_react47.default.createElement(IdentityInputImpl, {
2900
+ return /* @__PURE__ */ import_react52.default.createElement(IdentityInputImpl, {
2641
2901
  ...props,
2642
2902
  onConfirm: handleConfirm,
2643
2903
  validationMessage
@@ -2645,12 +2905,12 @@ var IdentityInput = (props) => {
2645
2905
  };
2646
2906
  var IdentityInputImpl = (props) => {
2647
2907
  const { method, active, onConfirm, validationMessage } = props;
2648
- const { t } = (0, import_react_ui23.useTranslation)("os");
2649
- const [inputValue, setInputValue] = (0, import_react47.useState)("");
2650
- const [pending, setPending] = (0, import_react47.useState)(false);
2908
+ const { t } = (0, import_react_ui25.useTranslation)("os");
2909
+ const [inputValue, setInputValue] = (0, import_react52.useState)("");
2910
+ const [pending, setPending] = (0, import_react52.useState)(false);
2651
2911
  const disabled = !active || pending;
2652
2912
  const isRecover = method === "recover identity";
2653
- const handleConfirm = (0, import_react47.useCallback)(async () => {
2913
+ const handleConfirm = (0, import_react52.useCallback)(async () => {
2654
2914
  setPending(true);
2655
2915
  await onConfirm?.(inputValue);
2656
2916
  setPending(false);
@@ -2658,17 +2918,17 @@ var IdentityInputImpl = (props) => {
2658
2918
  onConfirm,
2659
2919
  inputValue
2660
2920
  ]);
2661
- return /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, /* @__PURE__ */ import_react47.default.createElement("div", {
2921
+ return /* @__PURE__ */ import_react52.default.createElement(import_react52.default.Fragment, null, /* @__PURE__ */ import_react52.default.createElement("div", {
2662
2922
  role: "none",
2663
2923
  className: "grow flex flex-col justify-center"
2664
- }, /* @__PURE__ */ import_react47.default.createElement(Input, {
2924
+ }, /* @__PURE__ */ import_react52.default.createElement(Input, {
2665
2925
  validationMessage,
2666
- label: /* @__PURE__ */ import_react47.default.createElement(StepHeading, null, t(isRecover ? "recover identity input label" : "new identity input label")),
2926
+ label: /* @__PURE__ */ import_react52.default.createElement(StepHeading, null, t(isRecover ? "recover identity input label" : "new identity input label")),
2667
2927
  disabled,
2668
2928
  "data-testid": "identity-input",
2669
2929
  placeholder: isRecover ? t("recovery code placeholder") : t("display name placeholder"),
2670
2930
  onChange: ({ target: { value } }) => setInputValue(value)
2671
- })), /* @__PURE__ */ import_react47.default.createElement(Actions, null, /* @__PURE__ */ import_react47.default.createElement(Action, {
2931
+ })), /* @__PURE__ */ import_react52.default.createElement(Actions, null, /* @__PURE__ */ import_react52.default.createElement(Action, {
2672
2932
  variant: "primary",
2673
2933
  disabled: disabled || inputValue.trim().length === 0,
2674
2934
  onClick: handleConfirm,
@@ -2694,9 +2954,9 @@ var invitationCodeFromUrl = (text) => {
2694
2954
  var InvitationInput = (props) => {
2695
2955
  const { Kind, active, send, unredeemedCode, onExit, exitActionParent, onDone, doneActionParent, succeededKeys } = props;
2696
2956
  const disabled = !active;
2697
- const { t } = (0, import_react_ui25.useTranslation)("os");
2698
- const [inputValue, setInputValue] = (0, import_react49.useState)(unredeemedCode ?? "");
2699
- (0, import_react49.useEffect)(() => {
2957
+ const { t } = (0, import_react_ui27.useTranslation)("os");
2958
+ const [inputValue, setInputValue] = (0, import_react54.useState)(unredeemedCode ?? "");
2959
+ (0, import_react54.useEffect)(() => {
2700
2960
  unredeemedCode && setInputValue(unredeemedCode ?? "");
2701
2961
  }, [
2702
2962
  unredeemedCode
@@ -2713,7 +2973,7 @@ var InvitationInput = (props) => {
2713
2973
  }
2714
2974
  });
2715
2975
  };
2716
- const exitAction = /* @__PURE__ */ import_react49.default.createElement(Action, {
2976
+ const exitAction = /* @__PURE__ */ import_react54.default.createElement(Action, {
2717
2977
  variant: "ghost",
2718
2978
  disabled,
2719
2979
  ...onExit ? {
@@ -2723,11 +2983,11 @@ var InvitationInput = (props) => {
2723
2983
  },
2724
2984
  "data-testid": "join-exit"
2725
2985
  }, t("cancel label"));
2726
- return /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null, /* @__PURE__ */ import_react49.default.createElement("div", {
2986
+ return /* @__PURE__ */ import_react54.default.createElement(import_react54.default.Fragment, null, /* @__PURE__ */ import_react54.default.createElement("div", {
2727
2987
  role: "none",
2728
2988
  className: "grow flex flex-col justify-center"
2729
- }, /* @__PURE__ */ import_react49.default.createElement(Input, {
2730
- label: /* @__PURE__ */ import_react49.default.createElement(StepHeading, null, t("invitation input label")),
2989
+ }, /* @__PURE__ */ import_react54.default.createElement(Input, {
2990
+ label: /* @__PURE__ */ import_react54.default.createElement(StepHeading, null, t("invitation input label")),
2731
2991
  placeholder: t("invitation input placeholder"),
2732
2992
  disabled,
2733
2993
  value: inputValue,
@@ -2735,7 +2995,7 @@ var InvitationInput = (props) => {
2735
2995
  "data-autofocus": `inputting${Kind}InvitationCode`,
2736
2996
  "data-testid": `${Kind.toLowerCase()}-invitation-input`,
2737
2997
  onKeyUp: ({ key }) => key === "Enter" && handleNext()
2738
- })), /* @__PURE__ */ import_react49.default.createElement(Actions, null, Kind === "Halo" ? null : exitActionParent ? /* @__PURE__ */ (0, import_react49.cloneElement)(exitActionParent, {}, exitAction) : doneActionParent ? /* @__PURE__ */ (0, import_react49.cloneElement)(doneActionParent, {}, exitAction) : exitAction, /* @__PURE__ */ import_react49.default.createElement(Action, {
2998
+ })), /* @__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, {
2739
2999
  variant: "primary",
2740
3000
  disabled: disabled || inputValue.trim().length === 0,
2741
3001
  onClick: handleNext,
@@ -2752,14 +3012,14 @@ var InvitationActions = ({
2752
3012
  Kind,
2753
3013
  failReason
2754
3014
  }) => {
2755
- const { t } = (0, import_react_ui26.useTranslation)("os");
3015
+ const { t } = (0, import_react_ui28.useTranslation)("os");
2756
3016
  if (failReason) {
2757
- return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(StepHeading, {
2758
- className: import_react_ui_theme25.descriptionText
2759
- }, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */ import_react50.default.createElement("div", {
3017
+ return /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement(StepHeading, {
3018
+ className: import_react_ui_theme27.descriptionText
3019
+ }, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */ import_react55.default.createElement("div", {
2760
3020
  role: "none",
2761
3021
  className: "grow"
2762
- }), /* @__PURE__ */ import_react50.default.createElement(Actions, null, /* @__PURE__ */ import_react50.default.createElement(Action, {
3022
+ }), /* @__PURE__ */ import_react55.default.createElement(Actions, null, /* @__PURE__ */ import_react55.default.createElement(Action, {
2763
3023
  disabled: !active,
2764
3024
  onClick: () => send({
2765
3025
  type: `reset${Kind}Invitation`
@@ -2767,16 +3027,16 @@ var InvitationActions = ({
2767
3027
  "data-testid": "invitation-rescuer-reset"
2768
3028
  }, t("reset label"))));
2769
3029
  } else {
2770
- return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(StepHeading, {
2771
- className: import_react_ui_theme25.descriptionText
2772
- }, t("connecting status label")), /* @__PURE__ */ import_react50.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("connecting status label")), /* @__PURE__ */ import_react55.default.createElement("div", {
2773
3033
  role: "none",
2774
3034
  className: "grow"
2775
- }), /* @__PURE__ */ import_react50.default.createElement(Actions, null, /* @__PURE__ */ import_react50.default.createElement(Action, {
3035
+ }), /* @__PURE__ */ import_react55.default.createElement(Actions, null, /* @__PURE__ */ import_react55.default.createElement(Action, {
2776
3036
  disabled: true,
2777
3037
  classNames: "order-2",
2778
3038
  "data-testid": "next"
2779
- }, t("next label")), /* @__PURE__ */ import_react50.default.createElement(Action, {
3039
+ }, t("next label")), /* @__PURE__ */ import_react55.default.createElement(Action, {
2780
3040
  disabled: !active,
2781
3041
  onClick: onInvitationCancel,
2782
3042
  "data-testid": "invitation-rescuer-cancel"
@@ -2785,45 +3045,45 @@ var InvitationActions = ({
2785
3045
  };
2786
3046
  var InvitationRescuer = (props) => {
2787
3047
  const { Kind, invitationState, active, send } = props;
2788
- const { t } = (0, import_react_ui26.useTranslation)("os");
2789
- return /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, typeof invitationState === "undefined" ? /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement("div", {
3048
+ const { t } = (0, import_react_ui28.useTranslation)("os");
3049
+ 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", {
2790
3050
  role: "none",
2791
3051
  className: "grow flex flex-col justify-center"
2792
- }, /* @__PURE__ */ import_react50.default.createElement(StepHeading, {
2793
- className: import_react_ui_theme25.descriptionText
2794
- }, "There was a problem joining the space")), /* @__PURE__ */ import_react50.default.createElement(Actions, null, /* @__PURE__ */ import_react50.default.createElement(Action, {
3052
+ }, /* @__PURE__ */ import_react55.default.createElement(StepHeading, {
3053
+ className: import_react_ui_theme27.descriptionText
3054
+ }, "There was a problem joining the space")), /* @__PURE__ */ import_react55.default.createElement(Actions, null, /* @__PURE__ */ import_react55.default.createElement(Action, {
2795
3055
  disabled: !active,
2796
3056
  "data-testid": "invitation-rescuer-blank-reset",
2797
3057
  onClick: () => send({
2798
3058
  type: `reset${Kind}Invitation`
2799
3059
  })
2800
- }, t("reset label")))) : /* @__PURE__ */ import_react50.default.createElement(InvitationActions, props));
3060
+ }, t("reset label")))) : /* @__PURE__ */ import_react55.default.createElement(InvitationActions, props));
2801
3061
  };
2802
3062
  var pinLength = 6;
2803
3063
  var InvitationAuthenticator = ({ failed, Kind, authMethod, active, pending, invitationId, onInvitationAuthenticate, onInvitationCancel }) => {
2804
3064
  const disabled = !active || pending;
2805
- const { t } = (0, import_react_ui27.useTranslation)("os");
3065
+ const { t } = (0, import_react_ui29.useTranslation)("os");
2806
3066
  const invitationType = Kind.toLowerCase();
2807
- const [authCode, setAuthCode] = (0, import_react51.useState)("");
3067
+ const [authCode, setAuthCode] = (0, import_react56.useState)("");
2808
3068
  const onChange = ({ target: { value } }) => {
2809
3069
  setAuthCode(value);
2810
3070
  if (value.length === pinLength) {
2811
3071
  document.querySelector(`[data-autofocus-pinlength="${invitationType}"]`)?.focus();
2812
3072
  }
2813
3073
  };
2814
- return /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement("div", {
3074
+ return /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement("div", {
2815
3075
  role: "none",
2816
3076
  className: "grow flex flex-col justify-center gap-4"
2817
- }, /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.Root, failed && {
3077
+ }, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.Root, failed && {
2818
3078
  validationValence: "error"
2819
- }, /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.Label, {
3079
+ }, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.Label, {
2820
3080
  asChild: true
2821
- }, authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET ? /* @__PURE__ */ import_react51.default.createElement(StepHeading, null, t("auth code input label")) : /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(StepHeading, {
2822
- className: import_react_ui_theme26.descriptionText
2823
- }, t("authenticating label")), /* @__PURE__ */ import_react51.default.createElement("div", {
3081
+ }, 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, {
3082
+ className: import_react_ui_theme28.descriptionText
3083
+ }, t("authenticating label")), /* @__PURE__ */ import_react56.default.createElement("div", {
2824
3084
  role: "none",
2825
3085
  className: "grow"
2826
- }))), authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.PinInput, {
3086
+ }))), authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.PinInput, {
2827
3087
  disabled,
2828
3088
  length: pinLength,
2829
3089
  onChange,
@@ -2834,18 +3094,18 @@ var InvitationAuthenticator = ({ failed, Kind, authMethod, active, pending, invi
2834
3094
  "data-prevent-ios-autofocus": true,
2835
3095
  "data-testid": `${invitationType}-auth-code-input`,
2836
3096
  "data-1p-ignore": true
2837
- }), failed && /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.DescriptionAndValidation, {
3097
+ }), failed && /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.Input.DescriptionAndValidation, {
2838
3098
  classNames: "text-center"
2839
- }, /* @__PURE__ */ import_react51.default.createElement(import_react_ui27.Input.Validation, null, t("failed to authenticate message")))), invitationId && authMethod === import_invitations7.Invitation.AuthMethod.SHARED_SECRET && /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(Label, null, t("auth other device emoji message")), /* @__PURE__ */ import_react51.default.createElement("div", {
3099
+ }, /* @__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", {
2840
3100
  className: "flex justify-center"
2841
- }, /* @__PURE__ */ import_react51.default.createElement(Emoji, {
3101
+ }, /* @__PURE__ */ import_react56.default.createElement(Emoji, {
2842
3102
  text: (0, import_util9.hexToEmoji)(invitationId)
2843
- })))), /* @__PURE__ */ import_react51.default.createElement(Actions, null, /* @__PURE__ */ import_react51.default.createElement(Action, {
3103
+ })))), /* @__PURE__ */ import_react56.default.createElement(Actions, null, /* @__PURE__ */ import_react56.default.createElement(Action, {
2844
3104
  variant: "ghost",
2845
3105
  disabled,
2846
3106
  onClick: () => onInvitationCancel?.(),
2847
3107
  "data-testid": `${invitationType}-invitation-authenticator-cancel`
2848
- }, t("cancel label")), /* @__PURE__ */ import_react51.default.createElement(Action, {
3108
+ }, t("cancel label")), /* @__PURE__ */ import_react56.default.createElement(Action, {
2849
3109
  variant: "primary",
2850
3110
  disabled,
2851
3111
  onClick: () => onInvitationAuthenticate?.(authCode),
@@ -2900,46 +3160,46 @@ var JoinPanelImpl = (props) => {
2900
3160
  IdentityInput: IdentityInputComponent = IdentityInput,
2901
3161
  ConfirmReset: ConfirmResetComponent = ConfirmReset
2902
3162
  } = props;
2903
- return /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, mode !== "halo-only" && /* @__PURE__ */ import_react39.default.createElement(JoinHeading, {
3163
+ return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, mode !== "halo-only" && /* @__PURE__ */ import_react44.default.createElement(JoinHeading, {
2904
3164
  titleId,
2905
3165
  mode,
2906
3166
  onExit,
2907
3167
  exitActionParent
2908
- }), /* @__PURE__ */ import_react39.default.createElement(Viewport.Root, {
3168
+ }), /* @__PURE__ */ import_react44.default.createElement(Viewport.Root, {
2909
3169
  focusManaged: true,
2910
3170
  activeView
2911
- }, /* @__PURE__ */ import_react39.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3171
+ }, /* @__PURE__ */ import_react44.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2912
3172
  classNames: stepStyles,
2913
3173
  id: "addition method chooser"
2914
- }, /* @__PURE__ */ import_react39.default.createElement(AdditionMethodChooser, {
3174
+ }, /* @__PURE__ */ import_react44.default.createElement(AdditionMethodChooser, {
2915
3175
  send,
2916
3176
  active: activeView === "addition method chooser"
2917
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3177
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2918
3178
  classNames: stepStyles,
2919
3179
  id: "reset storage confirmation"
2920
- }, /* @__PURE__ */ import_react39.default.createElement(ConfirmResetComponent, {
3180
+ }, /* @__PURE__ */ import_react44.default.createElement(ConfirmResetComponent, {
2921
3181
  send,
2922
3182
  active: activeView === "reset storage confirmation",
2923
3183
  onCancel: onCancelResetStorage,
2924
3184
  onConfirm: onConfirmResetStorage
2925
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3185
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2926
3186
  classNames: stepStyles,
2927
3187
  id: "create identity input"
2928
- }, /* @__PURE__ */ import_react39.default.createElement(IdentityInputComponent, {
3188
+ }, /* @__PURE__ */ import_react44.default.createElement(IdentityInputComponent, {
2929
3189
  send,
2930
3190
  method: "create identity",
2931
3191
  active: activeView === "create identity input"
2932
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3192
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2933
3193
  classNames: stepStyles,
2934
3194
  id: "recover identity input"
2935
- }, /* @__PURE__ */ import_react39.default.createElement(IdentityInputComponent, {
3195
+ }, /* @__PURE__ */ import_react44.default.createElement(IdentityInputComponent, {
2936
3196
  send,
2937
3197
  method: "recover identity",
2938
3198
  active: activeView === "recover identity input"
2939
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3199
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2940
3200
  classNames: stepStyles,
2941
3201
  id: "halo invitation input"
2942
- }, /* @__PURE__ */ import_react39.default.createElement(InvitationInput, {
3202
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationInput, {
2943
3203
  send,
2944
3204
  Kind: "Halo",
2945
3205
  active: activeView === "halo invitation input",
@@ -2949,20 +3209,20 @@ var JoinPanelImpl = (props) => {
2949
3209
  ...succeededKeys?.Halo && {
2950
3210
  succeededKeys: succeededKeys.Halo
2951
3211
  }
2952
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3212
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2953
3213
  classNames: stepStyles,
2954
3214
  id: "halo invitation rescuer"
2955
- }, /* @__PURE__ */ import_react39.default.createElement(InvitationRescuer, {
3215
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationRescuer, {
2956
3216
  send,
2957
3217
  Kind: "Halo",
2958
3218
  active: activeView === "halo invitation rescuer",
2959
3219
  invitationState: invitationStates?.Halo,
2960
3220
  onInvitationCancel: onHaloInvitationCancel,
2961
3221
  failReason: failReasons?.Halo
2962
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3222
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2963
3223
  classNames: stepStyles,
2964
3224
  id: "halo invitation authenticator"
2965
- }, /* @__PURE__ */ import_react39.default.createElement(InvitationAuthenticator, {
3225
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationAuthenticator, {
2966
3226
  send,
2967
3227
  Kind: "Halo",
2968
3228
  invitationId: invitationIds?.Halo,
@@ -2973,19 +3233,19 @@ var JoinPanelImpl = (props) => {
2973
3233
  ...failed.has("Halo") && {
2974
3234
  failed: true
2975
3235
  }
2976
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3236
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2977
3237
  classNames: stepStyles,
2978
3238
  id: "identity added"
2979
- }, /* @__PURE__ */ import_react39.default.createElement(IdentityAdded, {
3239
+ }, /* @__PURE__ */ import_react44.default.createElement(IdentityAdded, {
2980
3240
  send,
2981
3241
  mode,
2982
3242
  active: activeView === "identity added",
2983
3243
  doneActionParent,
2984
3244
  onDone: onHaloDone
2985
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3245
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
2986
3246
  classNames: stepStyles,
2987
3247
  id: "space invitation input"
2988
- }, /* @__PURE__ */ import_react39.default.createElement(InvitationInput, {
3248
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationInput, {
2989
3249
  send,
2990
3250
  Kind: "Space",
2991
3251
  active: activeView === "space invitation input",
@@ -2997,20 +3257,20 @@ var JoinPanelImpl = (props) => {
2997
3257
  },
2998
3258
  onExit,
2999
3259
  exitActionParent
3000
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3260
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3001
3261
  classNames: stepStyles,
3002
3262
  id: "space invitation rescuer"
3003
- }, /* @__PURE__ */ import_react39.default.createElement(InvitationRescuer, {
3263
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationRescuer, {
3004
3264
  send,
3005
3265
  Kind: "Space",
3006
3266
  active: activeView === "space invitation rescuer",
3007
3267
  invitationState: invitationStates?.Space,
3008
3268
  onInvitationCancel: onSpaceInvitationCancel,
3009
3269
  failReason: failReasons?.Space
3010
- })), /* @__PURE__ */ import_react39.default.createElement(Viewport.View, {
3270
+ })), /* @__PURE__ */ import_react44.default.createElement(Viewport.View, {
3011
3271
  classNames: stepStyles,
3012
3272
  id: "space invitation authenticator"
3013
- }, /* @__PURE__ */ import_react39.default.createElement(InvitationAuthenticator, {
3273
+ }, /* @__PURE__ */ import_react44.default.createElement(InvitationAuthenticator, {
3014
3274
  send,
3015
3275
  Kind: "Space",
3016
3276
  invitationId: invitationIds?.Space,
@@ -3026,8 +3286,8 @@ var JoinPanelImpl = (props) => {
3026
3286
  var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition = "default", initialInvitationCode, exitActionParent, onExit, doneActionParent, onDone: propsOnDone, onCancelResetStorage }) => {
3027
3287
  const client = (0, import_react_client7.useClient)();
3028
3288
  const identity = (0, import_halo4.useIdentity)();
3029
- const { hasIosKeyboard } = (0, import_react_ui19.useThemeContext)();
3030
- const titleId = (0, import_react_ui19.useId)("joinPanel__heading", propsTitleId);
3289
+ const { hasIosKeyboard } = (0, import_react_ui21.useThemeContext)();
3290
+ const titleId = (0, import_react_ui21.useId)("joinPanel__heading", propsTitleId);
3031
3291
  const [joinState, joinSend, joinService] = useJoinMachine(client, {
3032
3292
  context: {
3033
3293
  mode,
@@ -3040,7 +3300,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3040
3300
  }
3041
3301
  }
3042
3302
  });
3043
- (0, import_react39.useEffect)(() => {
3303
+ (0, import_react44.useEffect)(() => {
3044
3304
  const subscription = joinService.subscribe((state) => {
3045
3305
  (0, import_log8.log)("[state]", state, {
3046
3306
  F: __dxlog_file10,
@@ -3053,7 +3313,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3053
3313
  }, [
3054
3314
  joinService
3055
3315
  ]);
3056
- (0, import_react39.useEffect)(() => {
3316
+ (0, import_react44.useEffect)(() => {
3057
3317
  const stateStack = joinState.configuration[0].id.split(".");
3058
3318
  const innermostState = stateStack[stateStack.length - 1];
3059
3319
  const autoFocusValue = innermostState === "finishingJoining" ? "successSpaceInvitation" : innermostState;
@@ -3065,7 +3325,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3065
3325
  joinState.value,
3066
3326
  hasIosKeyboard
3067
3327
  ]);
3068
- const activeView = (0, import_react39.useMemo)(() => {
3328
+ const activeView = (0, import_react44.useMemo)(() => {
3069
3329
  switch (true) {
3070
3330
  case joinState.matches({
3071
3331
  choosingIdentity: "choosingAuthMethod"
@@ -3186,7 +3446,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3186
3446
  }, [
3187
3447
  joinState
3188
3448
  ]);
3189
- (0, import_react39.useEffect)(() => {
3449
+ (0, import_react44.useEffect)(() => {
3190
3450
  switch (activeView) {
3191
3451
  case "halo invitation accepted":
3192
3452
  onHaloDone();
@@ -3198,7 +3458,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3198
3458
  }, [
3199
3459
  activeView
3200
3460
  ]);
3201
- const failed = (0, import_react39.useMemo)(() => {
3461
+ const failed = (0, import_react44.useMemo)(() => {
3202
3462
  const result = /* @__PURE__ */ new Set();
3203
3463
  switch (true) {
3204
3464
  case joinState.matches({
@@ -3222,43 +3482,43 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3222
3482
  }, [
3223
3483
  joinState
3224
3484
  ]);
3225
- const unredeemedCodes = (0, import_react39.useMemo)(() => ({
3485
+ const unredeemedCodes = (0, import_react44.useMemo)(() => ({
3226
3486
  Halo: joinState.context.halo.unredeemedCode,
3227
3487
  Space: joinState.context.space.unredeemedCode
3228
3488
  }), [
3229
3489
  joinState
3230
3490
  ]);
3231
3491
  const spaces = (0, import_react_client7.useMulticastObservable)(client.spaces);
3232
- const succeededKeys = (0, import_react39.useMemo)(() => ({
3492
+ const succeededKeys = (0, import_react44.useMemo)(() => ({
3233
3493
  Space: spaces ? new Set(spaces.map(({ key }) => key.toHex())) : void 0
3234
3494
  }), [
3235
3495
  spaces
3236
3496
  ]);
3237
- const invitationStates = (0, import_react39.useMemo)(() => ({
3497
+ const invitationStates = (0, import_react44.useMemo)(() => ({
3238
3498
  Halo: joinState.context.halo.invitationObservable?.get().state,
3239
3499
  Space: joinState.context.space.invitationObservable?.get().state
3240
3500
  }), [
3241
3501
  joinState
3242
3502
  ]);
3243
- const invitationAuthMethods = (0, import_react39.useMemo)(() => ({
3503
+ const invitationAuthMethods = (0, import_react44.useMemo)(() => ({
3244
3504
  Halo: joinState.context.halo.invitationObservable?.get().authMethod,
3245
3505
  Space: joinState.context.space.invitationObservable?.get().authMethod
3246
3506
  }), [
3247
3507
  joinState
3248
3508
  ]);
3249
- const invitationIds = (0, import_react39.useMemo)(() => ({
3509
+ const invitationIds = (0, import_react44.useMemo)(() => ({
3250
3510
  Halo: joinState.context.halo.invitationObservable?.get().invitationId,
3251
3511
  Space: joinState.context.space.invitationObservable?.get().invitationId
3252
3512
  }), [
3253
3513
  joinState
3254
3514
  ]);
3255
- const failReasons = (0, import_react39.useMemo)(() => ({
3515
+ const failReasons = (0, import_react44.useMemo)(() => ({
3256
3516
  Halo: joinState.context.halo.failReason,
3257
3517
  Space: joinState.context.space.failReason
3258
3518
  }), [
3259
3519
  joinState
3260
3520
  ]);
3261
- const onHaloDone = (0, import_react39.useCallback)(() => {
3521
+ const onHaloDone = (0, import_react44.useCallback)(() => {
3262
3522
  propsOnDone?.({
3263
3523
  identityKey: joinState.context.identity?.identityKey ?? joinState.context.halo.invitation?.identityKey ?? null,
3264
3524
  swarmKey: joinState.context.halo.invitation?.swarmKey ?? null,
@@ -3269,7 +3529,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3269
3529
  joinState,
3270
3530
  propsOnDone
3271
3531
  ]);
3272
- const onSpaceDone = (0, import_react39.useCallback)(() => {
3532
+ const onSpaceDone = (0, import_react44.useCallback)(() => {
3273
3533
  propsOnDone?.({
3274
3534
  identityKey: joinState.context.space.invitation?.identityKey ?? null,
3275
3535
  swarmKey: joinState.context.space.invitation?.swarmKey ?? null,
@@ -3280,7 +3540,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3280
3540
  joinState,
3281
3541
  propsOnDone
3282
3542
  ]);
3283
- const onConfirmResetStorage = (0, import_react39.useCallback)(() => client.reset().then(() => {
3543
+ const onConfirmResetStorage = (0, import_react44.useCallback)(() => client.reset().then(() => {
3284
3544
  joinSend({
3285
3545
  type: "resetIdentity"
3286
3546
  });
@@ -3288,7 +3548,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialDisposition =
3288
3548
  client,
3289
3549
  joinSend
3290
3550
  ]);
3291
- return /* @__PURE__ */ import_react39.default.createElement(JoinPanelImpl, {
3551
+ return /* @__PURE__ */ import_react44.default.createElement(JoinPanelImpl, {
3292
3552
  titleId,
3293
3553
  mode,
3294
3554
  send: joinSend,
@@ -3378,7 +3638,7 @@ var spaceMachine = (0, import_xstate3.createMachine)({
3378
3638
  }
3379
3639
  });
3380
3640
  var useSpaceMachine = (options) => {
3381
- return (0, import_react54.useMachine)(spaceMachine, {
3641
+ return (0, import_react59.useMachine)(spaceMachine, {
3382
3642
  ...options,
3383
3643
  context: {
3384
3644
  ...options?.context
@@ -3404,16 +3664,16 @@ var handleInvitationEvent = (invitation, subscription) => {
3404
3664
  };
3405
3665
  var SpaceManager = (props) => {
3406
3666
  const { space, target } = props;
3407
- const { t } = (0, import_react_ui29.useTranslation)("os");
3667
+ const { t } = (0, import_react_ui31.useTranslation)("os");
3408
3668
  const config = (0, import_react_client10.useConfig)();
3409
3669
  const invitations = (0, import_echo4.useSpaceInvitations)(space?.key);
3410
3670
  const inviteActions = {
3411
3671
  inviteOne: {
3412
3672
  label: t("invite one label"),
3413
3673
  description: t("invite one description"),
3414
- icon: import_react55.UserPlus,
3674
+ icon: import_react60.UserPlus,
3415
3675
  testId: "spaces-panel.invite-one",
3416
- onClick: (0, import_react56.useCallback)(() => {
3676
+ onClick: (0, import_react61.useCallback)(() => {
3417
3677
  const invitation = space.share?.({
3418
3678
  type: import_invitations10.Invitation.Type.INTERACTIVE,
3419
3679
  authMethod: import_invitations10.Invitation.AuthMethod.SHARED_SECRET,
@@ -3431,9 +3691,9 @@ var SpaceManager = (props) => {
3431
3691
  inviteMany: {
3432
3692
  label: t("invite many label"),
3433
3693
  description: t("invite many description"),
3434
- icon: import_react55.UsersThree,
3694
+ icon: import_react60.UsersThree,
3435
3695
  testId: "spaces-panel.invite-many",
3436
- onClick: (0, import_react56.useCallback)(() => {
3696
+ onClick: (0, import_react61.useCallback)(() => {
3437
3697
  const invitation = space.share?.({
3438
3698
  type: import_invitations10.Invitation.Type.DELEGATED,
3439
3699
  authMethod: import_invitations10.Invitation.AuthMethod.KNOWN_PUBLIC_KEY,
@@ -3449,7 +3709,7 @@ var SpaceManager = (props) => {
3449
3709
  ])
3450
3710
  }
3451
3711
  };
3452
- return /* @__PURE__ */ import_react56.default.createElement(SpaceManagerImpl, {
3712
+ return /* @__PURE__ */ import_react61.default.createElement(SpaceManagerImpl, {
3453
3713
  ...props,
3454
3714
  invitations,
3455
3715
  inviteActions
@@ -3458,17 +3718,17 @@ var SpaceManager = (props) => {
3458
3718
  var headingFragment = "pis-3 pie-1 plb-1 mbe-1 font-medium";
3459
3719
  var SpaceManagerImpl = (props) => {
3460
3720
  const { active, space, createInvitationUrl, send, inviteActions: propsInviteActions, invitations, showInactiveInvitations, SpaceMemberList: SpaceMemberListComponent = SpaceMemberList, InvitationList: InvitationListComponent = InvitationList } = props;
3461
- const { t } = (0, import_react_ui29.useTranslation)("os");
3721
+ const { t } = (0, import_react_ui31.useTranslation)("os");
3462
3722
  const inviteActions = propsInviteActions ?? {
3463
3723
  noopInvite: {
3464
3724
  label: t("create space invitation label"),
3465
3725
  description: "",
3466
- icon: import_react55.Placeholder,
3726
+ icon: import_react60.Placeholder,
3467
3727
  onClick: () => {
3468
3728
  }
3469
3729
  }
3470
3730
  };
3471
- const [activeAction, setInternalActiveAction] = (0, import_react56.useState)(localStorage.getItem(activeActionKey) ?? "inviteMany");
3731
+ const [activeAction, setInternalActiveAction] = (0, import_react61.useState)(localStorage.getItem(activeActionKey) ?? "inviteMany");
3472
3732
  const setActiveAction = (nextAction) => {
3473
3733
  setInternalActiveAction(nextAction);
3474
3734
  localStorage.setItem(activeActionKey, nextAction);
@@ -3476,26 +3736,26 @@ var SpaceManagerImpl = (props) => {
3476
3736
  const visibleInvitations = showInactiveInvitations ? invitations : invitations?.filter((invitation) => ![
3477
3737
  import_invitations10.Invitation.State.CANCELLED
3478
3738
  ].includes(invitation.get().state));
3479
- return /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Root, {
3739
+ return /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Root, {
3480
3740
  classNames: "grow shrink basis-28 -mli-2"
3481
- }, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Viewport, {
3741
+ }, /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Viewport, {
3482
3742
  classNames: "is-full pie-2"
3483
- }, !!visibleInvitations?.length && /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, /* @__PURE__ */ import_react56.default.createElement("h3", {
3484
- className: (0, import_react_ui_theme27.mx)(headingFragment, import_react_ui_theme27.descriptionText)
3485
- }, t("invitation list heading")), /* @__PURE__ */ import_react56.default.createElement(InvitationListComponent, {
3743
+ }, !!visibleInvitations?.length && /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, /* @__PURE__ */ import_react61.default.createElement("h3", {
3744
+ className: (0, import_react_ui_theme29.mx)(headingFragment, import_react_ui_theme29.descriptionText)
3745
+ }, t("invitation list heading")), /* @__PURE__ */ import_react61.default.createElement(InvitationListComponent, {
3486
3746
  className: "mb-2",
3487
3747
  send,
3488
3748
  invitations: visibleInvitations ?? [],
3489
3749
  onClickRemove: (invitation) => invitation.cancel(),
3490
3750
  createInvitationUrl
3491
- }), /* @__PURE__ */ import_react56.default.createElement("h3", {
3492
- className: (0, import_react_ui_theme27.mx)(headingFragment, import_react_ui_theme27.descriptionText, "mbs-2")
3493
- }, t("space member list heading"))), /* @__PURE__ */ import_react56.default.createElement(SpaceMemberListComponent, {
3751
+ }), /* @__PURE__ */ import_react61.default.createElement("h3", {
3752
+ className: (0, import_react_ui_theme29.mx)(headingFragment, import_react_ui_theme29.descriptionText, "mbs-2")
3753
+ }, t("space member list heading"))), /* @__PURE__ */ import_react61.default.createElement(SpaceMemberListComponent, {
3494
3754
  spaceKey: space.key,
3495
3755
  includeSelf: true
3496
- })), /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Scrollbar, {
3756
+ })), /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Scrollbar, {
3497
3757
  orientation: "vertical"
3498
- }, /* @__PURE__ */ import_react56.default.createElement(import_react_ui29.ScrollArea.Thumb, null))), /* @__PURE__ */ import_react56.default.createElement(Actions, null, /* @__PURE__ */ import_react56.default.createElement(BifurcatedAction, {
3758
+ }, /* @__PURE__ */ import_react61.default.createElement(import_react_ui31.ScrollArea.Thumb, null))), /* @__PURE__ */ import_react61.default.createElement(Actions, null, /* @__PURE__ */ import_react61.default.createElement(BifurcatedAction, {
3499
3759
  disabled: !active,
3500
3760
  actions: inviteActions,
3501
3761
  activeAction,
@@ -3505,45 +3765,45 @@ var SpaceManagerImpl = (props) => {
3505
3765
  };
3506
3766
  var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/SpacePanel/SpacePanel.tsx";
3507
3767
  var SpacePanelHeading = ({ titleId, space, onDone }) => {
3508
- const { t } = (0, import_react_ui28.useTranslation)("os");
3768
+ const { t } = (0, import_react_ui30.useTranslation)("os");
3509
3769
  const name = space.properties.name;
3510
- return /* @__PURE__ */ import_react53.default.createElement(Heading, {
3770
+ return /* @__PURE__ */ import_react58.default.createElement(Heading, {
3511
3771
  titleId,
3512
3772
  title: t("space panel heading"),
3513
- corner: /* @__PURE__ */ import_react53.default.createElement(CloseButton, {
3773
+ corner: /* @__PURE__ */ import_react58.default.createElement(CloseButton, {
3514
3774
  "data-testid": "identity-panel-done",
3515
3775
  onDone
3516
3776
  })
3517
- }, /* @__PURE__ */ import_react53.default.createElement("div", {
3777
+ }, /* @__PURE__ */ import_react58.default.createElement("div", {
3518
3778
  role: "none",
3519
3779
  className: "flex gap-4 items-center justify-center mlb-4"
3520
- }, /* @__PURE__ */ import_react53.default.createElement(import_react52.Planet, {
3780
+ }, /* @__PURE__ */ import_react58.default.createElement(import_react57.Planet, {
3521
3781
  size: 32,
3522
3782
  weight: "light"
3523
- }), /* @__PURE__ */ import_react53.default.createElement("div", {
3783
+ }), /* @__PURE__ */ import_react58.default.createElement("div", {
3524
3784
  className: "block text-start font-light text-xl"
3525
3785
  }, name ?? space.key.truncate())));
3526
3786
  };
3527
3787
  var SpacePanelImpl = (props) => {
3528
3788
  const { titleId, activeView, space, hideHeading, target, SpaceManager: SpaceManagerComponent = SpaceManager, InvitationManager: InvitationManagerComponent = InvitationManager, ...rest } = props;
3529
- return /* @__PURE__ */ import_react53.default.createElement(import_react53.default.Fragment, null, !hideHeading && /* @__PURE__ */ import_react53.default.createElement(SpacePanelHeading, {
3789
+ return /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, !hideHeading && /* @__PURE__ */ import_react58.default.createElement(SpacePanelHeading, {
3530
3790
  ...rest,
3531
3791
  titleId,
3532
3792
  space
3533
- }), /* @__PURE__ */ import_react53.default.createElement(Viewport.Root, {
3793
+ }), /* @__PURE__ */ import_react58.default.createElement(Viewport.Root, {
3534
3794
  activeView
3535
- }, /* @__PURE__ */ import_react53.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react53.default.createElement(Viewport.View, {
3795
+ }, /* @__PURE__ */ import_react58.default.createElement(Viewport.Views, null, /* @__PURE__ */ import_react58.default.createElement(Viewport.View, {
3536
3796
  id: "space manager",
3537
3797
  classNames: stepStyles
3538
- }, /* @__PURE__ */ import_react53.default.createElement(SpaceManagerComponent, {
3798
+ }, /* @__PURE__ */ import_react58.default.createElement(SpaceManagerComponent, {
3539
3799
  active: activeView === "space manager",
3540
3800
  space,
3541
3801
  target,
3542
3802
  ...rest
3543
- })), /* @__PURE__ */ import_react53.default.createElement(Viewport.View, {
3803
+ })), /* @__PURE__ */ import_react58.default.createElement(Viewport.View, {
3544
3804
  id: "space invitation manager",
3545
3805
  classNames: stepStyles
3546
- }, /* @__PURE__ */ import_react53.default.createElement(InvitationManagerComponent, {
3806
+ }, /* @__PURE__ */ import_react58.default.createElement(InvitationManagerComponent, {
3547
3807
  active: activeView === "space invitation manager",
3548
3808
  ...rest,
3549
3809
  invitationUrl: props.invitationUrl
@@ -3551,20 +3811,20 @@ var SpacePanelImpl = (props) => {
3551
3811
  };
3552
3812
  var SpacePanelWithInvitationImpl = ({ invitation, ...props }) => {
3553
3813
  const invitationStatus = (0, import_invitations9.useInvitationStatus)(invitation);
3554
- return /* @__PURE__ */ import_react53.default.createElement(SpacePanelImpl, {
3814
+ return /* @__PURE__ */ import_react58.default.createElement(SpacePanelImpl, {
3555
3815
  ...props,
3556
3816
  ...invitationStatus,
3557
3817
  invitationUrl: props.createInvitationUrl(invitationStatus.invitationCode)
3558
3818
  });
3559
3819
  };
3560
3820
  var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code, ...props }) => {
3561
- const titleId = (0, import_react_ui28.useId)("spacePanel__heading", propsTitleId);
3821
+ const titleId = (0, import_react_ui30.useId)("spacePanel__heading", propsTitleId);
3562
3822
  const [spaceState, spaceSend, spaceService] = useSpaceMachine({
3563
3823
  context: {
3564
3824
  space: props.space
3565
3825
  }
3566
3826
  });
3567
- (0, import_react53.useEffect)(() => {
3827
+ (0, import_react58.useEffect)(() => {
3568
3828
  const subscription = spaceService.subscribe((state) => {
3569
3829
  (0, import_log12.log)("[state]", state, {
3570
3830
  F: __dxlog_file13,
@@ -3577,7 +3837,7 @@ var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code,
3577
3837
  }, [
3578
3838
  spaceService
3579
3839
  ]);
3580
- const activeView = (0, import_react53.useMemo)(() => {
3840
+ const activeView = (0, import_react58.useMemo)(() => {
3581
3841
  switch (true) {
3582
3842
  case spaceState.matches("managingSpace"):
3583
3843
  return "space manager";
@@ -3598,101 +3858,101 @@ var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code,
3598
3858
  };
3599
3859
  return spaceState.context.invitation ? (
3600
3860
  // TODO(wittjosiah): Unused? Remove?
3601
- /* @__PURE__ */ import_react53.default.createElement(SpacePanelWithInvitationImpl, {
3861
+ /* @__PURE__ */ import_react58.default.createElement(SpacePanelWithInvitationImpl, {
3602
3862
  ...implProps,
3603
3863
  invitation: spaceState.context.invitation
3604
3864
  })
3605
- ) : /* @__PURE__ */ import_react53.default.createElement(SpacePanelImpl, implProps);
3865
+ ) : /* @__PURE__ */ import_react58.default.createElement(SpacePanelImpl, implProps);
3606
3866
  };
3607
3867
  var StatusPanel = ({ titleId }) => {
3608
- const { t } = (0, import_react_ui30.useTranslation)("os");
3609
- return /* @__PURE__ */ import_react57.default.createElement("div", {
3868
+ const { t } = (0, import_react_ui32.useTranslation)("os");
3869
+ return /* @__PURE__ */ import_react62.default.createElement("div", {
3610
3870
  className: "grid place-items-center p-2 gap-2"
3611
- }, /* @__PURE__ */ import_react57.default.createElement("p", {
3871
+ }, /* @__PURE__ */ import_react62.default.createElement("p", {
3612
3872
  id: titleId,
3613
3873
  className: "font-medium text-center"
3614
- }, t("resetting message")), /* @__PURE__ */ import_react57.default.createElement(import_react_ui30.Status, {
3874
+ }, t("resetting message")), /* @__PURE__ */ import_react62.default.createElement(import_react_ui32.Status, {
3615
3875
  indeterminate: true
3616
3876
  }, t("resetting message")));
3617
3877
  };
3618
3878
  var IdentityDialog = (props) => {
3619
- const titleId = (0, import_react_ui14.useId)("identityDialog__title", props.title);
3620
- return /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Root, {
3879
+ const titleId = (0, import_react_ui16.useId)("identityDialog__title", props.title);
3880
+ return /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Dialog.Root, {
3621
3881
  defaultOpen: true,
3622
3882
  onOpenChange: (open) => open || props.onDone?.()
3623
- }, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Portal, null, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Overlay, null, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Content, {
3883
+ }, /* @__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, {
3624
3884
  "aria-labelledby": titleId,
3625
3885
  onOpenAutoFocus: (e) => e.preventDefault()
3626
- }, /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Clipboard.Provider, null, /* @__PURE__ */ import_react27.default.createElement(IdentityPanel, {
3886
+ }, /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Clipboard.Provider, null, /* @__PURE__ */ import_react32.default.createElement(IdentityPanel, {
3627
3887
  ...props,
3628
3888
  titleId,
3629
- doneActionParent: /* @__PURE__ */ import_react27.default.createElement(import_react_ui14.Dialog.Close, {
3889
+ doneActionParent: /* @__PURE__ */ import_react32.default.createElement(import_react_ui16.Dialog.Close, {
3630
3890
  asChild: true
3631
3891
  })
3632
3892
  }))))));
3633
3893
  };
3634
3894
  var JoinDialog = (joinPanelProps) => {
3635
- const titleId = (0, import_react_ui31.useId)("joinDialog__title");
3636
- const { height } = (0, import_react_ui31.useVisualViewport)();
3637
- return /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Root, {
3895
+ const titleId = (0, import_react_ui33.useId)("joinDialog__title");
3896
+ const { height } = (0, import_react_ui33.useVisualViewport)();
3897
+ return /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Root, {
3638
3898
  defaultOpen: true,
3639
3899
  onOpenChange: (open) => open || (joinPanelProps.onExit ? joinPanelProps.onExit() : joinPanelProps.onDone?.(null))
3640
- }, /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Portal, null, /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Overlay, {
3900
+ }, /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Portal, null, /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Overlay, {
3641
3901
  classNames: "backdrop-blur",
3642
3902
  ...height && {
3643
3903
  style: {
3644
3904
  blockSize: `${height}px`
3645
3905
  }
3646
3906
  }
3647
- }, /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Content, {
3907
+ }, /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Content, {
3648
3908
  "aria-labelledby": titleId
3649
- }, /* @__PURE__ */ import_react58.default.createElement(JoinPanel, {
3909
+ }, /* @__PURE__ */ import_react63.default.createElement(JoinPanel, {
3650
3910
  ...joinPanelProps,
3651
3911
  titleId,
3652
- exitActionParent: /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Cancel, {
3912
+ exitActionParent: /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Cancel, {
3653
3913
  asChild: true
3654
3914
  }),
3655
- doneActionParent: /* @__PURE__ */ import_react58.default.createElement(import_react_ui31.AlertDialog.Action, {
3915
+ doneActionParent: /* @__PURE__ */ import_react63.default.createElement(import_react_ui33.AlertDialog.Action, {
3656
3916
  asChild: true
3657
3917
  })
3658
3918
  })))));
3659
3919
  };
3660
3920
  var SpaceDialog = (spacePanelProps) => {
3661
- const titleId = (0, import_react_ui33.useId)("spaceDialog__title");
3662
- return /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Root, {
3921
+ const titleId = (0, import_react_ui35.useId)("spaceDialog__title");
3922
+ return /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Dialog.Root, {
3663
3923
  defaultOpen: true,
3664
3924
  onOpenChange: (open) => open || spacePanelProps.onDone?.()
3665
- }, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Portal, null, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Overlay, null, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Content, {
3925
+ }, /* @__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, {
3666
3926
  "aria-labelledby": titleId
3667
- }, /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Clipboard.Provider, null, /* @__PURE__ */ import_react61.default.createElement(SpacePanel, {
3927
+ }, /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Clipboard.Provider, null, /* @__PURE__ */ import_react66.default.createElement(SpacePanel, {
3668
3928
  ...spacePanelProps,
3669
3929
  titleId,
3670
- doneActionParent: /* @__PURE__ */ import_react61.default.createElement(import_react_ui33.Dialog.Close, {
3930
+ doneActionParent: /* @__PURE__ */ import_react66.default.createElement(import_react_ui35.Dialog.Close, {
3671
3931
  asChild: true
3672
3932
  })
3673
3933
  }))))));
3674
3934
  };
3675
3935
  var StatusDialog = () => {
3676
- const titleId = (0, import_react_ui34.useId)("statusDialog__title");
3677
- return /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Root, {
3936
+ const titleId = (0, import_react_ui36.useId)("statusDialog__title");
3937
+ return /* @__PURE__ */ import_react67.default.createElement(import_react_ui36.AlertDialog.Root, {
3678
3938
  open: true
3679
- }, /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Portal, null, /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Overlay, null, /* @__PURE__ */ import_react62.default.createElement(import_react_ui34.AlertDialog.Content, {
3939
+ }, /* @__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, {
3680
3940
  "aria-labelledby": titleId
3681
- }, /* @__PURE__ */ import_react62.default.createElement(StatusPanel, {
3941
+ }, /* @__PURE__ */ import_react67.default.createElement(StatusPanel, {
3682
3942
  titleId
3683
3943
  })))));
3684
3944
  };
3685
3945
  var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/composites/Shell/Shell.tsx";
3686
3946
  var blurActiveElement = () => document.activeElement?.blur?.();
3687
3947
  var Shell = ({ runtime }) => {
3688
- const [{ layout, invitationCode, spaceKey, spaceId, target }, setLayout] = (0, import_react60.useState)({
3948
+ const [{ layout, invitationCode, spaceKey, spaceId, target }, setLayout] = (0, import_react65.useState)({
3689
3949
  layout: runtime.layout,
3690
3950
  invitationCode: runtime.invitationCode,
3691
3951
  spaceKey: runtime.spaceKey,
3692
3952
  spaceId: runtime.spaceId,
3693
3953
  target: runtime.target
3694
3954
  });
3695
- const [{ invitationUrl, deviceInvitationParam, spaceInvitationParam }, setInvitationUrl] = (0, import_react60.useState)({
3955
+ const [{ invitationUrl, deviceInvitationParam, spaceInvitationParam }, setInvitationUrl] = (0, import_react65.useState)({
3696
3956
  invitationUrl: runtime.invitationUrl,
3697
3957
  deviceInvitationParam: runtime.deviceInvitationParam,
3698
3958
  spaceInvitationParam: runtime.spaceInvitationParam
@@ -3709,7 +3969,7 @@ var Shell = ({ runtime }) => {
3709
3969
  baseUrl.searchParams.set(spaceInvitationParam, invitationCode2);
3710
3970
  return baseUrl.toString();
3711
3971
  };
3712
- (0, import_react60.useEffect)(() => {
3972
+ (0, import_react65.useEffect)(() => {
3713
3973
  const unsubscribeLayout = runtime.layoutUpdate.on((request) => setLayout(request));
3714
3974
  const unsubscribeInvitationUrl = runtime.invitationUrlUpdate.on((request) => setInvitationUrl(request));
3715
3975
  return () => {
@@ -3719,7 +3979,7 @@ var Shell = ({ runtime }) => {
3719
3979
  }, [
3720
3980
  runtime
3721
3981
  ]);
3722
- (0, import_react60.useEffect)(() => {
3982
+ (0, import_react65.useEffect)(() => {
3723
3983
  if (layout === import_react_client13.ShellLayout.SPACE && !space) {
3724
3984
  import_log15.log.warn("No space found for shell space invitations.", void 0, {
3725
3985
  F: __dxlog_file14,
@@ -3744,11 +4004,11 @@ var Shell = ({ runtime }) => {
3744
4004
  ]);
3745
4005
  switch (layout) {
3746
4006
  case import_react_client13.ShellLayout.STATUS:
3747
- return /* @__PURE__ */ import_react60.default.createElement(StatusDialog, null);
4007
+ return /* @__PURE__ */ import_react65.default.createElement(StatusDialog, null);
3748
4008
  case import_react_client13.ShellLayout.INITIALIZE_IDENTITY:
3749
4009
  case import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_INVITATION:
3750
4010
  case import_react_client13.ShellLayout.INITIALIZE_IDENTITY_FROM_RECOVERY:
3751
- return /* @__PURE__ */ import_react60.default.createElement(JoinDialog, {
4011
+ return /* @__PURE__ */ import_react65.default.createElement(JoinDialog, {
3752
4012
  mode: "halo-only",
3753
4013
  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",
3754
4014
  initialInvitationCode: invitationCode,
@@ -3768,7 +4028,7 @@ var Shell = ({ runtime }) => {
3768
4028
  case import_react_client13.ShellLayout.IDENTITY:
3769
4029
  case import_react_client13.ShellLayout.SHARE_IDENTITY:
3770
4030
  case import_react_client13.ShellLayout.EDIT_PROFILE:
3771
- return /* @__PURE__ */ import_react60.default.createElement(IdentityDialog, {
4031
+ return /* @__PURE__ */ import_react65.default.createElement(IdentityDialog, {
3772
4032
  createInvitationUrl: createDeviceInvitationUrl,
3773
4033
  onResetStorage: async () => {
3774
4034
  runtime.setLayout({
@@ -3814,7 +4074,7 @@ var Shell = ({ runtime }) => {
3814
4074
  initialDisposition: layout === import_react_client13.ShellLayout.SHARE_IDENTITY ? "manage-device-invitation" : "default"
3815
4075
  });
3816
4076
  case import_react_client13.ShellLayout.SPACE:
3817
- return space ? /* @__PURE__ */ import_react60.default.createElement(SpaceDialog, {
4077
+ return space ? /* @__PURE__ */ import_react65.default.createElement(SpaceDialog, {
3818
4078
  space,
3819
4079
  target,
3820
4080
  createInvitationUrl: createSpaceInvitationUrl,
@@ -3829,7 +4089,7 @@ var Shell = ({ runtime }) => {
3829
4089
  }
3830
4090
  }) : null;
3831
4091
  case import_react_client13.ShellLayout.JOIN_SPACE:
3832
- return /* @__PURE__ */ import_react60.default.createElement(JoinDialog, {
4092
+ return /* @__PURE__ */ import_react65.default.createElement(JoinDialog, {
3833
4093
  initialInvitationCode: invitationCode,
3834
4094
  onDone: async (result) => {
3835
4095
  blurActiveElement();
@@ -4123,25 +4383,25 @@ var runShell = async (config = new import_react_client11.Config()) => {
4123
4383
  const services = new import_react_client11.ClientServicesProxy((0, import_rpc_tunnel.createIFramePort)({
4124
4384
  channel: import_client_protocol.DEFAULT_CLIENT_CHANNEL
4125
4385
  }));
4126
- (0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react59.default.createElement(import_react59.StrictMode, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.ThemeProvider, {
4127
- tx: import_react_ui_theme28.defaultTx,
4386
+ (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, {
4387
+ tx: import_react_ui_theme30.defaultTx,
4128
4388
  resourceExtensions: [
4129
4389
  osTranslations
4130
4390
  ]
4131
- }, /* @__PURE__ */ import_react59.default.createElement(import_react_client11.ClientProvider, {
4391
+ }, /* @__PURE__ */ import_react64.default.createElement(import_react_client11.ClientProvider, {
4132
4392
  config,
4133
4393
  services,
4134
4394
  noBanner: true
4135
- }, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Clipboard.Provider, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Tooltip.Provider, null, /* @__PURE__ */ import_react59.default.createElement(import_react_client11.AgentHostingProvider, null, /* @__PURE__ */ import_react59.default.createElement(Shell, {
4395
+ }, /* @__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, {
4136
4396
  runtime
4137
4397
  }))))))));
4138
4398
  } catch {
4139
- (0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ import_react59.default.createElement(import_react59.StrictMode, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.ThemeProvider, {
4140
- tx: import_react_ui_theme28.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,
4141
4401
  resourceExtensions: [
4142
4402
  osTranslations
4143
4403
  ]
4144
- }, /* @__PURE__ */ import_react59.default.createElement(Fallback, {
4404
+ }, /* @__PURE__ */ import_react64.default.createElement(Fallback, {
4145
4405
  onClose: () => runtime.setAppContext({
4146
4406
  display: import_react_client11.ShellDisplay.NONE
4147
4407
  })
@@ -4149,15 +4409,15 @@ var runShell = async (config = new import_react_client11.Config()) => {
4149
4409
  }
4150
4410
  };
4151
4411
  var Fallback = ({ onClose }) => {
4152
- const { t } = (0, import_react_ui32.useTranslation)("os");
4153
- return /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Root, {
4412
+ const { t } = (0, import_react_ui34.useTranslation)("os");
4413
+ return /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Dialog.Root, {
4154
4414
  modal: true,
4155
4415
  open: true,
4156
4416
  onOpenChange: () => onClose?.()
4157
- }, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Overlay, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Content, null, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Title, null, t("shell fallback title")), /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Dialog.Close, {
4417
+ }, /* @__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, {
4158
4418
  asChild: true,
4159
4419
  onClick: () => onClose?.()
4160
- }, /* @__PURE__ */ import_react59.default.createElement(import_react_ui32.Button, {
4420
+ }, /* @__PURE__ */ import_react64.default.createElement(import_react_ui34.Button, {
4161
4421
  variant: "primary"
4162
4422
  }, t("close label"))))));
4163
4423
  };
@@ -4207,10 +4467,10 @@ var MemoryShellRuntime = class {
4207
4467
  this.contextUpdate.emit(context);
4208
4468
  }
4209
4469
  };
4210
- var ShellContext = /* @__PURE__ */ (0, import_react63.createContext)({});
4470
+ var ShellContext = /* @__PURE__ */ (0, import_react68.createContext)({});
4211
4471
  var useShell = () => {
4212
4472
  const client = (0, import_react_client14.useClient)();
4213
- const { runtime, setDisplay } = (0, import_react63.useContext)(ShellContext);
4473
+ const { runtime, setDisplay } = (0, import_react68.useContext)(ShellContext);
4214
4474
  const setLayout = async (layout, options) => {
4215
4475
  if (runtime) {
4216
4476
  if (layout === import_react_client14.ShellLayout.DEFAULT) {
@@ -4232,8 +4492,8 @@ var useShell = () => {
4232
4492
  var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoinedSpace, children }) => {
4233
4493
  const client = (0, import_react_client14.useClient)();
4234
4494
  const identity = (0, import_halo5.useIdentity)();
4235
- const [display, setDisplay] = (0, import_react63.useState)(!identity || spaceInvitationCode || deviceInvitationCode ? import_react_client14.ShellDisplay.FULLSCREEN : import_react_client14.ShellDisplay.NONE);
4236
- const shellRuntime = (0, import_react63.useMemo)(() => {
4495
+ const [display, setDisplay] = (0, import_react68.useState)(!identity || spaceInvitationCode || deviceInvitationCode ? import_react_client14.ShellDisplay.FULLSCREEN : import_react_client14.ShellDisplay.NONE);
4496
+ const shellRuntime = (0, import_react68.useMemo)(() => {
4237
4497
  if (client.config.get("runtime.app.env.DX_VAULT") !== "false") {
4238
4498
  return;
4239
4499
  }
@@ -4258,7 +4518,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4258
4518
  spaceInvitationCode,
4259
4519
  deviceInvitationCode
4260
4520
  ]);
4261
- const handleKeyDown = (0, import_react63.useCallback)((event) => {
4521
+ const handleKeyDown = (0, import_react68.useCallback)((event) => {
4262
4522
  if (!space || !shellRuntime) {
4263
4523
  return;
4264
4524
  }
@@ -4279,7 +4539,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4279
4539
  space,
4280
4540
  shellRuntime
4281
4541
  ]);
4282
- (0, import_react63.useEffect)(() => {
4542
+ (0, import_react68.useEffect)(() => {
4283
4543
  if (!shellRuntime) {
4284
4544
  return;
4285
4545
  }
@@ -4289,7 +4549,7 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4289
4549
  shellRuntime,
4290
4550
  handleKeyDown
4291
4551
  ]);
4292
- (0, import_react63.useEffect)(() => {
4552
+ (0, import_react68.useEffect)(() => {
4293
4553
  if (!shellRuntime) {
4294
4554
  return;
4295
4555
  }
@@ -4302,11 +4562,11 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4302
4562
  }, [
4303
4563
  shellRuntime
4304
4564
  ]);
4305
- return /* @__PURE__ */ import_react63.default.createElement(import_react63.default.Fragment, null, shellRuntime && /* @__PURE__ */ import_react63.default.createElement("div", {
4306
- className: (0, import_react_ui_theme29.mx)(display === import_react_client14.ShellDisplay.NONE ? "hidden" : "")
4307
- }, /* @__PURE__ */ import_react63.default.createElement(Shell, {
4565
+ return /* @__PURE__ */ import_react68.default.createElement(import_react68.default.Fragment, null, shellRuntime && /* @__PURE__ */ import_react68.default.createElement("div", {
4566
+ className: (0, import_react_ui_theme31.mx)(display === import_react_client14.ShellDisplay.NONE ? "hidden" : "")
4567
+ }, /* @__PURE__ */ import_react68.default.createElement(Shell, {
4308
4568
  runtime: shellRuntime
4309
- })), /* @__PURE__ */ import_react63.default.createElement(ShellContext.Provider, {
4569
+ })), /* @__PURE__ */ import_react68.default.createElement(ShellContext.Provider, {
4310
4570
  value: {
4311
4571
  runtime: shellRuntime,
4312
4572
  setDisplay
@@ -4327,7 +4587,11 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
4327
4587
  ConfirmResetImpl,
4328
4588
  DeviceList,
4329
4589
  Emoji,
4590
+ EmojiPickerBlock,
4591
+ EmojiPickerToolbarButton,
4330
4592
  Heading,
4593
+ HuePickerBlock,
4594
+ HuePickerToolbarButton,
4331
4595
  IdentityDialog,
4332
4596
  IdentityListItem,
4333
4597
  IdentityPanel,