@strands.gg/accui 0.2.7 → 0.2.8

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 (67) hide show
  1. package/dist/accui.css +1 -1
  2. package/dist/nuxt/module.cjs.js +1 -1
  3. package/dist/nuxt/module.cjs.js.map +1 -1
  4. package/dist/nuxt/module.d.ts +2 -67
  5. package/dist/nuxt/module.d.ts.map +1 -1
  6. package/dist/nuxt/module.es.js +26 -36
  7. package/dist/nuxt/module.es.js.map +1 -1
  8. package/dist/nuxt/runtime/composables/useStrandsAuth.cjs.js.map +1 -1
  9. package/dist/nuxt/runtime/composables/useStrandsAuth.es.js.map +1 -1
  10. package/dist/nuxt/runtime/middleware/auth.global.cjs.js.map +1 -1
  11. package/dist/nuxt/runtime/middleware/auth.global.es.js.map +1 -1
  12. package/dist/nuxt/runtime/plugin.client.cjs.js +1 -1
  13. package/dist/nuxt/runtime/plugin.client.cjs.js.map +1 -1
  14. package/dist/nuxt/runtime/plugin.client.d.ts.map +1 -1
  15. package/dist/nuxt/runtime/plugin.client.es.js +9 -22
  16. package/dist/nuxt/runtime/plugin.client.es.js.map +1 -1
  17. package/dist/nuxt/runtime/plugin.server.cjs.js +1 -1
  18. package/dist/nuxt/runtime/plugin.server.cjs.js.map +1 -1
  19. package/dist/nuxt/runtime/plugin.server.d.ts.map +1 -1
  20. package/dist/nuxt/runtime/plugin.server.es.js +9 -4
  21. package/dist/nuxt/runtime/plugin.server.es.js.map +1 -1
  22. package/dist/nuxt-v4/module.cjs.js +5 -5
  23. package/dist/nuxt-v4/module.cjs.js.map +1 -1
  24. package/dist/nuxt-v4/module.d.ts +2 -67
  25. package/dist/nuxt-v4/module.d.ts.map +1 -1
  26. package/dist/nuxt-v4/module.es.js +31 -41
  27. package/dist/nuxt-v4/module.es.js.map +1 -1
  28. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.cjs.js.map +1 -1
  29. package/dist/nuxt-v4/runtime/composables/useStrandsAuth.es.js.map +1 -1
  30. package/dist/nuxt-v4/runtime/middleware/auth.global.cjs.js.map +1 -1
  31. package/dist/nuxt-v4/runtime/middleware/auth.global.es.js.map +1 -1
  32. package/dist/nuxt-v4/runtime/plugin.client.cjs.js +1 -1
  33. package/dist/nuxt-v4/runtime/plugin.client.cjs.js.map +1 -1
  34. package/dist/nuxt-v4/runtime/plugin.client.d.ts.map +1 -1
  35. package/dist/nuxt-v4/runtime/plugin.client.es.js +12 -32
  36. package/dist/nuxt-v4/runtime/plugin.client.es.js.map +1 -1
  37. package/dist/nuxt-v4/runtime/plugin.server.cjs.js +1 -1
  38. package/dist/nuxt-v4/runtime/plugin.server.cjs.js.map +1 -1
  39. package/dist/nuxt-v4/runtime/plugin.server.d.ts.map +1 -1
  40. package/dist/nuxt-v4/runtime/plugin.server.es.js +14 -10
  41. package/dist/nuxt-v4/runtime/plugin.server.es.js.map +1 -1
  42. package/dist/nuxt-v4/types.d.ts +4 -4
  43. package/dist/nuxt-v4.d.ts +1 -2
  44. package/dist/nuxt-v4.d.ts.map +1 -1
  45. package/dist/nuxt.d.ts +1 -2
  46. package/dist/nuxt.d.ts.map +1 -1
  47. package/dist/shared/defaults.d.ts +3 -0
  48. package/dist/shared/defaults.d.ts.map +1 -0
  49. package/dist/strands-auth-ui.cjs.js +1 -1
  50. package/dist/strands-auth-ui.cjs.js.map +1 -1
  51. package/dist/strands-auth-ui.es.js +385 -381
  52. package/dist/strands-auth-ui.es.js.map +1 -1
  53. package/dist/types/index.d.ts +66 -2
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/dist/useStrandsConfig-R8O__glt.cjs +2 -0
  56. package/dist/useStrandsConfig-R8O__glt.cjs.map +1 -0
  57. package/dist/useStrandsConfig-j-Bfv_s7.js +98 -0
  58. package/dist/useStrandsConfig-j-Bfv_s7.js.map +1 -0
  59. package/dist/vue/components/StrandsAuth.vue.d.ts.map +1 -1
  60. package/dist/vue/components/StrandsSignUp.vue.d.ts.map +1 -1
  61. package/dist/vue/composables/useStrandsConfig.d.ts +4 -30
  62. package/dist/vue/composables/useStrandsConfig.d.ts.map +1 -1
  63. package/package.json +1 -1
  64. package/dist/useStrandsConfig-CPWn6FBj.cjs +0 -2
  65. package/dist/useStrandsConfig-CPWn6FBj.cjs.map +0 -1
  66. package/dist/useStrandsConfig-Ds4Yslxo.js +0 -105
  67. package/dist/useStrandsConfig-Ds4Yslxo.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { defineComponent as X, computed as W, createElementBlock as l, openBlock as i, normalizeClass as j, createElementVNode as s, createCommentVNode as a, toDisplayString as x, renderSlot as Z, createTextVNode as S, useSlots as ye, ref as U, createBlock as O, resolveDynamicComponent as ve, mergeProps as we, withCtx as w, onMounted as se, nextTick as ue, toRefs as he, watch as te, Fragment as T, renderList as le, normalizeStyle as qe, reactive as H, createVNode as m, Transition as R, withModifiers as re, resolveComponent as Ve, withDirectives as _, vModelText as $, createStaticVNode as ce, h as z } from "vue";
2
- import { u as G, p as pe } from "./useStrandsConfig-Ds4Yslxo.js";
3
- import { s as Nn } from "./useStrandsConfig-Ds4Yslxo.js";
1
+ import { defineComponent as X, computed as W, createElementBlock as l, openBlock as i, normalizeClass as j, createElementVNode as s, createCommentVNode as a, toDisplayString as x, renderSlot as Z, createTextVNode as S, useSlots as ye, ref as U, createBlock as O, resolveDynamicComponent as ve, mergeProps as we, withCtx as b, onMounted as se, nextTick as ue, toRefs as he, watch as te, Fragment as T, renderList as le, normalizeStyle as qe, reactive as R, createVNode as m, Transition as H, withModifiers as re, resolveComponent as Ve, withDirectives as _, vModelText as $, createStaticVNode as ce, h as z } from "vue";
2
+ import { u as G, p as pe } from "./useStrandsConfig-j-Bfv_s7.js";
3
+ import { s as Wn } from "./useStrandsConfig-j-Bfv_s7.js";
4
4
  import { u as me } from "./useStrandsAuth-DiD32KI7.js";
5
5
  const xe = /* @__PURE__ */ X({
6
6
  __name: "UiAlert",
@@ -351,10 +351,10 @@ const oe = /* @__PURE__ */ B(Xe, [["render", Ze], ["__file", "/home/runner/work/
351
351
  } };
352
352
  return Object.defineProperty(g, "__isScriptSetup", { enumerable: !1, value: !0 }), g;
353
353
  }
354
- }), Ye = { class: "space-y-1" }, Oe = ["for"], Ke = {
354
+ }), Ye = { class: "space-y-1" }, Oe = ["for"], Ee = {
355
355
  key: 0,
356
356
  class: "text-red-500"
357
- }, Qe = { class: "relative" }, Ee = ["id", "type", "value", "placeholder", "disabled", "required", "autocomplete"], He = {
357
+ }, Ke = { class: "relative" }, Qe = ["id", "type", "value", "placeholder", "disabled", "required", "autocomplete"], He = {
358
358
  key: 0,
359
359
  class: "h-5 w-5",
360
360
  fill: "none",
@@ -388,9 +388,9 @@ function $e(o, t, n, e, A, c) {
388
388
  1
389
389
  /* TEXT */
390
390
  ),
391
- n.required ? (i(), l("span", Ke, "*")) : a("v-if", !0)
391
+ n.required ? (i(), l("span", Ee, "*")) : a("v-if", !0)
392
392
  ], 8, Oe)) : a("v-if", !0),
393
- s("div", Qe, [
393
+ s("div", Ke, [
394
394
  s("input", {
395
395
  id: e.inputId,
396
396
  type: e.computedType,
@@ -403,7 +403,7 @@ function $e(o, t, n, e, A, c) {
403
403
  onInput: e.handleInput,
404
404
  onBlur: t[0] || (t[0] = (r) => o.$emit("blur", r)),
405
405
  onFocus: t[1] || (t[1] = (r) => o.$emit("focus", r))
406
- }, null, 42, Ee),
406
+ }, null, 42, Qe),
407
407
  a(" Password visibility toggle "),
408
408
  n.type === "password" ? (i(), l("button", {
409
409
  key: 0,
@@ -514,7 +514,7 @@ const ie = /* @__PURE__ */ B(Te, [["render", $e], ["__scopeId", "data-v-e87dc617
514
514
  });
515
515
  function tt(o, t, n, e, A, c) {
516
516
  return i(), O(ve(e.tag), we({ class: e.linkClasses }, e.linkProps, { onClick: e.handleClick }), {
517
- default: w(() => [
517
+ default: b(() => [
518
518
  Z(o.$slots, "default")
519
519
  ]),
520
520
  _: 3
@@ -543,24 +543,24 @@ const Ae = /* @__PURE__ */ B(et, [["render", tt], ["__file", "/home/runner/work/
543
543
  v = !0;
544
544
  const N = c.value[f], M = N.parentElement;
545
545
  if (!M) return;
546
- const k = N.getBoundingClientRect(), C = M.getBoundingClientRect(), b = k.left - C.left, y = k.width;
546
+ const k = N.getBoundingClientRect(), C = M.getBoundingClientRect(), y = k.left - C.left, w = k.width;
547
547
  if (d === -1) {
548
548
  r.value = {
549
- width: `${y}px`,
550
- left: `${b}px`,
549
+ width: `${w}px`,
550
+ left: `${y}px`,
551
551
  opacity: "1"
552
552
  }, d = f, v = !1;
553
553
  return;
554
554
  }
555
- const Q = c.value[d].getBoundingClientRect(), K = Q.left - C.left, V = Q.width, P = f > d, D = P ? K : b, E = P ? b + y - K : K + V - b;
555
+ const K = c.value[d].getBoundingClientRect(), E = K.left - C.left, V = K.width, P = f > d, D = P ? E : y, Q = P ? y + w - E : E + V - y;
556
556
  r.value = {
557
- width: `${E}px`,
557
+ width: `${Q}px`,
558
558
  left: `${D}px`,
559
559
  opacity: "1"
560
560
  }, setTimeout(() => {
561
561
  r.value = {
562
- width: `${y}px`,
563
- left: `${b}px`,
562
+ width: `${w}px`,
563
+ left: `${y}px`,
564
564
  opacity: "1"
565
565
  }, d = f, setTimeout(() => {
566
566
  v = !1;
@@ -702,16 +702,16 @@ function fe(o = {}) {
702
702
  }
703
703
  });
704
704
  if (!C.ok) {
705
- const y = await C.json().catch(() => ({}));
706
- throw new Error(y.error?.message || `HTTP ${C.status}: ${C.statusText}`);
705
+ const w = await C.json().catch(() => ({}));
706
+ throw new Error(w.error?.message || `HTTP ${C.status}: ${C.statusText}`);
707
707
  }
708
- const b = await C.json();
709
- if (!b.success)
710
- throw new Error(b.error?.message || "Failed to get OAuth auth URL");
711
- return b.data.authUrl;
708
+ const y = await C.json();
709
+ if (!y.success)
710
+ throw new Error(y.error?.message || "Failed to get OAuth auth URL");
711
+ return y.data.authUrl;
712
712
  } catch (C) {
713
- const b = C instanceof Error ? C.message : "Failed to get OAuth auth URL";
714
- throw new Error(b);
713
+ const y = C instanceof Error ? C.message : "Failed to get OAuth auth URL";
714
+ throw new Error(y);
715
715
  }
716
716
  }, v = async (u, g) => {
717
717
  try {
@@ -808,13 +808,13 @@ const ct = /* @__PURE__ */ X({
808
808
  async requestPasswordReset(L) {
809
809
  throw new Error("Password reset functionality is not yet implemented in the API. Please contact support.");
810
810
  }
811
- }, N = U(e.mode), M = U(!1), k = U(""), C = U(!1), b = H({
811
+ }, N = U(e.mode), M = U(!1), k = U(""), C = U(!1), y = R({
812
812
  firstName: "",
813
813
  lastName: "",
814
814
  email: "",
815
815
  password: "",
816
816
  confirmPassword: ""
817
- }), y = W(() => N.value === "signup"), F = W(() => N.value === "reset-password"), Q = W(() => b.password === b.confirmPassword), K = W(() => F.value ? b.email.trim() && !C.value : y.value ? b.email.trim() : b.email.trim() && b.password), V = {
817
+ }), w = W(() => N.value === "signup"), F = W(() => N.value === "reset-password"), K = W(() => y.password === y.confirmPassword), E = W(() => F.value ? y.email.trim() && !C.value : w.value ? y.email.trim() : y.email.trim() && y.password), V = {
818
818
  weak: {
819
819
  label: "Weak",
820
820
  color: "border-red-300",
@@ -845,17 +845,17 @@ const ct = /* @__PURE__ */ X({
845
845
  M.value = !0, k.value = "";
846
846
  try {
847
847
  if (F.value)
848
- await f.requestPasswordReset(b.email), C.value = !0, A("password-reset-sent", b.email);
849
- else if (y.value) {
848
+ await f.requestPasswordReset(y.email), C.value = !0, A("password-reset-sent", y.email);
849
+ else if (w.value) {
850
850
  const L = await f.signUp(
851
- b.email,
852
- b.password,
853
- b.firstName,
854
- b.lastName
851
+ y.email,
852
+ y.password,
853
+ y.firstName,
854
+ y.lastName
855
855
  );
856
856
  A("success", L.user);
857
857
  } else {
858
- const L = await f.signIn(b.email, b.password);
858
+ const L = await f.signIn(y.email, y.password);
859
859
  A("success", L.user);
860
860
  }
861
861
  } catch (L) {
@@ -864,22 +864,22 @@ const ct = /* @__PURE__ */ X({
864
864
  } finally {
865
865
  M.value = !1;
866
866
  }
867
- }, E = async (L) => {
867
+ }, Q = async (L) => {
868
868
  try {
869
869
  await u(L, {
870
870
  redirectUrl: e.redirectUrl
871
871
  });
872
872
  } catch (I) {
873
- const Y = I instanceof Error ? I.message : `Failed to ${y.value ? "sign up" : "sign in"} with ${L}`;
873
+ const Y = I instanceof Error ? I.message : `Failed to ${w.value ? "sign up" : "sign in"} with ${L}`;
874
874
  k.value = Y, A("error", Y);
875
875
  }
876
876
  };
877
877
  te(() => e.mode, (L) => {
878
878
  N.value = L;
879
879
  }), te(N, (L) => {
880
- k.value = "", C.value = !1, b.firstName = "", b.lastName = "", b.email = "", b.password = "", b.confirmPassword = "", A("mode-changed", L);
880
+ k.value = "", C.value = !1, y.firstName = "", y.lastName = "", y.email = "", y.password = "", y.confirmPassword = "", A("mode-changed", L);
881
881
  });
882
- const ee = { props: e, emit: A, getUrl: c, getSupportEmail: r, enabledProviders: d, oauthLoading: v, oauthError: h, fetchProviders: q, redirectToProvider: u, getProviderIcon: g, displayProviders: p, authApi: f, currentMode: N, loading: M, error: k, isPasswordResetSubmitted: C, form: b, isSignUp: y, isPasswordReset: F, isPasswordMatch: Q, isFormValid: K, PASSWORD_STRENGTH_CONFIGS: V, getPasswordStrength: P, handleAuth: D, handleOAuthAuth: E, get UiCard() {
882
+ const ee = { props: e, emit: A, getUrl: c, getSupportEmail: r, enabledProviders: d, oauthLoading: v, oauthError: h, fetchProviders: q, redirectToProvider: u, getProviderIcon: g, displayProviders: p, authApi: f, currentMode: N, loading: M, error: k, isPasswordResetSubmitted: C, form: y, isSignUp: w, isPasswordReset: F, isPasswordMatch: K, isFormValid: E, PASSWORD_STRENGTH_CONFIGS: V, getPasswordStrength: P, handleAuth: D, handleOAuthAuth: Q, get UiCard() {
883
883
  return oe;
884
884
  }, get UiButton() {
885
885
  return ae;
@@ -895,10 +895,10 @@ const ct = /* @__PURE__ */ X({
895
895
  return Object.defineProperty(ee, "__isScriptSetup", { enumerable: !1, value: !0 }), ee;
896
896
  }
897
897
  }), mt = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" }, ft = { class: "text-center mb-8" }, gt = {
898
- key: "tabs",
898
+ key: 0,
899
899
  class: "mb-8"
900
900
  }, pt = {
901
- key: "oauth",
901
+ key: 0,
902
902
  class: "space-y-3 mb-6"
903
903
  }, vt = { class: "w-5 h-5 flex items-center justify-center" }, bt = {
904
904
  key: 0,
@@ -908,26 +908,29 @@ const ct = /* @__PURE__ */ X({
908
908
  class: "w-5 h-5 fill-current",
909
909
  viewBox: "0 0 24 24"
910
910
  }, ht = { class: "w-5 h-5 rounded-full bg-neutral-300 flex items-center justify-center" }, qt = { class: "text-xs font-semibold text-neutral-600" }, Vt = { class: "font-medium" }, xt = {
911
- key: "divider",
911
+ key: 0,
912
912
  class: "divider-with-text"
913
- }, Ct = { class: "divider-text" }, St = { class: "space-y-4" }, Ut = { key: "password-section" }, Wt = { class: "flex items-center justify-between mb-2" }, Nt = {
914
- key: "back-link",
913
+ }, Ct = { class: "divider-text" }, St = {
914
+ key: 0,
915
+ class: "mb-4"
916
+ }, Ut = { class: "flex items-center justify-between mb-2" }, Wt = {
917
+ key: 0,
915
918
  class: "mt-8 text-center"
916
- }, kt = {
917
- key: 1,
919
+ }, Nt = {
920
+ key: 0,
918
921
  class: "mt-6 text-center"
919
- }, Lt = { class: "text-neutral-400 text-sm" };
920
- function Mt(o, t, n, e, A, c) {
922
+ }, kt = { class: "text-neutral-400 text-sm" };
923
+ function Lt(o, t, n, e, A, c) {
921
924
  return i(), l("div", mt, [
922
925
  m(e.UiCard, { variant: "modern" }, {
923
- default: w(() => [
926
+ default: b(() => [
924
927
  a(" Header "),
925
928
  s("div", ft, [
926
- m(R, {
929
+ m(H, {
927
930
  name: "fade",
928
931
  mode: "out-in"
929
932
  }, {
930
- default: w(() => [
933
+ default: b(() => [
931
934
  (i(), l(
932
935
  "h1",
933
936
  {
@@ -942,11 +945,11 @@ function Mt(o, t, n, e, A, c) {
942
945
  _: 1
943
946
  /* STABLE */
944
947
  }),
945
- m(R, {
948
+ m(H, {
946
949
  name: "fade",
947
950
  mode: "out-in"
948
951
  }, {
949
- default: w(() => [
952
+ default: b(() => [
950
953
  (i(), l(
951
954
  "p",
952
955
  {
@@ -963,11 +966,8 @@ function Mt(o, t, n, e, A, c) {
963
966
  })
964
967
  ]),
965
968
  a(" Tab Switcher (only show for signin/signup) "),
966
- m(R, {
967
- name: "height-fade",
968
- mode: "out-in"
969
- }, {
970
- default: w(() => [
969
+ m(H, { name: "height-fade" }, {
970
+ default: b(() => [
971
971
  e.isPasswordReset ? a("v-if", !0) : (i(), l("div", gt, [
972
972
  m(e.UiTabs, {
973
973
  modelValue: e.currentMode,
@@ -983,11 +983,8 @@ function Mt(o, t, n, e, A, c) {
983
983
  /* STABLE */
984
984
  }),
985
985
  a(" OAuth Providers (not shown for password reset) "),
986
- m(R, {
987
- name: "height-fade",
988
- mode: "out-in"
989
- }, {
990
- default: w(() => [
986
+ m(H, { name: "height-fade" }, {
987
+ default: b(() => [
991
988
  !e.isPasswordReset && e.displayProviders?.length ? (i(), l("div", pt, [
992
989
  (i(!0), l(
993
990
  T,
@@ -1000,7 +997,7 @@ function Mt(o, t, n, e, A, c) {
1000
997
  onClick: (d) => e.handleOAuthAuth(r.id),
1001
998
  class: "btn-oauth group"
1002
999
  }, {
1003
- default: w(() => [
1000
+ default: b(() => [
1004
1001
  s("div", vt, [
1005
1002
  a(" Dynamic provider icons "),
1006
1003
  r.iconUrl ? (i(), l("div", bt, [
@@ -1091,11 +1088,8 @@ function Mt(o, t, n, e, A, c) {
1091
1088
  /* STABLE */
1092
1089
  }),
1093
1090
  a(" Divider (not shown for password reset) "),
1094
- m(R, {
1095
- name: "height-fade",
1096
- mode: "out-in"
1097
- }, {
1098
- default: w(() => [
1091
+ m(H, { name: "height-fade" }, {
1092
+ default: b(() => [
1099
1093
  !e.isPasswordReset && e.displayProviders?.length ? (i(), l("div", xt, [
1100
1094
  s(
1101
1095
  "span",
@@ -1117,26 +1111,33 @@ function Mt(o, t, n, e, A, c) {
1117
1111
  class: "space-y-6"
1118
1112
  },
1119
1113
  [
1120
- s("div", St, [
1114
+ s("div", null, [
1121
1115
  a(" Email "),
1122
- m(e.UiInput, {
1123
- modelValue: e.form.email,
1124
- "onUpdate:modelValue": t[1] || (t[1] = (r) => e.form.email = r),
1125
- type: "email",
1126
- label: "Email address",
1127
- placeholder: "Enter your email",
1128
- required: "",
1129
- autocomplete: "email",
1130
- error: e.error && !e.form.email ? "Email is required" : ""
1131
- }, null, 8, ["modelValue", "error"]),
1116
+ s(
1117
+ "div",
1118
+ {
1119
+ class: j(["email-field-spacing", !e.isPasswordReset && !e.isSignUp ? "has-password" : "no-password"])
1120
+ },
1121
+ [
1122
+ m(e.UiInput, {
1123
+ modelValue: e.form.email,
1124
+ "onUpdate:modelValue": t[1] || (t[1] = (r) => e.form.email = r),
1125
+ type: "email",
1126
+ label: "Email address",
1127
+ placeholder: "Enter your email",
1128
+ required: "",
1129
+ autocomplete: "email",
1130
+ error: e.error && !e.form.email ? "Email is required" : ""
1131
+ }, null, 8, ["modelValue", "error"])
1132
+ ],
1133
+ 2
1134
+ /* CLASS */
1135
+ ),
1132
1136
  a(" Password (Sign In Only) "),
1133
- m(R, {
1134
- name: "height-fade",
1135
- mode: "out-in"
1136
- }, {
1137
- default: w(() => [
1138
- !e.isPasswordReset && !e.isSignUp ? (i(), l("div", Ut, [
1139
- s("div", Wt, [
1137
+ m(H, { name: "password-fade" }, {
1138
+ default: b(() => [
1139
+ !e.isPasswordReset && !e.isSignUp ? (i(), l("div", St, [
1140
+ s("div", Ut, [
1140
1141
  t[9] || (t[9] = s(
1141
1142
  "span",
1142
1143
  { class: "text-sm font-medium text-gray-700" },
@@ -1149,7 +1150,7 @@ function Mt(o, t, n, e, A, c) {
1149
1150
  size: "sm",
1150
1151
  onClick: t[2] || (t[2] = (r) => e.currentMode = "reset-password")
1151
1152
  }, {
1152
- default: w(() => t[8] || (t[8] = [
1153
+ default: b(() => t[8] || (t[8] = [
1153
1154
  S(
1154
1155
  " Forgot password? ",
1155
1156
  -1
@@ -1183,7 +1184,7 @@ function Mt(o, t, n, e, A, c) {
1183
1184
  loading: e.loading,
1184
1185
  "loading-text": e.isPasswordReset ? "Sending link..." : e.isSignUp ? "Sending magic link..." : "Signing in..."
1185
1186
  }, {
1186
- default: w(() => [
1187
+ default: b(() => [
1187
1188
  S(
1188
1189
  x(e.isPasswordReset ? e.isPasswordResetSubmitted ? "Link sent!" : "Send reset link" : e.isSignUp ? "Send magic link" : "Sign in"),
1189
1190
  1
@@ -1198,11 +1199,11 @@ function Mt(o, t, n, e, A, c) {
1198
1199
  /* NEED_HYDRATION */
1199
1200
  ),
1200
1201
  a(" Success Message for Password Reset "),
1201
- m(R, {
1202
+ m(H, {
1202
1203
  name: "expand",
1203
1204
  mode: "out-in"
1204
1205
  }, {
1205
- default: w(() => [
1206
+ default: b(() => [
1206
1207
  e.isPasswordReset && e.isPasswordResetSubmitted ? (i(), O(e.UiAlert, {
1207
1208
  key: "reset-success",
1208
1209
  variant: "success",
@@ -1214,17 +1215,14 @@ function Mt(o, t, n, e, A, c) {
1214
1215
  /* STABLE */
1215
1216
  }),
1216
1217
  a(" Back to Sign In (Password Reset Only) "),
1217
- m(R, {
1218
- name: "height-fade",
1219
- mode: "out-in"
1220
- }, {
1221
- default: w(() => [
1222
- e.isPasswordReset ? (i(), l("div", Nt, [
1218
+ m(H, { name: "height-fade" }, {
1219
+ default: b(() => [
1220
+ e.isPasswordReset ? (i(), l("div", Wt, [
1223
1221
  m(e.UiLink, {
1224
1222
  onClick: t[4] || (t[4] = (r) => e.currentMode = "signin"),
1225
1223
  class: "inline-flex items-center gap-2"
1226
1224
  }, {
1227
- default: w(() => t[10] || (t[10] = [
1225
+ default: b(() => t[10] || (t[10] = [
1228
1226
  s(
1229
1227
  "svg",
1230
1228
  {
@@ -1268,29 +1266,35 @@ function Mt(o, t, n, e, A, c) {
1268
1266
  onDismiss: t[5] || (t[5] = (r) => e.error = "")
1269
1267
  }, null, 8, ["message"])) : a("v-if", !0),
1270
1268
  a(" Need help "),
1271
- e.getSupportEmail() ? (i(), l("div", kt, [
1272
- s("p", Lt, [
1273
- t[12] || (t[12] = S(
1274
- " Need help? ",
1275
- -1
1276
- /* CACHED */
1277
- )),
1278
- m(e.UiLink, {
1279
- variant: "primary",
1280
- href: `mailto:${e.getSupportEmail()}`
1281
- }, {
1282
- default: w(() => t[11] || (t[11] = [
1283
- S(
1284
- " Contact Support ",
1269
+ m(H, { name: "support-fade" }, {
1270
+ default: b(() => [
1271
+ e.getSupportEmail() ? (i(), l("div", Nt, [
1272
+ s("p", kt, [
1273
+ t[12] || (t[12] = S(
1274
+ " Need help? ",
1285
1275
  -1
1286
1276
  /* CACHED */
1287
- )
1288
- ])),
1289
- _: 1,
1290
- __: [11]
1291
- }, 8, ["href"])
1292
- ])
1293
- ])) : a("v-if", !0),
1277
+ )),
1278
+ m(e.UiLink, {
1279
+ variant: "primary",
1280
+ href: `mailto:${e.getSupportEmail()}`
1281
+ }, {
1282
+ default: b(() => t[11] || (t[11] = [
1283
+ S(
1284
+ " Contact Support ",
1285
+ -1
1286
+ /* CACHED */
1287
+ )
1288
+ ])),
1289
+ _: 1,
1290
+ __: [11]
1291
+ }, 8, ["href"])
1292
+ ])
1293
+ ])) : a("v-if", !0)
1294
+ ]),
1295
+ _: 1
1296
+ /* STABLE */
1297
+ }),
1294
1298
  a(" Secured by footer "),
1295
1299
  m(e.StrandsSecuredFooter, {
1296
1300
  config: e.props.config
@@ -1301,7 +1305,7 @@ function Mt(o, t, n, e, A, c) {
1301
1305
  })
1302
1306
  ]);
1303
1307
  }
1304
- const an = /* @__PURE__ */ B(ct, [["render", Mt], ["__scopeId", "data-v-4583e1b6"], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsAuth.vue"]]), Pt = /* @__PURE__ */ X({
1308
+ const nn = /* @__PURE__ */ B(ct, [["render", Lt], ["__scopeId", "data-v-4583e1b6"], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsAuth.vue"]]), Mt = /* @__PURE__ */ X({
1305
1309
  __name: "StrandsSignIn",
1306
1310
  props: {
1307
1311
  redirectUrl: { type: String, required: !1, default: "/" },
@@ -1326,7 +1330,7 @@ const an = /* @__PURE__ */ B(ct, [["render", Mt], ["__scopeId", "data-v-4583e1b6
1326
1330
  console.warn("Failed to fetch OAuth providers:", C);
1327
1331
  });
1328
1332
  });
1329
- const g = U(!1), p = U(""), f = H({
1333
+ const g = U(!1), p = U(""), f = R({
1330
1334
  email: "",
1331
1335
  password: ""
1332
1336
  }), k = { props: e, emit: A, getUrl: c, getSupportEmail: r, enabledProviders: d, oauthLoading: v, oauthError: h, fetchProviders: q, redirectToProvider: u, loading: g, error: p, form: f, handleSignIn: async () => {
@@ -1344,9 +1348,9 @@ const an = /* @__PURE__ */ B(ct, [["render", Mt], ["__scopeId", "data-v-4583e1b6
1344
1348
  redirectUrl: e.redirectUrl,
1345
1349
  scopes: e.oauthScopes
1346
1350
  });
1347
- } catch (b) {
1348
- const y = b instanceof Error ? b.message : `Failed to sign in with ${C}`;
1349
- p.value = y, A("error", y);
1351
+ } catch (y) {
1352
+ const w = y instanceof Error ? y.message : `Failed to sign in with ${C}`;
1353
+ p.value = w, A("error", w);
1350
1354
  }
1351
1355
  }, get UiCard() {
1352
1356
  return oe;
@@ -1361,30 +1365,30 @@ const an = /* @__PURE__ */ B(ct, [["render", Mt], ["__scopeId", "data-v-4583e1b6
1361
1365
  }, StrandsSecuredFooter: ne };
1362
1366
  return Object.defineProperty(k, "__isScriptSetup", { enumerable: !1, value: !0 }), k;
1363
1367
  }
1364
- }), zt = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" }, Ft = {
1368
+ }), Pt = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" }, zt = {
1365
1369
  key: 0,
1366
1370
  class: "space-y-3 mb-6"
1367
- }, It = { class: "w-5 h-5 flex items-center justify-center" }, Xt = {
1371
+ }, Ft = { class: "w-5 h-5 flex items-center justify-center" }, It = {
1368
1372
  key: 0,
1369
1373
  class: "w-5 h-5"
1370
- }, Bt = ["src", "alt"], Dt = {
1374
+ }, Xt = ["src", "alt"], Bt = {
1371
1375
  key: 2,
1372
1376
  class: "w-5 h-5 fill-current",
1373
1377
  viewBox: "0 0 24 24"
1374
- }, jt = {
1378
+ }, Dt = {
1375
1379
  key: 3,
1376
1380
  class: "w-5 h-5 rounded-full bg-neutral-300 flex items-center justify-center"
1377
- }, Zt = { class: "text-xs font-semibold text-neutral-600" }, Tt = { class: "font-medium" }, Yt = {
1381
+ }, jt = { class: "text-xs font-semibold text-neutral-600" }, Zt = { class: "font-medium" }, Tt = {
1378
1382
  key: 1,
1379
1383
  class: "divider-with-text"
1380
- }, Ot = { class: "space-y-4" }, Kt = { class: "flex items-center justify-between mb-2" }, Qt = { class: "mt-8 text-center" }, Et = { class: "text-sm text-neutral-600" }, Ht = {
1384
+ }, Yt = { class: "space-y-4" }, Ot = { class: "flex items-center justify-between mb-2" }, Et = { class: "mt-8 text-center" }, Kt = { class: "text-sm text-neutral-600" }, Qt = {
1381
1385
  key: 3,
1382
1386
  class: "mt-6 text-center"
1383
- }, Rt = { class: "text-neutral-400 text-sm" };
1384
- function Gt(o, t, n, e, A, c) {
1385
- return i(), l("div", zt, [
1387
+ }, Ht = { class: "text-neutral-400 text-sm" };
1388
+ function Rt(o, t, n, e, A, c) {
1389
+ return i(), l("div", Pt, [
1386
1390
  m(e.UiCard, { variant: "modern" }, {
1387
- default: w(() => [
1391
+ default: b(() => [
1388
1392
  a(" Header "),
1389
1393
  t[15] || (t[15] = s(
1390
1394
  "div",
@@ -1397,7 +1401,7 @@ function Gt(o, t, n, e, A, c) {
1397
1401
  /* CACHED */
1398
1402
  )),
1399
1403
  a(" OAuth Providers "),
1400
- e.enabledProviders?.length ? (i(), l("div", Ft, [
1404
+ e.enabledProviders?.length ? (i(), l("div", zt, [
1401
1405
  (i(!0), l(
1402
1406
  T,
1403
1407
  null,
@@ -1409,15 +1413,15 @@ function Gt(o, t, n, e, A, c) {
1409
1413
  onClick: (d) => e.handleOAuthSignIn(r.id),
1410
1414
  class: "btn-oauth group"
1411
1415
  }, {
1412
- default: w(() => [
1413
- s("div", It, [
1416
+ default: b(() => [
1417
+ s("div", Ft, [
1414
1418
  a(" Dynamic provider icons "),
1415
- r.iconUrl ? (i(), l("div", Xt, [
1419
+ r.iconUrl ? (i(), l("div", It, [
1416
1420
  s("img", {
1417
1421
  src: r.iconUrl,
1418
1422
  alt: `${r.displayName || r.name} icon`,
1419
1423
  class: "w-5 h-5"
1420
- }, null, 8, Bt)
1424
+ }, null, 8, Xt)
1421
1425
  ])) : r.id === "google" ? (i(), l(
1422
1426
  T,
1423
1427
  { key: 1 },
@@ -1453,7 +1457,7 @@ function Gt(o, t, n, e, A, c) {
1453
1457
  ],
1454
1458
  2112
1455
1459
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
1456
- )) : r.id === "github" ? (i(), l("svg", Dt, [...t[6] || (t[6] = [
1460
+ )) : r.id === "github" ? (i(), l("svg", Bt, [...t[6] || (t[6] = [
1457
1461
  s(
1458
1462
  "path",
1459
1463
  { d: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" },
@@ -1461,10 +1465,10 @@ function Gt(o, t, n, e, A, c) {
1461
1465
  -1
1462
1466
  /* CACHED */
1463
1467
  )
1464
- ])])) : (i(), l("div", jt, [
1468
+ ])])) : (i(), l("div", Dt, [
1465
1469
  s(
1466
1470
  "span",
1467
- Zt,
1471
+ jt,
1468
1472
  x((r.displayName || r.name).charAt(0).toUpperCase()),
1469
1473
  1
1470
1474
  /* TEXT */
@@ -1473,7 +1477,7 @@ function Gt(o, t, n, e, A, c) {
1473
1477
  ]),
1474
1478
  s(
1475
1479
  "span",
1476
- Tt,
1480
+ Zt,
1477
1481
  "Continue with " + x(r.displayName || r.name),
1478
1482
  1
1479
1483
  /* TEXT */
@@ -1487,7 +1491,7 @@ function Gt(o, t, n, e, A, c) {
1487
1491
  ))
1488
1492
  ])) : a("v-if", !0),
1489
1493
  a(" Divider "),
1490
- e.enabledProviders?.length ? (i(), l("div", Yt, t[7] || (t[7] = [
1494
+ e.enabledProviders?.length ? (i(), l("div", Tt, t[7] || (t[7] = [
1491
1495
  s(
1492
1496
  "span",
1493
1497
  { class: "divider-text" },
@@ -1504,7 +1508,7 @@ function Gt(o, t, n, e, A, c) {
1504
1508
  class: "space-y-6"
1505
1509
  },
1506
1510
  [
1507
- s("div", Ot, [
1511
+ s("div", Yt, [
1508
1512
  m(e.UiInput, {
1509
1513
  id: "email",
1510
1514
  modelValue: e.form.email,
@@ -1517,7 +1521,7 @@ function Gt(o, t, n, e, A, c) {
1517
1521
  error: e.error ? "Invalid email or password" : void 0
1518
1522
  }, null, 8, ["modelValue", "error"]),
1519
1523
  s("div", null, [
1520
- s("div", Kt, [
1524
+ s("div", Ot, [
1521
1525
  t[9] || (t[9] = s(
1522
1526
  "span",
1523
1527
  { class: "text-sm font-medium text-neutral-700" },
@@ -1529,7 +1533,7 @@ function Gt(o, t, n, e, A, c) {
1529
1533
  onClick: t[1] || (t[1] = (r) => o.$emit("forgot-password")),
1530
1534
  class: "text-sm"
1531
1535
  }, {
1532
- default: w(() => t[8] || (t[8] = [
1536
+ default: b(() => t[8] || (t[8] = [
1533
1537
  S(
1534
1538
  " Forgot password? ",
1535
1539
  -1
@@ -1560,7 +1564,7 @@ function Gt(o, t, n, e, A, c) {
1560
1564
  loading: e.loading,
1561
1565
  "loading-text": "Signing in..."
1562
1566
  }, {
1563
- default: w(() => t[10] || (t[10] = [
1567
+ default: b(() => t[10] || (t[10] = [
1564
1568
  S(
1565
1569
  " Sign in ",
1566
1570
  -1
@@ -1584,8 +1588,8 @@ function Gt(o, t, n, e, A, c) {
1584
1588
  onDismiss: t[3] || (t[3] = (r) => e.error = "")
1585
1589
  }, null, 8, ["message"])) : a("v-if", !0),
1586
1590
  a(" Sign up link "),
1587
- s("div", Qt, [
1588
- s("p", Et, [
1591
+ s("div", Et, [
1592
+ s("p", Kt, [
1589
1593
  t[12] || (t[12] = S(
1590
1594
  " Don't have an account? ",
1591
1595
  -1
@@ -1594,7 +1598,7 @@ function Gt(o, t, n, e, A, c) {
1594
1598
  m(e.UiLink, {
1595
1599
  onClick: t[4] || (t[4] = (r) => o.$emit("switch-to-signup"))
1596
1600
  }, {
1597
- default: w(() => t[11] || (t[11] = [
1601
+ default: b(() => t[11] || (t[11] = [
1598
1602
  S(
1599
1603
  " Sign up ",
1600
1604
  -1
@@ -1607,8 +1611,8 @@ function Gt(o, t, n, e, A, c) {
1607
1611
  ])
1608
1612
  ]),
1609
1613
  a(" Need help "),
1610
- e.getSupportEmail() ? (i(), l("div", Ht, [
1611
- s("p", Rt, [
1614
+ e.getSupportEmail() ? (i(), l("div", Qt, [
1615
+ s("p", Ht, [
1612
1616
  t[14] || (t[14] = S(
1613
1617
  " Need help? ",
1614
1618
  -1
@@ -1618,7 +1622,7 @@ function Gt(o, t, n, e, A, c) {
1618
1622
  variant: "primary",
1619
1623
  href: `mailto:${e.getSupportEmail()}`
1620
1624
  }, {
1621
- default: w(() => t[13] || (t[13] = [
1625
+ default: b(() => t[13] || (t[13] = [
1622
1626
  S(
1623
1627
  " Contact Support ",
1624
1628
  -1
@@ -1640,7 +1644,7 @@ function Gt(o, t, n, e, A, c) {
1640
1644
  })
1641
1645
  ]);
1642
1646
  }
1643
- const on = /* @__PURE__ */ B(Pt, [["render", Gt], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsSignIn.vue"]]), Jt = /* @__PURE__ */ X({
1647
+ const an = /* @__PURE__ */ B(Mt, [["render", Rt], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsSignIn.vue"]]), Gt = /* @__PURE__ */ X({
1644
1648
  __name: "StrandsSignUp",
1645
1649
  props: {
1646
1650
  redirectUrl: { type: String, required: !1, default: "/" },
@@ -1665,9 +1669,9 @@ const on = /* @__PURE__ */ B(Pt, [["render", Gt], ["__file", "/home/runner/work/
1665
1669
  console.warn("Failed to fetch OAuth providers:", V);
1666
1670
  });
1667
1671
  });
1668
- const g = U(!1), p = U(""), f = U(!1), N = U(""), M = U("Magic Link Sent!"), k = U(""), C = H({
1672
+ const g = U(!1), p = U(""), f = U(!1), N = U(""), M = U("Magic Link Sent!"), k = U(""), C = R({
1669
1673
  email: ""
1670
- }), b = W(() => C.email.trim() && C.email.includes("@")), K = { props: e, emit: A, getUrl: c, getSupportEmail: r, enabledProviders: d, oauthLoading: v, oauthError: h, fetchProviders: q, redirectToProvider: u, loading: g, error: p, signupSuccess: f, successMessage: N, successTitle: M, successEmail: k, form: C, isFormValid: b, handleSignUp: async () => {
1674
+ }), y = W(() => C.email.trim() && C.email.includes("@")), E = { props: e, emit: A, getUrl: c, getSupportEmail: r, enabledProviders: d, oauthLoading: v, oauthError: h, fetchProviders: q, redirectToProvider: u, loading: g, error: p, signupSuccess: f, successMessage: N, successTitle: M, successEmail: k, form: C, isFormValid: y, handleSignUp: async () => {
1671
1675
  g.value = !0, p.value = "";
1672
1676
  try {
1673
1677
  const V = c("signUp");
@@ -1681,15 +1685,15 @@ const on = /* @__PURE__ */ B(Pt, [["render", Gt], ["__file", "/home/runner/work/
1681
1685
  email: C.email
1682
1686
  })
1683
1687
  });
1684
- if (console.log("Sign up response status:", P.status), console.log("Sign up response headers:", Object.fromEntries(P.headers.entries())), !P.ok) {
1685
- let E = `Sign up failed (${P.status})`;
1688
+ if (process.env.NODE_ENV === "development" && console.log("Sign up response status:", P.status), !P.ok) {
1689
+ let Q = `Sign up failed (${P.status})`;
1686
1690
  try {
1687
1691
  const ee = await P.json();
1688
- E = ee.message || ee.error || E;
1692
+ Q = ee.message || ee.error || Q;
1689
1693
  } catch {
1690
- E = await P.text() || E;
1694
+ Q = await P.text() || Q;
1691
1695
  }
1692
- throw new Error(E);
1696
+ throw new Error(Q);
1693
1697
  }
1694
1698
  const D = await P.json();
1695
1699
  console.log("Magic link sign up success:", D), f.value = !0, k.value = C.email, N.value = D.message || "Magic link sent! Check your email.", D.message && (D.message.includes("already have an account") || D.message.includes("Welcome back") ? M.value = "Welcome Back!" : D.message.includes("Magic link sent") || D.message.includes("Check your email") ? M.value = "Magic Link Sent!" : M.value = "Success!"), A("success", {
@@ -1732,43 +1736,43 @@ const on = /* @__PURE__ */ B(Pt, [["render", Gt], ["__file", "/home/runner/work/
1732
1736
  }, get UiLink() {
1733
1737
  return Ae;
1734
1738
  }, StrandsSecuredFooter: ne };
1735
- return Object.defineProperty(K, "__isScriptSetup", { enumerable: !1, value: !0 }), K;
1739
+ return Object.defineProperty(E, "__isScriptSetup", { enumerable: !1, value: !0 }), E;
1736
1740
  }
1737
- }), _t = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" }, $t = { class: "text-center" }, es = { class: "text-2xl font-bold text-gray-900 mb-2" }, ts = { class: "text-gray-600 mb-4" }, ss = {
1741
+ }), Jt = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" }, _t = { class: "text-center" }, $t = { class: "text-2xl font-bold text-gray-900 mb-2" }, es = { class: "text-gray-600 mb-4" }, ts = {
1738
1742
  key: 0,
1739
1743
  class: "text-sm text-gray-500 mb-4"
1740
- }, rs = {
1744
+ }, ss = {
1741
1745
  key: 0,
1742
1746
  class: "space-y-3 mb-6"
1743
- }, ns = { class: "w-5 h-5 flex items-center justify-center" }, as = {
1747
+ }, rs = { class: "w-5 h-5 flex items-center justify-center" }, ns = {
1744
1748
  key: 0,
1745
1749
  class: "w-5 h-5"
1746
- }, os = ["src", "alt"], is = {
1750
+ }, as = ["src", "alt"], os = {
1747
1751
  key: 2,
1748
1752
  class: "w-5 h-5 fill-current",
1749
1753
  viewBox: "0 0 24 24"
1750
- }, As = {
1754
+ }, is = {
1751
1755
  key: 3,
1752
1756
  class: "w-5 h-5 rounded-full bg-neutral-300 flex items-center justify-center"
1753
- }, ls = { class: "text-xs font-semibold text-neutral-600" }, ds = { class: "font-medium" }, us = {
1757
+ }, As = { class: "text-xs font-semibold text-neutral-600" }, ls = { class: "font-medium" }, ds = {
1754
1758
  key: 1,
1755
1759
  class: "divider-with-text"
1756
- }, cs = {
1760
+ }, us = {
1757
1761
  key: 2,
1758
1762
  class: "mt-6 animate-fade-in"
1759
- }, ms = { class: "alert-error" }, fs = { class: "flex items-start gap-3" }, gs = { class: "font-medium" }, ps = { class: "mt-8 text-center" }, vs = { class: "text-sm text-neutral-600" }, bs = {
1763
+ }, cs = { class: "alert-error" }, ms = { class: "flex items-start gap-3" }, fs = { class: "font-medium" }, gs = { class: "mt-8 text-center" }, ps = { class: "text-sm text-neutral-600" }, vs = {
1760
1764
  key: 3,
1761
1765
  class: "mt-6 text-center"
1762
- }, ys = { class: "text-neutral-400 text-sm" };
1763
- function ws(o, t, n, e, A, c) {
1764
- return i(), l("div", _t, [
1766
+ }, bs = { class: "text-neutral-400 text-sm" };
1767
+ function ys(o, t, n, e, A, c) {
1768
+ return i(), l("div", Jt, [
1765
1769
  a(" Success State "),
1766
1770
  e.signupSuccess ? (i(), O(e.UiCard, {
1767
1771
  key: 0,
1768
1772
  variant: "modern"
1769
1773
  }, {
1770
- default: w(() => [
1771
- s("div", $t, [
1774
+ default: b(() => [
1775
+ s("div", _t, [
1772
1776
  t[3] || (t[3] = s(
1773
1777
  "div",
1774
1778
  { class: "text-green-500 text-6xl mb-4" },
@@ -1778,19 +1782,19 @@ function ws(o, t, n, e, A, c) {
1778
1782
  )),
1779
1783
  s(
1780
1784
  "h1",
1781
- es,
1785
+ $t,
1782
1786
  x(e.successTitle),
1783
1787
  1
1784
1788
  /* TEXT */
1785
1789
  ),
1786
1790
  s(
1787
1791
  "p",
1788
- ts,
1792
+ es,
1789
1793
  x(e.successMessage),
1790
1794
  1
1791
1795
  /* TEXT */
1792
1796
  ),
1793
- e.successEmail ? (i(), l("div", ss, [
1797
+ e.successEmail ? (i(), l("div", ts, [
1794
1798
  s(
1795
1799
  "strong",
1796
1800
  null,
@@ -1811,7 +1815,7 @@ function ws(o, t, n, e, A, c) {
1811
1815
  "full-width": "",
1812
1816
  onClick: e.resetToForm
1813
1817
  }, {
1814
- default: w(() => t[2] || (t[2] = [
1818
+ default: b(() => t[2] || (t[2] = [
1815
1819
  S(
1816
1820
  " Send Another Link ",
1817
1821
  -1
@@ -1831,7 +1835,7 @@ function ws(o, t, n, e, A, c) {
1831
1835
  [
1832
1836
  a(" Signup Form "),
1833
1837
  m(e.UiCard, { variant: "modern" }, {
1834
- default: w(() => [
1838
+ default: b(() => [
1835
1839
  a(" Header "),
1836
1840
  t[13] || (t[13] = s(
1837
1841
  "div",
@@ -1844,7 +1848,7 @@ function ws(o, t, n, e, A, c) {
1844
1848
  /* CACHED */
1845
1849
  )),
1846
1850
  a(" OAuth Providers "),
1847
- e.enabledProviders?.length ? (i(), l("div", rs, [
1851
+ e.enabledProviders?.length ? (i(), l("div", ss, [
1848
1852
  (i(!0), l(
1849
1853
  T,
1850
1854
  null,
@@ -1856,15 +1860,15 @@ function ws(o, t, n, e, A, c) {
1856
1860
  onClick: (d) => e.handleOAuthSignUp(r.id),
1857
1861
  class: "btn-oauth group"
1858
1862
  }, {
1859
- default: w(() => [
1860
- s("div", ns, [
1863
+ default: b(() => [
1864
+ s("div", rs, [
1861
1865
  a(" Dynamic provider icons "),
1862
- r.iconUrl ? (i(), l("div", as, [
1866
+ r.iconUrl ? (i(), l("div", ns, [
1863
1867
  s("img", {
1864
1868
  src: r.iconUrl,
1865
1869
  alt: `${r.displayName || r.name} icon`,
1866
1870
  class: "w-5 h-5"
1867
- }, null, 8, os)
1871
+ }, null, 8, as)
1868
1872
  ])) : r.id === "google" ? (i(), l(
1869
1873
  T,
1870
1874
  { key: 1 },
@@ -1900,7 +1904,7 @@ function ws(o, t, n, e, A, c) {
1900
1904
  ],
1901
1905
  2112
1902
1906
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
1903
- )) : r.id === "github" ? (i(), l("svg", is, [...t[6] || (t[6] = [
1907
+ )) : r.id === "github" ? (i(), l("svg", os, [...t[6] || (t[6] = [
1904
1908
  s(
1905
1909
  "path",
1906
1910
  { d: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" },
@@ -1908,10 +1912,10 @@ function ws(o, t, n, e, A, c) {
1908
1912
  -1
1909
1913
  /* CACHED */
1910
1914
  )
1911
- ])])) : (i(), l("div", As, [
1915
+ ])])) : (i(), l("div", is, [
1912
1916
  s(
1913
1917
  "span",
1914
- ls,
1918
+ As,
1915
1919
  x((r.displayName || r.name).charAt(0).toUpperCase()),
1916
1920
  1
1917
1921
  /* TEXT */
@@ -1920,7 +1924,7 @@ function ws(o, t, n, e, A, c) {
1920
1924
  ]),
1921
1925
  s(
1922
1926
  "span",
1923
- ds,
1927
+ ls,
1924
1928
  "Continue with " + x(r.displayName || r.name),
1925
1929
  1
1926
1930
  /* TEXT */
@@ -1934,7 +1938,7 @@ function ws(o, t, n, e, A, c) {
1934
1938
  ))
1935
1939
  ])) : a("v-if", !0),
1936
1940
  a(" Divider "),
1937
- e.enabledProviders?.length ? (i(), l("div", us, t[7] || (t[7] = [
1941
+ e.enabledProviders?.length ? (i(), l("div", ds, t[7] || (t[7] = [
1938
1942
  s(
1939
1943
  "span",
1940
1944
  { class: "divider-text" },
@@ -1973,7 +1977,7 @@ function ws(o, t, n, e, A, c) {
1973
1977
  loading: e.loading,
1974
1978
  "loading-text": "Sending magic link..."
1975
1979
  }, {
1976
- default: w(() => t[8] || (t[8] = [
1980
+ default: b(() => t[8] || (t[8] = [
1977
1981
  S(
1978
1982
  " Send magic link ",
1979
1983
  -1
@@ -1988,9 +1992,9 @@ function ws(o, t, n, e, A, c) {
1988
1992
  /* NEED_HYDRATION */
1989
1993
  ),
1990
1994
  a(" Error Alert "),
1991
- e.error ? (i(), l("div", cs, [
1992
- s("div", ms, [
1993
- s("div", fs, [
1995
+ e.error ? (i(), l("div", us, [
1996
+ s("div", cs, [
1997
+ s("div", ms, [
1994
1998
  t[9] || (t[9] = s(
1995
1999
  "svg",
1996
2000
  {
@@ -2010,7 +2014,7 @@ function ws(o, t, n, e, A, c) {
2010
2014
  )),
2011
2015
  s(
2012
2016
  "p",
2013
- gs,
2017
+ fs,
2014
2018
  x(e.error),
2015
2019
  1
2016
2020
  /* TEXT */
@@ -2019,8 +2023,8 @@ function ws(o, t, n, e, A, c) {
2019
2023
  ])
2020
2024
  ])) : a("v-if", !0),
2021
2025
  a(" Sign in link "),
2022
- s("div", ps, [
2023
- s("p", vs, [
2026
+ s("div", gs, [
2027
+ s("p", ps, [
2024
2028
  t[10] || (t[10] = S(
2025
2029
  " Already have an account? ",
2026
2030
  -1
@@ -2034,8 +2038,8 @@ function ws(o, t, n, e, A, c) {
2034
2038
  ])
2035
2039
  ]),
2036
2040
  a(" Need help "),
2037
- e.getSupportEmail() ? (i(), l("div", bs, [
2038
- s("p", ys, [
2041
+ e.getSupportEmail() ? (i(), l("div", vs, [
2042
+ s("p", bs, [
2039
2043
  t[12] || (t[12] = S(
2040
2044
  " Need help? ",
2041
2045
  -1
@@ -2045,7 +2049,7 @@ function ws(o, t, n, e, A, c) {
2045
2049
  variant: "primary",
2046
2050
  href: `mailto:${e.getSupportEmail()}`
2047
2051
  }, {
2048
- default: w(() => t[11] || (t[11] = [
2052
+ default: b(() => t[11] || (t[11] = [
2049
2053
  S(
2050
2054
  " Contact Support ",
2051
2055
  -1
@@ -2071,7 +2075,7 @@ function ws(o, t, n, e, A, c) {
2071
2075
  ))
2072
2076
  ]);
2073
2077
  }
2074
- const An = /* @__PURE__ */ B(Jt, [["render", ws], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsSignUp.vue"]]), hs = /* @__PURE__ */ X({
2078
+ const on = /* @__PURE__ */ B(Gt, [["render", ys], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsSignUp.vue"]]), ws = /* @__PURE__ */ X({
2075
2079
  __name: "StrandsCompleteSignUp",
2076
2080
  props: {
2077
2081
  token: { type: String, required: !1 },
@@ -2081,29 +2085,29 @@ const An = /* @__PURE__ */ B(Jt, [["render", ws], ["__file", "/home/runner/work/
2081
2085
  emits: ["success", "error", "invalid-token", "request-new-link", "start-registration"],
2082
2086
  setup(o, { expose: t, emit: n }) {
2083
2087
  t();
2084
- const e = o, A = n, { getUrl: c, getSupportEmail: r } = G(e.config), { setAuthData: d } = me(), v = U(!1), h = U(!1), q = U(!1), u = U(""), g = U(""), p = H({
2088
+ const e = o, A = n, { getUrl: c, getSupportEmail: r } = G(e.config), { setAuthData: d } = me(), v = U(!1), h = U(!1), q = U(!1), u = U(""), g = U(""), p = R({
2085
2089
  username: "",
2086
2090
  firstName: "",
2087
2091
  lastName: "",
2088
2092
  password: ""
2089
- }), f = H({
2093
+ }), f = R({
2090
2094
  username: "",
2091
2095
  firstName: "",
2092
2096
  lastName: "",
2093
2097
  password: ""
2094
2098
  }), N = W(() => {
2095
- const y = p.username.trim() && p.password.trim(), F = p.password.length >= 8, Q = !!e.token;
2096
- return y && F && Q;
2099
+ const w = p.username.trim() && p.password.trim(), F = p.password.length >= 8, K = !!e.token;
2100
+ return w && F && K;
2097
2101
  });
2098
2102
  te(
2099
2103
  () => p.password,
2100
- (y) => {
2101
- y && y.length < 8 ? f.password = "Password must be at least 8 characters long" : f.password = "";
2104
+ (w) => {
2105
+ w && w.length < 8 ? f.password = "Password must be at least 8 characters long" : f.password = "";
2102
2106
  }
2103
2107
  ), te(
2104
2108
  () => p.username,
2105
- (y) => {
2106
- y && y.length < 2 ? f.username = "Username must be at least 2 characters long" : f.username = "";
2109
+ (w) => {
2110
+ w && w.length < 2 ? f.username = "Username must be at least 2 characters long" : f.username = "";
2107
2111
  }
2108
2112
  );
2109
2113
  const M = W(() => ({
@@ -2113,31 +2117,31 @@ const An = /* @__PURE__ */ B(Jt, [["render", ws], ["__file", "/home/runner/work/
2113
2117
  se(() => {
2114
2118
  if (e.token)
2115
2119
  try {
2116
- const y = e.token.split(".");
2117
- if (y.length === 3) {
2118
- const F = JSON.parse(atob(y[1]));
2120
+ const w = e.token.split(".");
2121
+ if (w.length === 3) {
2122
+ const F = JSON.parse(atob(w[1]));
2119
2123
  F.email && (g.value = F.email);
2120
2124
  }
2121
- } catch (y) {
2122
- console.warn("Could not decode token for email display:", y);
2125
+ } catch (w) {
2126
+ console.warn("Could not decode token for email display:", w);
2123
2127
  }
2124
2128
  });
2125
2129
  const k = () => {
2126
2130
  M.value.referrerUrl && (console.log("Redirecting to referrer:", M.value.referrerUrl), window.location.href = M.value.referrerUrl);
2127
- }, b = { props: e, emit: A, getUrl: c, getSupportEmail: r, setAuthData: d, registrationComplete: v, invalidToken: h, loading: q, error: u, email: g, form: p, fieldErrors: f, isFormValid: N, authConfig: M, redirectToReferrer: k, handleCompleteSignUp: async () => {
2131
+ }, y = { props: e, emit: A, getUrl: c, getSupportEmail: r, setAuthData: d, registrationComplete: v, invalidToken: h, loading: q, error: u, email: g, form: p, fieldErrors: f, isFormValid: N, authConfig: M, redirectToReferrer: k, handleCompleteSignUp: async () => {
2128
2132
  if (!e.token) {
2129
2133
  u.value = "Registration token is required";
2130
2134
  return;
2131
2135
  }
2132
- if (u.value = "", Object.keys(f).forEach((y) => {
2133
- f[y] = "";
2136
+ if (u.value = "", Object.keys(f).forEach((w) => {
2137
+ f[w] = "";
2134
2138
  }), !N.value) {
2135
2139
  u.value = "Please fill in all required fields correctly";
2136
2140
  return;
2137
2141
  }
2138
2142
  q.value = !0;
2139
2143
  try {
2140
- const y = await fetch(`${M.value.baseUrl}/api/v1/auth/complete-registration`, {
2144
+ const w = await fetch(`${M.value.baseUrl}/api/v1/auth/complete-registration`, {
2141
2145
  method: "POST",
2142
2146
  headers: {
2143
2147
  "Content-Type": "application/json"
@@ -2150,16 +2154,16 @@ const An = /* @__PURE__ */ B(Jt, [["render", ws], ["__file", "/home/runner/work/
2150
2154
  last_name: p.lastName || null
2151
2155
  })
2152
2156
  });
2153
- if (!y.ok) {
2154
- const Q = await y.text();
2155
- throw new Error(`Failed to complete registration: ${Q}`);
2157
+ if (!w.ok) {
2158
+ const K = await w.text();
2159
+ throw new Error(`Failed to complete registration: ${K}`);
2156
2160
  }
2157
- const F = await y.json();
2161
+ const F = await w.json();
2158
2162
  console.log("Registration success:", F), F.access_token && F.refresh_token && F.user ? (d(F), console.log("Auth tokens stored successfully for user:", F.user.email)) : console.warn("Registration response missing auth tokens or user data"), v.value = !0, A("success", F), setTimeout(() => {
2159
2163
  k();
2160
2164
  }, 2e3);
2161
- } catch (y) {
2162
- y instanceof Error ? y.message.includes("CONFLICT") || y.message.includes("409") ? u.value = "This account already exists. Please try signing in instead." : y.message.includes("BAD_REQUEST") || y.message.includes("400") ? (u.value = "Invalid or expired registration link. Please request a new one.", h.value = !0, A("invalid-token")) : u.value = y.message : u.value = "Failed to complete registration. Please try again.", A("error", u.value);
2165
+ } catch (w) {
2166
+ w instanceof Error ? w.message.includes("CONFLICT") || w.message.includes("409") ? u.value = "This account already exists. Please try signing in instead." : w.message.includes("BAD_REQUEST") || w.message.includes("400") ? (u.value = "Invalid or expired registration link. Please request a new one.", h.value = !0, A("invalid-token")) : u.value = w.message : u.value = "Failed to complete registration. Please try again.", A("error", u.value);
2163
2167
  } finally {
2164
2168
  q.value = !1;
2165
2169
  }
@@ -2174,28 +2178,28 @@ const An = /* @__PURE__ */ B(Jt, [["render", ws], ["__file", "/home/runner/work/
2174
2178
  }, get UiLink() {
2175
2179
  return Ae;
2176
2180
  }, StrandsSecuredFooter: ne };
2177
- return Object.defineProperty(b, "__isScriptSetup", { enumerable: !1, value: !0 }), b;
2181
+ return Object.defineProperty(y, "__isScriptSetup", { enumerable: !1, value: !0 }), y;
2178
2182
  }
2179
- }), qs = {
2183
+ }), hs = {
2180
2184
  key: 0,
2181
2185
  class: "min-w-100 w-full max-w-md mx-auto animate-slide-up"
2182
- }, Vs = { class: "text-center" }, xs = { class: "min-w-100 w-full max-w-md mx-auto animate-slide-up" }, Cs = { class: "text-center" }, Ss = { class: "min-w-100 w-full max-w-md mx-auto animate-slide-up" }, Us = { class: "text-center mb-8" }, Ws = {
2186
+ }, qs = { class: "text-center" }, Vs = { class: "min-w-100 w-full max-w-md mx-auto animate-slide-up" }, xs = { class: "text-center" }, Cs = { class: "min-w-100 w-full max-w-md mx-auto animate-slide-up" }, Ss = { class: "text-center mb-8" }, Us = {
2183
2187
  key: 0,
2184
2188
  class: "mt-2"
2185
- }, Ns = { class: "text-sm text-neutral-500" }, ks = { class: "font-medium text-neutral-700" }, Ls = {
2189
+ }, Ws = { class: "text-sm text-neutral-500" }, Ns = { class: "font-medium text-neutral-700" }, ks = {
2186
2190
  key: 1,
2187
2191
  class: "mt-6 text-center"
2188
- }, Ms = { class: "text-neutral-400 text-sm" }, Ps = { class: "min-w-100 w-full max-w-md mx-auto animate-slide-up" }, zs = { class: "text-center" };
2189
- function Fs(o, t, n, e, A, c) {
2192
+ }, Ls = { class: "text-neutral-400 text-sm" }, Ms = { class: "min-w-100 w-full max-w-md mx-auto animate-slide-up" }, Ps = { class: "text-center" };
2193
+ function zs(o, t, n, e, A, c) {
2190
2194
  return i(), l(
2191
2195
  T,
2192
2196
  null,
2193
2197
  [
2194
2198
  a(" Success State "),
2195
- e.registrationComplete ? (i(), l("div", qs, [
2199
+ e.registrationComplete ? (i(), l("div", hs, [
2196
2200
  m(e.UiCard, { variant: "modern" }, {
2197
- default: w(() => [
2198
- s("div", Vs, [
2201
+ default: b(() => [
2202
+ s("div", qs, [
2199
2203
  t[8] || (t[8] = s(
2200
2204
  "div",
2201
2205
  { class: "text-green-500 text-6xl mb-4" },
@@ -2229,7 +2233,7 @@ function Fs(o, t, n, e, A, c) {
2229
2233
  "full-width": "",
2230
2234
  onClick: e.redirectToReferrer
2231
2235
  }, {
2232
- default: w(() => t[7] || (t[7] = [
2236
+ default: b(() => t[7] || (t[7] = [
2233
2237
  S(
2234
2238
  " Go to Dashboard ",
2235
2239
  -1
@@ -2250,10 +2254,10 @@ function Fs(o, t, n, e, A, c) {
2250
2254
  { key: 1 },
2251
2255
  [
2252
2256
  a(" Invalid Token State "),
2253
- s("div", xs, [
2257
+ s("div", Vs, [
2254
2258
  m(e.UiCard, { variant: "modern" }, {
2255
- default: w(() => [
2256
- s("div", Cs, [
2259
+ default: b(() => [
2260
+ s("div", xs, [
2257
2261
  t[13] || (t[13] = s(
2258
2262
  "div",
2259
2263
  { class: "text-red-500 text-6xl mb-4" },
@@ -2287,7 +2291,7 @@ function Fs(o, t, n, e, A, c) {
2287
2291
  "full-width": "",
2288
2292
  onClick: t[0] || (t[0] = (r) => o.$emit("request-new-link"))
2289
2293
  }, {
2290
- default: w(() => t[12] || (t[12] = [
2294
+ default: b(() => t[12] || (t[12] = [
2291
2295
  S(
2292
2296
  " Request New Link ",
2293
2297
  -1
@@ -2312,11 +2316,11 @@ function Fs(o, t, n, e, A, c) {
2312
2316
  { key: 2 },
2313
2317
  [
2314
2318
  a(" Registration Form "),
2315
- s("div", Ss, [
2319
+ s("div", Cs, [
2316
2320
  m(e.UiCard, { variant: "modern" }, {
2317
- default: w(() => [
2321
+ default: b(() => [
2318
2322
  a(" Header "),
2319
- s("div", Us, [
2323
+ s("div", Ss, [
2320
2324
  t[18] || (t[18] = s(
2321
2325
  "h1",
2322
2326
  { class: "text-3xl font-bold text-gradient mb-2" },
@@ -2331,8 +2335,8 @@ function Fs(o, t, n, e, A, c) {
2331
2335
  -1
2332
2336
  /* CACHED */
2333
2337
  )),
2334
- e.email ? (i(), l("div", Ws, [
2335
- s("p", Ns, [
2338
+ e.email ? (i(), l("div", Us, [
2339
+ s("p", Ws, [
2336
2340
  t[17] || (t[17] = S(
2337
2341
  "Creating account for: ",
2338
2342
  -1
@@ -2340,7 +2344,7 @@ function Fs(o, t, n, e, A, c) {
2340
2344
  )),
2341
2345
  s(
2342
2346
  "span",
2343
- ks,
2347
+ Ns,
2344
2348
  x(e.email),
2345
2349
  1
2346
2350
  /* TEXT */
@@ -2426,7 +2430,7 @@ function Fs(o, t, n, e, A, c) {
2426
2430
  loading: e.loading,
2427
2431
  "loading-text": "Creating account..."
2428
2432
  }, {
2429
- default: w(() => t[21] || (t[21] = [
2433
+ default: b(() => t[21] || (t[21] = [
2430
2434
  S(
2431
2435
  " Complete Registration ",
2432
2436
  -1
@@ -2450,8 +2454,8 @@ function Fs(o, t, n, e, A, c) {
2450
2454
  onDismiss: t[5] || (t[5] = (r) => e.error = "")
2451
2455
  }, null, 8, ["message"])) : a("v-if", !0),
2452
2456
  a(" Need help "),
2453
- e.getSupportEmail() ? (i(), l("div", Ls, [
2454
- s("p", Ms, [
2457
+ e.getSupportEmail() ? (i(), l("div", ks, [
2458
+ s("p", Ls, [
2455
2459
  t[23] || (t[23] = S(
2456
2460
  " Need help? ",
2457
2461
  -1
@@ -2461,7 +2465,7 @@ function Fs(o, t, n, e, A, c) {
2461
2465
  variant: "primary",
2462
2466
  href: `mailto:${e.getSupportEmail()}`
2463
2467
  }, {
2464
- default: w(() => t[22] || (t[22] = [
2468
+ default: b(() => t[22] || (t[22] = [
2465
2469
  S(
2466
2470
  " Contact Support ",
2467
2471
  -1
@@ -2490,10 +2494,10 @@ function Fs(o, t, n, e, A, c) {
2490
2494
  { key: 3 },
2491
2495
  [
2492
2496
  a(" No Token State "),
2493
- s("div", Ps, [
2497
+ s("div", Ms, [
2494
2498
  m(e.UiCard, { variant: "modern" }, {
2495
- default: w(() => [
2496
- s("div", zs, [
2499
+ default: b(() => [
2500
+ s("div", Ps, [
2497
2501
  t[25] || (t[25] = s(
2498
2502
  "div",
2499
2503
  { class: "text-yellow-500 text-6xl mb-4" },
@@ -2527,7 +2531,7 @@ function Fs(o, t, n, e, A, c) {
2527
2531
  "full-width": "",
2528
2532
  onClick: t[6] || (t[6] = (r) => o.$emit("start-registration"))
2529
2533
  }, {
2530
- default: w(() => t[24] || (t[24] = [
2534
+ default: b(() => t[24] || (t[24] = [
2531
2535
  S(
2532
2536
  " Start Registration ",
2533
2537
  -1
@@ -2553,7 +2557,7 @@ function Fs(o, t, n, e, A, c) {
2553
2557
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
2554
2558
  );
2555
2559
  }
2556
- const ln = /* @__PURE__ */ B(hs, [["render", Fs], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsCompleteSignUp.vue"]]), Is = /* @__PURE__ */ X({
2560
+ const An = /* @__PURE__ */ B(ws, [["render", zs], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsCompleteSignUp.vue"]]), Fs = /* @__PURE__ */ X({
2557
2561
  __name: "StrandsUserProfile",
2558
2562
  props: {
2559
2563
  user: { type: Object, required: !1 },
@@ -2565,16 +2569,16 @@ const ln = /* @__PURE__ */ B(hs, [["render", Fs], ["__file", "/home/runner/work/
2565
2569
  const e = o, A = n, { getSupportEmail: c } = G(e.config), r = U(!1), d = U(!1), v = U(""), h = U(""), q = U([
2566
2570
  { id: "1", device: "Chrome on Mac", location: "San Francisco, CA", lastActive: "2 minutes ago", current: !0 },
2567
2571
  { id: "2", device: "Safari on iPhone", location: "San Francisco, CA", lastActive: "1 hour ago", current: !1 }
2568
- ]), u = H({
2572
+ ]), u = R({
2569
2573
  firstName: "",
2570
2574
  lastName: "",
2571
2575
  email: "",
2572
2576
  phone: ""
2573
- }), g = H({
2577
+ }), g = R({
2574
2578
  current: "",
2575
2579
  new: "",
2576
2580
  confirm: ""
2577
- }), p = H({
2581
+ }), p = R({
2578
2582
  firstName: "",
2579
2583
  lastName: "",
2580
2584
  email: "",
@@ -2587,7 +2591,7 @@ const ln = /* @__PURE__ */ B(hs, [["render", Fs], ["__file", "/home/runner/work/
2587
2591
  v.value = "", h.value = "", Object.keys(p).forEach((V) => {
2588
2592
  p[V] = "";
2589
2593
  });
2590
- }, K = { props: e, emit: A, getSupportEmail: c, loading: r, showPasswordChange: d, successMessage: v, errorMessage: h, activeSessions: q, form: u, passwordForm: g, errors: p, hasChanges: f, isPasswordFormValid: N, getInitials: M, clearMessages: k, handleUpdateProfile: async () => {
2594
+ }, E = { props: e, emit: A, getSupportEmail: c, loading: r, showPasswordChange: d, successMessage: v, errorMessage: h, activeSessions: q, form: u, passwordForm: g, errors: p, hasChanges: f, isPasswordFormValid: N, getInitials: M, clearMessages: k, handleUpdateProfile: async () => {
2591
2595
  k(), r.value = !0;
2592
2596
  try {
2593
2597
  await new Promise((P) => setTimeout(P, 1e3));
@@ -2619,43 +2623,43 @@ const ln = /* @__PURE__ */ B(hs, [["render", Fs], ["__file", "/home/runner/work/
2619
2623
  }, handleCancel: () => {
2620
2624
  e.user && (u.firstName = e.user.firstName, u.lastName = e.user.lastName, u.email = e.user.email, u.phone = e.user.phone || ""), k(), d.value = !1, g.current = "", g.new = "", g.confirm = "";
2621
2625
  }, StrandsSecuredFooter: ne };
2622
- return Object.defineProperty(K, "__isScriptSetup", { enumerable: !1, value: !0 }), K;
2626
+ return Object.defineProperty(E, "__isScriptSetup", { enumerable: !1, value: !0 }), E;
2623
2627
  }
2624
- }), Xs = { class: "w-full max-w-2xl mx-auto animate-slide-up" }, Bs = { class: "card-modern" }, Ds = { class: "flex flex-col items-center mb-8" }, js = { class: "relative group" }, Zs = { class: "w-24 h-24 rounded-full bg-gradient-to-r from-strands-400 to-strands-600 flex items-center justify-center text-white text-2xl font-bold shadow-large" }, Ts = { class: "grid grid-cols-1 md:grid-cols-2 gap-6" }, Ys = { class: "space-y-4" }, Os = ["disabled"], Ks = {
2628
+ }), Is = { class: "w-full max-w-2xl mx-auto animate-slide-up" }, Xs = { class: "card-modern" }, Bs = { class: "flex flex-col items-center mb-8" }, Ds = { class: "relative group" }, js = { class: "w-24 h-24 rounded-full bg-gradient-to-r from-strands-400 to-strands-600 flex items-center justify-center text-white text-2xl font-bold shadow-large" }, Zs = { class: "grid grid-cols-1 md:grid-cols-2 gap-6" }, Ts = { class: "space-y-4" }, Ys = ["disabled"], Os = {
2625
2629
  key: 0,
2626
2630
  class: "mt-1 text-sm text-red-600"
2627
- }, Qs = ["disabled"], Es = {
2631
+ }, Es = ["disabled"], Ks = {
2628
2632
  key: 0,
2629
2633
  class: "mt-1 text-sm text-red-600"
2630
- }, Hs = ["disabled"], Rs = {
2634
+ }, Qs = ["disabled"], Hs = {
2631
2635
  key: 0,
2632
2636
  class: "mt-1 text-sm text-red-600"
2633
- }, Gs = {
2637
+ }, Rs = {
2634
2638
  key: 1,
2635
2639
  class: "mt-1 text-sm text-yellow-600"
2636
- }, Js = ["disabled"], _s = {
2640
+ }, Gs = ["disabled"], Js = {
2637
2641
  key: 0,
2638
2642
  class: "mt-1 text-sm text-red-600"
2639
- }, $s = { class: "space-y-4" }, er = { class: "space-y-4 p-4 bg-neutral-50 rounded-xl" }, tr = { class: "flex items-center justify-between" }, sr = {
2643
+ }, _s = { class: "space-y-4" }, $s = { class: "space-y-4 p-4 bg-neutral-50 rounded-xl" }, er = { class: "flex items-center justify-between" }, tr = {
2640
2644
  key: 0,
2641
2645
  class: "space-y-3"
2642
- }, rr = ["disabled"], nr = { class: "p-4 bg-neutral-50 rounded-xl" }, ar = { class: "flex items-center justify-between" }, or = { class: "text-sm text-neutral-600" }, ir = { class: "p-4 bg-neutral-50 rounded-xl" }, Ar = { class: "flex items-center justify-between" }, lr = { class: "text-sm text-neutral-600" }, dr = { class: "flex flex-col sm:flex-row gap-3 pt-6 border-t border-neutral-200" }, ur = ["disabled"], cr = {
2646
+ }, sr = ["disabled"], rr = { class: "p-4 bg-neutral-50 rounded-xl" }, nr = { class: "flex items-center justify-between" }, ar = { class: "text-sm text-neutral-600" }, or = { class: "p-4 bg-neutral-50 rounded-xl" }, ir = { class: "flex items-center justify-between" }, Ar = { class: "text-sm text-neutral-600" }, lr = { class: "flex flex-col sm:flex-row gap-3 pt-6 border-t border-neutral-200" }, dr = ["disabled"], ur = {
2643
2647
  key: 0,
2644
2648
  class: "flex items-center justify-center gap-2"
2645
- }, mr = { key: 1 }, fr = ["disabled"], gr = {
2649
+ }, cr = { key: 1 }, mr = ["disabled"], fr = {
2646
2650
  key: 0,
2647
2651
  class: "mt-6 animate-fade-in"
2648
- }, pr = { class: "alert-success" }, vr = { class: "flex items-start gap-3" }, br = { class: "font-medium" }, yr = {
2652
+ }, gr = { class: "alert-success" }, pr = { class: "flex items-start gap-3" }, vr = { class: "font-medium" }, br = {
2649
2653
  key: 1,
2650
2654
  class: "mt-6 animate-fade-in"
2651
- }, wr = { class: "alert-error" }, hr = { class: "flex items-start gap-3" }, qr = { class: "font-medium" }, Vr = {
2655
+ }, yr = { class: "alert-error" }, wr = { class: "flex items-start gap-3" }, hr = { class: "font-medium" }, qr = {
2652
2656
  key: 2,
2653
2657
  class: "mt-6 text-center"
2654
- }, xr = { class: "text-neutral-400 text-sm" };
2655
- function Cr(o, t, n, e, A, c) {
2658
+ }, Vr = { class: "text-neutral-400 text-sm" };
2659
+ function xr(o, t, n, e, A, c) {
2656
2660
  const r = Ve("UiLink");
2657
- return i(), l("div", Xs, [
2658
- s("div", Bs, [
2661
+ return i(), l("div", Is, [
2662
+ s("div", Xs, [
2659
2663
  a(" Header "),
2660
2664
  t[24] || (t[24] = s(
2661
2665
  "div",
@@ -2668,11 +2672,11 @@ function Cr(o, t, n, e, A, c) {
2668
2672
  /* CACHED */
2669
2673
  )),
2670
2674
  a(" Profile Image Section "),
2671
- s("div", Ds, [
2672
- s("div", js, [
2675
+ s("div", Bs, [
2676
+ s("div", Ds, [
2673
2677
  s(
2674
2678
  "div",
2675
- Zs,
2679
+ js,
2676
2680
  x(e.getInitials(n.user?.firstName, n.user?.lastName)),
2677
2681
  1
2678
2682
  /* TEXT */
@@ -2721,9 +2725,9 @@ function Cr(o, t, n, e, A, c) {
2721
2725
  class: "space-y-6"
2722
2726
  },
2723
2727
  [
2724
- s("div", Ts, [
2728
+ s("div", Zs, [
2725
2729
  a(" Personal Information "),
2726
- s("div", Ys, [
2730
+ s("div", Ts, [
2727
2731
  t[14] || (t[14] = s(
2728
2732
  "h3",
2729
2733
  { class: "text-lg font-semibold text-neutral-900 mb-4" },
@@ -2754,12 +2758,12 @@ function Cr(o, t, n, e, A, c) {
2754
2758
  ]),
2755
2759
  placeholder: "Enter your first name",
2756
2760
  disabled: e.loading
2757
- }, null, 10, Os), [
2761
+ }, null, 10, Ys), [
2758
2762
  [$, e.form.firstName]
2759
2763
  ]),
2760
2764
  e.errors.firstName ? (i(), l(
2761
2765
  "p",
2762
- Ks,
2766
+ Os,
2763
2767
  x(e.errors.firstName),
2764
2768
  1
2765
2769
  /* TEXT */
@@ -2788,12 +2792,12 @@ function Cr(o, t, n, e, A, c) {
2788
2792
  ]),
2789
2793
  placeholder: "Enter your last name",
2790
2794
  disabled: e.loading
2791
- }, null, 10, Qs), [
2795
+ }, null, 10, Es), [
2792
2796
  [$, e.form.lastName]
2793
2797
  ]),
2794
2798
  e.errors.lastName ? (i(), l(
2795
2799
  "p",
2796
- Es,
2800
+ Ks,
2797
2801
  x(e.errors.lastName),
2798
2802
  1
2799
2803
  /* TEXT */
@@ -2822,17 +2826,17 @@ function Cr(o, t, n, e, A, c) {
2822
2826
  ]),
2823
2827
  placeholder: "Enter your email address",
2824
2828
  disabled: e.loading
2825
- }, null, 10, Hs), [
2829
+ }, null, 10, Qs), [
2826
2830
  [$, e.form.email]
2827
2831
  ]),
2828
2832
  e.errors.email ? (i(), l(
2829
2833
  "p",
2830
- Rs,
2834
+ Hs,
2831
2835
  x(e.errors.email),
2832
2836
  1
2833
2837
  /* TEXT */
2834
2838
  )) : a("v-if", !0),
2835
- e.form.email !== n.user?.email ? (i(), l("p", Gs, " Changing your email will require verification ")) : a("v-if", !0)
2839
+ e.form.email !== n.user?.email ? (i(), l("p", Rs, " Changing your email will require verification ")) : a("v-if", !0)
2836
2840
  ]),
2837
2841
  s("div", null, [
2838
2842
  t[13] || (t[13] = s(
@@ -2856,12 +2860,12 @@ function Cr(o, t, n, e, A, c) {
2856
2860
  ]),
2857
2861
  placeholder: "Enter your phone number",
2858
2862
  disabled: e.loading
2859
- }, null, 10, Js), [
2863
+ }, null, 10, Gs), [
2860
2864
  [$, e.form.phone]
2861
2865
  ]),
2862
2866
  e.errors.phone ? (i(), l(
2863
2867
  "p",
2864
- _s,
2868
+ Js,
2865
2869
  x(e.errors.phone),
2866
2870
  1
2867
2871
  /* TEXT */
@@ -2869,7 +2873,7 @@ function Cr(o, t, n, e, A, c) {
2869
2873
  ])
2870
2874
  ]),
2871
2875
  a(" Security Settings "),
2872
- s("div", $s, [
2876
+ s("div", _s, [
2873
2877
  t[18] || (t[18] = s(
2874
2878
  "h3",
2875
2879
  { class: "text-lg font-semibold text-neutral-900 mb-4" },
@@ -2878,8 +2882,8 @@ function Cr(o, t, n, e, A, c) {
2878
2882
  /* CACHED */
2879
2883
  )),
2880
2884
  a(" Password Change "),
2881
- s("div", er, [
2882
- s("div", tr, [
2885
+ s("div", $s, [
2886
+ s("div", er, [
2883
2887
  t[15] || (t[15] = s(
2884
2888
  "div",
2885
2889
  null,
@@ -2902,7 +2906,7 @@ function Cr(o, t, n, e, A, c) {
2902
2906
  /* TEXT */
2903
2907
  )
2904
2908
  ]),
2905
- e.showPasswordChange ? (i(), l("div", sr, [
2909
+ e.showPasswordChange ? (i(), l("div", tr, [
2906
2910
  _(s(
2907
2911
  "input",
2908
2912
  {
@@ -2953,12 +2957,12 @@ function Cr(o, t, n, e, A, c) {
2953
2957
  class: "btn-primary !w-auto px-4 py-2 text-sm",
2954
2958
  onClick: e.handlePasswordChange,
2955
2959
  disabled: !e.isPasswordFormValid
2956
- }, " Update Password ", 8, rr)
2960
+ }, " Update Password ", 8, sr)
2957
2961
  ])) : a("v-if", !0)
2958
2962
  ]),
2959
2963
  a(" Two-Factor Authentication "),
2960
- s("div", nr, [
2961
- s("div", ar, [
2964
+ s("div", rr, [
2965
+ s("div", nr, [
2962
2966
  s("div", null, [
2963
2967
  t[16] || (t[16] = s(
2964
2968
  "h4",
@@ -2969,7 +2973,7 @@ function Cr(o, t, n, e, A, c) {
2969
2973
  )),
2970
2974
  s(
2971
2975
  "p",
2972
- or,
2976
+ ar,
2973
2977
  x(n.user?.mfaEnabled ? "Enabled" : "Add extra security to your account"),
2974
2978
  1
2975
2979
  /* TEXT */
@@ -2992,8 +2996,8 @@ function Cr(o, t, n, e, A, c) {
2992
2996
  ])
2993
2997
  ]),
2994
2998
  a(" Active Sessions "),
2995
- s("div", ir, [
2996
- s("div", Ar, [
2999
+ s("div", or, [
3000
+ s("div", ir, [
2997
3001
  s("div", null, [
2998
3002
  t[17] || (t[17] = s(
2999
3003
  "h4",
@@ -3004,7 +3008,7 @@ function Cr(o, t, n, e, A, c) {
3004
3008
  )),
3005
3009
  s(
3006
3010
  "p",
3007
- lr,
3011
+ Ar,
3008
3012
  x(e.activeSessions.length) + " active device(s)",
3009
3013
  1
3010
3014
  /* TEXT */
@@ -3020,13 +3024,13 @@ function Cr(o, t, n, e, A, c) {
3020
3024
  ])
3021
3025
  ]),
3022
3026
  a(" Action Buttons "),
3023
- s("div", dr, [
3027
+ s("div", lr, [
3024
3028
  s("button", {
3025
3029
  type: "submit",
3026
3030
  disabled: e.loading || !e.hasChanges,
3027
3031
  class: "btn-primary"
3028
3032
  }, [
3029
- e.loading ? (i(), l("span", cr, t[19] || (t[19] = [
3033
+ e.loading ? (i(), l("span", ur, t[19] || (t[19] = [
3030
3034
  s(
3031
3035
  "svg",
3032
3036
  {
@@ -3057,23 +3061,23 @@ function Cr(o, t, n, e, A, c) {
3057
3061
  -1
3058
3062
  /* CACHED */
3059
3063
  )
3060
- ]))) : (i(), l("span", mr, "Save changes"))
3061
- ], 8, ur),
3064
+ ]))) : (i(), l("span", cr, "Save changes"))
3065
+ ], 8, dr),
3062
3066
  s("button", {
3063
3067
  type: "button",
3064
3068
  class: "btn-secondary",
3065
3069
  onClick: e.handleCancel,
3066
3070
  disabled: e.loading
3067
- }, " Cancel ", 8, fr)
3071
+ }, " Cancel ", 8, mr)
3068
3072
  ])
3069
3073
  ],
3070
3074
  32
3071
3075
  /* NEED_HYDRATION */
3072
3076
  ),
3073
3077
  a(" Success/Error Messages "),
3074
- e.successMessage ? (i(), l("div", gr, [
3075
- s("div", pr, [
3076
- s("div", vr, [
3078
+ e.successMessage ? (i(), l("div", fr, [
3079
+ s("div", gr, [
3080
+ s("div", pr, [
3077
3081
  t[20] || (t[20] = s(
3078
3082
  "svg",
3079
3083
  {
@@ -3093,7 +3097,7 @@ function Cr(o, t, n, e, A, c) {
3093
3097
  )),
3094
3098
  s(
3095
3099
  "p",
3096
- br,
3100
+ vr,
3097
3101
  x(e.successMessage),
3098
3102
  1
3099
3103
  /* TEXT */
@@ -3101,9 +3105,9 @@ function Cr(o, t, n, e, A, c) {
3101
3105
  ])
3102
3106
  ])
3103
3107
  ])) : a("v-if", !0),
3104
- e.errorMessage ? (i(), l("div", yr, [
3105
- s("div", wr, [
3106
- s("div", hr, [
3108
+ e.errorMessage ? (i(), l("div", br, [
3109
+ s("div", yr, [
3110
+ s("div", wr, [
3107
3111
  t[21] || (t[21] = s(
3108
3112
  "svg",
3109
3113
  {
@@ -3123,7 +3127,7 @@ function Cr(o, t, n, e, A, c) {
3123
3127
  )),
3124
3128
  s(
3125
3129
  "p",
3126
- qr,
3130
+ hr,
3127
3131
  x(e.errorMessage),
3128
3132
  1
3129
3133
  /* TEXT */
@@ -3132,8 +3136,8 @@ function Cr(o, t, n, e, A, c) {
3132
3136
  ])
3133
3137
  ])) : a("v-if", !0),
3134
3138
  a(" Need help "),
3135
- e.getSupportEmail() ? (i(), l("div", Vr, [
3136
- s("p", xr, [
3139
+ e.getSupportEmail() ? (i(), l("div", qr, [
3140
+ s("p", Vr, [
3137
3141
  t[23] || (t[23] = S(
3138
3142
  " Need help? ",
3139
3143
  -1
@@ -3143,7 +3147,7 @@ function Cr(o, t, n, e, A, c) {
3143
3147
  variant: "primary",
3144
3148
  href: `mailto:${e.getSupportEmail()}`
3145
3149
  }, {
3146
- default: w(() => t[22] || (t[22] = [
3150
+ default: b(() => t[22] || (t[22] = [
3147
3151
  S(
3148
3152
  " Contact Support ",
3149
3153
  -1
@@ -3162,7 +3166,7 @@ function Cr(o, t, n, e, A, c) {
3162
3166
  ])
3163
3167
  ]);
3164
3168
  }
3165
- const dn = /* @__PURE__ */ B(Is, [["render", Cr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsUserProfile.vue"]]), Sr = /* @__PURE__ */ X({
3169
+ const ln = /* @__PURE__ */ B(Fs, [["render", xr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsUserProfile.vue"]]), Cr = /* @__PURE__ */ X({
3166
3170
  __name: "StrandsPasswordReset",
3167
3171
  props: {
3168
3172
  config: { type: Object, required: !1 }
@@ -3170,7 +3174,7 @@ const dn = /* @__PURE__ */ B(Is, [["render", Cr], ["__file", "/home/runner/work/
3170
3174
  emits: ["success", "error", "back-to-signin"],
3171
3175
  setup(o, { expose: t, emit: n }) {
3172
3176
  t();
3173
- const e = o, A = n, { getSupportEmail: c } = G(e.config), r = U(!1), d = U(""), v = U(!1), h = H({
3177
+ const e = o, A = n, { getSupportEmail: c } = G(e.config), r = U(!1), d = U(""), v = U(!1), h = R({
3174
3178
  email: ""
3175
3179
  }), u = { props: e, emit: A, getSupportEmail: c, loading: r, error: d, isSubmitted: v, form: h, handlePasswordReset: async () => {
3176
3180
  r.value = !0, d.value = "";
@@ -3194,14 +3198,14 @@ const dn = /* @__PURE__ */ B(Is, [["render", Cr], ["__file", "/home/runner/work/
3194
3198
  }, StrandsSecuredFooter: ne };
3195
3199
  return Object.defineProperty(u, "__isScriptSetup", { enumerable: !1, value: !0 }), u;
3196
3200
  }
3197
- }), Ur = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" }, Wr = { class: "mt-8 text-center" }, Nr = {
3201
+ }), Sr = { class: "w-full min-w-100 max-w-md mx-auto animate-slide-up" }, Ur = { class: "mt-8 text-center" }, Wr = {
3198
3202
  key: 2,
3199
3203
  class: "mt-6 text-center"
3200
- }, kr = { class: "text-neutral-400 text-sm" };
3201
- function Lr(o, t, n, e, A, c) {
3202
- return i(), l("div", Ur, [
3204
+ }, Nr = { class: "text-neutral-400 text-sm" };
3205
+ function kr(o, t, n, e, A, c) {
3206
+ return i(), l("div", Sr, [
3203
3207
  m(e.UiCard, { variant: "modern" }, {
3204
- default: w(() => [
3208
+ default: b(() => [
3205
3209
  a(" Header "),
3206
3210
  t[6] || (t[6] = s(
3207
3211
  "div",
@@ -3241,7 +3245,7 @@ function Lr(o, t, n, e, A, c) {
3241
3245
  loading: e.loading,
3242
3246
  "loading-text": "Sending link..."
3243
3247
  }, {
3244
- default: w(() => [
3248
+ default: b(() => [
3245
3249
  S(
3246
3250
  x(e.isSubmitted ? "Link sent!" : "Send reset link"),
3247
3251
  1
@@ -3272,12 +3276,12 @@ function Lr(o, t, n, e, A, c) {
3272
3276
  onDismiss: t[1] || (t[1] = (r) => e.error = "")
3273
3277
  }, null, 8, ["message"])) : a("v-if", !0),
3274
3278
  a(" Back to Sign In "),
3275
- s("div", Wr, [
3279
+ s("div", Ur, [
3276
3280
  m(e.UiLink, {
3277
3281
  onClick: t[2] || (t[2] = (r) => o.$emit("back-to-signin")),
3278
3282
  class: "inline-flex items-center gap-2"
3279
3283
  }, {
3280
- default: w(() => t[3] || (t[3] = [
3284
+ default: b(() => t[3] || (t[3] = [
3281
3285
  s(
3282
3286
  "svg",
3283
3287
  {
@@ -3308,8 +3312,8 @@ function Lr(o, t, n, e, A, c) {
3308
3312
  })
3309
3313
  ]),
3310
3314
  a(" Need help "),
3311
- e.getSupportEmail() ? (i(), l("div", Nr, [
3312
- s("p", kr, [
3315
+ e.getSupportEmail() ? (i(), l("div", Wr, [
3316
+ s("p", Nr, [
3313
3317
  t[5] || (t[5] = S(
3314
3318
  " Need help? ",
3315
3319
  -1
@@ -3319,7 +3323,7 @@ function Lr(o, t, n, e, A, c) {
3319
3323
  variant: "primary",
3320
3324
  href: `mailto:${e.getSupportEmail()}`
3321
3325
  }, {
3322
- default: w(() => t[4] || (t[4] = [
3326
+ default: b(() => t[4] || (t[4] = [
3323
3327
  S(
3324
3328
  " Contact Support ",
3325
3329
  -1
@@ -3341,7 +3345,7 @@ function Lr(o, t, n, e, A, c) {
3341
3345
  })
3342
3346
  ]);
3343
3347
  }
3344
- const un = /* @__PURE__ */ B(Sr, [["render", Lr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsPasswordReset.vue"]]), Mr = /* @__PURE__ */ X({
3348
+ const dn = /* @__PURE__ */ B(Cr, [["render", kr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsPasswordReset.vue"]]), Lr = /* @__PURE__ */ X({
3345
3349
  __name: "StrandsMFASetup",
3346
3350
  emits: ["success", "error", "back"],
3347
3351
  setup(o, { expose: t }) {
@@ -3349,9 +3353,9 @@ const un = /* @__PURE__ */ B(Sr, [["render", Lr], ["__file", "/home/runner/work/
3349
3353
  const n = {};
3350
3354
  return Object.defineProperty(n, "__isScriptSetup", { enumerable: !1, value: !0 }), n;
3351
3355
  }
3352
- }), Pr = { class: "max-w-md mx-auto bg-white rounded-lg shadow-lg p-6" }, zr = { class: "space-y-6" }, Fr = { class: "flex gap-3 pt-4" };
3353
- function Ir(o, t, n, e, A, c) {
3354
- return i(), l("div", Pr, [
3356
+ }), Mr = { class: "max-w-md mx-auto bg-white rounded-lg shadow-lg p-6" }, Pr = { class: "space-y-6" }, zr = { class: "flex gap-3 pt-4" };
3357
+ function Fr(o, t, n, e, A, c) {
3358
+ return i(), l("div", Mr, [
3355
3359
  t[5] || (t[5] = s(
3356
3360
  "div",
3357
3361
  { class: "text-center mb-6" },
@@ -3362,7 +3366,7 @@ function Ir(o, t, n, e, A, c) {
3362
3366
  -1
3363
3367
  /* CACHED */
3364
3368
  )),
3365
- s("div", zr, [
3369
+ s("div", Pr, [
3366
3370
  a(" QR Code Section "),
3367
3371
  t[2] || (t[2] = ce('<div class="text-center"><div class="w-48 h-48 bg-gray-100 rounded-lg mx-auto mb-4 flex items-center justify-center"><div class="text-gray-400"><svg class="w-12 h-12" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v1m6 11h2m-6 0h-2v4m0-11v3m0 0h.01M12 12h4.01M12 12h.01M12 12v4.01"></path></svg></div></div><p class="text-sm text-gray-600">Scan this QR code with your authenticator app</p></div>', 1)),
3368
3372
  a(" Setup Key "),
@@ -3394,7 +3398,7 @@ function Ir(o, t, n, e, A, c) {
3394
3398
  /* CACHED */
3395
3399
  )),
3396
3400
  a(" Actions "),
3397
- s("div", Fr, [
3401
+ s("div", zr, [
3398
3402
  t[1] || (t[1] = s(
3399
3403
  "button",
3400
3404
  {
@@ -3414,7 +3418,7 @@ function Ir(o, t, n, e, A, c) {
3414
3418
  ])
3415
3419
  ]);
3416
3420
  }
3417
- const cn = /* @__PURE__ */ B(Mr, [["render", Ir], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsMFASetup.vue"]]), Xr = /* @__PURE__ */ X({
3421
+ const un = /* @__PURE__ */ B(Lr, [["render", Fr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsMFASetup.vue"]]), Ir = /* @__PURE__ */ X({
3418
3422
  __name: "SignedIn",
3419
3423
  props: {
3420
3424
  showFallback: { type: Boolean, required: !1, default: !0 }
@@ -3427,20 +3431,20 @@ const cn = /* @__PURE__ */ B(Mr, [["render", Ir], ["__file", "/home/runner/work/
3427
3431
  } };
3428
3432
  return Object.defineProperty(h, "__isScriptSetup", { enumerable: !1, value: !0 }), h;
3429
3433
  }
3430
- }), Br = {
3434
+ }), Xr = {
3431
3435
  key: 0,
3432
3436
  class: "animate-fade-in"
3433
- }, Dr = {
3437
+ }, Br = {
3434
3438
  key: 1,
3435
3439
  class: "animate-fade-in"
3436
3440
  };
3437
- function jr(o, t, n, e, A, c) {
3438
- return e.isAuthenticated ? (i(), l("div", Br, [
3441
+ function Dr(o, t, n, e, A, c) {
3442
+ return e.isAuthenticated ? (i(), l("div", Xr, [
3439
3443
  Z(o.$slots, "default", {
3440
3444
  user: e.user,
3441
3445
  signOut: e.signOut
3442
3446
  })
3443
- ])) : n.showFallback ? (i(), l("div", Dr, [
3447
+ ])) : n.showFallback ? (i(), l("div", Br, [
3444
3448
  Z(o.$slots, "fallback", { signIn: e.signIn }, () => [
3445
3449
  a(" Default fallback content "),
3446
3450
  s("div", { class: "text-center py-8" }, [
@@ -3453,7 +3457,7 @@ function jr(o, t, n, e, A, c) {
3453
3457
  ])
3454
3458
  ])) : a("v-if", !0);
3455
3459
  }
3456
- const mn = /* @__PURE__ */ B(Xr, [["render", jr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/SignedIn.vue"]]), Zr = /* @__PURE__ */ X({
3460
+ const cn = /* @__PURE__ */ B(Ir, [["render", Dr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/SignedIn.vue"]]), jr = /* @__PURE__ */ X({
3457
3461
  __name: "SignedOut",
3458
3462
  props: {
3459
3463
  showFallback: { type: Boolean, required: !1, default: !0 }
@@ -3468,29 +3472,29 @@ const mn = /* @__PURE__ */ B(Xr, [["render", jr], ["__file", "/home/runner/work/
3468
3472
  } };
3469
3473
  return Object.defineProperty(u, "__isScriptSetup", { enumerable: !1, value: !0 }), u;
3470
3474
  }
3471
- }), Tr = {
3475
+ }), Zr = {
3472
3476
  key: 0,
3473
3477
  class: "animate-fade-in"
3474
- }, Yr = {
3478
+ }, Tr = {
3475
3479
  key: 1,
3476
3480
  class: "animate-fade-in"
3477
- }, Or = { class: "text-center py-8" }, Kr = { class: "text-neutral-600 mb-4" }, Qr = {
3481
+ }, Yr = { class: "text-center py-8" }, Or = { class: "text-neutral-600 mb-4" }, Er = {
3478
3482
  key: 2,
3479
3483
  class: "animate-pulse"
3480
3484
  };
3481
- function Er(o, t, n, e, A, c) {
3482
- return !e.isAuthenticated && !e.isLoading ? (i(), l("div", Tr, [
3485
+ function Kr(o, t, n, e, A, c) {
3486
+ return !e.isAuthenticated && !e.isLoading ? (i(), l("div", Zr, [
3483
3487
  Z(o.$slots, "default", {
3484
3488
  signIn: e.signIn,
3485
3489
  signUp: e.signUp
3486
3490
  })
3487
- ])) : n.showFallback && e.isAuthenticated ? (i(), l("div", Yr, [
3491
+ ])) : n.showFallback && e.isAuthenticated ? (i(), l("div", Tr, [
3488
3492
  Z(o.$slots, "fallback", {
3489
3493
  user: e.user,
3490
3494
  signOut: e.signOut
3491
3495
  }, () => [
3492
3496
  a(" Default fallback content for signed in users "),
3493
- s("div", Or, [
3497
+ s("div", Yr, [
3494
3498
  t[1] || (t[1] = s(
3495
3499
  "div",
3496
3500
  { class: "w-16 h-16 mx-auto mb-4 bg-strands-100 rounded-full flex items-center justify-center" },
@@ -3521,7 +3525,7 @@ function Er(o, t, n, e, A, c) {
3521
3525
  )),
3522
3526
  s(
3523
3527
  "p",
3524
- Kr,
3528
+ Or,
3525
3529
  "You're currently signed in as " + x(e.user?.email) + ".",
3526
3530
  1
3527
3531
  /* TEXT */
@@ -3532,14 +3536,14 @@ function Er(o, t, n, e, A, c) {
3532
3536
  }, " Sign out ")
3533
3537
  ])
3534
3538
  ])
3535
- ])) : e.isLoading ? (i(), l("div", Qr, [
3539
+ ])) : e.isLoading ? (i(), l("div", Er, [
3536
3540
  Z(o.$slots, "loading", {}, () => [
3537
3541
  a(" Default loading state "),
3538
3542
  t[3] || (t[3] = ce('<div class="text-center py-8"><div class="w-16 h-16 mx-auto mb-4 bg-neutral-200 rounded-full flex items-center justify-center"><svg class="animate-spin w-6 h-6 text-neutral-400" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="m4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg></div><p class="text-neutral-500">Checking authentication...</p></div>', 1))
3539
3543
  ])
3540
3544
  ])) : a("v-if", !0);
3541
3545
  }
3542
- const fn = /* @__PURE__ */ B(Zr, [["render", Er], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/SignedOut.vue"]]), Hr = /* @__PURE__ */ X({
3546
+ const mn = /* @__PURE__ */ B(jr, [["render", Kr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/SignedOut.vue"]]), Qr = /* @__PURE__ */ X({
3543
3547
  __name: "StrandsLogo",
3544
3548
  props: {
3545
3549
  class: { type: String, required: !1, default: "" }
@@ -3550,7 +3554,7 @@ const fn = /* @__PURE__ */ B(Zr, [["render", Er], ["__file", "/home/runner/work/
3550
3554
  return Object.defineProperty(n, "__isScriptSetup", { enumerable: !1, value: !0 }), n;
3551
3555
  }
3552
3556
  });
3553
- function Rr(o, t, n, e, A, c) {
3557
+ function Hr(o, t, n, e, A, c) {
3554
3558
  return i(), l(
3555
3559
  "svg",
3556
3560
  {
@@ -3591,7 +3595,7 @@ function Rr(o, t, n, e, A, c) {
3591
3595
  /* CLASS */
3592
3596
  );
3593
3597
  }
3594
- const gn = /* @__PURE__ */ B(Hr, [["render", Rr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsLogo.vue"]]), Gr = /* @__PURE__ */ X({
3598
+ const fn = /* @__PURE__ */ B(Qr, [["render", Hr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsLogo.vue"]]), Rr = /* @__PURE__ */ X({
3595
3599
  __name: "StrandsConfigProvider",
3596
3600
  props: {
3597
3601
  config: { type: Object, required: !0 }
@@ -3606,10 +3610,10 @@ const gn = /* @__PURE__ */ B(Hr, [["render", Rr], ["__file", "/home/runner/work/
3606
3610
  return Object.defineProperty(e, "__isScriptSetup", { enumerable: !1, value: !0 }), e;
3607
3611
  }
3608
3612
  });
3609
- function Jr(o, t, n, e, A, c) {
3613
+ function Gr(o, t, n, e, A, c) {
3610
3614
  return Z(o.$slots, "default");
3611
3615
  }
3612
- const pn = /* @__PURE__ */ B(Gr, [["render", Jr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsConfigProvider.vue"]]), _r = /* @__PURE__ */ X({
3616
+ const gn = /* @__PURE__ */ B(Rr, [["render", Gr], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/StrandsConfigProvider.vue"]]), Jr = /* @__PURE__ */ X({
3613
3617
  __name: "SvgIcon",
3614
3618
  props: {
3615
3619
  name: { type: String, required: !0 },
@@ -3728,8 +3732,8 @@ const pn = /* @__PURE__ */ B(Gr, [["render", Jr], ["__file", "/home/runner/work/
3728
3732
  }), v = { props: n, sizeClasses: e, iconClass: A, viewBox: c, icons: r, iconComponent: d };
3729
3733
  return Object.defineProperty(v, "__isScriptSetup", { enumerable: !1, value: !0 }), v;
3730
3734
  }
3731
- }), $r = ["fill", "stroke", "viewBox", "aria-hidden"];
3732
- function en(o, t, n, e, A, c) {
3735
+ }), _r = ["fill", "stroke", "viewBox", "aria-hidden"];
3736
+ function $r(o, t, n, e, A, c) {
3733
3737
  return i(), l("svg", {
3734
3738
  class: j(e.iconClass),
3735
3739
  fill: n.fill,
@@ -3738,61 +3742,61 @@ function en(o, t, n, e, A, c) {
3738
3742
  "aria-hidden": n.ariaHidden
3739
3743
  }, [
3740
3744
  (i(), O(ve(e.iconComponent)))
3741
- ], 10, $r);
3745
+ ], 10, _r);
3742
3746
  }
3743
- const vn = /* @__PURE__ */ B(_r, [["render", en], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/SvgIcon.vue"]]), bn = (o) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o), yn = (o) => {
3747
+ const pn = /* @__PURE__ */ B(Jr, [["render", $r], ["__file", "/home/runner/work/strands-accounts/strands-accounts/apps/accounts-ui/src/vue/components/SvgIcon.vue"]]), vn = (o) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o), bn = (o) => {
3744
3748
  const t = [];
3745
3749
  let n = 0;
3746
3750
  o.length < 8 ? t.push("Password must be at least 8 characters long") : n += 1, /[A-Z]/.test(o) ? n += 1 : t.push("Password must contain at least one uppercase letter"), /[a-z]/.test(o) ? n += 1 : t.push("Password must contain at least one lowercase letter"), /\d/.test(o) ? n += 1 : t.push("Password must contain at least one number"), /[!@#$%^&*(),.?":{}|<>]/.test(o) ? n += 1 : t.push("Password must contain at least one special character");
3747
3751
  const e = t.length === 0;
3748
3752
  let A = "weak";
3749
3753
  return n >= 4 ? A = "strong" : n >= 3 && (A = "medium"), { isValid: e, strength: A, errors: t };
3750
- }, wn = (o) => o.trim().length >= 2, hn = (o) => /^[\+]?[1-9][\d]{0,15}$/.test(o.replace(/[\s\-\(\)]/g, "")), qn = (o) => o.trim().length > 0, Vn = (o, t) => o === t, xn = (o, t) => {
3754
+ }, yn = (o) => o.trim().length >= 2, wn = (o) => /^[\+]?[1-9][\d]{0,15}$/.test(o.replace(/[\s\-\(\)]/g, "")), hn = (o) => o.trim().length > 0, qn = (o, t) => o === t, Vn = (o, t) => {
3751
3755
  const n = o?.charAt(0).toUpperCase() || "", e = t?.charAt(0).toUpperCase() || "";
3752
3756
  return n + e || "U";
3753
- }, Cn = (o) => (typeof o == "string" ? new Date(o) : o).toLocaleDateString("en-US", {
3757
+ }, xn = (o) => (typeof o == "string" ? new Date(o) : o).toLocaleDateString("en-US", {
3754
3758
  year: "numeric",
3755
3759
  month: "long",
3756
3760
  day: "numeric"
3757
- }), Sn = (o, t) => {
3761
+ }), Cn = (o, t) => {
3758
3762
  let n;
3759
3763
  return (...e) => {
3760
3764
  clearTimeout(n), n = setTimeout(() => o(...e), t);
3761
3765
  };
3762
3766
  };
3763
3767
  export {
3764
- mn as SignedIn,
3765
- fn as SignedOut,
3766
- an as StrandsAuth,
3767
- ln as StrandsCompleteSignUp,
3768
- pn as StrandsConfigProvider,
3769
- gn as StrandsLogo,
3770
- cn as StrandsMFASetup,
3771
- un as StrandsPasswordReset,
3768
+ cn as SignedIn,
3769
+ mn as SignedOut,
3770
+ nn as StrandsAuth,
3771
+ An as StrandsCompleteSignUp,
3772
+ gn as StrandsConfigProvider,
3773
+ fn as StrandsLogo,
3774
+ un as StrandsMFASetup,
3775
+ dn as StrandsPasswordReset,
3772
3776
  ne as StrandsSecuredFooter,
3773
- on as StrandsSignIn,
3774
- An as StrandsSignUp,
3775
- dn as StrandsUserProfile,
3776
- vn as SvgIcon,
3777
+ an as StrandsSignIn,
3778
+ on as StrandsSignUp,
3779
+ ln as StrandsUserProfile,
3780
+ pn as SvgIcon,
3777
3781
  de as UiAlert,
3778
3782
  ae as UiButton,
3779
3783
  oe as UiCard,
3780
3784
  ie as UiInput,
3781
3785
  Ae as UiLink,
3782
3786
  it as UiTabs,
3783
- Sn as debounce,
3784
- Cn as formatDate,
3785
- xn as getInitials,
3786
- qn as isRequired,
3787
- bn as isValidEmail,
3788
- wn as isValidName,
3789
- hn as isValidPhone,
3790
- Vn as passwordsMatch,
3787
+ Cn as debounce,
3788
+ xn as formatDate,
3789
+ Vn as getInitials,
3790
+ hn as isRequired,
3791
+ vn as isValidEmail,
3792
+ yn as isValidName,
3793
+ wn as isValidPhone,
3794
+ qn as passwordsMatch,
3791
3795
  pe as provideStrandsConfig,
3792
- Nn as setStrandsConfig,
3796
+ Wn as setStrandsConfig,
3793
3797
  fe as useOAuthProviders,
3794
3798
  me as useStrandsAuth,
3795
3799
  G as useStrandsConfig,
3796
- yn as validatePassword
3800
+ bn as validatePassword
3797
3801
  };
3798
3802
  //# sourceMappingURL=strands-auth-ui.es.js.map