@tap-payments/auth-jsconnect 2.8.65-development → 2.8.68-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 (102) 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/constants/app.d.ts +1 -0
  8. package/build/constants/app.js +35 -12
  9. package/build/constants/assets.d.ts +2 -0
  10. package/build/constants/assets.js +2 -0
  11. package/build/features/app/auth/authStore.d.ts +5 -15
  12. package/build/features/app/auth/authStore.js +58 -113
  13. package/build/features/app/business/businessStore.d.ts +16 -11
  14. package/build/features/app/business/businessStore.js +58 -44
  15. package/build/features/app/connect/connectStore.d.ts +19 -12
  16. package/build/features/app/connect/connectStore.js +151 -82
  17. package/build/features/app/connectExpress/connectExpressStore.d.ts +10 -33
  18. package/build/features/app/connectExpress/connectExpressStore.js +156 -251
  19. package/build/features/app/individual/individualStore.js +4 -1
  20. package/build/features/auth/screens/AuthSwitch/AuthSwitch.js +2 -2
  21. package/build/features/auth/screens/NID/IDNumber.js +1 -1
  22. package/build/features/auth/screens/NID/NID.js +4 -10
  23. package/build/features/auth/screens/NID/validation.d.ts +0 -3
  24. package/build/features/auth/screens/NID/validation.js +0 -1
  25. package/build/features/auth/screens/OTP/OTP.js +1 -5
  26. package/build/features/auth/screens/OTP/OTPInput.js +2 -13
  27. package/build/features/{connectExpress/screens/IdentityOTP/OTP.d.ts → auth/screens/VerifyNafath/VerifyNafath.d.ts} +2 -2
  28. package/build/features/auth/screens/VerifyNafath/VerifyNafath.js +34 -0
  29. package/build/features/auth/screens/VerifyNafath/index.d.ts +3 -0
  30. package/build/features/auth/screens/VerifyNafath/index.js +2 -0
  31. package/build/features/business/screens/VerifyNafath/VerifyNafath.d.ts +5 -0
  32. package/build/features/business/screens/VerifyNafath/VerifyNafath.js +34 -0
  33. package/build/features/business/screens/VerifyNafath/index.d.ts +3 -0
  34. package/build/features/business/screens/VerifyNafath/index.js +2 -0
  35. package/build/features/connect/screens/Mobile/Mobile.js +2 -2
  36. package/build/features/connect/screens/NID/IDNumber.d.ts +1 -0
  37. package/build/features/connect/screens/NID/IDNumber.js +2 -2
  38. package/build/features/connect/screens/NID/NID.js +5 -11
  39. package/build/features/connect/screens/NID/validation.d.ts +0 -3
  40. package/build/features/connect/screens/NID/validation.js +0 -1
  41. package/build/features/connect/screens/OTP/OTPInput.js +3 -11
  42. package/build/features/connect/screens/VerifyNafath/VerifyNafath.d.ts +5 -0
  43. package/build/features/connect/screens/VerifyNafath/VerifyNafath.js +34 -0
  44. package/build/features/connect/screens/VerifyNafath/index.d.ts +3 -0
  45. package/build/features/connect/screens/VerifyNafath/index.js +2 -0
  46. package/build/features/connectExpress/screens/IdentityVerifyNafath/IdentityVerifyNafath.d.ts +5 -0
  47. package/build/features/connectExpress/screens/IdentityVerifyNafath/IdentityVerifyNafath.js +34 -0
  48. package/build/features/connectExpress/screens/IdentityVerifyNafath/index.d.ts +3 -0
  49. package/build/features/connectExpress/screens/IdentityVerifyNafath/index.js +2 -0
  50. package/build/features/connectExpress/screens/Mobile/Mobile.js +2 -2
  51. package/build/features/connectExpress/screens/NID/IDNumber.d.ts +1 -0
  52. package/build/features/connectExpress/screens/NID/IDNumber.js +2 -2
  53. package/build/features/connectExpress/screens/NID/NID.js +4 -9
  54. package/build/features/connectExpress/screens/NID/validation.d.ts +0 -3
  55. package/build/features/connectExpress/screens/NID/validation.js +0 -2
  56. package/build/features/connectExpress/screens/NIDMissed/NID.js +2 -2
  57. package/build/features/connectExpress/screens/OTP/OTP.js +5 -13
  58. package/build/features/connectExpress/screens/OTP/OTPInput.js +3 -11
  59. package/build/features/connectExpress/screens/VerifyNafath/VerifyNafath.d.ts +5 -0
  60. package/build/features/connectExpress/screens/VerifyNafath/VerifyNafath.js +34 -0
  61. package/build/features/connectExpress/screens/VerifyNafath/index.d.ts +3 -0
  62. package/build/features/connectExpress/screens/VerifyNafath/index.js +2 -0
  63. package/build/features/featuresScreens.js +21 -6
  64. package/build/features/shared/Button/NafathButton.d.ts +7 -0
  65. package/build/features/shared/Button/{AbsherButton.js → NafathButton.js} +13 -3
  66. package/build/features/shared/Button/index.d.ts +2 -2
  67. package/build/features/shared/Button/index.js +2 -2
  68. package/build/features/shared/NafathVerification/NafathVerification.d.ts +13 -0
  69. package/build/features/shared/NafathVerification/NafathVerification.js +92 -0
  70. package/build/features/shared/NafathVerification/VerifyNafathLoading.d.ts +8 -0
  71. package/build/features/shared/NafathVerification/VerifyNafathLoading.js +53 -0
  72. package/build/features/shared/NafathVerification/VerifyNafathSuccess.d.ts +5 -0
  73. package/build/features/shared/NafathVerification/VerifyNafathSuccess.js +8 -0
  74. package/build/features/shared/NafathVerification/index.d.ts +2 -0
  75. package/build/features/shared/NafathVerification/index.js +2 -0
  76. package/build/hooks/useAppTheme.js +4 -3
  77. package/build/theme/palette.js +2 -1
  78. package/build/theme/theme.d.ts +1 -1
  79. package/build/theme/theme.js +2 -2
  80. package/package.json +1 -1
  81. package/build/features/auth/screens/NID/DOB.d.ts +0 -6
  82. package/build/features/auth/screens/NID/DOB.js +0 -47
  83. package/build/features/business/screens/OTP/OTP.d.ts +0 -8
  84. package/build/features/business/screens/OTP/OTP.js +0 -90
  85. package/build/features/business/screens/OTP/OTPInput.d.ts +0 -5
  86. package/build/features/business/screens/OTP/OTPInput.js +0 -49
  87. package/build/features/business/screens/OTP/index.d.ts +0 -3
  88. package/build/features/business/screens/OTP/index.js +0 -2
  89. package/build/features/business/screens/OTP/validation.d.ts +0 -8
  90. package/build/features/business/screens/OTP/validation.js +0 -4
  91. package/build/features/connect/screens/NID/DOB.d.ts +0 -5
  92. package/build/features/connect/screens/NID/DOB.js +0 -47
  93. package/build/features/connectExpress/screens/IdentityOTP/OTP.js +0 -88
  94. package/build/features/connectExpress/screens/IdentityOTP/OTPInput.d.ts +0 -5
  95. package/build/features/connectExpress/screens/IdentityOTP/OTPInput.js +0 -56
  96. package/build/features/connectExpress/screens/IdentityOTP/index.d.ts +0 -3
  97. package/build/features/connectExpress/screens/IdentityOTP/index.js +0 -2
  98. package/build/features/connectExpress/screens/IdentityOTP/validation.d.ts +0 -8
  99. package/build/features/connectExpress/screens/IdentityOTP/validation.js +0 -4
  100. package/build/features/connectExpress/screens/NID/DOB.d.ts +0 -6
  101. package/build/features/connectExpress/screens/NID/DOB.js +0 -47
  102. package/build/features/shared/Button/AbsherButton.d.ts +0 -7
@@ -307,80 +307,109 @@ export var resendMobileAuthOTP = createAsyncThunk('connectExpress/resendMobileAu
307
307
  }
308
308
  });
309
309
  }); });
310
- export var createNIDAuthAsync = createAsyncThunk('connectExpress/createNIDAuthAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
311
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
312
- var _b, _c;
313
- return __generator(this, function (_d) {
314
- switch (_d.label) {
310
+ export var createNafathAuth = createAsyncThunk('connectExpress/createNafathAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
311
+ var settings, requestBody, data;
312
+ var _a, _b;
313
+ return __generator(this, function (_c) {
314
+ switch (_c.label) {
315
315
  case 0:
316
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
317
- dob = params.dob, nid = params.nid;
318
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
319
- countryCode = settings.data.businessCountry.iso2;
316
+ settings = thunkApi.getState().settings;
320
317
  requestBody = {
321
- country: countryCode,
318
+ country: settings.data.businessCountry.iso2,
322
319
  scope: settings.data.appConfig.scope,
323
320
  lang: settings.data.language,
324
- lead_id: connectExpress.data.leadId,
325
321
  user_credentail: {
326
- identification_id: nid,
327
- identification_id_type: nidType,
328
- date_of_birth: dob,
329
- country_code: countryCode
322
+ identification_id: params.nid,
323
+ identification_id_type: IDENTIFICATION_TYPE.NAFATH,
324
+ country_code: settings.data.businessCountry.iso2
330
325
  },
331
326
  sign_in: false,
332
327
  is_lead: true,
333
328
  step_name: CONNECT_EXPRESS_STEP_NAMES.CREATE_AUTH_NID,
334
- encryption_contract: [
335
- 'user_credentail.country_code',
336
- 'user_credentail.identification_id',
337
- 'user_credentail.identification_id_type',
338
- 'user_credentail.date_of_birth'
339
- ]
329
+ encryption_contract: ['user_credentail.country_code', 'user_credentail.identification_id', 'user_credentail.identification_id_type']
340
330
  };
341
- return [4, API.authService.createExpressAuth(requestBody)];
331
+ return [4, API.authService.createAuthKitNID(requestBody)];
342
332
  case 1:
343
- data = _d.sent();
333
+ data = _c.sent();
344
334
  thunkApi.dispatch(handleNextScreenStep());
345
- (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, requestBody.user_credentail);
346
- return [2, { response: data, formData: params }];
335
+ (_b = (_a = settings.data.appConfig).onStepCompleted) === null || _b === void 0 ? void 0 : _b.call(_a, settings.data.activeScreen.name, requestBody);
336
+ return [2, { response: data, formData: __assign(__assign({}, params), { type: IDENTIFICATION_TYPE.NAFATH }) }];
347
337
  }
348
338
  });
349
339
  }); });
350
- export var resendNIDAuthOTP = createAsyncThunk('connectExpress/resendNIDAuthOTPExpress', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
351
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
352
- return __generator(this, function (_b) {
353
- switch (_b.label) {
340
+ export var verifyNafathAsync = createAsyncThunk('connectExpress/verifyNafathAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
341
+ 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;
342
+ var _d, _e, _f;
343
+ return __generator(this, function (_g) {
344
+ switch (_g.label) {
354
345
  case 0:
355
346
  _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
356
- dob = params.dob, nid = params.nid;
357
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
358
- countryCode = settings.data.businessCountry.iso2;
359
- requestBody = {
360
- country: countryCode,
361
- scope: settings.data.appConfig.scope,
362
- lang: settings.data.language,
363
- lead_id: connectExpress.data.leadId,
364
- user_credentail: {
365
- identification_id: nid,
366
- identification_id_type: nidType,
367
- date_of_birth: dob,
368
- country_code: countryCode
369
- },
370
- sign_in: false,
371
- is_lead: true,
372
- step_name: CONNECT_EXPRESS_STEP_NAMES.CREATE_AUTH_NID,
373
- encryption_contract: [
374
- 'user_credentail.country_code',
375
- 'user_credentail.identification_id',
376
- 'user_credentail.identification_id_type',
377
- 'user_credentail.date_of_birth'
378
- ]
379
- };
380
- return [4, API.authService.createExpressAuth(requestBody)];
347
+ authData = (connectExpress.data.responseData || {}).authData;
348
+ _b = settings.data.appConfig, scope = _b.scope, redirectUrl = _b.redirectUrl, authConfigData = _b.data;
349
+ isScopeAuthentication = scope === SCOPE_AUTH;
350
+ bi = settings.data.deviceInfo.browser.browser_id;
351
+ isDataHasIndividualOnly = (authConfigData === null || authConfigData === void 0 ? void 0 : authConfigData.length) === 1 && authConfigData.includes('individual');
352
+ authDataHasValue = authConfigData === null || authConfigData === void 0 ? void 0 : authConfigData.length;
353
+ expiry = (authData === null || authData === void 0 ? void 0 : authData.expiry) || 120;
354
+ interval = 3;
355
+ maxCalls = Math.floor(expiry / interval);
356
+ count = 1;
357
+ _g.label = 1;
381
358
  case 1:
382
- data = _b.sent();
383
- return [2, { response: data, formData: params }];
359
+ if (!(count <= maxCalls)) return [3, 9];
360
+ if (thunkApi.signal.aborted) {
361
+ return [3, 9];
362
+ }
363
+ return [4, API.authService.getVerifyAuth(authData === null || authData === void 0 ? void 0 : authData.auth_token)];
364
+ case 2:
365
+ data = _g.sent();
366
+ isSuccess = ((_e = (_d = data.auth) === null || _d === void 0 ? void 0 : _d.status) === null || _e === void 0 ? void 0 : _e.toLowerCase()) === 'completed';
367
+ if (!isSuccess) return [3, 6];
368
+ authId = data.auth.id;
369
+ thunkApi.dispatch(storeAuthId(authId));
370
+ if (isScopeAuthentication && !data.new_user && isDataHasIndividualOnly && authId) {
371
+ if (settings.data.appConfig.mode === 'popup') {
372
+ settings.data.appConfig.onFlowCompleted({ auth_id: authId, bi: bi });
373
+ thunkApi.dispatch(handleOpen(false));
374
+ return [2, data];
375
+ }
376
+ if (redirectUrl) {
377
+ urlQueryStart = redirectUrl.includes('?') ? '&' : '?';
378
+ window.open("".concat(redirectUrl).concat(urlQueryStart, "authentication_id=").concat(authId, "&bi=").concat(bi), '_self');
379
+ return [2, data];
380
+ }
381
+ }
382
+ if (!(isScopeAuthentication && !data.new_user && authDataHasValue)) return [3, 4];
383
+ return [4, thunkApi.dispatch(retrieveAuthenticationListAsync({ individualId: data.individual_id })).unwrap()];
384
+ case 3:
385
+ _c = _g.sent(), brandList = _c.brandList, entityList = _c.entityList;
386
+ if (brandList.length && entityList.length) {
387
+ sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_AUTHENTICATION_LIST_STEP')); });
388
+ return [2, data];
389
+ }
390
+ _g.label = 4;
391
+ case 4: return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead.id)).unwrap()];
392
+ case 5:
393
+ _g.sent();
394
+ stepName = data.step_name;
395
+ needToCollectMoreInfo = stepName === 'collect_info';
396
+ creatingAccount = stepName === 'create_account';
397
+ (_f = params.onSuccess) === null || _f === void 0 ? void 0 : _f.call(params);
398
+ if (creatingAccount) {
399
+ sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
400
+ }
401
+ if (needToCollectMoreInfo) {
402
+ sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP')); });
403
+ }
404
+ return [2, data];
405
+ case 6: return [4, sleep(interval * 1000)];
406
+ case 7:
407
+ _g.sent();
408
+ _g.label = 8;
409
+ case 8:
410
+ count++;
411
+ return [3, 1];
412
+ case 9: throw new Error('nafath_verification_failed');
384
413
  }
385
414
  });
386
415
  }); });
@@ -488,82 +517,6 @@ export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileO
488
517
  }
489
518
  });
490
519
  }); });
491
- export var verifyNIDOtpAsync = createAsyncThunk('connectExpress/verifyNIDOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
492
- 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;
493
- var _f, _g;
494
- return __generator(this, function (_h) {
495
- switch (_h.label) {
496
- case 0:
497
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
498
- _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId, isLeadIdPassed = _b.isLeadIdPassed, nidData = _b.nidData;
499
- if (!(responseData === null || responseData === void 0 ? void 0 : responseData.authData))
500
- throw new Error('Auth data is missing');
501
- _c = responseData.authData, auth_token = _c.auth_token, device_token = _c.device_token, service_name = _c.service_name;
502
- _d = settings.data.appConfig, scope = _d.scope, redirectUrl = _d.redirectUrl, authData = _d.data;
503
- isScopeAuthentication = scope === SCOPE_AUTH;
504
- bi = settings.data.deviceInfo.browser.browser_id;
505
- isDataHasIndividualOnly = (authData === null || authData === void 0 ? void 0 : authData.length) === 1 && authData.includes('individual');
506
- authDataHasValue = authData === null || authData === void 0 ? void 0 : authData.length;
507
- payload = {
508
- auth_token: auth_token,
509
- lead_id: leadId,
510
- data: params.otp,
511
- auth_type: 2,
512
- device_token: device_token,
513
- service_name: service_name || 'ABSHER',
514
- sign_in: false,
515
- terms: isLeadIdPassed && nidData.termAndConditionChecked ? ['general'] : undefined,
516
- step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_NID,
517
- encryption_contract: ['data']
518
- };
519
- return [4, API.authService.verifyExpressAuth(payload)];
520
- case 1:
521
- data = _h.sent();
522
- sendCustomEventToGTM({
523
- event: 'Send Event',
524
- event_category: 'User Registration Flow',
525
- event_action: 'First OTP Success'
526
- });
527
- (_g = (_f = settings.data.appConfig).onStepCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, settings.data.activeScreen.name, params);
528
- authId = data.auth.id;
529
- thunkApi.dispatch(storeAuthId(authId));
530
- if (isScopeAuthentication && !data.new_user && isDataHasIndividualOnly && authId) {
531
- if (settings.data.appConfig.mode === 'popup') {
532
- settings.data.appConfig.onFlowCompleted({ auth_id: authId, bi: bi });
533
- thunkApi.dispatch(handleOpen(false));
534
- return [2, data];
535
- }
536
- if (redirectUrl) {
537
- urlQueryStart = redirectUrl.includes('?') ? '&' : '?';
538
- window.open("".concat(redirectUrl).concat(urlQueryStart, "authentication_id=").concat(authId, "&bi=").concat(bi), '_self');
539
- return [2, data];
540
- }
541
- }
542
- if (!(isScopeAuthentication && !data.new_user && authDataHasValue)) return [3, 3];
543
- return [4, thunkApi.dispatch(retrieveAuthenticationListAsync({ individualId: data.individual_id })).unwrap()];
544
- case 2:
545
- _e = _h.sent(), brandList = _e.brandList, entityList = _e.entityList;
546
- if (brandList.length && entityList.length) {
547
- sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_AUTHENTICATION_LIST_STEP')); });
548
- return [2, data];
549
- }
550
- _h.label = 3;
551
- case 3: return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead.id)).unwrap()];
552
- case 4:
553
- _h.sent();
554
- stepName = data.step_name;
555
- needToCollectMoreInfo = stepName === 'collect_info';
556
- creatingAccount = stepName === 'create_account';
557
- if (creatingAccount) {
558
- sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
559
- }
560
- if (needToCollectMoreInfo) {
561
- sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP')); });
562
- }
563
- return [2, data];
564
- }
565
- });
566
- }); });
567
520
  export var verifyPACIAsync = createAsyncThunk('connectExpress/verifyPACIAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
568
521
  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;
569
522
  var _d, _e, _f;
@@ -668,28 +621,29 @@ export var createCivilIDAuthIdentityAsync = createAsyncThunk('connectExpress/cre
668
621
  }
669
622
  });
670
623
  }); });
671
- export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createNIDAuthIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
672
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
624
+ export var createNIDNafathAuthIdentityAsync = createAsyncThunk('connectExpress/createNIDNafathAuthIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
625
+ var _a, settings, connectExpress, nid, dob, nidType, countryCode, authData, requestBody, data;
673
626
  var _b, _c, _d;
674
627
  return __generator(this, function (_e) {
675
628
  switch (_e.label) {
676
629
  case 0:
677
630
  _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
678
- dob = params.dob, nid = params.nid;
679
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
631
+ nid = params.nid, dob = params.dob;
632
+ nidType = IDENTIFICATION_TYPE.NAFATH;
680
633
  countryCode = settings.data.businessCountry.iso2;
681
634
  if (isOtherThanKWOrSA(countryCode)) {
682
635
  nidType = IDENTIFICATION_TYPE.NID;
683
636
  }
637
+ authData = (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData;
684
638
  requestBody = {
685
- id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
639
+ id: authData === null || authData === void 0 ? void 0 : authData.lead_id,
686
640
  identification: {
687
641
  id: nid,
688
642
  issued_country_code: countryCode,
689
643
  type: nidType
690
644
  },
691
- country_code: countryCode,
692
645
  date_of_birth: dob,
646
+ country_code: countryCode,
693
647
  step_name: CONNECT_EXPRESS_STEP_NAMES.IDENTITY_AUTH,
694
648
  encryption_contract: ['identification.issued_country_code', 'identification.id', 'identification.type', 'date_of_birth']
695
649
  };
@@ -697,7 +651,7 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
697
651
  case 1:
698
652
  data = _e.sent();
699
653
  if (!((data === null || data === void 0 ? void 0 : data.verify_token) !== 'null')) return [3, 2];
700
- thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_OTP_IDENTITY_STEP'));
654
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_IDENTITY_VERIFY_NAFATH_STEP'));
701
655
  return [3, 4];
702
656
  case 2:
703
657
  if (!isOtherThanKWOrSA(countryCode)) return [3, 4];
@@ -707,77 +661,40 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
707
661
  thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP'));
708
662
  _e.label = 4;
709
663
  case 4:
710
- (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, requestBody.identification);
664
+ (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, requestBody);
711
665
  return [2, { response: { verify_token: data.verify_token }, formData: params }];
712
666
  }
713
667
  });
714
668
  }); });
715
- export var resendNIDAuthIdentityOTP = createAsyncThunk('connectExpress/resendNIDAuthIdentityOTPExpress', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
716
- var _a, settings, connectExpress, dob, nid, nidType, countryCode, requestBody, data;
717
- var _b;
718
- return __generator(this, function (_c) {
719
- switch (_c.label) {
720
- case 0:
721
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
722
- dob = params.dob, nid = params.nid;
723
- nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
724
- countryCode = settings.data.businessCountry.iso2;
725
- if (isOtherThanKWOrSA(countryCode)) {
726
- nidType = IDENTIFICATION_TYPE.NID;
727
- }
728
- requestBody = {
729
- id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
730
- identification: {
731
- id: nid,
732
- issued_country_code: countryCode,
733
- type: nidType
734
- },
735
- country_code: countryCode,
736
- date_of_birth: dob,
737
- step_name: CONNECT_EXPRESS_STEP_NAMES.IDENTITY_AUTH,
738
- encryption_contract: ['identification.issued_country_code', 'identification.id', 'identification.type', 'date_of_birth']
739
- };
740
- return [4, API.leadService.updateLead(requestBody)];
741
- case 1:
742
- data = _c.sent();
743
- return [2, { response: { verify_token: data.verify_token }, formData: params }];
744
- }
745
- });
746
- }); });
747
- export var verifyNIDOtpLeadIdentityAsync = createAsyncThunk('connectExpress/verifyNIDOtpLeadIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
748
- var _a, settings, connectExpress, _b, responseData, leadId, verify_token, payload, data, needToCollectMoreInfo, creatingAccount;
749
- var _c, _d;
750
- return __generator(this, function (_e) {
751
- switch (_e.label) {
669
+ export var verifyNafathIdentityAsync = createAsyncThunk('connectExpress/verifyNafathIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
670
+ var connectExpress, authData, expiry, interval, maxCalls, count, data, isSuccess, needToCollectMoreInfo, creatingAccount;
671
+ var _a, _b, _c;
672
+ return __generator(this, function (_d) {
673
+ switch (_d.label) {
752
674
  case 0:
753
- _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
754
- _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId;
755
- if (!(responseData === null || responseData === void 0 ? void 0 : responseData.authData))
756
- throw new Error('Auth data is missing');
757
- verify_token = responseData.authData.verify_token;
758
- payload = {
759
- verify_token: verify_token,
760
- lead_id: leadId,
761
- data: params.otp,
762
- service_name: 'absher',
763
- sign_in: false,
764
- step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_IDENTITY_AUTH,
765
- encryption_contract: ['data']
766
- };
767
- return [4, API.authService.verifyExpressLeadIdentity(payload)];
675
+ connectExpress = thunkApi.getState().connectExpress;
676
+ authData = (connectExpress.data.responseData || {}).authData;
677
+ expiry = (authData === null || authData === void 0 ? void 0 : authData.expiry) || 120;
678
+ interval = 3;
679
+ maxCalls = Math.floor(expiry / interval);
680
+ count = 1;
681
+ _d.label = 1;
768
682
  case 1:
769
- data = _e.sent();
770
- sendCustomEventToGTM({
771
- event: 'Send Event',
772
- event_category: 'User Registration Flow',
773
- event_action: 'Absher OTP Success'
774
- });
775
- return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead.id)).unwrap()];
683
+ if (!(count <= maxCalls)) return [3, 7];
684
+ if (thunkApi.signal.aborted) {
685
+ return [3, 7];
686
+ }
687
+ 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 })];
776
688
  case 2:
777
- _e.sent();
778
- (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, params);
689
+ data = _d.sent();
690
+ isSuccess = ((_b = (_a = data.auth) === null || _a === void 0 ? void 0 : _a.status) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'completed';
691
+ if (!isSuccess) return [3, 4];
692
+ return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead.id)).unwrap()];
693
+ case 3:
694
+ _d.sent();
779
695
  needToCollectMoreInfo = data.step_name === 'collect_info';
780
696
  creatingAccount = data.step_name === 'create_account';
697
+ (_c = params.onSuccess) === null || _c === void 0 ? void 0 : _c.call(params);
781
698
  if (creatingAccount) {
782
699
  sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
783
700
  }
@@ -785,10 +702,18 @@ export var verifyNIDOtpLeadIdentityAsync = createAsyncThunk('connectExpress/veri
785
702
  sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP')); });
786
703
  }
787
704
  return [2, data];
705
+ case 4: return [4, sleep(interval * 1000)];
706
+ case 5:
707
+ _d.sent();
708
+ _d.label = 6;
709
+ case 6:
710
+ count++;
711
+ return [3, 1];
712
+ case 7: throw new Error('nafath_verification_failed');
788
713
  }
789
714
  });
790
715
  }); });
791
- export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verifyPaciOtpLeadIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
716
+ export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verifyPaciLeadIdentityAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
792
717
  var connectExpress, authData, expiry, interval, maxCalls, count, data, isSuccess, needToCollectMoreInfo, creatingAccount;
793
718
  var _a, _b, _c;
794
719
  return __generator(this, function (_d) {
@@ -831,7 +756,7 @@ export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verify
831
756
  case 6:
832
757
  count++;
833
758
  return [3, 1];
834
- case 7: throw new Error('paci_verification_failed');
759
+ case 7: throw new Error('nafath_verification_failed');
835
760
  }
836
761
  });
837
762
  }); });
@@ -1176,7 +1101,6 @@ var initialState = {
1176
1101
  },
1177
1102
  nidData: {
1178
1103
  nid: '',
1179
- dob: '',
1180
1104
  termAndConditionChecked: false
1181
1105
  },
1182
1106
  civilIdData: {
@@ -1265,11 +1189,9 @@ export var connectSlice = createSlice({
1265
1189
  state.customLoading = false;
1266
1190
  var _a = action.payload, data = _a.data, countryCode = _a.countryCode, boardInfo = _a.boardInfo, boardData = _a.boardData;
1267
1191
  state.data.responseData = __assign(__assign({}, state.data.responseData), { leadData: data, boardInfo: boardInfo, boardData: boardData });
1268
- var _b = data || {}, identification = _b.identification, date_of_birth = _b.date_of_birth, contact = _b.contact, terms_conditions_accepted = _b.terms_conditions_accepted;
1192
+ var _b = data || {}, identification = _b.identification, contact = _b.contact, terms_conditions_accepted = _b.terms_conditions_accepted;
1269
1193
  if (identification === null || identification === void 0 ? void 0 : identification.id)
1270
1194
  state.data.nidData.nid = identification === null || identification === void 0 ? void 0 : identification.id;
1271
- if (date_of_birth)
1272
- state.data.nidData.dob = date_of_birth;
1273
1195
  var phone = (contact || {}).phone;
1274
1196
  if (phone) {
1275
1197
  state.data.mobileData.mobile = phone === null || phone === void 0 ? void 0 : phone.number;
@@ -1293,11 +1215,9 @@ export var connectSlice = createSlice({
1293
1215
  state.loading = false;
1294
1216
  var _c = action.payload, data = _c.data, countryCode = _c.countryCode;
1295
1217
  state.data.responseData = __assign(__assign({}, state.data.responseData), { leadData: data });
1296
- 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;
1218
+ var _d = data || {}, name = _d.name, contact = _d.contact, brand = _d.brand, identification = _d.identification, terms_conditions_accepted = _d.terms_conditions_accepted;
1297
1219
  if (identification === null || identification === void 0 ? void 0 : identification.id)
1298
1220
  state.data.nidData.nid = identification === null || identification === void 0 ? void 0 : identification.id;
1299
- if (date_of_birth)
1300
- state.data.nidData.dob = date_of_birth;
1301
1221
  var fullName = concatenateObjectValues(name, ['first', 'middle', 'last']);
1302
1222
  if (!!fullName) {
1303
1223
  var capitalizedName = capitalizeTheFirstLetterOfEachWord(fullName);
@@ -1344,29 +1264,20 @@ export var connectSlice = createSlice({
1344
1264
  .addCase(resendMobileAuthOTP.rejected, function (state, action) {
1345
1265
  state.error = action.error.message;
1346
1266
  })
1347
- .addCase(createNIDAuthAsync.pending, function (state) {
1348
- state.loading = true;
1349
- state.error = null;
1350
- })
1351
- .addCase(createNIDAuthAsync.fulfilled, function (state, action) {
1267
+ .addCase(createNafathAuth.fulfilled, function (state, action) {
1352
1268
  state.loading = false;
1353
- state.data.nidData = action.payload.formData;
1269
+ state.error = null;
1270
+ var _a = action.payload, formData = _a.formData, response = _a.response;
1271
+ state.data.nidData = formData;
1272
+ state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: response });
1354
1273
  state.data.otpData.authFor = AuthForType.NATIONAL_ID;
1355
- state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: action.payload.response });
1356
- })
1357
- .addCase(createNIDAuthAsync.rejected, function (state, action) {
1358
- state.loading = false;
1359
- state.error = action.error.message;
1360
1274
  })
1361
- .addCase(resendNIDAuthOTP.pending, function (state) {
1275
+ .addCase(createNafathAuth.pending, function (state) {
1276
+ state.loading = true;
1362
1277
  state.error = null;
1363
1278
  })
1364
- .addCase(resendNIDAuthOTP.fulfilled, function (state, action) {
1365
- state.data.nidData = action.payload.formData;
1366
- state.data.otpData.authFor = AuthForType.NATIONAL_ID;
1367
- state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: action.payload.response });
1368
- })
1369
- .addCase(resendNIDAuthOTP.rejected, function (state, action) {
1279
+ .addCase(createNafathAuth.rejected, function (state, action) {
1280
+ state.loading = false;
1370
1281
  state.error = action.error.message;
1371
1282
  })
1372
1283
  .addCase(createCivilIdAuthAsync.pending, function (state) {
@@ -1398,32 +1309,20 @@ export var connectSlice = createSlice({
1398
1309
  state.loading = false;
1399
1310
  state.error = action.error.message;
1400
1311
  })
1401
- .addCase(createNIDAuthIdentityAsync.pending, function (state) {
1312
+ .addCase(createNIDNafathAuthIdentityAsync.pending, function (state) {
1402
1313
  state.loading = true;
1403
1314
  state.error = null;
1404
1315
  })
1405
- .addCase(createNIDAuthIdentityAsync.fulfilled, function (state, action) {
1316
+ .addCase(createNIDNafathAuthIdentityAsync.fulfilled, function (state, action) {
1406
1317
  var _a;
1407
1318
  state.loading = false;
1408
1319
  state.data.nidData = action.payload.formData;
1409
1320
  state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
1410
1321
  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) });
1411
1322
  })
1412
- .addCase(createNIDAuthIdentityAsync.rejected, function (state, action) {
1323
+ .addCase(createNIDNafathAuthIdentityAsync.rejected, function (state, action) {
1413
1324
  state.loading = false;
1414
1325
  state.error = action.error.message;
1415
- })
1416
- .addCase(resendNIDAuthIdentityOTP.pending, function (state) {
1417
- state.error = null;
1418
- })
1419
- .addCase(resendNIDAuthIdentityOTP.fulfilled, function (state, action) {
1420
- var _a;
1421
- state.data.nidData = action.payload.formData;
1422
- state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
1423
- 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) });
1424
- })
1425
- .addCase(resendNIDAuthIdentityOTP.rejected, function (state, action) {
1426
- state.error = action.error.message;
1427
1326
  })
1428
1327
  .addCase(verifyMobileOtpAsync.pending, function (state) {
1429
1328
  state.loading = true;
@@ -1438,18 +1337,21 @@ export var connectSlice = createSlice({
1438
1337
  state.loading = false;
1439
1338
  state.error = action.error.message;
1440
1339
  })
1441
- .addCase(verifyNIDOtpAsync.pending, function (state) {
1340
+ .addCase(verifyNafathAsync.pending, function (state) {
1442
1341
  state.loading = true;
1443
1342
  state.error = null;
1444
1343
  })
1445
- .addCase(verifyNIDOtpAsync.fulfilled, function (state, action) {
1344
+ .addCase(verifyNafathAsync.fulfilled, function (state, action) {
1446
1345
  var _a;
1447
1346
  state.loading = false;
1448
1347
  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) });
1449
1348
  })
1450
- .addCase(verifyNIDOtpAsync.rejected, function (state, action) {
1349
+ .addCase(verifyNafathAsync.rejected, function (state, action) {
1451
1350
  state.loading = false;
1452
- state.error = action.error.message;
1351
+ var error = action.error.message;
1352
+ if (error !== 'Aborted') {
1353
+ state.error = error;
1354
+ }
1453
1355
  })
1454
1356
  .addCase(verifyPACIAsync.pending, function (state) {
1455
1357
  state.loading = true;
@@ -1467,19 +1369,22 @@ export var connectSlice = createSlice({
1467
1369
  state.error = error;
1468
1370
  }
1469
1371
  })
1470
- .addCase(verifyNIDOtpLeadIdentityAsync.pending, function (state) {
1372
+ .addCase(verifyNafathIdentityAsync.pending, function (state) {
1471
1373
  state.loading = true;
1472
1374
  state.error = null;
1473
1375
  })
1474
- .addCase(verifyNIDOtpLeadIdentityAsync.fulfilled, function (state, action) {
1376
+ .addCase(verifyNafathIdentityAsync.fulfilled, function (state, action) {
1475
1377
  var _a, _b, _c;
1476
1378
  state.loading = false;
1477
1379
  var auth = (((_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData) || {}).auth;
1478
1380
  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 }) }) });
1479
1381
  })
1480
- .addCase(verifyNIDOtpLeadIdentityAsync.rejected, function (state, action) {
1382
+ .addCase(verifyNafathIdentityAsync.rejected, function (state, action) {
1481
1383
  state.loading = false;
1482
- state.error = action.error.message;
1384
+ var error = action.error.message;
1385
+ if (error !== 'Aborted') {
1386
+ state.error = error;
1387
+ }
1483
1388
  })
1484
1389
  .addCase(verifyPaciLeadIdentityAsync.pending, function (state) {
1485
1390
  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 } from '../../../utils';
74
+ import { convertNumbers2English, dateFormat, findCountryByIddPrefix, findCountryByIso2, hasNoneEditableValue, getUserNameObject, getUserName, sleep, isValidEmail, getRecentDocumentBasedOnPurpose, formatNumberAsCurrency, removeAllCharsFromNumber, mapUserList, sortUserList, getIndividualType, isOtherThanKWOrSA, isKWOrSA, isSA } 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({ sx: { mt: 2.5 }, 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);