powr-sdk-web 4.2.8 → 4.2.9

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 +121 -134
  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 _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); }
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); }
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); }
@@ -32,9 +32,7 @@ var PowrLogin = function PowrLogin(_ref) {
32
32
  appLogo = _ref.appLogo,
33
33
  _ref$mode = _ref.mode,
34
34
  mode = _ref$mode === void 0 ? 'toggle' : _ref$mode,
35
- projectId = _ref.projectId,
36
- _ref$fieldType = _ref.fieldType,
37
- fieldType = _ref$fieldType === void 0 ? 'both' : _ref$fieldType;
35
+ projectId = _ref.projectId;
38
36
  var _useState = (0, _react.useState)(function () {
39
37
  switch (mode) {
40
38
  case 'login':
@@ -50,8 +48,7 @@ var PowrLogin = function PowrLogin(_ref) {
50
48
  isLogin = _useState2[0],
51
49
  setIsLogin = _useState2[1];
52
50
  var _useState3 = (0, _react.useState)({
53
- phone: '',
54
- email: '',
51
+ phoneOrEmail: '',
55
52
  password: '',
56
53
  confirmPassword: '',
57
54
  fullName: ''
@@ -118,10 +115,6 @@ var PowrLogin = function PowrLogin(_ref) {
118
115
  _useState28 = _slicedToArray(_useState27, 2),
119
116
  firebaseConfirm = _useState28[0],
120
117
  setFirebaseConfirm = _useState28[1];
121
- var _useState29 = (0, _react.useState)(false),
122
- _useState30 = _slicedToArray(_useState29, 2),
123
- otpVerified = _useState30[0],
124
- setOtpVerified = _useState30[1];
125
118
  var shouldShowToggle = mode === 'toggle';
126
119
  var handleInputChange = /*#__PURE__*/function () {
127
120
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
@@ -190,7 +183,7 @@ var PowrLogin = function PowrLogin(_ref) {
190
183
  }();
191
184
  var verifyFirebaseOtp = /*#__PURE__*/function () {
192
185
  var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
193
- var _t2;
186
+ var result, _t2;
194
187
  return _regenerator().w(function (_context3) {
195
188
  while (1) switch (_context3.p = _context3.n) {
196
189
  case 0:
@@ -207,23 +200,24 @@ var PowrLogin = function PowrLogin(_ref) {
207
200
  _context3.n = 3;
208
201
  return firebaseConfirm.confirm(otp);
209
202
  case 3:
210
- setOtpVerified(true);
211
- setSuccess('OTP verified! Please set your password to complete registration.');
212
- _context3.n = 5;
213
- break;
203
+ result = _context3.v;
204
+ _context3.n = 4;
205
+ return handleSubmit(null, true);
214
206
  case 4:
215
- _context3.p = 4;
216
- _t2 = _context3.v;
217
- setError('Invalid OTP. Please try again.');
218
- setOtpVerified(false);
207
+ _context3.n = 6;
208
+ break;
219
209
  case 5:
220
210
  _context3.p = 5;
221
- setLoading(false);
222
- return _context3.f(5);
211
+ _t2 = _context3.v;
212
+ setError('Invalid OTP. Please try again.');
223
213
  case 6:
214
+ _context3.p = 6;
215
+ setLoading(false);
216
+ return _context3.f(6);
217
+ case 7:
224
218
  return _context3.a(2);
225
219
  }
226
- }, _callee3, null, [[1, 4, 5, 6]]);
220
+ }, _callee3, null, [[1, 5, 6, 7]]);
227
221
  }));
228
222
  return function verifyFirebaseOtp() {
229
223
  return _ref4.apply(this, arguments);
@@ -236,34 +230,44 @@ var PowrLogin = function PowrLogin(_ref) {
236
230
  return emailRegex.test(email);
237
231
  };
238
232
  var isValidPhone = function isValidPhone(phone) {
233
+ // Remove all non-digit characters
239
234
  var cleanPhone = phone.replace(/\D/g, '');
235
+ // Check if it's a valid phone number (7-15 digits)
240
236
  return cleanPhone.length >= 7 && cleanPhone.length <= 15;
241
237
  };
242
238
  var handleSubmit = /*#__PURE__*/function () {
243
239
  var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(e) {
244
- var errors, endpoint, phoneOrEmail, payload, _yield$apiCall, data, ok, _t3;
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;
245
252
  return _regenerator().w(function (_context4) {
246
253
  while (1) switch (_context4.p = _context4.n) {
247
254
  case 0:
255
+ skipPhoneValidation = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false;
248
256
  if (e) e.preventDefault();
249
257
  setLoading(true);
250
258
  setError('');
251
259
  setSuccess('');
252
260
  setFieldErrors({});
253
- errors = {}; // Validation for phone/email fields
254
- if (fieldType === 'phone' || fieldType === 'both') {
255
- if (!formData.phone.trim()) {
256
- errors.phone = 'Phone is required';
257
- } else if (!isValidPhone(formData.phone)) {
258
- errors.phone = 'Please enter a valid phone number';
259
- }
261
+ errors = {};
262
+ value = formData.phoneOrEmail.trim();
263
+ isEmail = value.includes('@');
264
+ if (!formData.phoneOrEmail.trim()) {
265
+ errors.phoneOrEmail = 'Phone or email is required';
260
266
  }
261
- if (fieldType === 'email' || fieldType === 'both') {
262
- if (!formData.email.trim()) {
263
- errors.email = 'Email is required';
264
- } else if (!isValidEmail(formData.email)) {
265
- errors.email = 'Please enter a valid email address';
266
- }
267
+ if (!isLogin && !isValidPhone(value)) {
268
+ errors.phoneOrEmail = 'Please enter a valid phone number';
269
+ } else if (isLogin && isEmail && !isValidEmail(value)) {
270
+ errors.phoneOrEmail = 'Please enter a valid email address';
267
271
  }
268
272
  if (!formData.password.trim()) {
269
273
  errors.password = 'Password is required';
@@ -273,7 +277,10 @@ var PowrLogin = function PowrLogin(_ref) {
273
277
  if (!isLogin && !formData.fullName.trim()) {
274
278
  errors.fullName = 'Full name is required';
275
279
  }
276
- if (!isLogin && fieldType === 'phone' && !otpVerified) {
280
+ if (!isLogin && formData.password !== formData.confirmPassword) {
281
+ errors.confirmPassword = 'Passwords do not match';
282
+ }
283
+ if (!isLogin && (!otp || !firebaseConfirm)) {
277
284
  errors.otp = 'Please verify OTP before signing up';
278
285
  }
279
286
  if (!(Object.keys(errors).length > 0)) {
@@ -284,30 +291,50 @@ var PowrLogin = function PowrLogin(_ref) {
284
291
  setLoading(false);
285
292
  return _context4.a(2);
286
293
  case 1:
287
- _context4.p = 1;
288
- endpoint = isLogin ? "/auth/login" : "/auth/register";
289
- phoneOrEmail = '';
290
- if (fieldType === 'phone') {
291
- phoneOrEmail = formData.phone;
292
- } else if (fieldType === 'email') {
293
- phoneOrEmail = formData.email;
294
- } else if (fieldType === 'both') {
295
- phoneOrEmail = formData.phone || formData.email;
294
+ if (isLogin) {
295
+ _context4.n = 7;
296
+ break;
296
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;
323
+ endpoint = isLogin ? "/auth/login" : "/auth/register";
297
324
  payload = isLogin ? {
298
- phoneOrEmail: phoneOrEmail,
325
+ phoneOrEmail: formData.phoneOrEmail,
299
326
  password: formData.password
300
327
  } : {
301
328
  fullName: formData.fullName,
302
- phoneOrEmail: phoneOrEmail,
329
+ phoneOrEmail: formData.phoneOrEmail,
303
330
  password: formData.password
304
331
  };
305
- _context4.n = 2;
332
+ _context4.n = 8;
306
333
  return (0, _auth.apiCall)(apiUrl, endpoint, projectId, {
307
334
  method: 'POST',
308
335
  body: payload
309
336
  });
310
- case 2:
337
+ case 8:
311
338
  _yield$apiCall = _context4.v;
312
339
  data = _yield$apiCall.data;
313
340
  ok = _yield$apiCall.ok;
@@ -319,8 +346,7 @@ var PowrLogin = function PowrLogin(_ref) {
319
346
  onRegister(data);
320
347
  }
321
348
  setFormData({
322
- phone: '',
323
- email: '',
349
+ phoneOrEmail: '',
324
350
  password: '',
325
351
  confirmPassword: '',
326
352
  fullName: ''
@@ -340,20 +366,20 @@ var PowrLogin = function PowrLogin(_ref) {
340
366
  setError("".concat(isLogin ? 'Login' : 'Registration', " failed. Please try again."));
341
367
  }
342
368
  }
343
- _context4.n = 4;
369
+ _context4.n = 10;
344
370
  break;
345
- case 3:
346
- _context4.p = 3;
347
- _t3 = _context4.v;
371
+ case 9:
372
+ _context4.p = 9;
373
+ _t4 = _context4.v;
348
374
  setError('Network error. Please try again.');
349
- case 4:
350
- _context4.p = 4;
375
+ case 10:
376
+ _context4.p = 10;
351
377
  setLoading(false);
352
- return _context4.f(4);
353
- case 5:
378
+ return _context4.f(10);
379
+ case 11:
354
380
  return _context4.a(2);
355
381
  }
356
- }, _callee4, null, [[1, 3, 4, 5]]);
382
+ }, _callee4, null, [[7, 9, 10, 11], [2, 6]]);
357
383
  }));
358
384
  return function handleSubmit(_x3) {
359
385
  return _ref5.apply(this, arguments);
@@ -375,7 +401,7 @@ var PowrLogin = function PowrLogin(_ref) {
375
401
  };
376
402
  var handleGetOtp = /*#__PURE__*/function () {
377
403
  var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
378
- var _yield$apiCall2, data, ok, _t4;
404
+ var _yield$apiCall2, data, ok, _t5;
379
405
  return _regenerator().w(function (_context5) {
380
406
  while (1) switch (_context5.p = _context5.n) {
381
407
  case 0:
@@ -414,7 +440,7 @@ var PowrLogin = function PowrLogin(_ref) {
414
440
  break;
415
441
  case 4:
416
442
  _context5.p = 4;
417
- _t4 = _context5.v;
443
+ _t5 = _context5.v;
418
444
  setError('Network error. Please try again.');
419
445
  case 5:
420
446
  _context5.p = 5;
@@ -476,32 +502,32 @@ var PowrLogin = function PowrLogin(_ref) {
476
502
  required: true
477
503
  }), fieldErrors.fullName && /*#__PURE__*/_react["default"].createElement("div", {
478
504
  style: styles.fieldError
479
- }, fieldErrors.fullName)), (fieldType === 'phone' || fieldType === 'both') && /*#__PURE__*/_react["default"].createElement("div", {
505
+ }, fieldErrors.fullName)), /*#__PURE__*/_react["default"].createElement("div", {
480
506
  style: styles.formGroup
481
507
  }, /*#__PURE__*/_react["default"].createElement("label", {
482
- htmlFor: "phone",
508
+ htmlFor: "phoneOrEmail",
483
509
  style: styles.label
484
- }, "Phone"), /*#__PURE__*/_react["default"].createElement("input", {
510
+ }, "Phone or Email"), /*#__PURE__*/_react["default"].createElement("input", {
485
511
  type: "text",
486
- id: "phone",
487
- name: "phone",
488
- value: formData.phone,
512
+ id: "phoneOrEmail",
513
+ name: "phoneOrEmail",
514
+ value: formData.phoneOrEmail,
489
515
  onChange: handleInputChange,
490
- style: _objectSpread(_objectSpread({}, styles.input), fieldErrors.phone ? styles.inputError : {}),
491
- placeholder: "Enter your phone number",
492
- required: fieldType === 'phone' || fieldType === 'both'
493
- }), fieldErrors.phone && /*#__PURE__*/_react["default"].createElement("div", {
516
+ style: _objectSpread(_objectSpread({}, styles.input), fieldErrors.phoneOrEmail ? styles.inputError : {}),
517
+ placeholder: "Enter your phone or email",
518
+ required: true
519
+ }), fieldErrors.phoneOrEmail && /*#__PURE__*/_react["default"].createElement("div", {
494
520
  style: styles.fieldError
495
- }, fieldErrors.phone), !isLogin && isValidPhone(formData.phone) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !firebaseOtpSent ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", {
521
+ }, fieldErrors.phoneOrEmail), !isLogin && isValidPhone(formData.phoneOrEmail) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !firebaseOtpSent ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", {
496
522
  type: "button",
497
523
  onClick: function onClick() {
498
- return sendFirebaseOtp(formatPhone(formData.phone));
524
+ return sendFirebaseOtp(formatPhone(formData.phoneOrEmail));
499
525
  },
500
526
  style: styles.otpButton,
501
527
  disabled: otpLoading
502
528
  }, otpLoading ? 'Sending OTP...' : 'Send OTP to Phone'), /*#__PURE__*/_react["default"].createElement("div", {
503
529
  id: "recaptcha-container"
504
- })) : !otpVerified ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
530
+ })) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
505
531
  htmlFor: "otp",
506
532
  style: styles.label
507
533
  }, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("input", {
@@ -520,28 +546,7 @@ var PowrLogin = function PowrLogin(_ref) {
520
546
  onClick: verifyFirebaseOtp,
521
547
  style: styles.otpButton,
522
548
  disabled: loading || !otp
523
- }, loading ? 'Verifying...' : 'Verify OTP')) : /*#__PURE__*/_react["default"].createElement("div", {
524
- style: {
525
- color: '#16a34a',
526
- marginBottom: 8
527
- }
528
- }, "OTP verified! Now set your password and sign up."))), (fieldType === 'email' || fieldType === 'both') && /*#__PURE__*/_react["default"].createElement("div", {
529
- style: styles.formGroup
530
- }, /*#__PURE__*/_react["default"].createElement("label", {
531
- htmlFor: "email",
532
- style: styles.label
533
- }, "Email"), /*#__PURE__*/_react["default"].createElement("input", {
534
- type: "email",
535
- id: "email",
536
- name: "email",
537
- value: formData.email,
538
- onChange: handleInputChange,
539
- style: _objectSpread(_objectSpread({}, styles.input), fieldErrors.email ? styles.inputError : {}),
540
- placeholder: "Enter your email",
541
- required: fieldType === 'email' || fieldType === 'both'
542
- }), fieldErrors.email && /*#__PURE__*/_react["default"].createElement("div", {
543
- style: styles.fieldError
544
- }, fieldErrors.email)), /*#__PURE__*/_react["default"].createElement("div", {
549
+ }, loading ? 'Verifying...' : 'Verify OTP & Sign Up')))), /*#__PURE__*/_react["default"].createElement("div", {
545
550
  style: styles.formGroup
546
551
  }, /*#__PURE__*/_react["default"].createElement("label", {
547
552
  htmlFor: "password",
@@ -556,16 +561,14 @@ var PowrLogin = function PowrLogin(_ref) {
556
561
  onChange: handleInputChange,
557
562
  style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.password ? styles.inputError : {}),
558
563
  placeholder: "Enter your password",
559
- required: true,
560
- disabled: !isLogin && !otpVerified
564
+ required: true
561
565
  }), /*#__PURE__*/_react["default"].createElement("button", {
562
566
  type: "button",
563
567
  onClick: function onClick() {
564
568
  return setShowPassword(!showPassword);
565
569
  },
566
570
  style: styles.eyeButton,
567
- tabIndex: -1,
568
- disabled: !isLogin && !otpVerified
571
+ tabIndex: -1
569
572
  }, showPassword ? /*#__PURE__*/_react["default"].createElement("span", {
570
573
  style: styles.eyeIcon
571
574
  }, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
@@ -587,16 +590,14 @@ var PowrLogin = function PowrLogin(_ref) {
587
590
  onChange: handleInputChange,
588
591
  style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.confirmPassword ? styles.inputError : {}),
589
592
  placeholder: "Confirm your password",
590
- required: true,
591
- disabled: !otpVerified
593
+ required: true
592
594
  }), /*#__PURE__*/_react["default"].createElement("button", {
593
595
  type: "button",
594
596
  onClick: function onClick() {
595
597
  return setShowConfirmPassword(!showConfirmPassword);
596
598
  },
597
599
  style: styles.eyeButton,
598
- tabIndex: -1,
599
- disabled: !otpVerified
600
+ tabIndex: -1
600
601
  }, showConfirmPassword ? /*#__PURE__*/_react["default"].createElement("span", {
601
602
  style: styles.eyeIcon
602
603
  }, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
@@ -619,35 +620,21 @@ var PowrLogin = function PowrLogin(_ref) {
619
620
  },
620
621
  style: styles.forgotPasswordLink
621
622
  }, "Forgot password?")), isLogin && showOtpOption && /*#__PURE__*/_react["default"].createElement("div", {
622
- style: styles.formGroup
623
- }, /*#__PURE__*/_react["default"].createElement("label", {
624
- htmlFor: "password",
625
- style: styles.label
626
- }, "Password"), /*#__PURE__*/_react["default"].createElement("div", {
627
- style: styles.passwordContainer
628
- }, /*#__PURE__*/_react["default"].createElement("input", {
629
- type: showPassword ? "text" : "password",
630
- id: "password",
631
- name: "password",
632
- value: formData.password,
633
- onChange: handleInputChange,
634
- style: _objectSpread(_objectSpread(_objectSpread({}, styles.input), styles.passwordInput), fieldErrors.password ? styles.inputError : {}),
635
- placeholder: "Enter your password",
636
- required: true
637
- }), /*#__PURE__*/_react["default"].createElement("button", {
623
+ style: styles.otpSection
624
+ }, /*#__PURE__*/_react["default"].createElement("p", {
625
+ style: styles.otpText
626
+ }, "Having trouble signing in? Get a one-time password sent to your phone or email."), /*#__PURE__*/_react["default"].createElement("button", {
638
627
  type: "button",
639
- onClick: function onClick() {
640
- return setShowPassword(!showPassword);
641
- },
642
- style: styles.eyeButton,
643
- tabIndex: -1
644
- }, showPassword ? /*#__PURE__*/_react["default"].createElement("span", {
645
- style: styles.eyeIcon
646
- }, "\uD83D\uDC41\uFE0F") : /*#__PURE__*/_react["default"].createElement("span", {
647
- style: styles.eyeIcon
648
- }, "\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F"))), fieldErrors.password && /*#__PURE__*/_react["default"].createElement("div", {
649
- style: styles.fieldError
650
- }, fieldErrors.password)), /*#__PURE__*/_react["default"].createElement("button", {
628
+ onClick: handleGetOtp,
629
+ disabled: otpLoading,
630
+ style: _objectSpread(_objectSpread({}, styles.otpButton), otpLoading ? styles.buttonDisabled : {})
631
+ }, otpLoading ? /*#__PURE__*/_react["default"].createElement("div", {
632
+ style: styles.spinner
633
+ }) : 'Get OTP')), error && /*#__PURE__*/_react["default"].createElement("div", {
634
+ style: styles.errorMessage
635
+ }, error), success && /*#__PURE__*/_react["default"].createElement("div", {
636
+ style: styles.successMessage
637
+ }, success), /*#__PURE__*/_react["default"].createElement("button", {
651
638
  type: "submit",
652
639
  disabled: loading,
653
640
  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.8",
3
+ "version": "4.2.9",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "build": "babel src -d dist --copy-files",