@tap-payments/auth-jsconnect 2.10.9-beta → 2.10.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 (105) hide show
  1. package/README.md +2 -2
  2. package/build/@types/app.d.ts +8 -1
  3. package/build/@types/app.js +7 -0
  4. package/build/@types/form.d.ts +7 -2
  5. package/build/api/auth.d.ts +1 -0
  6. package/build/api/axios.d.ts +1 -1
  7. package/build/api/entity.d.ts +3 -0
  8. package/build/api/lead.d.ts +1 -0
  9. package/build/app/settings.d.ts +1 -0
  10. package/build/app/settings.js +8 -5
  11. package/build/assets/currencies/AEDSymbol.d.ts +7 -0
  12. package/build/assets/currencies/AEDSymbol.js +28 -0
  13. package/build/assets/currencies/SARSymbol.d.ts +7 -0
  14. package/build/assets/currencies/SARSymbol.js +28 -0
  15. package/build/assets/currencies/index.d.ts +2 -0
  16. package/build/assets/currencies/index.js +2 -0
  17. package/build/assets/currencies/utils.d.ts +4 -0
  18. package/build/assets/currencies/utils.js +6 -0
  19. package/build/assets/locales/ar.json +52 -7
  20. package/build/assets/locales/en.json +55 -9
  21. package/build/components/TextWithCurrency/TextWithCurrency.d.ts +7 -0
  22. package/build/components/TextWithCurrency/TextWithCurrency.js +14 -0
  23. package/build/components/TextWithCurrency/index.d.ts +2 -0
  24. package/build/components/TextWithCurrency/index.js +2 -0
  25. package/build/constants/api.d.ts +1 -0
  26. package/build/constants/api.js +2 -0
  27. package/build/constants/app.d.ts +12 -0
  28. package/build/constants/app.js +47 -25
  29. package/build/constants/assets.d.ts +12 -3
  30. package/build/constants/assets.js +123 -105
  31. package/build/constants/dummy.js +27 -20
  32. package/build/constants/validation.d.ts +1 -0
  33. package/build/constants/validation.js +1 -0
  34. package/build/features/app/auth/authStore.d.ts +24 -5
  35. package/build/features/app/auth/authStore.js +136 -71
  36. package/build/features/app/business/businessStore.js +15 -10
  37. package/build/features/app/connect/connectStore.d.ts +6 -5
  38. package/build/features/app/connect/connectStore.js +23 -10
  39. package/build/features/app/connectExpress/connectExpressStore.d.ts +20 -8
  40. package/build/features/app/connectExpress/connectExpressStore.js +221 -44
  41. package/build/features/app/individual/individualStore.js +4 -3
  42. package/build/features/app/tax/taxStore.js +1 -1
  43. package/build/features/auth/Auth.d.ts +1 -1
  44. package/build/features/auth/screens/AuthenticationList/EntityList.js +2 -2
  45. package/build/features/auth/screens/OTP/OTP.d.ts +13 -2
  46. package/build/features/auth/screens/OTP/OTP.js +15 -3
  47. package/build/features/auth/screens/OTP/index.d.ts +1 -2
  48. package/build/features/auth/screens/Passcode/Passcode.d.ts +16 -0
  49. package/build/features/auth/screens/Passcode/Passcode.js +82 -0
  50. package/build/features/auth/screens/Passcode/PasscodeInput.d.ts +6 -0
  51. package/build/features/auth/screens/Passcode/PasscodeInput.js +42 -0
  52. package/build/features/auth/screens/Passcode/index.d.ts +2 -0
  53. package/build/features/auth/screens/Passcode/index.js +2 -0
  54. package/build/features/auth/screens/Passcode/validation.d.ts +8 -0
  55. package/build/features/auth/screens/Passcode/validation.js +4 -0
  56. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +3 -8
  57. package/build/features/brand/screens/BrandActivities/RefundPolicy.d.ts +1 -1
  58. package/build/features/business/screens/BusinessType/BusinessType.js +13 -2
  59. package/build/features/business/screens/BusinessType/EntityLicenseList.js +11 -5
  60. package/build/features/business/screens/BusinessType/LicenseList.js +15 -7
  61. package/build/features/business/screens/BusinessType/UnifiedNumber.d.ts +35 -0
  62. package/build/features/business/screens/BusinessType/UnifiedNumber.js +84 -0
  63. package/build/features/business/screens/BusinessType/validation.d.ts +6 -3
  64. package/build/features/business/screens/BusinessType/validation.js +31 -10
  65. package/build/features/business/screens/Customers/ExpectedSalesRange.js +3 -8
  66. package/build/features/business/screens/Customers/RefundPolicy.d.ts +1 -1
  67. package/build/features/connectExpress/screens/AuthenticationList/EntityList.js +2 -2
  68. package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +1 -0
  69. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseList.js +23 -7
  70. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseNumber.js +2 -2
  71. package/build/features/connectExpress/screens/CollectBusinessInfo/TAC.js +1 -1
  72. package/build/features/connectExpress/screens/CollectBusinessInfo/UnifiedNumber.d.ts +36 -0
  73. package/build/features/connectExpress/screens/CollectBusinessInfo/UnifiedNumber.js +81 -0
  74. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.d.ts +6 -3
  75. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.js +57 -21
  76. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.d.ts +5 -0
  77. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.js +49 -0
  78. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.d.ts +5 -0
  79. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.js +88 -0
  80. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.d.ts +3 -0
  81. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.js +2 -0
  82. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.d.ts +8 -0
  83. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.js +4 -0
  84. package/build/features/connectExpress/screens/VerifyNafath/VerifyNafath.js +9 -3
  85. package/build/features/entity/screens/EntityCapital/CapitalPaid.js +3 -7
  86. package/build/features/entity/screens/EntityCapital/CapitalShareValue.js +3 -7
  87. package/build/features/entity/screens/EntityName/EntityName.js +16 -15
  88. package/build/features/entity/screens/EntityName/UnifiedNumber.js +2 -2
  89. package/build/features/entity/screens/EntityName/validation.d.ts +50 -48
  90. package/build/features/entity/screens/EntityName/validation.js +100 -85
  91. package/build/features/featuresScreens.js +10 -5
  92. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +3 -8
  93. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.js +3 -8
  94. package/build/features/shared/Background/LogoBackground.js +5 -17
  95. package/build/features/shared/Button/Button.js +1 -2
  96. package/build/features/shared/Input/Input.d.ts +1 -1
  97. package/build/hooks/useAppConfig.js +1 -1
  98. package/build/utils/common.d.ts +1 -1
  99. package/build/utils/common.js +14 -8
  100. package/build/utils/error.d.ts +1 -0
  101. package/build/utils/error.js +3 -0
  102. package/build/utils/string.d.ts +3 -2
  103. package/build/utils/string.js +4 -1
  104. package/build/utils/validation.js +1 -1
  105. package/package.json +3 -3
@@ -57,11 +57,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
57
57
  var _a;
58
58
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
59
59
  import { handleNextScreenStep, handleCurrentActiveScreen, handleOpen, handleSetCountryByIso2, onCloseComplete, storeAuthId } from '../../../app/settings';
60
- import { FlowsTypes, AuthForType, BusinessType, LicenseType } from '../../../@types';
60
+ import { FlowsTypes, AuthForType, BusinessType, LicenseType, AuthForScreen } from '../../../@types';
61
61
  import API from '../../../api';
62
- import { ADD_NEW_ENTITY, COLLECT_DOB_INFO_NAFATH, CONNECT_EXPRESS_STEP_NAMES, IDENTIFICATION_TYPE, NAFATH_PACI_TIMEOUT_DURATION, NAFATH_VERIFICATION_FAILED, OTHER_CR_LICENSE, OTHER_FL_LICENSE, SCOPE_AUTH } from '../../../constants';
62
+ import { ADD_NEW_ENTITY, COLLECT_DOB_INFO_NAFATH, CONNECT_EXPRESS_STEP_NAMES, IDENTIFICATION_TYPE, NAFATH_PACI_TIMEOUT_DURATION, NAFATH_VERIFICATION_FAILED, OTHER_CR_LICENSE, OTHER_FL_LICENSE, SCOPE_AUTH, SCOPE_MERCHANT } from '../../../constants';
63
63
  import { defaultCountry } from '../../../constants';
64
- import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isOtherThanKWOrSA, sendCustomEventToGTM, sendCustomDimension, getMetaData, isNetworkError, isTimeoutError } from '../../../utils';
64
+ import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isOtherThanKWOrSA, sendCustomEventToGTM, sendCustomDimension, getMetaData, isNetworkError, isTimeoutError, isInternalServerError } from '../../../utils';
65
65
  export var updateBusinessCountryAsync = createAsyncThunk('connectExpress/updateBusinessCountryAsync', function (countryCode, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
66
66
  var connectExpress, payload, data;
67
67
  return __generator(this, function (_a) {
@@ -385,7 +385,6 @@ export var verifyNafathAsync = createAsyncThunk('connectExpress/verifyNafathAsyn
385
385
  return [2, { data: data }];
386
386
  }
387
387
  if (!isSuccess) return [3, 9];
388
- thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_GENERIC_PREPARING_DATA_STEP'));
389
388
  authId = (_j = data.auth) === null || _j === void 0 ? void 0 : _j.id;
390
389
  leadId = (_k = data.auth) === null || _k === void 0 ? void 0 : _k.lead_id;
391
390
  thunkApi.dispatch(storeAuthId(authId));
@@ -401,6 +400,7 @@ export var verifyNafathAsync = createAsyncThunk('connectExpress/verifyNafathAsyn
401
400
  return [2, { data: data }];
402
401
  }
403
402
  }
403
+ params.showLoadingScreenAfterNafathSuccess();
404
404
  if (!(isScopeAuthentication && !data.new_user && authDataHasValue)) return [3, 7];
405
405
  return [4, thunkApi.dispatch(retrieveAuthenticationListAsync({ individualId: data.individual_id })).unwrap()];
406
406
  case 6:
@@ -831,30 +831,43 @@ export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verify
831
831
  case 9:
832
832
  count++;
833
833
  return [3, 1];
834
- case 10: throw new Error('nafath_verification_failed');
834
+ case 10: throw new Error('paci_verification_failed');
835
835
  }
836
836
  });
837
837
  }); });
838
838
  export var checkEmailAvailabilityAsync = createAsyncThunk('connectExpress/CheckEmailAvailabilityAsync', function (_a, thunkApi) {
839
839
  var email = _a.email, cancelToken = _a.cancelToken, onSuccess = _a.onSuccess;
840
840
  return __awaiter(void 0, void 0, void 0, function () {
841
- var connectExpress, requestBody, data;
842
- var _b, _c;
843
- return __generator(this, function (_d) {
844
- switch (_d.label) {
841
+ var responseData, requestBody, data, retryData;
842
+ var _b, _c, _d, _e, _f;
843
+ return __generator(this, function (_g) {
844
+ switch (_g.label) {
845
845
  case 0:
846
- connectExpress = thunkApi.getState().connectExpress;
846
+ responseData = thunkApi.getState().connectExpress.data.responseData;
847
847
  requestBody = {
848
848
  email: email,
849
- country: (_c = (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.leadData) === null || _c === void 0 ? void 0 : _c.country_code,
849
+ country: (_b = responseData === null || responseData === void 0 ? void 0 : responseData.leadData) === null || _b === void 0 ? void 0 : _b.country_code,
850
850
  encryption_contract: ['email']
851
851
  };
852
852
  return [4, API.availabilityServices.checkEmail(requestBody, { cancelToken: cancelToken })];
853
853
  case 1:
854
- data = (_d.sent()).data;
855
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
856
- if (!data.errors)
854
+ data = (_g.sent()).data;
855
+ if (!data.errors) {
856
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
857
857
  return [2, { response: data, formData: email }];
858
+ }
859
+ if (!isInternalServerError((_d = (_c = data.errors) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.error)) {
860
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
861
+ return [2];
862
+ }
863
+ return [4, API.availabilityServices.checkEmail(requestBody, { cancelToken: cancelToken })];
864
+ case 2:
865
+ retryData = (_g.sent()).data;
866
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
867
+ if (!retryData.errors)
868
+ return [2, { response: retryData, formData: email }];
869
+ if (isInternalServerError((_f = (_e = retryData.errors) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.error))
870
+ return [2, { response: { is_available: true }, formData: email }];
858
871
  return [2];
859
872
  }
860
873
  });
@@ -888,10 +901,10 @@ export var checkBrandNameAvailabilityAsync = createAsyncThunk('connectExpress/ch
888
901
  export var createAccountAsync = createAsyncThunk('connectExpress/createAccountAsync', function (_a, thunkApi) {
889
902
  var isRetry = _a.isRetry;
890
903
  return __awaiter(void 0, void 0, void 0, function () {
891
- var _b, connectExpress, settings, responseData, _c, postURL, scope, redirectUrl, mode, showBoard, notification, platforms, payment_provider, leadId, authId, bi, leadData, accountData, data, body, data, urlQueryStart;
892
- var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
893
- return __generator(this, function (_v) {
894
- switch (_v.label) {
904
+ var _b, connectExpress, settings, responseData, _c, postURL, scope, redirectUrl, mode, showBoard, notification, platforms, payment_provider, leadId, authId, bi, leadData, accountData, data, body, data, data, urlQueryStart;
905
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
906
+ return __generator(this, function (_y) {
907
+ switch (_y.label) {
895
908
  case 0:
896
909
  _b = thunkApi.getState(), connectExpress = _b.connectExpress, settings = _b.settings;
897
910
  responseData = connectExpress.data.responseData;
@@ -905,12 +918,12 @@ export var createAccountAsync = createAsyncThunk('connectExpress/createAccountAs
905
918
  if (!isRetry) return [3, 2];
906
919
  return [4, thunkApi.dispatch(getLeadByIdAsync(leadId)).unwrap()];
907
920
  case 1:
908
- data = (_v.sent()).data;
921
+ data = (_y.sent()).data;
909
922
  if (data === null || data === void 0 ? void 0 : data.board_id) {
910
923
  leadData = data;
911
924
  accountData = data;
912
925
  }
913
- _v.label = 2;
926
+ _y.label = 2;
914
927
  case 2:
915
928
  body = {
916
929
  lead_id: leadId,
@@ -922,8 +935,8 @@ export var createAccountAsync = createAsyncThunk('connectExpress/createAccountAs
922
935
  if (!!(leadData === null || leadData === void 0 ? void 0 : leadData.board_id)) return [3, 4];
923
936
  return [4, API.accountService.expressCreateAccount(body)];
924
937
  case 3:
925
- accountData = _v.sent();
926
- _v.label = 4;
938
+ accountData = _y.sent();
939
+ _y.label = 4;
927
940
  case 4:
928
941
  sendCustomEventToGTM({
929
942
  event: 'Send Event',
@@ -939,22 +952,41 @@ export var createAccountAsync = createAsyncThunk('connectExpress/createAccountAs
939
952
  (_m = (_l = settings.data.appConfig).onCreated) === null || _m === void 0 ? void 0 : _m.call(_l, accountData);
940
953
  (_p = (_o = settings.data.appConfig).onFlowCompleted) === null || _p === void 0 ? void 0 : _p.call(_o, accountData);
941
954
  (_r = (_q = settings.data.appConfig).onStepCompleted) === null || _r === void 0 ? void 0 : _r.call(_q, settings.data.activeScreen.name, accountData);
942
- if (showBoard) {
943
- sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
944
- return [2, { accountData: accountData }];
945
- }
946
- if (!(scope === SCOPE_AUTH)) return [3, 8];
955
+ if (!(scope === SCOPE_MERCHANT)) return [3, 8];
947
956
  if (!!(leadData === null || leadData === void 0 ? void 0 : leadData.board_id)) return [3, 6];
948
957
  return [4, thunkApi.dispatch(getLeadByIdAsync(leadId)).unwrap()];
949
958
  case 5:
950
- data = (_v.sent()).data;
959
+ data = (_y.sent()).data;
951
960
  leadData = data;
952
- _v.label = 6;
953
- case 6: return [4, thunkApi.dispatch(onCloseComplete({ merchantId: (_s = leadData === null || leadData === void 0 ? void 0 : leadData.merchant) === null || _s === void 0 ? void 0 : _s.id, brandId: (_t = leadData === null || leadData === void 0 ? void 0 : leadData.brand) === null || _t === void 0 ? void 0 : _t.id, entityId: (_u = leadData === null || leadData === void 0 ? void 0 : leadData.entity) === null || _u === void 0 ? void 0 : _u.id }))];
961
+ _y.label = 6;
962
+ case 6:
963
+ if (!postURL) return [3, 8];
964
+ return [4, thunkApi.dispatch(onCloseComplete({
965
+ merchantId: (_s = leadData === null || leadData === void 0 ? void 0 : leadData.merchant) === null || _s === void 0 ? void 0 : _s.id,
966
+ brandId: (_t = leadData === null || leadData === void 0 ? void 0 : leadData.brand) === null || _t === void 0 ? void 0 : _t.id,
967
+ entityId: (_u = leadData === null || leadData === void 0 ? void 0 : leadData.entity) === null || _u === void 0 ? void 0 : _u.id,
968
+ nextScreen: showBoard ? 'CONNECT_EXPRESS_PREPARING_DATA_STEP' : ''
969
+ }))];
954
970
  case 7:
955
- _v.sent();
971
+ _y.sent();
956
972
  return [2, { accountData: accountData }];
957
973
  case 8:
974
+ if (showBoard) {
975
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
976
+ return [2, { accountData: accountData }];
977
+ }
978
+ if (!(scope === SCOPE_AUTH)) return [3, 12];
979
+ if (!!(leadData === null || leadData === void 0 ? void 0 : leadData.board_id)) return [3, 10];
980
+ return [4, thunkApi.dispatch(getLeadByIdAsync(leadId)).unwrap()];
981
+ case 9:
982
+ data = (_y.sent()).data;
983
+ leadData = data;
984
+ _y.label = 10;
985
+ case 10: return [4, thunkApi.dispatch(onCloseComplete({ merchantId: (_v = leadData === null || leadData === void 0 ? void 0 : leadData.merchant) === null || _v === void 0 ? void 0 : _v.id, brandId: (_w = leadData === null || leadData === void 0 ? void 0 : leadData.brand) === null || _w === void 0 ? void 0 : _w.id, entityId: (_x = leadData === null || leadData === void 0 ? void 0 : leadData.entity) === null || _x === void 0 ? void 0 : _x.id }))];
986
+ case 11:
987
+ _y.sent();
988
+ return [2, { accountData: accountData }];
989
+ case 12:
958
990
  if (redirectUrl && mode === 'page') {
959
991
  urlQueryStart = redirectUrl.includes('?') ? '&' : '?';
960
992
  window.open("".concat(redirectUrl).concat(urlQueryStart, "authentication_id=").concat(authId, "&bi=").concat(bi), '_self');
@@ -1025,7 +1057,7 @@ export var createEntity = createAsyncThunk('connectExpress/createEntity', functi
1025
1057
  });
1026
1058
  }); });
1027
1059
  export var updateLeadDOBAsync = createAsyncThunk('connectExpress/updateLeadDOBAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
1028
- var _a, settings, connectExpress, id, dob, payload, data, needToCollectMoreInfo, creatingAccount;
1060
+ var _a, settings, connectExpress, id, dob, payload, data, needToCollectMoreInfo, creatingAccount, verifyAuthMobile;
1029
1061
  var _b, _c, _d;
1030
1062
  return __generator(this, function (_e) {
1031
1063
  switch (_e.label) {
@@ -1045,6 +1077,10 @@ export var updateLeadDOBAsync = createAsyncThunk('connectExpress/updateLeadDOBAs
1045
1077
  (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, params);
1046
1078
  needToCollectMoreInfo = data.step_name === 'collect_info';
1047
1079
  creatingAccount = data.step_name === 'create_account';
1080
+ verifyAuthMobile = data.step_name === 'connect_express_auth_mobile';
1081
+ if (verifyAuthMobile) {
1082
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
1083
+ }
1048
1084
  if (creatingAccount) {
1049
1085
  sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
1050
1086
  }
@@ -1058,7 +1094,7 @@ export var updateLeadDOBAsync = createAsyncThunk('connectExpress/updateLeadDOBAs
1058
1094
  export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLeadIndividualAsync', function (_a, thunkApi) {
1059
1095
  var formData = _a.formData, originalFormData = _a.originalFormData;
1060
1096
  return __awaiter(void 0, void 0, void 0, function () {
1061
- var _b, settings, connectExpress, id, countryCode, name, email, mobile, phoneCountry, isContactAvailable, payload, data, needToCollectMoreInfo, creatingAccount, collectPhoneOwnershipScreen, isSaudi;
1097
+ var _b, settings, connectExpress, id, countryCode, name, email, mobile, phoneCountry, isContactAvailable, payload, data, needToCollectMoreInfo, creatingAccount, collectPhoneOwnershipScreen, verifyAuthMobile, isSaudi;
1062
1098
  var _c, _d, _e, _f, _g;
1063
1099
  return __generator(this, function (_h) {
1064
1100
  switch (_h.label) {
@@ -1078,6 +1114,10 @@ export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLe
1078
1114
  needToCollectMoreInfo = data.step_name === 'collect_info';
1079
1115
  creatingAccount = data.step_name === 'create_account';
1080
1116
  collectPhoneOwnershipScreen = data.step_name === CONNECT_EXPRESS_STEP_NAMES.COLLECT_MOBILE_OWNERSHIP;
1117
+ verifyAuthMobile = data.step_name === CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP;
1118
+ if (verifyAuthMobile) {
1119
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
1120
+ }
1081
1121
  if (collectPhoneOwnershipScreen) {
1082
1122
  sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('COLLECT_MOBILE_OWNERSHIP')); });
1083
1123
  }
@@ -1102,13 +1142,13 @@ export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLe
1102
1142
  export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDataAsync ', function (_a, thunkApi) {
1103
1143
  var formData = _a.formData, originalFormData = _a.originalFormData;
1104
1144
  return __awaiter(void 0, void 0, void 0, function () {
1105
- var _b, settings, connectExpress, selectedLicense, brandName, licenseNumber, termAndConditionChecked, isKWCountry, isFL, _c, responseData, isLeadIdPassed, id, brandNameBody, payload, data;
1145
+ var _b, settings, connectExpress, selectedLicense, brandName, licenseNumber, termAndConditionChecked, unifiedNumber, isKWCountry, isFL, _c, responseData, isLeadIdPassed, id, brandNameBody, payload, data;
1106
1146
  var _d, _e;
1107
1147
  return __generator(this, function (_f) {
1108
1148
  switch (_f.label) {
1109
1149
  case 0:
1110
1150
  _b = thunkApi.getState(), settings = _b.settings, connectExpress = _b.connectExpress;
1111
- selectedLicense = formData.selectedLicense, brandName = formData.brandName, licenseNumber = formData.licenseNumber, termAndConditionChecked = formData.termAndConditionChecked;
1151
+ selectedLicense = formData.selectedLicense, brandName = formData.brandName, licenseNumber = formData.licenseNumber, termAndConditionChecked = formData.termAndConditionChecked, unifiedNumber = formData.unifiedNumber;
1112
1152
  isKWCountry = isKW(settings.data.businessCountry.iso2);
1113
1153
  isFL = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.FL;
1114
1154
  _c = connectExpress.data, responseData = _c.responseData, isLeadIdPassed = _c.isLeadIdPassed;
@@ -1126,6 +1166,7 @@ export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDat
1126
1166
  license_type: (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) ? (isFL ? LicenseType.FL : LicenseType.CR) : undefined,
1127
1167
  business_type: selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type,
1128
1168
  is_acknowledged: true,
1169
+ unified_number: unifiedNumber,
1129
1170
  terms_conditions_accepted: !isLeadIdPassed ? termAndConditionChecked : undefined,
1130
1171
  step_name: CONNECT_EXPRESS_STEP_NAMES.UPDATE_LEAD_BRAND_BUSINESS,
1131
1172
  encryption_contract: []
@@ -1141,7 +1182,7 @@ export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDat
1141
1182
  });
1142
1183
  });
1143
1184
  export var updateLeadMobile = createAsyncThunk('connectExpress/updateLeadMobile', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
1144
- var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo, collectPhoneOwnershipScreen;
1185
+ var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo, collectPhoneOwnershipScreen, verifyAuthMobile;
1145
1186
  var _b, _c, _d;
1146
1187
  return __generator(this, function (_e) {
1147
1188
  switch (_e.label) {
@@ -1168,9 +1209,13 @@ export var updateLeadMobile = createAsyncThunk('connectExpress/updateLeadMobile'
1168
1209
  creatingAccount = leadResponse.step_name === 'create_account';
1169
1210
  askDobInfo = leadResponse.step_name === COLLECT_DOB_INFO_NAFATH;
1170
1211
  collectPhoneOwnershipScreen = leadResponse.step_name === CONNECT_EXPRESS_STEP_NAMES.COLLECT_MOBILE_OWNERSHIP;
1212
+ verifyAuthMobile = leadResponse.step_name === CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP;
1171
1213
  if (collectPhoneOwnershipScreen) {
1172
1214
  throw new Error("The new mobile number doesn't match the national ID, please update the mobile to the correct one");
1173
1215
  }
1216
+ if (verifyAuthMobile) {
1217
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
1218
+ }
1174
1219
  if (askDobInfo) {
1175
1220
  sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP')); });
1176
1221
  }
@@ -1195,7 +1240,7 @@ export var updateLeadMobile = createAsyncThunk('connectExpress/updateLeadMobile'
1195
1240
  });
1196
1241
  }); });
1197
1242
  export var skipUpdateLeadMobile = createAsyncThunk('connectExpress/skipUpdateLeadMobile', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
1198
- var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo;
1243
+ var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo, verifyAuthMobile;
1199
1244
  var _b, _c, _d;
1200
1245
  return __generator(this, function (_e) {
1201
1246
  switch (_e.label) {
@@ -1215,6 +1260,10 @@ export var skipUpdateLeadMobile = createAsyncThunk('connectExpress/skipUpdateLea
1215
1260
  needToCollectMoreInfo = leadResponse.step_name === 'collect_info';
1216
1261
  creatingAccount = leadResponse.step_name === 'create_account';
1217
1262
  askDobInfo = leadResponse.step_name === COLLECT_DOB_INFO_NAFATH;
1263
+ verifyAuthMobile = leadResponse.step_name === CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP;
1264
+ if (verifyAuthMobile) {
1265
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
1266
+ }
1218
1267
  if (askDobInfo) {
1219
1268
  sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP')); });
1220
1269
  }
@@ -1238,6 +1287,82 @@ export var skipUpdateLeadMobile = createAsyncThunk('connectExpress/skipUpdateLea
1238
1287
  }
1239
1288
  });
1240
1289
  }); });
1290
+ export var verifyAuthMobileOtpAsync = createAsyncThunk('connectExpress/verifyAuthMobileOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
1291
+ var _a, settings, connectExpress, responseData, _b, verify_token, verification_by, payload, data, needToCollectMoreInfo, creatingAccount, askDobInfo, collectPhoneOwnershipScreen, isSaudi;
1292
+ var _c, _d;
1293
+ return __generator(this, function (_e) {
1294
+ switch (_e.label) {
1295
+ case 0:
1296
+ _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
1297
+ responseData = (connectExpress.data || {}).responseData;
1298
+ if (!(responseData === null || responseData === void 0 ? void 0 : responseData.verifyAuthMobile))
1299
+ throw new Error('Auth data is missing');
1300
+ _b = responseData.verifyAuthMobile, verify_token = _b.verify_token, verification_by = _b.verification_by;
1301
+ payload = {
1302
+ verify_token: verify_token,
1303
+ data: params.otp,
1304
+ auth_type: 2,
1305
+ service_name: verification_by === null || verification_by === void 0 ? void 0 : verification_by.service_name,
1306
+ sign_in: false,
1307
+ step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP,
1308
+ encryption_contract: ['data']
1309
+ };
1310
+ return [4, API.authService.verifyExpressLeadIdentity(payload)];
1311
+ case 1:
1312
+ data = _e.sent();
1313
+ (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, params);
1314
+ needToCollectMoreInfo = data.step_name === 'collect_info';
1315
+ creatingAccount = data.step_name === 'create_account';
1316
+ askDobInfo = data.step_name === COLLECT_DOB_INFO_NAFATH;
1317
+ collectPhoneOwnershipScreen = data.step_name === CONNECT_EXPRESS_STEP_NAMES.COLLECT_MOBILE_OWNERSHIP;
1318
+ if (askDobInfo) {
1319
+ sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP')); });
1320
+ }
1321
+ if (creatingAccount) {
1322
+ sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
1323
+ }
1324
+ if (collectPhoneOwnershipScreen) {
1325
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('COLLECT_MOBILE_OWNERSHIP')); });
1326
+ }
1327
+ if (!needToCollectMoreInfo) return [3, 4];
1328
+ isSaudi = isSA(settings.data.businessCountry.iso2);
1329
+ if (!isSaudi) return [3, 3];
1330
+ return [4, thunkApi.dispatch(retrieveEntityListAsync(data.lead.id)).unwrap()];
1331
+ case 2:
1332
+ _e.sent();
1333
+ _e.label = 3;
1334
+ case 3:
1335
+ sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_BUSINESS_INFO_STEP')); });
1336
+ _e.label = 4;
1337
+ case 4: return [2, { data: data }];
1338
+ }
1339
+ });
1340
+ }); });
1341
+ export var resendLeadMobileAuthOTP = createAsyncThunk('connectExpress/resendLeadMobileAuthOTPExpress', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
1342
+ var connectExpress, payload, data;
1343
+ var _a, _b, _c, _d, _e, _f;
1344
+ return __generator(this, function (_g) {
1345
+ switch (_g.label) {
1346
+ case 0:
1347
+ connectExpress = thunkApi.getState().connectExpress;
1348
+ payload = {
1349
+ id: ((_b = (_a = connectExpress.data.responseData) === null || _a === void 0 ? void 0 : _a.leadData) === null || _b === void 0 ? void 0 : _b.id) || '',
1350
+ contact: {
1351
+ phone: {
1352
+ country_code: (_e = (_d = (_c = connectExpress.data.individualData) === null || _c === void 0 ? void 0 : _c.countryCode) === null || _d === void 0 ? void 0 : _d.idd_prefix) === null || _e === void 0 ? void 0 : _e.toString(),
1353
+ number: ((_f = connectExpress.data.individualData) === null || _f === void 0 ? void 0 : _f.mobile) || ''
1354
+ }
1355
+ },
1356
+ step_name: CONNECT_EXPRESS_STEP_NAMES.UPDATE_LEAD_INDIVIDUAL,
1357
+ encryption_contract: ['contact.phone.country_code', 'contact.phone.number']
1358
+ };
1359
+ return [4, API.leadService.updateLeadExpress(payload)];
1360
+ case 1:
1361
+ data = _g.sent();
1362
+ return [2, data];
1363
+ }
1364
+ });
1365
+ }); });
1241
1366
  export var confirmInfo = createAsyncThunk('connectExpress/confirmInfo', function (_a, thunkApi) {
1242
1367
  var brandInfo = _a.brandInfo, entityInfo = _a.entityInfo, merchantInfo = _a.merchantInfo;
1243
1368
  return __awaiter(void 0, void 0, void 0, function () {
@@ -1362,9 +1487,14 @@ var initialState = {
1362
1487
  mobile: '',
1363
1488
  countryCode: defaultCountry
1364
1489
  },
1490
+ verifyAuthOtpData: {
1491
+ otp: '',
1492
+ authFor: AuthForScreen.INDIVIDUAL
1493
+ },
1365
1494
  businessData: {
1366
1495
  brandName: '',
1367
1496
  licenseNumber: '',
1497
+ unifiedNumber: '',
1368
1498
  termAndConditionChecked: false
1369
1499
  },
1370
1500
  authenticationData: {
@@ -1417,6 +1547,9 @@ export var connectSlice = createSlice({
1417
1547
  resetOTPValue: function (state) {
1418
1548
  state.data.otpData.otp = '';
1419
1549
  },
1550
+ resetVerifyAuthOTPValue: function (state) {
1551
+ state.data.verifyAuthOtpData.otp = '';
1552
+ },
1420
1553
  resetStore: function (state) {
1421
1554
  var _a;
1422
1555
  state.data = __assign(__assign({}, state.data), { responseData: { leadData: (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.leadData } });
@@ -1658,7 +1791,7 @@ export var connectSlice = createSlice({
1658
1791
  state.error = null;
1659
1792
  })
1660
1793
  .addCase(retrieveEntityListAsync.fulfilled, function (state, action) {
1661
- var _a, _b;
1794
+ var _a, _b, _c, _d;
1662
1795
  state.loading = false;
1663
1796
  var data = action.payload;
1664
1797
  var description = (((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
@@ -1678,7 +1811,8 @@ export var connectSlice = createSlice({
1678
1811
  }
1679
1812
  }
1680
1813
  licenseList = __spreadArray(__spreadArray([], licenseList, true), [OTHER_CR_LICENSE, OTHER_FL_LICENSE], false);
1681
- var _c = ((_b = state.data.responseData) === null || _b === void 0 ? void 0 : _b.leadData) || {}, license_number = _c.license_number, license_type = _c.license_type;
1814
+ var _e = ((_b = state.data.responseData) === null || _b === void 0 ? void 0 : _b.leadData) || {}, license_number = _e.license_number, license_type = _e.license_type, entity = _e.entity;
1815
+ var unified_number = (_d = (_c = entity === null || entity === void 0 ? void 0 : entity.license) === null || _c === void 0 ? void 0 : _c.additional_info) === null || _d === void 0 ? void 0 : _d.unified_number;
1682
1816
  var selectedLicense = undefined;
1683
1817
  if (license_number) {
1684
1818
  var findLicense = licenseList.find(function (_a) {
@@ -1694,6 +1828,18 @@ export var connectSlice = createSlice({
1694
1828
  selectedLicense = __assign(__assign({}, OTHER_CR_LICENSE), { license: { number: license_number } });
1695
1829
  state.data.businessData.licenseNumber = license_number;
1696
1830
  }
1831
+ if (unified_number) {
1832
+ var findLicense = licenseList.find(function (_a) {
1833
+ var _b;
1834
+ var license = _a.license;
1835
+ return ((_b = license === null || license === void 0 ? void 0 : license.additional_info) === null || _b === void 0 ? void 0 : _b.unified_number) === unified_number;
1836
+ });
1837
+ if (findLicense)
1838
+ selectedLicense = findLicense;
1839
+ else
1840
+ selectedLicense = __assign(__assign({}, OTHER_CR_LICENSE), { license: { number: '', additional_info: { unified_number: unified_number } } });
1841
+ state.data.businessData.unifiedNumber = unified_number;
1842
+ }
1697
1843
  state.data.businessData.selectedLicense = selectedLicense;
1698
1844
  state.data.responseData = __assign(__assign({}, state.data.responseData), { licenseList: licenseList });
1699
1845
  })
@@ -1750,7 +1896,8 @@ export var connectSlice = createSlice({
1750
1896
  state.loading = false;
1751
1897
  state.error = null;
1752
1898
  state.data.dobData = action.payload.formData;
1753
- state.data.responseData = __assign(__assign({}, state.data.responseData), { dobData: action.payload.response });
1899
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { dobData: action.payload.response, verifyAuthMobile: action.payload.response });
1900
+ state.data.verifyAuthOtpData.authFor = AuthForScreen.DOB;
1754
1901
  })
1755
1902
  .addCase(updateLeadDOBAsync.pending, function (state) {
1756
1903
  state.loading = true;
@@ -1766,7 +1913,8 @@ export var connectSlice = createSlice({
1766
1913
  state.error = null;
1767
1914
  var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
1768
1915
  state.data.individualData = action.payload.formData;
1769
- state.data.responseData = __assign(__assign(__assign({}, state.data.responseData), { individualData: action.payload.response }), (!((_b = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.licenseList) === null || _b === void 0 ? void 0 : _b.length) && { licenseList: licenseList }));
1916
+ state.data.responseData = __assign(__assign(__assign(__assign({}, state.data.responseData), { individualData: action.payload.response }), (!((_b = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.licenseList) === null || _b === void 0 ? void 0 : _b.length) && { licenseList: licenseList })), { verifyAuthMobile: action.payload.response });
1917
+ state.data.verifyAuthOtpData.authFor = AuthForScreen.INDIVIDUAL;
1770
1918
  })
1771
1919
  .addCase(updateLeadIndividualAsync.pending, function (state) {
1772
1920
  state.loading = true;
@@ -1794,7 +1942,9 @@ export var connectSlice = createSlice({
1794
1942
  state.loading = false;
1795
1943
  state.error = null;
1796
1944
  state.data.individualData.mobile = action.payload.formData.mobile;
1797
- state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse });
1945
+ state.data.individualData.countryCode = action.payload.formData.countryCode;
1946
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse, verifyAuthMobile: action.payload.leadResponse });
1947
+ state.data.verifyAuthOtpData.authFor = AuthForScreen.MOBILE_OWNERSHIP;
1798
1948
  })
1799
1949
  .addCase(updateLeadMobile.pending, function (state) {
1800
1950
  state.loading = true;
@@ -1807,7 +1957,8 @@ export var connectSlice = createSlice({
1807
1957
  .addCase(skipUpdateLeadMobile.fulfilled, function (state, action) {
1808
1958
  state.loading = false;
1809
1959
  state.error = null;
1810
- state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse });
1960
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse, verifyAuthMobile: action.payload.leadResponse });
1961
+ state.data.verifyAuthOtpData.authFor = AuthForScreen.MOBILE_OWNERSHIP;
1811
1962
  })
1812
1963
  .addCase(skipUpdateLeadMobile.pending, function (state) {
1813
1964
  state.loading = true;
@@ -1816,6 +1967,32 @@ export var connectSlice = createSlice({
1816
1967
  .addCase(skipUpdateLeadMobile.rejected, function (state, action) {
1817
1968
  state.loading = false;
1818
1969
  state.error = action.error.message;
1970
+ })
1971
+ .addCase(verifyAuthMobileOtpAsync.fulfilled, function (state, action) {
1972
+ state.loading = false;
1973
+ state.error = null;
1974
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { verifyAuthMobileOtp: action.payload.data });
1975
+ state.data.verifyAuthOtpData.authFor = AuthForScreen.MOBILE_OWNERSHIP;
1976
+ })
1977
+ .addCase(verifyAuthMobileOtpAsync.pending, function (state) {
1978
+ state.loading = true;
1979
+ state.error = null;
1980
+ })
1981
+ .addCase(verifyAuthMobileOtpAsync.rejected, function (state, action) {
1982
+ state.loading = false;
1983
+ state.error = action.error.message;
1984
+ })
1985
+ .addCase(resendLeadMobileAuthOTP.pending, function (state) {
1986
+ state.loading = true;
1987
+ state.error = null;
1988
+ })
1989
+ .addCase(resendLeadMobileAuthOTP.fulfilled, function (state) {
1990
+ state.loading = false;
1991
+ state.error = null;
1992
+ })
1993
+ .addCase(resendLeadMobileAuthOTP.rejected, function (state, action) {
1994
+ state.loading = false;
1995
+ state.error = action.error.message;
1819
1996
  })
1820
1997
  .addCase(createAccountAsync.pending, function (state) {
1821
1998
  state.loading = true;
@@ -1924,6 +2101,6 @@ export var connectSlice = createSlice({
1924
2101
  });
1925
2102
  }
1926
2103
  });
1927
- export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, resetIndividualScreen = _a.resetIndividualScreen, setDefaultCountryCode = _a.setDefaultCountryCode, storeIsStartFromBusinessCountry = _a.storeIsStartFromBusinessCountry, resetAuthenticationScreen = _a.resetAuthenticationScreen;
2104
+ export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetVerifyAuthOTPValue = _a.resetVerifyAuthOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, resetIndividualScreen = _a.resetIndividualScreen, setDefaultCountryCode = _a.setDefaultCountryCode, storeIsStartFromBusinessCountry = _a.storeIsStartFromBusinessCountry, resetAuthenticationScreen = _a.resetAuthenticationScreen;
1928
2105
  export default connectSlice.reducer;
1929
2106
  export var connectExpressSelector = function (state) { return state.connectExpress; };
@@ -621,7 +621,8 @@ export var updateIndividualPersonalInfo = createAsyncThunk('individual/updateInd
621
621
  expiry: isExpiryNonEditable || !expiryDate ? undefined : new Date(expiryDate).getTime(),
622
622
  type: isIdTypeNonEditable || !identification_id_type ? undefined : identification_id_type
623
623
  }
624
- })), (!isDOBNonEditable && {
624
+ })), (!isDOBNonEditable &&
625
+ dob && {
625
626
  date_of_birth: dob
626
627
  })), (hasBirth &&
627
628
  !(isBirthCityNonEditable && isBirthCountryNonEditable) && {
@@ -911,8 +912,8 @@ var initialState = {
911
912
  gender: IndividualGender.MALE,
912
913
  nid: '',
913
914
  issuedCountry: undefined,
914
- expiryDate: '',
915
- dob: '',
915
+ expiryDate: undefined,
916
+ dob: undefined,
916
917
  placeOfBirthCountry: undefined,
917
918
  placeOfBirthCity: undefined,
918
919
  nationality: undefined
@@ -323,7 +323,7 @@ export var updateLeadSuccess = createAsyncThunk('taxUpdateLeadSuccess', function
323
323
  }
324
324
  });
325
325
  }); });
326
- export var onCloseCompleteTax = createAsyncThunk('password/onCloseCompleteTax', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
326
+ export var onCloseCompleteTax = createAsyncThunk('tax/onCloseCompleteTax', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
327
327
  var tax, _a, merchant, brand, entity;
328
328
  return __generator(this, function (_b) {
329
329
  switch (_b.label) {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { LibConfig } from '../../@types';
3
- export interface AuthLibProps extends Pick<LibConfig, 'open' | 'mode' | 'scope' | 'merchantDomain' | 'publicKey' | 'redirectUrl' | 'data' | 'postURL' | 'appInfo' | 'businessCountryCode' | 'language' | 'onFlowCompleted' | 'onError' | 'onStepCompleted' | 'onReady' | 'onClose' | 'onStepStarted'> {
3
+ export interface AuthLibProps extends Pick<LibConfig, 'open' | 'mode' | 'scope' | 'merchantDomain' | 'publicKey' | 'redirectUrl' | 'data' | 'postURL' | 'appInfo' | 'businessCountryCode' | 'language' | 'onFlowCompleted' | 'onError' | 'onStepCompleted' | 'onReady' | 'onClose' | 'onStepStarted' | 'region'> {
4
4
  leadId?: string;
5
5
  configToken?: string;
6
6
  }
@@ -76,8 +76,8 @@ var EntityList = function (_a) {
76
76
  var selectedEntity = selectedEntityControl.field.value;
77
77
  React.useEffect(function () {
78
78
  if (entityList.length > 0) {
79
- var filteredEntityList = entityList.filter(function (entity) { return (brandInfo === null || brandInfo === void 0 ? void 0 : brandInfo.business_id) && entity.business_id === brandInfo.business_id; });
80
- var list_1 = __spreadArray(__spreadArray([], filteredEntityList, true), [entityList[entityList.length - 1]], false) || [];
79
+ var filteredEntityList = entityList.filter(function (entity) { return (brandInfo === null || brandInfo === void 0 ? void 0 : brandInfo.business_id) && entity.business_id === brandInfo.business_id; }) || [];
80
+ var list_1 = __spreadArray(__spreadArray([], filteredEntityList, true), [entityList[entityList.length - 1]], false);
81
81
  setList(list_1);
82
82
  if (filteredEntityList.length) {
83
83
  setValue('entityInfo', filteredEntityList[0], { shouldValidate: true });
@@ -1,5 +1,16 @@
1
1
  import * as React from 'react';
2
- export interface OTPProps {
3
- }
2
+ export declare const PasscodeLoginStyled: import("@emotion/styled").StyledComponent<import("@mui/system").SystemProps<import("@mui/material/styles").Theme> & {
3
+ align?: "left" | "right" | "inherit" | "center" | "justify" | undefined;
4
+ children?: React.ReactNode;
5
+ classes?: Partial<import("@mui/material").TypographyClasses> | undefined;
6
+ gutterBottom?: boolean | undefined;
7
+ noWrap?: boolean | undefined;
8
+ paragraph?: boolean | undefined;
9
+ sx?: import("@mui/material/styles").SxProps<import("@mui/material/styles").Theme> | undefined;
10
+ variant?: "button" | "caption" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "inherit" | "subtitle1" | "subtitle2" | "body1" | "body2" | "overline" | undefined;
11
+ variantMapping?: Partial<Record<"button" | "caption" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "inherit" | "subtitle1" | "subtitle2" | "body1" | "body2" | "overline", string>> | undefined;
12
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof React.HTMLAttributes<HTMLSpanElement>> & {
13
+ ref?: ((instance: HTMLSpanElement | null) => void) | React.RefObject<HTMLSpanElement> | null | undefined;
14
+ }, keyof import("@mui/material/OverridableComponent").CommonProps | ("left" | "right" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "bottom" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform") | "children" | "sx" | "variant" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
4
15
  declare const _default: React.MemoExoticComponent<() => JSX.Element>;
5
16
  export default _default;
@@ -14,9 +14,9 @@ import * as React from 'react';
14
14
  import { useTranslation } from 'react-i18next';
15
15
  import { useForm, FormProvider } from 'react-hook-form';
16
16
  import Box from '@mui/material/Box/Box';
17
- import { styled } from '@mui/material/styles';
17
+ import { styled, useTheme } from '@mui/material/styles';
18
18
  import Text from '../../../../components/Text';
19
- import { clearError, authSelector, verifyMobileOtp, resetOTPValue, verifyEmailOtp } from '../../../app/auth/authStore';
19
+ import { clearError, authSelector, verifyMobileOtp, resetOTPValue, verifyEmailOtp, createEmailAuth, createMobileAuth } from '../../../app/auth/authStore';
20
20
  import Button from '../../../shared/Button';
21
21
  import { ScreenContainer } from '../../../shared/Containers';
22
22
  import { useAppDispatch, useAppSelector, useLanguage, useSanitizedTranslation } from '../../../../hooks';
@@ -46,8 +46,13 @@ var FormStyled = styled(Form)(function () { return ({
46
46
  display: 'flex',
47
47
  flexDirection: 'column'
48
48
  }); });
49
+ export var PasscodeLoginStyled = styled(Text)(function (_a) {
50
+ var _b = _a.theme, spacing = _b.spacing, palette = _b.palette, typography = _b.typography;
51
+ return (__assign(__assign({}, typography.caption), { color: palette.primary.main, lineHeight: 1.75, textAlign: 'center', marginTop: spacing(5), cursor: 'pointer' }));
52
+ });
49
53
  var OTP = function () {
50
54
  var _a;
55
+ var spacing = useTheme().spacing;
51
56
  var dispatch = useAppDispatch();
52
57
  var _b = useAppSelector(authSelector), data = _b.data, loading = _b.loading, error = _b.error;
53
58
  var t = useTranslation().t;
@@ -112,7 +117,14 @@ var OTP = function () {
112
117
  screen = 'AUTH_EMAIL_STEP';
113
118
  dispatch(handlePrevScreenStep(screen));
114
119
  };
120
+ var onOTPLoginClick = function () {
121
+ if (isEmailAuth)
122
+ dispatch(createEmailAuth({ email: data.emailData.email }));
123
+ else
124
+ dispatch(createMobileAuth({ mobile: data.mobileData.mobile, countryCode: data.mobileData.countryCode }));
125
+ };
115
126
  var disabled = !methods.formState.isValid;
116
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [loading ? st('ide_otp_waiting_title') : getTitle(), !loading && _jsx("span", __assign({ dir: 'ltr' }, { children: getNumber() }))] }) }), _jsx(OTPInput, {}), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: st(error || '') }, { children: t('next') }))] })) })) }));
127
+ var showLoginWithPasscode = data.passcodeData.allowOTPToPasscodeRedirection;
128
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [loading ? st('ide_otp_waiting_title') : getTitle(), !loading && _jsx("span", __assign({ dir: 'ltr' }, { children: getNumber() }))] }) }), _jsx(OTPInput, {}), showLoginWithPasscode && _jsx(PasscodeLoginStyled, __assign({ onClick: onOTPLoginClick }, { children: st('login_with_passcode') })), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: st(error || '') }, (showLoginWithPasscode && { sx: { marginTop: spacing(2.25) } }), { children: t('next') }))] })) })) }));
117
129
  };
118
130
  export default React.memo(OTP);