@tap-payments/auth-jsconnect 2.6.12-test → 2.6.16-test

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 (53) hide show
  1. package/build/@types/app.d.ts +2 -1
  2. package/build/@types/app.js +1 -0
  3. package/build/app/settings.js +2 -5
  4. package/build/constants/app.js +11 -5
  5. package/build/constants/dummy.d.ts +45 -0
  6. package/build/constants/dummy.js +330 -0
  7. package/build/features/app/brand/brandStore.js +2 -2
  8. package/build/features/app/business/businessStore.d.ts +9 -2
  9. package/build/features/app/business/businessStore.js +42 -23
  10. package/build/features/app/connectExpress/connectExpressStore.d.ts +2 -1
  11. package/build/features/app/connectExpress/connectExpressStore.js +38 -14
  12. package/build/features/app/individual/individualStore.js +5 -5
  13. package/build/features/business/screens/BusinessType/BusinessType.js +13 -5
  14. package/build/features/business/screens/BusinessType/EntityName.js +3 -3
  15. package/build/features/business/screens/BusinessType/LicenseList.js +3 -3
  16. package/build/features/business/screens/BusinessType/LicenseNumber.js +9 -8
  17. package/build/features/business/screens/BusinessType/validation.d.ts +10 -0
  18. package/build/features/business/screens/BusinessType/validation.js +16 -0
  19. package/build/features/business/screens/IDBOD/ID.js +6 -2
  20. package/build/features/business/screens/IDBOD/IDBOD.js +8 -17
  21. package/build/features/business/screens/IDBOD/validation.d.ts +10 -0
  22. package/build/features/business/screens/IDBOD/validation.js +4 -0
  23. package/build/features/connect/Connect.js +14 -18
  24. package/build/features/connect/screens/Mobile/Mobile.js +7 -6
  25. package/build/features/connect/screens/Mobile/MobileNumber.js +9 -6
  26. package/build/features/connectExpress/ConnectExpress.js +10 -4
  27. package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +12 -4
  28. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseList.js +6 -6
  29. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseNumber.js +8 -7
  30. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.d.ts +13 -0
  31. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.js +67 -0
  32. package/build/features/connectExpress/screens/CollectIndividualInfo/CollectIndividualInfo.js +4 -0
  33. package/build/features/connectExpress/screens/IdentityOTP/OTP.js +1 -1
  34. package/build/features/connectExpress/screens/IdentityOTP/OTPInput.js +1 -1
  35. package/build/features/connectExpress/screens/Mobile/Mobile.js +2 -2
  36. package/build/features/connectExpress/screens/Mobile/MobileNumber.js +9 -6
  37. package/build/features/connectExpress/screens/NIDMissed/IDNumber.js +6 -2
  38. package/build/features/connectExpress/screens/NIDMissed/NID.js +6 -4
  39. package/build/features/connectExpress/screens/NIDMissed/validation.d.ts +10 -0
  40. package/build/features/connectExpress/screens/NIDMissed/validation.js +4 -0
  41. package/build/features/entity/screens/EntityName/EntityName.js +11 -4
  42. package/build/features/entity/screens/EntityName/LicenseNumber.js +5 -4
  43. package/build/features/entity/screens/EntityName/validation.d.ts +28 -0
  44. package/build/features/entity/screens/EntityName/validation.js +38 -0
  45. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +4 -4
  46. package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +1 -1
  47. package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +2 -2
  48. package/build/features/shared/SuccessScreen/SuccessScreen.js +1 -1
  49. package/build/hooks/useCountry.d.ts +1 -0
  50. package/build/hooks/useCountry.js +4 -3
  51. package/build/utils/string.d.ts +1 -0
  52. package/build/utils/string.js +3 -0
  53. package/package.json +1 -1
@@ -58,8 +58,8 @@ var _a;
58
58
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
59
59
  import API from '../../../api';
60
60
  import { BusinessType, FlowsTypes, DocumentPurpose, LicenseType } from '../../../@types';
61
- import { BUSINESS_STEP_NAMES, IDENTIFICATION_TYPE, OTHER_CR_LICENSE, OTHER_ENTITY_LICENSE, OTHER_FL_LICENSE } from '../../../constants';
62
- import { convertNumbers2English, hasKey, sleep, isKW, isSA, dateFormat, isOtherLicense } from '../../../utils';
61
+ import { BUSINESS_STEP_NAMES, EXPECTED_SALES_LIST, IDENTIFICATION_TYPE, OTHER_CR_LICENSE, OTHER_ENTITY_LICENSE, OTHER_FL_LICENSE } from '../../../constants';
62
+ import { convertNumbers2English, hasKey, sleep, isKW, isSA, dateFormat, isOtherLicense, isOtherThanKWOrSA } from '../../../utils';
63
63
  import { handleNextScreenStep, handlePublicKey, handleSetCountryByIso2 } from '../../../app/settings';
64
64
  export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', function (token, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
65
65
  var settings, payload, data, publicKey, countryIso2, boardData, brandData, currencyData, isicActivityList, leadData, _a, steps, brand, board_id, business_id, entity, brandID, hasBusinessCompleted, hasBusinessCRInfoCompleted, hasBusinessCRActivitiesCompleted, hasBusinessCustomersCompleted, list, list;
@@ -98,7 +98,7 @@ export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', functio
98
98
  if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH && isKW(countryIso2)) {
99
99
  thunkApi.dispatch(handleNextScreenStep('BUSINESS_CIVIL_ID_STEP'));
100
100
  }
101
- if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH && !isKW(countryIso2)) {
101
+ if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH && (isSA(countryIso2) || isOtherThanKWOrSA(countryIso2))) {
102
102
  thunkApi.dispatch(handleNextScreenStep('BUSINESS_IDBOD_STEP'));
103
103
  }
104
104
  if (!(data.step_name === BUSINESS_STEP_NAMES.BUSINESS_INFO)) return [3, 20];
@@ -389,7 +389,7 @@ export var createCivilIdAuth = createAsyncThunk('createCivilIdAuth', function (p
389
389
  });
390
390
  }); });
391
391
  export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
392
- var _a, settings, business, identification_id_type, stepName, lead_id, requestBody, data;
392
+ var _a, settings, business, identification_id_type, stepName, lead_id, countryIso2, requestBody, data, business_id, entity, screen;
393
393
  var _b, _c;
394
394
  return __generator(this, function (_d) {
395
395
  switch (_d.label) {
@@ -398,11 +398,15 @@ export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function
398
398
  identification_id_type = params.nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
399
399
  stepName = BUSINESS_STEP_NAMES.IDENTITY_AUTH;
400
400
  lead_id = (business.data.verify.responseBody || {}).lead_id;
401
+ countryIso2 = settings.data.businessCountry.iso2;
402
+ if (isOtherThanKWOrSA(countryIso2)) {
403
+ identification_id_type = IDENTIFICATION_TYPE.NID;
404
+ }
401
405
  requestBody = {
402
406
  id: lead_id || '',
403
407
  identification: {
404
408
  id: params.nid,
405
- issued_country_code: settings.data.businessCountry.iso2,
409
+ issued_country_code: countryIso2,
406
410
  type: identification_id_type
407
411
  },
408
412
  date_of_birth: params.dob,
@@ -412,7 +416,20 @@ export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function
412
416
  return [4, API.leadService.updateLead(requestBody)];
413
417
  case 1:
414
418
  data = _d.sent();
415
- thunkApi.dispatch(handleNextScreenStep());
419
+ business_id = data.business_id, entity = data.entity;
420
+ screen = 'BUSINESS_OTP_STEP';
421
+ if (!isOtherThanKWOrSA(countryIso2)) return [3, 4];
422
+ screen = 'BUSINESS_BUSINESS_TYPE_STEP';
423
+ return [4, thunkApi.dispatch(retrieveAllEntityList({ businessId: business_id, entityId: entity === null || entity === void 0 ? void 0 : entity.id }))];
424
+ case 2:
425
+ _d.sent();
426
+ if (!isSA(countryIso2)) return [3, 4];
427
+ return [4, thunkApi.dispatch(retrieveEntityList({ leadId: data === null || data === void 0 ? void 0 : data.id }))];
428
+ case 3:
429
+ _d.sent();
430
+ _d.label = 4;
431
+ case 4:
432
+ thunkApi.dispatch(handleNextScreenStep(screen));
416
433
  (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, requestBody);
417
434
  return [2, { data: data, formData: __assign(__assign({}, params), { type: identification_id_type }) }];
418
435
  }
@@ -484,24 +501,24 @@ export var retrieveBoardDetails = createAsyncThunk('retrieveBoardDetails', funct
484
501
  });
485
502
  }); });
486
503
  export var updateLeadBusinessType = createAsyncThunk('updateLeadBusinessType', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
487
- var _a, settings, business, isNonSA, selectedLicense, licenseNumber, entityLegalName, certificateId, articleId, selectedEntityLicense, isFL, _b, lead_id, brand, stepName, payload, data, accountBody, accountData, brandData, brandRes, _c, message, error, list, documentData, entityData, entityId, documentBody, payload_1;
504
+ var _a, settings, business, isKWCountry, selectedLicense, licenseNumber, entityLegalName, certificateId, articleId, selectedEntityLicense, isFL, _b, lead_id, brand, stepName, payload, data, accountBody, accountData, brandData, brandRes, _c, message, error, list, documentData, entityData, entityId, documentBody, payload_1;
488
505
  var _d, _e;
489
506
  return __generator(this, function (_f) {
490
507
  switch (_f.label) {
491
508
  case 0:
492
509
  _a = thunkApi.getState(), settings = _a.settings, business = _a.business;
493
- isNonSA = !isSA(settings.data.businessCountry.iso2);
510
+ isKWCountry = isKW(settings.data.businessCountry.iso2);
494
511
  selectedLicense = params.selectedLicense, licenseNumber = params.licenseNumber, entityLegalName = params.entityLegalName, certificateId = params.certificateId, articleId = params.articleId, selectedEntityLicense = params.selectedEntityLicense;
495
512
  isFL = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.FL;
496
513
  _b = business.data.verify.responseBody || {}, lead_id = _b.lead_id, brand = _b.brand;
497
514
  stepName = 'BUSINESS_ACTIVITIES_STEP';
498
515
  payload = __assign(__assign(__assign(__assign({ id: lead_id || '', entity: {
499
- id: (selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id) && (isNonSA ? !isFL : true) ? selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id : ''
516
+ id: (selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id) && (isKWCountry ? !isFL : true) ? selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id : ''
500
517
  } }, (!(selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id) && {
501
- license_number: isNonSA && isFL ? '' : licenseNumber,
518
+ license_number: isKWCountry && isFL ? '' : licenseNumber,
502
519
  license_type: isFL ? LicenseType.FL : LicenseType.CR,
503
520
  business_type: selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type
504
- })), { step_name: BUSINESS_STEP_NAMES.BUSINESS_CR_INFO }), (isNonSA && {
521
+ })), { step_name: BUSINESS_STEP_NAMES.BUSINESS_CR_INFO }), (isKWCountry && {
505
522
  business_name: isFL ? undefined : { ar: entityLegalName, en: entityLegalName }
506
523
  })), { encryption_contract: ['license_number', 'business_type', 'license_type'] });
507
524
  return [4, API.leadService.updateLead(payload)];
@@ -630,7 +647,7 @@ export var updateActivitiesInfo = createAsyncThunk('updateActivitiesInfo', funct
630
647
  thunkApi.dispatch(updateStepName(stepName));
631
648
  thunkApi.dispatch(handleNextScreenStep());
632
649
  (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, requestBody);
633
- return [2, __assign({ data: data === null || data === void 0 ? void 0 : data.brand, formData: __assign({}, params) }, currencyData)];
650
+ return [2, { data: data === null || data === void 0 ? void 0 : data.brand, formData: __assign({}, params), currencyData: currencyData }];
634
651
  }
635
652
  });
636
653
  }); });
@@ -657,7 +674,7 @@ export var retrieveDataList = createAsyncThunk('businessRetrieveDataList', funct
657
674
  _a = _b.sent(), customerBases = _a[0].list, expectedSales = _a[1].list, expectedCustomerSales = _a[2].list;
658
675
  return [2, {
659
676
  customerBases: customerBases,
660
- expectedSales: expectedSales,
677
+ expectedSales: (expectedSales === null || expectedSales === void 0 ? void 0 : expectedSales.length) ? expectedSales : EXPECTED_SALES_LIST,
661
678
  expectedCustomerSales: expectedCustomerSales,
662
679
  countryISO2: countryISO2
663
680
  }];
@@ -830,10 +847,10 @@ export var businessSlice = createSlice({
830
847
  state.customLoading = true;
831
848
  })
832
849
  .addCase(verifyLeadToken.fulfilled, function (state, action) {
833
- var _a, _b, _c;
850
+ var _a, _b, _c, _d, _e, _f;
834
851
  state.error = null;
835
852
  state.customLoading = false;
836
- var _d = action.payload, data = _d.data, boardId = _d.boardId, brandData = _d.brandData, leadData = _d.leadData, token = _d.token, isRequireOTP = _d.isRequireOTP, isicActivityList = _d.isicActivityList, currencyData = _d.currencyData;
853
+ var _g = action.payload, data = _g.data, boardId = _g.boardId, brandData = _g.brandData, leadData = _g.leadData, token = _g.token, isRequireOTP = _g.isRequireOTP, isicActivityList = _g.isicActivityList, currencyData = _g.currencyData;
837
854
  var responseBody = state.data.verify.responseBody;
838
855
  state.data.verify.responseBody = __assign(__assign(__assign(__assign(__assign({}, data), leadData), responseBody), { board_id: boardId, lead_id: data === null || data === void 0 ? void 0 : data.id }), (brandData && { brand: brandData }));
839
856
  if (token)
@@ -841,13 +858,13 @@ export var businessSlice = createSlice({
841
858
  state.data.otpData.isNID = false;
842
859
  if (isRequireOTP)
843
860
  return;
844
- var _e = state.data.verify.responseBody || {}, entity = _e.entity, entity_activities = _e.entity_activities, business_name = _e.business_name;
861
+ var _h = state.data.verify.responseBody || {}, entity = _h.entity, entity_activities = _h.entity_activities, business_name = _h.business_name;
845
862
  if (business_name === null || business_name === void 0 ? void 0 : business_name.en)
846
863
  state.data.businessTypeData.entityLegalName = business_name === null || business_name === void 0 ? void 0 : business_name.en;
847
864
  var issuingDate = ((_a = brandData === null || brandData === void 0 ? void 0 : brandData.operations) === null || _a === void 0 ? void 0 : _a.start_date) || ((_b = entity === null || entity === void 0 ? void 0 : entity.license) === null || _b === void 0 ? void 0 : _b.issuing_date);
848
865
  if (issuingDate)
849
866
  state.data.activitiesData.operationStartDate = convertNumbers2English(dateFormat(issuingDate));
850
- var _f = brandData || {}, terms = _f.terms, activities = _f.activities;
867
+ var _j = brandData || {}, terms = _j.terms, activities = _j.activities;
851
868
  var entityActivities = (entity_activities === null || entity_activities === void 0 ? void 0 : entity_activities.filter(function (activity) {
852
869
  return !(activities === null || activities === void 0 ? void 0 : activities.some(function (value) { return value.id === activity.id; }));
853
870
  })) || [];
@@ -861,7 +878,8 @@ export var businessSlice = createSlice({
861
878
  if ((_c = currencyData === null || currencyData === void 0 ? void 0 : currencyData.code) === null || _c === void 0 ? void 0 : _c.english)
862
879
  state.data.currency = currencyData.code.english;
863
880
  state.data.activitiesData.activities = selectedActivity;
864
- state.data.businessTypeData.responseBody = __assign(__assign({}, state.data.businessTypeData.responseBody), { entity_id: entity === null || entity === void 0 ? void 0 : entity.id, activityList: isicActivityList });
881
+ var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
882
+ state.data.businessTypeData.responseBody = __assign(__assign(__assign({}, state.data.businessTypeData.responseBody), { entity_id: entity === null || entity === void 0 ? void 0 : entity.id, activityList: isicActivityList }), (!((_f = (_e = (_d = state.data.businessTypeData) === null || _d === void 0 ? void 0 : _d.responseBody) === null || _e === void 0 ? void 0 : _e.licenseList) === null || _f === void 0 ? void 0 : _f.length) && { licenseList: licenseList }));
865
883
  })
866
884
  .addCase(verifyLeadToken.rejected, function (state, action) {
867
885
  state.error = action.error.message;
@@ -889,22 +907,22 @@ export var businessSlice = createSlice({
889
907
  state.error = null;
890
908
  })
891
909
  .addCase(verifyLeadOTP.fulfilled, function (state, action) {
892
- var _a, _b, _c;
910
+ var _a, _b, _c, _d, _e, _f;
893
911
  state.loading = false;
894
912
  state.error = null;
895
- var _d = action.payload, data = _d.data, formData = _d.formData, brand = _d.brand, leadData = _d.leadData, isicActivityList = _d.isicActivityList, currencyData = _d.currencyData;
913
+ var _g = action.payload, data = _g.data, formData = _g.formData, brand = _g.brand, leadData = _g.leadData, isicActivityList = _g.isicActivityList, currencyData = _g.currencyData;
896
914
  state.data.otpData = formData;
897
915
  state.data.otpData.responseBody = data;
898
916
  if ((_a = currencyData === null || currencyData === void 0 ? void 0 : currencyData.code) === null || _a === void 0 ? void 0 : _a.english)
899
917
  state.data.currency = currencyData.code.english;
900
918
  state.data.verify.responseBody = __assign(__assign(__assign(__assign({}, leadData), state.data.verify.responseBody), (brand && { brand: brand })), { flows: (leadData === null || leadData === void 0 ? void 0 : leadData.flows) || [] });
901
- var _e = leadData || {}, entity = _e.entity, entity_activities = _e.entity_activities, business_name = _e.business_name;
919
+ var _h = leadData || {}, entity = _h.entity, entity_activities = _h.entity_activities, business_name = _h.business_name;
902
920
  if (business_name === null || business_name === void 0 ? void 0 : business_name.en)
903
921
  state.data.businessTypeData.entityLegalName = business_name === null || business_name === void 0 ? void 0 : business_name.en;
904
922
  var issuingDate = ((_b = brand === null || brand === void 0 ? void 0 : brand.operations) === null || _b === void 0 ? void 0 : _b.start_date) || ((_c = entity === null || entity === void 0 ? void 0 : entity.license) === null || _c === void 0 ? void 0 : _c.issuing_date);
905
923
  if (issuingDate)
906
924
  state.data.activitiesData.operationStartDate = convertNumbers2English(dateFormat(issuingDate));
907
- var _f = brand || {}, terms = _f.terms, activities = _f.activities;
925
+ var _j = brand || {}, terms = _j.terms, activities = _j.activities;
908
926
  var entityActivities = (entity_activities === null || entity_activities === void 0 ? void 0 : entity_activities.filter(function (activity) {
909
927
  return !(activities === null || activities === void 0 ? void 0 : activities.some(function (value) { return value.id === activity.id; }));
910
928
  })) || [];
@@ -916,7 +934,8 @@ export var businessSlice = createSlice({
916
934
  }
917
935
  });
918
936
  state.data.activitiesData.activities = selectedActivity;
919
- state.data.businessTypeData.responseBody = __assign(__assign({}, state.data.businessTypeData.responseBody), { entity_id: entity === null || entity === void 0 ? void 0 : entity.id, activityList: isicActivityList });
937
+ var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
938
+ state.data.businessTypeData.responseBody = __assign(__assign(__assign({}, state.data.businessTypeData.responseBody), { entity_id: entity === null || entity === void 0 ? void 0 : entity.id, activityList: isicActivityList }), (!((_f = (_e = (_d = state.data.businessTypeData) === null || _d === void 0 ? void 0 : _d.responseBody) === null || _e === void 0 ? void 0 : _e.licenseList) === null || _f === void 0 ? void 0 : _f.length) && { licenseList: licenseList }));
920
939
  })
921
940
  .addCase(verifyLeadOTP.rejected, function (state, action) {
922
941
  state.loading = false;
@@ -134,12 +134,13 @@ export declare const connectSlice: import("@reduxjs/toolkit").Slice<ConnectExpre
134
134
  stopLoader: (state: ConnectExpressState) => void;
135
135
  resetMobileScreen: (state: ConnectExpressState, action: ActionState<CountryCode>) => void;
136
136
  resetNIDScreen: (state: ConnectExpressState) => void;
137
+ setDefaultCountryCode: (state: ConnectExpressState, action: ActionState<CountryCode>) => void;
137
138
  resetCivilScreen: (state: ConnectExpressState) => void;
138
139
  resetOTPValue: (state: ConnectExpressState) => void;
139
140
  resetStore: (state: ConnectExpressState) => void;
140
141
  resetIndividualScreen: (state: ConnectExpressState) => void;
141
142
  }, "connectExpress/store">;
142
- export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setIsLeadIdPassed: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetMobileScreen: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, resetOTPValue: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetNIDScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCivilScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetStore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setLeadId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setShowBoard: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetIndividualScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
143
+ export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setIsLeadIdPassed: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetMobileScreen: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, resetOTPValue: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetNIDScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCivilScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetStore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setLeadId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setShowBoard: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetIndividualScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setDefaultCountryCode: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>;
143
144
  declare const _default: import("redux").Reducer<ConnectExpressState, import("redux").AnyAction>;
144
145
  export default _default;
145
146
  export declare const connectExpressSelector: (state: RootState) => ConnectExpressState;
@@ -61,7 +61,7 @@ import { FlowsTypes, AuthForType, BusinessType, LicenseType } from '../../../@ty
61
61
  import API from '../../../api';
62
62
  import { CONNECT_EXPRESS_STEP_NAMES, IDENTIFICATION_TYPE, OTHER_CR_LICENSE, OTHER_FL_LICENSE, SCOPE_AUTH } from '../../../constants';
63
63
  import { defaultCountry } from '../../../constants';
64
- import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA } from '../../../utils';
64
+ import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isOtherThanKWOrSA } from '../../../utils';
65
65
  export var retrieveLeadIdentityByIdAsync = createAsyncThunk('expressConnect/retrieveLeadIdentityByIdAsync', function (leadId, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
66
66
  var _a, settings, connectExpress, countryCode, showBoard, data, _b, country_code, contact, phone, status, board_id, board_info_id, isRegistered, _c, boardInfo, boardData, error_1;
67
67
  var _d, _e, _f, _g;
@@ -370,7 +370,7 @@ export var createCivilIdAuthAsync = createAsyncThunk('connectExpress/createCivil
370
370
  });
371
371
  }); });
372
372
  export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
373
- var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, mobileData, _c, auth_token, device_token, service_name, _d, scope, redirectUrl, authData, isScopeAuthentication, bi, isDataHasOperator, payload, data, authId, urlQueryStart, _e, brandList, entityList, isSaudi, next;
373
+ var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, mobileData, _c, auth_token, device_token, service_name, _d, scope, redirectUrl, authData, isScopeAuthentication, bi, isDataHasOperator, payload, data, authId, urlQueryStart, _e, brandList, entityList, isKuwait, next;
374
374
  var _f, _g;
375
375
  return __generator(this, function (_h) {
376
376
  switch (_h.label) {
@@ -426,8 +426,10 @@ export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileO
426
426
  case 3: return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead_id)).unwrap()];
427
427
  case 4:
428
428
  _h.sent();
429
- isSaudi = isSA(settings.data.businessCountry.iso2);
430
- next = isSaudi ? 'CONNECT_EXPRESS_NID_MISSED_STEP' : 'CONNECT_EXPRESS_CIVIL_ID_MISSED_STEP';
429
+ isKuwait = isKW(settings.data.businessCountry.iso2);
430
+ next = 'CONNECT_EXPRESS_NID_MISSED_STEP';
431
+ if (isKuwait)
432
+ next = 'CONNECT_EXPRESS_CIVIL_ID_MISSED_STEP';
431
433
  sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep(next)); });
432
434
  return [2, data];
433
435
  }
@@ -547,6 +549,9 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
547
549
  dob = params.dob, nid = params.nid;
548
550
  nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
549
551
  countryCode = settings.data.businessCountry.iso2;
552
+ if (isOtherThanKWOrSA(countryCode)) {
553
+ nidType = IDENTIFICATION_TYPE.NID;
554
+ }
550
555
  requestBody = {
551
556
  id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
552
557
  identification: {
@@ -562,7 +567,17 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
562
567
  return [4, API.leadService.updateLead(requestBody)];
563
568
  case 1:
564
569
  data = _e.sent();
565
- thunkApi.dispatch(handleNextScreenStep());
570
+ if (!((data === null || data === void 0 ? void 0 : data.verify_token) !== 'null')) return [3, 2];
571
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_OTP_IDENTITY_STEP'));
572
+ return [3, 4];
573
+ case 2:
574
+ if (!isOtherThanKWOrSA(countryCode)) return [3, 4];
575
+ return [4, thunkApi.dispatch(getLeadByIdAsync(data.id)).unwrap()];
576
+ case 3:
577
+ _e.sent();
578
+ thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP'));
579
+ _e.label = 4;
580
+ case 4:
566
581
  (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, requestBody.identification);
567
582
  return [2, { response: { verify_token: data.verify_token }, formData: params }];
568
583
  }
@@ -578,6 +593,9 @@ export var resendNIDAuthIdentityOTP = createAsyncThunk('connectExpress/resendNID
578
593
  dob = params.dob, nid = params.nid;
579
594
  nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
580
595
  countryCode = settings.data.businessCountry.iso2;
596
+ if (isOtherThanKWOrSA(countryCode)) {
597
+ nidType = IDENTIFICATION_TYPE.NID;
598
+ }
581
599
  requestBody = {
582
600
  id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
583
601
  identification: {
@@ -800,14 +818,14 @@ export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLe
800
818
  export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDataAsync ', function (_a, thunkApi) {
801
819
  var formData = _a.formData, originalFormData = _a.originalFormData;
802
820
  return __awaiter(void 0, void 0, void 0, function () {
803
- var _b, settings, connectExpress, selectedLicense, brandName, licenseNumber, termAndConditionChecked, isNonSA, isFL, _c, responseData, isLeadIdPassed, id, brandNameBody, payload, data;
821
+ var _b, settings, connectExpress, selectedLicense, brandName, licenseNumber, termAndConditionChecked, isKWCountry, isFL, _c, responseData, isLeadIdPassed, id, brandNameBody, payload, data;
804
822
  var _d, _e;
805
823
  return __generator(this, function (_f) {
806
824
  switch (_f.label) {
807
825
  case 0:
808
826
  _b = thunkApi.getState(), settings = _b.settings, connectExpress = _b.connectExpress;
809
827
  selectedLicense = formData.selectedLicense, brandName = formData.brandName, licenseNumber = formData.licenseNumber, termAndConditionChecked = formData.termAndConditionChecked;
810
- isNonSA = !isSA(settings.data.businessCountry.iso2);
828
+ isKWCountry = isKW(settings.data.businessCountry.iso2);
811
829
  isFL = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.FL;
812
830
  _c = connectExpress.data, responseData = _c.responseData, isLeadIdPassed = _c.isLeadIdPassed;
813
831
  id = ((responseData === null || responseData === void 0 ? void 0 : responseData.leadData) || {}).id;
@@ -820,13 +838,13 @@ export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDat
820
838
  payload = {
821
839
  id: id || '',
822
840
  brand: brandNameBody,
823
- license_number: isNonSA && isFL ? '' : licenseNumber,
841
+ license_number: isKWCountry && isFL ? '' : licenseNumber,
824
842
  license_type: (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) ? (isFL ? LicenseType.FL : LicenseType.CR) : undefined,
825
843
  business_type: selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type,
826
844
  is_acknowledged: true,
827
845
  terms_conditions_accepted: !isLeadIdPassed ? termAndConditionChecked : undefined,
828
846
  step_name: CONNECT_EXPRESS_STEP_NAMES.UPDATE_LEAD_BRAND_BUSINESS,
829
- encryption_contract: ['license_number', 'business_type', 'license_type']
847
+ encryption_contract: []
830
848
  };
831
849
  return [4, API.leadService.updateLeadExpress(payload)];
832
850
  case 1:
@@ -966,6 +984,10 @@ export var connectSlice = createSlice({
966
984
  resetNIDScreen: function (state) {
967
985
  state.data.nidData = __assign(__assign({}, state.data.nidData), initialState.data.nidData);
968
986
  },
987
+ setDefaultCountryCode: function (state, action) {
988
+ state.data.mobileData.countryCode = action.payload;
989
+ state.data.individualData.countryCode = action.payload;
990
+ },
969
991
  resetCivilScreen: function (state) {
970
992
  state.data.civilIdData = __assign(__assign({}, state.data.civilIdData), initialState.data.civilIdData);
971
993
  },
@@ -1115,7 +1137,7 @@ export var connectSlice = createSlice({
1115
1137
  var _a;
1116
1138
  state.loading = false;
1117
1139
  state.data.civilIdData = action.payload.formData;
1118
- state.data.otpData.authFor = AuthForType.NATIONAL_ID;
1140
+ state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
1119
1141
  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) });
1120
1142
  })
1121
1143
  .addCase(createCivilIDAuthIdentityAsync.rejected, function (state, action) {
@@ -1130,7 +1152,7 @@ export var connectSlice = createSlice({
1130
1152
  var _a;
1131
1153
  state.loading = false;
1132
1154
  state.data.nidData = action.payload.formData;
1133
- state.data.otpData.authFor = AuthForType.NATIONAL_ID;
1155
+ state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
1134
1156
  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) });
1135
1157
  })
1136
1158
  .addCase(createNIDAuthIdentityAsync.rejected, function (state, action) {
@@ -1143,7 +1165,7 @@ export var connectSlice = createSlice({
1143
1165
  .addCase(resendNIDAuthIdentityOTP.fulfilled, function (state, action) {
1144
1166
  var _a;
1145
1167
  state.data.nidData = action.payload.formData;
1146
- state.data.otpData.authFor = AuthForType.NATIONAL_ID;
1168
+ state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
1147
1169
  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) });
1148
1170
  })
1149
1171
  .addCase(resendNIDAuthIdentityOTP.rejected, function (state, action) {
@@ -1294,10 +1316,12 @@ export var connectSlice = createSlice({
1294
1316
  state.error = action.error.message;
1295
1317
  })
1296
1318
  .addCase(updateLeadIndividualAsync.fulfilled, function (state, action) {
1319
+ var _a, _b;
1297
1320
  state.loading = false;
1298
1321
  state.error = null;
1322
+ var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
1299
1323
  state.data.individualData = action.payload.formData;
1300
- state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.response });
1324
+ state.data.responseData = __assign(__assign(__assign({}, state.data.responseData), { individualData: action.payload.response }), (!((_b = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.licenseList) === null || _b === void 0 ? void 0 : _b.length) && { licenseList: licenseList }));
1301
1325
  })
1302
1326
  .addCase(updateLeadIndividualAsync.pending, function (state) {
1303
1327
  state.loading = true;
@@ -1391,6 +1415,6 @@ export var connectSlice = createSlice({
1391
1415
  });
1392
1416
  }
1393
1417
  });
1394
- export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, setShowBoard = _a.setShowBoard, resetIndividualScreen = _a.resetIndividualScreen;
1418
+ export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, setShowBoard = _a.setShowBoard, resetIndividualScreen = _a.resetIndividualScreen, setDefaultCountryCode = _a.setDefaultCountryCode;
1395
1419
  export default connectSlice.reducer;
1396
1420
  export var connectExpressSelector = function (state) { return state.connectExpress; };
@@ -70,7 +70,7 @@ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
70
70
  import API from '../../../api';
71
71
  import { FlowsTypes, IndividualGender, DocumentPurpose } from '../../../@types';
72
72
  import { handleNextScreenStep, handlePrevScreenStep, handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
73
- import { defaultCountry, IDENTIFICATION_TYPE, INDIVIDUAl_STEP_NAMES } from '../../../constants';
73
+ import { defaultCountry, IDENTIFICATION_TYPE, INDIVIDUAl_STEP_NAMES, MONTHLY_INCOME_LIST } from '../../../constants';
74
74
  import { convertNumbers2English, dateFormat, findCountryByIddPrefix, findCountryByIso2, hasNoneEditableValue, getUserNameObject, getUserName, sleep, isValidEmail, getRecentDocumentBasedOnPurpose, formatNumberAsCurrency, removeAllCharsFromNumber, mapUserList, sortUserList, getIndividualType } 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;
@@ -1159,16 +1159,16 @@ export var individualSlice = createSlice({
1159
1159
  state.error = null;
1160
1160
  })
1161
1161
  .addCase(retrieveDataList.fulfilled, function (state, action) {
1162
- var _a;
1162
+ var _a, _b;
1163
1163
  state.loading = false;
1164
1164
  state.error = null;
1165
- var _b = action.payload, sourceIncome = _b.sourceIncome, monthlyIncome = _b.monthlyIncome, occupationData = _b.occupation;
1165
+ var _c = action.payload, sourceIncome = _c.sourceIncome, monthlyIncome = _c.monthlyIncome, occupationData = _c.occupation;
1166
1166
  var data = state.data.individualData.responseBody;
1167
1167
  var sourceIncomeList = (sourceIncome === null || sourceIncome === void 0 ? void 0 : sourceIncome.list) || [];
1168
- var monthlyIncomeList = (monthlyIncome === null || monthlyIncome === void 0 ? void 0 : monthlyIncome.list) || [];
1168
+ var monthlyIncomeList = ((_a = monthlyIncome === null || monthlyIncome === void 0 ? void 0 : monthlyIncome.list) === null || _a === void 0 ? void 0 : _a.length) ? monthlyIncome === null || monthlyIncome === void 0 ? void 0 : monthlyIncome.list : MONTHLY_INCOME_LIST;
1169
1169
  var occupationList = (occupationData === null || occupationData === void 0 ? void 0 : occupationData.list) || [];
1170
1170
  state.data.individualData.responseBody = __assign(__assign({}, data), { sourceIncomeList: sourceIncomeList, monthlyIncomeList: monthlyIncomeList, occupationList: occupationList });
1171
- var _c = ((_a = state.data.verify.responseBody) === null || _a === void 0 ? void 0 : _a.user) || {}, source_income = _c.source_income, monthly_income = _c.monthly_income, occupation = _c.occupation;
1171
+ var _d = ((_b = state.data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.user) || {}, source_income = _d.source_income, monthly_income = _d.monthly_income, occupation = _d.occupation;
1172
1172
  var selectedSourceIncome = (sourceIncomeList === null || sourceIncomeList === void 0 ? void 0 : sourceIncomeList.find(function (source) { var _a; return (source === null || source === void 0 ? void 0 : source.id) === ((_a = source_income === null || source_income === void 0 ? void 0 : source_income[0]) === null || _a === void 0 ? void 0 : _a.id); })) || (sourceIncomeList === null || sourceIncomeList === void 0 ? void 0 : sourceIncomeList[0]);
1173
1173
  if (!!selectedSourceIncome)
1174
1174
  state.data.individualData.sourceIncome = selectedSourceIncome;
@@ -23,8 +23,8 @@ import ScreenContainer from '../../../shared/Containers/ScreenContainer';
23
23
  import { businessSelector, clearError, updateLeadBusinessType } from '../../../app/business/businessStore';
24
24
  import { BusinessType as Type } from '../../../../@types';
25
25
  import Button from '../../../shared/Button';
26
- import { deepCopy, isKW, isOtherLicense, isSA } from '../../../../utils';
27
- import { KWLicenseValidationSchema, LicenseValidationSchema } from './validation';
26
+ import { deepCopy, isKW, isOtherLicense, isOtherThanKWOrSA, isSA } from '../../../../utils';
27
+ import { KWLicenseValidationSchema, LicenseValidationSchema, OtherCountryLicenseValidationSchema } from './validation';
28
28
  import LicenseList from './LicenseList';
29
29
  import LicenseCertificate from './LicenseCertificate';
30
30
  import LicenseType from './LicenseType';
@@ -51,8 +51,16 @@ var BusinessType = function (_a) {
51
51
  };
52
52
  var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
53
53
  var isKWCountry = React.useMemo(function () { return isKW(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
54
+ var isOtherCountry = React.useMemo(function () { return isOtherThanKWOrSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
55
+ var getSchema = function () {
56
+ if (isSACountry)
57
+ return LicenseValidationSchema;
58
+ if (isKWCountry)
59
+ return KWLicenseValidationSchema;
60
+ return OtherCountryLicenseValidationSchema;
61
+ };
54
62
  var methods = useForm({
55
- resolver: yupResolver(!isSACountry ? KWLicenseValidationSchema : LicenseValidationSchema),
63
+ resolver: yupResolver(getSchema()),
56
64
  defaultValues: {
57
65
  selectedLicense: selectedLicense,
58
66
  selectedEntityLicense: selectedEntityLicense,
@@ -89,10 +97,10 @@ var BusinessType = function (_a) {
89
97
  var selectedLicenseEntity = methods.getValues('selectedEntityLicense');
90
98
  var isCR = (selected === null || selected === void 0 ? void 0 : selected.type) === Type.CR;
91
99
  var hasEntityList = !!(entityLicenseList === null || entityLicenseList === void 0 ? void 0 : entityLicenseList.length);
92
- var showLicenseList = hasEntityList ? isSACountry && isOtherLicense(selectedLicenseEntity) : isSACountry;
100
+ var showLicenseList = hasEntityList ? (isSACountry || isOtherCountry) && isOtherLicense(selectedLicenseEntity) : isSACountry || isOtherCountry;
93
101
  var showEntityList = isKWCountry ? hasEntityList && !isLicenseListActive && isCR : hasEntityList && !isLicenseListActive;
94
102
  var disabled = !methods.formState.isValid || !!error || uploading || uploadingArticle;
95
103
  var disableBack = !data.otpData.isNID;
96
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(Form, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(LicenseType, { show: !listActive && !isSACountry }), _jsx(EntityLicenseList, { show: showEntityList, onListOpen: function () { return handleMenuClick(ListType.EntityLicenseList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(LicenseList, { show: showLicenseList && !isEntityLicenseListActive, onListOpen: function () { return handleMenuClick(ListType.LicenseList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(EntityName, { show: !isAnyListActive && !isSACountry && isCR }), _jsx(LicenseNumber, { show: !isSACountry ? !isAnyListActive && isCR : !isAnyListActive }), _jsx(LicenseCertificate, { show: !isAnyListActive && !isSACountry && isCR }), _jsx(Article, { show: !isAnyListActive && !isSACountry && isCR }), _jsx(Collapse, __assign({ in: !isAnyListActive, timeout: 500 }, { children: _jsx(Button, __assign({ disableBack: disableBack, onBackClicked: function () { return onBack(); }, isAr: isAr, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
104
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(Form, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(LicenseType, { show: !listActive && isKWCountry }), _jsx(EntityLicenseList, { show: showEntityList, onListOpen: function () { return handleMenuClick(ListType.EntityLicenseList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(LicenseList, { show: showLicenseList && !isEntityLicenseListActive, onListOpen: function () { return handleMenuClick(ListType.LicenseList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(EntityName, { show: !isAnyListActive && isKWCountry && isCR }), _jsx(LicenseNumber, { show: isKWCountry ? !isAnyListActive && isCR : !isAnyListActive }), _jsx(LicenseCertificate, { show: !isAnyListActive && isKWCountry && isCR }), _jsx(Article, { show: !isAnyListActive && isKWCountry && isCR }), _jsx(Collapse, __assign({ in: !isAnyListActive, timeout: 500 }, { children: _jsx(Button, __assign({ disableBack: disableBack, onBackClicked: function () { return onBack(); }, isAr: isAr, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
97
105
  };
98
106
  export default React.memo(BusinessType);
@@ -16,7 +16,7 @@ import { useController, useFormContext } from 'react-hook-form';
16
16
  import { styled } from '@mui/material/styles';
17
17
  import Box from '@mui/material/Box';
18
18
  import { settingsSelector } from '../../../../app/settings';
19
- import { isSA, removeAllOtherThanCharsNumbersAndSpace } from '../../../../utils';
19
+ import { isKW, removeAllOtherThanCharsNumbersAndSpace } from '../../../../utils';
20
20
  import { useAppSelector } from '../../../../hooks';
21
21
  import Collapse from '../../../../components/Collapse';
22
22
  import Input from '../../../shared/Input';
@@ -41,7 +41,7 @@ var EntityName = function (_a) {
41
41
  var entityNameValue = entityNameControl.field.value;
42
42
  var error = (_b = entityNameControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
43
43
  var settingsData = useAppSelector(settingsSelector).data;
44
- var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
44
+ var isKWCountry = React.useMemo(function () { return isKW(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
45
45
  var handleChange = function (_a) {
46
46
  var target = _a.target;
47
47
  var value = removeAllOtherThanCharsNumbersAndSpace(target.value);
@@ -50,6 +50,6 @@ var EntityName = function (_a) {
50
50
  var clearEntityName = function () {
51
51
  entityNameControl.field.onChange('');
52
52
  };
53
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(BoxStyled, { children: _jsx(Input, { label: t('entity_legal_name_title'), onChange: handleChange, value: entityNameValue, required: !isSACountry, endAdornment: _jsx(EndAdornment, { value: entityNameValue, error: error, onClear: clearEntityName }), placeholder: t('entity_legal_name_placeholder'), warningType: 'alert', warningMessage: error && t(error) }) }) })));
53
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(BoxStyled, { children: _jsx(Input, { label: t('entity_legal_name_title'), onChange: handleChange, value: entityNameValue, required: isKWCountry, endAdornment: _jsx(EndAdornment, { value: entityNameValue, error: error, onClear: clearEntityName }), placeholder: t('entity_legal_name_placeholder'), warningType: 'alert', warningMessage: error && t(error) }) }) })));
54
54
  };
55
55
  export default EntityName;
@@ -36,7 +36,7 @@ import { businessSelector, clearError } from '../../../app/business/businessStor
36
36
  import Text from '../../../../components/Text';
37
37
  import ExpandIcon from '../../../../components/ExpandIcon';
38
38
  import Collapse from '../../../../components/Collapse';
39
- import { isOtherLicense, isSA } from '../../../../utils';
39
+ import { isKW, isOtherLicense } from '../../../../utils';
40
40
  import { OTHER_CR_LICENSE, OTHER_FL_LICENSE } from '../../../../constants';
41
41
  import { settingsSelector } from '../../../../app/settings';
42
42
  var InputStyled = styled(InputSelect)(function (_a) {
@@ -90,8 +90,8 @@ var LicenseList = function (_a) {
90
90
  }, [licenseList, selectedLicense]);
91
91
  React.useEffect(function () {
92
92
  if (!!country_code) {
93
- var isNonSA = !isSA(country_code);
94
- if (isNonSA) {
93
+ var isKWCountry = isKW(country_code);
94
+ if (isKWCountry) {
95
95
  var license = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR ? OTHER_CR_LICENSE : OTHER_FL_LICENSE;
96
96
  setValue('selectedLicense', license, { shouldValidate: true });
97
97
  setValue('entityLegalName', entityLegalName, { shouldValidate: true });
@@ -14,7 +14,7 @@ import * as React from 'react';
14
14
  import { useTranslation } from 'react-i18next';
15
15
  import { useController, useFormContext } from 'react-hook-form';
16
16
  import { CR_MIN_LICENSE_LENGTH, CR_NUMBER_MAX_LENGTH, FL_MIN_LICENSE_LENGTH, FL_NUMBER_MAX_LENGTH, KW_MAX_LICENSE_LENGTH, KW_MIN_LICENSE_LENGTH } from '../../../../constants';
17
- import { removeAllOtherThanCharsAndNumber, isSA, isOtherLicense } from '../../../../utils';
17
+ import { removeAllOtherThanCharsAndNumber, isOtherLicense, isKW, isOtherThanKWOrSA } from '../../../../utils';
18
18
  import ScreenContainer from '../../../shared/Containers/ScreenContainer';
19
19
  import ClearIcon from '../../../shared/ClearIcon';
20
20
  import CheckIcon from '../../../shared/CheckIcon';
@@ -30,9 +30,10 @@ var LicenseNumber = function (_a) {
30
30
  var _c = useFormContext(), control = _c.control, watch = _c.watch, getValues = _c.getValues;
31
31
  var licenseNumberControl = useController({ control: control, name: 'licenseNumber' });
32
32
  var settingsData = useAppSelector(settingsSelector).data;
33
- var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
34
- var selectedLicense = !isSACountry ? watch('selectedLicense') : getValues('selectedLicense');
35
- var selectedEntityLicense = !isSACountry ? watch('selectedEntityLicense') : getValues('selectedEntityLicense');
33
+ var isKWCountry = React.useMemo(function () { return isKW(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
34
+ var isOtherThanKWOrSACountry = React.useMemo(function () { return isOtherThanKWOrSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
35
+ var selectedLicense = isKWCountry ? watch('selectedLicense') : getValues('selectedLicense');
36
+ var selectedEntityLicense = isKWCountry ? watch('selectedEntityLicense') : getValues('selectedEntityLicense');
36
37
  var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
37
38
  var readOnly = !isOtherLicense(selectedLicense) || (selectedEntityLicense && !isOtherLicense(selectedEntityLicense));
38
39
  var handleFLNumberChange = function (_a) {
@@ -45,10 +46,10 @@ var LicenseNumber = function (_a) {
45
46
  };
46
47
  var licenseNumberValue = licenseNumberControl.field.value;
47
48
  var error = (_b = licenseNumberControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
48
- var length = !isSACountry ? KW_MAX_LICENSE_LENGTH : isCR ? CR_NUMBER_MAX_LENGTH : FL_NUMBER_MAX_LENGTH;
49
- var minLength = !isSACountry ? KW_MIN_LICENSE_LENGTH : isCR ? CR_MIN_LICENSE_LENGTH : FL_MIN_LICENSE_LENGTH;
49
+ var length = isKWCountry || isOtherThanKWOrSACountry ? KW_MAX_LICENSE_LENGTH : isCR ? CR_NUMBER_MAX_LENGTH : FL_NUMBER_MAX_LENGTH;
50
+ var minLength = isKWCountry || isOtherThanKWOrSACountry ? KW_MIN_LICENSE_LENGTH : isCR ? CR_MIN_LICENSE_LENGTH : FL_MIN_LICENSE_LENGTH;
50
51
  var label = isCR ? 'cr_number' : 'fl_number';
51
- var showCheckIcon = !isSACountry ? (licenseNumberValue === null || licenseNumberValue === void 0 ? void 0 : licenseNumberValue.length) >= minLength : (licenseNumberValue === null || licenseNumberValue === void 0 ? void 0 : licenseNumberValue.length) === length;
52
- return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, { children: _jsx(Input, { readOnly: readOnly, label: t(label), required: !isSACountry, onChange: handleFLNumberChange, inputProps: { maxLength: length }, value: licenseNumberValue, endAdornment: showCheckIcon ? _jsx(CheckIcon, {}) : licenseNumberValue && _jsx(ClearIcon, { onClick: clearLicenseNumber }), placeholder: isCR ? t('cr_number_hint') : t('fl_number_hint'), warningType: 'alert', warningMessage: error && t(error, { length: minLength }) }) }) })));
52
+ var showCheckIcon = isKWCountry || isOtherThanKWOrSACountry ? (licenseNumberValue === null || licenseNumberValue === void 0 ? void 0 : licenseNumberValue.length) >= minLength : (licenseNumberValue === null || licenseNumberValue === void 0 ? void 0 : licenseNumberValue.length) === length;
53
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, { children: _jsx(Input, { readOnly: readOnly, label: t(label), required: isKWCountry, onChange: handleFLNumberChange, inputProps: { maxLength: length }, value: licenseNumberValue, endAdornment: showCheckIcon ? _jsx(CheckIcon, {}) : licenseNumberValue && _jsx(ClearIcon, { onClick: clearLicenseNumber }), placeholder: isCR ? t('cr_number_hint') : t('fl_number_hint'), warningType: 'alert', warningMessage: error && t(error, { length: minLength }) }) }) })));
53
54
  };
54
55
  export default React.memo(LicenseNumber);
@@ -31,3 +31,13 @@ export declare const KWLicenseValidationSchema: yup.ObjectSchema<import("yup/lib
31
31
  articleId: yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
32
32
  articleFile: any;
33
33
  }>>>;
34
+ export declare const OtherCountryLicenseValidationSchema: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
35
+ selectedLicense: any;
36
+ licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
37
+ }>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
38
+ selectedLicense: any;
39
+ licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
40
+ }>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
41
+ selectedLicense: any;
42
+ licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
43
+ }>>>;
@@ -87,3 +87,19 @@ export var KWLicenseValidationSchema = yup.object().shape({
87
87
  })
88
88
  .optional()
89
89
  });
90
+ export var OtherCountryLicenseValidationSchema = yup.object().shape({
91
+ selectedLicense: yup.object().shape(objectElements).required(''),
92
+ licenseNumber: yup
93
+ .string()
94
+ .test({
95
+ test: function (value) {
96
+ var selectedLicense = this.parent.selectedLicense;
97
+ var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
98
+ var length = (value === null || value === void 0 ? void 0 : value.length) || 0;
99
+ if (length === 0)
100
+ return true;
101
+ return length >= KW_MIN_LICENSE_LENGTH ? true : this.createError({ message: isCR ? 'cr_kw_max_length' : 'fl_max_length' });
102
+ }
103
+ })
104
+ .required('')
105
+ });