@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.
Files changed (131) hide show
  1. package/dist/astrlabe/graph-node.js +8 -5
  2. package/dist/astrlabe/graph-node.mjs +4 -1
  3. package/dist/astrlabe/index.js +115 -114
  4. package/dist/astrlabe/index.mjs +7 -6
  5. package/dist/astrlabe/workflow-canvas.js +7 -6
  6. package/dist/astrlabe/workflow-canvas.mjs +6 -5
  7. package/dist/{chunk-3Z66NXEB.mjs → chunk-2OPBUVTQ.mjs} +3 -3
  8. package/dist/{chunk-3Z66NXEB.mjs.map → chunk-2OPBUVTQ.mjs.map} +1 -1
  9. package/dist/{chunk-4JDJRGAB.mjs → chunk-34XRH2FX.mjs} +5 -4
  10. package/dist/chunk-34XRH2FX.mjs.map +1 -0
  11. package/dist/{chunk-KEWRLEYV.js → chunk-3JZGRXSG.js} +4 -4
  12. package/dist/{chunk-KEWRLEYV.js.map → chunk-3JZGRXSG.js.map} +1 -1
  13. package/dist/{chunk-JQYDJ75Q.mjs → chunk-3VYD7QL2.mjs} +3 -3
  14. package/dist/{chunk-JQYDJ75Q.mjs.map → chunk-3VYD7QL2.mjs.map} +1 -1
  15. package/dist/{chunk-MRRFDIUQ.mjs → chunk-4JRMXHPU.mjs} +5 -4
  16. package/dist/chunk-4JRMXHPU.mjs.map +1 -0
  17. package/dist/{chunk-4OFG6POC.mjs → chunk-5LCWQKGQ.mjs} +207 -1128
  18. package/dist/chunk-5LCWQKGQ.mjs.map +1 -0
  19. package/dist/{chunk-W5YCZOXO.js → chunk-7YK4WXHO.js} +79 -78
  20. package/dist/chunk-7YK4WXHO.js.map +1 -0
  21. package/dist/{chunk-YOJIPZ72.js → chunk-BBLBSDPN.js} +9 -9
  22. package/dist/{chunk-YOJIPZ72.js.map → chunk-BBLBSDPN.js.map} +1 -1
  23. package/dist/chunk-BHOT22QL.js +998 -0
  24. package/dist/chunk-BHOT22QL.js.map +1 -0
  25. package/dist/{chunk-MQNXKBFP.mjs → chunk-C4AJWDFB.mjs} +7 -6
  26. package/dist/chunk-C4AJWDFB.mjs.map +1 -0
  27. package/dist/{chunk-UOABOFKO.mjs → chunk-CBFK4W4C.mjs} +3 -3
  28. package/dist/{chunk-UOABOFKO.mjs.map → chunk-CBFK4W4C.mjs.map} +1 -1
  29. package/dist/{chunk-P5F257N3.js → chunk-CVZXZK2X.js} +35 -34
  30. package/dist/chunk-CVZXZK2X.js.map +1 -0
  31. package/dist/{chunk-IHHGT3LP.mjs → chunk-CYAAL3BY.mjs} +6 -5
  32. package/dist/chunk-CYAAL3BY.mjs.map +1 -0
  33. package/dist/{chunk-LVK7VXW7.js → chunk-DMPBNWJB.js} +37 -36
  34. package/dist/chunk-DMPBNWJB.js.map +1 -0
  35. package/dist/{chunk-ESLKQJQS.mjs → chunk-DXLATMGD.mjs} +6 -5
  36. package/dist/chunk-DXLATMGD.mjs.map +1 -0
  37. package/dist/{chunk-P4YYEM4B.js → chunk-EZQ2D47U.js} +7 -10
  38. package/dist/chunk-EZQ2D47U.js.map +1 -0
  39. package/dist/{chunk-6ZMTJSQF.js → chunk-FUHNEP3Y.js} +164 -163
  40. package/dist/chunk-FUHNEP3Y.js.map +1 -0
  41. package/dist/{chunk-YTE6WCBX.js → chunk-JHN2OUWG.js} +64 -63
  42. package/dist/chunk-JHN2OUWG.js.map +1 -0
  43. package/dist/{chunk-AMYQSPQC.js → chunk-JLECJI7S.js} +18 -17
  44. package/dist/chunk-JLECJI7S.js.map +1 -0
  45. package/dist/{chunk-DRORQGN2.js → chunk-KMNWPC64.js} +40 -39
  46. package/dist/chunk-KMNWPC64.js.map +1 -0
  47. package/dist/{chunk-VUAGVZJM.mjs → chunk-NJ6HH4QP.mjs} +6 -5
  48. package/dist/chunk-NJ6HH4QP.mjs.map +1 -0
  49. package/dist/{chunk-OZNTQROP.mjs → chunk-PLTLRL2V.mjs} +7 -10
  50. package/dist/chunk-PLTLRL2V.mjs.map +1 -0
  51. package/dist/{chunk-5ZAZ2C7A.mjs → chunk-PMMP76MV.mjs} +7 -6
  52. package/dist/chunk-PMMP76MV.mjs.map +1 -0
  53. package/dist/{chunk-NJZIE4EH.js → chunk-QF6WL7XU.js} +6 -5
  54. package/dist/chunk-QF6WL7XU.js.map +1 -0
  55. package/dist/{chunk-QRNFTG6A.js → chunk-QGLGQXJE.js} +4 -4
  56. package/dist/{chunk-QRNFTG6A.js.map → chunk-QGLGQXJE.js.map} +1 -1
  57. package/dist/{chunk-GCYYGSHU.js → chunk-R4EKPXX3.js} +564 -1525
  58. package/dist/chunk-R4EKPXX3.js.map +1 -0
  59. package/dist/{chunk-SQZGQOKU.js → chunk-RWYG7QHP.js} +119 -132
  60. package/dist/chunk-RWYG7QHP.js.map +1 -0
  61. package/dist/{chunk-WBEZATIB.js → chunk-RZ3NDH5S.js} +13 -13
  62. package/dist/{chunk-WBEZATIB.js.map → chunk-RZ3NDH5S.js.map} +1 -1
  63. package/dist/{chunk-HGWVJ3VB.mjs → chunk-SJVKID3E.mjs} +4 -3
  64. package/dist/chunk-SJVKID3E.mjs.map +1 -0
  65. package/dist/{chunk-7LILNZMR.mjs → chunk-TJEZL72T.mjs} +4 -3
  66. package/dist/chunk-TJEZL72T.mjs.map +1 -0
  67. package/dist/{chunk-MUOTTGCX.js → chunk-UDYEUTJC.js} +31 -30
  68. package/dist/chunk-UDYEUTJC.js.map +1 -0
  69. package/dist/{chunk-UGJZ3M4Q.js → chunk-VDLMWOQM.js} +55 -54
  70. package/dist/chunk-VDLMWOQM.js.map +1 -0
  71. package/dist/{chunk-KDFBN2L2.mjs → chunk-VZIUQE7B.mjs} +24 -37
  72. package/dist/chunk-VZIUQE7B.mjs.map +1 -0
  73. package/dist/chunk-WR55H7DH.mjs +934 -0
  74. package/dist/chunk-WR55H7DH.mjs.map +1 -0
  75. package/dist/{chunk-ZYVDDSAC.mjs → chunk-YRXDETBK.mjs} +6 -6
  76. package/dist/{chunk-ZYVDDSAC.mjs.map → chunk-YRXDETBK.mjs.map} +1 -1
  77. package/dist/{chunk-VDLAZR7S.mjs → chunk-ZYRL3WER.mjs} +5 -4
  78. package/dist/chunk-ZYRL3WER.mjs.map +1 -0
  79. package/dist/index.js +826 -825
  80. package/dist/index.mjs +4 -3
  81. package/dist/platform/admin/index.js +13 -12
  82. package/dist/platform/admin/index.mjs +7 -6
  83. package/dist/platform/agents-workspace.js +10 -9
  84. package/dist/platform/agents-workspace.mjs +9 -8
  85. package/dist/platform/app-shell.js +6 -5
  86. package/dist/platform/app-shell.mjs +5 -4
  87. package/dist/platform/auth/index.js +30 -29
  88. package/dist/platform/auth/index.mjs +7 -6
  89. package/dist/platform/billing/index.js +6 -5
  90. package/dist/platform/billing/index.mjs +5 -4
  91. package/dist/platform/impersonation/index.js +6 -5
  92. package/dist/platform/impersonation/index.mjs +5 -4
  93. package/dist/platform/index.js +87 -93
  94. package/dist/platform/index.js.map +1 -1
  95. package/dist/platform/index.mjs +23 -29
  96. package/dist/platform/index.mjs.map +1 -1
  97. package/dist/platform/pages/index.js +210 -209
  98. package/dist/platform/pages/index.js.map +1 -1
  99. package/dist/platform/pages/index.mjs +11 -10
  100. package/dist/platform/pages/index.mjs.map +1 -1
  101. package/dist/platform/settings/index.js +10 -9
  102. package/dist/platform/settings/index.mjs +9 -8
  103. package/dist/platform/workflow-canvas-shell.js +8 -7
  104. package/dist/platform/workflow-canvas-shell.mjs +7 -6
  105. package/package.json +1 -1
  106. package/dist/chunk-4JDJRGAB.mjs.map +0 -1
  107. package/dist/chunk-4OFG6POC.mjs.map +0 -1
  108. package/dist/chunk-5ZAZ2C7A.mjs.map +0 -1
  109. package/dist/chunk-6ZMTJSQF.js.map +0 -1
  110. package/dist/chunk-7LILNZMR.mjs.map +0 -1
  111. package/dist/chunk-AMYQSPQC.js.map +0 -1
  112. package/dist/chunk-DRORQGN2.js.map +0 -1
  113. package/dist/chunk-ESLKQJQS.mjs.map +0 -1
  114. package/dist/chunk-GCYYGSHU.js.map +0 -1
  115. package/dist/chunk-HGWVJ3VB.mjs.map +0 -1
  116. package/dist/chunk-IHHGT3LP.mjs.map +0 -1
  117. package/dist/chunk-KDFBN2L2.mjs.map +0 -1
  118. package/dist/chunk-LVK7VXW7.js.map +0 -1
  119. package/dist/chunk-MQNXKBFP.mjs.map +0 -1
  120. package/dist/chunk-MRRFDIUQ.mjs.map +0 -1
  121. package/dist/chunk-MUOTTGCX.js.map +0 -1
  122. package/dist/chunk-NJZIE4EH.js.map +0 -1
  123. package/dist/chunk-OZNTQROP.mjs.map +0 -1
  124. package/dist/chunk-P4YYEM4B.js.map +0 -1
  125. package/dist/chunk-P5F257N3.js.map +0 -1
  126. package/dist/chunk-SQZGQOKU.js.map +0 -1
  127. package/dist/chunk-UGJZ3M4Q.js.map +0 -1
  128. package/dist/chunk-VDLAZR7S.mjs.map +0 -1
  129. package/dist/chunk-VUAGVZJM.mjs.map +0 -1
  130. package/dist/chunk-W5YCZOXO.js.map +0 -1
  131. package/dist/chunk-YTE6WCBX.js.map +0 -1
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkQRNFTG6A_js = require('./chunk-QRNFTG6A.js');
5
- var chunkGCYYGSHU_js = require('./chunk-GCYYGSHU.js');
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 } = chunkGCYYGSHU_js.useAuth();
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
- chunkGCYYGSHU_js.StepFormPage,
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
- chunkGCYYGSHU_js.OptionGrid,
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(chunkGCYYGSHU_js.Spinner, {}) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
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
- chunkQRNFTG6A_js.OtpInput,
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(chunkGCYYGSHU_js.Spinner, {}) })
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
- chunkQRNFTG6A_js.BackupCodeGrid,
228
+ chunkQGLGQXJE_js.BackupCodeGrid,
228
229
  {
229
230
  codes: backupCodes,
230
231
  revealed: true
231
232
  }
232
233
  ),
233
234
  /* @__PURE__ */ jsxRuntime.jsx(
234
- chunkGCYYGSHU_js.FormCheckbox,
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 } = chunkGCYYGSHU_js.useAuth();
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
- chunkGCYYGSHU_js.SectionCard,
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(chunkGCYYGSHU_js.StatusBadge, { status: "active", label: t("mfa.manage.statusEnabled"), size: "sm" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkGCYYGSHU_js.StatusBadge, { status: "inactive", label: t("mfa.manage.statusDisabled"), size: "sm" })
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
- chunkGCYYGSHU_js.EmptyState,
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(chunkGCYYGSHU_js.ListCard, { children: enrolledMethods.map((method, index) => /* @__PURE__ */ jsxRuntime.jsxs(
356
- chunkGCYYGSHU_js.ListCardItem,
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(chunkGCYYGSHU_js.StatusBadge, { status: "active", label: t("mfa.manage.methodStatusActive"), size: "sm" }),
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
- chunkGCYYGSHU_js.Button,
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
- chunkGCYYGSHU_js.Button,
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
- chunkGCYYGSHU_js.Button,
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
- chunkGCYYGSHU_js.Sheet,
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
- chunkQRNFTG6A_js.BackupCodeGrid,
426
+ chunkQGLGQXJE_js.BackupCodeGrid,
426
427
  {
427
428
  codes: newBackupCodes,
428
429
  revealed: true
429
430
  }
430
431
  ),
431
432
  /* @__PURE__ */ jsxRuntime.jsx(
432
- chunkGCYYGSHU_js.Button,
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
- chunkGCYYGSHU_js.Sheet,
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
- chunkGCYYGSHU_js.PasswordInput,
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
- chunkGCYYGSHU_js.Button,
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
- chunkGCYYGSHU_js.Button,
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 } = chunkGCYYGSHU_js.useAuth();
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
- chunkGCYYGSHU_js.SectionCard,
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(chunkGCYYGSHU_js.BaseForm, { onSubmit: handleSave, submitLabel: t("userProfile.profile.saveButton"), showFooter: false, children: [
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
- chunkGCYYGSHU_js.Avatar,
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(chunkGCYYGSHU_js.InlineSpinner, {}) : /* @__PURE__ */ jsxRuntime.jsx(outline.CameraIcon, { className: "h-6 w-6 text-white opacity-0 transition group-hover:opacity-100" }) })
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
- chunkGCYYGSHU_js.Input,
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
- chunkGCYYGSHU_js.Input,
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
- chunkGCYYGSHU_js.Button,
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
- chunkGCYYGSHU_js.SectionCard,
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
- chunkGCYYGSHU_js.Button,
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 } = chunkGCYYGSHU_js.useAuth();
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
- chunkGCYYGSHU_js.SectionCard,
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(chunkGCYYGSHU_js.BaseForm, { onSubmit: handleChangePassword, submitLabel: t("userProfile.security.changePasswordButton"), showFooter: false, children: [
777
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkR4EKPXX3_js.BaseForm, { onSubmit: handleChangePassword, submitLabel: t("userProfile.security.changePasswordButton"), showFooter: false, children: [
777
778
  /* @__PURE__ */ jsxRuntime.jsx(
778
- chunkGCYYGSHU_js.PasswordInput,
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
- chunkGCYYGSHU_js.PasswordInput,
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(chunkQRNFTG6A_js.PasswordStrengthMeter, { password: newPassword }),
798
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQGLGQXJE_js.PasswordStrengthMeter, { password: newPassword }),
798
799
  /* @__PURE__ */ jsxRuntime.jsx(
799
- chunkGCYYGSHU_js.PasswordInput,
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
- chunkGCYYGSHU_js.Button,
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 } = chunkGCYYGSHU_js.useAuth();
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
- chunkGCYYGSHU_js.SectionCard,
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(chunkGCYYGSHU_js.InlineSpinner, {}),
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(chunkGCYYGSHU_js.Badge, { color: "green", children: t("userProfile.sessions.currentBadge") })
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
- chunkGCYYGSHU_js.Button,
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 } = chunkGCYYGSHU_js.useAuth();
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
- chunkGCYYGSHU_js.SectionCard,
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(chunkGCYYGSHU_js.InlineSpinner, {}),
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(chunkGCYYGSHU_js.ListCard, { children: accounts.map((account) => /* @__PURE__ */ jsxRuntime.jsx(
971
- chunkGCYYGSHU_js.ListCardItem,
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
- chunkGCYYGSHU_js.Avatar,
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
- chunkGCYYGSHU_js.Button,
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 } = chunkGCYYGSHU_js.useAuth();
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(chunkGCYYGSHU_js.InlineSpinner, {}) });
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
- chunkGCYYGSHU_js.SegmentedControl,
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-YTE6WCBX.js.map
1048
- //# sourceMappingURL=chunk-YTE6WCBX.js.map
1048
+ //# sourceMappingURL=chunk-JHN2OUWG.js.map
1049
+ //# sourceMappingURL=chunk-JHN2OUWG.js.map