powr-sdk-web 4.2.2 → 4.2.4

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.
@@ -7,17 +7,17 @@ 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); }
14
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
15
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
16
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; }
17
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
16
  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; }
19
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
20
18
  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); }
19
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
20
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
21
21
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
22
22
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
23
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -84,6 +84,13 @@ var PowrLogin = function PowrLogin(_ref) {
84
84
  _useState16 = _slicedToArray(_useState15, 2),
85
85
  showTooltip = _useState16[0],
86
86
  setShowTooltip = _useState16[1];
87
+ var formatPhone = function formatPhone(phone) {
88
+ var clean = phone.replace(/\D/g, '');
89
+ if (!clean.startsWith('91')) {
90
+ clean = '91' + clean;
91
+ }
92
+ return '+' + clean;
93
+ };
87
94
  var _useState17 = (0, _react.useState)(false),
88
95
  _useState18 = _slicedToArray(_useState17, 2),
89
96
  showOtpOption = _useState18[0],
@@ -109,101 +116,111 @@ var PowrLogin = function PowrLogin(_ref) {
109
116
  firebaseConfirm = _useState28[0],
110
117
  setFirebaseConfirm = _useState28[1];
111
118
  var shouldShowToggle = mode === 'toggle';
112
- var handleInputChange = function handleInputChange(e) {
113
- var _e$target = e.target,
114
- name = _e$target.name,
115
- value = _e$target.value;
116
- setFormData(function (prev) {
117
- return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, value));
118
- });
119
- setError('');
120
- if (fieldErrors[name]) {
121
- setFieldErrors(function (prev) {
122
- return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, ''));
123
- });
124
- }
125
- };
119
+ var handleInputChange = /*#__PURE__*/function () {
120
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
121
+ var _e$target, name, value;
122
+ return _regenerator().w(function (_context) {
123
+ while (1) switch (_context.n) {
124
+ case 0:
125
+ _e$target = e.target, name = _e$target.name, value = _e$target.value;
126
+ setFormData(function (prev) {
127
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, value));
128
+ });
129
+ setError('');
130
+ if (fieldErrors[name]) {
131
+ setFieldErrors(function (prev) {
132
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, ''));
133
+ });
134
+ }
135
+ case 1:
136
+ return _context.a(2);
137
+ }
138
+ }, _callee);
139
+ }));
140
+ return function handleInputChange(_x) {
141
+ return _ref2.apply(this, arguments);
142
+ };
143
+ }();
126
144
  var sendFirebaseOtp = /*#__PURE__*/function () {
127
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(phone) {
145
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(phone) {
128
146
  var appVerifier, confirmationResult, _t;
129
- return _regenerator().w(function (_context) {
130
- while (1) switch (_context.p = _context.n) {
147
+ return _regenerator().w(function (_context2) {
148
+ while (1) switch (_context2.p = _context2.n) {
131
149
  case 0:
132
150
  setOtpLoading(true);
133
151
  setError('');
134
- _context.p = 1;
152
+ _context2.p = 1;
135
153
  if (!window.recaptchaVerifier) {
136
154
  window.recaptchaVerifier = new _firebase.RecaptchaVerifier(_firebase.auth, 'recaptcha-container', {
137
155
  size: 'invisible'
138
156
  });
139
157
  }
140
158
  appVerifier = window.recaptchaVerifier;
141
- _context.n = 2;
159
+ _context2.n = 2;
142
160
  return (0, _firebase.signInWithPhoneNumber)(_firebase.auth, phone, appVerifier);
143
161
  case 2:
144
- confirmationResult = _context.v;
162
+ confirmationResult = _context2.v;
145
163
  setFirebaseConfirm(confirmationResult);
146
164
  setFirebaseOtpSent(true);
147
165
  setSuccess('OTP sent to your phone!');
148
- _context.n = 4;
166
+ _context2.n = 4;
149
167
  break;
150
168
  case 3:
151
- _context.p = 3;
152
- _t = _context.v;
153
- setError('Failed to send OTP: ' + (_t.message || ''));
169
+ _context2.p = 3;
170
+ _t = _context2.v;
154
171
  case 4:
155
- _context.p = 4;
172
+ _context2.p = 4;
156
173
  setOtpLoading(false);
157
- return _context.f(4);
174
+ return _context2.f(4);
158
175
  case 5:
159
- return _context.a(2);
176
+ return _context2.a(2);
160
177
  }
161
- }, _callee, null, [[1, 3, 4, 5]]);
178
+ }, _callee2, null, [[1, 3, 4, 5]]);
162
179
  }));
163
- return function sendFirebaseOtp(_x) {
164
- return _ref2.apply(this, arguments);
180
+ return function sendFirebaseOtp(_x2) {
181
+ return _ref3.apply(this, arguments);
165
182
  };
166
183
  }();
167
184
  var verifyFirebaseOtp = /*#__PURE__*/function () {
168
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
185
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
169
186
  var result, _t2;
170
- return _regenerator().w(function (_context2) {
171
- while (1) switch (_context2.p = _context2.n) {
187
+ return _regenerator().w(function (_context3) {
188
+ while (1) switch (_context3.p = _context3.n) {
172
189
  case 0:
173
190
  setLoading(true);
174
191
  setError('');
175
- _context2.p = 1;
192
+ _context3.p = 1;
176
193
  if (firebaseConfirm) {
177
- _context2.n = 2;
194
+ _context3.n = 2;
178
195
  break;
179
196
  }
180
197
  setError('OTP not sent yet.');
181
- return _context2.a(2);
198
+ return _context3.a(2);
182
199
  case 2:
183
- _context2.n = 3;
200
+ _context3.n = 3;
184
201
  return firebaseConfirm.confirm(otp);
185
202
  case 3:
186
- result = _context2.v;
187
- _context2.n = 4;
203
+ result = _context3.v;
204
+ _context3.n = 4;
188
205
  return handleSubmit(null, true);
189
206
  case 4:
190
- _context2.n = 6;
207
+ _context3.n = 6;
191
208
  break;
192
209
  case 5:
193
- _context2.p = 5;
194
- _t2 = _context2.v;
210
+ _context3.p = 5;
211
+ _t2 = _context3.v;
195
212
  setError('Invalid OTP. Please try again.');
196
213
  case 6:
197
- _context2.p = 6;
214
+ _context3.p = 6;
198
215
  setLoading(false);
199
- return _context2.f(6);
216
+ return _context3.f(6);
200
217
  case 7:
201
- return _context2.a(2);
218
+ return _context3.a(2);
202
219
  }
203
- }, _callee2, null, [[1, 5, 6, 7]]);
220
+ }, _callee3, null, [[1, 5, 6, 7]]);
204
221
  }));
205
222
  return function verifyFirebaseOtp() {
206
- return _ref3.apply(this, arguments);
223
+ return _ref4.apply(this, arguments);
207
224
  };
208
225
  }();
209
226
 
@@ -219,39 +236,37 @@ var PowrLogin = function PowrLogin(_ref) {
219
236
  return cleanPhone.length >= 7 && cleanPhone.length <= 15;
220
237
  };
221
238
  var handleSubmit = /*#__PURE__*/function () {
222
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(e) {
239
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(e) {
223
240
  var skipPhoneValidation,
224
241
  errors,
225
- _value,
226
- _isEmail,
242
+ value,
243
+ isEmail,
227
244
  endpoint,
228
245
  payload,
229
246
  _yield$apiCall,
230
247
  data,
231
248
  ok,
232
- _args3 = arguments,
233
- _t3;
234
- return _regenerator().w(function (_context3) {
235
- while (1) switch (_context3.p = _context3.n) {
249
+ _args4 = arguments,
250
+ _t3,
251
+ _t4;
252
+ return _regenerator().w(function (_context4) {
253
+ while (1) switch (_context4.p = _context4.n) {
236
254
  case 0:
237
- skipPhoneValidation = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
255
+ skipPhoneValidation = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false;
238
256
  if (e) e.preventDefault();
239
257
  setLoading(true);
240
258
  setError('');
241
259
  setSuccess('');
242
260
  setFieldErrors({});
243
261
  errors = {};
262
+ value = formData.phoneOrEmail.trim();
263
+ isEmail = value.includes('@');
244
264
  if (!formData.phoneOrEmail.trim()) {
245
265
  errors.phoneOrEmail = 'Phone or email is required';
246
- } else {
247
- _value = formData.phoneOrEmail.trim();
248
- _isEmail = _value.includes('@');
249
266
  }
250
- if (!isEmail && !skipPhoneValidation) {
251
- if (!isValidPhone(value)) {
252
- errors.phoneOrEmail = 'Please enter a valid phone number';
253
- }
254
- } else if (isEmail && !isValidEmail(value)) {
267
+ if (!isLogin && !isValidPhone(value)) {
268
+ errors.phoneOrEmail = 'Please enter a valid phone number';
269
+ } else if (isLogin && isEmail && !isValidEmail(value)) {
255
270
  errors.phoneOrEmail = 'Please enter a valid email address';
256
271
  }
257
272
  if (!formData.password.trim()) {
@@ -265,15 +280,46 @@ var PowrLogin = function PowrLogin(_ref) {
265
280
  if (!isLogin && formData.password !== formData.confirmPassword) {
266
281
  errors.confirmPassword = 'Passwords do not match';
267
282
  }
283
+ if (!isLogin && (!otp || !firebaseConfirm)) {
284
+ errors.otp = 'Please verify OTP before signing up';
285
+ }
268
286
  if (!(Object.keys(errors).length > 0)) {
269
- _context3.n = 1;
287
+ _context4.n = 1;
270
288
  break;
271
289
  }
272
290
  setFieldErrors(errors);
273
291
  setLoading(false);
274
- return _context3.a(2);
292
+ return _context4.a(2);
275
293
  case 1:
276
- _context3.p = 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;
277
323
  endpoint = isLogin ? "/auth/login" : "/auth/register";
278
324
  payload = isLogin ? {
279
325
  phoneOrEmail: formData.phoneOrEmail,
@@ -283,13 +329,13 @@ var PowrLogin = function PowrLogin(_ref) {
283
329
  phoneOrEmail: formData.phoneOrEmail,
284
330
  password: formData.password
285
331
  };
286
- _context3.n = 2;
332
+ _context4.n = 8;
287
333
  return (0, _auth.apiCall)(apiUrl, endpoint, projectId, {
288
334
  method: 'POST',
289
335
  body: payload
290
336
  });
291
- case 2:
292
- _yield$apiCall = _context3.v;
337
+ case 8:
338
+ _yield$apiCall = _context4.v;
293
339
  data = _yield$apiCall.data;
294
340
  ok = _yield$apiCall.ok;
295
341
  if (ok) {
@@ -320,23 +366,23 @@ var PowrLogin = function PowrLogin(_ref) {
320
366
  setError("".concat(isLogin ? 'Login' : 'Registration', " failed. Please try again."));
321
367
  }
322
368
  }
323
- _context3.n = 4;
369
+ _context4.n = 10;
324
370
  break;
325
- case 3:
326
- _context3.p = 3;
327
- _t3 = _context3.v;
371
+ case 9:
372
+ _context4.p = 9;
373
+ _t4 = _context4.v;
328
374
  setError('Network error. Please try again.');
329
- case 4:
330
- _context3.p = 4;
375
+ case 10:
376
+ _context4.p = 10;
331
377
  setLoading(false);
332
- return _context3.f(4);
333
- case 5:
334
- return _context3.a(2);
378
+ return _context4.f(10);
379
+ case 11:
380
+ return _context4.a(2);
335
381
  }
336
- }, _callee3, null, [[1, 3, 4, 5]]);
382
+ }, _callee4, null, [[7, 9, 10, 11], [2, 6]]);
337
383
  }));
338
- return function handleSubmit(_x2) {
339
- return _ref4.apply(this, arguments);
384
+ return function handleSubmit(_x3) {
385
+ return _ref5.apply(this, arguments);
340
386
  };
341
387
  }();
342
388
  var toggleMode = function toggleMode() {
@@ -354,25 +400,25 @@ var PowrLogin = function PowrLogin(_ref) {
354
400
  });
355
401
  };
356
402
  var handleGetOtp = /*#__PURE__*/function () {
357
- var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
358
- var _yield$apiCall2, data, ok, _t4;
359
- return _regenerator().w(function (_context4) {
360
- while (1) switch (_context4.p = _context4.n) {
403
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
404
+ var _yield$apiCall2, data, ok, _t5;
405
+ return _regenerator().w(function (_context5) {
406
+ while (1) switch (_context5.p = _context5.n) {
361
407
  case 0:
362
408
  if (formData.phoneOrEmail.trim()) {
363
- _context4.n = 1;
409
+ _context5.n = 1;
364
410
  break;
365
411
  }
366
412
  setFieldErrors({
367
413
  phoneOrEmail: 'Phone or email is required for OTP'
368
414
  });
369
- return _context4.a(2);
415
+ return _context5.a(2);
370
416
  case 1:
371
417
  setOtpLoading(true);
372
418
  setError('');
373
419
  setFieldErrors({});
374
- _context4.p = 2;
375
- _context4.n = 3;
420
+ _context5.p = 2;
421
+ _context5.n = 3;
376
422
  return (0, _auth.apiCall)(apiUrl, "/auth/send-otp", projectId, {
377
423
  method: 'POST',
378
424
  body: {
@@ -380,7 +426,7 @@ var PowrLogin = function PowrLogin(_ref) {
380
426
  }
381
427
  });
382
428
  case 3:
383
- _yield$apiCall2 = _context4.v;
429
+ _yield$apiCall2 = _context5.v;
384
430
  data = _yield$apiCall2.data;
385
431
  ok = _yield$apiCall2.ok;
386
432
  if (ok) {
@@ -390,23 +436,23 @@ var PowrLogin = function PowrLogin(_ref) {
390
436
  } else {
391
437
  setError(data.message || 'Failed to send OTP. Please try again.');
392
438
  }
393
- _context4.n = 5;
439
+ _context5.n = 5;
394
440
  break;
395
441
  case 4:
396
- _context4.p = 4;
397
- _t4 = _context4.v;
442
+ _context5.p = 4;
443
+ _t5 = _context5.v;
398
444
  setError('Network error. Please try again.');
399
445
  case 5:
400
- _context4.p = 5;
446
+ _context5.p = 5;
401
447
  setOtpLoading(false);
402
- return _context4.f(5);
448
+ return _context5.f(5);
403
449
  case 6:
404
- return _context4.a(2);
450
+ return _context5.a(2);
405
451
  }
406
- }, _callee4, null, [[2, 4, 5, 6]]);
452
+ }, _callee5, null, [[2, 4, 5, 6]]);
407
453
  }));
408
454
  return function handleGetOtp() {
409
- return _ref5.apply(this, arguments);
455
+ return _ref6.apply(this, arguments);
410
456
  };
411
457
  }();
412
458
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -504,7 +550,35 @@ var PowrLogin = function PowrLogin(_ref) {
504
550
  required: true
505
551
  }), fieldErrors.phoneOrEmail && /*#__PURE__*/_react["default"].createElement("div", {
506
552
  style: styles.fieldError
507
- }, fieldErrors.phoneOrEmail)), /*#__PURE__*/_react["default"].createElement("div", {
553
+ }, 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", {
554
+ type: "button",
555
+ onClick: function onClick() {
556
+ return sendFirebaseOtp(formatPhone(formData.phoneOrEmail));
557
+ },
558
+ style: styles.otpButton,
559
+ disabled: otpLoading
560
+ }, otpLoading ? 'Sending OTP...' : 'Send OTP to Phone'), /*#__PURE__*/_react["default"].createElement("div", {
561
+ id: "recaptcha-container"
562
+ })) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", {
563
+ htmlFor: "otp",
564
+ style: styles.label
565
+ }, "Enter OTP"), /*#__PURE__*/_react["default"].createElement("input", {
566
+ type: "text",
567
+ id: "otp",
568
+ name: "otp",
569
+ value: otp,
570
+ onChange: function onChange(e) {
571
+ return setOtp(e.target.value);
572
+ },
573
+ style: styles.input,
574
+ placeholder: "Enter OTP received",
575
+ required: true
576
+ }), /*#__PURE__*/_react["default"].createElement("button", {
577
+ type: "button",
578
+ onClick: verifyFirebaseOtp,
579
+ style: styles.otpButton,
580
+ disabled: loading || !otp
581
+ }, loading ? 'Verifying...' : 'Verify OTP & Sign Up')))), /*#__PURE__*/_react["default"].createElement("div", {
508
582
  style: styles.formGroup
509
583
  }, /*#__PURE__*/_react["default"].createElement("label", {
510
584
  htmlFor: "password",
@@ -9,9 +9,26 @@ Object.defineProperty(exports, "RecaptchaVerifier", {
9
9
  return _auth.RecaptchaVerifier;
10
10
  }
11
11
  });
12
- exports.auth = exports.app = void 0;
12
+ exports.functions = exports["default"] = exports.auth = exports.app = void 0;
13
+ Object.defineProperty(exports, "httpsCallable", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _functions.httpsCallable;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "signInWithPhoneNumber", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _auth.signInWithPhoneNumber;
23
+ }
24
+ });
13
25
  var _app = require("firebase/app");
14
26
  var _auth = require("firebase/auth");
27
+ var _functions = require("firebase/functions");
28
+ 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 }; })(); }
29
+ 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); }
30
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
31
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
15
32
  var firebaseConfig = {
16
33
  apiKey: "AIzaSyCX-BOzLTVstWa7Ps4pLgB3gdMny83-AGY",
17
34
  authDomain: "excelrs-da4f4.firebaseapp.com",
@@ -21,7 +38,33 @@ var firebaseConfig = {
21
38
  appId: "1:1069037816864:web:28c988b1f6bb49eac50045"
22
39
  };
23
40
  var app = exports.app = (0, _app.initializeApp)(firebaseConfig);
41
+ var functions = exports.functions = (0, _functions.getFunctions)(app);
24
42
  var auth = exports.auth = (0, _auth.getAuth)(app);
25
- if (window && window.location.hostname === "localhost") {
26
- auth.settings.appVerificationDisabledForTesting = true;
27
- }
43
+ var fireAsync = /*#__PURE__*/function () {
44
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(method, params) {
45
+ var callable, result, _t;
46
+ return _regenerator().w(function (_context) {
47
+ while (1) switch (_context.p = _context.n) {
48
+ case 0:
49
+ callable = (0, _functions.httpsCallable)(functions, method);
50
+ _context.p = 1;
51
+ _context.n = 2;
52
+ return callable(params);
53
+ case 2:
54
+ result = _context.v;
55
+ return _context.a(2, result.data);
56
+ case 3:
57
+ _context.p = 3;
58
+ _t = _context.v;
59
+ console.error("Error calling function:", _t);
60
+ throw _t;
61
+ case 4:
62
+ return _context.a(2);
63
+ }
64
+ }, _callee, null, [[1, 3]]);
65
+ }));
66
+ return function fireAsync(_x, _x2) {
67
+ return _ref.apply(this, arguments);
68
+ };
69
+ }();
70
+ var _default = exports["default"] = fireAsync;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-web",
3
- "version": "4.2.2",
3
+ "version": "4.2.4",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "build": "babel src -d dist --copy-files",