@arbidocs/blocks 0.4.4 → 0.4.6
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/README.md +71 -6
- package/dist/agents/index.cjs +163 -162
- package/dist/agents/index.js +6 -5
- package/dist/artifacts/ArtifactCompareBar.d.ts +33 -0
- package/dist/artifacts/ArtifactEditor.d.ts +64 -0
- package/dist/artifacts/ArtifactEditorBody.d.ts +34 -0
- package/dist/artifacts/ArtifactRedlineView.d.ts +57 -0
- package/dist/artifacts/ArtifactToolbar.d.ts +53 -0
- package/dist/artifacts/ArtifactVersionBar.d.ts +42 -0
- package/dist/{files → artifacts}/RedlineParts.d.ts +4 -0
- package/dist/artifacts/editor/ArtifactMarkdownEditor.d.ts +39 -0
- package/dist/artifacts/editor/index.cjs +89 -0
- package/dist/artifacts/editor/index.cjs.map +1 -0
- package/dist/artifacts/editor/index.d.ts +1 -0
- package/dist/artifacts/editor/index.js +86 -0
- package/dist/artifacts/editor/index.js.map +1 -0
- package/dist/artifacts/index.cjs +807 -0
- package/dist/artifacts/index.cjs.map +1 -0
- package/dist/artifacts/index.d.ts +8 -0
- package/dist/artifacts/index.js +787 -0
- package/dist/artifacts/index.js.map +1 -0
- package/dist/chat/ChatMessageContent.d.ts +16 -0
- package/dist/chat/ChatPage.d.ts +11 -8
- package/dist/chat/ChatThreads.d.ts +3 -1
- package/dist/chat/CitationMark.d.ts +18 -0
- package/dist/chat/chat-page-types.d.ts +75 -1
- package/dist/chat/index.cjs +125 -116
- package/dist/chat/index.d.ts +3 -1
- package/dist/chat/index.js +4 -3
- package/dist/{chunk-XKKGGUU2.cjs → chunk-23XL6SVZ.cjs} +39 -19
- package/dist/chunk-23XL6SVZ.cjs.map +1 -0
- package/dist/{chunk-ULWRNGGE.cjs → chunk-2ZTONLT5.cjs} +4 -25
- package/dist/chunk-2ZTONLT5.cjs.map +1 -0
- package/dist/{chunk-O637DUKS.cjs → chunk-56BUD74K.cjs} +28 -28
- package/dist/{chunk-O637DUKS.cjs.map → chunk-56BUD74K.cjs.map} +1 -1
- package/dist/{chunk-ATXPAD6S.cjs → chunk-5SLLMK5K.cjs} +420 -114
- package/dist/chunk-5SLLMK5K.cjs.map +1 -0
- package/dist/{chunk-SS23F63U.cjs → chunk-5ZBP7TCD.cjs} +55 -3
- package/dist/chunk-5ZBP7TCD.cjs.map +1 -0
- package/dist/{chunk-DGVKBOY5.cjs → chunk-67HGXV4I.cjs} +6 -6
- package/dist/{chunk-DGVKBOY5.cjs.map → chunk-67HGXV4I.cjs.map} +1 -1
- package/dist/{chunk-RCP6THBS.js → chunk-7OCFHEE6.js} +3 -3
- package/dist/{chunk-RCP6THBS.js.map → chunk-7OCFHEE6.js.map} +1 -1
- package/dist/{chunk-TX2ZICS7.js → chunk-CPMNAJLF.js} +4 -24
- package/dist/chunk-CPMNAJLF.js.map +1 -0
- package/dist/{chunk-BBEMPS6C.js → chunk-CVFBSUXL.js} +5 -5
- package/dist/{chunk-BBEMPS6C.js.map → chunk-CVFBSUXL.js.map} +1 -1
- package/dist/chunk-DCDVWPMB.cjs +29 -0
- package/dist/chunk-DCDVWPMB.cjs.map +1 -0
- package/dist/{chunk-TI4UTYRL.js → chunk-EY2RJW27.js} +258 -10
- package/dist/chunk-EY2RJW27.js.map +1 -0
- package/dist/{chunk-7YADKWZT.js → chunk-G2E3O3HI.js} +3 -3
- package/dist/{chunk-7YADKWZT.js.map → chunk-G2E3O3HI.js.map} +1 -1
- package/dist/{chunk-JPO3F4J7.js → chunk-G2T3KTZ3.js} +418 -114
- package/dist/chunk-G2T3KTZ3.js.map +1 -0
- package/dist/{chunk-2NNTQLBY.js → chunk-IAKUTBPX.js} +4 -4
- package/dist/{chunk-2NNTQLBY.js.map → chunk-IAKUTBPX.js.map} +1 -1
- package/dist/{chunk-IZHWP6WQ.cjs → chunk-JG4TFS3Z.cjs} +6 -6
- package/dist/{chunk-IZHWP6WQ.cjs.map → chunk-JG4TFS3Z.cjs.map} +1 -1
- package/dist/chunk-JLOYWXRB.js +1156 -0
- package/dist/chunk-JLOYWXRB.js.map +1 -0
- package/dist/{chunk-WJZBJUPX.js → chunk-KXMDOTGW.js} +56 -4
- package/dist/chunk-KXMDOTGW.js.map +1 -0
- package/dist/{chunk-2VBJ763Y.js → chunk-KZJAG7T3.js} +37 -7
- package/dist/chunk-KZJAG7T3.js.map +1 -0
- package/dist/{chunk-RIL7G7AS.cjs → chunk-MGUHR3JI.cjs} +4 -4
- package/dist/{chunk-RIL7G7AS.cjs.map → chunk-MGUHR3JI.cjs.map} +1 -1
- package/dist/{chunk-DN3NFNIA.cjs → chunk-QMDLPO3M.cjs} +266 -10
- package/dist/chunk-QMDLPO3M.cjs.map +1 -0
- package/dist/chunk-TJMKFY5P.js +27 -0
- package/dist/chunk-TJMKFY5P.js.map +1 -0
- package/dist/{chunk-B673CCW5.js → chunk-UHVNYKV2.js} +38 -18
- package/dist/chunk-UHVNYKV2.js.map +1 -0
- package/dist/{chunk-6CHMNKXC.cjs → chunk-UTYQPVIW.cjs} +11 -11
- package/dist/chunk-UTYQPVIW.cjs.map +1 -0
- package/dist/{chunk-KHX2BX3S.cjs → chunk-VGOFFCMT.cjs} +37 -5
- package/dist/chunk-VGOFFCMT.cjs.map +1 -0
- package/dist/{chunk-67MKU5U7.js → chunk-YMHGF6R5.js} +8 -8
- package/dist/chunk-YMHGF6R5.js.map +1 -0
- package/dist/chunk-YVIOCITQ.cjs +1186 -0
- package/dist/chunk-YVIOCITQ.cjs.map +1 -0
- package/dist/collaboration/index.cjs +38 -37
- package/dist/collaboration/index.js +3 -2
- package/dist/connect/index.cjs +358 -19
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -0
- package/dist/connect/index.js +341 -9
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedSettings.d.ts +64 -0
- package/dist/facts/index.cjs +1 -1
- package/dist/facts/index.js +1 -1
- package/dist/files/ViewerChrome.d.ts +0 -45
- package/dist/files/ViewerParts.d.ts +0 -19
- package/dist/files/index.cjs +15 -446
- package/dist/files/index.cjs.map +1 -1
- package/dist/files/index.d.ts +2 -4
- package/dist/files/index.js +9 -428
- package/dist/files/index.js.map +1 -1
- package/dist/home/index.cjs +1 -1
- package/dist/home/index.js +1 -1
- package/dist/index.cjs +634 -585
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +19 -18
- package/dist/index.js.map +1 -1
- package/dist/lib/bottom-inset.d.ts +16 -0
- package/dist/lib/useElementSize.d.ts +13 -0
- package/dist/lib/useFillHeight.d.ts +10 -0
- package/dist/settings/account-views.d.ts +55 -0
- package/dist/settings/index.cjs +178 -1147
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.d.ts +1 -0
- package/dist/settings/index.js +9 -1072
- package/dist/settings/index.js.map +1 -1
- package/dist/shell/InstallPrompt.d.ts +28 -0
- package/dist/shell/MobileBars.d.ts +1 -1
- package/dist/shell/index.cjs +92 -52
- package/dist/shell/index.d.ts +4 -0
- package/dist/shell/index.js +4 -4
- package/dist/shell/install-instructions.d.ts +19 -0
- package/dist/shell/types.d.ts +6 -0
- package/dist/shell/use-install-prompt.d.ts +49 -0
- package/dist/site/index.cjs +67 -67
- package/dist/site/index.js +3 -3
- package/dist/studio/index.cjs +79 -78
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.js +9 -8
- package/dist/studio/index.js.map +1 -1
- package/dist/theme/ThemeEditor.d.ts +4 -2
- package/dist/workspaces/index.cjs +4 -3
- package/dist/workspaces/index.cjs.map +1 -1
- package/dist/workspaces/index.js +3 -2
- package/dist/workspaces/index.js.map +1 -1
- package/package.json +30 -5
- package/src/blocks.css +30 -0
- package/dist/chunk-2VBJ763Y.js.map +0 -1
- package/dist/chunk-67MKU5U7.js.map +0 -1
- package/dist/chunk-6CHMNKXC.cjs.map +0 -1
- package/dist/chunk-ATXPAD6S.cjs.map +0 -1
- package/dist/chunk-B673CCW5.js.map +0 -1
- package/dist/chunk-DN3NFNIA.cjs.map +0 -1
- package/dist/chunk-JPO3F4J7.js.map +0 -1
- package/dist/chunk-KHX2BX3S.cjs.map +0 -1
- package/dist/chunk-SS23F63U.cjs.map +0 -1
- package/dist/chunk-TI4UTYRL.js.map +0 -1
- package/dist/chunk-TX2ZICS7.js.map +0 -1
- package/dist/chunk-ULWRNGGE.cjs.map +0 -1
- package/dist/chunk-WJZBJUPX.js.map +0 -1
- package/dist/chunk-XKKGGUU2.cjs.map +0 -1
- /package/dist/{files → artifacts}/VersionTimeline.d.ts +0 -0
package/dist/settings/index.cjs
CHANGED
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
var chunk223D4727_cjs = require('../chunk-223D4727.cjs');
|
|
5
5
|
var chunkCRIKTUEU_cjs = require('../chunk-CRIKTUEU.cjs');
|
|
6
6
|
var chunkVFUWWH52_cjs = require('../chunk-VFUWWH52.cjs');
|
|
7
|
-
var chunkADOKTJHV_cjs = require('../chunk-ADOKTJHV.cjs');
|
|
8
7
|
var chunkRFIBUWLF_cjs = require('../chunk-RFIBUWLF.cjs');
|
|
9
|
-
var chunkULWRNGGE_cjs = require('../chunk-ULWRNGGE.cjs');
|
|
10
8
|
var chunk5B4PXAKI_cjs = require('../chunk-5B4PXAKI.cjs');
|
|
9
|
+
var chunk2ZTONLT5_cjs = require('../chunk-2ZTONLT5.cjs');
|
|
10
|
+
var chunkYVIOCITQ_cjs = require('../chunk-YVIOCITQ.cjs');
|
|
11
|
+
require('../chunk-ADOKTJHV.cjs');
|
|
11
12
|
require('../chunk-PPCATBOY.cjs');
|
|
12
13
|
var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
|
|
14
|
+
require('../chunk-DCDVWPMB.cjs');
|
|
13
15
|
var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
|
|
14
16
|
var react = require('react');
|
|
15
17
|
var lucideReact = require('lucide-react');
|
|
@@ -61,7 +63,7 @@ function ConfirmDialog({
|
|
|
61
63
|
const l = react.useMemo(() => ({ ...DEFAULT_CONFIRM_DIALOG_LABELS, ...labels }), [labels]);
|
|
62
64
|
const cancelRef = react.useRef(null);
|
|
63
65
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
64
|
-
|
|
66
|
+
chunk2ZTONLT5_cjs.ModalScaffold,
|
|
65
67
|
{
|
|
66
68
|
open: isOpen,
|
|
67
69
|
onOpenChange: (next) => {
|
|
@@ -74,7 +76,7 @@ function ConfirmDialog({
|
|
|
74
76
|
showDescription: true,
|
|
75
77
|
icon: variant === "destructive" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "h-5 w-5 text-red-text", "aria-hidden": "true" }) : null,
|
|
76
78
|
testId: chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "confirmation-modal" }),
|
|
77
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
79
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalScaffold.Footer, { children: [
|
|
78
80
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
79
81
|
ui.Button,
|
|
80
82
|
{
|
|
@@ -100,454 +102,6 @@ function ConfirmDialog({
|
|
|
100
102
|
}
|
|
101
103
|
);
|
|
102
104
|
}
|
|
103
|
-
var DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS = {
|
|
104
|
-
setNewPasswordTitle: "Set New Password",
|
|
105
|
-
changeMasterPasswordTitle: "Change Master Password",
|
|
106
|
-
recoveryDescription: "Set a new password for your recovered account",
|
|
107
|
-
changeDescription: "Change your master password dialog",
|
|
108
|
-
passwordChanged: "Password changed",
|
|
109
|
-
done: "Done",
|
|
110
|
-
recoverySuccessful: "Recovery successful. Set a new master password to continue.",
|
|
111
|
-
currentPassword: "Current Password",
|
|
112
|
-
currentPasswordPlaceholder: "Enter current password",
|
|
113
|
-
masterPassword: "Master Password",
|
|
114
|
-
newPassword: "New Password",
|
|
115
|
-
confirmPassword: "Confirm Password",
|
|
116
|
-
confirmNewPassword: "Confirm New Password",
|
|
117
|
-
workspacesRekeyed: (count) => `${chunkKDG6FER6_cjs.formatCount(count, { one: "workspace", other: "workspaces" })} will be re-keyed with your new password.`,
|
|
118
|
-
cancel: "Cancel",
|
|
119
|
-
settingPassword: "Setting Password...",
|
|
120
|
-
changingPassword: "Changing Password...",
|
|
121
|
-
continue: "Continue",
|
|
122
|
-
changePassword: "Change Password"
|
|
123
|
-
};
|
|
124
|
-
function PasswordChangeDialog({
|
|
125
|
-
open,
|
|
126
|
-
onClose,
|
|
127
|
-
recoveryMode,
|
|
128
|
-
currentPassword,
|
|
129
|
-
onCurrentPasswordChange,
|
|
130
|
-
newPassword,
|
|
131
|
-
onNewPasswordChange,
|
|
132
|
-
confirmPassword,
|
|
133
|
-
onConfirmPasswordChange,
|
|
134
|
-
getUnmetRequirement,
|
|
135
|
-
workspaceCount,
|
|
136
|
-
error,
|
|
137
|
-
isProcessing,
|
|
138
|
-
isSubmitDisabled,
|
|
139
|
-
onSubmit,
|
|
140
|
-
success,
|
|
141
|
-
onDone,
|
|
142
|
-
labels,
|
|
143
|
-
passwordInputLabels,
|
|
144
|
-
testId,
|
|
145
|
-
testIds,
|
|
146
|
-
passwordInputTestIds
|
|
147
|
-
}) {
|
|
148
|
-
const currentPasswordId = react.useId();
|
|
149
|
-
const l = react.useMemo(() => ({ ...DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS, ...labels }), [labels]);
|
|
150
|
-
const handleSubmit = (e) => {
|
|
151
|
-
e.preventDefault();
|
|
152
|
-
onSubmit();
|
|
153
|
-
};
|
|
154
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange: (next) => !next && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
155
|
-
ui.DialogContent,
|
|
156
|
-
{
|
|
157
|
-
presentation: "sheet",
|
|
158
|
-
className: "sm:max-w-md",
|
|
159
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "change-password-dialog" }),
|
|
160
|
-
children: [
|
|
161
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
|
|
162
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: recoveryMode ? l.setNewPasswordTitle : l.changeMasterPasswordTitle }),
|
|
163
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: recoveryMode ? l.recoveryDescription : l.changeDescription })
|
|
164
|
-
] }),
|
|
165
|
-
success ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
166
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-green-text", children: [
|
|
167
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "h-5 w-5" }),
|
|
168
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: l.passwordChanged })
|
|
169
|
-
] }),
|
|
170
|
-
success,
|
|
171
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
172
|
-
ui.Button,
|
|
173
|
-
{
|
|
174
|
-
onClick: onDone,
|
|
175
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.done, { testId: "change-password-done-button" }),
|
|
176
|
-
children: l.done
|
|
177
|
-
}
|
|
178
|
-
) })
|
|
179
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, className: "space-y-3", children: [
|
|
180
|
-
recoveryMode && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-green-text", children: l.recoverySuccessful }),
|
|
181
|
-
!recoveryMode && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
|
|
182
|
-
/* @__PURE__ */ jsxRuntime.jsxs("label", { htmlFor: currentPasswordId, className: "text-sm font-medium text-foreground", children: [
|
|
183
|
-
l.currentPassword,
|
|
184
|
-
" ",
|
|
185
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "*" })
|
|
186
|
-
] }),
|
|
187
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
188
|
-
ui.Input,
|
|
189
|
-
{
|
|
190
|
-
id: currentPasswordId,
|
|
191
|
-
type: "password",
|
|
192
|
-
value: currentPassword,
|
|
193
|
-
onChange: (e) => onCurrentPasswordChange(e.target.value),
|
|
194
|
-
disabled: isProcessing,
|
|
195
|
-
placeholder: l.currentPasswordPlaceholder,
|
|
196
|
-
autoComplete: "current-password",
|
|
197
|
-
className: "placeholder:text-muted-foreground",
|
|
198
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.currentInput, {
|
|
199
|
-
testId: "change-password-current-input"
|
|
200
|
-
})
|
|
201
|
-
}
|
|
202
|
-
)
|
|
203
|
-
] }),
|
|
204
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
205
|
-
chunkADOKTJHV_cjs.PasswordStrengthInput,
|
|
206
|
-
{
|
|
207
|
-
password: newPassword,
|
|
208
|
-
confirmPassword,
|
|
209
|
-
onPasswordChange: onNewPasswordChange,
|
|
210
|
-
onConfirmPasswordChange,
|
|
211
|
-
showConfirmation: true,
|
|
212
|
-
disabled: isProcessing,
|
|
213
|
-
passwordLabel: recoveryMode ? l.masterPassword : l.newPassword,
|
|
214
|
-
confirmLabel: recoveryMode ? l.confirmPassword : l.confirmNewPassword,
|
|
215
|
-
labels: passwordInputLabels,
|
|
216
|
-
testIds: passwordInputTestIds,
|
|
217
|
-
layout: recoveryMode ? "side-by-side" : "stacked",
|
|
218
|
-
showStrengthIndicator: true,
|
|
219
|
-
getUnmetRequirement
|
|
220
|
-
}
|
|
221
|
-
),
|
|
222
|
-
workspaceCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
223
|
-
"div",
|
|
224
|
-
{
|
|
225
|
-
className: "rounded-md bg-green-bg p-3",
|
|
226
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.workspaceCount, {
|
|
227
|
-
testId: "change-password-workspace-count"
|
|
228
|
-
}),
|
|
229
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
230
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "h-5 w-5 flex-shrink-0 text-green-text" }),
|
|
231
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-green-text", children: l.workspacesRekeyed(workspaceCount) })
|
|
232
|
-
] })
|
|
233
|
-
}
|
|
234
|
-
),
|
|
235
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
236
|
-
"div",
|
|
237
|
-
{
|
|
238
|
-
className: "rounded-md bg-red-bg p-3",
|
|
239
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.error, { testId: "change-password-error" }),
|
|
240
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
241
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-5 w-5 flex-shrink-0 text-red-text" }),
|
|
242
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-text", children: error })
|
|
243
|
-
] })
|
|
244
|
-
}
|
|
245
|
-
),
|
|
246
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col-reverse sm:flex-row sm:justify-end gap-3 pt-4", children: [
|
|
247
|
-
!recoveryMode && /* @__PURE__ */ jsxRuntime.jsx(
|
|
248
|
-
ui.Button,
|
|
249
|
-
{
|
|
250
|
-
type: "button",
|
|
251
|
-
variant: "outline",
|
|
252
|
-
onClick: onClose,
|
|
253
|
-
disabled: isProcessing,
|
|
254
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.cancel, {
|
|
255
|
-
testId: "change-password-cancel-button"
|
|
256
|
-
}),
|
|
257
|
-
children: l.cancel
|
|
258
|
-
}
|
|
259
|
-
),
|
|
260
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
261
|
-
ui.Button,
|
|
262
|
-
{
|
|
263
|
-
type: "submit",
|
|
264
|
-
disabled: isSubmitDisabled,
|
|
265
|
-
className: recoveryMode ? "w-full" : "",
|
|
266
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.submit, { testId: "change-password-submit-button" }),
|
|
267
|
-
children: isProcessing ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
268
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
|
|
269
|
-
recoveryMode ? l.settingPassword : l.changingPassword
|
|
270
|
-
] }) : recoveryMode ? l.continue : l.changePassword
|
|
271
|
-
}
|
|
272
|
-
)
|
|
273
|
-
] })
|
|
274
|
-
] })
|
|
275
|
-
]
|
|
276
|
-
}
|
|
277
|
-
) });
|
|
278
|
-
}
|
|
279
|
-
var DEFAULT_LOGOUT_DIALOG_LABELS = {
|
|
280
|
-
title: "Logout",
|
|
281
|
-
descriptionAll: "End this session or all active sessions?",
|
|
282
|
-
descriptionThis: "End this session and return to the login page.",
|
|
283
|
-
cancel: "Cancel",
|
|
284
|
-
allSessions: "All sessions",
|
|
285
|
-
offlineTooltip: "Ending all sessions needs a connection \u2014 you can still log out of this device.",
|
|
286
|
-
thisSession: "This session",
|
|
287
|
-
offlineNote: "You\u2019re offline \u2014 ending all sessions needs a connection. You can still log out of this device.",
|
|
288
|
-
activeSessions: (count) => chunkKDG6FER6_cjs.formatCount(count, { one: "active session", other: "active sessions" }),
|
|
289
|
-
workspaces: (count) => chunkKDG6FER6_cjs.formatCount(count, { one: "workspace", other: "workspaces" }),
|
|
290
|
-
ttl: (ttlLabel) => `TTL ${ttlLabel}`
|
|
291
|
-
};
|
|
292
|
-
function SessionRow({
|
|
293
|
-
session,
|
|
294
|
-
icon,
|
|
295
|
-
labels
|
|
296
|
-
}) {
|
|
297
|
-
const { status } = session;
|
|
298
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 rounded-md bg-muted/50 px-3 py-2", children: [
|
|
299
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0", children: icon }),
|
|
300
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
301
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
302
|
-
/* @__PURE__ */ jsxRuntime.jsx("code", { className: "truncate font-mono text-sm", children: session.id.slice(0, 12) }),
|
|
303
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
304
|
-
ui.Badge,
|
|
305
|
-
{
|
|
306
|
-
variant: status === "agent" ? "default" : "secondary",
|
|
307
|
-
className: "px-1 py-0 text-sm",
|
|
308
|
-
children: status
|
|
309
|
-
}
|
|
310
|
-
)
|
|
311
|
-
] }),
|
|
312
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
313
|
-
session.ipAddress && /* @__PURE__ */ jsxRuntime.jsx("span", { children: session.ipAddress }),
|
|
314
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: labels.ttl(session.ttlLabel) }),
|
|
315
|
-
session.workspaceCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { children: labels.workspaces(session.workspaceCount) })
|
|
316
|
-
] })
|
|
317
|
-
] })
|
|
318
|
-
] });
|
|
319
|
-
}
|
|
320
|
-
function LogoutDialog({
|
|
321
|
-
open,
|
|
322
|
-
onClose,
|
|
323
|
-
onLogoutThis,
|
|
324
|
-
onLogoutAll,
|
|
325
|
-
canLogoutAll,
|
|
326
|
-
isOnline,
|
|
327
|
-
sessions,
|
|
328
|
-
renderSessionIcon,
|
|
329
|
-
labels,
|
|
330
|
-
testId,
|
|
331
|
-
testIds
|
|
332
|
-
}) {
|
|
333
|
-
const l = react.useMemo(() => ({ ...DEFAULT_LOGOUT_DIALOG_LABELS, ...labels }), [labels]);
|
|
334
|
-
const [sessionsOpen, setSessionsOpen] = react.useState(false);
|
|
335
|
-
const restoreFocus = chunkULWRNGGE_cjs.useRestoreFocus();
|
|
336
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange: (next) => !next && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
337
|
-
ui.DialogContent,
|
|
338
|
-
{
|
|
339
|
-
...restoreFocus,
|
|
340
|
-
className: "sm:max-w-md",
|
|
341
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "logout-modal" }),
|
|
342
|
-
children: [
|
|
343
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
|
|
344
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
345
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.LogOut, { className: "h-6 w-6" }),
|
|
346
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: l.title })
|
|
347
|
-
] }),
|
|
348
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "text-base", children: canLogoutAll ? l.descriptionAll : l.descriptionThis })
|
|
349
|
-
] }),
|
|
350
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogFooter, { className: "gap-2", children: [
|
|
351
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
352
|
-
ui.Button,
|
|
353
|
-
{
|
|
354
|
-
variant: "outline",
|
|
355
|
-
onClick: onClose,
|
|
356
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.cancel, { testId: "logout-modal-cancel-button" }),
|
|
357
|
-
children: l.cancel
|
|
358
|
-
}
|
|
359
|
-
),
|
|
360
|
-
canLogoutAll && /* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
-
ui.Button,
|
|
362
|
-
{
|
|
363
|
-
variant: "secondary",
|
|
364
|
-
onClick: onLogoutAll,
|
|
365
|
-
disabled: !isOnline,
|
|
366
|
-
title: isOnline ? void 0 : l.offlineTooltip,
|
|
367
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.all, { testId: "logout-modal-all-button" }),
|
|
368
|
-
children: l.allSessions
|
|
369
|
-
}
|
|
370
|
-
),
|
|
371
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
372
|
-
ui.Button,
|
|
373
|
-
{
|
|
374
|
-
variant: "default",
|
|
375
|
-
onClick: onLogoutThis,
|
|
376
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.this, { testId: "logout-modal-this-button" }),
|
|
377
|
-
children: l.thisSession
|
|
378
|
-
}
|
|
379
|
-
)
|
|
380
|
-
] }),
|
|
381
|
-
canLogoutAll && !isOnline && /* @__PURE__ */ jsxRuntime.jsx(
|
|
382
|
-
"p",
|
|
383
|
-
{
|
|
384
|
-
className: "text-sm text-muted-foreground",
|
|
385
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.offlineNote, { testId: "logout-offline-note" }),
|
|
386
|
-
children: l.offlineNote
|
|
387
|
-
}
|
|
388
|
-
),
|
|
389
|
-
sessions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(ui.Collapsible, { open: sessionsOpen, onOpenChange: setSessionsOpen, children: [
|
|
390
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.CollapsibleTrigger, { className: "flex w-full items-center gap-2 py-1 text-left transition-opacity hover:opacity-80 pointer-coarse:py-3", children: [
|
|
391
|
-
sessionsOpen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 flex-shrink-0" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4 flex-shrink-0" }),
|
|
392
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-sm font-medium text-muted-foreground", children: [
|
|
393
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Radio, { className: "h-3 w-3" }),
|
|
394
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: l.activeSessions(sessions.length) })
|
|
395
|
-
] })
|
|
396
|
-
] }),
|
|
397
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.CollapsibleContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-48 space-y-1.5 overflow-auto pt-2", children: sessions.map((session) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
398
|
-
SessionRow,
|
|
399
|
-
{
|
|
400
|
-
session,
|
|
401
|
-
icon: renderSessionIcon?.(session.status),
|
|
402
|
-
labels: l
|
|
403
|
-
},
|
|
404
|
-
session.id
|
|
405
|
-
)) }) })
|
|
406
|
-
] })
|
|
407
|
-
]
|
|
408
|
-
}
|
|
409
|
-
) });
|
|
410
|
-
}
|
|
411
|
-
var DEFAULT_SETTINGS_DANGER_ZONE_LABELS = {
|
|
412
|
-
dangerZone: "Danger Zone"
|
|
413
|
-
};
|
|
414
|
-
function SettingsPanel({ className, testId, ...props }) {
|
|
415
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
416
|
-
"div",
|
|
417
|
-
{
|
|
418
|
-
"data-slot": "settings-panel",
|
|
419
|
-
"data-testid": testId,
|
|
420
|
-
className: ui.cn("mx-auto w-full max-w-xl space-y-6", className),
|
|
421
|
-
...props
|
|
422
|
-
}
|
|
423
|
-
);
|
|
424
|
-
}
|
|
425
|
-
function SettingsSection({
|
|
426
|
-
icon,
|
|
427
|
-
title,
|
|
428
|
-
description,
|
|
429
|
-
action,
|
|
430
|
-
testId,
|
|
431
|
-
className,
|
|
432
|
-
children,
|
|
433
|
-
...props
|
|
434
|
-
}) {
|
|
435
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
436
|
-
"section",
|
|
437
|
-
{
|
|
438
|
-
"data-slot": "settings-section",
|
|
439
|
-
"data-testid": testId,
|
|
440
|
-
className: ui.cn("space-y-3", className),
|
|
441
|
-
...props,
|
|
442
|
-
children: [
|
|
443
|
-
(title || action) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
444
|
-
title && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
445
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground [&_svg]:h-4 [&_svg]:w-4", children: icon }),
|
|
446
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-base font-semibold text-foreground", children: title })
|
|
447
|
-
] }),
|
|
448
|
-
action
|
|
449
|
-
] }),
|
|
450
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: description }),
|
|
451
|
-
children
|
|
452
|
-
]
|
|
453
|
-
}
|
|
454
|
-
);
|
|
455
|
-
}
|
|
456
|
-
function SettingsRow({
|
|
457
|
-
label,
|
|
458
|
-
labelFor,
|
|
459
|
-
description,
|
|
460
|
-
children,
|
|
461
|
-
testId,
|
|
462
|
-
className,
|
|
463
|
-
...props
|
|
464
|
-
}) {
|
|
465
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
466
|
-
"div",
|
|
467
|
-
{
|
|
468
|
-
"data-slot": "settings-row",
|
|
469
|
-
"data-testid": testId,
|
|
470
|
-
className: ui.cn(
|
|
471
|
-
"flex flex-col gap-2 py-2 @xl:flex-row @xl:items-center @xl:justify-between @xl:gap-6",
|
|
472
|
-
className
|
|
473
|
-
),
|
|
474
|
-
...props,
|
|
475
|
-
children: [
|
|
476
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
477
|
-
labelFor ? /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: labelFor, className: "text-sm font-medium text-foreground", children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium text-foreground", children: label }),
|
|
478
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", children: description })
|
|
479
|
-
] }),
|
|
480
|
-
children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children })
|
|
481
|
-
]
|
|
482
|
-
}
|
|
483
|
-
);
|
|
484
|
-
}
|
|
485
|
-
function SettingsCard({ padding = "md", className, ...props }) {
|
|
486
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
487
|
-
"div",
|
|
488
|
-
{
|
|
489
|
-
"data-slot": "settings-card",
|
|
490
|
-
className: ui.cn(
|
|
491
|
-
"rounded-lg bg-muted",
|
|
492
|
-
padding === "md" ? "space-y-5 p-5" : "divide-y divide-border p-2",
|
|
493
|
-
className
|
|
494
|
-
),
|
|
495
|
-
...props
|
|
496
|
-
}
|
|
497
|
-
);
|
|
498
|
-
}
|
|
499
|
-
function SettingsActionRow({ title, description, onClick, testId }) {
|
|
500
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
501
|
-
"button",
|
|
502
|
-
{
|
|
503
|
-
type: "button",
|
|
504
|
-
onClick,
|
|
505
|
-
"data-slot": "settings-action-row",
|
|
506
|
-
"data-testid": testId,
|
|
507
|
-
className: "flex w-full items-center gap-3 rounded-md px-3 py-3 text-left transition-colors hover:bg-background/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
|
|
508
|
-
children: [
|
|
509
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
510
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
511
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description })
|
|
512
|
-
] }),
|
|
513
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-4 w-4 shrink-0 text-muted-foreground" })
|
|
514
|
-
]
|
|
515
|
-
}
|
|
516
|
-
);
|
|
517
|
-
}
|
|
518
|
-
function SettingsDangerZone({
|
|
519
|
-
isOpen,
|
|
520
|
-
onToggle,
|
|
521
|
-
label,
|
|
522
|
-
title,
|
|
523
|
-
description,
|
|
524
|
-
action,
|
|
525
|
-
labels
|
|
526
|
-
}) {
|
|
527
|
-
const l = react.useMemo(() => ({ ...DEFAULT_SETTINGS_DANGER_ZONE_LABELS, ...labels }), [labels]);
|
|
528
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "settings-danger-zone", className: "mt-8 pt-2", children: [
|
|
529
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
530
|
-
"button",
|
|
531
|
-
{
|
|
532
|
-
type: "button",
|
|
533
|
-
onClick: onToggle,
|
|
534
|
-
"aria-expanded": isOpen,
|
|
535
|
-
className: "flex w-full items-center gap-1.5 text-left pointer-coarse:min-h-11",
|
|
536
|
-
children: [
|
|
537
|
-
isOpen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-3.5 w-3.5 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "h-3.5 w-3.5 text-muted-foreground" }),
|
|
538
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-muted-foreground", children: label ?? l.dangerZone })
|
|
539
|
-
]
|
|
540
|
-
}
|
|
541
|
-
),
|
|
542
|
-
isOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 flex items-center justify-between gap-4 rounded-lg bg-destructive/5 p-4", children: [
|
|
543
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
544
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: title }),
|
|
545
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: description })
|
|
546
|
-
] }),
|
|
547
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: action })
|
|
548
|
-
] })
|
|
549
|
-
] });
|
|
550
|
-
}
|
|
551
105
|
function SegmentedControl({
|
|
552
106
|
value,
|
|
553
107
|
onChange,
|
|
@@ -848,8 +402,8 @@ function ConversationTitleSection({
|
|
|
848
402
|
}) {
|
|
849
403
|
const l = react.useMemo(() => ({ ...DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, ...labels }), [labels]);
|
|
850
404
|
const trimmed = title.trim();
|
|
851
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
852
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
405
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalSection, { className: SECTION_CLASS, children: [
|
|
406
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk2ZTONLT5_cjs.ModalSectionTitle, { children: l.title }),
|
|
853
407
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
854
408
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
855
409
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -929,8 +483,8 @@ function ModelSelectionSection({
|
|
|
929
483
|
{ icon: lucideReact.History, label: l.lastUsed },
|
|
930
484
|
{ icon: lucideReact.Brain, label: l.deepThinking }
|
|
931
485
|
];
|
|
932
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
933
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
486
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalSection, { className: SECTION_CLASS, children: [
|
|
487
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk2ZTONLT5_cjs.ModalSectionTitle, { children: l.title }),
|
|
934
488
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
935
489
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: l.description }),
|
|
936
490
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -1018,111 +572,6 @@ function WorkOfflineToggle({
|
|
|
1018
572
|
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: isOffline ? l.goOnlineHint : l.workOfflineHint }) })
|
|
1019
573
|
] });
|
|
1020
574
|
}
|
|
1021
|
-
function SettingsSwitchRow({
|
|
1022
|
-
id,
|
|
1023
|
-
title,
|
|
1024
|
-
icon,
|
|
1025
|
-
description,
|
|
1026
|
-
checked,
|
|
1027
|
-
onCheckedChange,
|
|
1028
|
-
testId,
|
|
1029
|
-
disabled,
|
|
1030
|
-
className
|
|
1031
|
-
}) {
|
|
1032
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1033
|
-
"div",
|
|
1034
|
-
{
|
|
1035
|
-
"data-slot": "settings-switch-row",
|
|
1036
|
-
className: ui.cn("flex items-center justify-between gap-4", className),
|
|
1037
|
-
children: [
|
|
1038
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
1039
|
-
/* @__PURE__ */ jsxRuntime.jsxs("label", { htmlFor: id, className: "flex items-center gap-2 text-sm font-medium text-foreground", children: [
|
|
1040
|
-
icon,
|
|
1041
|
-
title
|
|
1042
|
-
] }),
|
|
1043
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: description })
|
|
1044
|
-
] }),
|
|
1045
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1046
|
-
ui.Switch,
|
|
1047
|
-
{
|
|
1048
|
-
id,
|
|
1049
|
-
checked,
|
|
1050
|
-
onCheckedChange,
|
|
1051
|
-
disabled,
|
|
1052
|
-
"data-testid": testId
|
|
1053
|
-
}
|
|
1054
|
-
)
|
|
1055
|
-
]
|
|
1056
|
-
}
|
|
1057
|
-
);
|
|
1058
|
-
}
|
|
1059
|
-
function SettingsSwitchGroup({
|
|
1060
|
-
className,
|
|
1061
|
-
children
|
|
1062
|
-
}) {
|
|
1063
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1064
|
-
"div",
|
|
1065
|
-
{
|
|
1066
|
-
"data-slot": "settings-switch-group",
|
|
1067
|
-
className: ui.cn("ml-6 space-y-4 border-l border-border pl-4", className),
|
|
1068
|
-
children
|
|
1069
|
-
}
|
|
1070
|
-
);
|
|
1071
|
-
}
|
|
1072
|
-
function NotificationCategoryList({
|
|
1073
|
-
masterId,
|
|
1074
|
-
masterTitle,
|
|
1075
|
-
masterDescription,
|
|
1076
|
-
masterChecked,
|
|
1077
|
-
onMasterChange,
|
|
1078
|
-
masterTestId,
|
|
1079
|
-
categories,
|
|
1080
|
-
onCategoryChange,
|
|
1081
|
-
idPrefix = masterId,
|
|
1082
|
-
testIdPrefix
|
|
1083
|
-
}) {
|
|
1084
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "notification-category-list", children: [
|
|
1085
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1086
|
-
SettingsSwitchRow,
|
|
1087
|
-
{
|
|
1088
|
-
id: masterId,
|
|
1089
|
-
title: masterTitle,
|
|
1090
|
-
description: masterDescription,
|
|
1091
|
-
checked: masterChecked,
|
|
1092
|
-
onCheckedChange: onMasterChange,
|
|
1093
|
-
testId: chunkMHVNT4J3_cjs.testIdOr(masterTestId, { testId: "toggle-email-notifications" })
|
|
1094
|
-
}
|
|
1095
|
-
),
|
|
1096
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-1 mt-3 space-y-3 border-l border-border pl-4 pointer-coarse:mt-5 pointer-coarse:space-y-5", children: categories.map((c) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1097
|
-
"label",
|
|
1098
|
-
{
|
|
1099
|
-
htmlFor: `${idPrefix}-${c.key}`,
|
|
1100
|
-
className: ui.cn(
|
|
1101
|
-
"flex items-start gap-3 pointer-coarse:min-h-11",
|
|
1102
|
-
masterChecked ? "cursor-pointer" : "cursor-not-allowed opacity-50"
|
|
1103
|
-
),
|
|
1104
|
-
children: [
|
|
1105
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1106
|
-
ui.Checkbox,
|
|
1107
|
-
{
|
|
1108
|
-
id: `${idPrefix}-${c.key}`,
|
|
1109
|
-
checked: c.checked,
|
|
1110
|
-
disabled: !masterChecked,
|
|
1111
|
-
onCheckedChange: (value) => onCategoryChange(c.key, value === true),
|
|
1112
|
-
"data-testid": chunkMHVNT4J3_cjs.prefixedTestId(testIdPrefix, c.key, { testId: `toggle-email-${c.key}` }),
|
|
1113
|
-
className: "mt-0.5 size-5 shrink-0"
|
|
1114
|
-
}
|
|
1115
|
-
),
|
|
1116
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
1117
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: c.label }),
|
|
1118
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: c.description })
|
|
1119
|
-
] })
|
|
1120
|
-
]
|
|
1121
|
-
},
|
|
1122
|
-
c.key
|
|
1123
|
-
)) })
|
|
1124
|
-
] });
|
|
1125
|
-
}
|
|
1126
575
|
var GRID_ACCENT_CLASSES = [
|
|
1127
576
|
"[&_.ag-checkbox-input-wrapper.ag-checked]:!bg-primary",
|
|
1128
577
|
"[&_.ag-checkbox-input-wrapper.ag-checked]:!border-primary",
|
|
@@ -1202,7 +651,7 @@ function ThreadPreviewDialog({
|
|
|
1202
651
|
style: { width: `${width}px`, maxWidth: "95vw", height: "80vh", maxHeight: "90vh" },
|
|
1203
652
|
"data-testid": testId,
|
|
1204
653
|
children: [
|
|
1205
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
654
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalHeader, { children: [
|
|
1206
655
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-3", children: crumbs.map((c, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-3", children: [
|
|
1207
656
|
i > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "/" }),
|
|
1208
657
|
c.icon,
|
|
@@ -1473,7 +922,7 @@ function TipsEditorDialog({
|
|
|
1473
922
|
{ value: "url", label: l.externalLink }
|
|
1474
923
|
];
|
|
1475
924
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1476
|
-
|
|
925
|
+
chunk2ZTONLT5_cjs.ModalScaffold,
|
|
1477
926
|
{
|
|
1478
927
|
open,
|
|
1479
928
|
onOpenChange,
|
|
@@ -2723,281 +2172,49 @@ function ReferralCreditSummary({
|
|
|
2723
2172
|
className: "rounded-lg bg-green-bg/60 p-3 text-sm",
|
|
2724
2173
|
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "referral-credit-summary" }),
|
|
2725
2174
|
children: breakdown ? /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "space-y-1 tabular-nums", children: [
|
|
2726
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-muted-foreground", children: [
|
|
2727
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { children: l.subtotal }),
|
|
2728
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { children: breakdown.subtotal })
|
|
2729
|
-
] }),
|
|
2730
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-green-text", children: [
|
|
2731
|
-
/* @__PURE__ */ jsxRuntime.jsxs("dt", { className: "flex items-center gap-1.5", children: [
|
|
2732
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Gift, { className: "h-3.5 w-3.5" }),
|
|
2733
|
-
l.reward
|
|
2734
|
-
] }),
|
|
2735
|
-
/* @__PURE__ */ jsxRuntime.jsxs("dd", { "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.applied, { testId: "referral-credit-applied" }), children: [
|
|
2736
|
-
"\u2212",
|
|
2737
|
-
breakdown.reward
|
|
2738
|
-
] })
|
|
2739
|
-
] }),
|
|
2740
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-green-border pt-1 font-semibold text-foreground", children: [
|
|
2741
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { children: l.youPayNow }),
|
|
2742
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.youPay, { testId: "referral-credit-you-pay" }), children: breakdown.youPay })
|
|
2743
|
-
] }),
|
|
2744
|
-
breakdown.rollover && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "pt-0.5 text-xs font-normal text-muted-foreground", children: l.rollover(breakdown.rollover) })
|
|
2745
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "flex items-center gap-1.5 font-medium text-green-text", children: [
|
|
2746
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Gift, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
2747
|
-
l.applied(amountLabel)
|
|
2748
|
-
] })
|
|
2749
|
-
}
|
|
2750
|
-
);
|
|
2751
|
-
}
|
|
2752
|
-
function ReferralCreditNote({
|
|
2753
|
-
amountLabel,
|
|
2754
|
-
labels,
|
|
2755
|
-
testId
|
|
2756
|
-
}) {
|
|
2757
|
-
const l = react.useMemo(() => ({ ...DEFAULT_REFERRAL_CREDIT_LABELS, ...labels }), [labels]);
|
|
2758
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2759
|
-
"p",
|
|
2760
|
-
{
|
|
2761
|
-
className: "flex items-center gap-1.5 text-sm text-green-text",
|
|
2762
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "referral-credit-note" }),
|
|
2763
|
-
children: [
|
|
2764
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Gift, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
2765
|
-
l.note(amountLabel)
|
|
2766
|
-
]
|
|
2767
|
-
}
|
|
2768
|
-
);
|
|
2769
|
-
}
|
|
2770
|
-
var DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS = {
|
|
2771
|
-
title: "Active sessions",
|
|
2772
|
-
description: "Devices and agents currently signed in to your account. Ending a session signs it out immediately.",
|
|
2773
|
-
noSessions: "No active sessions.",
|
|
2774
|
-
thisDevice: "This device",
|
|
2775
|
-
agent: "Agent",
|
|
2776
|
-
endSession: "End this session"
|
|
2777
|
-
};
|
|
2778
|
-
var DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS = {
|
|
2779
|
-
warningTitle: "Delete your account?",
|
|
2780
|
-
warningBefore: "Once deleted, your account will be ",
|
|
2781
|
-
warningEmphasis: "immediately closed and you will be logged out",
|
|
2782
|
-
warningAfter: ". This action cannot be undone.",
|
|
2783
|
-
blockersHeading: "You must resolve these first:",
|
|
2784
|
-
cancel: "Cancel",
|
|
2785
|
-
continue: "Continue",
|
|
2786
|
-
confirmTitle: "Confirm account deletion",
|
|
2787
|
-
confirmDescription: "Type your email address to confirm. Your account will be closed immediately and you will be logged out.",
|
|
2788
|
-
yourEmail: "Your email",
|
|
2789
|
-
back: "Back",
|
|
2790
|
-
deleting: "Deleting...",
|
|
2791
|
-
deleteAccount: "Delete Account"
|
|
2792
|
-
};
|
|
2793
|
-
function SessionListRow({
|
|
2794
|
-
session,
|
|
2795
|
-
onTerminate,
|
|
2796
|
-
labels,
|
|
2797
|
-
testIds
|
|
2798
|
-
}) {
|
|
2799
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2800
|
-
"div",
|
|
2801
|
-
{
|
|
2802
|
-
className: "flex w-full items-center gap-3 border-b border-border/60 px-4 py-3 last:border-b-0",
|
|
2803
|
-
"data-testid": chunkMHVNT4J3_cjs.prefixedTestId(testIds?.sessionItem, session.id, {
|
|
2804
|
-
testId: `session-item-${session.id}`
|
|
2805
|
-
}),
|
|
2806
|
-
children: [
|
|
2807
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-full bg-muted", children: session.icon }),
|
|
2808
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2809
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2810
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-sm font-semibold text-foreground", children: session.name }),
|
|
2811
|
-
session.isCurrent && /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { className: "border-transparent bg-accent px-1.5 py-0 text-xs text-accent-foreground shadow-none hover:bg-accent", children: labels.thisDevice }),
|
|
2812
|
-
session.isAgent && /* @__PURE__ */ jsxRuntime.jsx(ui.Badge, { variant: "default", className: "px-1 py-0 text-xs", children: labels.agent })
|
|
2813
|
-
] }),
|
|
2814
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 truncate text-xs text-muted-foreground", children: session.detail })
|
|
2815
|
-
] }),
|
|
2816
|
-
!session.isCurrent && /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
2817
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2818
|
-
ui.Button,
|
|
2819
|
-
{
|
|
2820
|
-
type: "button",
|
|
2821
|
-
variant: "ghost",
|
|
2822
|
-
size: "icon",
|
|
2823
|
-
className: "h-8 w-8 shrink-0 text-muted-foreground hover:text-destructive",
|
|
2824
|
-
"aria-label": labels.endSession,
|
|
2825
|
-
onClick: () => onTerminate(session.id),
|
|
2826
|
-
disabled: session.isTerminating,
|
|
2827
|
-
"data-testid": chunkMHVNT4J3_cjs.prefixedTestId(
|
|
2828
|
-
testIds?.terminateSession,
|
|
2829
|
-
session.id,
|
|
2830
|
-
{ testId: `terminate-session-${session.id}-button` },
|
|
2831
|
-
"-button"
|
|
2832
|
-
),
|
|
2833
|
-
children: session.isTerminating ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LogOut, { className: "h-4 w-4" })
|
|
2834
|
-
}
|
|
2835
|
-
) }),
|
|
2836
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { children: labels.endSession })
|
|
2837
|
-
] })
|
|
2838
|
-
]
|
|
2839
|
-
}
|
|
2840
|
-
);
|
|
2841
|
-
}
|
|
2842
|
-
function ActiveSessionsDialog({
|
|
2843
|
-
open,
|
|
2844
|
-
onOpenChange,
|
|
2845
|
-
isLoading,
|
|
2846
|
-
sessions,
|
|
2847
|
-
onTerminate,
|
|
2848
|
-
labels,
|
|
2849
|
-
testId,
|
|
2850
|
-
testIds
|
|
2851
|
-
}) {
|
|
2852
|
-
const l = react.useMemo(() => ({ ...DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS, ...labels }), [labels]);
|
|
2853
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2854
|
-
ui.DialogContent,
|
|
2855
|
-
{
|
|
2856
|
-
presentation: "sheet",
|
|
2857
|
-
className: "sm:max-w-lg",
|
|
2858
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "active-sessions-dialog" }),
|
|
2859
|
-
children: [
|
|
2860
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
|
|
2861
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
2862
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Radio, { className: "h-6 w-6" }),
|
|
2863
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: l.title })
|
|
2864
|
-
] }),
|
|
2865
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: l.description })
|
|
2866
|
-
] }),
|
|
2867
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-5 w-5 animate-spin text-muted-foreground" }) }) : sessions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-4 text-center text-sm text-muted-foreground", children: l.noSessions }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2868
|
-
"div",
|
|
2869
|
-
{
|
|
2870
|
-
className: "-mx-2 max-h-96 overflow-auto rounded-lg bg-muted",
|
|
2871
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.list, { testId: "session-list" }),
|
|
2872
|
-
children: sessions.map((session) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2873
|
-
SessionListRow,
|
|
2874
|
-
{
|
|
2875
|
-
session,
|
|
2876
|
-
onTerminate,
|
|
2877
|
-
labels: l,
|
|
2878
|
-
testIds
|
|
2879
|
-
},
|
|
2880
|
-
session.id
|
|
2881
|
-
))
|
|
2882
|
-
}
|
|
2883
|
-
)
|
|
2884
|
-
]
|
|
2885
|
-
}
|
|
2886
|
-
) });
|
|
2887
|
-
}
|
|
2888
|
-
function DeleteAccountDialog({
|
|
2889
|
-
open,
|
|
2890
|
-
onClose,
|
|
2891
|
-
step,
|
|
2892
|
-
blockers,
|
|
2893
|
-
onContinue,
|
|
2894
|
-
onBack,
|
|
2895
|
-
userEmail,
|
|
2896
|
-
confirmEmail,
|
|
2897
|
-
onConfirmEmailChange,
|
|
2898
|
-
isDeleting,
|
|
2899
|
-
onSubmit,
|
|
2900
|
-
labels,
|
|
2901
|
-
testId,
|
|
2902
|
-
testIds
|
|
2903
|
-
}) {
|
|
2904
|
-
const confirmEmailId = react.useId();
|
|
2905
|
-
const l = react.useMemo(() => ({ ...DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS, ...labels }), [labels]);
|
|
2906
|
-
const emailMatches = confirmEmail.toLowerCase() === userEmail.toLowerCase();
|
|
2907
|
-
return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2908
|
-
ui.DialogContent,
|
|
2909
|
-
{
|
|
2910
|
-
presentation: "sheet",
|
|
2911
|
-
className: "sm:max-w-md",
|
|
2912
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "delete-account-dialog" }),
|
|
2913
|
-
children: step === "warning" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2914
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
|
|
2915
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogTitle, { className: "flex items-center gap-2", children: [
|
|
2916
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "h-5 w-5 text-destructive" }),
|
|
2917
|
-
l.warningTitle
|
|
2175
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-muted-foreground", children: [
|
|
2176
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { children: l.subtotal }),
|
|
2177
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { children: breakdown.subtotal })
|
|
2178
|
+
] }),
|
|
2179
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-green-text", children: [
|
|
2180
|
+
/* @__PURE__ */ jsxRuntime.jsxs("dt", { className: "flex items-center gap-1.5", children: [
|
|
2181
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Gift, { className: "h-3.5 w-3.5" }),
|
|
2182
|
+
l.reward
|
|
2918
2183
|
] }),
|
|
2919
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
l.warningAfter
|
|
2184
|
+
/* @__PURE__ */ jsxRuntime.jsxs("dd", { "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.applied, { testId: "referral-credit-applied" }), children: [
|
|
2185
|
+
"\u2212",
|
|
2186
|
+
breakdown.reward
|
|
2923
2187
|
] })
|
|
2924
2188
|
] }),
|
|
2925
|
-
|
|
2926
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
2927
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
2928
|
-
] }),
|
|
2929
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col-reverse sm:flex-row sm:justify-end gap-2 pt-2", children: [
|
|
2930
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2931
|
-
ui.Button,
|
|
2932
|
-
{
|
|
2933
|
-
variant: "outline",
|
|
2934
|
-
onClick: onClose,
|
|
2935
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.cancel, { testId: "delete-account-cancel-button" }),
|
|
2936
|
-
children: l.cancel
|
|
2937
|
-
}
|
|
2938
|
-
),
|
|
2939
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2940
|
-
ui.Button,
|
|
2941
|
-
{
|
|
2942
|
-
variant: "destructive",
|
|
2943
|
-
disabled: blockers.length > 0,
|
|
2944
|
-
onClick: onContinue,
|
|
2945
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.continue, {
|
|
2946
|
-
testId: "delete-account-continue-button"
|
|
2947
|
-
}),
|
|
2948
|
-
children: l.continue
|
|
2949
|
-
}
|
|
2950
|
-
)
|
|
2951
|
-
] })
|
|
2952
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2953
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
|
|
2954
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: l.confirmTitle }),
|
|
2955
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: l.confirmDescription })
|
|
2956
|
-
] }),
|
|
2957
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2958
|
-
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: confirmEmailId, className: "mb-1 block text-sm font-medium", children: l.yourEmail }),
|
|
2959
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2960
|
-
ui.Input,
|
|
2961
|
-
{
|
|
2962
|
-
id: confirmEmailId,
|
|
2963
|
-
type: "email",
|
|
2964
|
-
placeholder: userEmail,
|
|
2965
|
-
value: confirmEmail,
|
|
2966
|
-
onChange: (e) => onConfirmEmailChange(e.target.value),
|
|
2967
|
-
autoFocus: true,
|
|
2968
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.emailInput, {
|
|
2969
|
-
testId: "delete-account-email-input"
|
|
2970
|
-
})
|
|
2971
|
-
}
|
|
2972
|
-
)
|
|
2189
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-green-border pt-1 font-semibold text-foreground", children: [
|
|
2190
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { children: l.youPayNow }),
|
|
2191
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.youPay, { testId: "referral-credit-you-pay" }), children: breakdown.youPay })
|
|
2973
2192
|
] }),
|
|
2974
|
-
/* @__PURE__ */ jsxRuntime.
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
variant: "outline",
|
|
2979
|
-
onClick: onBack,
|
|
2980
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.back, { testId: "delete-account-back-button" }),
|
|
2981
|
-
children: l.back
|
|
2982
|
-
}
|
|
2983
|
-
),
|
|
2984
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2985
|
-
ui.Button,
|
|
2986
|
-
{
|
|
2987
|
-
variant: "destructive",
|
|
2988
|
-
disabled: !emailMatches || isDeleting,
|
|
2989
|
-
onClick: onSubmit,
|
|
2990
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.submit, { testId: "delete-account-submit-button" }),
|
|
2991
|
-
children: isDeleting ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2992
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
|
|
2993
|
-
l.deleting
|
|
2994
|
-
] }) : l.deleteAccount
|
|
2995
|
-
}
|
|
2996
|
-
)
|
|
2997
|
-
] })
|
|
2193
|
+
breakdown.rollover && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "pt-0.5 text-xs font-normal text-muted-foreground", children: l.rollover(breakdown.rollover) })
|
|
2194
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "flex items-center gap-1.5 font-medium text-green-text", children: [
|
|
2195
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Gift, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
2196
|
+
l.applied(amountLabel)
|
|
2998
2197
|
] })
|
|
2999
2198
|
}
|
|
3000
|
-
)
|
|
2199
|
+
);
|
|
2200
|
+
}
|
|
2201
|
+
function ReferralCreditNote({
|
|
2202
|
+
amountLabel,
|
|
2203
|
+
labels,
|
|
2204
|
+
testId
|
|
2205
|
+
}) {
|
|
2206
|
+
const l = react.useMemo(() => ({ ...DEFAULT_REFERRAL_CREDIT_LABELS, ...labels }), [labels]);
|
|
2207
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2208
|
+
"p",
|
|
2209
|
+
{
|
|
2210
|
+
className: "flex items-center gap-1.5 text-sm text-green-text",
|
|
2211
|
+
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "referral-credit-note" }),
|
|
2212
|
+
children: [
|
|
2213
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Gift, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
2214
|
+
l.note(amountLabel)
|
|
2215
|
+
]
|
|
2216
|
+
}
|
|
2217
|
+
);
|
|
3001
2218
|
}
|
|
3002
2219
|
var DEFAULT_CONNECTION_CARD_LABELS = {
|
|
3003
2220
|
connectedAs: (identity) => `Connected as ${identity}`,
|
|
@@ -3116,82 +2333,6 @@ function ConnectionsError({ message }) {
|
|
|
3116
2333
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: message })
|
|
3117
2334
|
] });
|
|
3118
2335
|
}
|
|
3119
|
-
var DEFAULT_AVATAR_PICKER_LABELS = {
|
|
3120
|
-
uploadingPicture: "Uploading picture",
|
|
3121
|
-
changeProfilePicture: "Change profile picture",
|
|
3122
|
-
change: "Change"
|
|
3123
|
-
};
|
|
3124
|
-
function AvatarPicker({
|
|
3125
|
-
pictureUrl,
|
|
3126
|
-
initials,
|
|
3127
|
-
fallbackClassName,
|
|
3128
|
-
isUploading,
|
|
3129
|
-
disabled,
|
|
3130
|
-
onFileChosen,
|
|
3131
|
-
testId = "avatar-uploader-input",
|
|
3132
|
-
labels
|
|
3133
|
-
}) {
|
|
3134
|
-
const l = react.useMemo(() => ({ ...DEFAULT_AVATAR_PICKER_LABELS, ...labels }), [labels]);
|
|
3135
|
-
const fileInputRef = react.useRef(null);
|
|
3136
|
-
const handleChange = (e) => {
|
|
3137
|
-
const file = e.target.files?.[0];
|
|
3138
|
-
e.target.value = "";
|
|
3139
|
-
if (file) onFileChosen(file);
|
|
3140
|
-
};
|
|
3141
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "avatar-picker", className: "group/avatar relative shrink-0", children: [
|
|
3142
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.Avatar, { className: "h-20 w-20 ring-1 ring-border", children: [
|
|
3143
|
-
pictureUrl && /* @__PURE__ */ jsxRuntime.jsx(ui.AvatarImage, { src: pictureUrl, alt: initials }),
|
|
3144
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3145
|
-
ui.AvatarFallback,
|
|
3146
|
-
{
|
|
3147
|
-
className: ui.cn("text-2xl font-semibold leading-none text-white", fallbackClassName),
|
|
3148
|
-
children: initials
|
|
3149
|
-
}
|
|
3150
|
-
)
|
|
3151
|
-
] }),
|
|
3152
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3153
|
-
"button",
|
|
3154
|
-
{
|
|
3155
|
-
type: "button",
|
|
3156
|
-
onClick: () => fileInputRef.current?.click(),
|
|
3157
|
-
disabled: disabled || isUploading,
|
|
3158
|
-
className: ui.cn(
|
|
3159
|
-
"absolute inset-0 flex items-center justify-center rounded-full",
|
|
3160
|
-
"bg-foreground/70 text-background",
|
|
3161
|
-
"opacity-0 focus-visible:opacity-100 group-hover/avatar:opacity-100",
|
|
3162
|
-
// Touch has no hover: keep the change affordance visible (lighter scrim over the photo).
|
|
3163
|
-
"pointer-coarse:opacity-100",
|
|
3164
|
-
"transition-opacity duration-200",
|
|
3165
|
-
"disabled:cursor-not-allowed disabled:opacity-100"
|
|
3166
|
-
),
|
|
3167
|
-
"aria-label": isUploading ? l.uploadingPicture : l.changeProfilePicture,
|
|
3168
|
-
children: isUploading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-6 w-6 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-0.5", children: [
|
|
3169
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Camera, { className: "h-5 w-5" }),
|
|
3170
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium", children: l.change })
|
|
3171
|
-
] })
|
|
3172
|
-
}
|
|
3173
|
-
),
|
|
3174
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3175
|
-
"span",
|
|
3176
|
-
{
|
|
3177
|
-
"aria-hidden": "true",
|
|
3178
|
-
className: "pointer-events-none absolute -bottom-1 -right-1 flex h-7 w-7 items-center justify-center rounded-full bg-background text-muted-foreground ring-1 ring-border",
|
|
3179
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Camera, { className: "h-3.5 w-3.5" })
|
|
3180
|
-
}
|
|
3181
|
-
),
|
|
3182
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3183
|
-
"input",
|
|
3184
|
-
{
|
|
3185
|
-
ref: fileInputRef,
|
|
3186
|
-
type: "file",
|
|
3187
|
-
accept: "image/png,image/jpeg,image/webp,image/gif",
|
|
3188
|
-
onChange: handleChange,
|
|
3189
|
-
className: "hidden",
|
|
3190
|
-
"data-testid": testId
|
|
3191
|
-
}
|
|
3192
|
-
)
|
|
3193
|
-
] });
|
|
3194
|
-
}
|
|
3195
2336
|
var DEFAULT_PROJECT_LIST_LABELS = {
|
|
3196
2337
|
loading: "Loading projects...",
|
|
3197
2338
|
empty: "No projects yet. Create one to get started.",
|
|
@@ -3485,7 +2626,7 @@ function WelcomeDialog({
|
|
|
3485
2626
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: l.description })
|
|
3486
2627
|
] }),
|
|
3487
2628
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3488
|
-
|
|
2629
|
+
chunk2ZTONLT5_cjs.ModalSection,
|
|
3489
2630
|
{
|
|
3490
2631
|
className: "space-y-4",
|
|
3491
2632
|
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.copy, { testId: "welcome-modal-copy" }),
|
|
@@ -3521,7 +2662,7 @@ function WelcomeDialog({
|
|
|
3521
2662
|
]
|
|
3522
2663
|
}
|
|
3523
2664
|
),
|
|
3524
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2665
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalSection, { className: "space-y-2.5", children: [
|
|
3525
2666
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
3526
2667
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
3527
2668
|
l.referralBefore,
|
|
@@ -3574,7 +2715,7 @@ function InviteContactsDialog({
|
|
|
3574
2715
|
}) {
|
|
3575
2716
|
const l = react.useMemo(() => ({ ...DEFAULT_INVITE_CONTACTS_DIALOG_LABELS, ...labels }), [labels]);
|
|
3576
2717
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3577
|
-
|
|
2718
|
+
chunk2ZTONLT5_cjs.ModalScaffold,
|
|
3578
2719
|
{
|
|
3579
2720
|
open,
|
|
3580
2721
|
onOpenChange: (next) => !next && onClose(),
|
|
@@ -3584,7 +2725,7 @@ function InviteContactsDialog({
|
|
|
3584
2725
|
size: "lg",
|
|
3585
2726
|
className: "sm:max-w-lg",
|
|
3586
2727
|
testId,
|
|
3587
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2728
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunk2ZTONLT5_cjs.ModalSection, { children })
|
|
3588
2729
|
}
|
|
3589
2730
|
);
|
|
3590
2731
|
}
|
|
@@ -4105,210 +3246,6 @@ function ProjectCardView({
|
|
|
4105
3246
|
}
|
|
4106
3247
|
);
|
|
4107
3248
|
}
|
|
4108
|
-
var DEFAULT_PROFILE_CARD_LABELS = {
|
|
4109
|
-
firstName: "First name",
|
|
4110
|
-
lastName: "Last name",
|
|
4111
|
-
save: "Save",
|
|
4112
|
-
cancel: "Cancel",
|
|
4113
|
-
sso: "SSO",
|
|
4114
|
-
ssoTooltip: "Your email is managed by your sign-in provider. Change it there and it will sync here automatically on your next sign-in.",
|
|
4115
|
-
change: "Change",
|
|
4116
|
-
newEmailAddress: "New email address",
|
|
4117
|
-
emailPlaceholder: "you@example.com",
|
|
4118
|
-
codeWillBeSent: "We\u2019ll send a 3-word verification code to this address.",
|
|
4119
|
-
sendCode: "Send code",
|
|
4120
|
-
verify: (email) => `Verify ${email}`,
|
|
4121
|
-
codePlaceholder: "WORD-WORD-WORD",
|
|
4122
|
-
enterCodeHint: "Enter the 3-word code from the email we just sent.",
|
|
4123
|
-
confirm: "Confirm",
|
|
4124
|
-
resendIn: (seconds) => `Resend in ${seconds}s`,
|
|
4125
|
-
resendCode: "Resend code"
|
|
4126
|
-
};
|
|
4127
|
-
function ProfileCard({
|
|
4128
|
-
avatar,
|
|
4129
|
-
name,
|
|
4130
|
-
email,
|
|
4131
|
-
isSso,
|
|
4132
|
-
onStartEmailChange,
|
|
4133
|
-
emailChange,
|
|
4134
|
-
ssoTooltip,
|
|
4135
|
-
labels
|
|
4136
|
-
}) {
|
|
4137
|
-
const l = react.useMemo(() => ({ ...DEFAULT_PROFILE_CARD_LABELS, ...labels }), [labels]);
|
|
4138
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(SettingsCard, { children: [
|
|
4139
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-5", children: [
|
|
4140
|
-
avatar,
|
|
4141
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 space-y-3", children: [
|
|
4142
|
-
name.isEditing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
4143
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 @xl:flex-row", children: [
|
|
4144
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4145
|
-
ui.Input,
|
|
4146
|
-
{
|
|
4147
|
-
value: name.givenName,
|
|
4148
|
-
onChange: (e) => name.onGivenNameChange(e.target.value),
|
|
4149
|
-
placeholder: l.firstName,
|
|
4150
|
-
className: "flex-1",
|
|
4151
|
-
autoFocus: true
|
|
4152
|
-
}
|
|
4153
|
-
),
|
|
4154
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4155
|
-
ui.Input,
|
|
4156
|
-
{
|
|
4157
|
-
value: name.familyName,
|
|
4158
|
-
onChange: (e) => name.onFamilyNameChange(e.target.value),
|
|
4159
|
-
placeholder: l.lastName,
|
|
4160
|
-
className: "flex-1"
|
|
4161
|
-
}
|
|
4162
|
-
)
|
|
4163
|
-
] }),
|
|
4164
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4165
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4166
|
-
ui.Button,
|
|
4167
|
-
{
|
|
4168
|
-
onClick: name.onSave,
|
|
4169
|
-
size: "sm",
|
|
4170
|
-
disabled: !name.givenName.trim() || name.isSaving,
|
|
4171
|
-
children: [
|
|
4172
|
-
name.isSaving ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "mr-1 h-4 w-4" }),
|
|
4173
|
-
l.save
|
|
4174
|
-
]
|
|
4175
|
-
}
|
|
4176
|
-
),
|
|
4177
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: name.onCancel, size: "sm", variant: "ghost", disabled: name.isSaving, children: l.cancel })
|
|
4178
|
-
] })
|
|
4179
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
4180
|
-
"button",
|
|
4181
|
-
{
|
|
4182
|
-
type: "button",
|
|
4183
|
-
onClick: name.onStartEdit,
|
|
4184
|
-
className: "-mx-2 w-full rounded-md px-2 py-1 text-left transition-colors hover:bg-background/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
|
|
4185
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
4186
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate font-heading text-xl font-semibold text-foreground", children: name.display }),
|
|
4187
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" })
|
|
4188
|
-
] })
|
|
4189
|
-
}
|
|
4190
|
-
),
|
|
4191
|
-
!emailChange && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "-mx-2 flex min-w-0 items-center gap-2 px-2 py-1", children: [
|
|
4192
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
|
|
4193
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-muted-foreground", children: email }),
|
|
4194
|
-
isSso ? /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
4195
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4196
|
-
"span",
|
|
4197
|
-
{
|
|
4198
|
-
className: "ml-1 shrink-0 cursor-help rounded bg-background px-1.5 py-0.5 text-xs font-medium text-muted-foreground",
|
|
4199
|
-
tabIndex: 0,
|
|
4200
|
-
children: l.sso
|
|
4201
|
-
}
|
|
4202
|
-
) }),
|
|
4203
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { className: "max-w-xs", children: ssoTooltip ?? l.ssoTooltip })
|
|
4204
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
4205
|
-
"button",
|
|
4206
|
-
{
|
|
4207
|
-
type: "button",
|
|
4208
|
-
onClick: onStartEmailChange,
|
|
4209
|
-
className: "ml-auto shrink-0 text-xs font-medium text-primary hover:underline pointer-coarse:min-h-11",
|
|
4210
|
-
children: l.change
|
|
4211
|
-
}
|
|
4212
|
-
)
|
|
4213
|
-
] })
|
|
4214
|
-
] })
|
|
4215
|
-
] }),
|
|
4216
|
-
emailChange && !isSso && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "animate-accordion-down overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3 rounded-lg bg-background p-4", children: emailChange.step === "enter" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4217
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs font-medium text-muted-foreground", children: [
|
|
4218
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "h-3.5 w-3.5" }),
|
|
4219
|
-
l.newEmailAddress
|
|
4220
|
-
] }),
|
|
4221
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4222
|
-
ui.Input,
|
|
4223
|
-
{
|
|
4224
|
-
type: "email",
|
|
4225
|
-
value: emailChange.newEmail,
|
|
4226
|
-
onChange: (e) => emailChange.onNewEmailChange(e.target.value),
|
|
4227
|
-
placeholder: l.emailPlaceholder,
|
|
4228
|
-
autoFocus: true
|
|
4229
|
-
}
|
|
4230
|
-
),
|
|
4231
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: l.codeWillBeSent }),
|
|
4232
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 pt-1", children: [
|
|
4233
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4234
|
-
ui.Button,
|
|
4235
|
-
{
|
|
4236
|
-
onClick: emailChange.onSendCode,
|
|
4237
|
-
size: "sm",
|
|
4238
|
-
disabled: !emailChange.newEmail.trim() || emailChange.isSending,
|
|
4239
|
-
children: [
|
|
4240
|
-
emailChange.isSending ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "mr-1 h-4 w-4" }),
|
|
4241
|
-
l.sendCode
|
|
4242
|
-
]
|
|
4243
|
-
}
|
|
4244
|
-
),
|
|
4245
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4246
|
-
ui.Button,
|
|
4247
|
-
{
|
|
4248
|
-
onClick: emailChange.onCancel,
|
|
4249
|
-
size: "sm",
|
|
4250
|
-
variant: "ghost",
|
|
4251
|
-
disabled: emailChange.isSending,
|
|
4252
|
-
children: l.cancel
|
|
4253
|
-
}
|
|
4254
|
-
)
|
|
4255
|
-
] })
|
|
4256
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4257
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs font-medium text-muted-foreground", children: [
|
|
4258
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: "h-3.5 w-3.5" }),
|
|
4259
|
-
l.verify(emailChange.newEmail)
|
|
4260
|
-
] }),
|
|
4261
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4262
|
-
ui.Input,
|
|
4263
|
-
{
|
|
4264
|
-
value: emailChange.code,
|
|
4265
|
-
onChange: (e) => emailChange.onCodeChange(e.target.value.toUpperCase().replace(/\s+/g, "-")),
|
|
4266
|
-
className: ui.cn("text-center font-mono tracking-wider"),
|
|
4267
|
-
placeholder: l.codePlaceholder,
|
|
4268
|
-
autoFocus: true
|
|
4269
|
-
}
|
|
4270
|
-
),
|
|
4271
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: l.enterCodeHint }),
|
|
4272
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2 pt-1", children: [
|
|
4273
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4274
|
-
ui.Button,
|
|
4275
|
-
{
|
|
4276
|
-
onClick: emailChange.onConfirm,
|
|
4277
|
-
size: "sm",
|
|
4278
|
-
disabled: !emailChange.code.trim() || emailChange.isConfirming,
|
|
4279
|
-
children: [
|
|
4280
|
-
emailChange.isConfirming ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-1 h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "mr-1 h-4 w-4" }),
|
|
4281
|
-
l.confirm
|
|
4282
|
-
]
|
|
4283
|
-
}
|
|
4284
|
-
),
|
|
4285
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4286
|
-
ui.Button,
|
|
4287
|
-
{
|
|
4288
|
-
onClick: () => {
|
|
4289
|
-
if (emailChange.cooldownSeconds > 0) return;
|
|
4290
|
-
emailChange.onSendCode();
|
|
4291
|
-
},
|
|
4292
|
-
size: "sm",
|
|
4293
|
-
variant: "ghost",
|
|
4294
|
-
disabled: emailChange.cooldownSeconds > 0 || emailChange.isSending,
|
|
4295
|
-
children: emailChange.cooldownSeconds > 0 ? l.resendIn(emailChange.cooldownSeconds) : l.resendCode
|
|
4296
|
-
}
|
|
4297
|
-
),
|
|
4298
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4299
|
-
ui.Button,
|
|
4300
|
-
{
|
|
4301
|
-
onClick: emailChange.onCancel,
|
|
4302
|
-
size: "sm",
|
|
4303
|
-
variant: "ghost",
|
|
4304
|
-
disabled: emailChange.isConfirming,
|
|
4305
|
-
children: l.cancel
|
|
4306
|
-
}
|
|
4307
|
-
)
|
|
4308
|
-
] })
|
|
4309
|
-
] }) }) })
|
|
4310
|
-
] });
|
|
4311
|
-
}
|
|
4312
3249
|
var DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS = {
|
|
4313
3250
|
title: "Email this workspace",
|
|
4314
3251
|
description: "Send documents and questions here from your registered email address \u2014 your Assistant reads the email and replies.",
|
|
@@ -4679,8 +3616,8 @@ function QuotaExceededDialogView({
|
|
|
4679
3616
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: l.title }),
|
|
4680
3617
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: message })
|
|
4681
3618
|
] }),
|
|
4682
|
-
usage && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4683
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3619
|
+
usage && /* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalSection, { className: "space-y-2", children: [
|
|
3620
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk2ZTONLT5_cjs.ModalSectionTitle, { children: l.projectUsage }),
|
|
4684
3621
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Progress, { value: usage.percent, "aria-label": l.progress }),
|
|
4685
3622
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
4686
3623
|
"div",
|
|
@@ -4873,14 +3810,14 @@ function ErrorDialogView({
|
|
|
4873
3810
|
className: "flex max-h-panel w-modal max-w-modal-vw flex-col overflow-hidden p-0",
|
|
4874
3811
|
"data-testid": "error-boundary-modal",
|
|
4875
3812
|
children: [
|
|
4876
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3813
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalHeader, { children: [
|
|
4877
3814
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4878
3815
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "text-red-text", size: 24 }),
|
|
4879
3816
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: l.title })
|
|
4880
3817
|
] }) }),
|
|
4881
3818
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: l.srDescription })
|
|
4882
3819
|
] }),
|
|
4883
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-auto px-6 pb-6", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3820
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-auto px-6 pb-6", children: /* @__PURE__ */ jsxRuntime.jsxs(chunk2ZTONLT5_cjs.ModalSection, { "data-testid": "error-boundary", children: [
|
|
4884
3821
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-sm text-muted-foreground", children: l.reportHint }),
|
|
4885
3822
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-sm text-muted-foreground", children: l.refreshHint }),
|
|
4886
3823
|
details?.isShown && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 rounded border border-border bg-background p-3", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "max-h-96 overflow-auto whitespace-pre-wrap font-mono text-sm", children: details.text }) }),
|
|
@@ -4954,26 +3891,140 @@ Object.defineProperty(exports, "MultiSelect", {
|
|
|
4954
3891
|
});
|
|
4955
3892
|
Object.defineProperty(exports, "MODAL_SECTION_TITLE_CLASS", {
|
|
4956
3893
|
enumerable: true,
|
|
4957
|
-
get: function () { return
|
|
3894
|
+
get: function () { return chunk2ZTONLT5_cjs.MODAL_SECTION_TITLE_CLASS; }
|
|
4958
3895
|
});
|
|
4959
3896
|
Object.defineProperty(exports, "ModalHeader", {
|
|
4960
3897
|
enumerable: true,
|
|
4961
|
-
get: function () { return
|
|
3898
|
+
get: function () { return chunk2ZTONLT5_cjs.ModalHeader; }
|
|
4962
3899
|
});
|
|
4963
3900
|
Object.defineProperty(exports, "ModalScaffold", {
|
|
4964
3901
|
enumerable: true,
|
|
4965
|
-
get: function () { return
|
|
3902
|
+
get: function () { return chunk2ZTONLT5_cjs.ModalScaffold; }
|
|
4966
3903
|
});
|
|
4967
3904
|
Object.defineProperty(exports, "ModalSection", {
|
|
4968
3905
|
enumerable: true,
|
|
4969
|
-
get: function () { return
|
|
3906
|
+
get: function () { return chunk2ZTONLT5_cjs.ModalSection; }
|
|
4970
3907
|
});
|
|
4971
3908
|
Object.defineProperty(exports, "ModalSectionTitle", {
|
|
4972
3909
|
enumerable: true,
|
|
4973
|
-
get: function () { return
|
|
3910
|
+
get: function () { return chunk2ZTONLT5_cjs.ModalSectionTitle; }
|
|
3911
|
+
});
|
|
3912
|
+
Object.defineProperty(exports, "ActiveSessionsDialog", {
|
|
3913
|
+
enumerable: true,
|
|
3914
|
+
get: function () { return chunkYVIOCITQ_cjs.ActiveSessionsDialog; }
|
|
3915
|
+
});
|
|
3916
|
+
Object.defineProperty(exports, "AvatarPicker", {
|
|
3917
|
+
enumerable: true,
|
|
3918
|
+
get: function () { return chunkYVIOCITQ_cjs.AvatarPicker; }
|
|
3919
|
+
});
|
|
3920
|
+
Object.defineProperty(exports, "DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS", {
|
|
3921
|
+
enumerable: true,
|
|
3922
|
+
get: function () { return chunkYVIOCITQ_cjs.DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS; }
|
|
3923
|
+
});
|
|
3924
|
+
Object.defineProperty(exports, "DEFAULT_AVATAR_PICKER_LABELS", {
|
|
3925
|
+
enumerable: true,
|
|
3926
|
+
get: function () { return chunkYVIOCITQ_cjs.DEFAULT_AVATAR_PICKER_LABELS; }
|
|
3927
|
+
});
|
|
3928
|
+
Object.defineProperty(exports, "DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS", {
|
|
3929
|
+
enumerable: true,
|
|
3930
|
+
get: function () { return chunkYVIOCITQ_cjs.DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS; }
|
|
3931
|
+
});
|
|
3932
|
+
Object.defineProperty(exports, "DEFAULT_LOGOUT_DIALOG_LABELS", {
|
|
3933
|
+
enumerable: true,
|
|
3934
|
+
get: function () { return chunkYVIOCITQ_cjs.DEFAULT_LOGOUT_DIALOG_LABELS; }
|
|
3935
|
+
});
|
|
3936
|
+
Object.defineProperty(exports, "DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS", {
|
|
3937
|
+
enumerable: true,
|
|
3938
|
+
get: function () { return chunkYVIOCITQ_cjs.DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS; }
|
|
3939
|
+
});
|
|
3940
|
+
Object.defineProperty(exports, "DEFAULT_PROFILE_CARD_LABELS", {
|
|
3941
|
+
enumerable: true,
|
|
3942
|
+
get: function () { return chunkYVIOCITQ_cjs.DEFAULT_PROFILE_CARD_LABELS; }
|
|
3943
|
+
});
|
|
3944
|
+
Object.defineProperty(exports, "DEFAULT_SETTINGS_DANGER_ZONE_LABELS", {
|
|
3945
|
+
enumerable: true,
|
|
3946
|
+
get: function () { return chunkYVIOCITQ_cjs.DEFAULT_SETTINGS_DANGER_ZONE_LABELS; }
|
|
3947
|
+
});
|
|
3948
|
+
Object.defineProperty(exports, "DeleteAccountDialog", {
|
|
3949
|
+
enumerable: true,
|
|
3950
|
+
get: function () { return chunkYVIOCITQ_cjs.DeleteAccountDialog; }
|
|
3951
|
+
});
|
|
3952
|
+
Object.defineProperty(exports, "EMAIL_NOTIFICATION_CATEGORIES", {
|
|
3953
|
+
enumerable: true,
|
|
3954
|
+
get: function () { return chunkYVIOCITQ_cjs.EMAIL_NOTIFICATION_CATEGORIES; }
|
|
3955
|
+
});
|
|
3956
|
+
Object.defineProperty(exports, "EMAIL_NOTIFICATION_KEYS", {
|
|
3957
|
+
enumerable: true,
|
|
3958
|
+
get: function () { return chunkYVIOCITQ_cjs.EMAIL_NOTIFICATION_KEYS; }
|
|
3959
|
+
});
|
|
3960
|
+
Object.defineProperty(exports, "LogoutDialog", {
|
|
3961
|
+
enumerable: true,
|
|
3962
|
+
get: function () { return chunkYVIOCITQ_cjs.LogoutDialog; }
|
|
3963
|
+
});
|
|
3964
|
+
Object.defineProperty(exports, "NotificationCategoryList", {
|
|
3965
|
+
enumerable: true,
|
|
3966
|
+
get: function () { return chunkYVIOCITQ_cjs.NotificationCategoryList; }
|
|
3967
|
+
});
|
|
3968
|
+
Object.defineProperty(exports, "PasswordChangeDialog", {
|
|
3969
|
+
enumerable: true,
|
|
3970
|
+
get: function () { return chunkYVIOCITQ_cjs.PasswordChangeDialog; }
|
|
3971
|
+
});
|
|
3972
|
+
Object.defineProperty(exports, "ProfileCard", {
|
|
3973
|
+
enumerable: true,
|
|
3974
|
+
get: function () { return chunkYVIOCITQ_cjs.ProfileCard; }
|
|
3975
|
+
});
|
|
3976
|
+
Object.defineProperty(exports, "SettingsActionRow", {
|
|
3977
|
+
enumerable: true,
|
|
3978
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsActionRow; }
|
|
3979
|
+
});
|
|
3980
|
+
Object.defineProperty(exports, "SettingsCard", {
|
|
3981
|
+
enumerable: true,
|
|
3982
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsCard; }
|
|
3983
|
+
});
|
|
3984
|
+
Object.defineProperty(exports, "SettingsDangerZone", {
|
|
3985
|
+
enumerable: true,
|
|
3986
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsDangerZone; }
|
|
3987
|
+
});
|
|
3988
|
+
Object.defineProperty(exports, "SettingsPanel", {
|
|
3989
|
+
enumerable: true,
|
|
3990
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsPanel; }
|
|
3991
|
+
});
|
|
3992
|
+
Object.defineProperty(exports, "SettingsRow", {
|
|
3993
|
+
enumerable: true,
|
|
3994
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsRow; }
|
|
3995
|
+
});
|
|
3996
|
+
Object.defineProperty(exports, "SettingsSection", {
|
|
3997
|
+
enumerable: true,
|
|
3998
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsSection; }
|
|
3999
|
+
});
|
|
4000
|
+
Object.defineProperty(exports, "SettingsSwitchGroup", {
|
|
4001
|
+
enumerable: true,
|
|
4002
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsSwitchGroup; }
|
|
4003
|
+
});
|
|
4004
|
+
Object.defineProperty(exports, "SettingsSwitchRow", {
|
|
4005
|
+
enumerable: true,
|
|
4006
|
+
get: function () { return chunkYVIOCITQ_cjs.SettingsSwitchRow; }
|
|
4007
|
+
});
|
|
4008
|
+
Object.defineProperty(exports, "formatSessionTtl", {
|
|
4009
|
+
enumerable: true,
|
|
4010
|
+
get: function () { return chunkYVIOCITQ_cjs.formatSessionTtl; }
|
|
4011
|
+
});
|
|
4012
|
+
Object.defineProperty(exports, "toActiveSessionViews", {
|
|
4013
|
+
enumerable: true,
|
|
4014
|
+
get: function () { return chunkYVIOCITQ_cjs.toActiveSessionViews; }
|
|
4015
|
+
});
|
|
4016
|
+
Object.defineProperty(exports, "toDeleteBlockerViews", {
|
|
4017
|
+
enumerable: true,
|
|
4018
|
+
get: function () { return chunkYVIOCITQ_cjs.toDeleteBlockerViews; }
|
|
4019
|
+
});
|
|
4020
|
+
Object.defineProperty(exports, "toLogoutSessionViews", {
|
|
4021
|
+
enumerable: true,
|
|
4022
|
+
get: function () { return chunkYVIOCITQ_cjs.toLogoutSessionViews; }
|
|
4023
|
+
});
|
|
4024
|
+
Object.defineProperty(exports, "toNotificationCategories", {
|
|
4025
|
+
enumerable: true,
|
|
4026
|
+
get: function () { return chunkYVIOCITQ_cjs.toNotificationCategories; }
|
|
4974
4027
|
});
|
|
4975
|
-
exports.ActiveSessionsDialog = ActiveSessionsDialog;
|
|
4976
|
-
exports.AvatarPicker = AvatarPicker;
|
|
4977
4028
|
exports.CONVERSATION_TITLE_MAX = CONVERSATION_TITLE_MAX;
|
|
4978
4029
|
exports.CheckoutDialogFrame = CheckoutDialogFrame;
|
|
4979
4030
|
exports.ConfigSwitcherBar = ConfigSwitcherBar;
|
|
@@ -4984,34 +4035,27 @@ exports.ConnectionsError = ConnectionsError;
|
|
|
4984
4035
|
exports.ConnectionsLoading = ConnectionsLoading;
|
|
4985
4036
|
exports.ConversationTitleSection = ConversationTitleSection;
|
|
4986
4037
|
exports.CreditsGlyph = CreditsGlyph;
|
|
4987
|
-
exports.DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS = DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS;
|
|
4988
|
-
exports.DEFAULT_AVATAR_PICKER_LABELS = DEFAULT_AVATAR_PICKER_LABELS;
|
|
4989
4038
|
exports.DEFAULT_CHECKOUT_DIALOG_LABELS = DEFAULT_CHECKOUT_DIALOG_LABELS;
|
|
4990
4039
|
exports.DEFAULT_CONFIG_SWITCHER_BAR_LABELS = DEFAULT_CONFIG_SWITCHER_BAR_LABELS;
|
|
4991
4040
|
exports.DEFAULT_CONFIRM_DIALOG_LABELS = DEFAULT_CONFIRM_DIALOG_LABELS;
|
|
4992
4041
|
exports.DEFAULT_CONNECTION_CARD_LABELS = DEFAULT_CONNECTION_CARD_LABELS;
|
|
4993
4042
|
exports.DEFAULT_CONVERSATION_TITLE_SECTION_LABELS = DEFAULT_CONVERSATION_TITLE_SECTION_LABELS;
|
|
4994
4043
|
exports.DEFAULT_DAILY_CAP_FIELD_LABELS = DEFAULT_DAILY_CAP_FIELD_LABELS;
|
|
4995
|
-
exports.DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS = DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS;
|
|
4996
4044
|
exports.DEFAULT_DOCUMENT_PICKER_LABELS = DEFAULT_DOCUMENT_PICKER_LABELS;
|
|
4997
4045
|
exports.DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS = DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS;
|
|
4998
4046
|
exports.DEFAULT_ERROR_DIALOG_LABELS = DEFAULT_ERROR_DIALOG_LABELS;
|
|
4999
4047
|
exports.DEFAULT_INLINE_NAME_EDITOR_LABELS = DEFAULT_INLINE_NAME_EDITOR_LABELS;
|
|
5000
4048
|
exports.DEFAULT_INVITE_CONTACTS_DIALOG_LABELS = DEFAULT_INVITE_CONTACTS_DIALOG_LABELS;
|
|
5001
4049
|
exports.DEFAULT_INVOICES_DIALOG_LABELS = DEFAULT_INVOICES_DIALOG_LABELS;
|
|
5002
|
-
exports.DEFAULT_LOGOUT_DIALOG_LABELS = DEFAULT_LOGOUT_DIALOG_LABELS;
|
|
5003
4050
|
exports.DEFAULT_MEMBER_PROJECT_ROW_LABELS = DEFAULT_MEMBER_PROJECT_ROW_LABELS;
|
|
5004
4051
|
exports.DEFAULT_MODEL_SELECTION_SECTION_LABELS = DEFAULT_MODEL_SELECTION_SECTION_LABELS;
|
|
5005
|
-
exports.DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS = DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS;
|
|
5006
4052
|
exports.DEFAULT_PLAN_CARD_LABELS = DEFAULT_PLAN_CARD_LABELS;
|
|
5007
|
-
exports.DEFAULT_PROFILE_CARD_LABELS = DEFAULT_PROFILE_CARD_LABELS;
|
|
5008
4053
|
exports.DEFAULT_PROJECT_CARD_VIEW_LABELS = DEFAULT_PROJECT_CARD_VIEW_LABELS;
|
|
5009
4054
|
exports.DEFAULT_PROJECT_DETAIL_HEADER_LABELS = DEFAULT_PROJECT_DETAIL_HEADER_LABELS;
|
|
5010
4055
|
exports.DEFAULT_PROJECT_LIST_LABELS = DEFAULT_PROJECT_LIST_LABELS;
|
|
5011
4056
|
exports.DEFAULT_QUOTA_EXCEEDED_DIALOG_LABELS = DEFAULT_QUOTA_EXCEEDED_DIALOG_LABELS;
|
|
5012
4057
|
exports.DEFAULT_REFERRAL_CREDIT_LABELS = DEFAULT_REFERRAL_CREDIT_LABELS;
|
|
5013
4058
|
exports.DEFAULT_RENAME_DIALOG_LABELS = DEFAULT_RENAME_DIALOG_LABELS;
|
|
5014
|
-
exports.DEFAULT_SETTINGS_DANGER_ZONE_LABELS = DEFAULT_SETTINGS_DANGER_ZONE_LABELS;
|
|
5015
4059
|
exports.DEFAULT_SHARED_PROJECTS_SECTION_LABELS = DEFAULT_SHARED_PROJECTS_SECTION_LABELS;
|
|
5016
4060
|
exports.DEFAULT_SUBSCRIPTION_SECTION_LABELS = DEFAULT_SUBSCRIPTION_SECTION_LABELS;
|
|
5017
4061
|
exports.DEFAULT_SUBSCRIPTION_STATUS_LABELS = DEFAULT_SUBSCRIPTION_STATUS_LABELS;
|
|
@@ -5026,7 +4070,6 @@ exports.DEFAULT_USAGE_PROPORTION_BAR_LABELS = DEFAULT_USAGE_PROPORTION_BAR_LABEL
|
|
|
5026
4070
|
exports.DEFAULT_WELCOME_DIALOG_LABELS = DEFAULT_WELCOME_DIALOG_LABELS;
|
|
5027
4071
|
exports.DEFAULT_WORK_OFFLINE_LABELS = DEFAULT_WORK_OFFLINE_LABELS;
|
|
5028
4072
|
exports.DailyCapField = DailyCapField;
|
|
5029
|
-
exports.DeleteAccountDialog = DeleteAccountDialog;
|
|
5030
4073
|
exports.DocumentPicker = DocumentPicker;
|
|
5031
4074
|
exports.EmailWorkspaceDialogView = EmailWorkspaceDialogView;
|
|
5032
4075
|
exports.ErrorDialogView = ErrorDialogView;
|
|
@@ -5035,11 +4078,9 @@ exports.InlineNameEditor = InlineNameEditor;
|
|
|
5035
4078
|
exports.InviteContactsDialog = InviteContactsDialog;
|
|
5036
4079
|
exports.InvoicesDialog = InvoicesDialog;
|
|
5037
4080
|
exports.JsonTree = JsonTree;
|
|
5038
|
-
exports.LogoutDialog = LogoutDialog;
|
|
5039
4081
|
exports.MemberProjectRow = MemberProjectRow;
|
|
5040
4082
|
exports.ModelProviderLabel = ModelProviderLabel;
|
|
5041
4083
|
exports.ModelSelectionSection = ModelSelectionSection;
|
|
5042
|
-
exports.NotificationCategoryList = NotificationCategoryList;
|
|
5043
4084
|
exports.PanelActionsRow = PanelActionsRow;
|
|
5044
4085
|
exports.PanelAddButton = PanelAddButton;
|
|
5045
4086
|
exports.PanelFrame = PanelFrame;
|
|
@@ -5047,7 +4088,6 @@ exports.PanelFrameBody = PanelFrameBody;
|
|
|
5047
4088
|
exports.PanelNote = PanelNote;
|
|
5048
4089
|
exports.PanelScroll = PanelScroll;
|
|
5049
4090
|
exports.PanelTitleBar = PanelTitleBar;
|
|
5050
|
-
exports.PasswordChangeDialog = PasswordChangeDialog;
|
|
5051
4091
|
exports.PlanActionButton = PlanActionButton;
|
|
5052
4092
|
exports.PlanActionRow = PlanActionRow;
|
|
5053
4093
|
exports.PlanBadge = PlanBadge;
|
|
@@ -5063,7 +4103,6 @@ exports.PlanTierOption = PlanTierOption;
|
|
|
5063
4103
|
exports.PlanTransition = PlanTransition;
|
|
5064
4104
|
exports.PremiumModelsFrame = PremiumModelsFrame;
|
|
5065
4105
|
exports.PricingToggle = PricingToggle;
|
|
5066
|
-
exports.ProfileCard = ProfileCard;
|
|
5067
4106
|
exports.ProjectCardView = ProjectCardView;
|
|
5068
4107
|
exports.ProjectDetailHeader = ProjectDetailHeader;
|
|
5069
4108
|
exports.ProjectDetailSection = ProjectDetailSection;
|
|
@@ -5084,14 +4123,6 @@ exports.RowButton = RowButton;
|
|
|
5084
4123
|
exports.RowIconAction = RowIconAction;
|
|
5085
4124
|
exports.SegmentedControl = SegmentedControl;
|
|
5086
4125
|
exports.ServerConnectionButton = ServerConnectionButton;
|
|
5087
|
-
exports.SettingsActionRow = SettingsActionRow;
|
|
5088
|
-
exports.SettingsCard = SettingsCard;
|
|
5089
|
-
exports.SettingsDangerZone = SettingsDangerZone;
|
|
5090
|
-
exports.SettingsPanel = SettingsPanel;
|
|
5091
|
-
exports.SettingsRow = SettingsRow;
|
|
5092
|
-
exports.SettingsSection = SettingsSection;
|
|
5093
|
-
exports.SettingsSwitchGroup = SettingsSwitchGroup;
|
|
5094
|
-
exports.SettingsSwitchRow = SettingsSwitchRow;
|
|
5095
4126
|
exports.SharedProjectRow = SharedProjectRow;
|
|
5096
4127
|
exports.SharedProjectsSection = SharedProjectsSection;
|
|
5097
4128
|
exports.SubscriptionSectionView = SubscriptionSectionView;
|