@alfadocs/ui-kit 0.62.0 → 0.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/_chunks/finished-terminal-VjZ_-eDD.js +122 -0
  2. package/dist/_chunks/use-countdown-Yd6ts0_a.js +26 -0
  3. package/dist/agent-catalog.json +15 -1
  4. package/dist/components/finished-terminal/finished-terminal.d.ts +55 -0
  5. package/dist/components/finished-terminal/index.d.ts +3 -0
  6. package/dist/components/finished-terminal/index.js +5 -0
  7. package/dist/components/index.d.ts +1 -0
  8. package/dist/hooks/index.js +79 -99
  9. package/dist/i18n/locales/ar.d.ts +5 -0
  10. package/dist/i18n/locales/ar.js +5 -0
  11. package/dist/i18n/locales/de.d.ts +5 -0
  12. package/dist/i18n/locales/de.js +5 -0
  13. package/dist/i18n/locales/el.d.ts +5 -0
  14. package/dist/i18n/locales/el.js +5 -0
  15. package/dist/i18n/locales/en.d.ts +5 -0
  16. package/dist/i18n/locales/en.js +5 -0
  17. package/dist/i18n/locales/es.d.ts +5 -0
  18. package/dist/i18n/locales/es.js +5 -0
  19. package/dist/i18n/locales/fr.d.ts +5 -0
  20. package/dist/i18n/locales/fr.js +5 -0
  21. package/dist/i18n/locales/hi.d.ts +5 -0
  22. package/dist/i18n/locales/hi.js +5 -0
  23. package/dist/i18n/locales/it.d.ts +5 -0
  24. package/dist/i18n/locales/it.js +5 -0
  25. package/dist/i18n/locales/ja.d.ts +5 -0
  26. package/dist/i18n/locales/ja.js +5 -0
  27. package/dist/i18n/locales/nl.d.ts +5 -0
  28. package/dist/i18n/locales/nl.js +5 -0
  29. package/dist/i18n/locales/pl.d.ts +5 -0
  30. package/dist/i18n/locales/pl.js +5 -0
  31. package/dist/i18n/locales/pt.d.ts +5 -0
  32. package/dist/i18n/locales/pt.js +5 -0
  33. package/dist/i18n/locales/ro.d.ts +5 -0
  34. package/dist/i18n/locales/ro.js +5 -0
  35. package/dist/i18n/locales/ru.d.ts +5 -0
  36. package/dist/i18n/locales/ru.js +5 -0
  37. package/dist/i18n/locales/sq.d.ts +5 -0
  38. package/dist/i18n/locales/sq.js +5 -0
  39. package/dist/i18n/locales/sv.d.ts +5 -0
  40. package/dist/i18n/locales/sv.js +5 -0
  41. package/dist/i18n/locales/tr.d.ts +5 -0
  42. package/dist/i18n/locales/tr.js +5 -0
  43. package/dist/i18n/locales/zh.d.ts +5 -0
  44. package/dist/i18n/locales/zh.js +5 -0
  45. package/dist/index.js +299 -297
  46. package/dist/locales/ar.json +5 -0
  47. package/dist/locales/de.json +5 -0
  48. package/dist/locales/el.json +5 -0
  49. package/dist/locales/en.json +5 -0
  50. package/dist/locales/es.json +5 -0
  51. package/dist/locales/fr.json +5 -0
  52. package/dist/locales/hi.json +5 -0
  53. package/dist/locales/it.json +5 -0
  54. package/dist/locales/ja.json +5 -0
  55. package/dist/locales/nl.json +5 -0
  56. package/dist/locales/pl.json +5 -0
  57. package/dist/locales/pt.json +5 -0
  58. package/dist/locales/ro.json +5 -0
  59. package/dist/locales/ru.json +5 -0
  60. package/dist/locales/sq.json +5 -0
  61. package/dist/locales/sv.json +5 -0
  62. package/dist/locales/tr.json +5 -0
  63. package/dist/locales/zh.json +5 -0
  64. package/package.json +5 -1
@@ -0,0 +1,122 @@
1
+ import { jsx as e, jsxs as p } from "react/jsx-runtime";
2
+ import { forwardRef as k, useState as A, useRef as g, useEffect as F, useCallback as j } from "react";
3
+ import { useTranslation as z } from "react-i18next";
4
+ import { C as w } from "./card-DPmk26CL.js";
5
+ import { B as E } from "./button-DD_0Xdmr.js";
6
+ import { u as D } from "./use-countdown-Yd6ts0_a.js";
7
+ import { C as L } from "./circle-check-9AeSgJD_.js";
8
+ function W(s) {
9
+ const t = globalThis.window !== void 0 && globalThis;
10
+ return !!(t && (/Chromatic/.test(t.navigator.userAgent) || /chromatic=true/.test(t.location.href)));
11
+ }
12
+ const _ = "https://www.alfadocs.com";
13
+ function x(s) {
14
+ if (typeof s != "string" || s.length === 0 || s.startsWith("//")) return !1;
15
+ if (s.startsWith("/")) return !0;
16
+ try {
17
+ const { protocol: t } = new URL(s, window.location.origin);
18
+ return t === "https:" || t === "http:";
19
+ } catch {
20
+ return !1;
21
+ }
22
+ }
23
+ const I = k(
24
+ ({
25
+ title: s,
26
+ body: t,
27
+ autoCloseSeconds: i = 10,
28
+ redirectUrl: n,
29
+ brandUrl: o = _,
30
+ onClose: a,
31
+ countdownLabel: d,
32
+ closeNowLabel: v,
33
+ redirectingLabel: y,
34
+ className: N,
35
+ ...C
36
+ }, T) => {
37
+ const { t: r } = z(), [R, b] = A(!1), c = g(!1), l = g(null);
38
+ F(() => {
39
+ var h;
40
+ (h = l.current) == null || h.focus();
41
+ }, []);
42
+ const m = j(() => {
43
+ if (!c.current) {
44
+ if (c.current = !0, b(!0), a) {
45
+ a();
46
+ return;
47
+ }
48
+ n ? x(n) && window.location.assign(n) : (window.close(), x(o) && window.location.assign(o));
49
+ }
50
+ }, [a, n, o]), { remaining: f } = D(i, {
51
+ autoStart: i > 0 && !W(),
52
+ onElapsed: m
53
+ }), u = i > 0, B = d ? d(f) : r("finishedTerminal.autoClose", { seconds: f });
54
+ return /* @__PURE__ */ e(
55
+ "div",
56
+ {
57
+ ref: T,
58
+ "data-component": "finished-terminal",
59
+ className: [
60
+ "ds:flex ds:flex-1 ds:flex-col ds:items-center ds:overflow-y-auto ds:p-[var(--spacing-lg)]",
61
+ N
62
+ ].filter(Boolean).join(" "),
63
+ ...C,
64
+ children: /* @__PURE__ */ e(
65
+ w,
66
+ {
67
+ variant: "elevated",
68
+ className: "ds:my-auto ds:min-w-0 ds:[inline-size:100%] ds:max-w-[28rem] ds:text-center",
69
+ children: /* @__PURE__ */ e(w.Body, { children: /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-md)]", children: [
70
+ /* @__PURE__ */ e(
71
+ L,
72
+ {
73
+ "aria-hidden": "true",
74
+ className: "ds:size-12 ds:text-[var(--success)]"
75
+ }
76
+ ),
77
+ /* @__PURE__ */ e(
78
+ "h1",
79
+ {
80
+ ref: l,
81
+ tabIndex: -1,
82
+ className: "type-title-card ds:m-0 ds:outline-none",
83
+ children: s
84
+ }
85
+ ),
86
+ /* @__PURE__ */ e("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: t }),
87
+ u && R ? (
88
+ // Mounts once when closing begins → role="status" announces the
89
+ // hand-off exactly once (no churn).
90
+ /* @__PURE__ */ e(
91
+ "p",
92
+ {
93
+ role: "status",
94
+ className: "type-body-sm ds:m-0 ds:text-[var(--muted-foreground)]",
95
+ children: y ?? r("finishedTerminal.redirecting")
96
+ }
97
+ )
98
+ ) : u ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-sm)]", children: [
99
+ /* @__PURE__ */ e("p", { className: "type-body-sm ds:m-0 ds:text-[var(--muted-foreground)]", children: B }),
100
+ /* @__PURE__ */ e(
101
+ E,
102
+ {
103
+ intent: "secondary",
104
+ size: "lg",
105
+ type: "button",
106
+ onClick: m,
107
+ children: v ?? r("finishedTerminal.closeNow")
108
+ }
109
+ )
110
+ ] }) : null
111
+ ] }) })
112
+ }
113
+ )
114
+ }
115
+ );
116
+ }
117
+ );
118
+ I.displayName = "FinishedTerminal";
119
+ export {
120
+ I as F
121
+ };
122
+ //# sourceMappingURL=finished-terminal-VjZ_-eDD.js.map
@@ -0,0 +1,26 @@
1
+ import { useState as c, useRef as R, useEffect as o, useCallback as f } from "react";
2
+ function x(t, l = {}) {
3
+ const { autoStart: m = !0, onElapsed: u } = l, [a, s] = c(t), [e, i] = c(m), n = R(u);
4
+ o(() => {
5
+ n.current = u;
6
+ }, [u]);
7
+ const g = f(() => {
8
+ s(t), i(!0);
9
+ }, [t]), v = f(() => {
10
+ s(t), i(!1);
11
+ }, [t]);
12
+ return o(() => {
13
+ if (!e) return;
14
+ const r = setInterval(() => {
15
+ s((I) => Math.max(0, I - 1));
16
+ }, 1e3);
17
+ return () => clearInterval(r);
18
+ }, [e]), o(() => {
19
+ var r;
20
+ e && a <= 0 && (i(!1), (r = n.current) == null || r.call(n));
21
+ }, [e, a]), { remaining: a, isRunning: e, start: g, reset: v };
22
+ }
23
+ export {
24
+ x as u
25
+ };
26
+ //# sourceMappingURL=use-countdown-Yd6ts0_a.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "0.62.0",
3
+ "packageVersion": "0.63.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -1901,6 +1901,20 @@
1901
1901
  }
1902
1902
  }
1903
1903
  },
1904
+ {
1905
+ "kind": "component",
1906
+ "id": "finished-terminal",
1907
+ "capabilities": [],
1908
+ "state": [],
1909
+ "actions": [],
1910
+ "domHooks": {
1911
+ "root": {
1912
+ "attr": "data-component",
1913
+ "value": "finished-terminal",
1914
+ "description": "Marks the element as a kit FinishedTerminal."
1915
+ }
1916
+ }
1917
+ },
1904
1918
  {
1905
1919
  "kind": "component",
1906
1920
  "id": "fiscal-code-input",
@@ -0,0 +1,55 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ /**
3
+ * Gate for the URLs the terminal will navigate to. Allows only same-origin
4
+ * relative paths (`/…`) and explicit `http(s)` absolute URLs; rejects
5
+ * `javascript:` / `data:` / `vbscript:` and any other scheme.
6
+ *
7
+ * This terminal lives on public signing pages where `redirectUrl` may flow
8
+ * from a URL parameter, so a hostile `javascript:…` value must never reach
9
+ * `window.location.assign` (it would execute in the page). Exported for unit
10
+ * testing — it is NOT part of the public component API (`index.ts` does not
11
+ * re-export it).
12
+ */
13
+ export declare function isNavigableUrl(url: string): boolean;
14
+ export interface FinishedTerminalProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
15
+ /** Completion headline — consumer-provided, already translated. */
16
+ title: string;
17
+ /** Completion sub-message — consumer-provided, already translated. */
18
+ body: string;
19
+ /**
20
+ * Auto-close countdown, in seconds. Default `10`. Set `0` to disable the
21
+ * countdown entirely (a static success screen with no next-step).
22
+ */
23
+ autoCloseSeconds?: number;
24
+ /**
25
+ * Where to send the signer when the countdown elapses / "Close now" is
26
+ * pressed. When omitted, the terminal does a best-effort `window.close()`
27
+ * and falls back to `brandUrl`.
28
+ *
29
+ * @security Navigated to via `window.location.assign`. Only same-origin
30
+ * relative paths and `http(s)` absolute URLs are honoured — `javascript:` /
31
+ * `data:` values are dropped. Pass a value from trusted backend config.
32
+ */
33
+ redirectUrl?: string;
34
+ /**
35
+ * Brand-site fallback used when there is no `redirectUrl` and the
36
+ * best-effort `window.close()` is blocked. Default `https://www.alfadocs.com`.
37
+ *
38
+ * @security Same navigation gate as `redirectUrl`.
39
+ */
40
+ brandUrl?: string;
41
+ /**
42
+ * Override the default close/redirect behaviour (e.g. SPA routing, analytics,
43
+ * or a no-op in stories). When provided, the terminal does NO browser
44
+ * navigation of its own — it just calls this.
45
+ */
46
+ onClose?: () => void;
47
+ /** Override the countdown line (default `ui.finishedTerminal.autoClose`). */
48
+ countdownLabel?: (seconds: number) => string;
49
+ /** Override the "Close now" label (default `ui.finishedTerminal.closeNow`). */
50
+ closeNowLabel?: string;
51
+ /** Override the post-close line (default `ui.finishedTerminal.redirecting`). */
52
+ redirectingLabel?: string;
53
+ }
54
+ export declare const FinishedTerminal: import("react").ForwardRefExoticComponent<FinishedTerminalProps & import("react").RefAttributes<HTMLDivElement>>;
55
+ //# sourceMappingURL=finished-terminal.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { FinishedTerminal } from './finished-terminal';
2
+ export type { FinishedTerminalProps } from './finished-terminal';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ import { F as r } from "../../_chunks/finished-terminal-VjZ_-eDD.js";
2
+ export {
3
+ r as FinishedTerminal
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -96,6 +96,7 @@ export * from './alert';
96
96
  export * from './appointment-card';
97
97
  export * from './dialog';
98
98
  export * from './dropdown-menu';
99
+ export * from './finished-terminal';
99
100
  export * from './live-region';
100
101
  export * from './matrix-rain';
101
102
  export * from './message-card';
@@ -1,32 +1,33 @@
1
- import { u as L } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
2
- import { u as F } from "../_chunks/use-media-query-CcAx5SMM.js";
3
- import { u as R, a as _ } from "../_chunks/use-signing-session-CyOZWinp.js";
4
- import { u as w } from "../_chunks/use-count-up-BLLetaZ8.js";
5
- import { u as K } from "../_chunks/use-locale-BkCIHujH.js";
6
- import { A as H, T as Y, a as q, r as B, t as G, u as P } from "../_chunks/use-theme-CAuo6EYT.js";
7
- import { u as V } from "../_chunks/use-controllable-state-BiY4xTzM.js";
8
- import { u as z } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
9
- import { u as W } from "../_chunks/use-debounced-callback-BisrB-Fq.js";
10
- import { useState as b, useRef as E, useEffect as m, useCallback as x } from "react";
11
- import { u as N, a as X } from "../_chunks/use-direction-Dp8h70PP.js";
12
- import { u as $ } from "../_chunks/use-persistent-state-i23OWy6G.js";
13
- import { u as te } from "../_chunks/use-isomorphic-layout-effect-BGfaCOP1.js";
14
- import { u as ne } from "../_chunks/use-web-otp-D_utzp6S.js";
15
- import { u as ue } from "../_chunks/use-edge-resize-ZnGG7gyO.js";
16
- function C(e, u) {
17
- const [r, i] = b(e), n = E(null);
18
- return m(() => {
19
- if (u <= 0) {
20
- n.current !== null && (clearTimeout(n.current), n.current = null), i(e);
1
+ import { u as v } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
2
+ import { u as D } from "../_chunks/use-media-query-CcAx5SMM.js";
3
+ import { u as g, a as _ } from "../_chunks/use-signing-session-CyOZWinp.js";
4
+ import { u as I } from "../_chunks/use-count-up-BLLetaZ8.js";
5
+ import { u as R } from "../_chunks/use-locale-BkCIHujH.js";
6
+ import { A as K, T as H, a as M, r as Y, t as q, u as B } from "../_chunks/use-theme-CAuo6EYT.js";
7
+ import { u as P } from "../_chunks/use-controllable-state-BiY4xTzM.js";
8
+ import { u as V } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
9
+ import { u as z } from "../_chunks/use-debounced-callback-BisrB-Fq.js";
10
+ import { useState as x, useRef as b, useEffect as E } from "react";
11
+ import { u as W, a as J } from "../_chunks/use-direction-Dp8h70PP.js";
12
+ import { u as X } from "../_chunks/use-persistent-state-i23OWy6G.js";
13
+ import { u as $ } from "../_chunks/use-isomorphic-layout-effect-BGfaCOP1.js";
14
+ import { u as te } from "../_chunks/use-web-otp-D_utzp6S.js";
15
+ import { u as oe } from "../_chunks/use-edge-resize-ZnGG7gyO.js";
16
+ import { u as ne } from "../_chunks/use-countdown-Yd6ts0_a.js";
17
+ function h(e, o) {
18
+ const [t, i] = x(e), u = b(null);
19
+ return E(() => {
20
+ if (o <= 0) {
21
+ u.current !== null && (clearTimeout(u.current), u.current = null), i(e);
21
22
  return;
22
23
  }
23
24
  const s = setTimeout(() => {
24
- i(e), n.current = null;
25
- }, u);
26
- return n.current = s, () => clearTimeout(s);
27
- }, [e, u]), r;
25
+ i(e), u.current = null;
26
+ }, o);
27
+ return u.current = s, () => clearTimeout(s);
28
+ }, [e, o]), t;
28
29
  }
29
- const S = [
30
+ const T = [
30
31
  "a[href]",
31
32
  "button:not([disabled])",
32
33
  'input:not([disabled]):not([type="hidden"])',
@@ -37,96 +38,75 @@ const S = [
37
38
  "audio[controls]",
38
39
  "video[controls]"
39
40
  ].join(",");
40
- function T(e) {
41
+ function p(e) {
41
42
  return Array.from(
42
- e.querySelectorAll(S)
43
- ).filter((u) => {
44
- if (u.hidden) return !1;
45
- let r = u;
46
- for (; r; ) {
47
- if (r.hasAttribute("inert") || r.getAttribute("aria-hidden") === "true") return !1;
48
- r = r.parentElement;
43
+ e.querySelectorAll(T)
44
+ ).filter((o) => {
45
+ if (o.hidden) return !1;
46
+ let t = o;
47
+ for (; t; ) {
48
+ if (t.hasAttribute("inert") || t.getAttribute("aria-hidden") === "true") return !1;
49
+ t = t.parentElement;
49
50
  }
50
51
  return !0;
51
52
  });
52
53
  }
53
- function v(e, u = {}) {
54
- const { enabled: r = !0, autoFocus: i = !0, restoreFocus: n = !0 } = u, s = E(null);
55
- m(() => {
56
- if (!r) return;
57
- const o = e.current;
58
- if (!o) return;
54
+ function C(e, o = {}) {
55
+ const { enabled: t = !0, autoFocus: i = !0, restoreFocus: u = !0 } = o, s = b(null);
56
+ E(() => {
57
+ if (!t) return;
58
+ const a = e.current;
59
+ if (!a) return;
59
60
  if (s.current = typeof document < "u" && document.activeElement instanceof HTMLElement ? document.activeElement : null, i) {
60
- const a = T(o)[0] ?? (o.tabIndex >= -1 ? o : null);
61
- a == null || a.focus();
61
+ const n = p(a)[0] ?? (a.tabIndex >= -1 ? a : null);
62
+ n == null || n.focus();
62
63
  }
63
- function l(t) {
64
- if (t.key !== "Tab") return;
65
- const a = e.current;
66
- if (!a) return;
67
- const f = T(a);
68
- if (f.length === 0) {
69
- t.preventDefault();
64
+ function l(r) {
65
+ if (r.key !== "Tab") return;
66
+ const n = e.current;
67
+ if (!n) return;
68
+ const c = p(n);
69
+ if (c.length === 0) {
70
+ r.preventDefault();
70
71
  return;
71
72
  }
72
- const c = f[0], d = f[f.length - 1], p = document.activeElement;
73
- t.shiftKey ? (p === c || !a.contains(p)) && (t.preventDefault(), d.focus()) : (p === d || !a.contains(p)) && (t.preventDefault(), c.focus());
73
+ const d = c[0], m = c[c.length - 1], f = document.activeElement;
74
+ r.shiftKey ? (f === d || !n.contains(f)) && (r.preventDefault(), m.focus()) : (f === m || !n.contains(f)) && (r.preventDefault(), d.focus());
74
75
  }
75
- return o.addEventListener("keydown", l), () => {
76
- if (o.removeEventListener("keydown", l), n && s.current) {
77
- const t = s.current;
76
+ return a.addEventListener("keydown", l), () => {
77
+ if (a.removeEventListener("keydown", l), u && s.current) {
78
+ const r = s.current;
78
79
  requestAnimationFrame(() => {
79
- t.isConnected && t.focus();
80
+ r.isConnected && r.focus();
80
81
  });
81
82
  }
82
83
  };
83
- }, [r, i, n, e]);
84
- }
85
- function g(e, u = {}) {
86
- const { autoStart: r = !0, onElapsed: i } = u, [n, s] = b(e), [o, l] = b(r), t = E(i);
87
- m(() => {
88
- t.current = i;
89
- }, [i]);
90
- const a = x(() => {
91
- s(e), l(!0);
92
- }, [e]), f = x(() => {
93
- s(e), l(!1);
94
- }, [e]);
95
- return m(() => {
96
- if (!o) return;
97
- const c = setInterval(() => {
98
- s((d) => Math.max(0, d - 1));
99
- }, 1e3);
100
- return () => clearInterval(c);
101
- }, [o]), m(() => {
102
- var c;
103
- o && n <= 0 && (l(!1), (c = t.current) == null || c.call(t));
104
- }, [o, n]), { remaining: n, isRunning: o, start: a, reset: f };
84
+ }, [t, i, u, e]);
105
85
  }
106
86
  export {
107
- H as ACCESSIBILITY_STORAGE_KEY,
108
- Y as THEME_CLASS,
109
- q as THEME_STORAGE_KEY,
110
- B as resolveTheme,
111
- G as themeClassList,
112
- V as useControllableState,
113
- z as useCopyToClipboard,
114
- w as useCountUp,
115
- g as useCountdown,
116
- W as useDebouncedCallback,
117
- C as useDebouncedValue,
118
- N as useDirection,
119
- X as useDocumentDirection,
120
- ue as useEdgeResize,
121
- v as useFocusTrap,
122
- te as useIsomorphicLayoutEffect,
123
- K as useLocale,
124
- F as useMediaQuery,
125
- $ as usePersistentState,
126
- L as usePrefersReducedMotion,
127
- R as useScrollToFirstError,
87
+ K as ACCESSIBILITY_STORAGE_KEY,
88
+ H as THEME_CLASS,
89
+ M as THEME_STORAGE_KEY,
90
+ Y as resolveTheme,
91
+ q as themeClassList,
92
+ P as useControllableState,
93
+ V as useCopyToClipboard,
94
+ I as useCountUp,
95
+ ne as useCountdown,
96
+ z as useDebouncedCallback,
97
+ h as useDebouncedValue,
98
+ W as useDirection,
99
+ J as useDocumentDirection,
100
+ oe as useEdgeResize,
101
+ C as useFocusTrap,
102
+ $ as useIsomorphicLayoutEffect,
103
+ R as useLocale,
104
+ D as useMediaQuery,
105
+ X as usePersistentState,
106
+ v as usePrefersReducedMotion,
107
+ g as useScrollToFirstError,
128
108
  _ as useSigningSession,
129
- P as useTheme,
130
- ne as useWebOtp
109
+ B as useTheme,
110
+ te as useWebOtp
131
111
  };
132
112
  //# sourceMappingURL=index.js.map
@@ -1714,6 +1714,11 @@ export declare const arUi: {
1714
1714
  readonly invalidReturnUrl: "يجب أن يتطابق رابط العودة مع أصل هذا الموقع. لم يتم إرسال الدفع.";
1715
1715
  };
1716
1716
  };
1717
+ readonly finishedTerminal: {
1718
+ readonly autoClose: "ستُغلق هذه النافذة خلال {{seconds}} ثانية.";
1719
+ readonly closeNow: "إغلاق الآن";
1720
+ readonly redirecting: "جارٍ التحويل…";
1721
+ };
1717
1722
  readonly signatureField: {
1718
1723
  readonly prompt: "انقر للتوقيع";
1719
1724
  readonly unsigned: "وقّع هنا";
@@ -1697,6 +1697,11 @@ const e = {
1697
1697
  invalidReturnUrl: "يجب أن يتطابق رابط العودة مع أصل هذا الموقع. لم يتم إرسال الدفع."
1698
1698
  }
1699
1699
  },
1700
+ finishedTerminal: {
1701
+ autoClose: "ستُغلق هذه النافذة خلال {{seconds}} ثانية.",
1702
+ closeNow: "إغلاق الآن",
1703
+ redirecting: "جارٍ التحويل…"
1704
+ },
1700
1705
  signatureField: {
1701
1706
  prompt: "انقر للتوقيع",
1702
1707
  unsigned: "وقّع هنا",
@@ -1714,6 +1714,11 @@ export declare const deUi: {
1714
1714
  readonly invalidReturnUrl: "Die Rückleitungs-URL muss mit dem Ursprung dieser Website übereinstimmen. Die Zahlung wurde nicht gesendet.";
1715
1715
  };
1716
1716
  };
1717
+ readonly finishedTerminal: {
1718
+ readonly autoClose: "Dieser Tab wird in {{seconds}} Sek. geschlossen.";
1719
+ readonly closeNow: "Jetzt schließen";
1720
+ readonly redirecting: "Weiterleitung…";
1721
+ };
1717
1722
  readonly signatureField: {
1718
1723
  readonly prompt: "Zum Signieren klicken";
1719
1724
  readonly unsigned: "Hier unterschreiben";
@@ -1696,6 +1696,11 @@ const e = {
1696
1696
  invalidReturnUrl: "Die Rückleitungs-URL muss mit dem Ursprung dieser Website übereinstimmen. Die Zahlung wurde nicht gesendet."
1697
1697
  }
1698
1698
  },
1699
+ finishedTerminal: {
1700
+ autoClose: "Dieser Tab wird in {{seconds}} Sek. geschlossen.",
1701
+ closeNow: "Jetzt schließen",
1702
+ redirecting: "Weiterleitung…"
1703
+ },
1699
1704
  signatureField: {
1700
1705
  prompt: "Zum Signieren klicken",
1701
1706
  unsigned: "Hier unterschreiben",
@@ -1711,6 +1711,11 @@ export declare const elUi: {
1711
1711
  readonly invalidReturnUrl: "Η διεύθυνση URL επιστροφής πρέπει να αντιστοιχεί στην προέλευση αυτού του ιστότοπου. Η πληρωμή δεν υποβλήθηκε.";
1712
1712
  };
1713
1713
  };
1714
+ readonly finishedTerminal: {
1715
+ readonly autoClose: "Αυτή η καρτέλα θα κλείσει σε {{seconds}} δευτ.";
1716
+ readonly closeNow: "Κλείσιμο τώρα";
1717
+ readonly redirecting: "Ανακατεύθυνση…";
1718
+ };
1714
1719
  readonly signatureField: {
1715
1720
  readonly prompt: "Κάντε κλικ για υπογραφή";
1716
1721
  readonly unsigned: "Υπογράψτε εδώ";
@@ -1697,6 +1697,11 @@ const e = {
1697
1697
  invalidReturnUrl: "Η διεύθυνση URL επιστροφής πρέπει να αντιστοιχεί στην προέλευση αυτού του ιστότοπου. Η πληρωμή δεν υποβλήθηκε."
1698
1698
  }
1699
1699
  },
1700
+ finishedTerminal: {
1701
+ autoClose: "Αυτή η καρτέλα θα κλείσει σε {{seconds}} δευτ.",
1702
+ closeNow: "Κλείσιμο τώρα",
1703
+ redirecting: "Ανακατεύθυνση…"
1704
+ },
1700
1705
  signatureField: {
1701
1706
  prompt: "Κάντε κλικ για υπογραφή",
1702
1707
  unsigned: "Υπογράψτε εδώ",
@@ -1711,6 +1711,11 @@ export declare const enUi: {
1711
1711
  readonly invalidReturnUrl: "Return URL must match this site’s origin. The payment was not submitted.";
1712
1712
  };
1713
1713
  };
1714
+ readonly finishedTerminal: {
1715
+ readonly autoClose: "This tab will close in {{seconds}} sec.";
1716
+ readonly closeNow: "Close now";
1717
+ readonly redirecting: "Redirecting…";
1718
+ };
1714
1719
  readonly signatureField: {
1715
1720
  readonly prompt: "Click to sign";
1716
1721
  readonly unsigned: "Sign here";
@@ -1690,6 +1690,11 @@ const e = {
1690
1690
  invalidReturnUrl: "Return URL must match this site’s origin. The payment was not submitted."
1691
1691
  }
1692
1692
  },
1693
+ finishedTerminal: {
1694
+ autoClose: "This tab will close in {{seconds}} sec.",
1695
+ closeNow: "Close now",
1696
+ redirecting: "Redirecting…"
1697
+ },
1693
1698
  signatureField: {
1694
1699
  prompt: "Click to sign",
1695
1700
  unsigned: "Sign here",
@@ -1711,6 +1711,11 @@ export declare const esUi: {
1711
1711
  readonly invalidReturnUrl: "La URL de retorno debe coincidir con el origen de este sitio. El pago no se ha enviado.";
1712
1712
  };
1713
1713
  };
1714
+ readonly finishedTerminal: {
1715
+ readonly autoClose: "Esta pestaña se cerrará en {{seconds}} s.";
1716
+ readonly closeNow: "Cerrar ahora";
1717
+ readonly redirecting: "Redirigiendo…";
1718
+ };
1714
1719
  readonly signatureField: {
1715
1720
  readonly prompt: "Haz clic para firmar";
1716
1721
  readonly unsigned: "Firma aquí";
@@ -1696,6 +1696,11 @@ const e = {
1696
1696
  invalidReturnUrl: "La URL de retorno debe coincidir con el origen de este sitio. El pago no se ha enviado."
1697
1697
  }
1698
1698
  },
1699
+ finishedTerminal: {
1700
+ autoClose: "Esta pestaña se cerrará en {{seconds}} s.",
1701
+ closeNow: "Cerrar ahora",
1702
+ redirecting: "Redirigiendo…"
1703
+ },
1699
1704
  signatureField: {
1700
1705
  prompt: "Haz clic para firmar",
1701
1706
  unsigned: "Firma aquí",
@@ -1711,6 +1711,11 @@ export declare const frUi: {
1711
1711
  readonly invalidReturnUrl: "L'URL de retour doit correspondre à l'origine de ce site. Le paiement n'a pas été envoyé.";
1712
1712
  };
1713
1713
  };
1714
+ readonly finishedTerminal: {
1715
+ readonly autoClose: "Cet onglet se fermera dans {{seconds}} s.";
1716
+ readonly closeNow: "Fermer maintenant";
1717
+ readonly redirecting: "Redirection…";
1718
+ };
1714
1719
  readonly signatureField: {
1715
1720
  readonly prompt: "Cliquez pour signer";
1716
1721
  readonly unsigned: "Signez ici";
@@ -1696,6 +1696,11 @@ const e = {
1696
1696
  invalidReturnUrl: "L'URL de retour doit correspondre à l'origine de ce site. Le paiement n'a pas été envoyé."
1697
1697
  }
1698
1698
  },
1699
+ finishedTerminal: {
1700
+ autoClose: "Cet onglet se fermera dans {{seconds}} s.",
1701
+ closeNow: "Fermer maintenant",
1702
+ redirecting: "Redirection…"
1703
+ },
1699
1704
  signatureField: {
1700
1705
  prompt: "Cliquez pour signer",
1701
1706
  unsigned: "Signez ici",
@@ -1711,6 +1711,11 @@ export declare const hiUi: {
1711
1711
  readonly invalidReturnUrl: "रिटर्न URL इस साइट के मूल से मेल खाना चाहिए। भुगतान नहीं भेजा गया।";
1712
1712
  };
1713
1713
  };
1714
+ readonly finishedTerminal: {
1715
+ readonly autoClose: "यह टैब {{seconds}} सेकंड में बंद हो जाएगा।";
1716
+ readonly closeNow: "अभी बंद करें";
1717
+ readonly redirecting: "पुनर्निर्देशित किया जा रहा है…";
1718
+ };
1714
1719
  readonly signatureField: {
1715
1720
  readonly prompt: "हस्ताक्षर करने के लिए क्लिक करें";
1716
1721
  readonly unsigned: "यहाँ हस्ताक्षर करें";
@@ -1697,6 +1697,11 @@ const e = {
1697
1697
  invalidReturnUrl: "रिटर्न URL इस साइट के मूल से मेल खाना चाहिए। भुगतान नहीं भेजा गया।"
1698
1698
  }
1699
1699
  },
1700
+ finishedTerminal: {
1701
+ autoClose: "यह टैब {{seconds}} सेकंड में बंद हो जाएगा।",
1702
+ closeNow: "अभी बंद करें",
1703
+ redirecting: "पुनर्निर्देशित किया जा रहा है…"
1704
+ },
1700
1705
  signatureField: {
1701
1706
  prompt: "हस्ताक्षर करने के लिए क्लिक करें",
1702
1707
  unsigned: "यहाँ हस्ताक्षर करें",