powr-sdk-web 5.7.1 → 5.8.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.
- package/dist/auth/index.js +120 -32
- package/dist/components/PhoneInput.js +159 -0
- package/dist/index.js +80 -0
- package/dist/onboarding/AddPhonePanel.js +102 -79
- package/dist/onboarding/PowrOnboardingProvider.js +16 -2
- package/dist/onboarding/steps/addPhoneStep.js +5 -1
- package/dist/onboarding/steps/profileNameStep.js +3 -2
- package/dist/onboarding/utils.js +80 -8
- package/dist/powrVerify/index.js +73 -72
- package/dist/utils/phone.js +151 -0
- package/package.json +44 -43
|
@@ -8,6 +8,9 @@ exports["default"] = void 0;
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _firebase = require("../utils/firebase");
|
|
10
10
|
var _utils = require("./utils");
|
|
11
|
+
var _phone = require("../utils/phone");
|
|
12
|
+
var _PhoneInput = _interopRequireDefault(require("../components/PhoneInput"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t6 in e) "default" !== _t6 && {}.hasOwnProperty.call(e, _t6) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t6)) && (i.get || i.set) ? o(f, _t6, i) : f[_t6] = e[_t6]); return f; })(e, t); }
|
|
12
15
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
13
16
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
@@ -33,44 +36,69 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
33
36
|
onComplete = _ref.onComplete,
|
|
34
37
|
onBack = _ref.onBack,
|
|
35
38
|
_ref$requirePhoneVeri = _ref.requirePhoneVerification,
|
|
36
|
-
requirePhoneVerification = _ref$requirePhoneVeri === void 0 ? false : _ref$requirePhoneVeri
|
|
37
|
-
|
|
39
|
+
requirePhoneVerification = _ref$requirePhoneVeri === void 0 ? false : _ref$requirePhoneVeri,
|
|
40
|
+
defaultCountry = _ref.defaultCountry,
|
|
41
|
+
defaultCountryCode = _ref.defaultCountryCode,
|
|
42
|
+
_ref$international = _ref.international,
|
|
43
|
+
international = _ref$international === void 0 ? false : _ref$international,
|
|
44
|
+
_ref$allowedCountries = _ref.allowedCountries,
|
|
45
|
+
allowedCountries = _ref$allowedCountries === void 0 ? null : _ref$allowedCountries;
|
|
46
|
+
var resolvedCountry = (0, _phone.resolveCountry)(defaultCountry, defaultCountryCode);
|
|
47
|
+
var _useState = (0, _react.useState)(resolvedCountry),
|
|
38
48
|
_useState2 = _slicedToArray(_useState, 2),
|
|
39
|
-
|
|
40
|
-
|
|
49
|
+
phoneCountry = _useState2[0],
|
|
50
|
+
setPhoneCountry = _useState2[1];
|
|
41
51
|
var _useState3 = (0, _react.useState)(''),
|
|
42
52
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
43
|
-
|
|
44
|
-
|
|
53
|
+
localNumber = _useState4[0],
|
|
54
|
+
setLocalNumber = _useState4[1];
|
|
45
55
|
var _useState5 = (0, _react.useState)(false),
|
|
46
56
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var _useState7 = (0, _react.useState)(
|
|
57
|
+
phoneValid = _useState6[0],
|
|
58
|
+
setPhoneValid = _useState6[1];
|
|
59
|
+
var _useState7 = (0, _react.useState)(''),
|
|
50
60
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var _useState9 = (0, _react.useState)(
|
|
61
|
+
e164 = _useState8[0],
|
|
62
|
+
setE164 = _useState8[1];
|
|
63
|
+
var _useState9 = (0, _react.useState)(''),
|
|
54
64
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var _useState1 = (0, _react.useState)(
|
|
65
|
+
otp = _useState0[0],
|
|
66
|
+
setOtp = _useState0[1];
|
|
67
|
+
var _useState1 = (0, _react.useState)(false),
|
|
58
68
|
_useState10 = _slicedToArray(_useState1, 2),
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
var _useState11 = (0, _react.useState)(
|
|
69
|
+
loading = _useState10[0],
|
|
70
|
+
setLoading = _useState10[1];
|
|
71
|
+
var _useState11 = (0, _react.useState)(false),
|
|
62
72
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var _useState13 = (0, _react.useState)(
|
|
73
|
+
otpSent = _useState12[0],
|
|
74
|
+
setOtpSent = _useState12[1];
|
|
75
|
+
var _useState13 = (0, _react.useState)(null),
|
|
66
76
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
confirmationResult = _useState14[0],
|
|
78
|
+
setConfirmationResult = _useState14[1];
|
|
79
|
+
var _useState15 = (0, _react.useState)(''),
|
|
80
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
81
|
+
error = _useState16[0],
|
|
82
|
+
setError = _useState16[1];
|
|
83
|
+
var _useState17 = (0, _react.useState)(''),
|
|
84
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
85
|
+
success = _useState18[0],
|
|
86
|
+
setSuccess = _useState18[1];
|
|
87
|
+
var _useState19 = (0, _react.useState)(0),
|
|
88
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
89
|
+
resendTimer = _useState20[0],
|
|
90
|
+
setResendTimer = _useState20[1];
|
|
91
|
+
_react["default"].useEffect(function () {
|
|
92
|
+
if (resendTimer <= 0) return undefined;
|
|
93
|
+
var id = setInterval(function () {
|
|
94
|
+
setResendTimer(function (t) {
|
|
95
|
+
return t <= 1 ? 0 : t - 1;
|
|
96
|
+
});
|
|
97
|
+
}, 1000);
|
|
98
|
+
return function () {
|
|
99
|
+
return clearInterval(id);
|
|
100
|
+
};
|
|
101
|
+
}, [resendTimer]);
|
|
74
102
|
var clearRecaptcha = function clearRecaptcha() {
|
|
75
103
|
if (window.recaptchaVerifierAddPhone) {
|
|
76
104
|
try {
|
|
@@ -81,24 +109,23 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
81
109
|
window.recaptchaVerifierAddPhone = null;
|
|
82
110
|
}
|
|
83
111
|
};
|
|
84
|
-
|
|
112
|
+
_react["default"].useEffect(function () {
|
|
85
113
|
return function () {
|
|
86
114
|
return clearRecaptcha();
|
|
87
115
|
};
|
|
88
116
|
}, []);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}, [resendTimer]);
|
|
117
|
+
var handlePhoneChange = function handlePhoneChange(_ref2) {
|
|
118
|
+
var country = _ref2.country,
|
|
119
|
+
local = _ref2.localNumber,
|
|
120
|
+
formatted = _ref2.e164,
|
|
121
|
+
isValid = _ref2.isValid;
|
|
122
|
+
setPhoneCountry(country);
|
|
123
|
+
setLocalNumber(local);
|
|
124
|
+
setE164(formatted);
|
|
125
|
+
setPhoneValid(isValid);
|
|
126
|
+
};
|
|
100
127
|
var savePhone = /*#__PURE__*/function () {
|
|
101
|
-
var
|
|
128
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(formattedPhone) {
|
|
102
129
|
var userId, existing, email, _yield$updatePowrUser, ok, data;
|
|
103
130
|
return _regenerator().w(function (_context) {
|
|
104
131
|
while (1) switch (_context.n) {
|
|
@@ -144,11 +171,11 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
144
171
|
}, _callee);
|
|
145
172
|
}));
|
|
146
173
|
return function savePhone(_x) {
|
|
147
|
-
return
|
|
174
|
+
return _ref3.apply(this, arguments);
|
|
148
175
|
};
|
|
149
176
|
}();
|
|
150
177
|
var handleSaveWithoutOtp = /*#__PURE__*/function () {
|
|
151
|
-
var
|
|
178
|
+
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
152
179
|
var formattedPhone, updatedUser, _t;
|
|
153
180
|
return _regenerator().w(function (_context2) {
|
|
154
181
|
while (1) switch (_context2.p = _context2.n) {
|
|
@@ -157,15 +184,15 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
157
184
|
setError('');
|
|
158
185
|
setSuccess('');
|
|
159
186
|
_context2.p = 1;
|
|
160
|
-
|
|
187
|
+
formattedPhone = e164 || (0, _phone.normalizePhone)(localNumber, phoneCountry);
|
|
188
|
+
if (!(!phoneValid || !formattedPhone)) {
|
|
161
189
|
_context2.n = 2;
|
|
162
190
|
break;
|
|
163
191
|
}
|
|
164
|
-
setError('Please enter a valid
|
|
192
|
+
setError('Please enter a valid phone number');
|
|
165
193
|
setLoading(false);
|
|
166
194
|
return _context2.a(2);
|
|
167
195
|
case 2:
|
|
168
|
-
formattedPhone = formatPhone(phone);
|
|
169
196
|
_context2.n = 3;
|
|
170
197
|
return savePhone(formattedPhone);
|
|
171
198
|
case 3:
|
|
@@ -189,11 +216,11 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
189
216
|
}, _callee2, null, [[1, 4, 5, 6]]);
|
|
190
217
|
}));
|
|
191
218
|
return function handleSaveWithoutOtp() {
|
|
192
|
-
return
|
|
219
|
+
return _ref4.apply(this, arguments);
|
|
193
220
|
};
|
|
194
221
|
}();
|
|
195
222
|
var sendOtp = /*#__PURE__*/function () {
|
|
196
|
-
var
|
|
223
|
+
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
|
|
197
224
|
var phoneNumber, confirmation, _t2, _t3;
|
|
198
225
|
return _regenerator().w(function (_context3) {
|
|
199
226
|
while (1) switch (_context3.p = _context3.n) {
|
|
@@ -202,12 +229,12 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
202
229
|
setError('');
|
|
203
230
|
setSuccess('');
|
|
204
231
|
_context3.p = 1;
|
|
205
|
-
phoneNumber =
|
|
206
|
-
if (!(
|
|
232
|
+
phoneNumber = e164 || (0, _phone.formatPhoneForSms)(localNumber, phoneCountry);
|
|
233
|
+
if (!(!phoneValid || !phoneNumber)) {
|
|
207
234
|
_context3.n = 2;
|
|
208
235
|
break;
|
|
209
236
|
}
|
|
210
|
-
setError('Please enter a valid
|
|
237
|
+
setError('Please enter a valid phone number');
|
|
211
238
|
setLoading(false);
|
|
212
239
|
return _context3.a(2);
|
|
213
240
|
case 2:
|
|
@@ -252,11 +279,11 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
252
279
|
}, _callee3, null, [[3, 5], [1, 8, 9, 10]]);
|
|
253
280
|
}));
|
|
254
281
|
return function sendOtp() {
|
|
255
|
-
return
|
|
282
|
+
return _ref5.apply(this, arguments);
|
|
256
283
|
};
|
|
257
284
|
}();
|
|
258
285
|
var verifyOtp = /*#__PURE__*/function () {
|
|
259
|
-
var
|
|
286
|
+
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
|
|
260
287
|
var formattedPhone, updatedUser, _t4, _t5;
|
|
261
288
|
return _regenerator().w(function (_context4) {
|
|
262
289
|
while (1) switch (_context4.p = _context4.n) {
|
|
@@ -286,7 +313,7 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
286
313
|
_context4.p = 5;
|
|
287
314
|
_t4 = _context4.v;
|
|
288
315
|
case 6:
|
|
289
|
-
formattedPhone =
|
|
316
|
+
formattedPhone = e164 || (0, _phone.normalizePhone)(localNumber, phoneCountry);
|
|
290
317
|
_context4.n = 7;
|
|
291
318
|
return savePhone(formattedPhone);
|
|
292
319
|
case 7:
|
|
@@ -311,7 +338,7 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
311
338
|
}, _callee4, null, [[3, 5], [1, 8, 9, 10]]);
|
|
312
339
|
}));
|
|
313
340
|
return function verifyOtp() {
|
|
314
|
-
return
|
|
341
|
+
return _ref6.apply(this, arguments);
|
|
315
342
|
};
|
|
316
343
|
}();
|
|
317
344
|
var subtitle = requirePhoneVerification ? "".concat(appName, " uses your phone for sign-in. Verify your number to continue.") : "".concat(appName, " uses your phone for sign-in. Add your number to continue.");
|
|
@@ -323,23 +350,26 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
323
350
|
style: panelStyles.subtitle
|
|
324
351
|
}, subtitle), /*#__PURE__*/_react["default"].createElement("label", {
|
|
325
352
|
style: panelStyles.label
|
|
326
|
-
}, "Phone number"), /*#__PURE__*/_react["default"].createElement("
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
353
|
+
}, "Phone number"), /*#__PURE__*/_react["default"].createElement(_PhoneInput["default"], {
|
|
354
|
+
value: localNumber,
|
|
355
|
+
country: phoneCountry,
|
|
356
|
+
onChange: handlePhoneChange,
|
|
357
|
+
international: international,
|
|
358
|
+
allowedCountries: allowedCountries,
|
|
359
|
+
defaultCountry: resolvedCountry,
|
|
360
|
+
disabled: requirePhoneVerification && otpSent || loading,
|
|
361
|
+
placeholder: international ? 'Phone number' : '10-digit mobile number',
|
|
362
|
+
inputStyle: {
|
|
363
|
+
height: 46,
|
|
364
|
+
border: '1px solid #e5e7eb'
|
|
335
365
|
},
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
})
|
|
366
|
+
selectStyle: {
|
|
367
|
+
border: '1px solid #e5e7eb'
|
|
368
|
+
}
|
|
369
|
+
}), !requirePhoneVerification ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", {
|
|
340
370
|
type: "button",
|
|
341
371
|
onClick: handleSaveWithoutOtp,
|
|
342
|
-
disabled: loading ||
|
|
372
|
+
disabled: loading || !phoneValid,
|
|
343
373
|
style: panelStyles.primaryButton
|
|
344
374
|
}, loading ? 'Saving...' : 'Continue'), onBack && /*#__PURE__*/_react["default"].createElement("button", {
|
|
345
375
|
type: "button",
|
|
@@ -352,7 +382,7 @@ var AddPhonePanel = function AddPhonePanel(_ref) {
|
|
|
352
382
|
}, "Back to sign in")) : !otpSent ? /*#__PURE__*/_react["default"].createElement("button", {
|
|
353
383
|
type: "button",
|
|
354
384
|
onClick: sendOtp,
|
|
355
|
-
disabled: loading ||
|
|
385
|
+
disabled: loading || !phoneValid,
|
|
356
386
|
style: panelStyles.primaryButton
|
|
357
387
|
}, loading ? 'Sending...' : 'Send OTP') : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
358
388
|
style: _objectSpread(_objectSpread({}, panelStyles.label), {}, {
|
|
@@ -424,14 +454,6 @@ var panelStyles = {
|
|
|
424
454
|
alignItems: 'center',
|
|
425
455
|
marginBottom: 12
|
|
426
456
|
},
|
|
427
|
-
prefix: {
|
|
428
|
-
background: '#fff7ed',
|
|
429
|
-
color: '#7c2d12',
|
|
430
|
-
padding: '10px 12px',
|
|
431
|
-
borderRadius: 8,
|
|
432
|
-
fontWeight: 700,
|
|
433
|
-
border: '1px solid #ffedd5'
|
|
434
|
-
},
|
|
435
457
|
input: {
|
|
436
458
|
flex: 1,
|
|
437
459
|
padding: '12px 14px',
|
|
@@ -449,7 +471,8 @@ var panelStyles = {
|
|
|
449
471
|
borderRadius: 8,
|
|
450
472
|
cursor: 'pointer',
|
|
451
473
|
fontWeight: 700,
|
|
452
|
-
fontSize: 15
|
|
474
|
+
fontSize: 15,
|
|
475
|
+
marginTop: 12
|
|
453
476
|
},
|
|
454
477
|
smallPrimaryButton: {
|
|
455
478
|
padding: '12px 16px',
|
|
@@ -8,6 +8,7 @@ exports["default"] = void 0;
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _OnboardingShell = _interopRequireDefault(require("./OnboardingShell"));
|
|
10
10
|
var _utils = require("./utils");
|
|
11
|
+
var _phone = require("../utils/phone");
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
13
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -46,9 +47,18 @@ var PowrOnboardingProvider = function PowrOnboardingProvider(_ref) {
|
|
|
46
47
|
skip = _ref$skip === void 0 ? false : _ref$skip,
|
|
47
48
|
_ref$requirePhoneVeri = _ref.requirePhoneVerification,
|
|
48
49
|
requirePhoneVerification = _ref$requirePhoneVeri === void 0 ? false : _ref$requirePhoneVeri,
|
|
50
|
+
_ref$defaultCountry = _ref.defaultCountry,
|
|
51
|
+
defaultCountry = _ref$defaultCountry === void 0 ? _phone.DEFAULT_COUNTRY : _ref$defaultCountry,
|
|
52
|
+
_ref$defaultCountryCo = _ref.defaultCountryCode,
|
|
53
|
+
defaultCountryCode = _ref$defaultCountryCo === void 0 ? _phone.DEFAULT_COUNTRY_CODE : _ref$defaultCountryCo,
|
|
54
|
+
_ref$international = _ref.international,
|
|
55
|
+
international = _ref$international === void 0 ? false : _ref$international,
|
|
56
|
+
_ref$allowedCountries = _ref.allowedCountries,
|
|
57
|
+
allowedCountries = _ref$allowedCountries === void 0 ? null : _ref$allowedCountries,
|
|
49
58
|
onUserUpdate = _ref.onUserUpdate,
|
|
50
59
|
onAllComplete = _ref.onAllComplete,
|
|
51
60
|
children = _ref.children;
|
|
61
|
+
var resolvedDefaultCountry = (0, _phone.resolveCountry)(defaultCountry, defaultCountryCode);
|
|
52
62
|
var _useState = (0, _react.useState)(user),
|
|
53
63
|
_useState2 = _slicedToArray(_useState, 2),
|
|
54
64
|
localUser = _useState2[0],
|
|
@@ -75,9 +85,13 @@ var PowrOnboardingProvider = function PowrOnboardingProvider(_ref) {
|
|
|
75
85
|
apiUrl: apiUrl,
|
|
76
86
|
projectId: projectId,
|
|
77
87
|
appName: appName,
|
|
78
|
-
requirePhoneVerification: requirePhoneVerification
|
|
88
|
+
requirePhoneVerification: requirePhoneVerification,
|
|
89
|
+
defaultCountry: resolvedDefaultCountry,
|
|
90
|
+
defaultCountryCode: defaultCountryCode,
|
|
91
|
+
international: international,
|
|
92
|
+
allowedCountries: allowedCountries
|
|
79
93
|
};
|
|
80
|
-
}, [localUser, token, apiUrl, projectId, appName, requirePhoneVerification]);
|
|
94
|
+
}, [localUser, token, apiUrl, projectId, appName, requirePhoneVerification, resolvedDefaultCountry, defaultCountryCode, international, allowedCountries]);
|
|
81
95
|
var runEvaluation = (0, _react.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
82
96
|
var pending;
|
|
83
97
|
return _regenerator().w(function (_context) {
|
|
@@ -25,7 +25,11 @@ var AddPhoneStepView = function AddPhoneStepView(_ref) {
|
|
|
25
25
|
return _onComplete(updatedUser);
|
|
26
26
|
},
|
|
27
27
|
onBack: onBack,
|
|
28
|
-
requirePhoneVerification: ctx.requirePhoneVerification === true
|
|
28
|
+
requirePhoneVerification: ctx.requirePhoneVerification === true,
|
|
29
|
+
defaultCountry: ctx.defaultCountry,
|
|
30
|
+
defaultCountryCode: ctx.defaultCountryCode,
|
|
31
|
+
international: ctx.international === true,
|
|
32
|
+
allowedCountries: ctx.allowedCountries
|
|
29
33
|
});
|
|
30
34
|
};
|
|
31
35
|
var addPhoneStep = exports.addPhoneStep = {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.profileNameStep = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _utils = require("../utils");
|
|
10
|
+
var _phone = require("../../utils/phone");
|
|
10
11
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
11
12
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
12
13
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
@@ -37,7 +38,7 @@ var ProfileNameStepView = function ProfileNameStepView(_ref) {
|
|
|
37
38
|
setError = _useState6[1];
|
|
38
39
|
var handleSave = /*#__PURE__*/function () {
|
|
39
40
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
40
|
-
var trimmed, userId, _yield$updatePowrUser, ok, data, _t;
|
|
41
|
+
var trimmed, _ctx$user$phoneNumber, userId, _yield$updatePowrUser, ok, data, _t;
|
|
41
42
|
return _regenerator().w(function (_context) {
|
|
42
43
|
while (1) switch (_context.p = _context.n) {
|
|
43
44
|
case 0:
|
|
@@ -61,7 +62,7 @@ var ProfileNameStepView = function ProfileNameStepView(_ref) {
|
|
|
61
62
|
token: ctx.token,
|
|
62
63
|
body: {
|
|
63
64
|
fullName: trimmed,
|
|
64
|
-
phoneNumber: ctx.user.phoneNumber,
|
|
65
|
+
phoneNumber: (_ctx$user$phoneNumber = ctx.user.phoneNumber) !== null && _ctx$user$phoneNumber !== void 0 && _ctx$user$phoneNumber.includes('@') ? ctx.user.phoneNumber : (0, _phone.normalizePhone)(ctx.user.phoneNumber || '', ctx.defaultCountry),
|
|
65
66
|
email: ctx.user.email
|
|
66
67
|
}
|
|
67
68
|
});
|
package/dist/onboarding/utils.js
CHANGED
|
@@ -3,18 +3,96 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "DEFAULT_COUNTRY", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _phone.DEFAULT_COUNTRY;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "DEFAULT_COUNTRY_CODE", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _phone.DEFAULT_COUNTRY_CODE;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "PRIORITY_COUNTRIES", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _phone.PRIORITY_COUNTRIES;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "buildPhoneFromParts", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _phone.buildPhoneFromParts;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
6
30
|
exports.defineAppStep = defineAppStep;
|
|
7
31
|
exports.defineOptionalAppStep = defineOptionalAppStep;
|
|
8
32
|
exports.evaluateSteps = evaluateSteps;
|
|
33
|
+
Object.defineProperty(exports, "formatPhoneForSms", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
get: function get() {
|
|
36
|
+
return _phone.formatPhoneForSms;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(exports, "getCountryOptions", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function get() {
|
|
42
|
+
return _phone.getCountryOptions;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(exports, "getLocalPhoneNumber", {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: function get() {
|
|
48
|
+
return _phone.getLocalPhoneNumber;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(exports, "getPhoneLookupVariants", {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function get() {
|
|
54
|
+
return _phone.getPhoneLookupVariants;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
9
57
|
exports.getUserId = getUserId;
|
|
10
|
-
exports
|
|
58
|
+
Object.defineProperty(exports, "hasValidPhone", {
|
|
59
|
+
enumerable: true,
|
|
60
|
+
get: function get() {
|
|
61
|
+
return _phone.hasValidPhone;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(exports, "isValidPhone", {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
get: function get() {
|
|
67
|
+
return _phone.isValidPhone;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
11
70
|
exports.mergePowrSteps = mergePowrSteps;
|
|
12
71
|
exports.needsOnboarding = needsOnboarding;
|
|
13
72
|
exports.needsPhone = needsPhone;
|
|
14
73
|
exports.needsProfileName = needsProfileName;
|
|
74
|
+
Object.defineProperty(exports, "normalizePhone", {
|
|
75
|
+
enumerable: true,
|
|
76
|
+
get: function get() {
|
|
77
|
+
return _phone.normalizePhone;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
Object.defineProperty(exports, "parsePhone", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function get() {
|
|
83
|
+
return _phone.parsePhone;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(exports, "resolveCountry", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
get: function get() {
|
|
89
|
+
return _phone.resolveCountry;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
15
92
|
exports.updatePowrUser = updatePowrUser;
|
|
16
93
|
var _profileNameStep = require("./steps/profileNameStep");
|
|
17
94
|
var _addPhoneStep = require("./steps/addPhoneStep");
|
|
95
|
+
var _phone = require("../utils/phone");
|
|
18
96
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
19
97
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
20
98
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
@@ -32,19 +110,13 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
32
110
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
33
111
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
34
112
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
35
|
-
function hasValidPhone(phone) {
|
|
36
|
-
if (!phone || typeof phone !== 'string') return false;
|
|
37
|
-
if (phone.includes('@')) return false;
|
|
38
|
-
var clean = phone.replace(/\D/g, '');
|
|
39
|
-
return clean.length >= 10 && clean.length <= 15;
|
|
40
|
-
}
|
|
41
113
|
function getUserId(user) {
|
|
42
114
|
if (!user) return null;
|
|
43
115
|
var id = user.powrId || user._id || user.id;
|
|
44
116
|
return id ? String(id) : null;
|
|
45
117
|
}
|
|
46
118
|
function needsPhone(user) {
|
|
47
|
-
return !hasValidPhone(user === null || user === void 0 ? void 0 : user.phoneNumber);
|
|
119
|
+
return !(0, _phone.hasValidPhone)(user === null || user === void 0 ? void 0 : user.phoneNumber);
|
|
48
120
|
}
|
|
49
121
|
function needsProfileName(user) {
|
|
50
122
|
var _user$fullName;
|