@cedros/login-react 0.0.20 → 0.0.22

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 (85) hide show
  1. package/dist/{AuthenticationSettings-Cu0S0Z7s.cjs → AuthenticationSettings-C9f5MKgj.cjs} +1 -1
  2. package/dist/{AuthenticationSettings-Cu0S0Z7s.cjs.map → AuthenticationSettings-C9f5MKgj.cjs.map} +1 -1
  3. package/dist/{AuthenticationSettings-Cb80XWPm.cjs → AuthenticationSettings-D6GvSw3g.cjs} +1 -1
  4. package/dist/{AuthenticationSettings-Cb80XWPm.cjs.map → AuthenticationSettings-D6GvSw3g.cjs.map} +1 -1
  5. package/dist/{AuthenticationSettings-BipaLyGg.js → AuthenticationSettings-DC64o_J6.js} +1 -1
  6. package/dist/{AuthenticationSettings-BipaLyGg.js.map → AuthenticationSettings-DC64o_J6.js.map} +1 -1
  7. package/dist/{AuthenticationSettings-Cfn0No6U.js → AuthenticationSettings-rb4Fksw5.js} +1 -1
  8. package/dist/{AuthenticationSettings-Cfn0No6U.js.map → AuthenticationSettings-rb4Fksw5.js.map} +1 -1
  9. package/dist/AutosaveStatus-BFj5GIab.cjs +1 -0
  10. package/dist/AutosaveStatus-BFj5GIab.cjs.map +1 -0
  11. package/dist/{AutosaveStatus-BKc7T2Tw.js → AutosaveStatus-vkJxtuEw.js} +2 -2
  12. package/dist/AutosaveStatus-vkJxtuEw.js.map +1 -0
  13. package/dist/{CreditSystemSettings-DV0VkPIe.cjs → CreditSystemSettings-ChA_lbef.cjs} +1 -1
  14. package/dist/{CreditSystemSettings-DV0VkPIe.cjs.map → CreditSystemSettings-ChA_lbef.cjs.map} +1 -1
  15. package/dist/{CreditSystemSettings-CvcacgMM.js → CreditSystemSettings-DsRipb2R.js} +1 -1
  16. package/dist/{CreditSystemSettings-CvcacgMM.js.map → CreditSystemSettings-DsRipb2R.js.map} +1 -1
  17. package/dist/{CreditSystemSettings-D13lZbIw.js → CreditSystemSettings-a31pqSYS.js} +1 -1
  18. package/dist/{CreditSystemSettings-D13lZbIw.js.map → CreditSystemSettings-a31pqSYS.js.map} +1 -1
  19. package/dist/{CreditSystemSettings-DO-dUcxN.cjs → CreditSystemSettings-r3gnGjiU.cjs} +1 -1
  20. package/dist/{CreditSystemSettings-DO-dUcxN.cjs.map → CreditSystemSettings-r3gnGjiU.cjs.map} +1 -1
  21. package/dist/{EmailRegisterForm-CdTuvJmf.cjs → EmailRegisterForm-B1DB-bqe.cjs} +1 -1
  22. package/dist/{EmailRegisterForm-CdTuvJmf.cjs.map → EmailRegisterForm-B1DB-bqe.cjs.map} +1 -1
  23. package/dist/{EmailRegisterForm-CxOdldks.js → EmailRegisterForm-BAX_uBIt.js} +100 -100
  24. package/dist/{EmailRegisterForm-CxOdldks.js.map → EmailRegisterForm-BAX_uBIt.js.map} +1 -1
  25. package/dist/{EmailSettings-CLMdw3rB.js → EmailSettings-BVJ4vz0Y.js} +1 -1
  26. package/dist/{EmailSettings-CLMdw3rB.js.map → EmailSettings-BVJ4vz0Y.js.map} +1 -1
  27. package/dist/{EmailSettings-Dq3mfUr2.cjs → EmailSettings-CM5l8qqK.cjs} +1 -1
  28. package/dist/{EmailSettings-Dq3mfUr2.cjs.map → EmailSettings-CM5l8qqK.cjs.map} +1 -1
  29. package/dist/{EmailSettings-BkR7vlWL.cjs → EmailSettings-Dg2SAiHj.cjs} +1 -1
  30. package/dist/{EmailSettings-BkR7vlWL.cjs.map → EmailSettings-Dg2SAiHj.cjs.map} +1 -1
  31. package/dist/{EmailSettings-ulEHtH2y.js → EmailSettings-xtVl4kXD.js} +1 -1
  32. package/dist/{EmailSettings-ulEHtH2y.js.map → EmailSettings-xtVl4kXD.js.map} +1 -1
  33. package/dist/{EmbeddedWalletSettings-DGmCVyex.cjs → EmbeddedWalletSettings-BXN9VbNJ.cjs} +1 -1
  34. package/dist/{EmbeddedWalletSettings-DGmCVyex.cjs.map → EmbeddedWalletSettings-BXN9VbNJ.cjs.map} +1 -1
  35. package/dist/{EmbeddedWalletSettings-C7H0E8Uz.cjs → EmbeddedWalletSettings-Bmx8x21f.cjs} +1 -1
  36. package/dist/{EmbeddedWalletSettings-C7H0E8Uz.cjs.map → EmbeddedWalletSettings-Bmx8x21f.cjs.map} +1 -1
  37. package/dist/{EmbeddedWalletSettings-CLWh2TbV.js → EmbeddedWalletSettings-BuDgqv-K.js} +1 -1
  38. package/dist/{EmbeddedWalletSettings-CLWh2TbV.js.map → EmbeddedWalletSettings-BuDgqv-K.js.map} +1 -1
  39. package/dist/{EmbeddedWalletSettings-BTTV8Nqi.js → EmbeddedWalletSettings-DY5iJhS0.js} +1 -1
  40. package/dist/{EmbeddedWalletSettings-BTTV8Nqi.js.map → EmbeddedWalletSettings-DY5iJhS0.js.map} +1 -1
  41. package/dist/{ServerSettings-DooVeOet.js → ServerSettings-9Q091f3o.js} +1 -1
  42. package/dist/{ServerSettings-DooVeOet.js.map → ServerSettings-9Q091f3o.js.map} +1 -1
  43. package/dist/{ServerSettings-Ch8MCmAY.js → ServerSettings-BAstMKHS.js} +1 -1
  44. package/dist/{ServerSettings-Ch8MCmAY.js.map → ServerSettings-BAstMKHS.js.map} +1 -1
  45. package/dist/{ServerSettings-CqDd59iM.cjs → ServerSettings-LIIP5TPz.cjs} +1 -1
  46. package/dist/{ServerSettings-CqDd59iM.cjs.map → ServerSettings-LIIP5TPz.cjs.map} +1 -1
  47. package/dist/{ServerSettings-CPAoiDtn.cjs → ServerSettings-PH7T8JKI.cjs} +1 -1
  48. package/dist/{ServerSettings-CPAoiDtn.cjs.map → ServerSettings-PH7T8JKI.cjs.map} +1 -1
  49. package/dist/{WebhookSettings-WMJ5zPjY.cjs → WebhookSettings-2p9abGm5.cjs} +1 -1
  50. package/dist/{WebhookSettings-WMJ5zPjY.cjs.map → WebhookSettings-2p9abGm5.cjs.map} +1 -1
  51. package/dist/{WebhookSettings-BG77iqJC.js → WebhookSettings-CXMBju7N.js} +1 -1
  52. package/dist/{WebhookSettings-BG77iqJC.js.map → WebhookSettings-CXMBju7N.js.map} +1 -1
  53. package/dist/{WebhookSettings-BeiUAcKs.cjs → WebhookSettings-CdFM7_V-.cjs} +1 -1
  54. package/dist/{WebhookSettings-BeiUAcKs.cjs.map → WebhookSettings-CdFM7_V-.cjs.map} +1 -1
  55. package/dist/{WebhookSettings-B6mjH90_.js → WebhookSettings-D0F8ESlB.js} +1 -1
  56. package/dist/{WebhookSettings-B6mjH90_.js.map → WebhookSettings-D0F8ESlB.js.map} +1 -1
  57. package/dist/admin-only.cjs +1 -1
  58. package/dist/admin-only.js +1 -1
  59. package/dist/email-only.cjs +1 -1
  60. package/dist/email-only.js +1 -1
  61. package/dist/index.cjs +12 -12
  62. package/dist/index.cjs.map +1 -1
  63. package/dist/index.d.ts +18 -6
  64. package/dist/index.js +1713 -1635
  65. package/dist/index.js.map +1 -1
  66. package/dist/login-react.css +1 -1
  67. package/dist/mobileWalletAdapter-Begyo5Y9.cjs +1 -0
  68. package/dist/mobileWalletAdapter-Begyo5Y9.cjs.map +1 -0
  69. package/dist/mobileWalletAdapter-Dbm9P20u.js +188 -0
  70. package/dist/mobileWalletAdapter-Dbm9P20u.js.map +1 -0
  71. package/dist/{plugin-Bhf9zaly.js → plugin-DbkijwEV.js} +1 -1
  72. package/dist/{plugin-Bhf9zaly.js.map → plugin-DbkijwEV.js.map} +1 -1
  73. package/dist/{plugin-BgMAc6DA.cjs → plugin-PU2vAozn.cjs} +1 -1
  74. package/dist/{plugin-BgMAc6DA.cjs.map → plugin-PU2vAozn.cjs.map} +1 -1
  75. package/dist/solana-only.cjs +1 -1
  76. package/dist/solana-only.d.ts +9 -5
  77. package/dist/solana-only.js +1 -1
  78. package/package.json +1 -1
  79. package/dist/AutosaveStatus-BKc7T2Tw.js.map +0 -1
  80. package/dist/AutosaveStatus-BjLMt52a.cjs +0 -1
  81. package/dist/AutosaveStatus-BjLMt52a.cjs.map +0 -1
  82. package/dist/mobileWalletAdapter-7TOM-TF8.cjs +0 -1
  83. package/dist/mobileWalletAdapter-7TOM-TF8.cjs.map +0 -1
  84. package/dist/mobileWalletAdapter-CtTXtZlH.js +0 -387
  85. package/dist/mobileWalletAdapter-CtTXtZlH.js.map +0 -1
@@ -6,55 +6,55 @@ import { L as K } from "./LoadingSpinner-6vml-zwr.js";
6
6
  import { E as Q } from "./ErrorMessage-CcEK0pYO.js";
7
7
  import { s as ie } from "./sanitization-CQ-H1MSg.js";
8
8
  function Z(n = {}) {
9
- const { maxAttempts: h = 5, windowMs: N = 6e4, showCountdown: d = !1 } = n, p = G([]), [c, w] = v(!1), [, l] = v(0), m = C(() => {
9
+ const { maxAttempts: p = 5, windowMs: N = 6e4, showCountdown: d = !1 } = n, h = G([]), [c, w] = v(!1), [, l] = v(0), m = C(() => {
10
10
  l((r) => r + 1);
11
11
  }, []), u = C(() => {
12
12
  const r = Date.now();
13
- p.current = p.current.filter((t) => r - t < N);
14
- }, [N]), b = C(() => {
15
- u(), w((r) => p.current.length === 0 && r ? !1 : r);
16
- }, [u]), i = C(() => (u(), Math.max(0, h - p.current.length)), [u, h]), g = C(() => {
17
- if (u(), p.current.length === 0)
13
+ h.current = h.current.filter((t) => r - t < N);
14
+ }, [N]), k = C(() => {
15
+ u(), w((r) => h.current.length === 0 && r ? !1 : r);
16
+ }, [u]), i = C(() => (u(), Math.max(0, p - h.current.length)), [u, p]), g = C(() => {
17
+ if (u(), h.current.length === 0)
18
18
  return 0;
19
- const t = p.current[0] + N;
19
+ const t = h.current[0] + N;
20
20
  return Math.max(0, t - Date.now());
21
- }, [u, N]), y = C(() => (u(), p.current.length < h), [u, h]), E = C(() => {
22
- if (b(), p.current.length >= h) {
21
+ }, [u, N]), y = C(() => (u(), h.current.length < p), [u, p]), E = C(() => {
22
+ if (k(), h.current.length >= p) {
23
23
  const r = g(), t = Math.ceil(r / 1e3);
24
24
  throw new Error(
25
25
  `Too many attempts. Please wait ${t} second${t === 1 ? "" : "s"} before trying again.`
26
26
  );
27
27
  }
28
- p.current.push(Date.now()), w((r) => r || !0), m();
29
- }, [b, h, g, m]), k = C(() => {
30
- p.current = [], w((r) => r && !1), m();
28
+ h.current.push(Date.now()), w((r) => r || !0), m();
29
+ }, [k, p, g, m]), b = C(() => {
30
+ h.current = [], w((r) => r && !1), m();
31
31
  }, [m]);
32
32
  return W(() => {
33
33
  if (!c || !d) return;
34
34
  const r = window.setInterval(() => {
35
- b(), m();
35
+ k(), m();
36
36
  }, 1e3);
37
37
  return () => {
38
38
  window.clearInterval(r);
39
39
  };
40
- }, [c, d, m, b]), {
40
+ }, [c, d, m, k]), {
41
41
  checkLimit: E,
42
42
  isAllowed: y,
43
43
  getRemainingAttempts: i,
44
44
  getTimeUntilReset: g,
45
- reset: k
45
+ reset: b
46
46
  };
47
47
  }
48
48
  function le(n) {
49
49
  return "mfaRequired" in n && n.mfaRequired === !0;
50
50
  }
51
51
  function X() {
52
- const { config: n, _internal: h } = U(), [N, d] = v(!1), [p, c] = v(null), {
52
+ const { config: n, _internal: p } = U(), [N, d] = v(!1), [h, c] = v(null), {
53
53
  checkLimit: w,
54
54
  getRemainingAttempts: l,
55
55
  getTimeUntilReset: m,
56
56
  reset: u
57
- } = Z({ maxAttempts: 5, windowMs: 6e4 }), b = z(
57
+ } = Z({ maxAttempts: 5, windowMs: 6e4 }), k = z(
58
58
  () => new H({
59
59
  baseUrl: n.serverUrl,
60
60
  timeoutMs: n.requestTimeout,
@@ -81,7 +81,7 @@ function X() {
81
81
  }
82
82
  d(!0), c(null);
83
83
  try {
84
- const a = await b.post("/login", {
84
+ const a = await k.post("/login", {
85
85
  email: t,
86
86
  password: s
87
87
  });
@@ -93,7 +93,7 @@ function X() {
93
93
  userId: a.userId
94
94
  };
95
95
  const o = a;
96
- return i?.onLoginSuccess?.(o.user, "email"), h?.handleLoginSuccess(o.user, o.tokens), u(), {
96
+ return i?.onLoginSuccess?.(o.user, "email"), p?.handleLoginSuccess(o.user, o.tokens), u(), {
97
97
  mfaRequired: !1,
98
98
  response: o
99
99
  };
@@ -104,8 +104,8 @@ function X() {
104
104
  d(!1);
105
105
  }
106
106
  },
107
- [b, i, h, w, u]
108
- ), k = C(
107
+ [k, i, p, w, u]
108
+ ), b = C(
109
109
  async (t, s, a) => {
110
110
  if (!j(t)) {
111
111
  const o = {
@@ -125,8 +125,8 @@ function X() {
125
125
  }
126
126
  d(!0), c(null);
127
127
  try {
128
- const o = await b.post("/register", { email: t, password: s, name: a });
129
- if (i?.onLoginSuccess?.(o.user, "email"), h?.handleLoginSuccess(o.user, o.tokens), u(), g) {
128
+ const o = await k.post("/register", { email: t, password: s, name: a });
129
+ if (i?.onLoginSuccess?.(o.user, "email"), p?.handleLoginSuccess(o.user, o.tokens), u(), g) {
130
130
  const L = o.tokens?.accessToken ?? "", R = !L ? 200 : 0;
131
131
  new Promise((A) => setTimeout(A, R)).then(() => import("./silentWalletEnroll-FqXS7Rvh.js")).then(
132
132
  ({ silentWalletEnroll: A }) => A({
@@ -150,9 +150,9 @@ function X() {
150
150
  }
151
151
  },
152
152
  [
153
- b,
153
+ k,
154
154
  i,
155
- h,
155
+ p,
156
156
  w,
157
157
  u,
158
158
  y,
@@ -161,9 +161,9 @@ function X() {
161
161
  ), r = C(() => c(null), []);
162
162
  return {
163
163
  login: E,
164
- register: k,
164
+ register: b,
165
165
  isLoading: N,
166
- error: p,
166
+ error: h,
167
167
  clearError: r,
168
168
  // M-10: Point-in-time snapshots for UI display (see interface JSDoc)
169
169
  remainingAttempts: l(),
@@ -174,19 +174,19 @@ function de(n) {
174
174
  return typeof n == "object" && n !== null && "mfaRequired" in n && n.mfaRequired === !0;
175
175
  }
176
176
  function ue() {
177
- const { config: n, _internal: h } = U(), [N, d] = v(!1), [p, c] = v(!1), [w, l] = v(null), m = z(
177
+ const { config: n, _internal: p } = U(), [N, d] = v(!1), [h, c] = v(!1), [w, l] = v(null), m = z(
178
178
  () => new H({
179
179
  baseUrl: n.serverUrl,
180
180
  timeoutMs: n.requestTimeout,
181
181
  retryAttempts: n.retryAttempts
182
182
  }),
183
183
  [n.serverUrl, n.requestTimeout, n.retryAttempts]
184
- ), { checkLimit: u, getRemainingAttempts: b } = Z({
184
+ ), { checkLimit: u, getRemainingAttempts: k } = Z({
185
185
  maxAttempts: 3,
186
186
  windowMs: 3e5
187
187
  }), i = C(
188
- async (k) => {
189
- if (!j(k)) {
188
+ async (b) => {
189
+ if (!j(b)) {
190
190
  const r = {
191
191
  code: "VALIDATION_ERROR",
192
192
  message: "Please enter a valid email address"
@@ -204,7 +204,7 @@ function ue() {
204
204
  }
205
205
  d(!0), l(null), c(!1);
206
206
  try {
207
- await m.post("/instant-link", { email: k }), c(!0);
207
+ await m.post("/instant-link", { email: b }), c(!0);
208
208
  } catch (r) {
209
209
  const t = P(r, "Failed to send sign-in link");
210
210
  throw l(t), t;
@@ -214,8 +214,8 @@ function ue() {
214
214
  },
215
215
  [m, u]
216
216
  ), g = C(
217
- async (k) => {
218
- if (!k || k.trim().length === 0) {
217
+ async (b) => {
218
+ if (!b || b.trim().length === 0) {
219
219
  const r = {
220
220
  code: "VALIDATION_ERROR",
221
221
  message: "Invalid or missing sign-in link token"
@@ -227,10 +227,10 @@ function ue() {
227
227
  const r = await m.post(
228
228
  "/instant-link/verify",
229
229
  {
230
- token: k
230
+ token: b
231
231
  }
232
232
  );
233
- return de(r) || (n.callbacks?.onLoginSuccess?.(r.user, "email"), h?.handleLoginSuccess(r.user, r.tokens)), r;
233
+ return de(r) || (n.callbacks?.onLoginSuccess?.(r.user, "email"), p?.handleLoginSuccess(r.user, r.tokens)), r;
234
234
  } catch (r) {
235
235
  const t = P(r, "Failed to verify sign-in link");
236
236
  throw l(t), t;
@@ -238,7 +238,7 @@ function ue() {
238
238
  d(!1);
239
239
  }
240
240
  },
241
- [m, n.callbacks, h]
241
+ [m, n.callbacks, p]
242
242
  ), y = C(() => l(null), []), E = C(() => {
243
243
  l(null), c(!1), d(!1);
244
244
  }, []);
@@ -246,32 +246,32 @@ function ue() {
246
246
  sendInstantLink: i,
247
247
  verifyInstantLink: g,
248
248
  isLoading: N,
249
- isSuccess: p,
249
+ isSuccess: h,
250
250
  error: w,
251
251
  clearError: y,
252
252
  reset: E,
253
- remainingAttempts: b()
253
+ remainingAttempts: k()
254
254
  };
255
255
  }
256
256
  function ee({
257
257
  label: n = "Password",
258
- labelAction: h,
258
+ labelAction: p,
259
259
  showStrengthMeter: N = !1,
260
260
  onValidationChange: d,
261
- error: p,
261
+ error: h,
262
262
  className: c = "",
263
263
  onChange: w,
264
264
  value: l,
265
265
  ...m
266
266
  }) {
267
- const [u, b] = v(!1), [i, g] = v(null), y = J(), E = (r) => {
267
+ const [u, k] = v(!1), [i, g] = v(null), y = J(), E = (r) => {
268
268
  const t = r.target.value;
269
269
  if (N || d) {
270
270
  const s = ce(t);
271
271
  g(s), d?.(s);
272
272
  }
273
273
  w?.(r);
274
- }, k = {
274
+ }, b = {
275
275
  weak: "var(--cedros-destructive, #ef4444)",
276
276
  fair: "var(--cedros-warning, #f59e0b)",
277
277
  good: "var(--cedros-success, #22c55e)",
@@ -280,7 +280,7 @@ function ee({
280
280
  return /* @__PURE__ */ f("div", { className: `cedros-password-input ${c}`, children: [
281
281
  /* @__PURE__ */ f("div", { className: "cedros-label-row", children: [
282
282
  /* @__PURE__ */ e("label", { htmlFor: y, className: "cedros-label", children: n }),
283
- h
283
+ p
284
284
  ] }),
285
285
  /* @__PURE__ */ f("div", { className: "cedros-password-wrapper", children: [
286
286
  /* @__PURE__ */ e(
@@ -291,8 +291,8 @@ function ee({
291
291
  className: "cedros-input",
292
292
  onChange: E,
293
293
  value: l,
294
- "aria-invalid": p ? "true" : void 0,
295
- "aria-describedby": p ? `${y}-error` : void 0,
294
+ "aria-invalid": h ? "true" : void 0,
295
+ "aria-describedby": h ? `${y}-error` : void 0,
296
296
  ...m
297
297
  }
298
298
  ),
@@ -301,7 +301,7 @@ function ee({
301
301
  {
302
302
  type: "button",
303
303
  className: "cedros-password-toggle",
304
- onClick: () => b(!u),
304
+ onClick: () => k(!u),
305
305
  "aria-label": u ? "Hide password" : "Show password",
306
306
  "aria-pressed": u,
307
307
  children: u ? /* @__PURE__ */ f("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: [
@@ -329,7 +329,7 @@ function ee({
329
329
  }
330
330
  )
331
331
  ] }),
332
- p && /* @__PURE__ */ e("p", { id: `${y}-error`, className: "cedros-input-error", children: p }),
332
+ h && /* @__PURE__ */ e("p", { id: `${y}-error`, className: "cedros-input-error", children: h }),
333
333
  N && i && l?.length > 0 && /* @__PURE__ */ f("div", { className: "cedros-password-strength", children: [
334
334
  /* @__PURE__ */ e("div", { className: "cedros-strength-bar", children: /* @__PURE__ */ e(
335
335
  "div",
@@ -337,7 +337,7 @@ function ee({
337
337
  className: "cedros-strength-fill",
338
338
  style: {
339
339
  width: `${i.strength === "weak" ? 25 : i.strength === "fair" ? 50 : i.strength === "good" ? 75 : 100}%`,
340
- backgroundColor: k[i.strength]
340
+ backgroundColor: b[i.strength]
341
341
  }
342
342
  }
343
343
  ) }),
@@ -346,10 +346,10 @@ function ee({
346
346
  ] });
347
347
  }
348
348
  function me() {
349
- const { config: n, _internal: h } = U(), [N, d] = v("idle"), [p, c] = v(!1), [w, l] = v(null), {
349
+ const { config: n, _internal: p } = U(), [N, d] = v("idle"), [h, c] = v(!1), [w, l] = v(null), {
350
350
  checkLimit: m,
351
351
  getRemainingAttempts: u,
352
- getTimeUntilReset: b,
352
+ getTimeUntilReset: k,
353
353
  reset: i
354
354
  } = Z({ maxAttempts: 5, windowMs: 12e4 }), g = z(
355
355
  () => new H({
@@ -380,7 +380,7 @@ function me() {
380
380
  c(!0), l(null), d("verifying");
381
381
  try {
382
382
  const o = await g.post("/login/mfa", { mfaToken: r, code: t });
383
- return d("success"), i(), h && o.user && o.tokens && h.handleLoginSuccess(o.user, o.tokens), o;
383
+ return d("success"), i(), p && o.user && o.tokens && p.handleLoginSuccess(o.user, o.tokens), o;
384
384
  } catch (o) {
385
385
  const L = P(o, "Invalid verification code");
386
386
  throw l(L), d("error"), L;
@@ -388,33 +388,33 @@ function me() {
388
388
  c(!1);
389
389
  }
390
390
  },
391
- [g, h, m, i]
392
- ), E = C(() => l(null), []), k = C(() => {
391
+ [g, p, m, i]
392
+ ), E = C(() => l(null), []), b = C(() => {
393
393
  l(null), d("idle"), c(!1);
394
394
  }, []);
395
395
  return {
396
396
  state: N,
397
- isLoading: p,
397
+ isLoading: h,
398
398
  error: w,
399
399
  verifyTotp: y,
400
400
  clearError: E,
401
- reset: k,
401
+ reset: b,
402
402
  // Point-in-time snapshots for UI display
403
403
  remainingAttempts: u(),
404
- timeUntilReset: b()
404
+ timeUntilReset: k()
405
405
  };
406
406
  }
407
407
  const I = 6;
408
408
  function he({
409
409
  value: n = "",
410
- onChange: h,
410
+ onChange: p,
411
411
  onComplete: N,
412
412
  disabled: d = !1,
413
- error: p,
413
+ error: h,
414
414
  autoFocus: c = !1,
415
415
  className: w = ""
416
416
  }) {
417
- const l = G([]), [m, u] = v(n.padEnd(I, "")), b = J();
417
+ const l = G([]), [m, u] = v(n.padEnd(I, "")), k = J();
418
418
  W(() => {
419
419
  u(n.padEnd(I, ""));
420
420
  }, [n]);
@@ -423,9 +423,9 @@ function he({
423
423
  }, []), g = C(
424
424
  (t) => {
425
425
  const s = t.replace(/\D/g, "").slice(0, I);
426
- u(s.padEnd(I, "")), h?.(s), s.length === I && N?.(s);
426
+ u(s.padEnd(I, "")), p?.(s), s.length === I && N?.(s);
427
427
  },
428
- [h, N]
428
+ [p, N]
429
429
  ), y = C(
430
430
  (t, s) => {
431
431
  if (!/^\d?$/.test(s)) return;
@@ -444,7 +444,7 @@ function he({
444
444
  } else s.key === "ArrowLeft" && t > 0 ? (s.preventDefault(), i(t - 1)) : s.key === "ArrowRight" && t < I - 1 && (s.preventDefault(), i(t + 1));
445
445
  },
446
446
  [m, g, i]
447
- ), k = C(
447
+ ), b = C(
448
448
  (t) => {
449
449
  t.preventDefault();
450
450
  const a = t.clipboardData.getData("text").replace(/\D/g, "").slice(0, I);
@@ -463,48 +463,48 @@ function he({
463
463
  ref: (a) => {
464
464
  l.current[s] = a;
465
465
  },
466
- id: `${b}-${s}`,
466
+ id: `${k}-${s}`,
467
467
  type: "text",
468
468
  inputMode: "numeric",
469
469
  pattern: "[0-9]*",
470
470
  maxLength: 1,
471
- className: `cedros-otp-slot ${p ? "cedros-otp-slot-error" : ""}`,
471
+ className: `cedros-otp-slot ${h ? "cedros-otp-slot-error" : ""}`,
472
472
  value: m[s] === " " ? "" : m[s] || "",
473
473
  onChange: (a) => y(s, a.target.value),
474
474
  onKeyDown: (a) => E(s, a),
475
- onPaste: k,
475
+ onPaste: b,
476
476
  onFocus: r,
477
477
  disabled: d,
478
478
  autoComplete: "one-time-code",
479
479
  "aria-label": `Digit ${s + 1}`,
480
- "aria-invalid": p ? "true" : void 0
480
+ "aria-invalid": h ? "true" : void 0
481
481
  },
482
482
  s
483
483
  )) }),
484
- p && /* @__PURE__ */ e("p", { className: "cedros-otp-error", role: "alert", children: p })
484
+ h && /* @__PURE__ */ e("p", { className: "cedros-otp-error", role: "alert", children: h })
485
485
  ] });
486
486
  }
487
487
  function pe({
488
488
  mfaToken: n,
489
- email: h,
489
+ email: p,
490
490
  onSuccess: N,
491
491
  onBack: d,
492
- className: p = ""
492
+ className: h = ""
493
493
  }) {
494
- const { verifyTotp: c, isLoading: w, error: l, clearError: m } = me(), [u, b] = v(""), [i, g] = v(!1), [y, E] = v(""), k = async (s) => {
494
+ const { verifyTotp: c, isLoading: w, error: l, clearError: m } = me(), [u, k] = v(""), [i, g] = v(!1), [y, E] = v(""), b = async (s) => {
495
495
  const a = s || (i ? y : u);
496
496
  if (a)
497
497
  try {
498
498
  await c(n, a), N?.();
499
499
  } catch {
500
- i ? E("") : b("");
500
+ i ? E("") : k("");
501
501
  }
502
502
  }, r = (s) => {
503
- k(s);
503
+ b(s);
504
504
  }, t = () => {
505
- g(!i), m(), b(""), E("");
505
+ g(!i), m(), k(""), E("");
506
506
  };
507
- return /* @__PURE__ */ f("div", { className: `cedros-totp-verify ${p}`, children: [
507
+ return /* @__PURE__ */ f("div", { className: `cedros-totp-verify ${h}`, children: [
508
508
  /* @__PURE__ */ f("div", { className: "cedros-totp-verify-header", children: [
509
509
  /* @__PURE__ */ f(
510
510
  "svg",
@@ -532,7 +532,7 @@ function pe({
532
532
  ),
533
533
  /* @__PURE__ */ e("h3", { className: "cedros-totp-title", children: "Two-factor authentication" }),
534
534
  /* @__PURE__ */ e("p", { className: "cedros-totp-description", children: i ? "Enter one of your recovery codes to sign in." : "Enter the 6-digit code from your authenticator app." }),
535
- h && /* @__PURE__ */ e("p", { className: "cedros-totp-email", children: h })
535
+ p && /* @__PURE__ */ e("p", { className: "cedros-totp-email", children: p })
536
536
  ] }),
537
537
  i ? /* @__PURE__ */ f("div", { className: "cedros-totp-backup-input", children: [
538
538
  /* @__PURE__ */ e(
@@ -546,7 +546,7 @@ function pe({
546
546
  E(s.target.value.toUpperCase()), m();
547
547
  },
548
548
  onKeyDown: (s) => {
549
- s.key === "Enter" && y && k();
549
+ s.key === "Enter" && y && b();
550
550
  },
551
551
  disabled: w,
552
552
  autoFocus: !0,
@@ -559,7 +559,7 @@ function pe({
559
559
  {
560
560
  value: u,
561
561
  onChange: (s) => {
562
- b(s), m();
562
+ k(s), m();
563
563
  },
564
564
  onComplete: r,
565
565
  disabled: w,
@@ -572,7 +572,7 @@ function pe({
572
572
  {
573
573
  type: "button",
574
574
  className: "cedros-button cedros-button-primary cedros-button-md cedros-button-full",
575
- onClick: () => k(),
575
+ onClick: () => b(),
576
576
  disabled: w || (i ? !y : u.length !== 6),
577
577
  children: w ? /* @__PURE__ */ f(O, { children: [
578
578
  /* @__PURE__ */ e(K, { size: "sm" }),
@@ -609,21 +609,21 @@ function pe({
609
609
  }
610
610
  function Ce({
611
611
  onSuccess: n,
612
- onSwitchToRegister: h,
612
+ onSwitchToRegister: p,
613
613
  onForgotPassword: N,
614
614
  className: d = ""
615
615
  }) {
616
- const { config: p } = U(), { login: c, isLoading: w, error: l, clearError: m } = X(), {
616
+ const { config: h } = U(), { login: c, isLoading: w, error: l, clearError: m } = X(), {
617
617
  sendInstantLink: u,
618
- isLoading: b,
618
+ isLoading: k,
619
619
  isSuccess: i,
620
620
  error: g,
621
621
  clearError: y,
622
622
  reset: E
623
- } = ue(), [k, r] = v(""), [t, s] = v(""), [a, o] = v(null), [L, S] = v(""), R = p.forms?.forgotPassword?.mode ?? "reset", A = async (D) => {
623
+ } = ue(), [b, r] = v(""), [t, s] = v(""), [a, o] = v(null), [L, S] = v(""), R = h.forms?.forgotPassword?.mode ?? (h.features?.instantLink ? "instantLink" : "reset"), A = async (D) => {
624
624
  D.preventDefault();
625
625
  try {
626
- const q = await c(k, t);
626
+ const q = await c(b, t);
627
627
  q.mfaRequired ? (o(q.mfaToken), S(q.email)) : n?.();
628
628
  } catch {
629
629
  }
@@ -634,7 +634,7 @@ function Ce({
634
634
  }, x = async () => {
635
635
  if (R === "instantLink")
636
636
  try {
637
- await u(k);
637
+ await u(b);
638
638
  } catch {
639
639
  }
640
640
  else
@@ -680,7 +680,7 @@ function Ce({
680
680
  /* @__PURE__ */ e("h3", { className: "cedros-success-title", children: "Check your email" }),
681
681
  /* @__PURE__ */ f("p", { className: "cedros-success-message", children: [
682
682
  "We sent a sign-in link to ",
683
- /* @__PURE__ */ e("strong", { children: k }),
683
+ /* @__PURE__ */ e("strong", { children: b }),
684
684
  ". Click the link to sign in."
685
685
  ] }),
686
686
  /* @__PURE__ */ e(
@@ -695,7 +695,7 @@ function Ce({
695
695
  ] });
696
696
  const F = l || g, B = () => {
697
697
  m(), y();
698
- }, V = w || b;
698
+ }, V = w || k;
699
699
  return /* @__PURE__ */ f("form", { onSubmit: A, className: `cedros-form ${d}`, children: [
700
700
  /* @__PURE__ */ f("div", { className: "cedros-form-field", children: [
701
701
  /* @__PURE__ */ e("label", { htmlFor: "email", className: "cedros-label", children: "Email" }),
@@ -705,7 +705,7 @@ function Ce({
705
705
  id: "email",
706
706
  type: "email",
707
707
  className: "cedros-input",
708
- value: k,
708
+ value: b,
709
709
  onChange: (D) => r(D.target.value),
710
710
  placeholder: "you@example.com",
711
711
  required: !0,
@@ -730,8 +730,8 @@ function Ce({
730
730
  type: "button",
731
731
  className: "cedros-link cedros-link-sm",
732
732
  onClick: x,
733
- disabled: b,
734
- children: b ? "Sending..." : "Forgot your password?"
733
+ disabled: k,
734
+ children: k ? "Sending..." : "Forgot your password?"
735
735
  }
736
736
  ) : void 0
737
737
  }
@@ -742,7 +742,7 @@ function Ce({
742
742
  {
743
743
  type: "submit",
744
744
  className: "cedros-button cedros-button-primary cedros-button-md cedros-button-full",
745
- disabled: V || !k || !t,
745
+ disabled: V || !b || !t,
746
746
  "aria-busy": w,
747
747
  children: w ? /* @__PURE__ */ f(O, { children: [
748
748
  /* @__PURE__ */ e(K, { size: "sm", announce: !0, label: "Signing in" }),
@@ -750,19 +750,19 @@ function Ce({
750
750
  ] }) : "Sign in"
751
751
  }
752
752
  ),
753
- h && /* @__PURE__ */ f("p", { className: "cedros-form-footer", children: [
753
+ p && /* @__PURE__ */ f("p", { className: "cedros-form-footer", children: [
754
754
  "Don't have an account?",
755
755
  " ",
756
- /* @__PURE__ */ e("button", { type: "button", className: "cedros-link", onClick: h, children: "Sign up" })
756
+ /* @__PURE__ */ e("button", { type: "button", className: "cedros-link", onClick: p, children: "Sign up" })
757
757
  ] })
758
758
  ] });
759
759
  }
760
760
  function Ne({
761
761
  onSuccess: n,
762
- onSwitchToLogin: h,
762
+ onSwitchToLogin: p,
763
763
  className: N = ""
764
764
  }) {
765
- const { config: d } = U(), { register: p, isLoading: c, error: w, clearError: l } = X(), [m, u] = v(""), [b, i] = v(""), [g, y] = v(""), [E, k] = v(""), [r, t] = v(null), [s, a] = v(null), o = d.forms?.termsOfService, L = d.forms?.emailOptIn, S = o?.show ?? !1, R = o?.required ?? !0, A = o?.defaultChecked ?? !1, M = o?.label ?? "I agree to the Terms of Service", _ = o?.url, x = ie(_), F = L?.show ?? !1, B = L?.defaultChecked ?? !1, V = L?.label ?? "Send me updates and news", [D, q] = v(A), [te, re] = v(B), $ = g === E, se = r?.isValid ?? !1, Y = b && g && E && $ && se && (!S || !R || D) && !c, oe = async (T) => {
765
+ const { config: d } = U(), { register: h, isLoading: c, error: w, clearError: l } = X(), [m, u] = v(""), [k, i] = v(""), [g, y] = v(""), [E, b] = v(""), [r, t] = v(null), [s, a] = v(null), o = d.forms?.termsOfService, L = d.forms?.emailOptIn, S = o?.show ?? !1, R = o?.required ?? !0, A = o?.defaultChecked ?? !1, M = o?.label ?? "I agree to the Terms of Service", _ = o?.url, x = ie(_), F = L?.show ?? !1, B = L?.defaultChecked ?? !1, V = L?.label ?? "Send me updates and news", [D, q] = v(A), [te, re] = v(B), $ = g === E, se = r?.isValid ?? !1, Y = k && g && E && $ && se && (!S || !R || D) && !c, oe = async (T) => {
766
766
  if (T.preventDefault(), a(null), S && R && !D) {
767
767
  a({
768
768
  code: "VALIDATION_ERROR",
@@ -772,7 +772,7 @@ function Ne({
772
772
  }
773
773
  if (Y)
774
774
  try {
775
- await p(b, g, m || void 0), n?.();
775
+ await h(k, g, m || void 0), n?.();
776
776
  } catch {
777
777
  }
778
778
  }, ne = w || s, ae = () => {
@@ -806,7 +806,7 @@ function Ne({
806
806
  id: "register-email",
807
807
  type: "email",
808
808
  className: "cedros-input",
809
- value: b,
809
+ value: k,
810
810
  onChange: (T) => i(T.target.value),
811
811
  placeholder: "you@example.com",
812
812
  required: !0,
@@ -838,7 +838,7 @@ function Ne({
838
838
  type: "password",
839
839
  className: "cedros-input",
840
840
  value: E,
841
- onChange: (T) => k(T.target.value),
841
+ onChange: (T) => b(T.target.value),
842
842
  placeholder: "Confirm your password",
843
843
  required: !0,
844
844
  "aria-required": "true",
@@ -907,10 +907,10 @@ function Ne({
907
907
  ] }) : "Create account"
908
908
  }
909
909
  ),
910
- h && /* @__PURE__ */ f("p", { className: "cedros-form-footer", children: [
910
+ p && /* @__PURE__ */ f("p", { className: "cedros-form-footer", children: [
911
911
  "Already have an account?",
912
912
  " ",
913
- /* @__PURE__ */ e("button", { type: "button", className: "cedros-link", onClick: h, children: "Sign in" })
913
+ /* @__PURE__ */ e("button", { type: "button", className: "cedros-link", onClick: p, children: "Sign in" })
914
914
  ] })
915
915
  ] });
916
916
  }