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