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