powr-sdk-web 4.2.4 → 4.2.6

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 (2) hide show
  1. package/dist/auth/index.js +77 -123
  2. package/package.json +1 -1
@@ -7,7 +7,7 @@ exports["default"] = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _auth = require("../utils/auth");
9
9
  var _firebase = require("../utils/firebase");
10
- 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); }
10
+ 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 _t5 in e) "default" !== _t5 && {}.hasOwnProperty.call(e, _t5) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t5)) && (i.get || i.set) ? o(f, _t5, i) : f[_t5] = e[_t5]); return f; })(e, t); }
11
11
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
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 }; })(); }
13
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); }
@@ -115,6 +115,10 @@ var PowrLogin = function PowrLogin(_ref) {
115
115
  _useState28 = _slicedToArray(_useState27, 2),
116
116
  firebaseConfirm = _useState28[0],
117
117
  setFirebaseConfirm = _useState28[1];
118
+ var _useState29 = (0, _react.useState)(false),
119
+ _useState30 = _slicedToArray(_useState29, 2),
120
+ otpVerified = _useState30[0],
121
+ setOtpVerified = _useState30[1];
118
122
  var shouldShowToggle = mode === 'toggle';
119
123
  var handleInputChange = /*#__PURE__*/function () {
120
124
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
@@ -183,7 +187,7 @@ var PowrLogin = function PowrLogin(_ref) {
183
187
  }();
184
188
  var verifyFirebaseOtp = /*#__PURE__*/function () {
185
189
  var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
186
- var result, _t2;
190
+ var _t2;
187
191
  return _regenerator().w(function (_context3) {
188
192
  while (1) switch (_context3.p = _context3.n) {
189
193
  case 0:
@@ -200,24 +204,23 @@ var PowrLogin = function PowrLogin(_ref) {
200
204
  _context3.n = 3;
201
205
  return firebaseConfirm.confirm(otp);
202
206
  case 3:
203
- result = _context3.v;
204
- _context3.n = 4;
205
- return handleSubmit(null, true);
206
- case 4:
207
- _context3.n = 6;
207
+ setOtpVerified(true);
208
+ setSuccess('OTP verified! Please set your password to complete registration.');
209
+ _context3.n = 5;
208
210
  break;
209
- case 5:
210
- _context3.p = 5;
211
+ case 4:
212
+ _context3.p = 4;
211
213
  _t2 = _context3.v;
212
214
  setError('Invalid OTP. Please try again.');
213
- case 6:
214
- _context3.p = 6;
215
+ setOtpVerified(false);
216
+ case 5:
217
+ _context3.p = 5;
215
218
  setLoading(false);
216
- return _context3.f(6);
217
- case 7:
219
+ return _context3.f(5);
220
+ case 6:
218
221
  return _context3.a(2);
219
222
  }
220
- }, _callee3, null, [[1, 5, 6, 7]]);
223
+ }, _callee3, null, [[1, 4, 5, 6]]);
221
224
  }));
222
225
  return function verifyFirebaseOtp() {
223
226
  return _ref4.apply(this, arguments);
@@ -237,22 +240,10 @@ var PowrLogin = function PowrLogin(_ref) {
237
240
  };
238
241
  var handleSubmit = /*#__PURE__*/function () {
239
242
  var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(e) {
240
- var skipPhoneValidation,
241
- errors,
242
- value,
243
- isEmail,
244
- endpoint,
245
- payload,
246
- _yield$apiCall,
247
- data,
248
- ok,
249
- _args4 = arguments,
250
- _t3,
251
- _t4;
243
+ var errors, value, isEmail, endpoint, payload, _yield$apiCall, data, ok, _t3;
252
244
  return _regenerator().w(function (_context4) {
253
245
  while (1) switch (_context4.p = _context4.n) {
254
246
  case 0:
255
- skipPhoneValidation = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false;
256
247
  if (e) e.preventDefault();
257
248
  setLoading(true);
258
249
  setError('');
@@ -280,7 +271,7 @@ var PowrLogin = function PowrLogin(_ref) {
280
271
  if (!isLogin && formData.password !== formData.confirmPassword) {
281
272
  errors.confirmPassword = 'Passwords do not match';
282
273
  }
283
- if (!isLogin && (!otp || !firebaseConfirm)) {
274
+ if (!isLogin && !otpVerified) {
284
275
  errors.otp = 'Please verify OTP before signing up';
285
276
  }
286
277
  if (!(Object.keys(errors).length > 0)) {
@@ -291,35 +282,7 @@ var PowrLogin = function PowrLogin(_ref) {
291
282
  setLoading(false);
292
283
  return _context4.a(2);
293
284
  case 1:
294
- if (isLogin) {
295
- _context4.n = 7;
296
- break;
297
- }
298
- _context4.p = 2;
299
- if (!(firebaseConfirm && otp)) {
300
- _context4.n = 4;
301
- break;
302
- }
303
- _context4.n = 3;
304
- return firebaseConfirm.confirm(otp);
305
- case 3:
306
- _context4.n = 5;
307
- break;
308
- case 4:
309
- setError('Please verify OTP before signing up');
310
- setLoading(false);
311
- return _context4.a(2);
312
- case 5:
313
- _context4.n = 7;
314
- break;
315
- case 6:
316
- _context4.p = 6;
317
- _t3 = _context4.v;
318
- setError('Invalid OTP. Please try again.');
319
- setLoading(false);
320
- return _context4.a(2);
321
- case 7:
322
- _context4.p = 7;
285
+ _context4.p = 1;
323
286
  endpoint = isLogin ? "/auth/login" : "/auth/register";
324
287
  payload = isLogin ? {
325
288
  phoneOrEmail: formData.phoneOrEmail,
@@ -329,12 +292,12 @@ var PowrLogin = function PowrLogin(_ref) {
329
292
  phoneOrEmail: formData.phoneOrEmail,
330
293
  password: formData.password
331
294
  };
332
- _context4.n = 8;
295
+ _context4.n = 2;
333
296
  return (0, _auth.apiCall)(apiUrl, endpoint, projectId, {
334
297
  method: 'POST',
335
298
  body: payload
336
299
  });
337
- case 8:
300
+ case 2:
338
301
  _yield$apiCall = _context4.v;
339
302
  data = _yield$apiCall.data;
340
303
  ok = _yield$apiCall.ok;
@@ -366,20 +329,20 @@ var PowrLogin = function PowrLogin(_ref) {
366
329
  setError("".concat(isLogin ? 'Login' : 'Registration', " failed. Please try again."));
367
330
  }
368
331
  }
369
- _context4.n = 10;
332
+ _context4.n = 4;
370
333
  break;
371
- case 9:
372
- _context4.p = 9;
373
- _t4 = _context4.v;
334
+ case 3:
335
+ _context4.p = 3;
336
+ _t3 = _context4.v;
374
337
  setError('Network error. Please try again.');
375
- case 10:
376
- _context4.p = 10;
338
+ case 4:
339
+ _context4.p = 4;
377
340
  setLoading(false);
378
- return _context4.f(10);
379
- case 11:
341
+ return _context4.f(4);
342
+ case 5:
380
343
  return _context4.a(2);
381
344
  }
382
- }, _callee4, null, [[7, 9, 10, 11], [2, 6]]);
345
+ }, _callee4, null, [[1, 3, 4, 5]]);
383
346
  }));
384
347
  return function handleSubmit(_x3) {
385
348
  return _ref5.apply(this, arguments);
@@ -401,7 +364,7 @@ var PowrLogin = function PowrLogin(_ref) {
401
364
  };
402
365
  var handleGetOtp = /*#__PURE__*/function () {
403
366
  var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
404
- var _yield$apiCall2, data, ok, _t5;
367
+ var _yield$apiCall2, data, ok, _t4;
405
368
  return _regenerator().w(function (_context5) {
406
369
  while (1) switch (_context5.p = _context5.n) {
407
370
  case 0:
@@ -440,7 +403,7 @@ var PowrLogin = function PowrLogin(_ref) {
440
403
  break;
441
404
  case 4:
442
405
  _context5.p = 4;
443
- _t5 = _context5.v;
406
+ _t4 = _context5.v;
444
407
  setError('Network error. Please try again.');
445
408
  case 5:
446
409
  _context5.p = 5;
@@ -502,39 +465,7 @@ var PowrLogin = function PowrLogin(_ref) {
502
465
  required: true
503
466
  }), fieldErrors.fullName && /*#__PURE__*/_react["default"].createElement("div", {
504
467
  style: styles.fieldError
505
- }, fieldErrors.fullName)), !isLogin && !firebaseOtpSent && isValidPhone(formData.phoneOrEmail) && /*#__PURE__*/_react["default"].createElement("div", {
506
- style: styles.formGroup
507
- }, /*#__PURE__*/_react["default"].createElement("button", {
508
- type: "button",
509
- onClick: function onClick() {
510
- return sendFirebaseOtp(formData.phoneOrEmail);
511
- },
512
- style: styles.otpButton,
513
- disabled: otpLoading
514
- }, otpLoading ? 'Sending OTP...' : 'Send OTP to Phone'), /*#__PURE__*/_react["default"].createElement("div", {
515
- id: "recaptcha-container"
516
- })), !isLogin && firebaseOtpSent && /*#__PURE__*/_react["default"].createElement("div", {
517
- style: styles.formGroup
518
- }, /*#__PURE__*/_react["default"].createElement("label", {
519
- htmlFor: "otp",
520
- style: styles.label
521
- }, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("input", {
522
- type: "text",
523
- id: "otp",
524
- name: "otp",
525
- value: otp,
526
- onChange: function onChange(e) {
527
- return setOtp(e.target.value);
528
- },
529
- style: styles.input,
530
- placeholder: "Enter OTP received",
531
- required: true
532
- }), /*#__PURE__*/_react["default"].createElement("button", {
533
- type: "button",
534
- onClick: verifyFirebaseOtp,
535
- style: styles.otpButton,
536
- disabled: loading || !otp
537
- }, loading ? 'Verifying...' : 'Verify OTP & Sign Up')), /*#__PURE__*/_react["default"].createElement("div", {
468
+ }, fieldErrors.fullName)), /*#__PURE__*/_react["default"].createElement("div", {
538
469
  style: styles.formGroup
539
470
  }, /*#__PURE__*/_react["default"].createElement("label", {
540
471
  htmlFor: "phoneOrEmail",
@@ -559,7 +490,7 @@ var PowrLogin = function PowrLogin(_ref) {
559
490
  disabled: otpLoading
560
491
  }, otpLoading ? 'Sending OTP...' : 'Send OTP to Phone'), /*#__PURE__*/_react["default"].createElement("div", {
561
492
  id: "recaptcha-container"
562
- })) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
493
+ })) : !otpVerified ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
563
494
  htmlFor: "otp",
564
495
  style: styles.label
565
496
  }, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("input", {
@@ -578,7 +509,12 @@ var PowrLogin = function PowrLogin(_ref) {
578
509
  onClick: verifyFirebaseOtp,
579
510
  style: styles.otpButton,
580
511
  disabled: loading || !otp
581
- }, loading ? 'Verifying...' : 'Verify OTP & Sign Up')))), /*#__PURE__*/_react["default"].createElement("div", {
512
+ }, loading ? 'Verifying...' : 'Verify OTP')) : /*#__PURE__*/_react["default"].createElement("div", {
513
+ style: {
514
+ color: '#16a34a',
515
+ marginBottom: 8
516
+ }
517
+ }, "OTP verified! Now set your password and sign up."))), /*#__PURE__*/_react["default"].createElement("div", {
582
518
  style: styles.formGroup
583
519
  }, /*#__PURE__*/_react["default"].createElement("label", {
584
520
  htmlFor: "password",
@@ -593,14 +529,16 @@ var PowrLogin = function PowrLogin(_ref) {
593
529
  onChange: handleInputChange,
594
530
  style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.password ? styles.inputError : {}),
595
531
  placeholder: "Enter your password",
596
- required: true
532
+ required: true,
533
+ disabled: !isLogin && !otpVerified
597
534
  }), /*#__PURE__*/_react["default"].createElement("button", {
598
535
  type: "button",
599
536
  onClick: function onClick() {
600
537
  return setShowPassword(!showPassword);
601
538
  },
602
539
  style: styles.eyeButton,
603
- tabIndex: -1
540
+ tabIndex: -1,
541
+ disabled: !isLogin && !otpVerified
604
542
  }, showPassword ? /*#__PURE__*/_react["default"].createElement("span", {
605
543
  style: styles.eyeIcon
606
544
  }, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
@@ -622,14 +560,16 @@ var PowrLogin = function PowrLogin(_ref) {
622
560
  onChange: handleInputChange,
623
561
  style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.confirmPassword ? styles.inputError : {}),
624
562
  placeholder: "Confirm your password",
625
- required: true
563
+ required: true,
564
+ disabled: !otpVerified
626
565
  }), /*#__PURE__*/_react["default"].createElement("button", {
627
566
  type: "button",
628
567
  onClick: function onClick() {
629
568
  return setShowConfirmPassword(!showConfirmPassword);
630
569
  },
631
570
  style: styles.eyeButton,
632
- tabIndex: -1
571
+ tabIndex: -1,
572
+ disabled: !otpVerified
633
573
  }, showConfirmPassword ? /*#__PURE__*/_react["default"].createElement("span", {
634
574
  style: styles.eyeIcon
635
575
  }, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
@@ -652,21 +592,35 @@ var PowrLogin = function PowrLogin(_ref) {
652
592
  },
653
593
  style: styles.forgotPasswordLink
654
594
  }, "Forgot password?")), isLogin && showOtpOption && /*#__PURE__*/_react["default"].createElement("div", {
655
- style: styles.otpSection
656
- }, /*#__PURE__*/_react["default"].createElement("p", {
657
- style: styles.otpText
658
- }, "Having trouble signing in? Get a one-time password sent to your phone or email."), /*#__PURE__*/_react["default"].createElement("button", {
595
+ style: styles.formGroup
596
+ }, /*#__PURE__*/_react["default"].createElement("label", {
597
+ htmlFor: "password",
598
+ style: styles.label
599
+ }, "Password"), /*#__PURE__*/_react["default"].createElement("div", {
600
+ style: styles.passwordContainer
601
+ }, /*#__PURE__*/_react["default"].createElement("input", {
602
+ type: showPassword ? "text" : "password",
603
+ id: "password",
604
+ name: "password",
605
+ value: formData.password,
606
+ onChange: handleInputChange,
607
+ style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.password ? styles.inputError : {}),
608
+ placeholder: "Enter your password",
609
+ required: true
610
+ }), /*#__PURE__*/_react["default"].createElement("button", {
659
611
  type: "button",
660
- onClick: handleGetOtp,
661
- disabled: otpLoading,
662
- style: _objectSpread(_objectSpread({}, styles.otpButton), otpLoading ? styles.buttonDisabled : {})
663
- }, otpLoading ? /*#__PURE__*/_react["default"].createElement("div", {
664
- style: styles.spinner
665
- }) : 'Get OTP')), error && /*#__PURE__*/_react["default"].createElement("div", {
666
- style: styles.errorMessage
667
- }, error), success && /*#__PURE__*/_react["default"].createElement("div", {
668
- style: styles.successMessage
669
- }, success), /*#__PURE__*/_react["default"].createElement("button", {
612
+ onClick: function onClick() {
613
+ return setShowPassword(!showPassword);
614
+ },
615
+ style: styles.eyeButton,
616
+ tabIndex: -1
617
+ }, showPassword ? /*#__PURE__*/_react["default"].createElement("span", {
618
+ style: styles.eyeIcon
619
+ }, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
620
+ style: styles.eyeIcon
621
+ }, "\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F"))), fieldErrors.password && /*#__PURE__*/_react["default"].createElement("div", {
622
+ style: styles.fieldError
623
+ }, fieldErrors.password)), /*#__PURE__*/_react["default"].createElement("button", {
670
624
  type: "submit",
671
625
  disabled: loading,
672
626
  style: _objectSpread(_objectSpread({}, styles.button), loading ? styles.buttonDisabled : {})
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-web",
3
- "version": "4.2.4",
3
+ "version": "4.2.6",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "build": "babel src -d dist --copy-files",