@tap-payments/auth-jsconnect 2.1.61-test → 2.1.62-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 (41) hide show
  1. package/build/@types/form.d.ts +1 -0
  2. package/build/assets/locales/ar.json +2 -1
  3. package/build/assets/locales/en.json +2 -1
  4. package/build/constants/assets.d.ts +1 -0
  5. package/build/constants/assets.js +1 -0
  6. package/build/features/app/connectExpress/connectExpressStore.d.ts +3 -1
  7. package/build/features/app/connectExpress/connectExpressStore.js +23 -14
  8. package/build/features/bank/screens/PrepareDataLoading/PrepareDataLoading.js +4 -1
  9. package/build/features/brand/screens/PrepareDataLoading/PrepareDataLoading.js +4 -1
  10. package/build/features/connectExpress/ConnectExpress.d.ts +1 -0
  11. package/build/features/connectExpress/ConnectExpress.js +4 -2
  12. package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +9 -6
  13. package/build/features/connectExpress/screens/CollectBusinessInfo/TAC.d.ts +6 -0
  14. package/build/features/connectExpress/screens/CollectBusinessInfo/TAC.js +83 -0
  15. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.d.ts +2 -2
  16. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.js +133 -57
  17. package/build/features/connectExpress/screens/CreateAccountLoader/CreateAccountLoader.js +6 -53
  18. package/build/features/connectExpress/screens/Mobile/Mobile.js +3 -2
  19. package/build/features/connectExpress/screens/Mobile/TAC.d.ts +6 -0
  20. package/build/features/connectExpress/screens/Mobile/TAC.js +83 -0
  21. package/build/features/connectExpress/screens/Mobile/validation.d.ts +1 -1
  22. package/build/features/connectExpress/screens/Mobile/validation.js +58 -26
  23. package/build/features/connectExpress/screens/NID/NID.js +4 -3
  24. package/build/features/connectExpress/screens/NID/TAC.d.ts +6 -0
  25. package/build/features/connectExpress/screens/NID/TAC.js +83 -0
  26. package/build/features/connectExpress/screens/NID/validation.d.ts +1 -1
  27. package/build/features/connectExpress/screens/NID/validation.js +21 -8
  28. package/build/features/entity/screens/PrepareDataLoading/PrepareDataLoading.js +4 -1
  29. package/build/features/individual/screens/PrepareDataLoading/PrepareDataLoading.js +4 -1
  30. package/build/features/shared/CreateAccountLoading/CreateAccountLoading.d.ts +6 -0
  31. package/build/features/shared/CreateAccountLoading/CreateAccountLoading.js +58 -0
  32. package/build/features/shared/CreateAccountLoading/index.d.ts +2 -0
  33. package/build/features/shared/CreateAccountLoading/index.js +2 -0
  34. package/build/features/shared/DataLoading/DataLoading.d.ts +2 -1
  35. package/build/features/shared/DataLoading/DataLoading.js +14 -11
  36. package/build/features/shared/GenericError/GenericError.d.ts +7 -0
  37. package/build/features/shared/GenericError/GenericError.js +55 -0
  38. package/build/features/shared/GenericError/index.d.ts +2 -0
  39. package/build/features/shared/GenericError/index.js +2 -0
  40. package/build/features/tax/screens/PrepareDataLoading/PrepareDataLoading.js +4 -1
  41. package/package.json +3 -2
@@ -115,4 +115,5 @@ export declare type BusinessDataFormValues = {
115
115
  brandName: string;
116
116
  licenseNumber: string;
117
117
  selectedLicense?: License;
118
+ termAndConditionChecked?: boolean;
118
119
  };
@@ -360,5 +360,6 @@
360
360
  "creating_account_description": "This might take a moment...",
361
361
  "uploaded_file": "file",
362
362
  "prepare_data_title": "Preparing your data",
363
- "prepare_data_description": "This might take a moment..."
363
+ "prepare_data_description": "This might take a moment...",
364
+ "oops": "Oops"
364
365
  }
@@ -389,5 +389,6 @@
389
389
  "creating_account_description": "This might take a moment...",
390
390
  "uploaded_file": "file",
391
391
  "prepare_data_title": "Preparing your data",
392
- "prepare_data_description": "This might take a moment..."
392
+ "prepare_data_description": "This might take a moment...",
393
+ "oops": "Oops"
393
394
  }
@@ -37,6 +37,7 @@ export declare const ICONS_NAMES: {
37
37
  TAP_LOGO_TEXT_AR: string;
38
38
  TAP_LOGO_TEXT_EN: string;
39
39
  PACI_VERIFY_ICON: string;
40
+ EXPRESS_ERROR_ICON: string;
40
41
  TAP_EN: string;
41
42
  TAP_AR: string;
42
43
  ID_IMAGE: string;
@@ -37,6 +37,7 @@ export var ICONS_NAMES = {
37
37
  TAP_LOGO_TEXT_AR: ICONS_FULL_PATH + '/tap-white-text-ar' + ICONS_EXTENSION,
38
38
  TAP_LOGO_TEXT_EN: ICONS_FULL_PATH + '/tap-white-text-en' + ICONS_EXTENSION,
39
39
  PACI_VERIFY_ICON: ICONS_FULL_PATH + '/PACI_verify_icon' + '.png',
40
+ EXPRESS_ERROR_ICON: ICONS_FULL_PATH + '/EXPRESS_error_icon' + '.svg',
40
41
  TAP_EN: 'https://tap-connecet.b-cdn.net/imgs/tapEN' + ICONS_EXTENSION,
41
42
  TAP_AR: 'https://tap-connecet.b-cdn.net/imgs/tapAR' + ICONS_EXTENSION,
42
43
  ID_IMAGE: 'https://villageofwarwick.org/wp-content/uploads/2020/02/ICON99-512-1.png',
@@ -78,6 +78,7 @@ interface ResponseData {
78
78
  }
79
79
  export interface ConnectExpressData {
80
80
  isLeadIdPassed: boolean;
81
+ showBoard: boolean;
81
82
  postURL: string;
82
83
  mobileData: MobileFormValues;
83
84
  nidData: NIDFormValues;
@@ -95,6 +96,7 @@ export interface ConnectExpressState extends SharedState<ConnectExpressData & Re
95
96
  }
96
97
  export declare const connectSlice: import("@reduxjs/toolkit").Slice<ConnectExpressState, {
97
98
  setLeadId(state: ConnectExpressState, action: ActionState<string>): void;
99
+ setShowBoard(state: ConnectExpressState, action: ActionState<boolean>): void;
98
100
  setIsLeadIdPassed: (state: ConnectExpressState, action: ActionState<boolean>) => void;
99
101
  clearError: (state: ConnectExpressState) => void;
100
102
  setError(state: ConnectExpressState, action: ActionState<string>): void;
@@ -107,7 +109,7 @@ export declare const connectSlice: import("@reduxjs/toolkit").Slice<ConnectExpre
107
109
  resetStore: (state: ConnectExpressState) => void;
108
110
  resetIndividualScreen: (state: ConnectExpressState) => void;
109
111
  }, "connectExpress/store">;
110
- 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>, setPostUrl: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setLeadId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, resetIndividualScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
112
+ 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>, setPostUrl: 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>;
111
113
  declare const _default: import("redux").Reducer<ConnectExpressState, import("redux").AnyAction>;
112
114
  export default _default;
113
115
  export declare const connectExpressSelector: (state: RootState) => ConnectExpressState;
@@ -235,13 +235,13 @@ export var createCivilIdAuthAsync = createAsyncThunk('connectExpress/createCivil
235
235
  });
236
236
  }); });
237
237
  export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
238
- var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, otpData, _c, auth_token, device_token, service_name, payload, data, isSaudi, next;
238
+ var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, mobileData, _c, auth_token, device_token, service_name, payload, data, isSaudi, next;
239
239
  var _d, _e;
240
240
  return __generator(this, function (_f) {
241
241
  switch (_f.label) {
242
242
  case 0:
243
243
  _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
244
- _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId, isLeadIdPassed = _b.isLeadIdPassed, otpData = _b.otpData;
244
+ _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId, isLeadIdPassed = _b.isLeadIdPassed, mobileData = _b.mobileData;
245
245
  if (!(responseData === null || responseData === void 0 ? void 0 : responseData.authData))
246
246
  throw new Error('Auth data is missing');
247
247
  _c = responseData.authData, auth_token = _c.auth_token, device_token = _c.device_token, service_name = _c.service_name;
@@ -253,7 +253,7 @@ export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileO
253
253
  device_token: device_token,
254
254
  service_name: service_name,
255
255
  sign_in: false,
256
- terms: ['general'],
256
+ terms: isLeadIdPassed && mobileData.termAndConditionChecked ? ['general'] : undefined,
257
257
  step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE,
258
258
  encryption_contract: ['data']
259
259
  };
@@ -272,13 +272,13 @@ export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileO
272
272
  });
273
273
  }); });
274
274
  export var verifyNIDOtpAsync = createAsyncThunk('connectExpress/verifyNIDOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
275
- var _a, settings, connectExpress, _b, responseData, leadId, _c, auth_token, device_token, service_name, payload, data, stepName, needToCollectMoreInfo, creatingAccount;
275
+ var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, nidData, _c, auth_token, device_token, service_name, payload, data, stepName, needToCollectMoreInfo, creatingAccount;
276
276
  var _d, _e;
277
277
  return __generator(this, function (_f) {
278
278
  switch (_f.label) {
279
279
  case 0:
280
280
  _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
281
- _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId;
281
+ _b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId, isLeadIdPassed = _b.isLeadIdPassed, nidData = _b.nidData;
282
282
  if (!(responseData === null || responseData === void 0 ? void 0 : responseData.authData))
283
283
  throw new Error('Auth data is missing');
284
284
  _c = responseData.authData, auth_token = _c.auth_token, device_token = _c.device_token, service_name = _c.service_name;
@@ -290,7 +290,7 @@ export var verifyNIDOtpAsync = createAsyncThunk('connectExpress/verifyNIDOtpAsyn
290
290
  device_token: device_token,
291
291
  service_name: service_name || 'ABSHER',
292
292
  sign_in: false,
293
- terms: ['general'],
293
+ terms: isLeadIdPassed && nidData.termAndConditionChecked ? ['general'] : undefined,
294
294
  step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_NID,
295
295
  encryption_contract: ['data']
296
296
  };
@@ -571,15 +571,16 @@ export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLe
571
571
  });
572
572
  }); });
573
573
  export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDataAsync ', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
574
- var _a, settings, connectExpress, isNonSA, isFL, id, brandNameBody, payload, data;
575
- var _b, _c, _d, _e, _f;
574
+ var _a, settings, connectExpress, isNonSA, isFL, _b, responseData, isLeadIdPassed, id, brandNameBody, payload, data;
575
+ var _c, _d, _e, _f;
576
576
  return __generator(this, function (_g) {
577
577
  switch (_g.label) {
578
578
  case 0:
579
579
  _a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
580
580
  isNonSA = !isSA(settings.data.businessCountry.iso2);
581
- isFL = ((_b = params.selectedLicense) === null || _b === void 0 ? void 0 : _b.type) === BusinessType.FL;
582
- id = (((_c = connectExpress.data.responseData) === null || _c === void 0 ? void 0 : _c.leadData) || {}).id;
581
+ isFL = ((_c = params.selectedLicense) === null || _c === void 0 ? void 0 : _c.type) === BusinessType.FL;
582
+ _b = connectExpress.data, responseData = _b.responseData, isLeadIdPassed = _b.isLeadIdPassed;
583
+ id = ((responseData === null || responseData === void 0 ? void 0 : responseData.leadData) || {}).id;
583
584
  brandNameBody = {
584
585
  name: {
585
586
  en: params.brandName,
@@ -594,6 +595,7 @@ export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDat
594
595
  license_type: isFL ? 'freelance' : 'commercial_registration',
595
596
  business_type: (_d = params.selectedLicense) === null || _d === void 0 ? void 0 : _d.type,
596
597
  is_acknowledged: true,
598
+ terms_conditions_accepted: !isLeadIdPassed ? params.termAndConditionChecked : undefined,
597
599
  step_name: CONNECT_EXPRESS_STEP_NAMES.UPDATE_LEAD_BRAND_BUSINESS,
598
600
  encryption_contract: ['license_number', 'business_type', 'license_type']
599
601
  };
@@ -611,16 +613,19 @@ var initialState = {
611
613
  loading: false,
612
614
  customLoading: false,
613
615
  data: {
616
+ showBoard: true,
614
617
  isLeadIdPassed: false,
615
618
  postURL: '',
616
619
  flowName: FlowsTypes.CONNECT_EXPRESS,
617
620
  mobileData: {
618
621
  countryCode: defaultCountry,
619
- mobile: ''
622
+ mobile: '',
623
+ termAndConditionChecked: false
620
624
  },
621
625
  nidData: {
622
626
  nid: '',
623
- dob: getEighteenYearsAgo()
627
+ dob: getEighteenYearsAgo(),
628
+ termAndConditionChecked: false
624
629
  },
625
630
  civilIdData: {
626
631
  civilId: ''
@@ -637,7 +642,8 @@ var initialState = {
637
642
  },
638
643
  businessData: {
639
644
  brandName: '',
640
- licenseNumber: ''
645
+ licenseNumber: '',
646
+ termAndConditionChecked: false
641
647
  }
642
648
  }
643
649
  };
@@ -648,6 +654,9 @@ export var connectSlice = createSlice({
648
654
  setLeadId: function (state, action) {
649
655
  state.data.leadId = action.payload;
650
656
  },
657
+ setShowBoard: function (state, action) {
658
+ state.data.showBoard = action.payload;
659
+ },
651
660
  setIsLeadIdPassed: function (state, action) {
652
661
  state.data.isLeadIdPassed = action.payload;
653
662
  },
@@ -966,6 +975,6 @@ export var connectSlice = createSlice({
966
975
  });
967
976
  }
968
977
  });
969
- 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, setPostUrl = _a.setPostUrl, setLeadId = _a.setLeadId, resetIndividualScreen = _a.resetIndividualScreen;
978
+ 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, setPostUrl = _a.setPostUrl, setLeadId = _a.setLeadId, setShowBoard = _a.setShowBoard, resetIndividualScreen = _a.resetIndividualScreen;
970
979
  export default connectSlice.reducer;
971
980
  export var connectExpressSelector = function (state) { return state.connectExpress; };
@@ -1,7 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo } from 'react';
3
+ import { useAppSelector } from '../../../../hooks';
3
4
  import DataLoading from '../../../shared/DataLoading';
5
+ import { bankSelector } from '../../../app/bank/bankStore';
4
6
  export var PrepareDataLoading = function () {
5
- return _jsx(DataLoading, {});
7
+ var error = useAppSelector(bankSelector).error;
8
+ return _jsx(DataLoading, { error: error });
6
9
  };
7
10
  export default memo(PrepareDataLoading);
@@ -1,7 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo } from 'react';
3
+ import { useAppSelector } from '../../../../hooks';
3
4
  import DataLoading from '../../../shared/DataLoading';
5
+ import { brandSelector } from '../../../app/brand/brandStore';
4
6
  export var PrepareDataLoading = function () {
5
- return _jsx(DataLoading, {});
7
+ var error = useAppSelector(brandSelector).error;
8
+ return _jsx(DataLoading, { error: error });
6
9
  };
7
10
  export default memo(PrepareDataLoading);
@@ -3,6 +3,7 @@ import { LibConfig } from '../../@types';
3
3
  export interface ConnectExpressLibProps extends LibConfig {
4
4
  leadId?: string;
5
5
  postURL: string;
6
+ showBoard?: boolean;
6
7
  }
7
8
  export declare function ConnectExpressLib(props: ConnectExpressLibProps): JSX.Element;
8
9
  export declare function renderConnectExpressLib(config: ConnectExpressLibProps, elementId: string): {
@@ -27,7 +27,7 @@ import { useAppTheme, useAppSelector, useAppConfig, useErrorListener, useStepSta
27
27
  import { handleCurrentActiveScreen, settingsSelector } from '../../app/settings';
28
28
  import AnimationFlow from '../../components/AnimationFlow';
29
29
  import { store } from '../../app/store';
30
- import { connectExpressSelector, setIsLeadIdPassed, setPostUrl, setLeadId, retrieveLeadIdentityByIdAsync } from '../app/connectExpress/connectExpressStore';
30
+ import { connectExpressSelector, setIsLeadIdPassed, setPostUrl, setLeadId, retrieveLeadIdentityByIdAsync, setShowBoard } from '../app/connectExpress/connectExpressStore';
31
31
  import { ReduxProvider, ThemeProvider } from '../../components/Providers';
32
32
  import Collapse from '../../components/Collapse';
33
33
  import { reactElement, isKW } from '../../utils';
@@ -36,7 +36,7 @@ import { connectExpressFeatureScreens } from '../featuresScreens';
36
36
  import CustomFooter from '../shared/Footer';
37
37
  import Background from '../shared/Background';
38
38
  var ConnectExpress = memo(function (_a) {
39
- var leadId = _a.leadId, postURL = _a.postURL, props = __rest(_a, ["leadId", "postURL"]);
39
+ var leadId = _a.leadId, postURL = _a.postURL, showBoard = _a.showBoard, props = __rest(_a, ["leadId", "postURL", "showBoard"]);
40
40
  var theme = useAppTheme().theme;
41
41
  var dispatch = useAppDispatch();
42
42
  var _b = useAppSelector(settingsSelector), data = _b.data, error = _b.error, settingLoading = _b.loading;
@@ -49,6 +49,8 @@ var ConnectExpress = memo(function (_a) {
49
49
  if (!postURL)
50
50
  throw new Error('postURL is required and you ave to pass it in the lib configuration!');
51
51
  dispatch(setPostUrl(postURL));
52
+ if (typeof showBoard === 'boolean')
53
+ dispatch(setShowBoard(showBoard));
52
54
  }, []);
53
55
  React.useEffect(function () {
54
56
  if (data.isValidOperator && props.open && !settingLoading && leadId) {
@@ -25,12 +25,13 @@ import Button from '../../../shared/Button';
25
25
  import { KWBusinessDataSchema, BusinessDataSchema } from './validation';
26
26
  import LicenseList from './LicenseList';
27
27
  import BrandName from './BrandName';
28
+ import TAC from './TAC';
28
29
  var CollectBusinessInfo = function (_a) {
29
30
  var _b = useAppSelector(connectExpressSelector), data = _b.data, loading = _b.loading, error = _b.error;
30
31
  var settingsData = useAppSelector(settingsSelector).data;
31
- var responseData = data.responseData, businessData = data.businessData;
32
+ var responseData = data.responseData, businessData = data.businessData, isLeadIdPassed = data.isLeadIdPassed;
32
33
  var isBrandNameAvailable = (responseData || {}).isBrandNameAvailable;
33
- var selectedLicense = businessData.selectedLicense, licenseNumber = businessData.licenseNumber, brandName = businessData.brandName;
34
+ var selectedLicense = businessData.selectedLicense, licenseNumber = businessData.licenseNumber, brandName = businessData.brandName, termAndConditionChecked = businessData.termAndConditionChecked;
34
35
  var t = useTranslation().t;
35
36
  var isAr = useLanguage().isAr;
36
37
  var dispatch = useAppDispatch();
@@ -38,11 +39,12 @@ var CollectBusinessInfo = function (_a) {
38
39
  var _d = React.useState(false), brandNameChecking = _d[0], setBrandNameChecking = _d[1];
39
40
  var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
40
41
  var methods = useForm({
41
- resolver: yupResolver(!isSACountry ? KWBusinessDataSchema : BusinessDataSchema),
42
+ resolver: yupResolver(!isSACountry ? KWBusinessDataSchema(isLeadIdPassed) : BusinessDataSchema(isLeadIdPassed)),
42
43
  defaultValues: {
43
44
  brandName: brandName,
44
45
  selectedLicense: selectedLicense,
45
- licenseNumber: licenseNumber
46
+ licenseNumber: licenseNumber,
47
+ termAndConditionChecked: termAndConditionChecked
46
48
  },
47
49
  mode: 'onChange'
48
50
  });
@@ -59,7 +61,8 @@ var CollectBusinessInfo = function (_a) {
59
61
  var dataValues = {
60
62
  brandName: data.brandName,
61
63
  selectedLicense: data.selectedLicense,
62
- licenseNumber: data.licenseNumber
64
+ licenseNumber: data.licenseNumber,
65
+ termAndConditionChecked: data.termAndConditionChecked
63
66
  };
64
67
  dispatch(updateLeadBusinessDataAsync(dataValues));
65
68
  };
@@ -72,6 +75,6 @@ var CollectBusinessInfo = function (_a) {
72
75
  setListActive(true);
73
76
  }, onListClose: function () {
74
77
  setListActive(false);
75
- } }), _jsx(Collapse, __assign({ in: !listActive, timeout: 500 }, { children: _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, isAr: isAr, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
78
+ } }), _jsx(TAC, { show: !isLeadIdPassed }), _jsx(Collapse, __assign({ in: !listActive, timeout: 500 }, { children: _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, isAr: isAr, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
76
79
  };
77
80
  export default React.memo(CollectBusinessInfo);
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ interface TACProps {
3
+ show: boolean;
4
+ }
5
+ declare const _default: React.MemoExoticComponent<({ show }: TACProps) => JSX.Element>;
6
+ export default _default;
@@ -0,0 +1,83 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import * as React from 'react';
14
+ import { useTranslation } from 'react-i18next';
15
+ import { useController, useFormContext } from 'react-hook-form';
16
+ import Box from '@mui/material/Box';
17
+ import { styled, alpha } from '@mui/material/styles';
18
+ import Link from '@mui/material/Link';
19
+ import { settingsSelector } from '../../../../app/settings';
20
+ import { EXTERNAL_LINKS, TAP_WEBSITE } from '../../../../constants';
21
+ import { useLanguage, useAppSelector } from '../../../../hooks';
22
+ import CheckBox from '../../../../components/CheckBox';
23
+ import Text from '../../../../components/Text';
24
+ import Warning from '../../../../components/Warning';
25
+ import Collapse from '../../../../components/Collapse';
26
+ import { ScreenContainer } from '../../../shared/Containers';
27
+ var TACContainerStyled = styled(Box)(function (_a) {
28
+ var theme = _a.theme;
29
+ return ({
30
+ display: 'flex',
31
+ flexDirection: 'row',
32
+ alignItems: 'center',
33
+ paddingInlineStart: theme.spacing(2.5)
34
+ });
35
+ });
36
+ var TextStyled = styled(Text)(function (_a) {
37
+ var theme = _a.theme;
38
+ return (__assign({ color: alpha(theme.palette.text.primary, 0.4), fontWeight: theme.typography.fontWeightLight, whiteSpace: 'pre-line', height: 'fit-content' }, theme.typography.body2));
39
+ });
40
+ var LinkStyled = styled(Link)(function (_a) {
41
+ var theme = _a.theme;
42
+ return ({
43
+ color: theme.palette.primary.main,
44
+ fontWeight: theme.typography.fontWeightMedium,
45
+ letterSpacing: theme.spacing(0)
46
+ });
47
+ });
48
+ var CheckboxStyled = styled(CheckBox)(function (_a) {
49
+ var theme = _a.theme;
50
+ return ({
51
+ margin: theme.spacing(0),
52
+ padding: theme.spacing(0),
53
+ marginInlineEnd: theme.spacing(1.5),
54
+ color: theme.palette.primary.main,
55
+ '& .MuiSvgIcon-root': {
56
+ fontSize: theme.spacing(3.75)
57
+ },
58
+ '&.Mui-checked': {
59
+ color: theme.palette.text.primary,
60
+ borderRadius: theme.spacing(2.5)
61
+ }
62
+ });
63
+ });
64
+ var CollapseStyled = styled(Collapse)(function () { return ({
65
+ width: '100%'
66
+ }); });
67
+ var TAC = function (_a) {
68
+ var _b;
69
+ var show = _a.show;
70
+ var t = useTranslation().t;
71
+ var isAr = useLanguage().isAr;
72
+ var control = useFormContext().control;
73
+ var settingsData = useAppSelector(settingsSelector).data;
74
+ var tacControl = useController({ control: control, name: 'termAndConditionChecked' });
75
+ var tacChecked = tacControl.field.value;
76
+ var warningMessage = (_b = tacControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
77
+ var countryCode = settingsData.businessCountry.iso2.toLowerCase();
78
+ var handleTACCheckedChange = function (event, checked) {
79
+ tacControl.field.onChange(checked);
80
+ };
81
+ return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ sx: { mt: 2.5 } }, { children: [_jsxs(TACContainerStyled, { children: [_jsx(CheckboxStyled, { disableRipple: true, disableFocusRipple: true, focusRipple: false, checked: tacChecked, onChange: handleTACCheckedChange }), _jsxs(TextStyled, { children: [t('read_agree_terms_and_conditions_message'), _jsx(LinkStyled, __assign({ href: isAr ? TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_AR : TAP_WEBSITE + countryCode + EXTERNAL_LINKS.TOS_EN, target: '_blank', underline: 'always' }, { children: t('terms_and_conditions_link_title') }))] })] }), _jsx(CollapseStyled, __assign({ in: !!warningMessage }, { children: _jsx(Warning, __assign({ warningType: 'alert' }, { children: warningMessage && t(warningMessage) })) }))] })) })));
82
+ };
83
+ export default React.memo(TAC);
@@ -1,5 +1,5 @@
1
1
  import * as yup from 'yup';
2
- export declare const BusinessDataSchema: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
2
+ export declare const BusinessDataSchema: (isLeadIdPassed: boolean) => yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
3
3
  brandName: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
4
4
  selectedLicense: any;
5
5
  licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
@@ -12,7 +12,7 @@ export declare const BusinessDataSchema: yup.ObjectSchema<import("yup/lib/object
12
12
  selectedLicense: any;
13
13
  licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
14
14
  }>>>;
15
- export declare const KWBusinessDataSchema: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
15
+ export declare const KWBusinessDataSchema: (isLeadIdPassed: boolean) => yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
16
16
  brandName: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
17
17
  selectedLicense: any;
18
18
  licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
@@ -11,69 +11,145 @@ var objectElements = {
11
11
  }),
12
12
  type: yup.string()
13
13
  };
14
- export var BusinessDataSchema = yup.object().shape({
15
- brandName: yup
16
- .string()
17
- .test({
18
- test: function (value) {
19
- if ((value === null || value === void 0 ? void 0 : value.length) === 0)
20
- return true;
21
- if (value && value.length >= 3 && (value === null || value === void 0 ? void 0 : value.match(REGEX_BRAND_NAME)))
22
- return true;
23
- return this.createError({ message: 'enter_brand_name_english_chars_numbers_space' });
24
- }
25
- })
26
- .required('enter_brand_name_english_chars_numbers_space'),
27
- selectedLicense: yup.object().shape(objectElements).required(''),
28
- licenseNumber: yup
29
- .string()
30
- .test({
31
- test: function (value) {
32
- var selectedLicense = this.parent.selectedLicense;
33
- var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
34
- var length = (value === null || value === void 0 ? void 0 : value.length) || 0;
35
- if (length === 0)
36
- return true;
37
- if (isCR) {
38
- return length > CR_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'cr_max_length' });
14
+ export var BusinessDataSchema = function (isLeadIdPassed) {
15
+ if (!isLeadIdPassed) {
16
+ return yup.object().shape({
17
+ brandName: yup
18
+ .string()
19
+ .test({
20
+ test: function (value) {
21
+ if ((value === null || value === void 0 ? void 0 : value.length) === 0)
22
+ return true;
23
+ if (value && value.length >= 3 && (value === null || value === void 0 ? void 0 : value.match(REGEX_BRAND_NAME)))
24
+ return true;
25
+ return this.createError({ message: 'enter_brand_name_english_chars_numbers_space' });
26
+ }
27
+ })
28
+ .required('enter_brand_name_english_chars_numbers_space'),
29
+ selectedLicense: yup.object().shape(objectElements).required(''),
30
+ licenseNumber: yup
31
+ .string()
32
+ .test({
33
+ test: function (value) {
34
+ var selectedLicense = this.parent.selectedLicense;
35
+ var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
36
+ var length = (value === null || value === void 0 ? void 0 : value.length) || 0;
37
+ if (length === 0)
38
+ return true;
39
+ if (isCR) {
40
+ return length > CR_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'cr_max_length' });
41
+ }
42
+ return length > FL_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'fl_max_length' });
43
+ }
44
+ })
45
+ .required(''),
46
+ termAndConditionChecked: yup.boolean().isTrue('check_terms_cond').required('check_terms_cond')
47
+ });
48
+ }
49
+ return yup.object().shape({
50
+ brandName: yup
51
+ .string()
52
+ .test({
53
+ test: function (value) {
54
+ if ((value === null || value === void 0 ? void 0 : value.length) === 0)
55
+ return true;
56
+ if (value && value.length >= 3 && (value === null || value === void 0 ? void 0 : value.match(REGEX_BRAND_NAME)))
57
+ return true;
58
+ return this.createError({ message: 'enter_brand_name_english_chars_numbers_space' });
39
59
  }
40
- return length > FL_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'fl_max_length' });
41
- }
42
- })
43
- .required('')
44
- });
45
- export var KWBusinessDataSchema = yup.object().shape({
46
- brandName: yup
47
- .string()
48
- .test({
49
- test: function (value) {
50
- if ((value === null || value === void 0 ? void 0 : value.length) === 0)
51
- return true;
52
- if (value && value.length >= 3 && (value === null || value === void 0 ? void 0 : value.match(REGEX_BRAND_NAME)))
53
- return true;
54
- return this.createError({ message: 'enter_brand_name_english_chars_numbers_space' });
55
- }
56
- })
57
- .required('enter_brand_name_english_chars_numbers_space'),
58
- selectedLicense: yup.object().shape(objectElements).required(''),
59
- licenseNumber: yup
60
- .string()
61
- .when('selectedLicense', function (selectedLicense) {
62
- var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
63
- if (!isCR) {
64
- return yup.string().optional();
65
- }
66
- return yup
60
+ })
61
+ .required('enter_brand_name_english_chars_numbers_space'),
62
+ selectedLicense: yup.object().shape(objectElements).required(''),
63
+ licenseNumber: yup
67
64
  .string()
68
- .required('')
69
65
  .test({
70
66
  test: function (value) {
67
+ var selectedLicense = this.parent.selectedLicense;
68
+ var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
71
69
  var length = (value === null || value === void 0 ? void 0 : value.length) || 0;
72
70
  if (length === 0)
73
71
  return true;
74
- return length >= KW_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'cr_kw_max_length' });
72
+ if (isCR) {
73
+ return length > CR_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'cr_max_length' });
74
+ }
75
+ return length > FL_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'fl_max_length' });
75
76
  }
77
+ })
78
+ .required('')
79
+ });
80
+ };
81
+ export var KWBusinessDataSchema = function (isLeadIdPassed) {
82
+ if (!isLeadIdPassed) {
83
+ return yup.object().shape({
84
+ brandName: yup
85
+ .string()
86
+ .test({
87
+ test: function (value) {
88
+ if ((value === null || value === void 0 ? void 0 : value.length) === 0)
89
+ return true;
90
+ if (value && value.length >= 3 && (value === null || value === void 0 ? void 0 : value.match(REGEX_BRAND_NAME)))
91
+ return true;
92
+ return this.createError({ message: 'enter_brand_name_english_chars_numbers_space' });
93
+ }
94
+ })
95
+ .required('enter_brand_name_english_chars_numbers_space'),
96
+ selectedLicense: yup.object().shape(objectElements).required(''),
97
+ licenseNumber: yup
98
+ .string()
99
+ .when('selectedLicense', function (selectedLicense) {
100
+ var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
101
+ if (!isCR) {
102
+ return yup.string().optional();
103
+ }
104
+ return yup
105
+ .string()
106
+ .required('')
107
+ .test({
108
+ test: function (value) {
109
+ var length = (value === null || value === void 0 ? void 0 : value.length) || 0;
110
+ if (length === 0)
111
+ return true;
112
+ return length >= KW_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'cr_kw_max_length' });
113
+ }
114
+ });
115
+ })
116
+ .required(''),
117
+ termAndConditionChecked: yup.boolean().isTrue('check_terms_cond').required('check_terms_cond')
76
118
  });
77
- })
78
- .required('')
79
- });
119
+ }
120
+ return yup.object().shape({
121
+ brandName: yup
122
+ .string()
123
+ .test({
124
+ test: function (value) {
125
+ if ((value === null || value === void 0 ? void 0 : value.length) === 0)
126
+ return true;
127
+ if (value && value.length >= 3 && (value === null || value === void 0 ? void 0 : value.match(REGEX_BRAND_NAME)))
128
+ return true;
129
+ return this.createError({ message: 'enter_brand_name_english_chars_numbers_space' });
130
+ }
131
+ })
132
+ .required('enter_brand_name_english_chars_numbers_space'),
133
+ selectedLicense: yup.object().shape(objectElements).required(''),
134
+ licenseNumber: yup
135
+ .string()
136
+ .when('selectedLicense', function (selectedLicense) {
137
+ var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
138
+ if (!isCR) {
139
+ return yup.string().optional();
140
+ }
141
+ return yup
142
+ .string()
143
+ .required('')
144
+ .test({
145
+ test: function (value) {
146
+ var length = (value === null || value === void 0 ? void 0 : value.length) || 0;
147
+ if (length === 0)
148
+ return true;
149
+ return length >= KW_MIN_LICENSE_LENGTH ? true : this.createError({ message: 'cr_kw_max_length' });
150
+ }
151
+ });
152
+ })
153
+ .required('')
154
+ });
155
+ };