@tap-payments/auth-jsconnect 2.8.98-development → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +2 -2
  2. package/build/@types/app.d.ts +13 -4
  3. package/build/@types/app.js +8 -0
  4. package/build/@types/config.d.ts +4 -0
  5. package/build/@types/form.d.ts +7 -0
  6. package/build/api/account.d.ts +3 -1
  7. package/build/api/account.js +7 -0
  8. package/build/api/auth.d.ts +20 -1
  9. package/build/api/index.d.ts +8 -4
  10. package/build/api/lead.d.ts +2 -0
  11. package/build/api/lead.js +16 -0
  12. package/build/api/user.d.ts +7 -0
  13. package/build/api/user.js +9 -1
  14. package/build/app/rootReducer.d.ts +1 -0
  15. package/build/app/rootReducer.js +3 -1
  16. package/build/app/settings.d.ts +1 -0
  17. package/build/app/settings.js +14 -8
  18. package/build/app/store.d.ts +2 -0
  19. package/build/assets/currencies/AEDSymbol.d.ts +7 -0
  20. package/build/assets/currencies/AEDSymbol.js +28 -0
  21. package/build/assets/currencies/SARSymbol.d.ts +7 -0
  22. package/build/assets/currencies/SARSymbol.js +28 -0
  23. package/build/assets/currencies/index.d.ts +2 -0
  24. package/build/assets/currencies/index.js +2 -0
  25. package/build/assets/currencies/utils.d.ts +4 -0
  26. package/build/assets/currencies/utils.js +6 -0
  27. package/build/assets/locales/ar.json +40 -12
  28. package/build/assets/locales/en.json +63 -9
  29. package/build/components/AnimationFlow/BottomSheet.js +16 -12
  30. package/build/components/AnimationFlow/Dialog.js +3 -1
  31. package/build/components/Input/Input.js +1 -1
  32. package/build/components/TextWithCurrency/TextWithCurrency.d.ts +7 -0
  33. package/build/components/TextWithCurrency/TextWithCurrency.js +14 -0
  34. package/build/components/TextWithCurrency/index.d.ts +2 -0
  35. package/build/components/TextWithCurrency/index.js +2 -0
  36. package/build/components/Tooltip/Tooltip.js +1 -1
  37. package/build/constants/api.d.ts +2 -0
  38. package/build/constants/api.js +4 -0
  39. package/build/constants/app.d.ts +27 -0
  40. package/build/constants/app.js +151 -17
  41. package/build/constants/assets.d.ts +12 -3
  42. package/build/constants/assets.js +123 -105
  43. package/build/constants/dummy.js +27 -20
  44. package/build/constants/flows.d.ts +26 -0
  45. package/build/constants/flows.js +27 -0
  46. package/build/constants/index.d.ts +1 -0
  47. package/build/constants/index.js +1 -0
  48. package/build/constants/validation.d.ts +1 -0
  49. package/build/constants/validation.js +1 -0
  50. package/build/features/app/auth/authStore.d.ts +24 -5
  51. package/build/features/app/auth/authStore.js +197 -95
  52. package/build/features/app/board/boardStore.d.ts +5 -1
  53. package/build/features/app/board/boardStore.js +40 -35
  54. package/build/features/app/business/businessStore.d.ts +10 -1
  55. package/build/features/app/business/businessStore.js +164 -35
  56. package/build/features/app/connect/connectStore.d.ts +8 -1
  57. package/build/features/app/connect/connectStore.js +181 -68
  58. package/build/features/app/connectExpress/connectExpressStore.d.ts +21 -3
  59. package/build/features/app/connectExpress/connectExpressStore.js +448 -117
  60. package/build/features/app/individual/individualStore.d.ts +1 -1
  61. package/build/features/app/individual/individualStore.js +40 -33
  62. package/build/features/app/kyc/kycStore.d.ts +67 -0
  63. package/build/features/app/kyc/kycStore.js +432 -0
  64. package/build/features/app/signIn/signInStore.js +19 -15
  65. package/build/features/auth/Auth.d.ts +1 -1
  66. package/build/features/auth/screens/Mobile/MobileNumber.js +5 -7
  67. package/build/features/auth/screens/Mobile/validation.js +5 -2
  68. package/build/features/auth/screens/OTP/OTP.d.ts +13 -2
  69. package/build/features/auth/screens/OTP/OTP.js +15 -3
  70. package/build/features/auth/screens/OTP/index.d.ts +1 -2
  71. package/build/features/auth/screens/Passcode/Passcode.d.ts +16 -0
  72. package/build/features/auth/screens/Passcode/Passcode.js +82 -0
  73. package/build/features/auth/screens/Passcode/PasscodeInput.d.ts +6 -0
  74. package/build/features/auth/screens/Passcode/PasscodeInput.js +42 -0
  75. package/build/features/auth/screens/Passcode/index.d.ts +2 -0
  76. package/build/features/auth/screens/Passcode/index.js +2 -0
  77. package/build/features/auth/screens/Passcode/validation.d.ts +8 -0
  78. package/build/features/auth/screens/Passcode/validation.js +4 -0
  79. package/build/features/bank/Bank.d.ts +5 -1
  80. package/build/features/bank/Bank.js +15 -7
  81. package/build/features/board/Board.js +1 -1
  82. package/build/features/brand/Brand.d.ts +5 -1
  83. package/build/features/brand/Brand.js +15 -7
  84. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +3 -8
  85. package/build/features/business/screens/Customers/ExpectedSalesRange.js +3 -8
  86. package/build/features/business/screens/MobileOwnership/CollectMobileOwnership.d.ts +3 -0
  87. package/build/features/business/screens/MobileOwnership/CollectMobileOwnership.js +103 -0
  88. package/build/features/business/screens/MobileOwnership/MobileNumber.d.ts +3 -0
  89. package/build/features/business/screens/MobileOwnership/MobileNumber.js +72 -0
  90. package/build/features/business/screens/MobileOwnership/index.d.ts +2 -0
  91. package/build/features/business/screens/MobileOwnership/index.js +2 -0
  92. package/build/features/business/screens/MobileOwnership/validation.d.ts +8 -0
  93. package/build/features/business/screens/MobileOwnership/validation.js +38 -0
  94. package/build/features/connect/Connect.js +1 -1
  95. package/build/features/connect/screens/Individual/MobileNumber.js +5 -7
  96. package/build/features/connect/screens/Individual/validation.js +5 -2
  97. package/build/features/connect/screens/Mobile/MobileNumber.js +5 -7
  98. package/build/features/connect/screens/Mobile/validation.js +5 -2
  99. package/build/features/connect/screens/MobileOwnership/CollectMobileOwnership.d.ts +3 -0
  100. package/build/features/connect/screens/MobileOwnership/CollectMobileOwnership.js +104 -0
  101. package/build/features/connect/screens/MobileOwnership/MobileNumber.d.ts +3 -0
  102. package/build/features/connect/screens/MobileOwnership/MobileNumber.js +72 -0
  103. package/build/features/connect/screens/MobileOwnership/index.d.ts +2 -0
  104. package/build/features/connect/screens/MobileOwnership/index.js +2 -0
  105. package/build/features/connect/screens/MobileOwnership/validation.d.ts +8 -0
  106. package/build/features/connect/screens/MobileOwnership/validation.js +38 -0
  107. package/build/features/connectExpress/ConnectExpress.js +1 -1
  108. package/build/features/connectExpress/screens/CollectIndividualInfo/MobileNumber.js +5 -7
  109. package/build/features/connectExpress/screens/CollectIndividualInfo/validation.js +5 -2
  110. package/build/features/connectExpress/screens/GenericPrepareDataLoading/GenericPrepareDataLoading.d.ts +3 -0
  111. package/build/features/connectExpress/screens/GenericPrepareDataLoading/GenericPrepareDataLoading.js +9 -0
  112. package/build/features/connectExpress/screens/GenericPrepareDataLoading/index.d.ts +2 -0
  113. package/build/features/connectExpress/screens/GenericPrepareDataLoading/index.js +2 -0
  114. package/build/features/connectExpress/screens/Mobile/MobileNumber.js +5 -7
  115. package/build/features/connectExpress/screens/Mobile/validation.js +9 -4
  116. package/build/features/connectExpress/screens/MobileOwnership/CollectMobileOwnership.d.ts +3 -0
  117. package/build/features/connectExpress/screens/MobileOwnership/CollectMobileOwnership.js +106 -0
  118. package/build/features/connectExpress/screens/MobileOwnership/MobileNumber.d.ts +3 -0
  119. package/build/features/connectExpress/screens/MobileOwnership/MobileNumber.js +72 -0
  120. package/build/features/connectExpress/screens/MobileOwnership/index.d.ts +2 -0
  121. package/build/features/connectExpress/screens/MobileOwnership/index.js +2 -0
  122. package/build/features/connectExpress/screens/MobileOwnership/validation.d.ts +8 -0
  123. package/build/features/connectExpress/screens/MobileOwnership/validation.js +38 -0
  124. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.d.ts +5 -0
  125. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.js +49 -0
  126. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.d.ts +5 -0
  127. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.js +88 -0
  128. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.d.ts +3 -0
  129. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.js +2 -0
  130. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.d.ts +8 -0
  131. package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.js +4 -0
  132. package/build/features/connectExpress/screens/VerifyNafath/VerifyNafath.js +9 -3
  133. package/build/features/entity/Entity.d.ts +4 -1
  134. package/build/features/entity/Entity.js +15 -7
  135. package/build/features/entity/screens/EntityCapital/CapitalPaid.js +3 -7
  136. package/build/features/entity/screens/EntityCapital/CapitalShareValue.js +3 -7
  137. package/build/features/featuresScreens.d.ts +1 -0
  138. package/build/features/featuresScreens.js +73 -0
  139. package/build/features/individual/Individual.d.ts +4 -1
  140. package/build/features/individual/Individual.js +15 -7
  141. package/build/features/individual/screens/AdditionalIndividualInfo/MonthlyIncome.js +3 -8
  142. package/build/features/individual/screens/AdditionalIndividualInfo/ShareValue.js +3 -8
  143. package/build/features/individual/screens/IndividualList/MobileNumber.js +5 -10
  144. package/build/features/individual/screens/IndividualList/validation.js +5 -3
  145. package/build/features/individual/screens/IndividualPersonalInfo/MobileNumber.js +3 -5
  146. package/build/features/individual/screens/IndividualPersonalInfo/validation.js +5 -2
  147. package/build/features/individual/screens/IndividualPhoneInfo/MobileNumber.js +5 -10
  148. package/build/features/individual/screens/IndividualPhoneInfo/validation.js +5 -2
  149. package/build/features/kyc/KYC.d.ts +11 -0
  150. package/build/features/kyc/KYC.js +99 -0
  151. package/build/features/kyc/index.d.ts +1 -0
  152. package/build/features/kyc/index.js +1 -0
  153. package/build/features/kyc/screens/AlreadySubmitted/AlreadySubmitted.d.ts +5 -0
  154. package/build/features/kyc/screens/AlreadySubmitted/AlreadySubmitted.js +19 -0
  155. package/build/features/kyc/screens/AlreadySubmitted/index.d.ts +2 -0
  156. package/build/features/kyc/screens/AlreadySubmitted/index.js +2 -0
  157. package/build/features/kyc/screens/Loading/Loading.d.ts +4 -0
  158. package/build/features/kyc/screens/Loading/Loading.js +10 -0
  159. package/build/features/kyc/screens/Loading/index.d.ts +2 -0
  160. package/build/features/kyc/screens/Loading/index.js +2 -0
  161. package/build/features/kyc/screens/OperatorError/OperatorError.d.ts +5 -0
  162. package/build/features/kyc/screens/OperatorError/OperatorError.js +9 -0
  163. package/build/features/kyc/screens/OperatorError/index.d.ts +2 -0
  164. package/build/features/kyc/screens/OperatorError/index.js +2 -0
  165. package/build/features/kyc/screens/Success/Success.d.ts +5 -0
  166. package/build/features/kyc/screens/Success/Success.js +32 -0
  167. package/build/features/kyc/screens/Success/index.d.ts +2 -0
  168. package/build/features/kyc/screens/Success/index.js +2 -0
  169. package/build/features/kyc/screens/Terms/Header.d.ts +6 -0
  170. package/build/features/kyc/screens/Terms/Header.js +36 -0
  171. package/build/features/kyc/screens/Terms/Terms.d.ts +4 -0
  172. package/build/features/kyc/screens/Terms/Terms.js +87 -0
  173. package/build/features/kyc/screens/Terms/index.d.ts +2 -0
  174. package/build/features/kyc/screens/Terms/index.js +2 -0
  175. package/build/features/kyc/screens/TokenError/TokenError.d.ts +5 -0
  176. package/build/features/kyc/screens/TokenError/TokenError.js +9 -0
  177. package/build/features/kyc/screens/TokenError/index.d.ts +2 -0
  178. package/build/features/kyc/screens/TokenError/index.js +2 -0
  179. package/build/features/kyc/screens/Users/Users.d.ts +3 -0
  180. package/build/features/kyc/screens/Users/Users.js +76 -0
  181. package/build/features/kyc/screens/Users/index.d.ts +2 -0
  182. package/build/features/kyc/screens/Users/index.js +2 -0
  183. package/build/features/kyc/screens/VerifyNafath/VerifyNafath.d.ts +5 -0
  184. package/build/features/kyc/screens/VerifyNafath/VerifyNafath.js +45 -0
  185. package/build/features/kyc/screens/VerifyNafath/index.d.ts +3 -0
  186. package/build/features/kyc/screens/VerifyNafath/index.js +2 -0
  187. package/build/features/kyc/screens/VerifyPaci/VerifyPACI.d.ts +5 -0
  188. package/build/features/kyc/screens/VerifyPaci/VerifyPACI.js +44 -0
  189. package/build/features/kyc/screens/VerifyPaci/index.d.ts +3 -0
  190. package/build/features/kyc/screens/VerifyPaci/index.js +2 -0
  191. package/build/features/password/Password.d.ts +4 -1
  192. package/build/features/password/Password.js +13 -6
  193. package/build/features/shared/Background/LogoBackground.js +5 -17
  194. package/build/features/shared/Button/Button.js +1 -2
  195. package/build/features/shared/Button/FlowsButtons.js +5 -2
  196. package/build/features/shared/Containers/FeatureContainer.d.ts +2 -1
  197. package/build/features/shared/Containers/FeatureContainer.js +5 -3
  198. package/build/features/shared/Dialog/DialogContainer.js +5 -4
  199. package/build/features/shared/Input/Input.d.ts +1 -1
  200. package/build/features/shared/SuccessScreen/SuccessScreen.js +1 -1
  201. package/build/features/signIn/screens/Mobile/MobileNumber.js +5 -7
  202. package/build/features/signIn/screens/Mobile/validation.js +5 -2
  203. package/build/features/tax/Tax.d.ts +4 -1
  204. package/build/features/tax/Tax.js +15 -7
  205. package/build/hooks/useAppConfig.js +1 -1
  206. package/build/hooks/useAppDispatch.d.ts +1 -0
  207. package/build/hooks/useSanitizedTranslation.d.ts +2 -1
  208. package/build/hooks/useSanitizedTranslation.js +2 -2
  209. package/build/index.d.ts +3 -2
  210. package/build/index.js +4 -2
  211. package/build/theme/shadows.js +1 -1
  212. package/build/utils/common.d.ts +1 -1
  213. package/build/utils/common.js +6 -5
  214. package/build/utils/error.d.ts +1 -0
  215. package/build/utils/error.js +3 -0
  216. package/build/utils/string.d.ts +5 -2
  217. package/build/utils/string.js +16 -2
  218. package/package.json +3 -4
@@ -0,0 +1,432 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var _a;
49
+ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
50
+ import { handlePublicKey, handleSetCountryByIso2 } from '../../../app/settings';
51
+ import { FlowsTypes } from '../../../@types';
52
+ import { CONNECT_FLOWS, KYC_STEP_NAMES, NAFATH_PACI_TIMEOUT_DURATION, NAFATH_VERIFICATION_FAILED } from '../../../constants';
53
+ import API from '../../../api';
54
+ import { isNetworkError, isTimeoutError, sendCustomEventToGTM, sleep } from '../../../utils';
55
+ export var verifyTokenApi = createAsyncThunk('kyc/verifyTokenApi', function (_a, thunkApi) {
56
+ var token = _a.token;
57
+ return __awaiter(void 0, void 0, void 0, function () {
58
+ var payload, data, _b, config, country_code, segment_id, boardId, boardInfoId, publicKey, info, isCompleted, nextScreen, userList, userPayload, users;
59
+ var _c;
60
+ return __generator(this, function (_d) {
61
+ switch (_d.label) {
62
+ case 0:
63
+ payload = {
64
+ service_name: 'tap_email',
65
+ verify_token: token,
66
+ notification: {
67
+ sms: false
68
+ }
69
+ };
70
+ return [4, API.leadService.verifyToken(payload)];
71
+ case 1:
72
+ data = _d.sent();
73
+ _b = data || {}, config = _b.config, country_code = _b.country_code, segment_id = _b.segment_id, boardId = _b.id, boardInfoId = _b.board_info_id;
74
+ publicKey = config === null || config === void 0 ? void 0 : config.public_key;
75
+ return [4, API.boardService.retrieveBoardInfo({ id: boardId, infoId: boardInfoId })];
76
+ case 2:
77
+ info = (_d.sent()).info;
78
+ isCompleted = ((_c = info === null || info === void 0 ? void 0 : info.find(function (flow) { return flow.name === 'kyc'; })) === null || _c === void 0 ? void 0 : _c.status) === 'completed';
79
+ nextScreen = isCompleted ? CONNECT_FLOWS.kyc.alreadySubmitted : CONNECT_FLOWS.kyc.terms;
80
+ userList = [];
81
+ if (country_code)
82
+ thunkApi.dispatch(handleSetCountryByIso2(country_code));
83
+ if (publicKey)
84
+ thunkApi.dispatch(handlePublicKey(publicKey));
85
+ if (!!isCompleted) return [3, 4];
86
+ userPayload = {
87
+ page: 1,
88
+ limit: 25,
89
+ is_authorized: true,
90
+ segment_ids: [segment_id]
91
+ };
92
+ return [4, API.userService.getUserListUsingSegmentId(userPayload)];
93
+ case 3:
94
+ users = (_d.sent()).users;
95
+ userList = users || [];
96
+ _d.label = 4;
97
+ case 4: return [2, {
98
+ data: __assign(__assign({}, data), { boardId: boardId }),
99
+ userList: userList,
100
+ token: token,
101
+ nextScreen: nextScreen
102
+ }];
103
+ }
104
+ });
105
+ });
106
+ });
107
+ export var createPaciAuth = createAsyncThunk('kyc/createPaciAuth', function (user, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
108
+ var _a, settings, kyc, verifyTokenData, id, requestBody, data, nextScreen;
109
+ var _b, _c;
110
+ return __generator(this, function (_d) {
111
+ switch (_d.label) {
112
+ case 0:
113
+ _a = thunkApi.getState(), settings = _a.settings, kyc = _a.kyc;
114
+ verifyTokenData = (kyc.data.responseData || {}).verifyTokenData;
115
+ id = (user || {}).id;
116
+ requestBody = {
117
+ country: settings.data.businessCountry.iso2,
118
+ lang: settings.data.language,
119
+ is_lead: false,
120
+ scope: 'auth',
121
+ board_id: verifyTokenData === null || verifyTokenData === void 0 ? void 0 : verifyTokenData.boardId,
122
+ user_id: id,
123
+ step_name: KYC_STEP_NAMES.KYC_CREATE_PACI,
124
+ encryption_contract: []
125
+ };
126
+ return [4, API.authService.createAuth(requestBody)];
127
+ case 1:
128
+ data = _d.sent();
129
+ (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, { id: id });
130
+ nextScreen = CONNECT_FLOWS.kyc.verifyPACI;
131
+ return [2, { data: data, nextScreen: nextScreen }];
132
+ }
133
+ });
134
+ }); });
135
+ export var createNafathAuth = createAsyncThunk('kyc/createNafathAuth', function (user, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
136
+ var _a, settings, kyc, verifyTokenData, id, requestBody, data, nextScreen;
137
+ var _b, _c;
138
+ return __generator(this, function (_d) {
139
+ switch (_d.label) {
140
+ case 0:
141
+ _a = thunkApi.getState(), settings = _a.settings, kyc = _a.kyc;
142
+ verifyTokenData = (kyc.data.responseData || {}).verifyTokenData;
143
+ id = (user || {}).id;
144
+ requestBody = {
145
+ country: settings.data.businessCountry.iso2,
146
+ lang: settings.data.language,
147
+ is_lead: false,
148
+ scope: 'auth',
149
+ board_id: verifyTokenData === null || verifyTokenData === void 0 ? void 0 : verifyTokenData.boardId,
150
+ user_id: id,
151
+ step_name: KYC_STEP_NAMES.KYC_CREATE_NAFATH,
152
+ encryption_contract: []
153
+ };
154
+ return [4, API.authService.createAuth(requestBody)];
155
+ case 1:
156
+ data = _d.sent();
157
+ (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, requestBody);
158
+ nextScreen = CONNECT_FLOWS.kyc.verifyNafath;
159
+ return [2, { data: data, nextScreen: nextScreen }];
160
+ }
161
+ });
162
+ }); });
163
+ export var verifyNafath = createAsyncThunk('kyc/verifyNafath', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
164
+ var kyc, createAuthData, expiry, interval, maxCalls, count, data, error_1, isSuccess, isFailed, nextScreen;
165
+ var _a, _b, _c, _d;
166
+ return __generator(this, function (_e) {
167
+ switch (_e.label) {
168
+ case 0:
169
+ kyc = thunkApi.getState().kyc;
170
+ createAuthData = (kyc.data.responseData || {}).createAuthData;
171
+ expiry = (createAuthData === null || createAuthData === void 0 ? void 0 : createAuthData.expiry) || 120;
172
+ interval = 3;
173
+ maxCalls = Math.floor(expiry / interval);
174
+ count = 1;
175
+ _e.label = 1;
176
+ case 1:
177
+ if (!(count <= maxCalls)) return [3, 10];
178
+ if (thunkApi.signal.aborted) {
179
+ return [3, 10];
180
+ }
181
+ data = undefined;
182
+ _e.label = 2;
183
+ case 2:
184
+ _e.trys.push([2, 4, , 5]);
185
+ return [4, API.authService.getVerifyAuth(createAuthData === null || createAuthData === void 0 ? void 0 : createAuthData.auth_token, { timeout: NAFATH_PACI_TIMEOUT_DURATION })];
186
+ case 3:
187
+ data = _e.sent();
188
+ return [3, 5];
189
+ case 4:
190
+ error_1 = _e.sent();
191
+ if (!isNetworkError(error_1.message) && !isTimeoutError(error_1.message)) {
192
+ throw new Error(error_1);
193
+ }
194
+ return [3, 5];
195
+ case 5:
196
+ isSuccess = ((_a = data === null || data === void 0 ? void 0 : data.status) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'success';
197
+ isFailed = ((_b = data === null || data === void 0 ? void 0 : data.status) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'failed';
198
+ if (isFailed) {
199
+ (_c = params.onFailure) === null || _c === void 0 ? void 0 : _c.call(params);
200
+ return [2, { data: data, createAuthData: createAuthData }];
201
+ }
202
+ if (!isSuccess) return [3, 7];
203
+ (_d = params.onSuccess) === null || _d === void 0 ? void 0 : _d.call(params);
204
+ return [4, thunkApi.dispatch(updateKYCSuccess())];
205
+ case 6:
206
+ _e.sent();
207
+ nextScreen = CONNECT_FLOWS.kyc.success;
208
+ return [2, { data: data, nextScreen: nextScreen, createAuthData: createAuthData }];
209
+ case 7: return [4, sleep(interval * 1000)];
210
+ case 8:
211
+ _e.sent();
212
+ _e.label = 9;
213
+ case 9:
214
+ count++;
215
+ return [3, 1];
216
+ case 10: throw new Error(NAFATH_VERIFICATION_FAILED);
217
+ }
218
+ });
219
+ }); });
220
+ export var verifyPaci = createAsyncThunk('kyc/verifyPaci', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
221
+ var kyc, createAuthData, expiry, interval, maxCalls, count, data, error_2, isSuccess, nextScreen;
222
+ var _a, _b;
223
+ return __generator(this, function (_c) {
224
+ switch (_c.label) {
225
+ case 0:
226
+ kyc = thunkApi.getState().kyc;
227
+ createAuthData = (kyc.data.responseData || {}).createAuthData;
228
+ expiry = (createAuthData === null || createAuthData === void 0 ? void 0 : createAuthData.expiry) || 120;
229
+ interval = 3;
230
+ maxCalls = Math.floor(expiry / interval);
231
+ count = 1;
232
+ _c.label = 1;
233
+ case 1:
234
+ if (!(count <= maxCalls)) return [3, 10];
235
+ if (thunkApi.signal.aborted) {
236
+ return [3, 10];
237
+ }
238
+ data = undefined;
239
+ _c.label = 2;
240
+ case 2:
241
+ _c.trys.push([2, 4, , 5]);
242
+ return [4, API.authService.getVerifyAuth(createAuthData === null || createAuthData === void 0 ? void 0 : createAuthData.auth_token, { timeout: NAFATH_PACI_TIMEOUT_DURATION })];
243
+ case 3:
244
+ data = _c.sent();
245
+ return [3, 5];
246
+ case 4:
247
+ error_2 = _c.sent();
248
+ if (!isNetworkError(error_2.message) && !isTimeoutError(error_2.message)) {
249
+ throw new Error(error_2);
250
+ }
251
+ return [3, 5];
252
+ case 5:
253
+ isSuccess = ((_a = data === null || data === void 0 ? void 0 : data.status) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'success';
254
+ if (!isSuccess) return [3, 7];
255
+ (_b = params.onSuccess) === null || _b === void 0 ? void 0 : _b.call(params);
256
+ return [4, thunkApi.dispatch(updateKYCSuccess())];
257
+ case 6:
258
+ _c.sent();
259
+ nextScreen = CONNECT_FLOWS.kyc.success;
260
+ return [2, { data: data, nextScreen: nextScreen, createAuthData: createAuthData }];
261
+ case 7: return [4, sleep(interval * 1000)];
262
+ case 8:
263
+ _c.sent();
264
+ _c.label = 9;
265
+ case 9:
266
+ count++;
267
+ return [3, 1];
268
+ case 10: throw new Error('paci_verification_failed');
269
+ }
270
+ });
271
+ }); });
272
+ export var updateKYCSuccess = createAsyncThunk('kyc/updateKYCSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
273
+ var _a, settings, kyc, _b, boardId, infoId, payload, data;
274
+ var _c, _d, _e, _f, _g;
275
+ return __generator(this, function (_h) {
276
+ switch (_h.label) {
277
+ case 0:
278
+ _a = thunkApi.getState(), settings = _a.settings, kyc = _a.kyc;
279
+ _b = ((_c = kyc.data.responseData) === null || _c === void 0 ? void 0 : _c.verifyTokenData) || {}, boardId = _b.boardId, infoId = _b.board_info_id;
280
+ if (!boardId)
281
+ return [2];
282
+ payload = {
283
+ lang: settings.data.language,
284
+ step_name: KYC_STEP_NAMES.KYC_COMPLETED,
285
+ id: boardId
286
+ };
287
+ return [4, API.boardService.updateBoardInfo(__assign({ id: boardId, infoId: infoId }, payload))];
288
+ case 1:
289
+ data = _h.sent();
290
+ sendCustomEventToGTM({
291
+ event: 'Send Event',
292
+ event_category: 'Board Flows - KYC',
293
+ event_action: 'KYC Update Success Page',
294
+ event_label: settings.data.businessCountry.iso2
295
+ });
296
+ (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, {});
297
+ (_g = (_f = settings.data.appConfig).onFlowCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, { data: data });
298
+ return [2, { data: data }];
299
+ }
300
+ });
301
+ }); });
302
+ var initialState = {
303
+ error: null,
304
+ loading: false,
305
+ customLoading: false,
306
+ data: {
307
+ flowName: FlowsTypes.CONNECT,
308
+ verify: {
309
+ token: ''
310
+ },
311
+ otpData: {
312
+ otp: ''
313
+ },
314
+ idInfo: {
315
+ nid: '',
316
+ dob: ''
317
+ }
318
+ }
319
+ };
320
+ export var kycSlice = createSlice({
321
+ name: 'kyc/store',
322
+ initialState: initialState,
323
+ reducers: {
324
+ clearError: function (state) {
325
+ state.error = null;
326
+ },
327
+ setError: function (state, action) {
328
+ state.error = action.payload;
329
+ },
330
+ stopLoader: function (state) {
331
+ state.loading = false;
332
+ }
333
+ },
334
+ extraReducers: function (builder) {
335
+ builder
336
+ .addCase(verifyTokenApi.pending, function (state) {
337
+ state.error = null;
338
+ state.customLoading = true;
339
+ })
340
+ .addCase(verifyTokenApi.fulfilled, function (state, action) {
341
+ state.error = null;
342
+ state.customLoading = false;
343
+ var _a = action.payload || {}, data = _a.data, token = _a.token, userList = _a.userList;
344
+ state.data.responseData = {
345
+ verifyTokenData: data,
346
+ userList: userList
347
+ };
348
+ state.data.verify.token = token;
349
+ })
350
+ .addCase(verifyTokenApi.rejected, function (state, action) {
351
+ state.error = action.error.message;
352
+ state.customLoading = false;
353
+ })
354
+ .addCase(createNafathAuth.pending, function (state) {
355
+ state.loading = true;
356
+ state.error = null;
357
+ })
358
+ .addCase(createNafathAuth.fulfilled, function (state, action) {
359
+ state.loading = false;
360
+ state.error = null;
361
+ var data = action.payload.data;
362
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { createAuthData: data });
363
+ })
364
+ .addCase(createNafathAuth.rejected, function (state, action) {
365
+ state.loading = false;
366
+ state.error = action.error.message;
367
+ })
368
+ .addCase(verifyNafath.pending, function (state) {
369
+ state.loading = true;
370
+ state.error = null;
371
+ })
372
+ .addCase(verifyNafath.fulfilled, function (state, action) {
373
+ state.loading = false;
374
+ var data = action.payload.data;
375
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { verifyAuthData: data });
376
+ })
377
+ .addCase(verifyNafath.rejected, function (state, action) {
378
+ state.loading = false;
379
+ var error = action.error.message;
380
+ if (error !== 'Aborted') {
381
+ state.error = error;
382
+ }
383
+ })
384
+ .addCase(createPaciAuth.pending, function (state) {
385
+ state.loading = true;
386
+ state.error = null;
387
+ })
388
+ .addCase(createPaciAuth.fulfilled, function (state, action) {
389
+ state.loading = false;
390
+ state.error = null;
391
+ var data = action.payload.data;
392
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { createAuthData: data });
393
+ })
394
+ .addCase(createPaciAuth.rejected, function (state, action) {
395
+ state.loading = false;
396
+ state.error = action.error.message;
397
+ })
398
+ .addCase(verifyPaci.pending, function (state) {
399
+ state.loading = true;
400
+ state.error = null;
401
+ })
402
+ .addCase(verifyPaci.fulfilled, function (state, action) {
403
+ state.loading = false;
404
+ var data = action.payload.data;
405
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { verifyAuthData: data });
406
+ })
407
+ .addCase(verifyPaci.rejected, function (state, action) {
408
+ state.loading = false;
409
+ var error = action.error.message;
410
+ if (error !== 'Aborted') {
411
+ state.error = error;
412
+ }
413
+ })
414
+ .addCase(updateKYCSuccess.fulfilled, function (state, action) {
415
+ state.loading = false;
416
+ state.error = null;
417
+ var data = (action.payload || {}).data;
418
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { boardSuccess: data });
419
+ })
420
+ .addCase(updateKYCSuccess.pending, function (state) {
421
+ state.loading = true;
422
+ state.error = null;
423
+ })
424
+ .addCase(updateKYCSuccess.rejected, function (state, action) {
425
+ state.loading = false;
426
+ state.error = action.error.message;
427
+ });
428
+ }
429
+ });
430
+ export var clearError = (_a = kycSlice.actions, _a.clearError), setError = _a.setError, stopLoader = _a.stopLoader;
431
+ export default kycSlice.reducer;
432
+ export var kycSelector = function (state) { return state.kyc; };
@@ -56,19 +56,21 @@ var redirection = function (type) {
56
56
  return handleNextScreenStep('SIGIN_OTP_STEP');
57
57
  };
58
58
  export var createMobileAuth = createAsyncThunk('signIn/createMobileAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
59
- var settings, requestBody, data;
60
- var _a, _b, _c, _d;
61
- return __generator(this, function (_e) {
62
- switch (_e.label) {
59
+ var settings, isStartWithZero, mobileNumber, requestBody, data;
60
+ var _a, _b, _c, _d, _e;
61
+ return __generator(this, function (_f) {
62
+ switch (_f.label) {
63
63
  case 0:
64
64
  settings = thunkApi.getState().settings;
65
+ isStartWithZero = (_a = params.mobile) === null || _a === void 0 ? void 0 : _a.startsWith('0');
66
+ mobileNumber = isStartWithZero ? params.mobile.slice(1) : params.mobile;
65
67
  requestBody = {
66
68
  country: settings.data.businessCountry.iso2,
67
69
  scope: settings.data.appConfig.scope,
68
70
  lang: settings.data.language,
69
71
  user_credentail: {
70
- phone: params.mobile || '',
71
- code: (_b = (_a = params.countryCode) === null || _a === void 0 ? void 0 : _a.idd_prefix) === null || _b === void 0 ? void 0 : _b.toString()
72
+ phone: mobileNumber || '',
73
+ code: (_c = (_b = params.countryCode) === null || _b === void 0 ? void 0 : _b.idd_prefix) === null || _c === void 0 ? void 0 : _c.toString()
72
74
  },
73
75
  sign_in: true,
74
76
  step_name: SignIn_STEP_NAMES.CREATE_AUTH_MOBILE,
@@ -76,28 +78,30 @@ export var createMobileAuth = createAsyncThunk('signIn/createMobileAuth', functi
76
78
  };
77
79
  return [4, API.authService.createAuth(requestBody)];
78
80
  case 1:
79
- data = _e.sent();
81
+ data = _f.sent();
80
82
  thunkApi.dispatch(redirection(data === null || data === void 0 ? void 0 : data.auth_type));
81
- (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, requestBody.user_credentail);
83
+ (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, requestBody.user_credentail);
82
84
  return [2, { data: data, formData: params }];
83
85
  }
84
86
  });
85
87
  }); });
86
88
  export var resendOTPMobile = createAsyncThunk('signIn/resendOTPMobile', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
87
- var _a, settings, signIn, authData, requestBody, data;
88
- var _b, _c;
89
- return __generator(this, function (_d) {
90
- switch (_d.label) {
89
+ var _a, settings, signIn, authData, isStartWithZero, mobileNumber, requestBody, data;
90
+ var _b, _c, _d, _e;
91
+ return __generator(this, function (_f) {
92
+ switch (_f.label) {
91
93
  case 0:
92
94
  _a = thunkApi.getState(), settings = _a.settings, signIn = _a.signIn;
93
95
  authData = signIn.data.auth;
96
+ isStartWithZero = (_b = authData.mobile) === null || _b === void 0 ? void 0 : _b.startsWith('0');
97
+ mobileNumber = isStartWithZero ? (_c = authData.mobile) === null || _c === void 0 ? void 0 : _c.slice(1) : authData.mobile;
94
98
  requestBody = {
95
99
  country: settings.data.businessCountry.iso2,
96
100
  scope: settings.data.appConfig.scope,
97
101
  lang: settings.data.language,
98
102
  user_credentail: {
99
- phone: authData.mobile || '',
100
- code: ((_c = (_b = authData.countryCode) === null || _b === void 0 ? void 0 : _b.idd_prefix) === null || _c === void 0 ? void 0 : _c.toString()) || ''
103
+ phone: mobileNumber || '',
104
+ code: ((_e = (_d = authData.countryCode) === null || _d === void 0 ? void 0 : _d.idd_prefix) === null || _e === void 0 ? void 0 : _e.toString()) || ''
101
105
  },
102
106
  sign_in: true,
103
107
  step_name: SignIn_STEP_NAMES.CREATE_AUTH_MOBILE,
@@ -105,7 +109,7 @@ export var resendOTPMobile = createAsyncThunk('signIn/resendOTPMobile', function
105
109
  };
106
110
  return [4, API.authService.createAuth(requestBody)];
107
111
  case 1:
108
- data = _d.sent();
112
+ data = _f.sent();
109
113
  return [2, data];
110
114
  }
111
115
  });
@@ -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
  }
@@ -35,7 +35,7 @@ import { authSelector } from '../../../app/auth/authStore';
35
35
  import ExpandIcon from '../../../../components/ExpandIcon';
36
36
  import Input from '../../../shared/Input';
37
37
  import SimpleList from '../../../../components/SimpleList';
38
- import { removeAllCharsFromNumber } from '../../../../utils';
38
+ import { getMobileNumberLen, removeAllCharsFromNumber } from '../../../../utils';
39
39
  import { useLanguage, useAppSelector } from '../../../../hooks';
40
40
  import Search from '../../../shared/Search';
41
41
  var LabelContainerStyled = styled(Box)(function (_a) {
@@ -97,10 +97,8 @@ var MobileNumber = React.forwardRef(function (_a, ref) {
97
97
  var isSA = countryCodeValue.iso2 === 'SA';
98
98
  var mobileMaxLen = countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.max_digits;
99
99
  var mobileMinLen = countryCodeValue === null || countryCodeValue === void 0 ? void 0 : countryCodeValue.min_digits;
100
- var isStartsWith5 = mobileValue.startsWith('5');
101
- var requiredSALen = isStartsWith5 ? mobileMaxLen - 1 : mobileMaxLen;
102
- var requiredMinLen = isSA ? requiredSALen : mobileMinLen;
103
- var requiredMaxLen = isSA ? requiredSALen : mobileMaxLen;
100
+ var requiredMaxLen = getMobileNumberLen(mobileMaxLen, mobileValue);
101
+ var requiredMinLen = getMobileNumberLen(mobileMinLen, mobileValue);
104
102
  React.useEffect(function () {
105
103
  if (mobileValue)
106
104
  setValue('mobile', mobileValue, { shouldValidate: true });
@@ -142,8 +140,8 @@ var MobileNumber = React.forwardRef(function (_a, ref) {
142
140
  var filteredCountries = countries.filter(function (country) {
143
141
  return country.idd_prefix.toString().toLowerCase().startsWith(value.replace('+', '').toLowerCase()) ||
144
142
  country.capital.toLowerCase().startsWith(value.toLowerCase()) ||
145
- country.name.arabic.toLowerCase().startsWith(value.toLowerCase()) ||
146
- country.name.english.toLowerCase().startsWith(value.toLowerCase());
143
+ country.name.arabic.toLowerCase().includes(value.toLowerCase()) ||
144
+ country.name.english.toLowerCase().includes(value.toLowerCase());
147
145
  });
148
146
  setCountries(filteredCountries);
149
147
  };
@@ -1,3 +1,4 @@
1
+ import { getMobileNumberLen } from '../../../../utils';
1
2
  import * as yup from 'yup';
2
3
  export var PhoneValidationSchema = function () {
3
4
  return yup.object().shape({
@@ -20,10 +21,12 @@ export var PhoneValidationSchema = function () {
20
21
  if (isSA) {
21
22
  if (!isSaudiNumber)
22
23
  return this.createError({ message: 'start_with_number' });
23
- var requiredLen = isStartWith5 ? maxDigits - 1 : maxDigits;
24
+ var requiredLen = isStartWithZero ? maxDigits + 1 : maxDigits;
24
25
  return valueLen === requiredLen ? true : this.createError({ message: 'enter_valid_mobile_number' });
25
26
  }
26
- if (valueLen >= minDigits && valueLen <= maxDigits)
27
+ var requiredMaxLen = getMobileNumberLen(maxDigits, mobileValue);
28
+ var requiredMinLen = getMobileNumberLen(minDigits, mobileValue);
29
+ if (valueLen >= requiredMinLen && valueLen <= requiredMaxLen)
27
30
  return true;
28
31
  if (minDigits === maxDigits)
29
32
  return this.createError({ message: 'enter_valid_mobile_number' });
@@ -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);
@@ -1,3 +1,2 @@
1
- import OTP, { OTPProps } from './OTP';
2
- export type { OTPProps };
1
+ import OTP from './OTP';
3
2
  export default OTP;