@redneckz/wildless-cms-uni-blocks 0.14.821 → 0.14.823
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.
- package/bundle/bundle.umd.js +101 -25
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/bundle/retail/validator/validators.d.ts +8 -1
- package/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/dist/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/dist/components/CreditForm/CreditFormStep.js +7 -1
- package/dist/components/CreditForm/CreditFormStep.js.map +1 -1
- package/dist/components/DebitForm/DebitFormStep.js +7 -1
- package/dist/components/DebitForm/DebitFormStep.js.map +1 -1
- package/dist/retail/components/Fields/DeliveryDateFiels.js +1 -1
- package/dist/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/dist/retail/components/Fields/DulIssueDateField.js +6 -1
- package/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/dist/retail/components/Fields/MiddleNameField.js +10 -1
- package/dist/retail/components/Fields/MiddleNameField.js.map +1 -1
- package/dist/retail/components/Fields/NameField.js +10 -1
- package/dist/retail/components/Fields/NameField.js.map +1 -1
- package/dist/retail/components/Fields/SurnameField.js +10 -1
- package/dist/retail/components/Fields/SurnameField.js.map +1 -1
- package/dist/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/dist/retail/validator/getLimitedBirthdayValidation.js +21 -0
- package/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/dist/retail/validator/validatorObj.js +3 -1
- package/dist/retail/validator/validatorObj.js.map +1 -1
- package/dist/retail/validator/validators.d.ts +8 -1
- package/dist/retail/validator/validators.js +14 -9
- package/dist/retail/validator/validators.js.map +1 -1
- package/dist/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/lib/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/lib/components/CreditForm/CreditFormStep.js +7 -1
- package/lib/components/CreditForm/CreditFormStep.js.map +1 -1
- package/lib/components/DebitForm/DebitFormStep.js +7 -1
- package/lib/components/DebitForm/DebitFormStep.js.map +1 -1
- package/lib/retail/components/Fields/DeliveryDateFiels.js +1 -1
- package/lib/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/lib/retail/components/Fields/DulIssueDateField.js +6 -1
- package/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/lib/retail/components/Fields/MiddleNameField.js +10 -1
- package/lib/retail/components/Fields/MiddleNameField.js.map +1 -1
- package/lib/retail/components/Fields/NameField.js +10 -1
- package/lib/retail/components/Fields/NameField.js.map +1 -1
- package/lib/retail/components/Fields/SurnameField.js +10 -1
- package/lib/retail/components/Fields/SurnameField.js.map +1 -1
- package/lib/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/lib/retail/validator/getLimitedBirthdayValidation.js +18 -0
- package/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/lib/retail/validator/validatorObj.js +4 -2
- package/lib/retail/validator/validatorObj.js.map +1 -1
- package/lib/retail/validator/validators.d.ts +8 -1
- package/lib/retail/validator/validators.js +12 -8
- package/lib/retail/validator/validators.js.map +1 -1
- package/lib/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +95 -24
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/mobile/bundle/retail/validator/validators.d.ts +8 -1
- package/mobile/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/mobile/dist/components/CreditForm/CreditFormStep.js +7 -1
- package/mobile/dist/components/CreditForm/CreditFormStep.js.map +1 -1
- package/mobile/dist/components/DebitForm/DebitFormStep.js +7 -1
- package/mobile/dist/components/DebitForm/DebitFormStep.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DeliveryDateFiels.js +1 -1
- package/mobile/dist/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DulIssueDateField.js +6 -1
- package/mobile/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/MiddleNameField.js +10 -1
- package/mobile/dist/retail/components/Fields/MiddleNameField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/NameField.js +10 -1
- package/mobile/dist/retail/components/Fields/NameField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/SurnameField.js +10 -1
- package/mobile/dist/retail/components/Fields/SurnameField.js.map +1 -1
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js +21 -0
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/mobile/dist/retail/validator/validatorObj.js +3 -1
- package/mobile/dist/retail/validator/validatorObj.js.map +1 -1
- package/mobile/dist/retail/validator/validators.d.ts +8 -1
- package/mobile/dist/retail/validator/validators.js +14 -9
- package/mobile/dist/retail/validator/validators.js.map +1 -1
- package/mobile/dist/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/mobile/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/mobile/lib/components/CreditForm/CreditFormStep.js +7 -1
- package/mobile/lib/components/CreditForm/CreditFormStep.js.map +1 -1
- package/mobile/lib/components/DebitForm/DebitFormStep.js +7 -1
- package/mobile/lib/components/DebitForm/DebitFormStep.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DeliveryDateFiels.js +1 -1
- package/mobile/lib/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DulIssueDateField.js +6 -1
- package/mobile/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/MiddleNameField.js +10 -1
- package/mobile/lib/retail/components/Fields/MiddleNameField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/NameField.js +10 -1
- package/mobile/lib/retail/components/Fields/NameField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/SurnameField.js +10 -1
- package/mobile/lib/retail/components/Fields/SurnameField.js.map +1 -1
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js +18 -0
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/mobile/lib/retail/validator/validatorObj.js +4 -2
- package/mobile/lib/retail/validator/validatorObj.js.map +1 -1
- package/mobile/lib/retail/validator/validators.d.ts +8 -1
- package/mobile/lib/retail/validator/validators.js +12 -8
- package/mobile/lib/retail/validator/validators.js.map +1 -1
- package/mobile/lib/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/mobile/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +17 -6
- package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +13 -5
- package/mobile/src/components/CreditCardForm/CreditCardFormStep.tsx +9 -1
- package/mobile/src/components/CreditForm/CreditFormStep.tsx +10 -1
- package/mobile/src/components/DebitForm/DebitFormStep.tsx +9 -1
- package/mobile/src/retail/components/Fields/DeliveryDateFiels.tsx +1 -1
- package/mobile/src/retail/components/Fields/DulIssueDateField.tsx +17 -7
- package/mobile/src/retail/components/Fields/MiddleNameField.tsx +23 -9
- package/mobile/src/retail/components/Fields/NameField.tsx +23 -9
- package/mobile/src/retail/components/Fields/SurnameField.tsx +23 -9
- package/mobile/src/retail/validator/getLimitedBirthdayValidation.ts +21 -0
- package/mobile/src/retail/validator/validatorObj.ts +4 -2
- package/mobile/src/retail/validator/validators.ts +31 -13
- package/mobile/src/ui-kit/DatePicker/DatePickerControl.tsx +3 -1
- package/package.json +1 -1
- package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +17 -6
- package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +13 -5
- package/src/components/CreditCardForm/CreditCardFormStep.tsx +9 -1
- package/src/components/CreditForm/CreditFormStep.tsx +10 -1
- package/src/components/DebitForm/DebitFormStep.tsx +9 -1
- package/src/retail/components/Fields/DeliveryDateFiels.tsx +1 -1
- package/src/retail/components/Fields/DulIssueDateField.tsx +17 -7
- package/src/retail/components/Fields/MiddleNameField.tsx +23 -9
- package/src/retail/components/Fields/NameField.tsx +23 -9
- package/src/retail/components/Fields/SurnameField.tsx +23 -9
- package/src/retail/validator/getLimitedBirthdayValidation.ts +21 -0
- package/src/retail/validator/validatorObj.ts +4 -2
- package/src/retail/validator/validators.ts +31 -13
- package/src/ui-kit/DatePicker/DatePickerControl.tsx +3 -1
package/bundle/bundle.umd.js
CHANGED
|
@@ -2429,25 +2429,29 @@
|
|
|
2429
2429
|
|
|
2430
2430
|
const ERROR_MESSAGE = 'Некорректно заполненное поле';
|
|
2431
2431
|
const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
|
|
2432
|
-
const
|
|
2433
|
-
const MAX_AGE = 75;
|
|
2434
|
-
const AGE_ERROR_MESSAGE = 'Допустимый возраст заёмщика - от 23 до 75 лет';
|
|
2432
|
+
const retailCyrillicPattern = /^[\u0400-\u04FF-\s]+$/u;
|
|
2435
2433
|
const addressDaDataValidate = (address) => Boolean(address.region && (address.city || address.locality) && address.house);
|
|
2436
2434
|
const addressDaDataValidator = () => validator(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
|
|
2437
2435
|
const addressOrganizationValidator = () => validator((address) => Boolean(address.fiasCode && (address.city || address.locality) && address.house))(ADDRESS_ERROR_MESSAGE);
|
|
2438
2436
|
const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2437
|
+
const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2439
2438
|
const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2440
2439
|
const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
|
|
2441
|
-
const limitedBirthdayValidate = (date) => {
|
|
2440
|
+
const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
|
|
2442
2441
|
const today = new Date();
|
|
2443
|
-
const minDate = new Date(today.getFullYear() -
|
|
2444
|
-
const maxDate =
|
|
2445
|
-
|
|
2442
|
+
const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
|
|
2443
|
+
const maxDate = maxAge
|
|
2444
|
+
? new Date(today.getFullYear() - maxAge, today.getMonth(), today.getDate())
|
|
2445
|
+
: null;
|
|
2446
|
+
if (!date || date > minDate) {
|
|
2447
|
+
return false;
|
|
2448
|
+
}
|
|
2449
|
+
if (maxDate && date < maxDate) {
|
|
2446
2450
|
return false;
|
|
2447
2451
|
}
|
|
2448
2452
|
return true;
|
|
2449
2453
|
};
|
|
2450
|
-
const limitedBirthdayValidator = () => validator(limitedBirthdayValidate)(
|
|
2454
|
+
const limitedBirthdayValidator = (params) => validator(limitedBirthdayValidate(params))(params.errorMessage);
|
|
2451
2455
|
const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
|
|
2452
2456
|
const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
|
|
2453
2457
|
const snilsValidate = (snils) => {
|
|
@@ -2469,6 +2473,23 @@
|
|
|
2469
2473
|
};
|
|
2470
2474
|
const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
|
|
2471
2475
|
|
|
2476
|
+
const limitedBirthdayValidationData = {
|
|
2477
|
+
credit: {
|
|
2478
|
+
minAge: 23,
|
|
2479
|
+
maxAge: 75,
|
|
2480
|
+
errorMessage: 'Допустимый возраст заёмщика - от 23 до 75 лет',
|
|
2481
|
+
},
|
|
2482
|
+
creditCard: {
|
|
2483
|
+
minAge: 21,
|
|
2484
|
+
errorMessage: 'Допустимый возраст заёмщика - от 21 года',
|
|
2485
|
+
},
|
|
2486
|
+
debitCard: {
|
|
2487
|
+
minAge: 18,
|
|
2488
|
+
errorMessage: 'Допустимый возраст - от 18 лет',
|
|
2489
|
+
},
|
|
2490
|
+
};
|
|
2491
|
+
const getLimitedBirthdayValidation = (productType) => limitedBirthdayValidator(limitedBirthdayValidationData[productType]);
|
|
2492
|
+
|
|
2472
2493
|
const validatorConsentsObj = {
|
|
2473
2494
|
processPersonalDataFlg: agreementValidator,
|
|
2474
2495
|
consentProviderFlg: agreementValidator,
|
|
@@ -2503,7 +2524,6 @@
|
|
|
2503
2524
|
addressRetail: defaultSelectValidator('Выберите адрес банка'),
|
|
2504
2525
|
addressMatch: defaultValidator(),
|
|
2505
2526
|
sex: defaultValidator('Укажите свой пол'),
|
|
2506
|
-
limitedBirthday: limitedBirthdayValidator(),
|
|
2507
2527
|
birthPlace: defaultValidator('Укажите место рождения'),
|
|
2508
2528
|
education: defaultSelectValidator('Выберите ваше образование'),
|
|
2509
2529
|
housing: defaultSelectValidator('Выберите тип жилья'),
|
|
@@ -2538,6 +2558,9 @@
|
|
|
2538
2558
|
partInBusiness: defaultValidator(),
|
|
2539
2559
|
regionRetail: defaultSelectValidator('Выберите регион'),
|
|
2540
2560
|
latinSurname: defaultValidator('Укажите фамилию'),
|
|
2561
|
+
surname: nameRetailValidator('Укажите свою фамилию на кириллице'),
|
|
2562
|
+
name: nameRetailValidator('Укажите своё имя на кириллице'),
|
|
2563
|
+
middleName: nameRetailValidator('Укажите своё отчество на кириллице'),
|
|
2541
2564
|
};
|
|
2542
2565
|
const validatorObj = {
|
|
2543
2566
|
...validatorRetailObj,
|
|
@@ -4413,7 +4436,7 @@
|
|
|
4413
4436
|
return (jsx(DaDataInputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
|
|
4414
4437
|
});
|
|
4415
4438
|
|
|
4416
|
-
const DeliveryDateFiels = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? '') })));
|
|
4439
|
+
const DeliveryDateFiels = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? ''), minDate: new Date() })));
|
|
4417
4440
|
|
|
4418
4441
|
const DeliveryTimeField = JSX(({ field, input }) => {
|
|
4419
4442
|
const { data } = useLeadFormData('COURIER_DELIVERY_TIME');
|
|
@@ -4426,7 +4449,11 @@
|
|
|
4426
4449
|
|
|
4427
4450
|
const DependentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u043D\u044B\u0445 \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input })));
|
|
4428
4451
|
|
|
4429
|
-
const DulIssueDateField = JSX(({ field, input }) =>
|
|
4452
|
+
const DulIssueDateField = JSX(({ field, input }) => {
|
|
4453
|
+
const birthDate = field('limitedBirthday')?.value;
|
|
4454
|
+
const startDulIssueDate = useMemo(() => new Date(birthDate.getFullYear() + 14, birthDate.getMonth(), birthDate.getDate()), [birthDate]);
|
|
4455
|
+
return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: input?.filledByEsia && isEsiaAuthorize(field, input?.name ?? ''), minDate: startDulIssueDate }));
|
|
4456
|
+
});
|
|
4430
4457
|
|
|
4431
4458
|
const DulIssuedByField = JSX(({ field, input }) => {
|
|
4432
4459
|
const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
|
|
@@ -4652,9 +4679,23 @@
|
|
|
4652
4679
|
];
|
|
4653
4680
|
const MethodObtainField = JSX(({ field, input }) => (jsx(RadioButtonGroupControl, { orientation: "horizontal", items: METHODS_OF_OBTAIN, ...field(input?.name ?? '') })));
|
|
4654
4681
|
|
|
4655
|
-
const MiddleNameField = JSX(({ field, input }) =>
|
|
4682
|
+
const MiddleNameField = JSX(({ field, input }) => {
|
|
4683
|
+
const onChange = useCallback((value) => {
|
|
4684
|
+
if (retailCyrillicPattern.test(value) || value.length === 0) {
|
|
4685
|
+
field('middleName')?.onChange?.(value);
|
|
4686
|
+
}
|
|
4687
|
+
}, [field]);
|
|
4688
|
+
return (jsx(DaDataInputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, input?.name ?? ''), ...field(input?.name ?? ''), ...input, onChange: onChange }));
|
|
4689
|
+
});
|
|
4656
4690
|
|
|
4657
|
-
const NameField = JSX(({ field, input }) =>
|
|
4691
|
+
const NameField = JSX(({ field, input }) => {
|
|
4692
|
+
const onChange = useCallback((value) => {
|
|
4693
|
+
if (retailCyrillicPattern.test(value) || value.length === 0) {
|
|
4694
|
+
field('name')?.onChange?.(value);
|
|
4695
|
+
}
|
|
4696
|
+
}, [field]);
|
|
4697
|
+
return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input, onChange: onChange }));
|
|
4698
|
+
});
|
|
4658
4699
|
|
|
4659
4700
|
const OrganizationField = JSX(({ field, input }) => {
|
|
4660
4701
|
const { data } = useLeadFormData('ORGANIZATION_TYPE');
|
|
@@ -4809,7 +4850,14 @@
|
|
|
4809
4850
|
const SnilsField = JSX(({ field, input }) => (jsx(InputSnilsControl, { label: "\u0421\u041D\u0418\u041B\u0421", maxLength: 14, ...field(input?.name ?? ''), ...input })));
|
|
4810
4851
|
|
|
4811
4852
|
const FIELD_NAME = 'surname';
|
|
4812
|
-
const SurnameField = JSX(({ field, input }) =>
|
|
4853
|
+
const SurnameField = JSX(({ field, input }) => {
|
|
4854
|
+
const onChange = useCallback((value) => {
|
|
4855
|
+
if (retailCyrillicPattern.test(value) || value.length === 0) {
|
|
4856
|
+
field('surname')?.onChange?.(value);
|
|
4857
|
+
}
|
|
4858
|
+
}, [field]);
|
|
4859
|
+
return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME), ...field(input?.name ?? ''), ...input, onChange: onChange }));
|
|
4860
|
+
});
|
|
4813
4861
|
|
|
4814
4862
|
const TotalIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\u043D\u044B\u0439 \u043E\u0444\u0438\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0434\u043E\u0445\u043E\u0434 \u0432 \u043C\u0435\u0441\u044F\u0446 \u043F\u043E\u0441\u043B\u0435 \u0432\u044B\u0447\u0435\u0442\u0430 \u043D\u0430\u043B\u043E\u0433\u043E\u0432 (\u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0430, \u043F\u0440\u0435\u043C\u0438\u0438)", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
|
|
4815
4863
|
|
|
@@ -5720,15 +5768,16 @@
|
|
|
5720
5768
|
}
|
|
5721
5769
|
try {
|
|
5722
5770
|
startSending();
|
|
5771
|
+
const transformedFormData = transformFormData(formData);
|
|
5723
5772
|
const profileId = await createUserProfile({
|
|
5724
|
-
profile: { phone: formatPhone(
|
|
5773
|
+
profile: { phone: formatPhone(transformedFormData.phone) },
|
|
5725
5774
|
});
|
|
5726
|
-
if (profileId &&
|
|
5775
|
+
if (profileId && transformedFormData?.phone) {
|
|
5727
5776
|
const sendCurrentTask = async () => {
|
|
5728
5777
|
await updateUserData({
|
|
5729
5778
|
programId,
|
|
5730
5779
|
profileId,
|
|
5731
|
-
formData,
|
|
5780
|
+
formData: transformedFormData,
|
|
5732
5781
|
productType,
|
|
5733
5782
|
saveUserData,
|
|
5734
5783
|
sendAspects,
|
|
@@ -5738,7 +5787,7 @@
|
|
|
5738
5787
|
openEsiaLoginDialog();
|
|
5739
5788
|
}
|
|
5740
5789
|
else {
|
|
5741
|
-
consentBkiDialog.open(
|
|
5790
|
+
consentBkiDialog.open(transformedFormData.phone, profileId);
|
|
5742
5791
|
}
|
|
5743
5792
|
};
|
|
5744
5793
|
const handleSuccessVerify = async () => {
|
|
@@ -5764,7 +5813,7 @@
|
|
|
5764
5813
|
};
|
|
5765
5814
|
const acceptedConsents = getAcceptedConsents(formData, productType);
|
|
5766
5815
|
verifyPhoneDialog.open({
|
|
5767
|
-
phone:
|
|
5816
|
+
phone: transformedFormData?.phone,
|
|
5768
5817
|
consents: acceptedConsents,
|
|
5769
5818
|
onSuccess: handleSuccessVerify,
|
|
5770
5819
|
});
|
|
@@ -5846,6 +5895,12 @@
|
|
|
5846
5895
|
consentAssignmentClaimsFlg: consentOthersFlg,
|
|
5847
5896
|
};
|
|
5848
5897
|
};
|
|
5898
|
+
const transformFormData = (formData) => ({
|
|
5899
|
+
...formData,
|
|
5900
|
+
surname: formData.surname?.trim(),
|
|
5901
|
+
name: formData.name?.trim(),
|
|
5902
|
+
middleName: formData.middleName?.trim(),
|
|
5903
|
+
});
|
|
5849
5904
|
|
|
5850
5905
|
const useSetter = (target, key) => useCallback((value) => {
|
|
5851
5906
|
const newValue = value instanceof Function ? value(target[key]) : value;
|
|
@@ -6088,8 +6143,9 @@
|
|
|
6088
6143
|
const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, productType = 'credit', data, ...rest }) => {
|
|
6089
6144
|
const [esiaError, { setTrue: setEsiaError }] = useBool(false);
|
|
6090
6145
|
const applicationFormData = useMemo(() => getApplicationFormData(productType), [productType]);
|
|
6091
|
-
const inputs = useMemo(() => (applicationFormData
|
|
6092
|
-
const
|
|
6146
|
+
const inputs = useMemo(() => getInputs(applicationFormData), [applicationFormData]);
|
|
6147
|
+
const extendedValidatorObj = useMemo(() => getExtendedValidatorObj(productType), [productType]);
|
|
6148
|
+
const formValidator = useMemo(() => getFormValidator(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
|
|
6093
6149
|
const [initialFormState, { isLoading }] = useInitApplicationLead({
|
|
6094
6150
|
inputs,
|
|
6095
6151
|
nextStepLink,
|
|
@@ -6115,6 +6171,11 @@
|
|
|
6115
6171
|
}, [ok]);
|
|
6116
6172
|
return (jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: jsxs("form", { onSubmit: onSubmit, className: "space-y-m relative", children: [isLoading ? jsx(Loader, { blur: false }) : null, applicationFormData.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$1({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), renderSubmitButton(button, isSending), esiaError ? (jsx(Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] }) }));
|
|
6117
6173
|
});
|
|
6174
|
+
const getInputs = (applicationFormData) => (applicationFormData?.flatMap((_) => _?.inputs) || []);
|
|
6175
|
+
const getExtendedValidatorObj = (productType) => ({
|
|
6176
|
+
...validatorObj,
|
|
6177
|
+
limitedBirthday: getLimitedBirthdayValidation(productType),
|
|
6178
|
+
});
|
|
6118
6179
|
|
|
6119
6180
|
const NotFound = JSX(({ title, description }) => {
|
|
6120
6181
|
const isMobileMode = useMobileMode();
|
|
@@ -8059,11 +8120,16 @@
|
|
|
8059
8120
|
return [initialState, handleSubmit, isSending];
|
|
8060
8121
|
};
|
|
8061
8122
|
|
|
8123
|
+
const PRODUCT_TYPE$2 = 'creditCard';
|
|
8124
|
+
const extendedValidatorObj$2 = {
|
|
8125
|
+
...validatorObj,
|
|
8126
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE$2),
|
|
8127
|
+
};
|
|
8062
8128
|
const CreditCardFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
8063
8129
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs || []), [sections]);
|
|
8064
8130
|
const formValidator = useCallback((formState) =>
|
|
8065
8131
|
// TODO Слишком сложно
|
|
8066
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
8132
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj$2)(formState), [inputs]);
|
|
8067
8133
|
const [initialState, onSubmit, isSending] = useCreditCardFormAPI({
|
|
8068
8134
|
step,
|
|
8069
8135
|
onNextStep,
|
|
@@ -8877,13 +8943,18 @@
|
|
|
8877
8943
|
return [initialState, handleSubmit, isSending];
|
|
8878
8944
|
};
|
|
8879
8945
|
|
|
8946
|
+
const PRODUCT_TYPE$1 = 'credit';
|
|
8947
|
+
const extendedValidatorObj$1 = {
|
|
8948
|
+
...validatorObj,
|
|
8949
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE$1),
|
|
8950
|
+
};
|
|
8880
8951
|
const CreditFormStep = JSX(({ step, sections, programsSource, onPrevStep, onNextStep, onFinish }) => {
|
|
8881
8952
|
const { programId } = useRetailFormStore();
|
|
8882
8953
|
const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
|
|
8883
8954
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
8884
8955
|
const formValidator = useCallback((formState) =>
|
|
8885
8956
|
// TODO Слишком сложно
|
|
8886
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
8957
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj$1)(formState), [inputs]);
|
|
8887
8958
|
const [initialState, onSubmit, isSending] = useCreditFormAPI({
|
|
8888
8959
|
step,
|
|
8889
8960
|
onNextStep,
|
|
@@ -9193,11 +9264,16 @@
|
|
|
9193
9264
|
return [initialState, handleSubmit, isSending];
|
|
9194
9265
|
};
|
|
9195
9266
|
|
|
9267
|
+
const PRODUCT_TYPE = 'debitCard';
|
|
9268
|
+
const extendedValidatorObj = {
|
|
9269
|
+
...validatorObj,
|
|
9270
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE),
|
|
9271
|
+
};
|
|
9196
9272
|
const DebitFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
9197
9273
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
9198
9274
|
const formValidator = useCallback((formState) =>
|
|
9199
9275
|
// TODO Слишком сложно
|
|
9200
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
9276
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
9201
9277
|
const [initialState, onSubmit, isSending] = useDebitFormAPI({
|
|
9202
9278
|
step,
|
|
9203
9279
|
onNextStep,
|
|
@@ -11554,7 +11630,7 @@
|
|
|
11554
11630
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
11555
11631
|
});
|
|
11556
11632
|
|
|
11557
|
-
const packageVersion = "0.14.
|
|
11633
|
+
const packageVersion = "0.14.822";
|
|
11558
11634
|
|
|
11559
11635
|
exports.Blocks = Blocks;
|
|
11560
11636
|
exports.ContentPage = ContentPage;
|