@datatechsolutions/ui 3.6.1 → 3.6.2
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/astrlabe/graph-node.js +8 -5
- package/dist/astrlabe/graph-node.mjs +4 -1
- package/dist/astrlabe/index.js +115 -114
- package/dist/astrlabe/index.mjs +7 -6
- package/dist/astrlabe/workflow-canvas.js +7 -6
- package/dist/astrlabe/workflow-canvas.mjs +6 -5
- package/dist/{chunk-3Z66NXEB.mjs → chunk-2OPBUVTQ.mjs} +3 -3
- package/dist/{chunk-3Z66NXEB.mjs.map → chunk-2OPBUVTQ.mjs.map} +1 -1
- package/dist/{chunk-4JDJRGAB.mjs → chunk-34XRH2FX.mjs} +5 -4
- package/dist/chunk-34XRH2FX.mjs.map +1 -0
- package/dist/{chunk-KEWRLEYV.js → chunk-3JZGRXSG.js} +4 -4
- package/dist/{chunk-KEWRLEYV.js.map → chunk-3JZGRXSG.js.map} +1 -1
- package/dist/{chunk-JQYDJ75Q.mjs → chunk-3VYD7QL2.mjs} +3 -3
- package/dist/{chunk-JQYDJ75Q.mjs.map → chunk-3VYD7QL2.mjs.map} +1 -1
- package/dist/{chunk-MRRFDIUQ.mjs → chunk-4JRMXHPU.mjs} +5 -4
- package/dist/chunk-4JRMXHPU.mjs.map +1 -0
- package/dist/{chunk-4OFG6POC.mjs → chunk-5LCWQKGQ.mjs} +207 -1128
- package/dist/chunk-5LCWQKGQ.mjs.map +1 -0
- package/dist/{chunk-W5YCZOXO.js → chunk-7YK4WXHO.js} +79 -78
- package/dist/chunk-7YK4WXHO.js.map +1 -0
- package/dist/{chunk-YOJIPZ72.js → chunk-BBLBSDPN.js} +9 -9
- package/dist/{chunk-YOJIPZ72.js.map → chunk-BBLBSDPN.js.map} +1 -1
- package/dist/chunk-BHOT22QL.js +998 -0
- package/dist/chunk-BHOT22QL.js.map +1 -0
- package/dist/{chunk-MQNXKBFP.mjs → chunk-C4AJWDFB.mjs} +7 -6
- package/dist/chunk-C4AJWDFB.mjs.map +1 -0
- package/dist/{chunk-UOABOFKO.mjs → chunk-CBFK4W4C.mjs} +3 -3
- package/dist/{chunk-UOABOFKO.mjs.map → chunk-CBFK4W4C.mjs.map} +1 -1
- package/dist/{chunk-P5F257N3.js → chunk-CVZXZK2X.js} +35 -34
- package/dist/chunk-CVZXZK2X.js.map +1 -0
- package/dist/{chunk-IHHGT3LP.mjs → chunk-CYAAL3BY.mjs} +6 -5
- package/dist/chunk-CYAAL3BY.mjs.map +1 -0
- package/dist/{chunk-LVK7VXW7.js → chunk-DMPBNWJB.js} +37 -36
- package/dist/chunk-DMPBNWJB.js.map +1 -0
- package/dist/{chunk-ESLKQJQS.mjs → chunk-DXLATMGD.mjs} +6 -5
- package/dist/chunk-DXLATMGD.mjs.map +1 -0
- package/dist/{chunk-P4YYEM4B.js → chunk-EZQ2D47U.js} +7 -10
- package/dist/chunk-EZQ2D47U.js.map +1 -0
- package/dist/{chunk-6ZMTJSQF.js → chunk-FUHNEP3Y.js} +164 -163
- package/dist/chunk-FUHNEP3Y.js.map +1 -0
- package/dist/{chunk-YTE6WCBX.js → chunk-JHN2OUWG.js} +64 -63
- package/dist/chunk-JHN2OUWG.js.map +1 -0
- package/dist/{chunk-AMYQSPQC.js → chunk-JLECJI7S.js} +18 -17
- package/dist/chunk-JLECJI7S.js.map +1 -0
- package/dist/{chunk-DRORQGN2.js → chunk-KMNWPC64.js} +40 -39
- package/dist/chunk-KMNWPC64.js.map +1 -0
- package/dist/{chunk-VUAGVZJM.mjs → chunk-NJ6HH4QP.mjs} +6 -5
- package/dist/chunk-NJ6HH4QP.mjs.map +1 -0
- package/dist/{chunk-OZNTQROP.mjs → chunk-PLTLRL2V.mjs} +7 -10
- package/dist/chunk-PLTLRL2V.mjs.map +1 -0
- package/dist/{chunk-5ZAZ2C7A.mjs → chunk-PMMP76MV.mjs} +7 -6
- package/dist/chunk-PMMP76MV.mjs.map +1 -0
- package/dist/{chunk-NJZIE4EH.js → chunk-QF6WL7XU.js} +6 -5
- package/dist/chunk-QF6WL7XU.js.map +1 -0
- package/dist/{chunk-QRNFTG6A.js → chunk-QGLGQXJE.js} +4 -4
- package/dist/{chunk-QRNFTG6A.js.map → chunk-QGLGQXJE.js.map} +1 -1
- package/dist/{chunk-GCYYGSHU.js → chunk-R4EKPXX3.js} +564 -1525
- package/dist/chunk-R4EKPXX3.js.map +1 -0
- package/dist/{chunk-SQZGQOKU.js → chunk-RWYG7QHP.js} +119 -132
- package/dist/chunk-RWYG7QHP.js.map +1 -0
- package/dist/{chunk-WBEZATIB.js → chunk-RZ3NDH5S.js} +13 -13
- package/dist/{chunk-WBEZATIB.js.map → chunk-RZ3NDH5S.js.map} +1 -1
- package/dist/{chunk-HGWVJ3VB.mjs → chunk-SJVKID3E.mjs} +4 -3
- package/dist/chunk-SJVKID3E.mjs.map +1 -0
- package/dist/{chunk-7LILNZMR.mjs → chunk-TJEZL72T.mjs} +4 -3
- package/dist/chunk-TJEZL72T.mjs.map +1 -0
- package/dist/{chunk-MUOTTGCX.js → chunk-UDYEUTJC.js} +31 -30
- package/dist/chunk-UDYEUTJC.js.map +1 -0
- package/dist/{chunk-UGJZ3M4Q.js → chunk-VDLMWOQM.js} +55 -54
- package/dist/chunk-VDLMWOQM.js.map +1 -0
- package/dist/{chunk-KDFBN2L2.mjs → chunk-VZIUQE7B.mjs} +24 -37
- package/dist/chunk-VZIUQE7B.mjs.map +1 -0
- package/dist/chunk-WR55H7DH.mjs +934 -0
- package/dist/chunk-WR55H7DH.mjs.map +1 -0
- package/dist/{chunk-ZYVDDSAC.mjs → chunk-YRXDETBK.mjs} +6 -6
- package/dist/{chunk-ZYVDDSAC.mjs.map → chunk-YRXDETBK.mjs.map} +1 -1
- package/dist/{chunk-VDLAZR7S.mjs → chunk-ZYRL3WER.mjs} +5 -4
- package/dist/chunk-ZYRL3WER.mjs.map +1 -0
- package/dist/index.js +826 -825
- package/dist/index.mjs +4 -3
- package/dist/platform/admin/index.js +13 -12
- package/dist/platform/admin/index.mjs +7 -6
- package/dist/platform/agents-workspace.js +10 -9
- package/dist/platform/agents-workspace.mjs +9 -8
- package/dist/platform/app-shell.js +6 -5
- package/dist/platform/app-shell.mjs +5 -4
- package/dist/platform/auth/index.js +30 -29
- package/dist/platform/auth/index.mjs +7 -6
- package/dist/platform/billing/index.js +6 -5
- package/dist/platform/billing/index.mjs +5 -4
- package/dist/platform/impersonation/index.js +6 -5
- package/dist/platform/impersonation/index.mjs +5 -4
- package/dist/platform/index.js +87 -93
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/index.mjs +23 -29
- package/dist/platform/index.mjs.map +1 -1
- package/dist/platform/pages/index.js +210 -209
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +11 -10
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +10 -9
- package/dist/platform/settings/index.mjs +9 -8
- package/dist/platform/workflow-canvas-shell.js +8 -7
- package/dist/platform/workflow-canvas-shell.mjs +7 -6
- package/package.json +1 -1
- package/dist/chunk-4JDJRGAB.mjs.map +0 -1
- package/dist/chunk-4OFG6POC.mjs.map +0 -1
- package/dist/chunk-5ZAZ2C7A.mjs.map +0 -1
- package/dist/chunk-6ZMTJSQF.js.map +0 -1
- package/dist/chunk-7LILNZMR.mjs.map +0 -1
- package/dist/chunk-AMYQSPQC.js.map +0 -1
- package/dist/chunk-DRORQGN2.js.map +0 -1
- package/dist/chunk-ESLKQJQS.mjs.map +0 -1
- package/dist/chunk-GCYYGSHU.js.map +0 -1
- package/dist/chunk-HGWVJ3VB.mjs.map +0 -1
- package/dist/chunk-IHHGT3LP.mjs.map +0 -1
- package/dist/chunk-KDFBN2L2.mjs.map +0 -1
- package/dist/chunk-LVK7VXW7.js.map +0 -1
- package/dist/chunk-MQNXKBFP.mjs.map +0 -1
- package/dist/chunk-MRRFDIUQ.mjs.map +0 -1
- package/dist/chunk-MUOTTGCX.js.map +0 -1
- package/dist/chunk-NJZIE4EH.js.map +0 -1
- package/dist/chunk-OZNTQROP.mjs.map +0 -1
- package/dist/chunk-P4YYEM4B.js.map +0 -1
- package/dist/chunk-P5F257N3.js.map +0 -1
- package/dist/chunk-SQZGQOKU.js.map +0 -1
- package/dist/chunk-UGJZ3M4Q.js.map +0 -1
- package/dist/chunk-VDLAZR7S.mjs.map +0 -1
- package/dist/chunk-VUAGVZJM.mjs.map +0 -1
- package/dist/chunk-W5YCZOXO.js.map +0 -1
- package/dist/chunk-YTE6WCBX.js.map +0 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
|
|
4
|
+
var chunkQGLGQXJE_js = require('./chunk-QGLGQXJE.js');
|
|
5
|
+
var chunkR4EKPXX3_js = require('./chunk-R4EKPXX3.js');
|
|
7
6
|
var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
|
|
7
|
+
var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
|
|
8
|
+
var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
|
|
8
9
|
var react = require('react');
|
|
9
10
|
var outline = require('@heroicons/react/24/outline');
|
|
10
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -39,7 +40,7 @@ function MfaSetup({
|
|
|
39
40
|
onVerifySetup
|
|
40
41
|
}) {
|
|
41
42
|
const t = chunkYXN2K77G_js.useTranslations("windsock");
|
|
42
|
-
const { client } =
|
|
43
|
+
const { client } = chunkR4EKPXX3_js.useAuth();
|
|
43
44
|
const setupSteps = [
|
|
44
45
|
{
|
|
45
46
|
id: "method",
|
|
@@ -161,7 +162,7 @@ function MfaSetup({
|
|
|
161
162
|
}
|
|
162
163
|
})();
|
|
163
164
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
164
|
-
|
|
165
|
+
chunkR4EKPXX3_js.StepFormPage,
|
|
165
166
|
{
|
|
166
167
|
title: t("mfa.setup.title"),
|
|
167
168
|
subtitle: enforcement === "required" ? t("mfa.setup.subtitleRequired") : t("mfa.setup.subtitleOptional"),
|
|
@@ -178,7 +179,7 @@ function MfaSetup({
|
|
|
178
179
|
canAdvance,
|
|
179
180
|
children: [
|
|
180
181
|
currentStep === 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
-
|
|
182
|
+
chunkR4EKPXX3_js.OptionGrid,
|
|
182
183
|
{
|
|
183
184
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ShieldCheckIcon, { className: "h-4 w-4" }),
|
|
184
185
|
title: t("mfa.setup.methodGridTitle"),
|
|
@@ -194,7 +195,7 @@ function MfaSetup({
|
|
|
194
195
|
columns: 2
|
|
195
196
|
}
|
|
196
197
|
),
|
|
197
|
-
currentStep === 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
198
|
+
currentStep === 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.Spinner, {}) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
198
199
|
qrCodeUri && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-xl bg-white p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
199
200
|
"img",
|
|
200
201
|
{
|
|
@@ -210,7 +211,7 @@ function MfaSetup({
|
|
|
210
211
|
] }) }),
|
|
211
212
|
currentStep === 2 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
212
213
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
213
|
-
|
|
214
|
+
chunkQGLGQXJE_js.OtpInput,
|
|
214
215
|
{
|
|
215
216
|
value: verifyCode,
|
|
216
217
|
onChange: setVerifyCode,
|
|
@@ -220,18 +221,18 @@ function MfaSetup({
|
|
|
220
221
|
autoFocus: true
|
|
221
222
|
}
|
|
222
223
|
),
|
|
223
|
-
isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
224
|
+
isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.Spinner, {}) })
|
|
224
225
|
] }),
|
|
225
226
|
currentStep === 3 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
|
|
226
227
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
227
|
-
|
|
228
|
+
chunkQGLGQXJE_js.BackupCodeGrid,
|
|
228
229
|
{
|
|
229
230
|
codes: backupCodes,
|
|
230
231
|
revealed: true
|
|
231
232
|
}
|
|
232
233
|
),
|
|
233
234
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
234
|
-
|
|
235
|
+
chunkR4EKPXX3_js.FormCheckbox,
|
|
235
236
|
{
|
|
236
237
|
label: t("mfa.setup.backupCodesSavedConfirm"),
|
|
237
238
|
checked: savedBackupCodes,
|
|
@@ -252,7 +253,7 @@ function MfaManage({
|
|
|
252
253
|
}) {
|
|
253
254
|
const t = chunkYXN2K77G_js.useTranslations("windsock");
|
|
254
255
|
const format = chunkYXN2K77G_js.useFormatter();
|
|
255
|
-
const { client } =
|
|
256
|
+
const { client } = chunkR4EKPXX3_js.useAuth();
|
|
256
257
|
const [isBackupSheetOpen, setIsBackupSheetOpen] = react.useState(false);
|
|
257
258
|
const [newBackupCodes, setNewBackupCodes] = react.useState([]);
|
|
258
259
|
const [isRegenerating, setIsRegenerating] = react.useState(false);
|
|
@@ -324,20 +325,20 @@ function MfaManage({
|
|
|
324
325
|
}, [onEnroll]);
|
|
325
326
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
326
327
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
327
|
-
|
|
328
|
+
chunkR4EKPXX3_js.SectionCard,
|
|
328
329
|
{
|
|
329
330
|
header: {
|
|
330
331
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ShieldCheckIcon, { className: "h-5 w-5 text-white" }),
|
|
331
332
|
title: t("mfa.manage.title"),
|
|
332
333
|
subtitle: t("mfa.manage.subtitle"),
|
|
333
334
|
gradient: "from-emerald-500 via-teal-500 to-cyan-500",
|
|
334
|
-
rightContent: mfaEnabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
335
|
+
rightContent: mfaEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.StatusBadge, { status: "active", label: t("mfa.manage.statusEnabled"), size: "sm" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.StatusBadge, { status: "inactive", label: t("mfa.manage.statusDisabled"), size: "sm" })
|
|
335
336
|
},
|
|
336
337
|
padded: false,
|
|
337
338
|
children: !mfaEnabled ? (
|
|
338
339
|
/* MFA not enabled — show empty state with enable CTA */
|
|
339
340
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
340
|
-
|
|
341
|
+
chunkR4EKPXX3_js.EmptyState,
|
|
341
342
|
{
|
|
342
343
|
message: t("mfa.manage.emptyStateMessage"),
|
|
343
344
|
description: t("mfa.manage.emptyStateDescription"),
|
|
@@ -352,11 +353,11 @@ function MfaManage({
|
|
|
352
353
|
) : (
|
|
353
354
|
/* MFA enabled — show enrolled methods list + action buttons */
|
|
354
355
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-4 sm:p-6", children: [
|
|
355
|
-
enrolledMethods.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
356
|
-
|
|
356
|
+
enrolledMethods.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ListCard, { children: enrolledMethods.map((method, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
357
|
+
chunkR4EKPXX3_js.ListCardItem,
|
|
357
358
|
{
|
|
358
359
|
leading: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-9 w-9 rounded-xl bg-gradient-to-br from-emerald-500 to-teal-600 flex items-center justify-center shadow-sm", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ShieldCheckIcon, { className: "h-5 w-5 text-white" }) }),
|
|
359
|
-
trailing: /* @__PURE__ */ jsxRuntime.jsx(
|
|
360
|
+
trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.StatusBadge, { status: "active", label: t("mfa.manage.methodStatusActive"), size: "sm" }),
|
|
360
361
|
children: [
|
|
361
362
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-gray-900 dark:text-white", children: method.label }),
|
|
362
363
|
method.createdAt && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-0.5", children: t("mfa.manage.methodEnrolledAt", {
|
|
@@ -372,7 +373,7 @@ function MfaManage({
|
|
|
372
373
|
)) }),
|
|
373
374
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:gap-3", children: [
|
|
374
375
|
onEnroll && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
375
|
-
|
|
376
|
+
chunkBHOT22QL_js.Button,
|
|
376
377
|
{
|
|
377
378
|
color: "ios-glass-blue",
|
|
378
379
|
onClick: handleEnroll,
|
|
@@ -384,7 +385,7 @@ function MfaManage({
|
|
|
384
385
|
}
|
|
385
386
|
),
|
|
386
387
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
387
|
-
|
|
388
|
+
chunkBHOT22QL_js.Button,
|
|
388
389
|
{
|
|
389
390
|
outline: true,
|
|
390
391
|
onClick: handleOpenBackupSheet,
|
|
@@ -398,7 +399,7 @@ function MfaManage({
|
|
|
398
399
|
}
|
|
399
400
|
),
|
|
400
401
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
401
|
-
|
|
402
|
+
chunkBHOT22QL_js.Button,
|
|
402
403
|
{
|
|
403
404
|
color: "ios-glass-red",
|
|
404
405
|
onClick: handleRequestDisable,
|
|
@@ -412,7 +413,7 @@ function MfaManage({
|
|
|
412
413
|
}
|
|
413
414
|
),
|
|
414
415
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
415
|
-
|
|
416
|
+
chunkR4EKPXX3_js.Sheet,
|
|
416
417
|
{
|
|
417
418
|
open: isBackupSheetOpen,
|
|
418
419
|
onClose: handleCloseBackupSheet,
|
|
@@ -422,14 +423,14 @@ function MfaManage({
|
|
|
422
423
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-4 sm:p-6", children: [
|
|
423
424
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t("mfa.manage.backupCodesSheetDescription") }),
|
|
424
425
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
425
|
-
|
|
426
|
+
chunkQGLGQXJE_js.BackupCodeGrid,
|
|
426
427
|
{
|
|
427
428
|
codes: newBackupCodes,
|
|
428
429
|
revealed: true
|
|
429
430
|
}
|
|
430
431
|
),
|
|
431
432
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
432
|
-
|
|
433
|
+
chunkBHOT22QL_js.Button,
|
|
433
434
|
{
|
|
434
435
|
color: "ios-glass-blue",
|
|
435
436
|
fullWidth: true,
|
|
@@ -441,7 +442,7 @@ function MfaManage({
|
|
|
441
442
|
}
|
|
442
443
|
),
|
|
443
444
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
444
|
-
|
|
445
|
+
chunkR4EKPXX3_js.Sheet,
|
|
445
446
|
{
|
|
446
447
|
open: isConfirmDisableOpen,
|
|
447
448
|
onClose: handleCancelDisable,
|
|
@@ -454,7 +455,7 @@ function MfaManage({
|
|
|
454
455
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t("mfa.manage.confirmDisableDescription") })
|
|
455
456
|
] }),
|
|
456
457
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
457
|
-
|
|
458
|
+
chunkR4EKPXX3_js.PasswordInput,
|
|
458
459
|
{
|
|
459
460
|
label: t("mfa.manage.disablePasswordLabel"),
|
|
460
461
|
value: disablePassword,
|
|
@@ -468,7 +469,7 @@ function MfaManage({
|
|
|
468
469
|
disableError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: disableError }),
|
|
469
470
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3", children: [
|
|
470
471
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
471
|
-
|
|
472
|
+
chunkBHOT22QL_js.Button,
|
|
472
473
|
{
|
|
473
474
|
outline: true,
|
|
474
475
|
onClick: handleCancelDisable,
|
|
@@ -478,7 +479,7 @@ function MfaManage({
|
|
|
478
479
|
}
|
|
479
480
|
),
|
|
480
481
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
481
|
-
|
|
482
|
+
chunkBHOT22QL_js.Button,
|
|
482
483
|
{
|
|
483
484
|
color: "ios-glass-red",
|
|
484
485
|
onClick: handleConfirmDisable,
|
|
@@ -498,7 +499,7 @@ var ALL_TABS = ["profile", "security", "sessions", "linked-accounts"];
|
|
|
498
499
|
function ProfileTabContent({ onProfileUpdate }) {
|
|
499
500
|
const t = chunkYXN2K77G_js.useTranslations("windsock");
|
|
500
501
|
const currentLocale = chunkYXN2K77G_js.useLocale();
|
|
501
|
-
const { user, client } =
|
|
502
|
+
const { user, client } = chunkR4EKPXX3_js.useAuth();
|
|
502
503
|
const [name, setName] = react.useState(user?.name ?? "");
|
|
503
504
|
const [avatarPreview, setAvatarPreview] = react.useState(user?.image ?? null);
|
|
504
505
|
const [isUploadingAvatar, setIsUploadingAvatar] = react.useState(false);
|
|
@@ -571,7 +572,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
571
572
|
}, [name, selectedLocale, currentLocale, user, onProfileUpdate, client, t]);
|
|
572
573
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
573
574
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
574
|
-
|
|
575
|
+
chunkR4EKPXX3_js.SectionCard,
|
|
575
576
|
{
|
|
576
577
|
header: {
|
|
577
578
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.UserIcon, { className: "h-5 w-5 text-white" }),
|
|
@@ -579,7 +580,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
579
580
|
subtitle: t("userProfile.profile.subtitle"),
|
|
580
581
|
gradient: "from-blue-500 via-indigo-500 to-violet-500"
|
|
581
582
|
},
|
|
582
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
583
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.BaseForm, { onSubmit: handleSave, submitLabel: t("userProfile.profile.saveButton"), showFooter: false, children: [
|
|
583
584
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-3 pb-4", children: [
|
|
584
585
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
585
586
|
"button",
|
|
@@ -590,7 +591,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
590
591
|
className: "group relative",
|
|
591
592
|
children: [
|
|
592
593
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
593
|
-
|
|
594
|
+
chunkR4EKPXX3_js.Avatar,
|
|
594
595
|
{
|
|
595
596
|
src: avatarPreview ?? void 0,
|
|
596
597
|
initials: user?.name?.slice(0, 2).toUpperCase() ?? user?.email?.slice(0, 2).toUpperCase(),
|
|
@@ -598,7 +599,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
598
599
|
className: "h-20 w-20 text-2xl"
|
|
599
600
|
}
|
|
600
601
|
),
|
|
601
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center rounded-full bg-black/0 transition group-hover:bg-black/40", children: isUploadingAvatar ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
602
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center rounded-full bg-black/0 transition group-hover:bg-black/40", children: isUploadingAvatar ? /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.InlineSpinner, {}) : /* @__PURE__ */ jsxRuntime.jsx(outline.CameraIcon, { className: "h-6 w-6 text-white opacity-0 transition group-hover:opacity-100" }) })
|
|
602
603
|
]
|
|
603
604
|
}
|
|
604
605
|
),
|
|
@@ -615,7 +616,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
615
616
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("userProfile.profile.avatarHint") })
|
|
616
617
|
] }),
|
|
617
618
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
618
|
-
|
|
619
|
+
chunkR4EKPXX3_js.Input,
|
|
619
620
|
{
|
|
620
621
|
label: t("userProfile.profile.nameLabel"),
|
|
621
622
|
value: name,
|
|
@@ -625,7 +626,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
625
626
|
}
|
|
626
627
|
),
|
|
627
628
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
628
|
-
|
|
629
|
+
chunkR4EKPXX3_js.Input,
|
|
629
630
|
{
|
|
630
631
|
label: t("userProfile.profile.emailLabel"),
|
|
631
632
|
type: "email",
|
|
@@ -638,7 +639,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
638
639
|
saveError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", children: saveError }),
|
|
639
640
|
saveSuccess && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-green-600 dark:text-green-400", children: t("userProfile.profile.saveSuccess") }),
|
|
640
641
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
641
|
-
|
|
642
|
+
chunkBHOT22QL_js.Button,
|
|
642
643
|
{
|
|
643
644
|
type: "submit",
|
|
644
645
|
color: "ios-glass-blue",
|
|
@@ -652,7 +653,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
652
653
|
}
|
|
653
654
|
),
|
|
654
655
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
655
|
-
|
|
656
|
+
chunkR4EKPXX3_js.SectionCard,
|
|
656
657
|
{
|
|
657
658
|
header: {
|
|
658
659
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.GlobeAltIcon, { className: "h-5 w-5 text-white" }),
|
|
@@ -683,7 +684,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
683
684
|
);
|
|
684
685
|
}) }),
|
|
685
686
|
selectedLocale !== currentLocale && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
686
|
-
|
|
687
|
+
chunkBHOT22QL_js.Button,
|
|
687
688
|
{
|
|
688
689
|
type: "button",
|
|
689
690
|
color: "ios-glass-blue",
|
|
@@ -701,7 +702,7 @@ function ProfileTabContent({ onProfileUpdate }) {
|
|
|
701
702
|
}
|
|
702
703
|
function SecurityTabContent() {
|
|
703
704
|
const t = chunkYXN2K77G_js.useTranslations("windsock");
|
|
704
|
-
const { client, user, refresh } =
|
|
705
|
+
const { client, user, refresh } = chunkR4EKPXX3_js.useAuth();
|
|
705
706
|
const [showMfaSetup, setShowMfaSetup] = react.useState(false);
|
|
706
707
|
const [currentPassword, setCurrentPassword] = react.useState("");
|
|
707
708
|
const [newPassword, setNewPassword] = react.useState("");
|
|
@@ -765,7 +766,7 @@ function SecurityTabContent() {
|
|
|
765
766
|
}
|
|
766
767
|
),
|
|
767
768
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
768
|
-
|
|
769
|
+
chunkR4EKPXX3_js.SectionCard,
|
|
769
770
|
{
|
|
770
771
|
header: {
|
|
771
772
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.UserIcon, { className: "h-5 w-5 text-white" }),
|
|
@@ -773,9 +774,9 @@ function SecurityTabContent() {
|
|
|
773
774
|
subtitle: t("userProfile.security.changePasswordSubtitle"),
|
|
774
775
|
gradient: "from-blue-500 via-sky-500 to-cyan-500"
|
|
775
776
|
},
|
|
776
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
777
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.BaseForm, { onSubmit: handleChangePassword, submitLabel: t("userProfile.security.changePasswordButton"), showFooter: false, children: [
|
|
777
778
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
778
|
-
|
|
779
|
+
chunkR4EKPXX3_js.PasswordInput,
|
|
779
780
|
{
|
|
780
781
|
label: t("userProfile.security.currentPasswordLabel"),
|
|
781
782
|
value: currentPassword,
|
|
@@ -785,7 +786,7 @@ function SecurityTabContent() {
|
|
|
785
786
|
}
|
|
786
787
|
),
|
|
787
788
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
788
|
-
|
|
789
|
+
chunkR4EKPXX3_js.PasswordInput,
|
|
789
790
|
{
|
|
790
791
|
label: t("userProfile.security.newPasswordLabel"),
|
|
791
792
|
value: newPassword,
|
|
@@ -794,9 +795,9 @@ function SecurityTabContent() {
|
|
|
794
795
|
autoComplete: "new-password"
|
|
795
796
|
}
|
|
796
797
|
),
|
|
797
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
798
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQGLGQXJE_js.PasswordStrengthMeter, { password: newPassword }),
|
|
798
799
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
799
|
-
|
|
800
|
+
chunkR4EKPXX3_js.PasswordInput,
|
|
800
801
|
{
|
|
801
802
|
label: t("userProfile.security.confirmPasswordLabel"),
|
|
802
803
|
value: confirmPassword,
|
|
@@ -808,7 +809,7 @@ function SecurityTabContent() {
|
|
|
808
809
|
passwordError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", children: passwordError }),
|
|
809
810
|
passwordSuccess && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-green-600 dark:text-green-400", children: t("userProfile.security.changePasswordSuccess") }),
|
|
810
811
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
811
|
-
|
|
812
|
+
chunkBHOT22QL_js.Button,
|
|
812
813
|
{
|
|
813
814
|
type: "submit",
|
|
814
815
|
color: "ios-glass-blue",
|
|
@@ -826,7 +827,7 @@ function SecurityTabContent() {
|
|
|
826
827
|
function SessionsTabContent() {
|
|
827
828
|
const t = chunkYXN2K77G_js.useTranslations("windsock");
|
|
828
829
|
const format = chunkYXN2K77G_js.useFormatter();
|
|
829
|
-
const { client } =
|
|
830
|
+
const { client } = chunkR4EKPXX3_js.useAuth();
|
|
830
831
|
const [sessions, setSessions] = react.useState([]);
|
|
831
832
|
const [isLoading, setIsLoading] = react.useState(true);
|
|
832
833
|
const [revokingId, setRevokingId] = react.useState(null);
|
|
@@ -869,7 +870,7 @@ function SessionsTabContent() {
|
|
|
869
870
|
}
|
|
870
871
|
}, [client]);
|
|
871
872
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
872
|
-
|
|
873
|
+
chunkR4EKPXX3_js.SectionCard,
|
|
873
874
|
{
|
|
874
875
|
header: {
|
|
875
876
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ComputerDesktopIcon, { className: "h-5 w-5 text-white" }),
|
|
@@ -879,7 +880,7 @@ function SessionsTabContent() {
|
|
|
879
880
|
},
|
|
880
881
|
padded: false,
|
|
881
882
|
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
|
|
882
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
883
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.InlineSpinner, {}),
|
|
883
884
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("userProfile.sessions.loading") })
|
|
884
885
|
] }) : sessions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-6 text-center text-sm text-slate-500 dark:text-slate-400", children: t("userProfile.sessions.empty") }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
|
|
885
886
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b liquid-divider", children: [
|
|
@@ -891,12 +892,12 @@ function SessionsTabContent() {
|
|
|
891
892
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: sessions.map((session) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
892
893
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-slate-900 dark:text-white", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
893
894
|
session.device,
|
|
894
|
-
session.current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
895
|
+
session.current && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "green", children: t("userProfile.sessions.currentBadge") })
|
|
895
896
|
] }) }),
|
|
896
897
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-slate-500 dark:text-slate-400", children: session.location }),
|
|
897
898
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-slate-500 dark:text-slate-400", children: format.relativeTime(new Date(session.lastActive)) }),
|
|
898
899
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: !session.current && /* @__PURE__ */ jsxRuntime.jsx(
|
|
899
|
-
|
|
900
|
+
chunkBHOT22QL_js.Button,
|
|
900
901
|
{
|
|
901
902
|
size: "sm",
|
|
902
903
|
color: "ios-glass-red",
|
|
@@ -913,7 +914,7 @@ function SessionsTabContent() {
|
|
|
913
914
|
}
|
|
914
915
|
function LinkedAccountsTabContent() {
|
|
915
916
|
const t = chunkYXN2K77G_js.useTranslations("windsock");
|
|
916
|
-
const { client } =
|
|
917
|
+
const { client } = chunkR4EKPXX3_js.useAuth();
|
|
917
918
|
const [accounts, setAccounts] = react.useState([]);
|
|
918
919
|
const [isLoading, setIsLoading] = react.useState(true);
|
|
919
920
|
const [actioningProvider, setActioningProvider] = react.useState(null);
|
|
@@ -955,7 +956,7 @@ function LinkedAccountsTabContent() {
|
|
|
955
956
|
}, [client]);
|
|
956
957
|
const providerInitials = (provider) => provider.slice(0, 2).toUpperCase();
|
|
957
958
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
958
|
-
|
|
959
|
+
chunkR4EKPXX3_js.SectionCard,
|
|
959
960
|
{
|
|
960
961
|
header: {
|
|
961
962
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5 text-white" }),
|
|
@@ -965,13 +966,13 @@ function LinkedAccountsTabContent() {
|
|
|
965
966
|
},
|
|
966
967
|
padded: false,
|
|
967
968
|
children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
|
|
968
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
969
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.InlineSpinner, {}),
|
|
969
970
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("userProfile.linkedAccounts.loading") })
|
|
970
|
-
] }) : accounts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-6 text-center text-sm text-slate-500 dark:text-slate-400", children: t("userProfile.linkedAccounts.empty") }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
971
|
-
|
|
971
|
+
] }) : accounts.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-6 text-center text-sm text-slate-500 dark:text-slate-400", children: t("userProfile.linkedAccounts.empty") }) : /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.ListCard, { children: accounts.map((account) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
972
|
+
chunkR4EKPXX3_js.ListCardItem,
|
|
972
973
|
{
|
|
973
974
|
leading: /* @__PURE__ */ jsxRuntime.jsx(
|
|
974
|
-
|
|
975
|
+
chunkR4EKPXX3_js.Avatar,
|
|
975
976
|
{
|
|
976
977
|
src: account.logoUrl,
|
|
977
978
|
initials: providerInitials(account.provider),
|
|
@@ -979,7 +980,7 @@ function LinkedAccountsTabContent() {
|
|
|
979
980
|
}
|
|
980
981
|
),
|
|
981
982
|
trailing: /* @__PURE__ */ jsxRuntime.jsx(
|
|
982
|
-
|
|
983
|
+
chunkBHOT22QL_js.Button,
|
|
983
984
|
{
|
|
984
985
|
size: "sm",
|
|
985
986
|
color: "ios-glass-red",
|
|
@@ -1006,12 +1007,12 @@ function UserProfile({
|
|
|
1006
1007
|
onProfileUpdate
|
|
1007
1008
|
}) {
|
|
1008
1009
|
const t = chunkYXN2K77G_js.useTranslations("windsock");
|
|
1009
|
-
const { status } =
|
|
1010
|
+
const { status } = chunkR4EKPXX3_js.useAuth();
|
|
1010
1011
|
const [activeTab, setActiveTab] = react.useState(
|
|
1011
1012
|
tabs.includes(defaultTab) ? defaultTab : tabs[0] ?? "profile"
|
|
1012
1013
|
);
|
|
1013
1014
|
if (status === "loading") {
|
|
1014
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1015
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(chunkR4EKPXX3_js.InlineSpinner, {}) });
|
|
1015
1016
|
}
|
|
1016
1017
|
if (status !== "authenticated") {
|
|
1017
1018
|
return null;
|
|
@@ -1022,7 +1023,7 @@ function UserProfile({
|
|
|
1022
1023
|
}));
|
|
1023
1024
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
|
|
1024
1025
|
tabs.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1025
|
-
|
|
1026
|
+
chunkR4EKPXX3_js.SegmentedControl,
|
|
1026
1027
|
{
|
|
1027
1028
|
segments,
|
|
1028
1029
|
value: activeTab,
|
|
@@ -1044,5 +1045,5 @@ exports.ProfileTabContent = ProfileTabContent;
|
|
|
1044
1045
|
exports.SecurityTabContent = SecurityTabContent;
|
|
1045
1046
|
exports.SessionsTabContent = SessionsTabContent;
|
|
1046
1047
|
exports.UserProfile = UserProfile;
|
|
1047
|
-
//# sourceMappingURL=chunk-
|
|
1048
|
-
//# sourceMappingURL=chunk-
|
|
1048
|
+
//# sourceMappingURL=chunk-JHN2OUWG.js.map
|
|
1049
|
+
//# sourceMappingURL=chunk-JHN2OUWG.js.map
|