docthub-core-components 3.3.9 → 3.3.10
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.
- package/dist/components/overrides/ui/mobile-number-dialog/mobile-number-dialog.js +303 -287
- package/dist/components/overrides/ui/mobile-number-dialog/otp-dialog.js +63 -60
- package/dist/components/overrides/ui/mobile-number-dialog/presets.js +40 -39
- package/dist/src/components/overrides/ui/mobile-number-dialog/mobile-number-dialog.d.ts +1 -1
- package/dist/src/components/overrides/ui/mobile-number-dialog/presets.d.ts +2 -0
- package/dist/src/components/overrides/ui/mobile-number-dialog/types.d.ts +9 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,96 +1,99 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as t, jsxs as w } from "react/jsx-runtime";
|
|
3
|
-
import { c as
|
|
4
|
-
import { ArrowLeft as
|
|
3
|
+
import { c as z } from "react-compiler-runtime";
|
|
4
|
+
import { ArrowLeft as G } from "lucide-react";
|
|
5
5
|
import { CircularProgress as H } from "../circular-progress.js";
|
|
6
6
|
import { DoctButton as T } from "../../../ui/button.js";
|
|
7
|
-
import { DoctTypography as
|
|
7
|
+
import { DoctTypography as B } from "../../../ui/typography.js";
|
|
8
8
|
import { cn as P } from "../../../../lib/utils.js";
|
|
9
9
|
import { OtpInput as W } from "../inputs/otp-input.js";
|
|
10
|
-
import { MOBILE_NUMBER_DIALOG_OTP_RESEND_BUTTON_LABEL as
|
|
11
|
-
const
|
|
12
|
-
function
|
|
13
|
-
const e =
|
|
14
|
-
title:
|
|
15
|
-
onBack:
|
|
10
|
+
import { MOBILE_NUMBER_DIALOG_OTP_RESEND_BUTTON_LABEL as $, MOBILE_NUMBER_DIALOG_ICON_BUTTON_CLASS as V } from "./presets.js";
|
|
11
|
+
const q = "flex w-full flex-col overflow-hidden border border-black/[0.12] bg-white";
|
|
12
|
+
function J(y) {
|
|
13
|
+
const e = z(9), {
|
|
14
|
+
title: n,
|
|
15
|
+
onBack: o
|
|
16
16
|
} = y;
|
|
17
17
|
let r;
|
|
18
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ t(
|
|
18
|
+
e[0] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ t(G, { className: "size-6", "aria-hidden": !0 }), e[0] = r) : r = e[0];
|
|
19
19
|
let l;
|
|
20
|
-
e[1] !==
|
|
20
|
+
e[1] !== o ? (l = /* @__PURE__ */ t(T, { type: "button", variant: "ghost", onClick: o, className: V, "aria-label": "Go back", icon: r }), e[1] = o, e[2] = l) : l = e[2];
|
|
21
21
|
let i;
|
|
22
|
-
e[3] !==
|
|
22
|
+
e[3] !== n ? (i = /* @__PURE__ */ t("div", { className: "flex min-h-12 min-w-0 flex-1 items-center justify-center py-[18px]", children: /* @__PURE__ */ t(B, { as: "p", variant: "textLabel1", weight: "semiBold", align: "left", className: "min-w-0 !text-black/80", children: n }) }), e[3] = n, e[4] = i) : i = e[4];
|
|
23
23
|
let a;
|
|
24
|
-
|
|
24
|
+
e[5] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ t("div", { className: "size-12 shrink-0", "aria-hidden": !0 }), e[5] = a) : a = e[5];
|
|
25
|
+
let s;
|
|
26
|
+
return e[6] !== l || e[7] !== i ? (s = /* @__PURE__ */ w("div", { className: "flex w-full shrink-0 items-start justify-between overflow-hidden border-b border-black/10", children: [
|
|
25
27
|
l,
|
|
26
|
-
i
|
|
27
|
-
|
|
28
|
+
i,
|
|
29
|
+
a
|
|
30
|
+
] }), e[6] = l, e[7] = i, e[8] = s) : s = e[8], s;
|
|
28
31
|
}
|
|
29
|
-
function
|
|
30
|
-
const e =
|
|
31
|
-
headerTitle:
|
|
32
|
-
title:
|
|
32
|
+
function ae(y) {
|
|
33
|
+
const e = z(44), {
|
|
34
|
+
headerTitle: n,
|
|
35
|
+
title: o,
|
|
33
36
|
phoneDisplay: r,
|
|
34
37
|
otp: l,
|
|
35
38
|
onOtpChange: i,
|
|
36
39
|
onOtpSubmit: a,
|
|
37
|
-
onBack:
|
|
38
|
-
otpError:
|
|
39
|
-
canResend:
|
|
40
|
+
onBack: s,
|
|
41
|
+
otpError: O,
|
|
42
|
+
canResend: R,
|
|
40
43
|
onResend: E,
|
|
41
|
-
timerText:
|
|
44
|
+
timerText: S,
|
|
42
45
|
submitLabel: A,
|
|
43
|
-
isSubmitting:
|
|
46
|
+
isSubmitting: j,
|
|
44
47
|
className: C,
|
|
45
|
-
surface:
|
|
46
|
-
} = y,
|
|
47
|
-
let
|
|
48
|
-
e[0] !== C || e[1] !==
|
|
49
|
-
const
|
|
50
|
-
let c;
|
|
51
|
-
e[3] !== s || e[4] !== B ? (c = /* @__PURE__ */ t(q, { title: s, onBack: B }), e[3] = s, e[4] = B, e[5] = c) : c = e[5];
|
|
48
|
+
surface: U
|
|
49
|
+
} = y, D = R === void 0 ? !1 : R, c = j === void 0 ? !1 : j, I = U === "drawer" ? "h-auto max-w-none rounded-t-[16px]" : "!max-w-[384px] rounded-[16px] shadow-[0_8px_24px_rgba(0,0,0,0.12)]";
|
|
50
|
+
let L;
|
|
51
|
+
e[0] !== C || e[1] !== I ? (L = P(q, I, C), e[0] = C, e[1] = I, e[2] = L) : L = e[2];
|
|
52
|
+
const M = L;
|
|
52
53
|
let f;
|
|
53
|
-
e[
|
|
54
|
-
G.preventDefault(), a == null || a(l.join(""));
|
|
55
|
-
}, e[6] = a, e[7] = l, e[8] = f) : f = e[8];
|
|
54
|
+
e[3] !== n || e[4] !== s ? (f = /* @__PURE__ */ t(J, { title: n, onBack: s }), e[3] = n, e[4] = s, e[5] = f) : f = e[5];
|
|
56
55
|
let m;
|
|
57
|
-
e[
|
|
56
|
+
e[6] !== a || e[7] !== l ? (m = (F) => {
|
|
57
|
+
F.preventDefault(), a == null || a(l.join(""));
|
|
58
|
+
}, e[6] = a, e[7] = l, e[8] = m) : m = e[8];
|
|
58
59
|
let d;
|
|
59
|
-
e[
|
|
60
|
+
e[9] !== o ? (d = /* @__PURE__ */ t(B, { variant: "h6", weight: "extraBold", align: "left", className: "text-neutral-black", children: o }), e[9] = o, e[10] = d) : d = e[10];
|
|
60
61
|
let u;
|
|
61
|
-
e[
|
|
62
|
-
m,
|
|
63
|
-
d
|
|
64
|
-
] }), e[13] = m, e[14] = d, e[15] = u) : u = e[15];
|
|
65
|
-
let p;
|
|
66
|
-
e[16] !== i || e[17] !== l || e[18] !== D ? (p = /* @__PURE__ */ t(W, { autoFocus: !0, length: l.length, value: l, onChange: i, error: D, inputClassName: "!h-[44px] !w-[44px]" }), e[16] = i, e[17] = l, e[18] = D, e[19] = p) : p = e[19];
|
|
62
|
+
e[11] !== r ? (u = /* @__PURE__ */ t(B, { variant: "title2", align: "left", className: "text-neutral-black", children: r }), e[11] = r, e[12] = u) : u = e[12];
|
|
67
63
|
let h;
|
|
68
|
-
e[
|
|
64
|
+
e[13] !== d || e[14] !== u ? (h = /* @__PURE__ */ w("div", { className: "flex w-full flex-col gap-6", children: [
|
|
65
|
+
d,
|
|
66
|
+
u
|
|
67
|
+
] }), e[13] = d, e[14] = u, e[15] = h) : h = e[15];
|
|
68
|
+
let p;
|
|
69
|
+
e[16] !== i || e[17] !== l || e[18] !== O ? (p = /* @__PURE__ */ t(W, { autoFocus: !0, length: l.length, value: l, onChange: i, error: O, inputClassName: "!h-[44px] !w-[44px]" }), e[16] = i, e[17] = l, e[18] = O, e[19] = p) : p = e[19];
|
|
69
70
|
let x;
|
|
70
|
-
e[
|
|
71
|
-
p,
|
|
72
|
-
h
|
|
73
|
-
] }), e[24] = p, e[25] = h, e[26] = x) : x = e[26];
|
|
71
|
+
e[20] !== D || e[21] !== E || e[22] !== S ? (x = /* @__PURE__ */ t("div", { className: "flex min-h-7 items-center font-medium", children: D ? /* @__PURE__ */ t(T, { type: "button", variant: "outline", size: "small", onClick: E, className: "!h-[28px]", children: $ }) : /* @__PURE__ */ t(B, { variant: "textLabel3", align: "left", className: "text-neutral-black", children: S }) }), e[20] = D, e[21] = E, e[22] = S, e[23] = x) : x = e[23];
|
|
74
72
|
let b;
|
|
75
|
-
e[
|
|
76
|
-
|
|
73
|
+
e[24] !== p || e[25] !== x ? (b = /* @__PURE__ */ w("div", { className: "flex w-full flex-col gap-5", children: [
|
|
74
|
+
p,
|
|
77
75
|
x
|
|
78
|
-
] }), e[
|
|
76
|
+
] }), e[24] = p, e[25] = x, e[26] = b) : b = e[26];
|
|
79
77
|
let N;
|
|
80
|
-
e[
|
|
78
|
+
e[27] !== b || e[28] !== h ? (N = /* @__PURE__ */ w("div", { className: "flex w-full flex-col items-center gap-7 px-4 py-5", children: [
|
|
79
|
+
h,
|
|
80
|
+
b
|
|
81
|
+
] }), e[27] = b, e[28] = h, e[29] = N) : N = e[29];
|
|
81
82
|
let g;
|
|
82
|
-
e[
|
|
83
|
+
e[30] !== c || e[31] !== A ? (g = c ? /* @__PURE__ */ t(H, { size: 32, strokeWidth: 2 }) : A, e[30] = c, e[31] = A, e[32] = g) : g = e[32];
|
|
83
84
|
let v;
|
|
84
|
-
e[
|
|
85
|
-
b,
|
|
86
|
-
g
|
|
87
|
-
] }), e[36] = b, e[37] = g, e[38] = f, e[39] = v) : v = e[39];
|
|
85
|
+
e[33] !== c || e[34] !== g ? (v = /* @__PURE__ */ t("div", { className: "flex w-full flex-col items-start border-t border-black/10 bg-[#FAFAFA] p-4", children: /* @__PURE__ */ t(T, { type: "submit", variant: "primary", size: "large", fullWidth: !0, disabled: c, children: g }) }), e[33] = c, e[34] = g, e[35] = v) : v = e[35];
|
|
88
86
|
let _;
|
|
89
|
-
|
|
90
|
-
|
|
87
|
+
e[36] !== N || e[37] !== v || e[38] !== m ? (_ = /* @__PURE__ */ w("form", { className: "flex w-full flex-col", noValidate: !0, onSubmit: m, children: [
|
|
88
|
+
N,
|
|
91
89
|
v
|
|
92
|
-
] }), e[
|
|
90
|
+
] }), e[36] = N, e[37] = v, e[38] = m, e[39] = _) : _ = e[39];
|
|
91
|
+
let k;
|
|
92
|
+
return e[40] !== M || e[41] !== _ || e[42] !== f ? (k = /* @__PURE__ */ w("div", { className: M, children: [
|
|
93
|
+
f,
|
|
94
|
+
_
|
|
95
|
+
] }), e[40] = M, e[41] = _, e[42] = f, e[43] = k) : k = e[43], k;
|
|
93
96
|
}
|
|
94
97
|
export {
|
|
95
|
-
|
|
98
|
+
ae as MobileNumberDialogOtpSurface
|
|
96
99
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const
|
|
2
|
+
const L = "+91", o = "Enter number", e = "9825910X0X", i = "+91 9825910X0X", O = "user******@gmail.com", T = "Your mobile number required to complete certain actions as well as it's associated with security of your Docthub account.", s = {
|
|
3
3
|
action: "To continue..",
|
|
4
4
|
system: "Add mobile number"
|
|
5
|
-
},
|
|
5
|
+
}, A = {
|
|
6
6
|
action: "Add your mobile number",
|
|
7
7
|
system: "Keep your account secure"
|
|
8
|
-
},
|
|
9
|
-
function
|
|
8
|
+
}, N = "your accounts will be unified on login", u = "Login with Mobile", R = "6 digit OTP has been sent to your Mobile", U = "Resend code in: 00:59", D = "Resend Code", B = "Submit", P = "flex size-12 shrink-0 items-center justify-center rounded-full p-0 text-black/70 hover:bg-transparent active:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0";
|
|
9
|
+
function t(_) {
|
|
10
10
|
return `This number is already linked to a Docthub account (${_})`;
|
|
11
11
|
}
|
|
12
|
-
const
|
|
13
|
-
function
|
|
12
|
+
const I = t(O);
|
|
13
|
+
function c(_) {
|
|
14
14
|
return _ ? `Login with '${_}'` : "Login";
|
|
15
15
|
}
|
|
16
16
|
function M(_, n) {
|
|
@@ -26,46 +26,47 @@ const C = {
|
|
|
26
26
|
addNumber: "Save",
|
|
27
27
|
existingAccount: "Save"
|
|
28
28
|
}
|
|
29
|
-
},
|
|
30
|
-
function
|
|
29
|
+
}, r = "Add later";
|
|
30
|
+
function b(_) {
|
|
31
31
|
return _ === "existingAccount";
|
|
32
32
|
}
|
|
33
|
-
const
|
|
33
|
+
const l = A, a = L, F = I, d = T, m = O, G = i, S = e, g = o, f = s, h = N, H = C, Y = r, y = t, x = c, p = M;
|
|
34
34
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
35
|
+
l as ACCOUNT_CONFLICT_PROMPT_BODY_TITLE,
|
|
36
|
+
a as ACCOUNT_CONFLICT_PROMPT_DEFAULT_COUNTRY_CODE,
|
|
37
|
+
F as ACCOUNT_CONFLICT_PROMPT_DEFAULT_EXISTING_ACCOUNT_ERROR,
|
|
38
|
+
d as ACCOUNT_CONFLICT_PROMPT_DEFAULT_INFO_MESSAGE,
|
|
39
|
+
m as ACCOUNT_CONFLICT_PROMPT_DEFAULT_MASKED_EMAIL,
|
|
40
|
+
G as ACCOUNT_CONFLICT_PROMPT_DEFAULT_PHONE_DISPLAY,
|
|
41
|
+
S as ACCOUNT_CONFLICT_PROMPT_DEFAULT_PHONE_NUMBER,
|
|
42
|
+
g as ACCOUNT_CONFLICT_PROMPT_DEFAULT_PHONE_PLACEHOLDER,
|
|
43
|
+
f as ACCOUNT_CONFLICT_PROMPT_HEADER_TITLE,
|
|
44
|
+
h as ACCOUNT_CONFLICT_PROMPT_LOGIN_UNIFY_HINT,
|
|
45
|
+
H as ACCOUNT_CONFLICT_PROMPT_PRIMARY_LABEL,
|
|
46
|
+
Y as ACCOUNT_CONFLICT_PROMPT_SECONDARY_LABEL,
|
|
47
|
+
A as MOBILE_NUMBER_DIALOG_BODY_TITLE,
|
|
48
|
+
L as MOBILE_NUMBER_DIALOG_DEFAULT_COUNTRY_CODE,
|
|
49
|
+
I as MOBILE_NUMBER_DIALOG_DEFAULT_EXISTING_ACCOUNT_ERROR,
|
|
50
|
+
T as MOBILE_NUMBER_DIALOG_DEFAULT_INFO_MESSAGE,
|
|
51
51
|
O as MOBILE_NUMBER_DIALOG_DEFAULT_MASKED_EMAIL,
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
i as MOBILE_NUMBER_DIALOG_DEFAULT_PHONE_DISPLAY,
|
|
53
|
+
e as MOBILE_NUMBER_DIALOG_DEFAULT_PHONE_NUMBER,
|
|
54
54
|
o as MOBILE_NUMBER_DIALOG_DEFAULT_PHONE_PLACEHOLDER,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
s as MOBILE_NUMBER_DIALOG_HEADER_TITLE,
|
|
56
|
+
P as MOBILE_NUMBER_DIALOG_ICON_BUTTON_CLASS,
|
|
57
|
+
N as MOBILE_NUMBER_DIALOG_LOGIN_UNIFY_HINT,
|
|
58
|
+
u as MOBILE_NUMBER_DIALOG_OTP_HEADER_TITLE,
|
|
59
|
+
D as MOBILE_NUMBER_DIALOG_OTP_RESEND_BUTTON_LABEL,
|
|
60
|
+
U as MOBILE_NUMBER_DIALOG_OTP_RESEND_LABEL,
|
|
60
61
|
B as MOBILE_NUMBER_DIALOG_OTP_SUBMIT_LABEL,
|
|
61
|
-
|
|
62
|
+
R as MOBILE_NUMBER_DIALOG_OTP_TITLE,
|
|
62
63
|
C as MOBILE_NUMBER_DIALOG_PRIMARY_LABEL,
|
|
63
|
-
|
|
64
|
+
r as MOBILE_NUMBER_DIALOG_SECONDARY_LABEL,
|
|
64
65
|
y as buildExistingAccountError,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
t as buildExistingMobileNumberError,
|
|
67
|
+
c as buildLoginWithMobileNumberLabel,
|
|
68
|
+
x as buildLoginWithPhoneLabel,
|
|
68
69
|
M as buildMobileNumberDisplay,
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
p as buildPhoneDisplay,
|
|
71
|
+
b as isMobileNumberDialogPrimaryDisabled
|
|
71
72
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MobileNumberDialogProps } from './types';
|
|
2
|
-
export declare function MobileNumberDialog({ open, onOpenChange, trigger, state, headerTitle, bodyTitle, infoMessage, phoneNumber, onPhoneNumberChange, onCountryCodeChange, step, defaultStep, onStepChange, onExistingAccountLoginClick, phoneErrorMessage, onPrimaryClick, onSecondaryClick, isPrimaryLoading, maskedRecipient, otpHeaderTitle, onOtpBack, otpError, otpCanResend, onOtpResend, otpTimerText, isOtpSubmitting, otpValue, onOtpChange, otpLength, onOtpSubmit, otpTitle, otpResendLabel, otpSubmitLabel, existingAccountErrorMessage, phonePlaceholder, countryCode, icon, isMobileOverride, closeOnOutsideClick, className, }: MobileNumberDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function MobileNumberDialog({ open, onOpenChange, trigger, state, headerTitle, bodyTitle, infoMessage, phoneNumber, onPhoneNumberChange, onCountryCodeChange, countries, defaultCountry, onCountryChange, onValuesChange, step, defaultStep, onStepChange, onExistingAccountLoginClick, phoneErrorMessage, onPrimaryClick, onSecondaryClick, isPrimaryLoading, maskedRecipient, otpHeaderTitle, onOtpBack, otpError, otpCanResend, onOtpResend, otpTimerText, isOtpSubmitting, otpValue, onOtpChange, otpLength, onOtpSubmit, otpTitle, otpResendLabel, otpSubmitLabel, existingAccountErrorMessage, phonePlaceholder, countryCode, icon, isMobileOverride, closeOnOutsideClick, className, }: MobileNumberDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export declare const DoctMobileNumberDialog: typeof MobileNumberDialog;
|
|
4
4
|
/** @deprecated Use `MobileNumberDialog`. */
|
|
5
5
|
export declare const DoctAccountConflictPrompt: typeof MobileNumberDialog;
|
|
@@ -15,6 +15,8 @@ export declare const MOBILE_NUMBER_DIALOG_OTP_TITLE = "6 digit OTP has been sent
|
|
|
15
15
|
export declare const MOBILE_NUMBER_DIALOG_OTP_RESEND_LABEL = "Resend code in: 00:59";
|
|
16
16
|
export declare const MOBILE_NUMBER_DIALOG_OTP_RESEND_BUTTON_LABEL = "Resend Code";
|
|
17
17
|
export declare const MOBILE_NUMBER_DIALOG_OTP_SUBMIT_LABEL = "Submit";
|
|
18
|
+
/** Close/back icon buttons — suppress default ghost hover and focus ring. */
|
|
19
|
+
export declare const MOBILE_NUMBER_DIALOG_ICON_BUTTON_CLASS = "flex size-12 shrink-0 items-center justify-center rounded-full p-0 text-black/70 hover:bg-transparent active:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0";
|
|
18
20
|
export declare function buildExistingMobileNumberError(maskedEmail: string): string;
|
|
19
21
|
/** Default existing-account error copy for Storybook / demos. */
|
|
20
22
|
export declare const MOBILE_NUMBER_DIALOG_DEFAULT_EXISTING_ACCOUNT_ERROR: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { DoctPhoneInputProps } from '../inputs/phone-input';
|
|
2
3
|
/** Body class when drawer is open; lighter scrim in `index.css` (shared with login drawer). */
|
|
3
4
|
export declare const MOBILE_NUMBER_DIALOG_DRAWER_BACKDROP_CLASS = "login-drawer-backdrop";
|
|
4
5
|
/**
|
|
@@ -32,6 +33,14 @@ export interface MobileNumberDialogProps {
|
|
|
32
33
|
onPhoneNumberChange?: (phoneNumber: string) => void;
|
|
33
34
|
/** Called when the user changes the selected country calling code. */
|
|
34
35
|
onCountryCodeChange?: (countryCode: string) => void;
|
|
36
|
+
/** Country options supplied by the consumer app, for example from `/api/v1/country/country-code`. */
|
|
37
|
+
countries?: DoctPhoneInputProps["countries"];
|
|
38
|
+
/** Initial selected country for the phone input. */
|
|
39
|
+
defaultCountry?: DoctPhoneInputProps["defaultCountry"];
|
|
40
|
+
/** Called when the selected country object/code changes. */
|
|
41
|
+
onCountryChange?: DoctPhoneInputProps["onCountryChange"];
|
|
42
|
+
/** Called with `[countryCode, phoneNumber]` when either phone value changes. */
|
|
43
|
+
onValuesChange?: DoctPhoneInputProps["onValuesChange"];
|
|
35
44
|
/** Controlled view step. Use `otp` when authentication has moved to OTP verification. */
|
|
36
45
|
step?: MobileNumberDialogStep;
|
|
37
46
|
/** Initial uncontrolled view step. Default `mobileNumber`. */
|