summit-registration-lite 5.0.45-beta.2 → 5.0.46
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/index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
14
|
-
/***/
|
|
14
|
+
/***/ 590:
|
|
15
15
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
16
16
|
|
|
17
17
|
"use strict";
|
|
@@ -30,9 +30,12 @@ var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_pr
|
|
|
30
30
|
;// CONCATENATED MODULE: external "react-otp-input"
|
|
31
31
|
const external_react_otp_input_namespaceObject = require("react-otp-input");
|
|
32
32
|
var external_react_otp_input_default = /*#__PURE__*/__webpack_require__.n(external_react_otp_input_namespaceObject);
|
|
33
|
+
;// CONCATENATED MODULE: external "moment-timezone"
|
|
34
|
+
const external_moment_timezone_namespaceObject = require("moment-timezone");
|
|
35
|
+
var external_moment_timezone_default = /*#__PURE__*/__webpack_require__.n(external_moment_timezone_namespaceObject);
|
|
33
36
|
;// CONCATENATED MODULE: ./src/components/login-passwordless/index.module.scss
|
|
34
37
|
// extracted by mini-css-extract-plugin
|
|
35
|
-
/* harmony default export */ const index_module = ({"passwordlessWrapper":"passwordlessWrapper___BRQ_s","codeSent":"codeSent___NzYb_","innerWrapper":"innerWrapper___nRLDi","logo":"logo___qNVrv","logoDark":"logoDark___VVYee","digits":"digits___Vu5iy","codeInput":"codeInput___LnTZe","error":"error___wZflZ","verify":"verify___IBgMl","button":"button___nBhtQ","link":"link___f6fDT","resend":"resend___Nma1U","logoLight":"logoLight___vSbn_"});
|
|
38
|
+
/* harmony default export */ const index_module = ({"passwordlessWrapper":"passwordlessWrapper___BRQ_s","codeSent":"codeSent___NzYb_","innerWrapper":"innerWrapper___nRLDi","logo":"logo___qNVrv","logoDark":"logoDark___VVYee","digits":"digits___Vu5iy","codeInput":"codeInput___LnTZe","error":"error___wZflZ","verify":"verify___IBgMl","button":"button___nBhtQ","link":"link___f6fDT","resend":"resend___Nma1U","disabled":"disabled___fMnzY","logoLight":"logoLight___vSbn_"});
|
|
36
39
|
// EXTERNAL MODULE: ./src/assets/FNid_WHT_logo_rgb.svg
|
|
37
40
|
var FNid_WHT_logo_rgb = __webpack_require__(802);
|
|
38
41
|
var FNid_WHT_logo_rgb_default = /*#__PURE__*/__webpack_require__.n(FNid_WHT_logo_rgb);
|
|
@@ -41,6 +44,43 @@ var FNid_BLK_logo_rgb = __webpack_require__(107);
|
|
|
41
44
|
var FNid_BLK_logo_rgb_default = /*#__PURE__*/__webpack_require__.n(FNid_BLK_logo_rgb);
|
|
42
45
|
// EXTERNAL MODULE: ./src/utils/utils.js + 1 modules
|
|
43
46
|
var utils = __webpack_require__(452);
|
|
47
|
+
// EXTERNAL MODULE: ./src/utils/constants.js
|
|
48
|
+
var constants = __webpack_require__(243);
|
|
49
|
+
;// CONCATENATED MODULE: ./src/utils/hooks/useCountdown.js
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
const useCountdown = initialTime => {
|
|
53
|
+
const [countdown, setCountdown] = (0,external_react_.useState)(initialTime);
|
|
54
|
+
const intervalRef = (0,external_react_.useRef)(null);
|
|
55
|
+
|
|
56
|
+
const resetCountdown = newTime => {
|
|
57
|
+
const time = newTime !== undefined ? newTime : initialTime;
|
|
58
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
59
|
+
setCountdown(time);
|
|
60
|
+
|
|
61
|
+
if (time > 0) {
|
|
62
|
+
intervalRef.current = setInterval(() => {
|
|
63
|
+
setCountdown(prevCountdown => {
|
|
64
|
+
if (prevCountdown <= 1) {
|
|
65
|
+
clearInterval(intervalRef.current);
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return prevCountdown - 1;
|
|
70
|
+
});
|
|
71
|
+
}, 1000);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
(0,external_react_.useEffect)(() => {
|
|
76
|
+
// Initialize the countdown when the hook is first used
|
|
77
|
+
resetCountdown(initialTime);
|
|
78
|
+
return () => clearInterval(intervalRef.current);
|
|
79
|
+
}, [initialTime]);
|
|
80
|
+
return [countdown, resetCountdown];
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/* harmony default export */ const hooks_useCountdown = (useCountdown);
|
|
44
84
|
;// CONCATENATED MODULE: ./src/components/login-passwordless/index.js
|
|
45
85
|
/**
|
|
46
86
|
* Copyright 2020 OpenStack Foundation
|
|
@@ -62,9 +102,13 @@ var utils = __webpack_require__(452);
|
|
|
62
102
|
|
|
63
103
|
|
|
64
104
|
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
65
108
|
const PasswordlessLoginComponent = ({
|
|
66
109
|
email,
|
|
67
110
|
codeLength,
|
|
111
|
+
codeLifeTime,
|
|
68
112
|
passwordlessLogin,
|
|
69
113
|
loginWithCode,
|
|
70
114
|
codeError,
|
|
@@ -79,6 +123,13 @@ const PasswordlessLoginComponent = ({
|
|
|
79
123
|
const [otpError, setOtpError] = (0,external_react_.useState)(false);
|
|
80
124
|
const [codeSent, setCodeSent] = (0,external_react_.useState)(false);
|
|
81
125
|
const [isLoading, setIsLoading] = (0,external_react_.useState)(false);
|
|
126
|
+
const [resendCountdown, resetResendCountdown] = hooks_useCountdown(0);
|
|
127
|
+
const [lifetimeCountdown, resetLifetimeCountdown] = hooks_useCountdown(0);
|
|
128
|
+
(0,external_react_.useEffect)(() => {
|
|
129
|
+
if (codeLifeTime > 0) {
|
|
130
|
+
resetLifetimeCountdown(codeLifeTime);
|
|
131
|
+
}
|
|
132
|
+
}, [codeLifeTime]);
|
|
82
133
|
|
|
83
134
|
const tryPasswordlessLogin = code => {
|
|
84
135
|
if (code.length === codeLength) {
|
|
@@ -94,6 +145,7 @@ const PasswordlessLoginComponent = ({
|
|
|
94
145
|
getLoginCode(email, getPasswordlessCode).then(() => {
|
|
95
146
|
setCodeSent(true);
|
|
96
147
|
setTimeout(() => setCodeSent(false), 3000);
|
|
148
|
+
resetResendCountdown(constants/* RESEND_TIME */.Jr);
|
|
97
149
|
}).catch(err => {
|
|
98
150
|
(0,utils/* handleSentryException */.Gj)(err);
|
|
99
151
|
});
|
|
@@ -104,11 +156,14 @@ const PasswordlessLoginComponent = ({
|
|
|
104
156
|
tryPasswordlessLogin(otpCode);
|
|
105
157
|
};
|
|
106
158
|
|
|
159
|
+
const formatDuration = seconds => {
|
|
160
|
+
const duration = external_moment_timezone_default().duration(seconds, 'seconds');
|
|
161
|
+
return external_moment_timezone_default().utc(duration.asMilliseconds()).format('mm:ss');
|
|
162
|
+
};
|
|
163
|
+
|
|
107
164
|
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
108
165
|
className: `${index_module.passwordlessWrapper} step-wrapper`
|
|
109
|
-
}, /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null,
|
|
110
|
-
className: index_module.codeSent
|
|
111
|
-
}, "Code has been resent."), /*#__PURE__*/external_react_default().createElement("div", {
|
|
166
|
+
}, /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("div", {
|
|
112
167
|
className: `${index_module.innerWrapper}`
|
|
113
168
|
}, /*#__PURE__*/external_react_default().createElement("img", {
|
|
114
169
|
src: idpLogoDark || (FNid_BLK_logo_rgb_default()),
|
|
@@ -145,7 +200,11 @@ const PasswordlessLoginComponent = ({
|
|
|
145
200
|
}))), codeError && /*#__PURE__*/external_react_default().createElement("span", {
|
|
146
201
|
className: index_module.error,
|
|
147
202
|
"data-testid": "error"
|
|
148
|
-
}, "The code you entered it's incorrect. ", /*#__PURE__*/external_react_default().createElement("br", null), " Please try again."), /*#__PURE__*/external_react_default().createElement("
|
|
203
|
+
}, "The code you entered it's incorrect. ", /*#__PURE__*/external_react_default().createElement("br", null), " Please try again."), codeSent && /*#__PURE__*/external_react_default().createElement("p", {
|
|
204
|
+
className: index_module.codeSent
|
|
205
|
+
}, "Code has been resent."), lifetimeCountdown > 0 && /*#__PURE__*/external_react_default().createElement("p", {
|
|
206
|
+
className: index_module.codeSent
|
|
207
|
+
}, "Code expires in ", formatDuration(lifetimeCountdown), " minutes."), /*#__PURE__*/external_react_default().createElement("div", {
|
|
149
208
|
className: index_module.verify
|
|
150
209
|
}, /*#__PURE__*/external_react_default().createElement("button", {
|
|
151
210
|
className: `${index_module.button} button`,
|
|
@@ -158,16 +217,18 @@ const PasswordlessLoginComponent = ({
|
|
|
158
217
|
"data-testid": "go-back"
|
|
159
218
|
}, "try another way")))), /*#__PURE__*/external_react_default().createElement("div", {
|
|
160
219
|
className: index_module.resend
|
|
161
|
-
}, "Didn\u2019t receive it? Check your spam/junk folder, or
|
|
162
|
-
className: index_module.link
|
|
220
|
+
}, "Didn\u2019t receive it? Check your spam/junk folder, or\xA0", /*#__PURE__*/external_react_default().createElement("button", {
|
|
221
|
+
className: `${index_module.link} ${resendCountdown > 0 ? index_module.disabled : ''}`,
|
|
222
|
+
disabled: resendCountdown > 0,
|
|
163
223
|
onClick: () => resendCode(),
|
|
164
224
|
"data-testid": "resend"
|
|
165
|
-
}, "resend code"), "
|
|
225
|
+
}, "resend code ", ' ', " ", resendCountdown > 0 && /*#__PURE__*/external_react_default().createElement("span", null, "(", resendCountdown, ")")), "\xA0now.")));
|
|
166
226
|
};
|
|
167
227
|
|
|
168
228
|
PasswordlessLoginComponent.propTypes = {
|
|
169
229
|
email: (external_prop_types_default()).string.isRequired,
|
|
170
230
|
codeLength: (external_prop_types_default()).number.isRequired,
|
|
231
|
+
codeLifeTime: (external_prop_types_default()).number.isRequired,
|
|
171
232
|
passwordlessLogin: (external_prop_types_default()).func.isRequired,
|
|
172
233
|
loginWithCode: (external_prop_types_default()).func,
|
|
173
234
|
codeError: (external_prop_types_default()).bool,
|
|
@@ -487,6 +548,7 @@ const getTicketMaxQuantity = ticket => {
|
|
|
487
548
|
/* harmony export */ "G2": () => (/* binding */ ADD_TO_CART),
|
|
488
549
|
/* harmony export */ "GB": () => (/* binding */ TICKET_TYPE_SUBTYPE_PREPAID),
|
|
489
550
|
/* harmony export */ "I6": () => (/* binding */ VIEW_ITEM),
|
|
551
|
+
/* harmony export */ "Jr": () => (/* binding */ RESEND_TIME),
|
|
490
552
|
/* harmony export */ "K8": () => (/* binding */ VirtualAccessLevel),
|
|
491
553
|
/* harmony export */ "NR": () => (/* binding */ BEGIN_CHECKOUT),
|
|
492
554
|
/* harmony export */ "QN": () => (/* binding */ DefaultHintColor),
|
|
@@ -533,7 +595,8 @@ const ORDER_PAYMENT_METHOD_OFFLINE = 'Offline';
|
|
|
533
595
|
const STEP_SELECT_TICKET_TYPE = 0;
|
|
534
596
|
const STEP_PERSONAL_INFO = 1;
|
|
535
597
|
const STEP_PAYMENT = 2;
|
|
536
|
-
const STEP_COMPLETE = 3;
|
|
598
|
+
const STEP_COMPLETE = 3;
|
|
599
|
+
const RESEND_TIME = 60; // ANALYTICS
|
|
537
600
|
|
|
538
601
|
const VIEW_ITEM = 'view_item';
|
|
539
602
|
const ADD_TO_CART = 'add_to_cart';
|
|
@@ -1175,7 +1238,7 @@ const DELETE_RESERVATION_ERROR = 'DELETE_RESERVATION_ERROR';
|
|
|
1175
1238
|
const PAY_RESERVATION = 'PAY_RESERVATION';
|
|
1176
1239
|
const CLEAR_RESERVATION = 'CLEAR_RESERVATION';
|
|
1177
1240
|
const SET_PASSWORDLESS_LOGIN = 'SET_PASSWORDLESS_LOGIN';
|
|
1178
|
-
const
|
|
1241
|
+
const SET_PASSWORDLESS_SETTINGS = 'SET_PASSWORDLESS_SETTINGS';
|
|
1179
1242
|
const SET_PASSWORDLESS_ERROR = 'SET_PASSWORDLESS_ERROR';
|
|
1180
1243
|
const GO_TO_LOGIN = 'GO_TO_LOGIN';
|
|
1181
1244
|
const GET_MY_INVITATION = 'GET_MY_INVITATION';
|
|
@@ -1577,7 +1640,7 @@ const getLoginCode = (email, getPasswordlessCode) => async (dispatch, getState)
|
|
|
1577
1640
|
dispatch((0,actions_namespaceObject.createAction)(SET_PASSWORDLESS_LOGIN)(email));
|
|
1578
1641
|
return new Promise((resolve, reject) => {
|
|
1579
1642
|
getPasswordlessCode(email).then(res => {
|
|
1580
|
-
dispatch((0,actions_namespaceObject.createAction)(
|
|
1643
|
+
dispatch((0,actions_namespaceObject.createAction)(SET_PASSWORDLESS_SETTINGS)(res.response));
|
|
1581
1644
|
resolve(res);
|
|
1582
1645
|
}, err => {
|
|
1583
1646
|
const errorMessage = err.response?.body?.error || err.message;
|
|
@@ -1710,6 +1773,7 @@ const DEFAULT_STATE = {
|
|
|
1710
1773
|
passwordless: {
|
|
1711
1774
|
email: null,
|
|
1712
1775
|
otp_length: 0,
|
|
1776
|
+
otp_lifetime: 0,
|
|
1713
1777
|
code_sent: false,
|
|
1714
1778
|
error: false
|
|
1715
1779
|
},
|
|
@@ -1830,19 +1894,22 @@ const RegistrationLiteReducer = (state = DEFAULT_STATE, action) => {
|
|
|
1830
1894
|
return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
|
|
1831
1895
|
passwordless: reducer_objectSpread(reducer_objectSpread({}, state.passwordless), {}, {
|
|
1832
1896
|
email: payload,
|
|
1833
|
-
error: false
|
|
1897
|
+
error: false,
|
|
1898
|
+
otp_lifetime: 0
|
|
1834
1899
|
})
|
|
1835
1900
|
});
|
|
1836
1901
|
}
|
|
1837
1902
|
|
|
1838
|
-
case
|
|
1903
|
+
case SET_PASSWORDLESS_SETTINGS:
|
|
1839
1904
|
{
|
|
1840
1905
|
const {
|
|
1841
|
-
otp_length
|
|
1906
|
+
otp_length,
|
|
1907
|
+
otp_lifetime
|
|
1842
1908
|
} = payload;
|
|
1843
1909
|
return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
|
|
1844
1910
|
passwordless: reducer_objectSpread(reducer_objectSpread({}, state.passwordless), {}, {
|
|
1845
1911
|
otp_length,
|
|
1912
|
+
otp_lifetime,
|
|
1846
1913
|
code_sent: true,
|
|
1847
1914
|
error: false
|
|
1848
1915
|
})
|
|
@@ -3678,8 +3745,8 @@ const PurchaseComplete = _ref2 => {
|
|
|
3678
3745
|
};
|
|
3679
3746
|
|
|
3680
3747
|
/* harmony default export */ const purchase_complete = (PurchaseComplete);
|
|
3681
|
-
// EXTERNAL MODULE: ./src/components/login-passwordless/index.js +
|
|
3682
|
-
var login_passwordless = __webpack_require__(
|
|
3748
|
+
// EXTERNAL MODULE: ./src/components/login-passwordless/index.js + 4 modules
|
|
3749
|
+
var login_passwordless = __webpack_require__(590);
|
|
3683
3750
|
;// CONCATENATED MODULE: ./src/components/ticket-owned/index.module.scss
|
|
3684
3751
|
// extracted by mini-css-extract-plugin
|
|
3685
3752
|
/* harmony default export */ const ticket_owned_index_module = ({"ticketOwnedWrapper":"ticketOwnedWrapper___nhkDY","alert":"alert___c49oP"});
|
|
@@ -3789,7 +3856,7 @@ const TicketTaxesError = ({
|
|
|
3789
3856
|
|
|
3790
3857
|
/* harmony default export */ const ticket_taxes_error = (TicketTaxesError);
|
|
3791
3858
|
;// CONCATENATED MODULE: ./src/components/registration-lite.js
|
|
3792
|
-
const registration_lite_excluded = ["loadSession", "setMarketingSettings", "changeStep", "removeReservedTicket", "reserveTicket", "payTicketWithProvider", "trackEvent", "onPurchaseComplete", "getTicketTypesAndTaxes", "getLoginCode", "passwordlessLogin", "goToLogin", "loginOptions", "allowsNativeAuth", "allowsOtpAuth", "reservation", "checkout", "ticketTypes", "taxTypes", "step", "passwordlessCodeSent", "passwordlessEmail", "passwordlessCode", "getPasswordlessCode", "passwordlessCodeError", "loginWithCode", "goToExtraQuestions", "goToMyOrders", "goToEvent", "profileData", "summitData", "supportEmail", "ticketOwned", "ownedTickets", "widgetLoading", "loading", "inPersonDisclaimer", "userProfile", "handleCompanyError", "stripeOptions", "invitation", "loginInitialEmailInputValue", "getMyInvitation", "showMultipleTicketTexts", "noAllowedTicketsMessage", "ticketTaxesErrorMessage", "authErrorCallback", "clearWidgetState", "requestedTicketTypes", "allowPromoCodes", "showCompanyInput", "companyDDLPlaceholder", "nowUtc", "updateClock", "completedExtraQuestions", "loadProfileData", "closeWidget", "hasVirtualAccessLevel", "hidePostalCode", "idpLogoLight", "idpLogoDark", "idpLogoAlt", "showCompanyInputDefaultOptions", "companyDDLOptions2Show", "promoCode", "hasDiscount", "getTicketDiscount", "removePromoCode", "applyPromoCode", "validatePromoCode"];
|
|
3859
|
+
const registration_lite_excluded = ["loadSession", "setMarketingSettings", "changeStep", "removeReservedTicket", "reserveTicket", "payTicketWithProvider", "trackEvent", "onPurchaseComplete", "getTicketTypesAndTaxes", "getLoginCode", "passwordlessLogin", "goToLogin", "loginOptions", "allowsNativeAuth", "allowsOtpAuth", "reservation", "checkout", "ticketTypes", "taxTypes", "step", "passwordlessCodeSent", "passwordlessEmail", "passwordlessCode", "passwordlessCodeLifeTime", "getPasswordlessCode", "passwordlessCodeError", "loginWithCode", "goToExtraQuestions", "goToMyOrders", "goToEvent", "profileData", "summitData", "supportEmail", "ticketOwned", "ownedTickets", "widgetLoading", "loading", "inPersonDisclaimer", "userProfile", "handleCompanyError", "stripeOptions", "invitation", "loginInitialEmailInputValue", "getMyInvitation", "showMultipleTicketTexts", "noAllowedTicketsMessage", "ticketTaxesErrorMessage", "authErrorCallback", "clearWidgetState", "requestedTicketTypes", "allowPromoCodes", "showCompanyInput", "companyDDLPlaceholder", "nowUtc", "updateClock", "completedExtraQuestions", "loadProfileData", "closeWidget", "hasVirtualAccessLevel", "hidePostalCode", "idpLogoLight", "idpLogoDark", "idpLogoAlt", "showCompanyInputDefaultOptions", "companyDDLOptions2Show", "promoCode", "hasDiscount", "getTicketDiscount", "removePromoCode", "applyPromoCode", "validatePromoCode"];
|
|
3793
3860
|
|
|
3794
3861
|
function registration_lite_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3795
3862
|
|
|
@@ -3878,6 +3945,7 @@ const RegistrationLite = _ref => {
|
|
|
3878
3945
|
passwordlessCodeSent,
|
|
3879
3946
|
passwordlessEmail,
|
|
3880
3947
|
passwordlessCode,
|
|
3948
|
+
passwordlessCodeLifeTime,
|
|
3881
3949
|
getPasswordlessCode,
|
|
3882
3950
|
passwordlessCodeError,
|
|
3883
3951
|
loginWithCode,
|
|
@@ -4119,6 +4187,7 @@ const RegistrationLite = _ref => {
|
|
|
4119
4187
|
initialEmailValue: loginInitialEmailInputValue
|
|
4120
4188
|
}), !profileData && passwordlessCodeSent && /*#__PURE__*/external_react_default().createElement(login_passwordless["default"], {
|
|
4121
4189
|
codeLength: passwordlessCode,
|
|
4190
|
+
codeLifeTime: passwordlessCodeLifeTime,
|
|
4122
4191
|
email: passwordlessEmail,
|
|
4123
4192
|
passwordlessLogin: passwordlessLogin,
|
|
4124
4193
|
loginWithCode: loginWithCode,
|
|
@@ -4142,6 +4211,9 @@ const RegistrationLite = _ref => {
|
|
|
4142
4211
|
applyPromoCode: applyPromoCode,
|
|
4143
4212
|
removePromoCode: () => {
|
|
4144
4213
|
setFormErrors({});
|
|
4214
|
+
setFormValues(registration_lite_objectSpread(registration_lite_objectSpread({}, formValues), {}, {
|
|
4215
|
+
promoCode: ""
|
|
4216
|
+
}));
|
|
4145
4217
|
removePromoCode();
|
|
4146
4218
|
},
|
|
4147
4219
|
promoCode: promoCode,
|
|
@@ -4250,6 +4322,7 @@ const mapStateToProps = ({
|
|
|
4250
4322
|
step: registrationLiteState.step,
|
|
4251
4323
|
passwordlessEmail: registrationLiteState.passwordless.email,
|
|
4252
4324
|
passwordlessCode: registrationLiteState.passwordless.otp_length,
|
|
4325
|
+
passwordlessCodeLifeTime: registrationLiteState.passwordless.otp_lifetime,
|
|
4253
4326
|
passwordlessCodeSent: registrationLiteState.passwordless.code_sent,
|
|
4254
4327
|
passwordlessCodeError: registrationLiteState.passwordless.error,
|
|
4255
4328
|
nowUtc: registrationLiteState.nowUtc,
|