@datatechsolutions/ui 3.8.0 → 3.9.0

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 (97) hide show
  1. package/dist/astrlabe/index.js +107 -107
  2. package/dist/astrlabe/index.mjs +3 -3
  3. package/dist/astrlabe/workflow-canvas.js +3 -3
  4. package/dist/astrlabe/workflow-canvas.mjs +2 -2
  5. package/dist/{chunk-KKXI7CPF.mjs → chunk-2E7HYTS7.mjs} +3 -3
  6. package/dist/{chunk-KKXI7CPF.mjs.map → chunk-2E7HYTS7.mjs.map} +1 -1
  7. package/dist/{chunk-EWYAM4WJ.mjs → chunk-2ZY3IQ2I.mjs} +3 -3
  8. package/dist/{chunk-EWYAM4WJ.mjs.map → chunk-2ZY3IQ2I.mjs.map} +1 -1
  9. package/dist/{chunk-VPFVW7ZF.js → chunk-6E2YH67A.js} +35 -35
  10. package/dist/{chunk-VPFVW7ZF.js.map → chunk-6E2YH67A.js.map} +1 -1
  11. package/dist/{chunk-A4A3SQTV.mjs → chunk-6QJI5YOJ.mjs} +3 -3
  12. package/dist/{chunk-A4A3SQTV.mjs.map → chunk-6QJI5YOJ.mjs.map} +1 -1
  13. package/dist/{chunk-3X3IYDG6.js → chunk-7AM2SXEF.js} +68 -68
  14. package/dist/{chunk-3X3IYDG6.js.map → chunk-7AM2SXEF.js.map} +1 -1
  15. package/dist/{chunk-H37VDL7Y.js → chunk-A2RIX2RK.js} +4 -4
  16. package/dist/{chunk-H37VDL7Y.js.map → chunk-A2RIX2RK.js.map} +1 -1
  17. package/dist/{chunk-32DHEVOH.mjs → chunk-ARLYOLSO.mjs} +3 -3
  18. package/dist/{chunk-32DHEVOH.mjs.map → chunk-ARLYOLSO.mjs.map} +1 -1
  19. package/dist/{chunk-5YVOLHSW.mjs → chunk-AXBD6OAF.mjs} +4 -4
  20. package/dist/{chunk-5YVOLHSW.mjs.map → chunk-AXBD6OAF.mjs.map} +1 -1
  21. package/dist/{chunk-ZP37M2QK.mjs → chunk-BWUFLW5W.mjs} +6 -6
  22. package/dist/{chunk-ZP37M2QK.mjs.map → chunk-BWUFLW5W.mjs.map} +1 -1
  23. package/dist/{chunk-HBOORO52.js → chunk-CLTNCBSP.js} +4 -4
  24. package/dist/{chunk-HBOORO52.js.map → chunk-CLTNCBSP.js.map} +1 -1
  25. package/dist/{chunk-F35GFICG.js → chunk-CRBGZA6Y.js} +13 -13
  26. package/dist/{chunk-F35GFICG.js.map → chunk-CRBGZA6Y.js.map} +1 -1
  27. package/dist/{chunk-7JZFNKJD.js → chunk-DQIEVLA3.js} +35 -35
  28. package/dist/{chunk-7JZFNKJD.js.map → chunk-DQIEVLA3.js.map} +1 -1
  29. package/dist/{chunk-57E4TCB2.mjs → chunk-EAIE4QGD.mjs} +3 -3
  30. package/dist/{chunk-57E4TCB2.mjs.map → chunk-EAIE4QGD.mjs.map} +1 -1
  31. package/dist/{chunk-5W6LMDXV.mjs → chunk-GQWC4EKE.mjs} +4 -4
  32. package/dist/{chunk-5W6LMDXV.mjs.map → chunk-GQWC4EKE.mjs.map} +1 -1
  33. package/dist/{chunk-FKUIVS6I.js → chunk-IVKFXPLO.js} +28 -28
  34. package/dist/{chunk-FKUIVS6I.js.map → chunk-IVKFXPLO.js.map} +1 -1
  35. package/dist/{chunk-FNA66TT4.js → chunk-MT66VKLS.js} +163 -219
  36. package/dist/chunk-MT66VKLS.js.map +1 -0
  37. package/dist/{chunk-74BU2EBZ.mjs → chunk-OEZ7GAJY.mjs} +6 -6
  38. package/dist/{chunk-74BU2EBZ.mjs.map → chunk-OEZ7GAJY.mjs.map} +1 -1
  39. package/dist/{chunk-CZZOCKEA.mjs → chunk-OVQ4MKCV.mjs} +3 -3
  40. package/dist/{chunk-CZZOCKEA.mjs.map → chunk-OVQ4MKCV.mjs.map} +1 -1
  41. package/dist/{chunk-WDBVIU7W.mjs → chunk-PD3JLDA5.mjs} +3 -3
  42. package/dist/{chunk-WDBVIU7W.mjs.map → chunk-PD3JLDA5.mjs.map} +1 -1
  43. package/dist/{chunk-TJPPZU77.js → chunk-R6GEJBFC.js} +34 -34
  44. package/dist/{chunk-TJPPZU77.js.map → chunk-R6GEJBFC.js.map} +1 -1
  45. package/dist/{chunk-Q4QORAMH.js → chunk-RFUSH7WD.js} +10 -10
  46. package/dist/{chunk-Q4QORAMH.js.map → chunk-RFUSH7WD.js.map} +1 -1
  47. package/dist/{chunk-VS6PTRQ7.mjs → chunk-SJ6SUS7H.mjs} +3 -3
  48. package/dist/{chunk-VS6PTRQ7.mjs.map → chunk-SJ6SUS7H.mjs.map} +1 -1
  49. package/dist/{chunk-E57RZXOR.js → chunk-T4IYOKHR.js} +25 -25
  50. package/dist/{chunk-E57RZXOR.js.map → chunk-T4IYOKHR.js.map} +1 -1
  51. package/dist/{chunk-3H5CFLVK.js → chunk-U6VFS3RD.js} +135 -135
  52. package/dist/{chunk-3H5CFLVK.js.map → chunk-U6VFS3RD.js.map} +1 -1
  53. package/dist/{chunk-RCHTRG7R.js → chunk-UZIICTIY.js} +55 -55
  54. package/dist/{chunk-RCHTRG7R.js.map → chunk-UZIICTIY.js.map} +1 -1
  55. package/dist/{chunk-TCP45Q4B.js → chunk-WJENX6KB.js} +9 -9
  56. package/dist/{chunk-TCP45Q4B.js.map → chunk-WJENX6KB.js.map} +1 -1
  57. package/dist/{chunk-PYNXIDG3.mjs → chunk-WS3IJFPW.mjs} +3 -3
  58. package/dist/{chunk-PYNXIDG3.mjs.map → chunk-WS3IJFPW.mjs.map} +1 -1
  59. package/dist/{chunk-Q7HRCCFT.js → chunk-ZDXEGSCF.js} +45 -45
  60. package/dist/{chunk-Q7HRCCFT.js.map → chunk-ZDXEGSCF.js.map} +1 -1
  61. package/dist/{chunk-PCUINUIC.mjs → chunk-ZQEMKEEH.mjs} +3 -3
  62. package/dist/{chunk-PCUINUIC.mjs.map → chunk-ZQEMKEEH.mjs.map} +1 -1
  63. package/dist/{chunk-E6C7MFHJ.mjs → chunk-ZQRUAXGP.mjs} +164 -218
  64. package/dist/chunk-ZQRUAXGP.mjs.map +1 -0
  65. package/dist/index.d.mts +43 -42
  66. package/dist/index.d.ts +43 -42
  67. package/dist/index.js +662 -670
  68. package/dist/index.mjs +1 -1
  69. package/dist/platform/admin/index.js +9 -9
  70. package/dist/platform/admin/index.mjs +3 -3
  71. package/dist/platform/agents-workspace.js +6 -6
  72. package/dist/platform/agents-workspace.mjs +5 -5
  73. package/dist/platform/app-shell.js +3 -3
  74. package/dist/platform/app-shell.mjs +2 -2
  75. package/dist/platform/auth/index.js +21 -21
  76. package/dist/platform/auth/index.mjs +3 -3
  77. package/dist/platform/billing/index.js +3 -3
  78. package/dist/platform/billing/index.mjs +2 -2
  79. package/dist/platform/impersonation/index.js +3 -3
  80. package/dist/platform/impersonation/index.mjs +2 -2
  81. package/dist/platform/index.d.mts +1 -1
  82. package/dist/platform/index.d.ts +1 -1
  83. package/dist/platform/index.js +74 -74
  84. package/dist/platform/index.mjs +17 -17
  85. package/dist/platform/pages/index.d.mts +93 -4
  86. package/dist/platform/pages/index.d.ts +93 -4
  87. package/dist/platform/pages/index.js +1009 -575
  88. package/dist/platform/pages/index.js.map +1 -1
  89. package/dist/platform/pages/index.mjs +805 -372
  90. package/dist/platform/pages/index.mjs.map +1 -1
  91. package/dist/platform/settings/index.js +6 -6
  92. package/dist/platform/settings/index.mjs +5 -5
  93. package/dist/platform/workflow-canvas-shell.js +4 -4
  94. package/dist/platform/workflow-canvas-shell.mjs +3 -3
  95. package/package.json +1 -1
  96. package/dist/chunk-E6C7MFHJ.mjs.map +0 -1
  97. package/dist/chunk-FNA66TT4.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  var chunkQGLGQXJE_js = require('./chunk-QGLGQXJE.js');
5
- var chunkFNA66TT4_js = require('./chunk-FNA66TT4.js');
5
+ var chunkMT66VKLS_js = require('./chunk-MT66VKLS.js');
6
6
  var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
7
7
  var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
8
8
  var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
@@ -40,7 +40,7 @@ function MfaSetup({
40
40
  onVerifySetup
41
41
  }) {
42
42
  const t = chunkYXN2K77G_js.useTranslations("windsock");
43
- const { client } = chunkFNA66TT4_js.useAuth();
43
+ const { client } = chunkMT66VKLS_js.useAuth();
44
44
  const setupSteps = [
45
45
  {
46
46
  id: "method",
@@ -162,7 +162,7 @@ function MfaSetup({
162
162
  }
163
163
  })();
164
164
  return /* @__PURE__ */ jsxRuntime.jsxs(
165
- chunkFNA66TT4_js.StepFormPage,
165
+ chunkMT66VKLS_js.StepFormPage,
166
166
  {
167
167
  title: t("mfa.setup.title"),
168
168
  subtitle: enforcement === "required" ? t("mfa.setup.subtitleRequired") : t("mfa.setup.subtitleOptional"),
@@ -179,7 +179,7 @@ function MfaSetup({
179
179
  canAdvance,
180
180
  children: [
181
181
  currentStep === 0 && /* @__PURE__ */ jsxRuntime.jsx(
182
- chunkFNA66TT4_js.OptionGrid,
182
+ chunkMT66VKLS_js.OptionGrid,
183
183
  {
184
184
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ShieldCheckIcon, { className: "h-4 w-4" }),
185
185
  title: t("mfa.setup.methodGridTitle"),
@@ -195,7 +195,7 @@ function MfaSetup({
195
195
  columns: 2
196
196
  }
197
197
  ),
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(chunkFNA66TT4_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(chunkMT66VKLS_js.Spinner, {}) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
199
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(
200
200
  "img",
201
201
  {
@@ -221,7 +221,7 @@ function MfaSetup({
221
221
  autoFocus: true
222
222
  }
223
223
  ),
224
- isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.Spinner, {}) })
224
+ isLoading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.Spinner, {}) })
225
225
  ] }),
226
226
  currentStep === 3 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
227
227
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -232,7 +232,7 @@ function MfaSetup({
232
232
  }
233
233
  ),
234
234
  /* @__PURE__ */ jsxRuntime.jsx(
235
- chunkFNA66TT4_js.FormCheckbox,
235
+ chunkMT66VKLS_js.FormCheckbox,
236
236
  {
237
237
  label: t("mfa.setup.backupCodesSavedConfirm"),
238
238
  checked: savedBackupCodes,
@@ -253,7 +253,7 @@ function MfaManage({
253
253
  }) {
254
254
  const t = chunkYXN2K77G_js.useTranslations("windsock");
255
255
  const format = chunkYXN2K77G_js.useFormatter();
256
- const { client } = chunkFNA66TT4_js.useAuth();
256
+ const { client } = chunkMT66VKLS_js.useAuth();
257
257
  const [isBackupSheetOpen, setIsBackupSheetOpen] = react.useState(false);
258
258
  const [newBackupCodes, setNewBackupCodes] = react.useState([]);
259
259
  const [isRegenerating, setIsRegenerating] = react.useState(false);
@@ -325,20 +325,20 @@ function MfaManage({
325
325
  }, [onEnroll]);
326
326
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
327
327
  /* @__PURE__ */ jsxRuntime.jsx(
328
- chunkFNA66TT4_js.SectionCard,
328
+ chunkMT66VKLS_js.SectionCard,
329
329
  {
330
330
  header: {
331
331
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ShieldCheckIcon, { className: "h-5 w-5 text-white" }),
332
332
  title: t("mfa.manage.title"),
333
333
  subtitle: t("mfa.manage.subtitle"),
334
334
  gradient: "from-emerald-500 via-teal-500 to-cyan-500",
335
- rightContent: mfaEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.StatusBadge, { status: "active", label: t("mfa.manage.statusEnabled"), size: "sm" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.StatusBadge, { status: "inactive", label: t("mfa.manage.statusDisabled"), size: "sm" })
335
+ rightContent: mfaEnabled ? /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.StatusBadge, { status: "active", label: t("mfa.manage.statusEnabled"), size: "sm" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.StatusBadge, { status: "inactive", label: t("mfa.manage.statusDisabled"), size: "sm" })
336
336
  },
337
337
  padded: false,
338
338
  children: !mfaEnabled ? (
339
339
  /* MFA not enabled — show empty state with enable CTA */
340
340
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
341
- chunkFNA66TT4_js.EmptyState,
341
+ chunkMT66VKLS_js.EmptyState,
342
342
  {
343
343
  message: t("mfa.manage.emptyStateMessage"),
344
344
  description: t("mfa.manage.emptyStateDescription"),
@@ -353,11 +353,11 @@ function MfaManage({
353
353
  ) : (
354
354
  /* MFA enabled — show enrolled methods list + action buttons */
355
355
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-4 sm:p-6", children: [
356
- enrolledMethods.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.ListCard, { children: enrolledMethods.map((method, index) => /* @__PURE__ */ jsxRuntime.jsxs(
357
- chunkFNA66TT4_js.ListCardItem,
356
+ enrolledMethods.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.ListCard, { children: enrolledMethods.map((method, index) => /* @__PURE__ */ jsxRuntime.jsxs(
357
+ chunkMT66VKLS_js.ListCardItem,
358
358
  {
359
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" }) }),
360
- trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.StatusBadge, { status: "active", label: t("mfa.manage.methodStatusActive"), size: "sm" }),
360
+ trailing: /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.StatusBadge, { status: "active", label: t("mfa.manage.methodStatusActive"), size: "sm" }),
361
361
  children: [
362
362
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-gray-900 dark:text-white", children: method.label }),
363
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", {
@@ -413,7 +413,7 @@ function MfaManage({
413
413
  }
414
414
  ),
415
415
  /* @__PURE__ */ jsxRuntime.jsx(
416
- chunkFNA66TT4_js.Sheet,
416
+ chunkMT66VKLS_js.Sheet,
417
417
  {
418
418
  open: isBackupSheetOpen,
419
419
  onClose: handleCloseBackupSheet,
@@ -442,7 +442,7 @@ function MfaManage({
442
442
  }
443
443
  ),
444
444
  /* @__PURE__ */ jsxRuntime.jsx(
445
- chunkFNA66TT4_js.Sheet,
445
+ chunkMT66VKLS_js.Sheet,
446
446
  {
447
447
  open: isConfirmDisableOpen,
448
448
  onClose: handleCancelDisable,
@@ -455,7 +455,7 @@ function MfaManage({
455
455
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t("mfa.manage.confirmDisableDescription") })
456
456
  ] }),
457
457
  /* @__PURE__ */ jsxRuntime.jsx(
458
- chunkFNA66TT4_js.PasswordInput,
458
+ chunkMT66VKLS_js.PasswordInput,
459
459
  {
460
460
  label: t("mfa.manage.disablePasswordLabel"),
461
461
  value: disablePassword,
@@ -499,7 +499,7 @@ var ALL_TABS = ["profile", "security", "sessions", "linked-accounts"];
499
499
  function ProfileTabContent({ onProfileUpdate }) {
500
500
  const t = chunkYXN2K77G_js.useTranslations("windsock");
501
501
  const currentLocale = chunkYXN2K77G_js.useLocale();
502
- const { user, client } = chunkFNA66TT4_js.useAuth();
502
+ const { user, client } = chunkMT66VKLS_js.useAuth();
503
503
  const [name, setName] = react.useState(user?.name ?? "");
504
504
  const [avatarPreview, setAvatarPreview] = react.useState(user?.image ?? null);
505
505
  const [isUploadingAvatar, setIsUploadingAvatar] = react.useState(false);
@@ -572,7 +572,7 @@ function ProfileTabContent({ onProfileUpdate }) {
572
572
  }, [name, selectedLocale, currentLocale, user, onProfileUpdate, client, t]);
573
573
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
574
574
  /* @__PURE__ */ jsxRuntime.jsx(
575
- chunkFNA66TT4_js.SectionCard,
575
+ chunkMT66VKLS_js.SectionCard,
576
576
  {
577
577
  header: {
578
578
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.UserIcon, { className: "h-5 w-5 text-white" }),
@@ -580,7 +580,7 @@ function ProfileTabContent({ onProfileUpdate }) {
580
580
  subtitle: t("userProfile.profile.subtitle"),
581
581
  gradient: "from-blue-500 via-indigo-500 to-violet-500"
582
582
  },
583
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.BaseForm, { onSubmit: handleSave, submitLabel: t("userProfile.profile.saveButton"), showFooter: false, children: [
583
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkMT66VKLS_js.BaseForm, { onSubmit: handleSave, submitLabel: t("userProfile.profile.saveButton"), showFooter: false, children: [
584
584
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-3 pb-4", children: [
585
585
  /* @__PURE__ */ jsxRuntime.jsxs(
586
586
  "button",
@@ -591,7 +591,7 @@ function ProfileTabContent({ onProfileUpdate }) {
591
591
  className: "group relative",
592
592
  children: [
593
593
  /* @__PURE__ */ jsxRuntime.jsx(
594
- chunkFNA66TT4_js.Avatar,
594
+ chunkMT66VKLS_js.Avatar,
595
595
  {
596
596
  src: avatarPreview ?? void 0,
597
597
  initials: user?.name?.slice(0, 2).toUpperCase() ?? user?.email?.slice(0, 2).toUpperCase(),
@@ -599,7 +599,7 @@ function ProfileTabContent({ onProfileUpdate }) {
599
599
  className: "h-20 w-20 text-2xl"
600
600
  }
601
601
  ),
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(chunkFNA66TT4_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(chunkMT66VKLS_js.InlineSpinner, {}) : /* @__PURE__ */ jsxRuntime.jsx(outline.CameraIcon, { className: "h-6 w-6 text-white opacity-0 transition group-hover:opacity-100" }) })
603
603
  ]
604
604
  }
605
605
  ),
@@ -616,7 +616,7 @@ function ProfileTabContent({ onProfileUpdate }) {
616
616
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("userProfile.profile.avatarHint") })
617
617
  ] }),
618
618
  /* @__PURE__ */ jsxRuntime.jsx(
619
- chunkFNA66TT4_js.Input,
619
+ chunkMT66VKLS_js.Input,
620
620
  {
621
621
  label: t("userProfile.profile.nameLabel"),
622
622
  value: name,
@@ -626,7 +626,7 @@ function ProfileTabContent({ onProfileUpdate }) {
626
626
  }
627
627
  ),
628
628
  /* @__PURE__ */ jsxRuntime.jsx(
629
- chunkFNA66TT4_js.Input,
629
+ chunkMT66VKLS_js.Input,
630
630
  {
631
631
  label: t("userProfile.profile.emailLabel"),
632
632
  type: "email",
@@ -653,7 +653,7 @@ function ProfileTabContent({ onProfileUpdate }) {
653
653
  }
654
654
  ),
655
655
  /* @__PURE__ */ jsxRuntime.jsxs(
656
- chunkFNA66TT4_js.SectionCard,
656
+ chunkMT66VKLS_js.SectionCard,
657
657
  {
658
658
  header: {
659
659
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.GlobeAltIcon, { className: "h-5 w-5 text-white" }),
@@ -702,7 +702,7 @@ function ProfileTabContent({ onProfileUpdate }) {
702
702
  }
703
703
  function SecurityTabContent() {
704
704
  const t = chunkYXN2K77G_js.useTranslations("windsock");
705
- const { client, user, refresh } = chunkFNA66TT4_js.useAuth();
705
+ const { client, user, refresh } = chunkMT66VKLS_js.useAuth();
706
706
  const [showMfaSetup, setShowMfaSetup] = react.useState(false);
707
707
  const [currentPassword, setCurrentPassword] = react.useState("");
708
708
  const [newPassword, setNewPassword] = react.useState("");
@@ -766,7 +766,7 @@ function SecurityTabContent() {
766
766
  }
767
767
  ),
768
768
  /* @__PURE__ */ jsxRuntime.jsx(
769
- chunkFNA66TT4_js.SectionCard,
769
+ chunkMT66VKLS_js.SectionCard,
770
770
  {
771
771
  header: {
772
772
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.UserIcon, { className: "h-5 w-5 text-white" }),
@@ -774,9 +774,9 @@ function SecurityTabContent() {
774
774
  subtitle: t("userProfile.security.changePasswordSubtitle"),
775
775
  gradient: "from-blue-500 via-sky-500 to-cyan-500"
776
776
  },
777
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkFNA66TT4_js.BaseForm, { onSubmit: handleChangePassword, submitLabel: t("userProfile.security.changePasswordButton"), showFooter: false, children: [
777
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkMT66VKLS_js.BaseForm, { onSubmit: handleChangePassword, submitLabel: t("userProfile.security.changePasswordButton"), showFooter: false, children: [
778
778
  /* @__PURE__ */ jsxRuntime.jsx(
779
- chunkFNA66TT4_js.PasswordInput,
779
+ chunkMT66VKLS_js.PasswordInput,
780
780
  {
781
781
  label: t("userProfile.security.currentPasswordLabel"),
782
782
  value: currentPassword,
@@ -786,7 +786,7 @@ function SecurityTabContent() {
786
786
  }
787
787
  ),
788
788
  /* @__PURE__ */ jsxRuntime.jsx(
789
- chunkFNA66TT4_js.PasswordInput,
789
+ chunkMT66VKLS_js.PasswordInput,
790
790
  {
791
791
  label: t("userProfile.security.newPasswordLabel"),
792
792
  value: newPassword,
@@ -797,7 +797,7 @@ function SecurityTabContent() {
797
797
  ),
798
798
  /* @__PURE__ */ jsxRuntime.jsx(chunkQGLGQXJE_js.PasswordStrengthMeter, { password: newPassword }),
799
799
  /* @__PURE__ */ jsxRuntime.jsx(
800
- chunkFNA66TT4_js.PasswordInput,
800
+ chunkMT66VKLS_js.PasswordInput,
801
801
  {
802
802
  label: t("userProfile.security.confirmPasswordLabel"),
803
803
  value: confirmPassword,
@@ -827,7 +827,7 @@ function SecurityTabContent() {
827
827
  function SessionsTabContent() {
828
828
  const t = chunkYXN2K77G_js.useTranslations("windsock");
829
829
  const format = chunkYXN2K77G_js.useFormatter();
830
- const { client } = chunkFNA66TT4_js.useAuth();
830
+ const { client } = chunkMT66VKLS_js.useAuth();
831
831
  const [sessions, setSessions] = react.useState([]);
832
832
  const [isLoading, setIsLoading] = react.useState(true);
833
833
  const [revokingId, setRevokingId] = react.useState(null);
@@ -870,7 +870,7 @@ function SessionsTabContent() {
870
870
  }
871
871
  }, [client]);
872
872
  return /* @__PURE__ */ jsxRuntime.jsx(
873
- chunkFNA66TT4_js.SectionCard,
873
+ chunkMT66VKLS_js.SectionCard,
874
874
  {
875
875
  header: {
876
876
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.ComputerDesktopIcon, { className: "h-5 w-5 text-white" }),
@@ -880,7 +880,7 @@ function SessionsTabContent() {
880
880
  },
881
881
  padded: false,
882
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: [
883
- /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.InlineSpinner, {}),
883
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.InlineSpinner, {}),
884
884
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("userProfile.sessions.loading") })
885
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: [
886
886
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b liquid-divider", children: [
@@ -914,7 +914,7 @@ function SessionsTabContent() {
914
914
  }
915
915
  function LinkedAccountsTabContent() {
916
916
  const t = chunkYXN2K77G_js.useTranslations("windsock");
917
- const { client } = chunkFNA66TT4_js.useAuth();
917
+ const { client } = chunkMT66VKLS_js.useAuth();
918
918
  const [accounts, setAccounts] = react.useState([]);
919
919
  const [isLoading, setIsLoading] = react.useState(true);
920
920
  const [actioningProvider, setActioningProvider] = react.useState(null);
@@ -956,7 +956,7 @@ function LinkedAccountsTabContent() {
956
956
  }, [client]);
957
957
  const providerInitials = (provider) => provider.slice(0, 2).toUpperCase();
958
958
  return /* @__PURE__ */ jsxRuntime.jsx(
959
- chunkFNA66TT4_js.SectionCard,
959
+ chunkMT66VKLS_js.SectionCard,
960
960
  {
961
961
  header: {
962
962
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.LinkIcon, { className: "h-5 w-5 text-white" }),
@@ -966,13 +966,13 @@ function LinkedAccountsTabContent() {
966
966
  },
967
967
  padded: false,
968
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: [
969
- /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.InlineSpinner, {}),
969
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.InlineSpinner, {}),
970
970
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("userProfile.linkedAccounts.loading") })
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(chunkFNA66TT4_js.ListCard, { children: accounts.map((account) => /* @__PURE__ */ jsxRuntime.jsx(
972
- chunkFNA66TT4_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(chunkMT66VKLS_js.ListCard, { children: accounts.map((account) => /* @__PURE__ */ jsxRuntime.jsx(
972
+ chunkMT66VKLS_js.ListCardItem,
973
973
  {
974
974
  leading: /* @__PURE__ */ jsxRuntime.jsx(
975
- chunkFNA66TT4_js.Avatar,
975
+ chunkMT66VKLS_js.Avatar,
976
976
  {
977
977
  src: account.logoUrl,
978
978
  initials: providerInitials(account.provider),
@@ -1007,12 +1007,12 @@ function UserProfile({
1007
1007
  onProfileUpdate
1008
1008
  }) {
1009
1009
  const t = chunkYXN2K77G_js.useTranslations("windsock");
1010
- const { status } = chunkFNA66TT4_js.useAuth();
1010
+ const { status } = chunkMT66VKLS_js.useAuth();
1011
1011
  const [activeTab, setActiveTab] = react.useState(
1012
1012
  tabs.includes(defaultTab) ? defaultTab : tabs[0] ?? "profile"
1013
1013
  );
1014
1014
  if (status === "loading") {
1015
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFNA66TT4_js.InlineSpinner, {}) });
1015
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMT66VKLS_js.InlineSpinner, {}) });
1016
1016
  }
1017
1017
  if (status !== "authenticated") {
1018
1018
  return null;
@@ -1023,7 +1023,7 @@ function UserProfile({
1023
1023
  }));
1024
1024
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
1025
1025
  tabs.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
1026
- chunkFNA66TT4_js.SegmentedControl,
1026
+ chunkMT66VKLS_js.SegmentedControl,
1027
1027
  {
1028
1028
  segments,
1029
1029
  value: activeTab,
@@ -1045,5 +1045,5 @@ exports.ProfileTabContent = ProfileTabContent;
1045
1045
  exports.SecurityTabContent = SecurityTabContent;
1046
1046
  exports.SessionsTabContent = SessionsTabContent;
1047
1047
  exports.UserProfile = UserProfile;
1048
- //# sourceMappingURL=chunk-Q7HRCCFT.js.map
1049
- //# sourceMappingURL=chunk-Q7HRCCFT.js.map
1048
+ //# sourceMappingURL=chunk-ZDXEGSCF.js.map
1049
+ //# sourceMappingURL=chunk-ZDXEGSCF.js.map