@tap-payments/auth-jsconnect 2.4.0-test → 2.4.5-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 (62) hide show
  1. package/build/@types/app.d.ts +27 -1
  2. package/build/api/individual.d.ts +2 -2
  3. package/build/features/app/brand/brandStore.js +10 -9
  4. package/build/features/app/business/businessStore.js +11 -3
  5. package/build/features/app/connect/connectStore.js +1 -0
  6. package/build/features/app/entity/entityStore.js +3 -3
  7. package/build/features/app/individual/individualStore.js +2 -2
  8. package/build/features/bank/screens/BankDetails/BankDetails.js +3 -2
  9. package/build/features/bank/screens/BankDetails/BankName.d.ts +2 -1
  10. package/build/features/bank/screens/BankDetails/BankName.js +4 -5
  11. package/build/features/bank/screens/BankDetails/BankStatement.d.ts +2 -1
  12. package/build/features/bank/screens/BankDetails/BankStatement.js +4 -4
  13. package/build/features/bank/screens/BankDetails/Beneficiary.d.ts +2 -1
  14. package/build/features/bank/screens/BankDetails/Beneficiary.js +8 -10
  15. package/build/features/bank/screens/BankDetails/IBAN.d.ts +2 -1
  16. package/build/features/bank/screens/BankDetails/IBAN.js +3 -5
  17. package/build/features/brand/screens/BrandActivities/ActivitiesList.d.ts +0 -14
  18. package/build/features/brand/screens/BrandActivities/ActivitiesList.js +6 -11
  19. package/build/features/brand/screens/BrandActivities/BrandActivities.js +13 -7
  20. package/build/features/brand/screens/BrandActivities/CustomerBase.d.ts +4 -27
  21. package/build/features/brand/screens/BrandActivities/CustomerBase.js +9 -18
  22. package/build/features/brand/screens/BrandActivities/ExpectedCustomers.d.ts +2 -1
  23. package/build/features/brand/screens/BrandActivities/ExpectedCustomers.js +6 -5
  24. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.d.ts +2 -1
  25. package/build/features/brand/screens/BrandActivities/ExpectedSalesRange.js +15 -14
  26. package/build/features/brand/screens/BrandInfo/BrandInfo.js +5 -4
  27. package/build/features/brand/screens/BrandInfo/BrandLogo.d.ts +2 -1
  28. package/build/features/brand/screens/BrandInfo/BrandLogo.js +2 -2
  29. package/build/features/brand/screens/BrandInfo/BrandName.d.ts +2 -1
  30. package/build/features/brand/screens/BrandInfo/BrandName.js +3 -5
  31. package/build/features/brand/screens/BrandInfo/SalesChannels.js +6 -3
  32. package/build/features/brand/screens/BrandInfo/Segments.d.ts +2 -1
  33. package/build/features/brand/screens/BrandInfo/Segments.js +17 -24
  34. package/build/features/brand/screens/BrandInfo/TeamSize.d.ts +2 -1
  35. package/build/features/brand/screens/BrandInfo/TeamSize.js +18 -25
  36. package/build/features/business/screens/Customers/Customers.js +27 -16
  37. package/build/features/entity/screens/EntityName/EntityTypeList.js +1 -1
  38. package/build/features/shared/CheckIcon/CheckIcon.d.ts +7 -1
  39. package/build/features/shared/CheckIcon/CheckIcon.js +7 -6
  40. package/build/features/shared/EndAdornment/EndAdornment.d.ts +10 -0
  41. package/build/features/shared/EndAdornment/EndAdornment.js +17 -0
  42. package/build/features/shared/EndAdornment/EndAdornmentExpanded.d.ts +7 -0
  43. package/build/features/shared/EndAdornment/EndAdornmentExpanded.js +13 -0
  44. package/build/features/shared/EndAdornment/index.d.ts +3 -0
  45. package/build/features/shared/EndAdornment/index.js +3 -0
  46. package/build/features/shared/SalesChannels/SaleChannelIconsInput.d.ts +2 -1
  47. package/build/features/shared/SalesChannels/SaleChannelIconsInput.js +4 -3
  48. package/build/features/shared/SalesChannels/SalesChannel.d.ts +2 -1
  49. package/build/features/shared/SalesChannels/SalesChannel.js +2 -2
  50. package/build/features/shared/UploadFile/FileUpload.d.ts +2 -1
  51. package/build/features/shared/UploadFile/FileUpload.js +2 -2
  52. package/build/features/shared/UploadFile/UploadWrapper.d.ts +2 -1
  53. package/build/features/shared/UploadFile/UploadWrapper.js +2 -2
  54. package/build/features/shared/UploadMultipleFile/UploadFile.d.ts +2 -1
  55. package/build/features/shared/UploadMultipleFile/UploadFile.js +2 -2
  56. package/build/features/shared/UploadMultipleFile/UploadMultipleFile.d.ts +2 -1
  57. package/build/features/shared/UploadMultipleFile/UploadMultipleFile.js +2 -2
  58. package/build/hooks/index.d.ts +1 -0
  59. package/build/hooks/index.js +1 -0
  60. package/build/hooks/useDataVerified.d.ts +6 -0
  61. package/build/hooks/useDataVerified.js +19 -0
  62. package/package.json +1 -1
@@ -428,7 +428,8 @@ export declare type IndividualDataStatus = {
428
428
  };
429
429
  export declare type BrandDataStatus = {
430
430
  status: FieldType;
431
- name: FieldType;
431
+ 'name.en': FieldType;
432
+ 'name.ar': FieldType;
432
433
  'operations.business_start_date': FieldType;
433
434
  'operations.sales_range': FieldType;
434
435
  'operations.customer_base': FieldType;
@@ -497,4 +498,29 @@ export interface ActivitiesIsIc {
497
498
  created: string;
498
499
  divisions?: Array<ActivityDivision>;
499
500
  }
501
+ export declare type BankDataVerification = {
502
+ account_number: string;
503
+ bank_name: string;
504
+ bank_statement_file_id: string;
505
+ beneficiary_name: string;
506
+ document: string;
507
+ iban: string;
508
+ is_acknowledged: string;
509
+ swift_code: string;
510
+ };
511
+ export declare type BrandDataVerification = {
512
+ logo: string;
513
+ 'name.en': string;
514
+ 'name.ar': string;
515
+ 'name.textId': string;
516
+ 'name.zh': string;
517
+ 'operations.business_start_date': string;
518
+ 'operations.customer_base': string;
519
+ 'operations.customer_base_location': string;
520
+ 'operations.sales_range': string;
521
+ 'segment.sale': string;
522
+ 'segment.teams': string;
523
+ 'segment.type': string;
524
+ terms: string;
525
+ };
500
526
  export {};
@@ -5,8 +5,8 @@ export declare type BrandListBody = {
5
5
  export declare type UpdateBrandBody = {
6
6
  id: string;
7
7
  name?: {
8
- en: string;
9
- ar: string;
8
+ en?: string;
9
+ ar?: string;
10
10
  };
11
11
  sectors?: Array<{
12
12
  id: string;
@@ -266,14 +266,15 @@ export var checkBrandNameAvailability = createAsyncThunk('checkBrandNameAvailabi
266
266
  export var updateBrand = createAsyncThunk('brandUpdateBrand', function (_a, thunkApi) {
267
267
  var formData = _a.formData, originalFormData = _a.originalFormData;
268
268
  return __awaiter(void 0, void 0, void 0, function () {
269
- var _b, settings, brand, _c, id, data_status, isNameNonEditable, isChannelServicesNonEditable, isSegmentTypeNonEditable, isSegmentTeamsNonEditable, salesChannels, brandName, segment, teamSize, brandLogoId, segmentId, teamSizeId, getAddress, channel_services, requestBody, brandData, activities, activityList;
269
+ var _b, settings, brand, _c, id, data_status, isNameENNonEditable, isNameARNonEditable, isChannelServicesNonEditable, isSegmentTypeNonEditable, isSegmentTeamsNonEditable, salesChannels, brandName, segment, teamSize, brandLogoId, segmentId, teamSizeId, getAddress, channel_services, brandNameIsEditable, requestBody, brandData, activities, activityList;
270
270
  var _d, _e, _f, _g;
271
271
  return __generator(this, function (_h) {
272
272
  switch (_h.label) {
273
273
  case 0:
274
274
  _b = thunkApi.getState(), settings = _b.settings, brand = _b.brand;
275
275
  _c = ((_d = brand.data.verify.responseBody) === null || _d === void 0 ? void 0 : _d.brand) || {}, id = _c.id, data_status = _c.data_status;
276
- isNameNonEditable = hasNoneEditableValue(data_status, 'name');
276
+ isNameENNonEditable = hasNoneEditableValue(data_status, 'name.en');
277
+ isNameARNonEditable = hasNoneEditableValue(data_status, 'name.ar');
277
278
  isChannelServicesNonEditable = hasNoneEditableValue(data_status, 'channel_services');
278
279
  isSegmentTypeNonEditable = hasNoneEditableValue(data_status, 'segment.type');
279
280
  isSegmentTeamsNonEditable = hasNoneEditableValue(data_status, 'segment.teams');
@@ -299,13 +300,13 @@ export var updateBrand = createAsyncThunk('brandUpdateBrand', function (_a, thun
299
300
  })
300
301
  };
301
302
  });
302
- requestBody = {
303
- id: id,
304
- name: isNameNonEditable || !brandName ? undefined : { en: brandName, ar: brandName },
305
- logo: brandLogoId,
306
- segment: !segmentId && !teamSizeId ? undefined : { type: segmentId, team: teamSizeId },
307
- channel_services: channel_services
308
- };
303
+ brandNameIsEditable = brandName && !(isNameENNonEditable && isNameARNonEditable);
304
+ requestBody = __assign(__assign({ id: id }, (brandNameIsEditable && {
305
+ name: {
306
+ en: !isNameENNonEditable ? brandName : undefined,
307
+ ar: !isNameARNonEditable ? brandName : undefined
308
+ }
309
+ })), { logo: brandLogoId, segment: !segmentId && !teamSizeId ? undefined : { type: segmentId, team: teamSizeId }, channel_services: channel_services });
309
310
  return [4, API.brandService.updateBrandInfo(requestBody)];
310
311
  case 1:
311
312
  brandData = (_h.sent()).brand;
@@ -135,10 +135,10 @@ export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', functio
135
135
  return [4, thunkApi.dispatch(retrieveDataList())];
136
136
  case 11:
137
137
  _b.sent();
138
- thunkApi.dispatch(handleNextScreenStep('BUSINESS_CUSTOMERS_STEP'));
139
138
  return [4, API.brandService.retrieveBrand(brandID)];
140
139
  case 12:
141
140
  brandData = _b.sent();
141
+ thunkApi.dispatch(handleNextScreenStep('BUSINESS_CUSTOMERS_STEP'));
142
142
  return [3, 19];
143
143
  case 13:
144
144
  if (!hasBusinessCRInfoCompleted) return [3, 15];
@@ -162,7 +162,7 @@ export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', functio
162
162
  data: data,
163
163
  leadData: __assign(__assign({}, leadData), { flows: (boardData === null || boardData === void 0 ? void 0 : boardData.info) || [] }),
164
164
  token: token,
165
- brandData: (brandData === null || brandData === void 0 ? void 0 : brandData.brand) || {},
165
+ brandData: brandData === null || brandData === void 0 ? void 0 : brandData.brand,
166
166
  boardId: leadData === null || leadData === void 0 ? void 0 : leadData.board_id
167
167
  }];
168
168
  case 20: return [2, { data: data, isRequireOTP: true, token: token }];
@@ -278,10 +278,10 @@ export var verifyLeadOTP = createAsyncThunk('verifyLeadOTP', function (params, t
278
278
  return [4, thunkApi.dispatch(retrieveDataList())];
279
279
  case 17:
280
280
  _j.sent();
281
- thunkApi.dispatch(handleNextScreenStep('BUSINESS_CUSTOMERS_STEP'));
282
281
  return [4, API.brandService.retrieveBrand(brandID)];
283
282
  case 18:
284
283
  brandData = _j.sent();
284
+ thunkApi.dispatch(handleNextScreenStep('BUSINESS_CUSTOMERS_STEP'));
285
285
  return [3, 22];
286
286
  case 19:
287
287
  if (!hasBusinessCRInfoCompleted) return [3, 21];
@@ -1093,6 +1093,14 @@ export var businessSlice = createSlice({
1093
1093
  state.error = null;
1094
1094
  var _a = action.payload, data = _a.data, formData = _a.formData;
1095
1095
  state.data.activitiesData = formData;
1096
+ var terms = (data || {}).terms;
1097
+ terms === null || terms === void 0 ? void 0 : terms.forEach(function (element) {
1098
+ if ((element === null || element === void 0 ? void 0 : element.term) === 'general') {
1099
+ state.data.customersData.transactionPolicy = element.agree;
1100
+ state.data.customersData.refundPolicy = element.agree;
1101
+ }
1102
+ });
1103
+ state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), { brand: data });
1096
1104
  state.data.activitiesData.responseBody = __assign(__assign({}, data), state.data.activitiesData.responseBody);
1097
1105
  })
1098
1106
  .addCase(updateActivitiesInfo.rejected, function (state, action) {
@@ -456,6 +456,7 @@ export var updateLeadBrand = createAsyncThunk('updateLeadBrand', function (param
456
456
  brandReqBody_1 = {
457
457
  id: (selectedBrandItem === null || selectedBrandItem === void 0 ? void 0 : selectedBrandItem.id) || '',
458
458
  channel_services: channel_services,
459
+ term: ['general'],
459
460
  segment: { type: { id: ((_b = params.segment) === null || _b === void 0 ? void 0 : _b.id) || '' }, team: { id: ((_c = params.teamSize) === null || _c === void 0 ? void 0 : _c.id) || '' } },
460
461
  step_name: CONNECT_STEP_NAMES.UPDATE_BRAND_INFO
461
462
  };
@@ -63,7 +63,7 @@ import { BusinessType, DocumentPurpose, FlowsTypes, LicenseType } from '../../..
63
63
  import { handleNextScreenStep, handlePrevScreenStep, handleSetCountryByIso2 } from '../../../app/settings';
64
64
  import { ENTITY_STEP_NAMES } from '../../../constants';
65
65
  import moment from 'moment';
66
- import { convertNumbers2English, getRecentDocumentBasedOnPurpose, hasVerifiedValue, hasNoneEditableValue, sleep, formatNumberAsCurrency } from '../../../utils';
66
+ import { convertNumbers2English, getRecentDocumentBasedOnPurpose, hasVerifiedValue, hasNoneEditableValue, sleep, formatNumberAsCurrency, removeAllCharsFromNumber } from '../../../utils';
67
67
  export var verifyLeadToken = createAsyncThunk('entityVerifyLeadToken', function (_a, thunkApi) {
68
68
  var token = _a.token, isInternally = _a.isInternally;
69
69
  return __awaiter(void 0, void 0, void 0, function () {
@@ -366,10 +366,10 @@ export var updateEntityCapital = createAsyncThunk('entityUpdateEntityCapital', f
366
366
  return ({ id: id, action: 'add' });
367
367
  });
368
368
  payload = __assign({ id: id, activities: isActivitiesNonEditable || (activityIds === null || activityIds === void 0 ? void 0 : activityIds.length) === 0 ? undefined : activityIds }, (!isCapitalNonEditable && {
369
- capital: __assign({ paid: isCapitalPaidNonEditable ? undefined : capitalPaid }, (!((isCapitalShareCountNonEditable && isCapitalShareValueNonEditable) || !hasCapitalShares) && {
369
+ capital: __assign({ paid: isCapitalPaidNonEditable ? undefined : removeAllCharsFromNumber(capitalPaid) }, (!((isCapitalShareCountNonEditable && isCapitalShareValueNonEditable) || !hasCapitalShares) && {
370
370
  shares: {
371
371
  count: isCapitalShareCountNonEditable ? undefined : capitalShareCount,
372
- value: isCapitalShareValueNonEditable ? undefined : capitalShareValue
372
+ value: isCapitalShareValueNonEditable ? undefined : removeAllCharsFromNumber(capitalShareValue)
373
373
  }
374
374
  }))
375
375
  }));
@@ -71,7 +71,7 @@ import API from '../../../api';
71
71
  import { FlowsTypes, IndividualGender, IndividualType, DocumentPurpose } from '../../../@types';
72
72
  import { handleNextScreenStep, handlePrevScreenStep, handleSetCountryByIso2 } from '../../../app/settings';
73
73
  import { defaultCountry, IDENTIFICATION_TYPE, INDIVIDUAl_STEP_NAMES } from '../../../constants';
74
- import { convertNumbers2English, dateFormat, findCountryByIddPrefix, findCountryByIso2, hasNoneEditableValue, getUserNameObject, getUserName, sleep, isValidEmail, getRecentDocumentBasedOnPurpose, formatNumberAsCurrency } from '../../../utils';
74
+ import { convertNumbers2English, dateFormat, findCountryByIddPrefix, findCountryByIso2, hasNoneEditableValue, getUserNameObject, getUserName, sleep, isValidEmail, getRecentDocumentBasedOnPurpose, formatNumberAsCurrency, removeAllCharsFromNumber } from '../../../utils';
75
75
  export var verifyToken = createAsyncThunk('individual/verifyToken', function (_a, thunkApi) {
76
76
  var token = _a.token, isInternally = _a.isInternally, isUpdatePhoneInfo = _a.isUpdatePhoneInfo;
77
77
  return __awaiter(void 0, void 0, void 0, function () {
@@ -666,7 +666,7 @@ export var updateIndividualInfo = createAsyncThunk('updateIndividualInfo', funct
666
666
  shares: isSharesAvailable
667
667
  ? {
668
668
  count: shareCount && Number(shareCount),
669
- value: shareValue && Number(shareValue)
669
+ value: shareValue && Number(removeAllCharsFromNumber(shareValue))
670
670
  }
671
671
  : undefined
672
672
  };
@@ -16,7 +16,7 @@ import Beneficiary from './Beneficiary';
16
16
  import IBAN from './IBAN';
17
17
  import BankName from './BankName';
18
18
  import Button from '../../../shared/Button';
19
- import { useAppDispatch, useAppSelector, useFormReadOnly, useSetFromDefaultValues, useDataNoneEditable, useFormErrorAndUpdateReadOnly, useExcludeReadOnlyFelids } from '../../../../hooks';
19
+ import { useAppDispatch, useAppSelector, useFormReadOnly, useSetFromDefaultValues, useDataNoneEditable, useFormErrorAndUpdateReadOnly, useExcludeReadOnlyFelids, useDataVerified } from '../../../../hooks';
20
20
  import { BankKWFLValidation, BankValidation } from './validation';
21
21
  import { useTranslation } from 'react-i18next';
22
22
  import { useForm, FormProvider } from 'react-hook-form';
@@ -95,11 +95,12 @@ var BankDetails = function () {
95
95
  'bank_statement_file_id',
96
96
  'is_acknowledged'
97
97
  ]);
98
+ var dataVerified = useDataVerified(bank_account === null || bank_account === void 0 ? void 0 : bank_account.data_verification, ['bank_name', 'beneficiary_name', 'document', 'iban']);
98
99
  var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly, noneEditable);
99
100
  var getFelids = useExcludeReadOnlyFelids(methods, readOnly).getFelids;
100
101
  var onSubmit = function (data) {
101
102
  dispatch(createBankAccount(getFelids(data)));
102
103
  };
103
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Beneficiary, { readOnly: readOnly['beneficiaryName'] || noneEditable['beneficiary_name'] }), _jsx(IBAN, { fetchingIban: function (value) { return setIbanChecking(value); }, ibanChecking: ibanChecking, readOnly: readOnly['iban'] || noneEditable['iban'] }), _jsx(BankName, { readOnly: readOnly['bankName'] || noneEditable['bank_name'] }), _jsx(BankStatement, { required: isKWCountry && isFL && !bankHasDocument, defaultFiles: defaultBankFiles, readOnly: readOnly['bankStatementId'] || noneEditable['bank_statement_file_id'] }), _jsx(ConfirmPolicy, { readOnly: readOnly['confirmPolicy'] || noneEditable['is_acknowledged'] }), _jsx(ButtonStyled, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('confirm') }))] })) })) }));
104
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Beneficiary, { readOnly: readOnly['beneficiaryName'] || noneEditable['beneficiary_name'], isVerified: dataVerified['beneficiary_name'] }), _jsx(IBAN, { fetchingIban: function (value) { return setIbanChecking(value); }, ibanChecking: ibanChecking, readOnly: readOnly['iban'] || noneEditable['iban'], isVerified: dataVerified['iban'] }), _jsx(BankName, { readOnly: readOnly['bankName'] || noneEditable['bank_name'], isVerified: dataVerified['bank_name'] }), _jsx(BankStatement, { isVerified: dataVerified['document'], required: isKWCountry && isFL && !bankHasDocument, defaultFiles: defaultBankFiles, readOnly: readOnly['bankStatementId'] || noneEditable['bank_statement_file_id'] }), _jsx(ConfirmPolicy, { readOnly: readOnly['confirmPolicy'] || noneEditable['is_acknowledged'] }), _jsx(ButtonStyled, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('confirm') }))] })) })) }));
104
105
  };
105
106
  export default BankDetails;
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  declare type BankNameProps = {
3
3
  readOnly?: boolean;
4
+ isVerified?: boolean;
4
5
  };
5
- declare const BankName: ({ readOnly }: BankNameProps) => JSX.Element;
6
+ declare const BankName: ({ readOnly, isVerified }: BankNameProps) => JSX.Element;
6
7
  export default BankName;
@@ -20,9 +20,8 @@ import { FieldType } from '../../../../@types';
20
20
  import Collapse from '../../../../components/Collapse';
21
21
  import { ScreenContainer } from '../../../shared/Containers';
22
22
  import Input from '../../../shared/Input';
23
- import ClearIcon from '../../../shared/ClearIcon';
24
- import CheckIcon from '../../../shared/CheckIcon';
25
23
  import { bankSelector } from '../../../app/bank/bankStore';
24
+ import { EndAdornment } from '../../../shared/EndAdornment';
26
25
  var FeatureStyled = styled(ScreenContainer)(function (_a) {
27
26
  var theme = _a.theme;
28
27
  return ({
@@ -36,13 +35,13 @@ var InputStyled = styled(Input)(function () { return ({
36
35
  }); });
37
36
  var BankName = function (_a) {
38
37
  var _b, _c, _d;
39
- var readOnly = _a.readOnly;
38
+ var readOnly = _a.readOnly, isVerified = _a.isVerified;
40
39
  var t = useTranslation().t;
41
40
  var _e = useFormContext(), setValue = _e.setValue, control = _e.control;
42
41
  var data = useAppSelector(bankSelector).data;
43
42
  var bankNameControl = useController({ name: 'bankName', control: control });
44
43
  var bankNameValue = bankNameControl.field.value;
45
- var hasError = !!((_b = bankNameControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message);
44
+ var error = (_b = bankNameControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
46
45
  var bank_account = (data.verify.responseBody || {}).bank_account;
47
46
  var isNonEditable = ((_c = bank_account === null || bank_account === void 0 ? void 0 : bank_account.data_status) === null || _c === void 0 ? void 0 : _c.bank_name) === FieldType.NON_EDITABLE;
48
47
  var clearValue = function () {
@@ -59,6 +58,6 @@ var BankName = function (_a) {
59
58
  var value = removeAllOtherThanAlphabetAndSpace(target.value);
60
59
  bankNameControl.field.onChange(value);
61
60
  };
62
- return (_jsx(Collapse, __assign({ in: !!bankNameValue }, { children: _jsx(FeatureStyled, { children: _jsx(InputStyled, { readOnly: readOnly, label: t('enter_bank_name'), placeholder: t('enter_bank_name_placeholder'), onChange: handleBankChange, value: bankNameValue, required: true, disabled: isNonEditable, endAdornment: !hasError && bankNameValue ? _jsx(CheckIcon, {}) : bankNameValue && _jsx(ClearIcon, { onClick: clearValue }) }) }) })));
61
+ return (_jsx(Collapse, __assign({ in: !!bankNameValue }, { children: _jsx(FeatureStyled, { children: _jsx(InputStyled, { readOnly: readOnly, label: t('enter_bank_name'), placeholder: t('enter_bank_name_placeholder'), onChange: handleBankChange, value: bankNameValue, required: true, disabled: isNonEditable, endAdornment: _jsx(EndAdornment, { value: bankNameValue, isVerified: isVerified, error: error, onClear: clearValue }) }) }) })));
63
62
  };
64
63
  export default BankName;
@@ -3,7 +3,8 @@ import { FileDetails } from '../../../../@types';
3
3
  declare type BankStatementProps = {
4
4
  required: boolean;
5
5
  readOnly?: boolean;
6
+ isVerified?: boolean;
6
7
  defaultFiles?: Array<FileDetails>;
7
8
  };
8
- declare const BankStatement: ({ required, readOnly, defaultFiles }: BankStatementProps) => JSX.Element;
9
+ declare const BankStatement: ({ required, readOnly, defaultFiles, isVerified }: BankStatementProps) => JSX.Element;
9
10
  export default BankStatement;
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { styled } from '@mui/material/styles';
3
- import { ScreenContainer } from '../../../shared/Containers';
4
2
  import { useTranslation } from 'react-i18next';
5
3
  import { useController, useFormContext } from 'react-hook-form';
4
+ import { styled } from '@mui/material/styles';
5
+ import { ScreenContainer } from '../../../shared/Containers';
6
6
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
7
7
  import { DocumentPurpose } from '../../../../@types';
8
8
  import { FileType } from '../../../../constants';
@@ -15,7 +15,7 @@ var FeatureStyled = styled(ScreenContainer)(function (_a) {
15
15
  });
16
16
  });
17
17
  var BankStatement = function (_a) {
18
- var required = _a.required, readOnly = _a.readOnly, defaultFiles = _a.defaultFiles;
18
+ var required = _a.required, readOnly = _a.readOnly, defaultFiles = _a.defaultFiles, isVerified = _a.isVerified;
19
19
  var t = useTranslation().t;
20
20
  var control = useFormContext().control;
21
21
  var bankStatementIdControl = useController({ name: 'bankStatementId', control: control });
@@ -27,6 +27,6 @@ var BankStatement = function (_a) {
27
27
  var handleReset = function (ids) {
28
28
  bankStatementIdControl.field.onChange(ids);
29
29
  };
30
- return (_jsx(FeatureStyled, { children: _jsx(UploadMultipleFile, { readOnly: readOnly, id: 'bankStatementId', control: control, label: t('title_bank_statement'), title: t('drag_and_drop'), subTitle: t('subtitle_drop'), dragDescription: t('desc_drag_and_drop'), uploadingTitle: t('file_uploading_title'), successTitle: t('success_upload_bank_statement'), onFileUploaded: handleBankStatementChange, isSubmitting: loading, required: required, onDeleteFile: handleReset, purpose: DocumentPurpose.BANK_STATEMENT, defaultFiles: defaultFiles, maxLimit: 4, fileUploadingStatus: function (uploading) { return dispatch(bankStatementUploadingStatus(uploading)); }, fileType: FileType.FILES }) }));
30
+ return (_jsx(FeatureStyled, { children: _jsx(UploadMultipleFile, { readOnly: readOnly, id: 'bankStatementId', control: control, label: t('title_bank_statement'), title: t('drag_and_drop'), subTitle: t('subtitle_drop'), dragDescription: t('desc_drag_and_drop'), uploadingTitle: t('file_uploading_title'), successTitle: t('success_upload_bank_statement'), onFileUploaded: handleBankStatementChange, isSubmitting: loading, required: required, onDeleteFile: handleReset, purpose: DocumentPurpose.BANK_STATEMENT, defaultFiles: defaultFiles, maxLimit: 4, fileUploadingStatus: function (uploading) { return dispatch(bankStatementUploadingStatus(uploading)); }, fileType: FileType.FILES, isVerified: isVerified }) }));
31
31
  };
32
32
  export default BankStatement;
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export interface BeneficiaryProps {
3
3
  readOnly?: boolean;
4
+ isVerified?: boolean;
4
5
  }
5
- declare const Beneficiary: ({ readOnly }: BeneficiaryProps) => JSX.Element;
6
+ declare const Beneficiary: ({ readOnly, isVerified }: BeneficiaryProps) => JSX.Element;
6
7
  export default Beneficiary;
@@ -1,15 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import Input from '../../../shared/Input';
4
3
  import { useTranslation } from 'react-i18next';
5
4
  import { useController, useFormContext } from 'react-hook-form';
6
5
  import { styled } from '@mui/material/styles';
7
6
  import { useAppSelector } from '../../../../hooks';
8
7
  import { FieldType } from '../../../../@types';
9
- import ClearIcon from '../../../shared/ClearIcon';
10
- import CheckIcon from '../../../shared/CheckIcon';
11
8
  import { ScreenContainer } from '../../../shared/Containers';
12
9
  import { bankSelector } from '../../../app/bank/bankStore';
10
+ import Input from '../../../shared/Input';
11
+ import { EndAdornment } from '../../../shared/EndAdornment';
13
12
  var FeatureStyled = styled(ScreenContainer)(function (_a) {
14
13
  var theme = _a.theme;
15
14
  return ({
@@ -22,17 +21,16 @@ var InputStyled = styled(Input)(function () { return ({
22
21
  }
23
22
  }); });
24
23
  var Beneficiary = function (_a) {
25
- var _b, _c, _d;
26
- var readOnly = _a.readOnly;
24
+ var _b, _c;
25
+ var readOnly = _a.readOnly, isVerified = _a.isVerified;
27
26
  var t = useTranslation().t;
28
- var _e = useFormContext(), setValue = _e.setValue, control = _e.control;
27
+ var _d = useFormContext(), setValue = _d.setValue, control = _d.control;
29
28
  var data = useAppSelector(bankSelector).data;
30
29
  var beneficiaryControl = useController({ name: 'beneficiaryName', control: control });
31
30
  var beneficiaryValue = beneficiaryControl.field.value;
32
- var hasError = (_b = beneficiaryControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
33
- var error = (_c = beneficiaryControl.fieldState.error) === null || _c === void 0 ? void 0 : _c.message;
31
+ var error = (_b = beneficiaryControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
34
32
  var bank_account = (data.verify.responseBody || {}).bank_account;
35
- var isNonEditable = ((_d = bank_account === null || bank_account === void 0 ? void 0 : bank_account.data_status) === null || _d === void 0 ? void 0 : _d.beneficiary_name) === FieldType.NON_EDITABLE;
33
+ var isNonEditable = ((_c = bank_account === null || bank_account === void 0 ? void 0 : bank_account.data_status) === null || _c === void 0 ? void 0 : _c.beneficiary_name) === FieldType.NON_EDITABLE;
36
34
  React.useEffect(function () {
37
35
  var beneficiary_name = (bank_account || {}).beneficiary_name;
38
36
  if (beneficiary_name)
@@ -45,6 +43,6 @@ var Beneficiary = function (_a) {
45
43
  var clearValue = function () {
46
44
  beneficiaryControl.field.onChange('');
47
45
  };
48
- return (_jsx(FeatureStyled, { children: _jsx(InputStyled, { readOnly: readOnly, label: t('beneficiary_name'), onChange: handleBeneficiaryChange, disabled: isNonEditable, value: beneficiaryValue, placeholder: t('beneficiary_name'), warningType: 'alert', warningMessage: error && t(error), required: true, endAdornment: !hasError && beneficiaryValue ? _jsx(CheckIcon, {}) : beneficiaryValue && _jsx(ClearIcon, { onClick: clearValue }) }) }));
46
+ return (_jsx(FeatureStyled, { children: _jsx(InputStyled, { readOnly: readOnly, label: t('beneficiary_name'), onChange: handleBeneficiaryChange, disabled: isNonEditable, value: beneficiaryValue, placeholder: t('beneficiary_name'), warningType: 'alert', warningMessage: error && t(error), required: true, endAdornment: _jsx(EndAdornment, { value: beneficiaryValue, isVerified: isVerified, error: error, onClear: clearValue }) }) }));
49
47
  };
50
48
  export default Beneficiary;
@@ -3,6 +3,7 @@ export interface IBANProps {
3
3
  fetchingIban: (flag: boolean) => void;
4
4
  ibanChecking: boolean;
5
5
  readOnly?: boolean;
6
+ isVerified?: boolean;
6
7
  }
7
- declare const IBAN: ({ fetchingIban, ibanChecking, readOnly }: IBANProps) => JSX.Element;
8
+ declare const IBAN: ({ fetchingIban, ibanChecking, readOnly, isVerified }: IBANProps) => JSX.Element;
8
9
  export default IBAN;
@@ -41,7 +41,6 @@ import { useTranslation } from 'react-i18next';
41
41
  import axios from 'axios';
42
42
  import { useController, useFormContext } from 'react-hook-form';
43
43
  import { styled } from '@mui/material';
44
- import CircularProgress from '@mui/material/CircularProgress';
45
44
  import { removeAllOtherThanCharsAndNumber } from '../../../../utils';
46
45
  import { settingsSelector } from '../../../../app/settings';
47
46
  import { useAppSelector, useAppDispatch } from '../../../../hooks';
@@ -49,10 +48,9 @@ import { FieldType } from '../../../../@types';
49
48
  import { MAX_IBAN_VALUE } from '../../../../constants';
50
49
  import { ScreenContainer } from '../../../shared/Containers';
51
50
  import { checkIbanBank } from '../../../app/bank/bankStore';
52
- import ClearIcon from '../../../shared/ClearIcon';
53
- import CheckIcon from '../../../shared/CheckIcon';
54
51
  import Input from '../../../shared/Input';
55
52
  import { bankSelector } from '../../../app/bank/bankStore';
53
+ import { EndAdornment } from '../../../shared/EndAdornment';
56
54
  var InputStyled = styled(Input)(function () { return ({
57
55
  input: {
58
56
  textTransform: 'uppercase'
@@ -61,7 +59,7 @@ var InputStyled = styled(Input)(function () { return ({
61
59
  var cancelToken = null;
62
60
  var IBAN = function (_a) {
63
61
  var _b, _c;
64
- var fetchingIban = _a.fetchingIban, ibanChecking = _a.ibanChecking, readOnly = _a.readOnly;
62
+ var fetchingIban = _a.fetchingIban, ibanChecking = _a.ibanChecking, readOnly = _a.readOnly, isVerified = _a.isVerified;
65
63
  var dispatch = useAppDispatch();
66
64
  var settingsData = useAppSelector(settingsSelector).data;
67
65
  var data = useAppSelector(bankSelector).data;
@@ -99,6 +97,6 @@ var IBAN = function (_a) {
99
97
  var clearValue = function () {
100
98
  ibanControl.field.onChange('');
101
99
  };
102
- return (_jsx(ScreenContainer, { children: _jsx(InputStyled, { readOnly: readOnly, label: t('enter_iban'), inputProps: { maxLength: MAX_IBAN_VALUE }, onChange: handleIbanChange, value: ibanValue, placeholder: t('iban_input_placeholder', { countrycode: settingsData.businessCountry.iso2.toUpperCase() }), warningType: 'alert', warningMessage: error && t(error), required: true, disabled: isNonEditable, endAdornment: ibanChecking ? (_jsx(CircularProgress, { size: 25, thickness: 5, sx: { height: 'auto !important' } })) : !error && ibanValue ? (_jsx(CheckIcon, {})) : (ibanValue && _jsx(ClearIcon, { onClick: clearValue })) }) }));
100
+ return (_jsx(ScreenContainer, { children: _jsx(InputStyled, { readOnly: readOnly, label: t('enter_iban'), inputProps: { maxLength: MAX_IBAN_VALUE }, onChange: handleIbanChange, value: ibanValue, placeholder: t('iban_input_placeholder', { countrycode: settingsData.businessCountry.iso2.toUpperCase() }), warningType: 'alert', warningMessage: error && t(error), required: true, disabled: isNonEditable, endAdornment: _jsx(EndAdornment, { value: ibanValue, loading: ibanChecking, isVerified: isVerified, error: error, onClear: clearValue }) }) }));
103
101
  };
104
102
  export default IBAN;
@@ -49,20 +49,6 @@ export declare const LabelContainerStyled: import("@emotion/styled").StyledCompo
49
49
  } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
50
50
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
51
51
  }, keyof import("@mui/material/OverridableComponent").CommonProps | ("border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "display" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "right" | "bottom" | "left" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform") | "children" | "component" | "ref" | "sx"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
52
- export declare const CheckIconStyled: import("@emotion/styled").StyledComponent<{
53
- children?: React.ReactNode;
54
- classes?: Partial<import("@mui/material").SvgIconClasses> | undefined;
55
- color?: "inherit" | "disabled" | "error" | "info" | "success" | "primary" | "secondary" | "action" | "warning" | undefined;
56
- fontSize?: "small" | "inherit" | "medium" | "large" | undefined;
57
- htmlColor?: string | undefined;
58
- inheritViewBox?: boolean | undefined;
59
- shapeRendering?: string | undefined;
60
- sx?: import("@mui/material/styles").SxProps<import("@mui/material/styles").Theme> | undefined;
61
- titleAccess?: string | undefined;
62
- viewBox?: string | undefined;
63
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.SVGProps<SVGSVGElement>, "string" | "name" | "type" | "version" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "end" | "values" | "local" | "x" | "y" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "origin" | "method" | "operator" | "spacing" | "elevation" | "in" | "max" | "href" | "orientation" | "media" | "target" | "min" | "viewBox" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "in2" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "orient" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
64
- ref?: ((instance: SVGSVGElement | null) => void) | React.RefObject<SVGSVGElement> | null | undefined;
65
- }, keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "htmlColor" | "inheritViewBox" | "titleAccess" | "viewBox"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
66
52
  export declare const NameContainer: import("@emotion/styled").StyledComponent<import("@mui/system").SystemProps<import("@mui/material/styles").Theme> & {
67
53
  align?: "right" | "left" | "inherit" | "center" | "justify" | undefined;
68
54
  children?: React.ReactNode;
@@ -45,10 +45,10 @@ import { LicenseType } from '../../../../@types';
45
45
  import Collapse from '../../../../components/Collapse';
46
46
  import SimpleList from '../../../../components/SimpleList';
47
47
  import ExpandIcon from '../../../../components/ExpandIcon';
48
- import { sortActivitiesByName } from '../../../../utils';
48
+ import { hasVerifiedValue, sortActivitiesByName } from '../../../../utils';
49
+ import CheckIcon from '../../../shared/CheckIcon';
49
50
  import { ScreenContainer } from '../../../shared/Containers';
50
51
  import { brandSelector } from '../../../app/brand/brandStore';
51
- import CheckIcon from '@mui/icons-material/Check';
52
52
  export var InputLabelStyled = styled(Text)(function (_a) {
53
53
  var theme = _a.theme;
54
54
  return (__assign({ color: alpha(theme.palette.text.primary, 0.4) }, theme.typography.caption));
@@ -93,14 +93,6 @@ export var LabelContainerStyled = styled(Box)(function (_a) {
93
93
  });
94
94
  });
95
95
  var SimpleListStyled = styled((SimpleList))(function () { return ({}); });
96
- export var CheckIconStyled = styled(CheckIcon)(function (_a) {
97
- var theme = _a.theme;
98
- return ({
99
- color: theme.palette.primary.main,
100
- display: 'flex',
101
- alignItems: 'flex-end'
102
- });
103
- });
104
96
  export var NameContainer = styled(Text, { shouldForwardProp: function (prop) { return prop !== 'isSelected'; } })(function (_a) {
105
97
  var theme = _a.theme, isSelected = _a.isSelected;
106
98
  return (__assign(__assign({ color: theme.palette.text.primary }, theme.typography.body2), { fontWeight: isSelected ? theme.typography.fontWeightMedium : theme.typography.fontWeightLight, paddingInlineStart: theme.spacing(1.25), textAlign: 'start' }));
@@ -169,9 +161,12 @@ var ActivitiesList = function (_a) {
169
161
  var getSelectedActivityFlag = function (item) {
170
162
  return controlValue === null || controlValue === void 0 ? void 0 : controlValue.find(function (activity) { return activity.id === item.id; });
171
163
  };
164
+ var isActivityVerified = function (item) {
165
+ return hasVerifiedValue(brand === null || brand === void 0 ? void 0 : brand.data_verification, "activities.".concat(item.id));
166
+ };
172
167
  return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, { children: [_jsxs(LabelContainerStyled, { children: [_jsxs(InputLabelStyled, { children: [t(isCR ? 'activities' : 'category'), " ", _jsx(MandatoryStyled, { children: "*" })] }), _jsx(Tooltip, __assign({ title: t('activities_name_hint'), onMouseOver: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, onTouchStartCapture: function () { return setIsHovered(true); } }, { children: isHovered ? _jsx(InfoIconStyled, {}) : _jsx(InfoOutlinedIconStyled, {}) }))] }), _jsxs(Box, { children: [_jsx(InputStyled, { readOnly: readOnly, disabled: disabled, value: getSelectedActivities(), placeholder: isCR ? t('choose_activities') : t('category_name'), onClick: disabled ? undefined : !!anchorEl ? onCloseList : onOpenList, endAdornment: disabled ? _jsx(_Fragment, {}) : _jsx(ExpandIcon, { anchorEl: !!anchorEl }) }), _jsx(Collapse, __assign({ in: !!anchorEl, timeout: 300 }, { children: _jsx(SimpleListStyled, { searchKeyPath: 'name.en', searchValuePath: ['name.ar', 'name.en'], list: activitiesMenuList, onSelectItem: onSelectItem, renderItem: function (item) {
173
168
  var _a, _b, _c;
174
- return (_jsxs(_Fragment, { children: [_jsx(Box, __assign({ display: 'flex' }, { children: _jsx(NameContainer, __assign({ isSelected: item.id === ((_a = getSelectedActivityFlag(item)) === null || _a === void 0 ? void 0 : _a.id) }, { children: isAr ? (_b = item === null || item === void 0 ? void 0 : item.name) === null || _b === void 0 ? void 0 : _b.ar : (_c = item === null || item === void 0 ? void 0 : item.name) === null || _c === void 0 ? void 0 : _c.en })) })), getSelectedActivityFlag(item) && _jsx(CheckIconStyled, {})] }));
169
+ return (_jsxs(_Fragment, { children: [_jsx(Box, __assign({ display: 'flex' }, { children: _jsx(NameContainer, __assign({ isSelected: item.id === ((_a = getSelectedActivityFlag(item)) === null || _a === void 0 ? void 0 : _a.id) }, { children: isAr ? (_b = item === null || item === void 0 ? void 0 : item.name) === null || _b === void 0 ? void 0 : _b.ar : (_c = item === null || item === void 0 ? void 0 : item.name) === null || _c === void 0 ? void 0 : _c.en })) })), getSelectedActivityFlag(item) && _jsx(CheckIcon, { isVerified: isActivityVerified(item) })] }));
175
170
  } }) }))] })] }) })));
176
171
  };
177
172
  export default ActivitiesList;
@@ -15,7 +15,7 @@ import { ScreenContainer } from '../../../shared/Containers';
15
15
  import { FormProvider, useForm } from 'react-hook-form';
16
16
  import Form from '../../../../components/Form';
17
17
  import { styled } from '@mui/material/styles';
18
- import { useAppDispatch, useAppSelector, useDataNoneEditable, useFormReadOnly, useLanguage, useSetFromDefaultValues, useFormErrorAndUpdateReadOnly, useExcludeReadOnlyFelids } from '../../../../hooks';
18
+ import { useAppDispatch, useAppSelector, useDataNoneEditable, useFormReadOnly, useLanguage, useSetFromDefaultValues, useFormErrorAndUpdateReadOnly, useExcludeReadOnlyFelids, useDataVerified } from '../../../../hooks';
19
19
  import { yupResolver } from '@hookform/resolvers/yup';
20
20
  import { BrandActivitiesValidationSchema } from './validation';
21
21
  import Button from '../../../shared/Button';
@@ -35,10 +35,11 @@ var FormStyled = styled(Form)(function () { return ({
35
35
  flexDirection: 'column'
36
36
  }); });
37
37
  var BrandActivities = function (_a) {
38
- var _b = React.useState(), listActive = _b[0], setListActive = _b[1];
38
+ var _b;
39
+ var _c = React.useState(), listActive = _c[0], setListActive = _c[1];
39
40
  var dispatch = useAppDispatch();
40
- var _c = useAppSelector(brandSelector), data = _c.data, loading = _c.loading, error = _c.error;
41
- var _d = data.brandActivities, activities = _d.activities, customerLocations = _d.customerLocations, expectedCustomer = _d.expectedCustomer, expectedSale = _d.expectedSale, termAndConditionChecked = _d.termAndConditionChecked, refundPolicy = _d.refundPolicy, transactionPolicy = _d.transactionPolicy;
41
+ var _d = useAppSelector(brandSelector), data = _d.data, loading = _d.loading, error = _d.error;
42
+ var _e = data.brandActivities, activities = _e.activities, customerLocations = _e.customerLocations, expectedCustomer = _e.expectedCustomer, expectedSale = _e.expectedSale, termAndConditionChecked = _e.termAndConditionChecked, refundPolicy = _e.refundPolicy, transactionPolicy = _e.transactionPolicy;
42
43
  var ListType;
43
44
  (function (ListType) {
44
45
  ListType["ActivitiesList"] = "ActivitiesList";
@@ -60,9 +61,9 @@ var BrandActivities = function (_a) {
60
61
  mode: 'onChange'
61
62
  });
62
63
  useSetFromDefaultValues(methods, data.brandActivities, true);
63
- var brand = (data.verify.responseBody || {}).brand;
64
+ var _f = ((_b = data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.brand) || {}, data_status = _f.data_status, data_verification = _f.data_verification;
64
65
  var originalReadOnly = useFormReadOnly(methods);
65
- var noneEditable = useDataNoneEditable(brand === null || brand === void 0 ? void 0 : brand.data_status, [
66
+ var noneEditable = useDataNoneEditable(data_status, [
66
67
  'activities',
67
68
  'operations.customer_base_location',
68
69
  'operations.customer_base',
@@ -70,6 +71,11 @@ var BrandActivities = function (_a) {
70
71
  'terms'
71
72
  ]);
72
73
  var readOnly = useFormErrorAndUpdateReadOnly(methods, originalReadOnly, noneEditable);
74
+ var dataVerified = useDataVerified(data_verification, [
75
+ 'operations.customer_base_location',
76
+ 'operations.customer_base',
77
+ 'operations.sales_range'
78
+ ]);
73
79
  var getFelids = useExcludeReadOnlyFelids(methods, readOnly).getFelids;
74
80
  var onSubmit = function (data) {
75
81
  dispatch(updateBrandActivities(getFelids(data)));
@@ -87,6 +93,6 @@ var BrandActivities = function (_a) {
87
93
  var isCustomerBaseListActive = listActive === ListType.CustomerBaseList;
88
94
  var isExpectedCustomerListActive = listActive === ListType.ExpectedCustomerList;
89
95
  var isExpectedSalesListActive = listActive === ListType.ExpectedSalesList;
90
- return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(ActivitiesList, { readOnly: readOnly['activities'] || noneEditable['activities'], show: !isCustomerBaseListActive && !isExpectedCustomerListActive && !isExpectedSalesListActive, onListOpen: function () { return handleMenuClick(ListType.ActivitiesList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(CustomerBase, { readOnly: readOnly['customerLocations'] || noneEditable['operations.customer_base_location'], show: !isActivitiesListActive && !isExpectedCustomerListActive && !isExpectedSalesListActive, onListOpen: function () { return handleMenuClick(ListType.CustomerBaseList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(ExpectedCustomers, { readOnly: readOnly['expectedCustomer'] || noneEditable['operations.customer_base'], show: !isActivitiesListActive && !isCustomerBaseListActive && !isExpectedSalesListActive, onListOpen: function () { return handleMenuClick(ListType.ExpectedCustomerList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(ExpectedSalesRange, { readOnly: readOnly['expectedSale'] || noneEditable['operations.sales_range'], show: !isActivitiesListActive && !isCustomerBaseListActive && !isExpectedCustomerListActive, onListOpen: function () { return handleMenuClick(ListType.ExpectedSalesList); }, onListClose: function () { return handleMenuClick(); } }), _jsxs(Collapse, __assign({ in: !listActive }, { children: [_jsx(TAC, { readOnly: readOnly['termAndConditionChecked'] || noneEditable['terms'] }), _jsx(RefundPolicy, { readOnly: readOnly['refundPolicy'] || noneEditable['terms'] }), _jsx(TransactionPolicy, { readOnly: readOnly['transactionPolicy'] || noneEditable['terms'] }), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, error: t(error || ''), loading: loading }, { children: t('next') }))] }))] })) })) }));
96
+ return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(ActivitiesList, { readOnly: readOnly['activities'] || noneEditable['activities'], show: !isCustomerBaseListActive && !isExpectedCustomerListActive && !isExpectedSalesListActive, onListOpen: function () { return handleMenuClick(ListType.ActivitiesList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(CustomerBase, { readOnly: readOnly['customerLocations'] || noneEditable['operations.customer_base_location'], show: !isActivitiesListActive && !isExpectedCustomerListActive && !isExpectedSalesListActive, onListOpen: function () { return handleMenuClick(ListType.CustomerBaseList); }, onListClose: function () { return handleMenuClick(); }, isVerified: dataVerified['operations.customer_base_location'] }), _jsx(ExpectedCustomers, { readOnly: readOnly['expectedCustomer'] || noneEditable['operations.customer_base'], show: !isActivitiesListActive && !isCustomerBaseListActive && !isExpectedSalesListActive, onListOpen: function () { return handleMenuClick(ListType.ExpectedCustomerList); }, onListClose: function () { return handleMenuClick(); }, isVerified: dataVerified['operations.customer_base'] }), _jsx(ExpectedSalesRange, { readOnly: readOnly['expectedSale'] || noneEditable['operations.sales_range'], show: !isActivitiesListActive && !isCustomerBaseListActive && !isExpectedCustomerListActive, onListOpen: function () { return handleMenuClick(ListType.ExpectedSalesList); }, onListClose: function () { return handleMenuClick(); }, isVerified: dataVerified['operations.sales_range'] }), _jsxs(Collapse, __assign({ in: !listActive }, { children: [_jsx(TAC, { readOnly: readOnly['termAndConditionChecked'] || noneEditable['terms'] }), _jsx(RefundPolicy, { readOnly: readOnly['refundPolicy'] || noneEditable['terms'] }), _jsx(TransactionPolicy, { readOnly: readOnly['transactionPolicy'] || noneEditable['terms'] }), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, error: t(error || ''), loading: loading }, { children: t('next') }))] }))] })) })) }));
91
97
  };
92
98
  export default BrandActivities;