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