@tap-payments/auth-jsconnect 2.8.75-sandbox → 2.8.76-development

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 (101) hide show
  1. package/build/@types/form.d.ts +1 -1
  2. package/build/api/auth.d.ts +13 -0
  3. package/build/api/index.d.ts +2 -2
  4. package/build/api/lead.d.ts +6 -0
  5. package/build/assets/locales/ar.json +10 -1
  6. package/build/assets/locales/en.json +10 -1
  7. package/build/components/Tooltip/Tooltip.js +1 -1
  8. package/build/constants/app.d.ts +1 -1
  9. package/build/constants/app.js +35 -13
  10. package/build/constants/assets.d.ts +2 -0
  11. package/build/constants/assets.js +2 -0
  12. package/build/features/app/auth/authStore.d.ts +5 -15
  13. package/build/features/app/auth/authStore.js +58 -113
  14. package/build/features/app/business/businessStore.d.ts +16 -11
  15. package/build/features/app/business/businessStore.js +58 -44
  16. package/build/features/app/connect/connectStore.d.ts +19 -12
  17. package/build/features/app/connect/connectStore.js +151 -82
  18. package/build/features/app/connectExpress/connectExpressStore.d.ts +10 -33
  19. package/build/features/app/connectExpress/connectExpressStore.js +156 -251
  20. package/build/features/app/individual/individualStore.js +4 -1
  21. package/build/features/auth/screens/AuthSwitch/AuthSwitch.js +2 -2
  22. package/build/features/auth/screens/NID/IDNumber.js +1 -1
  23. package/build/features/auth/screens/NID/NID.js +4 -10
  24. package/build/features/auth/screens/NID/validation.d.ts +0 -3
  25. package/build/features/auth/screens/NID/validation.js +0 -1
  26. package/build/features/auth/screens/OTP/OTP.js +1 -5
  27. package/build/features/auth/screens/OTP/OTPInput.js +2 -13
  28. package/build/features/{connectExpress/screens/IdentityOTP/OTP.d.ts → auth/screens/VerifyNafath/VerifyNafath.d.ts} +2 -2
  29. package/build/features/auth/screens/VerifyNafath/VerifyNafath.js +34 -0
  30. package/build/features/auth/screens/VerifyNafath/index.d.ts +3 -0
  31. package/build/features/auth/screens/VerifyNafath/index.js +2 -0
  32. package/build/features/business/screens/VerifyNafath/VerifyNafath.d.ts +5 -0
  33. package/build/features/business/screens/VerifyNafath/VerifyNafath.js +34 -0
  34. package/build/features/business/screens/VerifyNafath/index.d.ts +3 -0
  35. package/build/features/business/screens/VerifyNafath/index.js +2 -0
  36. package/build/features/connect/screens/Mobile/Mobile.js +2 -2
  37. package/build/features/connect/screens/NID/IDNumber.d.ts +1 -0
  38. package/build/features/connect/screens/NID/IDNumber.js +2 -2
  39. package/build/features/connect/screens/NID/NID.js +5 -11
  40. package/build/features/connect/screens/NID/validation.d.ts +0 -3
  41. package/build/features/connect/screens/NID/validation.js +0 -1
  42. package/build/features/connect/screens/OTP/OTPInput.js +3 -11
  43. package/build/features/connect/screens/VerifyNafath/VerifyNafath.d.ts +5 -0
  44. package/build/features/connect/screens/VerifyNafath/VerifyNafath.js +34 -0
  45. package/build/features/connect/screens/VerifyNafath/index.d.ts +3 -0
  46. package/build/features/connect/screens/VerifyNafath/index.js +2 -0
  47. package/build/features/connectExpress/screens/IdentityVerifyNafath/IdentityVerifyNafath.d.ts +5 -0
  48. package/build/features/connectExpress/screens/IdentityVerifyNafath/IdentityVerifyNafath.js +34 -0
  49. package/build/features/connectExpress/screens/IdentityVerifyNafath/index.d.ts +3 -0
  50. package/build/features/connectExpress/screens/IdentityVerifyNafath/index.js +2 -0
  51. package/build/features/connectExpress/screens/Mobile/Mobile.js +2 -2
  52. package/build/features/connectExpress/screens/NID/IDNumber.d.ts +1 -0
  53. package/build/features/connectExpress/screens/NID/IDNumber.js +2 -2
  54. package/build/features/connectExpress/screens/NID/NID.js +4 -9
  55. package/build/features/connectExpress/screens/NID/validation.d.ts +0 -3
  56. package/build/features/connectExpress/screens/NID/validation.js +0 -2
  57. package/build/features/connectExpress/screens/NIDMissed/NID.js +2 -2
  58. package/build/features/connectExpress/screens/OTP/OTP.js +5 -13
  59. package/build/features/connectExpress/screens/OTP/OTPInput.js +3 -11
  60. package/build/features/connectExpress/screens/VerifyNafath/VerifyNafath.d.ts +5 -0
  61. package/build/features/connectExpress/screens/VerifyNafath/VerifyNafath.js +34 -0
  62. package/build/features/connectExpress/screens/VerifyNafath/index.d.ts +3 -0
  63. package/build/features/connectExpress/screens/VerifyNafath/index.js +2 -0
  64. package/build/features/featuresScreens.js +21 -6
  65. package/build/features/shared/Button/NafathButton.d.ts +7 -0
  66. package/build/features/shared/Button/{AbsherButton.js → NafathButton.js} +13 -3
  67. package/build/features/shared/Button/index.d.ts +2 -2
  68. package/build/features/shared/Button/index.js +2 -2
  69. package/build/features/shared/NafathVerification/NafathVerification.d.ts +13 -0
  70. package/build/features/shared/NafathVerification/NafathVerification.js +92 -0
  71. package/build/features/shared/NafathVerification/VerifyNafathLoading.d.ts +8 -0
  72. package/build/features/shared/NafathVerification/VerifyNafathLoading.js +53 -0
  73. package/build/features/shared/NafathVerification/VerifyNafathSuccess.d.ts +5 -0
  74. package/build/features/shared/NafathVerification/VerifyNafathSuccess.js +8 -0
  75. package/build/features/shared/NafathVerification/index.d.ts +2 -0
  76. package/build/features/shared/NafathVerification/index.js +2 -0
  77. package/build/theme/palette.js +2 -1
  78. package/build/utils/common.js +3 -3
  79. package/package.json +2 -2
  80. package/build/features/auth/screens/NID/DOB.d.ts +0 -6
  81. package/build/features/auth/screens/NID/DOB.js +0 -47
  82. package/build/features/business/screens/OTP/OTP.d.ts +0 -8
  83. package/build/features/business/screens/OTP/OTP.js +0 -90
  84. package/build/features/business/screens/OTP/OTPInput.d.ts +0 -5
  85. package/build/features/business/screens/OTP/OTPInput.js +0 -49
  86. package/build/features/business/screens/OTP/index.d.ts +0 -3
  87. package/build/features/business/screens/OTP/index.js +0 -2
  88. package/build/features/business/screens/OTP/validation.d.ts +0 -8
  89. package/build/features/business/screens/OTP/validation.js +0 -4
  90. package/build/features/connect/screens/NID/DOB.d.ts +0 -5
  91. package/build/features/connect/screens/NID/DOB.js +0 -47
  92. package/build/features/connectExpress/screens/IdentityOTP/OTP.js +0 -88
  93. package/build/features/connectExpress/screens/IdentityOTP/OTPInput.d.ts +0 -5
  94. package/build/features/connectExpress/screens/IdentityOTP/OTPInput.js +0 -56
  95. package/build/features/connectExpress/screens/IdentityOTP/index.d.ts +0 -3
  96. package/build/features/connectExpress/screens/IdentityOTP/index.js +0 -2
  97. package/build/features/connectExpress/screens/IdentityOTP/validation.d.ts +0 -8
  98. package/build/features/connectExpress/screens/IdentityOTP/validation.js +0 -4
  99. package/build/features/connectExpress/screens/NID/DOB.d.ts +0 -6
  100. package/build/features/connectExpress/screens/NID/DOB.js +0 -47
  101. package/build/features/shared/Button/AbsherButton.d.ts +0 -7
@@ -309,80 +309,109 @@ export var resendMobileAuthOTP = createAsyncThunk('connectExpress/resendMobileAu
309
309
  }
310
310
  });
311
311
  }); });
312
- export var createNIDAuthAsync = createAsyncThunk('connectExpress/createNIDAuthAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
313
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
314
- var _b, _c;
315
- return __generator(this, function (_d) {
316
- switch (_d.label) {
312
+ export var createNafathAuth = createAsyncThunk('connectExpress/createNafathAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
313
+ var settings, requestBody, data;
314
+ var _a, _b;
315
+ return __generator(this, function (_c) {
316
+ switch (_c.label) {
317
317
  case 0:
318
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
319
- dob = params.dob, nid = params.nid;
320
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
321
- countryCode = settings.data.businessCountry.iso2;
318
+ settings = thunkApi.getState().settings;
322
319
  requestBody = {
323
- country: countryCode,
320
+ country: settings.data.businessCountry.iso2,
324
321
  scope: settings.data.appConfig.scope,
325
322
  lang: settings.data.language,
326
- lead_id: connectExpress.data.leadId,
327
323
  user_credentail: {
328
- identification_id: nid,
329
- identification_id_type: nidType,
330
- date_of_birth: dob,
331
- country_code: countryCode
324
+ identification_id: params.nid,
325
+ identification_id_type: IDENTIFICATION_TYPE.NAFATH,
326
+ country_code: settings.data.businessCountry.iso2
332
327
  },
333
328
  sign_in: false,
334
329
  is_lead: true,
335
330
  step_name: CONNECT_EXPRESS_STEP_NAMES.CREATE_AUTH_NID,
336
- encryption_contract: [
337
- 'user_credentail.country_code',
338
- 'user_credentail.identification_id',
339
- 'user_credentail.identification_id_type',
340
- 'user_credentail.date_of_birth'
341
- ]
331
+ encryption_contract: ['user_credentail.country_code', 'user_credentail.identification_id', 'user_credentail.identification_id_type']
342
332
  };
343
- return [4, API.authService.createExpressAuth(requestBody)];
333
+ return [4, API.authService.createAuthKitNID(requestBody)];
344
334
  case 1:
345
- data = _d.sent();
335
+ data = _c.sent();
346
336
  thunkApi.dispatch(handleNextScreenStep());
347
- (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, requestBody.user_credentail);
348
- return [2, { response: data, formData: params }];
337
+ (_b = (_a = settings.data.appConfig).onStepCompleted) === null || _b === void 0 ? void 0 : _b.call(_a, settings.data.activeScreen.name, requestBody);
338
+ return [2, { response: data, formData: __assign(__assign({}, params), { type: IDENTIFICATION_TYPE.NAFATH }) }];
349
339
  }
350
340
  });
351
341
  }); });
352
- export var resendNIDAuthOTP = createAsyncThunk('connectExpress/resendNIDAuthOTPExpress', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
353
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
354
- return __generator(this, function (_b) {
355
- switch (_b.label) {
342
+ export var verifyNafathAsync = createAsyncThunk('connectExpress/verifyNafathAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
343
+ var _a, settings, connectExpress, authData, _b, scope, redirectUrl, authConfigData, isScopeAuthentication, bi, isDataHasIndividualOnly, authDataHasValue, expiry, interval, maxCalls, count, data, isSuccess, authId, urlQueryStart, _c, brandList, entityList, stepName, needToCollectMoreInfo, creatingAccount;
344
+ var _d, _e;
345
+ return __generator(this, function (_f) {
346
+ switch (_f.label) {
356
347
  case 0:
357
348
  _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
358
- dob = params.dob, nid = params.nid;
359
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
360
- countryCode = settings.data.businessCountry.iso2;
361
- requestBody = {
362
- country: countryCode,
363
- scope: settings.data.appConfig.scope,
364
- lang: settings.data.language,
365
- lead_id: connectExpress.data.leadId,
366
- user_credentail: {
367
- identification_id: nid,
368
- identification_id_type: nidType,
369
- date_of_birth: dob,
370
- country_code: countryCode
371
- },
372
- sign_in: false,
373
- is_lead: true,
374
- step_name: CONNECT_EXPRESS_STEP_NAMES.CREATE_AUTH_NID,
375
- encryption_contract: [
376
- 'user_credentail.country_code',
377
- 'user_credentail.identification_id',
378
- 'user_credentail.identification_id_type',
379
- 'user_credentail.date_of_birth'
380
- ]
381
- };
382
- return [4, API.authService.createExpressAuth(requestBody)];
349
+ authData = (connectExpress.data.responseData || {}).authData;
350
+ _b = settings.data.appConfig, scope = _b.scope, redirectUrl = _b.redirectUrl, authConfigData = _b.data;
351
+ isScopeAuthentication = scope === SCOPE_AUTH;
352
+ bi = settings.data.deviceInfo.browser.browser_id;
353
+ isDataHasIndividualOnly = (authConfigData === null || authConfigData === void 0 ? void 0 : authConfigData.length) === 1 && authConfigData.includes('individual');
354
+ authDataHasValue = authConfigData === null || authConfigData === void 0 ? void 0 : authConfigData.length;
355
+ expiry = (authData === null || authData === void 0 ? void 0 : authData.expiry) || 120;
356
+ interval = 3;
357
+ maxCalls = Math.floor(expiry / interval);
358
+ count = 1;
359
+ _f.label = 1;
383
360
  case 1:
384
- data = _b.sent();
385
- return [2, { response: data, formData: params }];
361
+ if (!(count <= maxCalls)) return [3, 9];
362
+ if (thunkApi.signal.aborted) {
363
+ return [3, 9];
364
+ }
365
+ return [4, API.authService.getVerifyAuth(authData === null || authData === void 0 ? void 0 : authData.auth_token)];
366
+ case 2:
367
+ data = _f.sent();
368
+ isSuccess = ((_d = data.status) === null || _d === void 0 ? void 0 : _d.toLowerCase()) === 'success';
369
+ if (!isSuccess) return [3, 6];
370
+ authId = data.id;
371
+ thunkApi.dispatch(storeAuthId(authId));
372
+ if (isScopeAuthentication && !data.new_user && isDataHasIndividualOnly && authId) {
373
+ if (settings.data.appConfig.mode === 'popup') {
374
+ settings.data.appConfig.onFlowCompleted({ auth_id: authId, bi: bi });
375
+ thunkApi.dispatch(handleOpen(false));
376
+ return [2, data];
377
+ }
378
+ if (redirectUrl) {
379
+ urlQueryStart = redirectUrl.includes('?') ? '&' : '?';
380
+ window.open("".concat(redirectUrl).concat(urlQueryStart, "authentication_id=").concat(authId, "&bi=").concat(bi), '_self');
381
+ return [2, data];
382
+ }
383
+ }
384
+ if (!(isScopeAuthentication && !data.new_user && authDataHasValue)) return [3, 4];
385
+ return [4, thunkApi.dispatch(retrieveAuthenticationListAsync({ individualId: data.individual_id })).unwrap()];
386
+ case 3:
387
+ _c = _f.sent(), brandList = _c.brandList, entityList = _c.entityList;
388
+ if (brandList.length && entityList.length) {
389
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_AUTHENTICATION_LIST_STEP')); });
390
+ return [2, data];
391
+ }
392
+ _f.label = 4;
393
+ case 4: return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead_id)).unwrap()];
394
+ case 5:
395
+ _f.sent();
396
+ stepName = data.step_name;
397
+ needToCollectMoreInfo = stepName === 'collect_info';
398
+ creatingAccount = stepName === 'create_account';
399
+ (_e = params.onSuccess) === null || _e === void 0 ? void 0 : _e.call(params);
400
+ if (creatingAccount) {
401
+ sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
402
+ }
403
+ if (needToCollectMoreInfo) {
404
+ sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP')); });
405
+ }
406
+ return [2, data];
407
+ case 6: return [4, sleep(interval * 1000)];
408
+ case 7:
409
+ _f.sent();
410
+ _f.label = 8;
411
+ case 8:
412
+ count++;
413
+ return [3, 1];
414
+ case 9: throw new Error('nafath_verification_failed');
386
415
  }
387
416
  });
388
417
  }); });
@@ -490,82 +519,6 @@ export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileO
490
519
  }
491
520
  });
492
521
  }); });
493
- export var verifyNIDOtpAsync = createAsyncThunk('connectExpress/verifyNIDOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
494
- var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, nidData, _c, auth_token, device_token, service_name, _d, scope, redirectUrl, authData, isScopeAuthentication, bi, isDataHasIndividualOnly, authDataHasValue, payload, data, authId, urlQueryStart, _e, brandList, entityList, stepName, needToCollectMoreInfo, creatingAccount;
495
- var _f, _g;
496
- return __generator(this, function (_h) {
497
- switch (_h.label) {
498
- case 0:
499
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
500
- _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId, isLeadIdPassed = _b.isLeadIdPassed, nidData = _b.nidData;
501
- if (!(responseData === null || responseData === void 0 ? void 0 : responseData.authData))
502
- throw new Error('Auth data is missing');
503
- _c = responseData.authData, auth_token = _c.auth_token, device_token = _c.device_token, service_name = _c.service_name;
504
- _d = settings.data.appConfig, scope = _d.scope, redirectUrl = _d.redirectUrl, authData = _d.data;
505
- isScopeAuthentication = scope === SCOPE_AUTH;
506
- bi = settings.data.deviceInfo.browser.browser_id;
507
- isDataHasIndividualOnly = (authData === null || authData === void 0 ? void 0 : authData.length) === 1 && authData.includes('individual');
508
- authDataHasValue = authData === null || authData === void 0 ? void 0 : authData.length;
509
- payload = {
510
- auth_token: auth_token,
511
- lead_id: leadId,
512
- data: params.otp,
513
- auth_type: 2,
514
- device_token: device_token,
515
- service_name: service_name || 'ABSHER',
516
- sign_in: false,
517
- terms: isLeadIdPassed && nidData.termAndConditionChecked ? ['general'] : undefined,
518
- step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_NID,
519
- encryption_contract: ['data']
520
- };
521
- return [4, API.authService.verifyExpressAuth(payload)];
522
- case 1:
523
- data = _h.sent();
524
- sendCustomEventToGTM({
525
- event: 'Send Event',
526
- event_category: 'User Registration Flow',
527
- event_action: 'First OTP Success'
528
- });
529
- (_g = (_f = settings.data.appConfig).onStepCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, settings.data.activeScreen.name, params);
530
- authId = data.auth.id;
531
- thunkApi.dispatch(storeAuthId(authId));
532
- if (isScopeAuthentication && !data.new_user && isDataHasIndividualOnly && authId) {
533
- if (settings.data.appConfig.mode === 'popup') {
534
- settings.data.appConfig.onFlowCompleted({ auth_id: authId, bi: bi });
535
- thunkApi.dispatch(handleOpen(false));
536
- return [2, data];
537
- }
538
- if (redirectUrl) {
539
- urlQueryStart = redirectUrl.includes('?') ? '&' : '?';
540
- window.open("".concat(redirectUrl).concat(urlQueryStart, "authentication_id=").concat(authId, "&bi=").concat(bi), '_self');
541
- return [2, data];
542
- }
543
- }
544
- if (!(isScopeAuthentication && !data.new_user && authDataHasValue)) return [3, 3];
545
- return [4, thunkApi.dispatch(retrieveAuthenticationListAsync({ individualId: data.individual_id })).unwrap()];
546
- case 2:
547
- _e = _h.sent(), brandList = _e.brandList, entityList = _e.entityList;
548
- if (brandList.length && entityList.length) {
549
- sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_AUTHENTICATION_LIST_STEP')); });
550
- return [2, data];
551
- }
552
- _h.label = 3;
553
- case 3: return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead.id)).unwrap()];
554
- case 4:
555
- _h.sent();
556
- stepName = data.step_name;
557
- needToCollectMoreInfo = stepName === 'collect_info';
558
- creatingAccount = stepName === 'create_account';
559
- if (creatingAccount) {
560
- sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
561
- }
562
- if (needToCollectMoreInfo) {
563
- sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP')); });
564
- }
565
- return [2, data];
566
- }
567
- });
568
- }); });
569
522
  export var verifyPACIAsync = createAsyncThunk('connectExpress/verifyPACIAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
570
523
  var _a, settings, connectExpress, authData, _b, scope, redirectUrl, authConfigData, isScopeAuthentication, bi, isDataHasIndividualOnly, authDataHasValue, expiry, interval, maxCalls, count, data, isSuccess, authId, urlQueryStart, _c, brandList, entityList, stepName, needToCollectMoreInfo, creatingAccount;
571
524
  var _d, _e, _f;
@@ -670,28 +623,29 @@ export var createCivilIDAuthIdentityAsync = createAsyncThunk('connectExpress/cre
670
623
  }
671
624
  });
672
625
  }); });
673
- export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createNIDAuthIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
674
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
626
+ export var createNIDNafathAuthIdentityAsync = createAsyncThunk('connectExpress/createNIDNafathAuthIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
627
+ var _a, settings, connectExpress, nid, dob, nidType, countryCode, authData, requestBody, data;
675
628
  var _b, _c, _d;
676
629
  return __generator(this, function (_e) {
677
630
  switch (_e.label) {
678
631
  case 0:
679
632
  _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
680
- dob = params.dob, nid = params.nid;
681
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
633
+ nid = params.nid, dob = params.dob;
634
+ nidType = IDENTIFICATION_TYPE.NAFATH;
682
635
  countryCode = settings.data.businessCountry.iso2;
683
636
  if (isOtherThanKWOrSA(countryCode)) {
684
637
  nidType = IDENTIFICATION_TYPE.NID;
685
638
  }
639
+ authData = (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData;
686
640
  requestBody = {
687
- id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
641
+ id: authData === null || authData === void 0 ? void 0 : authData.lead_id,
688
642
  identification: {
689
643
  id: nid,
690
644
  issued_country_code: countryCode,
691
645
  type: nidType
692
646
  },
693
- country_code: countryCode,
694
647
  date_of_birth: dob,
648
+ country_code: countryCode,
695
649
  step_name: CONNECT_EXPRESS_STEP_NAMES.IDENTITY_AUTH,
696
650
  encryption_contract: ['identification.issued_country_code', 'identification.id', 'identification.type', 'date_of_birth']
697
651
  };
@@ -699,7 +653,7 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
699
653
  case 1:
700
654
  data = _e.sent();
701
655
  if (!((data === null || data === void 0 ? void 0 : data.verify_token) !== 'null')) return [3, 2];
702
- thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_OTP_IDENTITY_STEP'));
656
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_IDENTITY_VERIFY_NAFATH_STEP'));
703
657
  return [3, 4];
704
658
  case 2:
705
659
  if (!isOtherThanKWOrSA(countryCode)) return [3, 4];
@@ -709,77 +663,40 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
709
663
  thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP'));
710
664
  _e.label = 4;
711
665
  case 4:
712
- (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, requestBody.identification);
713
- return [2, { response: { verify_token: data.verify_token }, formData: params }];
714
- }
715
- });
716
- }); });
717
- export var resendNIDAuthIdentityOTP = createAsyncThunk('connectExpress/resendNIDAuthIdentityOTPExpress', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
718
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
719
- var _b;
720
- return __generator(this, function (_c) {
721
- switch (_c.label) {
722
- case 0:
723
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
724
- dob = params.dob, nid = params.nid;
725
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
726
- countryCode = settings.data.businessCountry.iso2;
727
- if (isOtherThanKWOrSA(countryCode)) {
728
- nidType = IDENTIFICATION_TYPE.NID;
729
- }
730
- requestBody = {
731
- id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
732
- identification: {
733
- id: nid,
734
- issued_country_code: countryCode,
735
- type: nidType
736
- },
737
- country_code: countryCode,
738
- date_of_birth: dob,
739
- step_name: CONNECT_EXPRESS_STEP_NAMES.IDENTITY_AUTH,
740
- encryption_contract: ['identification.issued_country_code', 'identification.id', 'identification.type', 'date_of_birth']
741
- };
742
- return [4, API.leadService.updateLead(requestBody)];
743
- case 1:
744
- data = _c.sent();
666
+ (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, requestBody);
745
667
  return [2, { response: { verify_token: data.verify_token }, formData: params }];
746
668
  }
747
669
  });
748
670
  }); });
749
- export var verifyNIDOtpLeadIdentityAsync = createAsyncThunk('connectExpress/verifyNIDOtpLeadIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
750
- var _a, settings, connectExpress, _b, responseData, leadId, verify_token, payload, data, needToCollectMoreInfo, creatingAccount;
751
- var _c, _d;
752
- return __generator(this, function (_e) {
753
- switch (_e.label) {
671
+ export var verifyNafathIdentityAsync = createAsyncThunk('connectExpress/verifyNafathIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
672
+ var connectExpress, authData, expiry, interval, maxCalls, count, data, isSuccess, needToCollectMoreInfo, creatingAccount;
673
+ var _a, _b, _c;
674
+ return __generator(this, function (_d) {
675
+ switch (_d.label) {
754
676
  case 0:
755
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
756
- _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId;
757
- if (!(responseData === null || responseData === void 0 ? void 0 : responseData.authData))
758
- throw new Error('Auth data is missing');
759
- verify_token = responseData.authData.verify_token;
760
- payload = {
761
- verify_token: verify_token,
762
- lead_id: leadId,
763
- data: params.otp,
764
- service_name: 'absher',
765
- sign_in: false,
766
- step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_IDENTITY_AUTH,
767
- encryption_contract: ['data']
768
- };
769
- return [4, API.authService.verifyExpressLeadIdentity(payload)];
677
+ connectExpress = thunkApi.getState().connectExpress;
678
+ authData = (connectExpress.data.responseData || {}).authData;
679
+ expiry = (authData === null || authData === void 0 ? void 0 : authData.expiry) || 120;
680
+ interval = 3;
681
+ maxCalls = Math.floor(expiry / interval);
682
+ count = 1;
683
+ _d.label = 1;
770
684
  case 1:
771
- data = _e.sent();
772
- sendCustomEventToGTM({
773
- event: 'Send Event',
774
- event_category: 'User Registration Flow',
775
- event_action: 'Absher OTP Success'
776
- });
777
- return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead.id)).unwrap()];
685
+ if (!(count <= maxCalls)) return [3, 7];
686
+ if (thunkApi.signal.aborted) {
687
+ return [3, 7];
688
+ }
689
+ return [4, API.authService.getExpressTokenVerify({ token: authData === null || authData === void 0 ? void 0 : authData.verify_token, leadId: authData === null || authData === void 0 ? void 0 : authData.lead_id })];
778
690
  case 2:
779
- _e.sent();
780
- (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, params);
691
+ data = _d.sent();
692
+ isSuccess = ((_b = (_a = data.auth) === null || _a === void 0 ? void 0 : _a.status) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'success';
693
+ if (!isSuccess) return [3, 4];
694
+ return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead.id)).unwrap()];
695
+ case 3:
696
+ _d.sent();
781
697
  needToCollectMoreInfo = data.step_name === 'collect_info';
782
698
  creatingAccount = data.step_name === 'create_account';
699
+ (_c = params.onSuccess) === null || _c === void 0 ? void 0 : _c.call(params);
783
700
  if (creatingAccount) {
784
701
  sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
785
702
  }
@@ -787,10 +704,18 @@ export var verifyNIDOtpLeadIdentityAsync = createAsyncThunk('connectExpress/veri
787
704
  sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP')); });
788
705
  }
789
706
  return [2, data];
707
+ case 4: return [4, sleep(interval * 1000)];
708
+ case 5:
709
+ _d.sent();
710
+ _d.label = 6;
711
+ case 6:
712
+ count++;
713
+ return [3, 1];
714
+ case 7: throw new Error('nafath_verification_failed');
790
715
  }
791
716
  });
792
717
  }); });
793
- export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verifyPaciOtpLeadIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
718
+ export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verifyPaciLeadIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
794
719
  var connectExpress, authData, expiry, interval, maxCalls, count, data, isSuccess, needToCollectMoreInfo, creatingAccount;
795
720
  var _a, _b, _c;
796
721
  return __generator(this, function (_d) {
@@ -833,7 +758,7 @@ export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verify
833
758
  case 6:
834
759
  count++;
835
760
  return [3, 1];
836
- case 7: throw new Error('paci_verification_failed');
761
+ case 7: throw new Error('nafath_verification_failed');
837
762
  }
838
763
  });
839
764
  }); });
@@ -1212,7 +1137,6 @@ var initialState = {
1212
1137
  },
1213
1138
  nidData: {
1214
1139
  nid: '',
1215
- dob: '',
1216
1140
  termAndConditionChecked: false
1217
1141
  },
1218
1142
  civilIdData: {
@@ -1301,11 +1225,9 @@ export var connectSlice = createSlice({
1301
1225
  state.customLoading = false;
1302
1226
  var _a = action.payload, data = _a.data, countryCode = _a.countryCode, boardInfo = _a.boardInfo, boardData = _a.boardData;
1303
1227
  state.data.responseData = __assign(__assign({}, state.data.responseData), { leadData: data, boardInfo: boardInfo, boardData: boardData });
1304
- var _b = data || {}, identification = _b.identification, date_of_birth = _b.date_of_birth, contact = _b.contact, terms_conditions_accepted = _b.terms_conditions_accepted;
1228
+ var _b = data || {}, identification = _b.identification, contact = _b.contact, terms_conditions_accepted = _b.terms_conditions_accepted;
1305
1229
  if (identification === null || identification === void 0 ? void 0 : identification.id)
1306
1230
  state.data.nidData.nid = identification === null || identification === void 0 ? void 0 : identification.id;
1307
- if (date_of_birth)
1308
- state.data.nidData.dob = date_of_birth;
1309
1231
  var phone = (contact || {}).phone;
1310
1232
  if (phone) {
1311
1233
  state.data.mobileData.mobile = phone === null || phone === void 0 ? void 0 : phone.number;
@@ -1329,11 +1251,9 @@ export var connectSlice = createSlice({
1329
1251
  state.loading = false;
1330
1252
  var _c = action.payload, data = _c.data, countryCode = _c.countryCode;
1331
1253
  state.data.responseData = __assign(__assign({}, state.data.responseData), { leadData: data });
1332
- var _d = data || {}, name = _d.name, contact = _d.contact, brand = _d.brand, identification = _d.identification, date_of_birth = _d.date_of_birth, terms_conditions_accepted = _d.terms_conditions_accepted;
1254
+ var _d = data || {}, name = _d.name, contact = _d.contact, brand = _d.brand, identification = _d.identification, terms_conditions_accepted = _d.terms_conditions_accepted;
1333
1255
  if (identification === null || identification === void 0 ? void 0 : identification.id)
1334
1256
  state.data.nidData.nid = identification === null || identification === void 0 ? void 0 : identification.id;
1335
- if (date_of_birth)
1336
- state.data.nidData.dob = date_of_birth;
1337
1257
  var fullName = concatenateObjectValues(name, ['first', 'middle', 'last']);
1338
1258
  if (!!fullName) {
1339
1259
  var capitalizedName = capitalizeTheFirstLetterOfEachWord(fullName);
@@ -1380,29 +1300,20 @@ export var connectSlice = createSlice({
1380
1300
  .addCase(resendMobileAuthOTP.rejected, function (state, action) {
1381
1301
  state.error = action.error.message;
1382
1302
  })
1383
- .addCase(createNIDAuthAsync.pending, function (state) {
1384
- state.loading = true;
1385
- state.error = null;
1386
- })
1387
- .addCase(createNIDAuthAsync.fulfilled, function (state, action) {
1303
+ .addCase(createNafathAuth.fulfilled, function (state, action) {
1388
1304
  state.loading = false;
1389
- state.data.nidData = action.payload.formData;
1305
+ state.error = null;
1306
+ var _a = action.payload, formData = _a.formData, response = _a.response;
1307
+ state.data.nidData = formData;
1308
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: response });
1390
1309
  state.data.otpData.authFor = AuthForType.NATIONAL_ID;
1391
- state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: action.payload.response });
1392
1310
  })
1393
- .addCase(createNIDAuthAsync.rejected, function (state, action) {
1394
- state.loading = false;
1395
- state.error = action.error.message;
1396
- })
1397
- .addCase(resendNIDAuthOTP.pending, function (state) {
1311
+ .addCase(createNafathAuth.pending, function (state) {
1312
+ state.loading = true;
1398
1313
  state.error = null;
1399
1314
  })
1400
- .addCase(resendNIDAuthOTP.fulfilled, function (state, action) {
1401
- state.data.nidData = action.payload.formData;
1402
- state.data.otpData.authFor = AuthForType.NATIONAL_ID;
1403
- state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: action.payload.response });
1404
- })
1405
- .addCase(resendNIDAuthOTP.rejected, function (state, action) {
1315
+ .addCase(createNafathAuth.rejected, function (state, action) {
1316
+ state.loading = false;
1406
1317
  state.error = action.error.message;
1407
1318
  })
1408
1319
  .addCase(createCivilIdAuthAsync.pending, function (state) {
@@ -1434,32 +1345,20 @@ export var connectSlice = createSlice({
1434
1345
  state.loading = false;
1435
1346
  state.error = action.error.message;
1436
1347
  })
1437
- .addCase(createNIDAuthIdentityAsync.pending, function (state) {
1348
+ .addCase(createNIDNafathAuthIdentityAsync.pending, function (state) {
1438
1349
  state.loading = true;
1439
1350
  state.error = null;
1440
1351
  })
1441
- .addCase(createNIDAuthIdentityAsync.fulfilled, function (state, action) {
1352
+ .addCase(createNIDNafathAuthIdentityAsync.fulfilled, function (state, action) {
1442
1353
  var _a;
1443
1354
  state.loading = false;
1444
1355
  state.data.nidData = action.payload.formData;
1445
1356
  state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
1446
1357
  state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData), action.payload.response) });
1447
1358
  })
1448
- .addCase(createNIDAuthIdentityAsync.rejected, function (state, action) {
1359
+ .addCase(createNIDNafathAuthIdentityAsync.rejected, function (state, action) {
1449
1360
  state.loading = false;
1450
1361
  state.error = action.error.message;
1451
- })
1452
- .addCase(resendNIDAuthIdentityOTP.pending, function (state) {
1453
- state.error = null;
1454
- })
1455
- .addCase(resendNIDAuthIdentityOTP.fulfilled, function (state, action) {
1456
- var _a;
1457
- state.data.nidData = action.payload.formData;
1458
- state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
1459
- state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData), action.payload.response) });
1460
- })
1461
- .addCase(resendNIDAuthIdentityOTP.rejected, function (state, action) {
1462
- state.error = action.error.message;
1463
1362
  })
1464
1363
  .addCase(verifyMobileOtpAsync.pending, function (state) {
1465
1364
  state.loading = true;
@@ -1474,18 +1373,21 @@ export var connectSlice = createSlice({
1474
1373
  state.loading = false;
1475
1374
  state.error = action.error.message;
1476
1375
  })
1477
- .addCase(verifyNIDOtpAsync.pending, function (state) {
1376
+ .addCase(verifyNafathAsync.pending, function (state) {
1478
1377
  state.loading = true;
1479
1378
  state.error = null;
1480
1379
  })
1481
- .addCase(verifyNIDOtpAsync.fulfilled, function (state, action) {
1380
+ .addCase(verifyNafathAsync.fulfilled, function (state, action) {
1482
1381
  var _a;
1483
1382
  state.loading = false;
1484
1383
  state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData), action.payload) });
1485
1384
  })
1486
- .addCase(verifyNIDOtpAsync.rejected, function (state, action) {
1385
+ .addCase(verifyNafathAsync.rejected, function (state, action) {
1487
1386
  state.loading = false;
1488
- state.error = action.error.message;
1387
+ var error = action.error.message;
1388
+ if (error !== 'Aborted') {
1389
+ state.error = error;
1390
+ }
1489
1391
  })
1490
1392
  .addCase(verifyPACIAsync.pending, function (state) {
1491
1393
  state.loading = true;
@@ -1503,19 +1405,22 @@ export var connectSlice = createSlice({
1503
1405
  state.error = error;
1504
1406
  }
1505
1407
  })
1506
- .addCase(verifyNIDOtpLeadIdentityAsync.pending, function (state) {
1408
+ .addCase(verifyNafathIdentityAsync.pending, function (state) {
1507
1409
  state.loading = true;
1508
1410
  state.error = null;
1509
1411
  })
1510
- .addCase(verifyNIDOtpLeadIdentityAsync.fulfilled, function (state, action) {
1412
+ .addCase(verifyNafathIdentityAsync.fulfilled, function (state, action) {
1511
1413
  var _a, _b, _c;
1512
1414
  state.loading = false;
1513
1415
  var auth = (((_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData) || {}).auth;
1514
1416
  state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign(__assign({}, (_b = state.data.responseData) === null || _b === void 0 ? void 0 : _b.authData), action.payload), { auth: __assign(__assign({}, (_c = action.payload) === null || _c === void 0 ? void 0 : _c.auth), { id: auth === null || auth === void 0 ? void 0 : auth.id }) }) });
1515
1417
  })
1516
- .addCase(verifyNIDOtpLeadIdentityAsync.rejected, function (state, action) {
1418
+ .addCase(verifyNafathIdentityAsync.rejected, function (state, action) {
1517
1419
  state.loading = false;
1518
- state.error = action.error.message;
1420
+ var error = action.error.message;
1421
+ if (error !== 'Aborted') {
1422
+ state.error = error;
1423
+ }
1519
1424
  })
1520
1425
  .addCase(verifyPaciLeadIdentityAsync.pending, function (state) {
1521
1426
  state.loading = true;
@@ -71,7 +71,7 @@ import API from '../../../api';
71
71
  import { FlowsTypes, IndividualGender, DocumentPurpose } from '../../../@types';
72
72
  import { handleNextScreenStep, handlePrevScreenStep, handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
73
73
  import { defaultCountry, IDENTIFICATION_TYPE, INDIVIDUAl_STEP_NAMES, MONTHLY_INCOME_LIST } from '../../../constants';
74
- import { convertNumbers2English, dateFormat, findCountryByIddPrefix, findCountryByIso2, hasNoneEditableValue, getUserNameObject, getUserName, sleep, isValidEmail, getRecentDocumentBasedOnPurpose, formatNumberAsCurrency, removeAllCharsFromNumber, mapUserList, sortUserList, getIndividualType, isOtherThanKWOrSA, isKWOrSA, sendCustomEventToGTM } from '../../../utils';
74
+ import { convertNumbers2English, dateFormat, findCountryByIddPrefix, findCountryByIso2, hasNoneEditableValue, getUserNameObject, getUserName, sleep, isValidEmail, getRecentDocumentBasedOnPurpose, formatNumberAsCurrency, removeAllCharsFromNumber, mapUserList, sortUserList, getIndividualType, isOtherThanKWOrSA, isKWOrSA, isSA, sendCustomEventToGTM } from '../../../utils';
75
75
  export var verifyToken = createAsyncThunk('individual/verifyToken', function (_a, thunkApi) {
76
76
  var token = _a.token, isInternally = _a.isInternally, isUpdatePhoneInfo = _a.isUpdatePhoneInfo;
77
77
  return __awaiter(void 0, void 0, void 0, function () {
@@ -581,6 +581,9 @@ export var updateIndividualPersonalInfo = createAsyncThunk('individual/updateInd
581
581
  if (isOtherThanKWOrSA(settings.data.businessCountry.iso2)) {
582
582
  identification_id_type = IDENTIFICATION_TYPE.NID;
583
583
  }
584
+ if (isSA(settings.data.businessCountry.iso2)) {
585
+ identification_id_type = IDENTIFICATION_TYPE.NAFATH;
586
+ }
584
587
  isGenderNonEditable = hasNoneEditableValue(data_status, 'gender');
585
588
  isNameENNonEditable = hasNoneEditableValue(data_status, 'name.en');
586
589
  isNameARNonEditable = hasNoneEditableValue(data_status, 'name.ar');
@@ -15,7 +15,7 @@ import { useTranslation } from 'react-i18next';
15
15
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
16
16
  import { handleNextScreenStep, settingsSelector } from '../../../../app/settings';
17
17
  import { resetStore } from '../../../app/auth/authStore';
18
- import { AbsherButton, MobileButton } from '../../../shared/Button';
18
+ import { NafathButton, MobileButton } from '../../../shared/Button';
19
19
  import { ScreenContainer } from '../../../shared/Containers';
20
20
  import { isKW, isSA, sendCustomEventToGTM } from '../../../../utils';
21
21
  import { ICONS_NAMES } from '../../../../constants';
@@ -52,6 +52,6 @@ var AuthSwitch = function (_a) {
52
52
  });
53
53
  dispatch(handleNextScreenStep('AUTH_CIVIL_ID_STEP'));
54
54
  };
55
- return (_jsxs(ScreenContainer, { children: [_jsx(MobileButton, __assign({ onClick: function () { return onOpenMobile(); } }, { children: t('mobile_button_label') })), _jsx(MobileButton, __assign({ onClick: function () { return onOpenEmail(); }, icon: ICONS_NAMES.email_icon }, { children: t('email_button_label') })), isKWCountry ? (_jsx(MobileButton, __assign({ onClick: function () { return onOpenPACI(); }, icon: ICONS_NAMES.PACI_ICON }, { children: t('paci_button_label') }))) : (isSACountry && _jsx(AbsherButton, __assign({ onClick: function () { return onOpenNID(); } }, { children: t('absher_button_label') })))] }));
55
+ return (_jsxs(ScreenContainer, { children: [_jsx(MobileButton, __assign({ onClick: function () { return onOpenMobile(); } }, { children: t('mobile_button_label') })), _jsx(MobileButton, __assign({ onClick: function () { return onOpenEmail(); }, icon: ICONS_NAMES.email_icon }, { children: t('email_button_label') })), isKWCountry ? (_jsx(MobileButton, __assign({ onClick: function () { return onOpenPACI(); }, icon: ICONS_NAMES.PACI_ICON }, { children: t('paci_button_label') }))) : (isSACountry && _jsx(NafathButton, __assign({ onClick: function () { return onOpenNID(); } }, { children: t('nafath_button_label') })))] }));
56
56
  };
57
57
  export default React.memo(AuthSwitch);
@@ -50,6 +50,6 @@ var IDNumber = React.forwardRef(function (_a, ref) {
50
50
  };
51
51
  var nidValue = nidControl.field.value;
52
52
  var error = (_b = nidControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
53
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('enter_national_id') }) }), _jsx(Input, { readOnly: readOnly, dir: 'ltr', type: 'tel', inputProps: { maxLength: ID_NUMBER_LENGTH }, onChange: handleIdChange, value: nidValue, endAdornment: _jsx(EndAdornment, { value: nidValue, error: error, onClear: clearIdNumber }), placeholder: t('national_id_placeholder'), warningType: 'alert', warningMessage: error && t(error, { number: '1' }), required: true })] })) })));
53
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ ref: ref, sx: { mb: 5 } }, { children: [_jsx(LabelContainerStyled, { children: _jsx(InputLabelStyled, { children: t('enter_national_id') }) }), _jsx(Input, { readOnly: readOnly, dir: 'ltr', type: 'tel', inputProps: { maxLength: ID_NUMBER_LENGTH }, onChange: handleIdChange, value: nidValue, endAdornment: _jsx(EndAdornment, { value: nidValue, error: error, onClear: clearIdNumber }), placeholder: t('national_id_placeholder'), warningType: 'alert', warningMessage: error && t(error, { number: '1' }), required: true })] })) })));
54
54
  });
55
55
  export default React.memo(IDNumber);