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