@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
|
@@ -2437,25 +2437,29 @@
|
|
|
2437
2437
|
|
|
2438
2438
|
const ERROR_MESSAGE = 'Некорректно заполненное поле';
|
|
2439
2439
|
const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
|
|
2440
|
-
const
|
|
2441
|
-
const MAX_AGE = 75;
|
|
2442
|
-
const AGE_ERROR_MESSAGE = 'Допустимый возраст заёмщика - от 23 до 75 лет';
|
|
2440
|
+
const retailCyrillicPattern = /^[\u0400-\u04FF-\s]+$/u;
|
|
2443
2441
|
const addressDaDataValidate = (address) => Boolean(address.region && (address.city || address.locality) && address.house);
|
|
2444
2442
|
const addressDaDataValidator = () => validator(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
|
|
2445
2443
|
const addressOrganizationValidator = () => validator((address) => Boolean(address.fiasCode && (address.city || address.locality) && address.house))(ADDRESS_ERROR_MESSAGE);
|
|
2446
2444
|
const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2445
|
+
const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2447
2446
|
const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2448
2447
|
const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
|
|
2449
|
-
const limitedBirthdayValidate = (date) => {
|
|
2448
|
+
const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
|
|
2450
2449
|
const today = new Date();
|
|
2451
|
-
const minDate = new Date(today.getFullYear() -
|
|
2452
|
-
const maxDate =
|
|
2453
|
-
|
|
2450
|
+
const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
|
|
2451
|
+
const maxDate = maxAge
|
|
2452
|
+
? new Date(today.getFullYear() - maxAge, today.getMonth(), today.getDate())
|
|
2453
|
+
: null;
|
|
2454
|
+
if (!date || date > minDate) {
|
|
2455
|
+
return false;
|
|
2456
|
+
}
|
|
2457
|
+
if (maxDate && date < maxDate) {
|
|
2454
2458
|
return false;
|
|
2455
2459
|
}
|
|
2456
2460
|
return true;
|
|
2457
2461
|
};
|
|
2458
|
-
const limitedBirthdayValidator = () => validator(limitedBirthdayValidate)(
|
|
2462
|
+
const limitedBirthdayValidator = (params) => validator(limitedBirthdayValidate(params))(params.errorMessage);
|
|
2459
2463
|
const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
|
|
2460
2464
|
const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
|
|
2461
2465
|
const snilsValidate = (snils) => {
|
|
@@ -2477,6 +2481,23 @@
|
|
|
2477
2481
|
};
|
|
2478
2482
|
const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
|
|
2479
2483
|
|
|
2484
|
+
const limitedBirthdayValidationData = {
|
|
2485
|
+
credit: {
|
|
2486
|
+
minAge: 23,
|
|
2487
|
+
maxAge: 75,
|
|
2488
|
+
errorMessage: 'Допустимый возраст заёмщика - от 23 до 75 лет',
|
|
2489
|
+
},
|
|
2490
|
+
creditCard: {
|
|
2491
|
+
minAge: 21,
|
|
2492
|
+
errorMessage: 'Допустимый возраст заёмщика - от 21 года',
|
|
2493
|
+
},
|
|
2494
|
+
debitCard: {
|
|
2495
|
+
minAge: 18,
|
|
2496
|
+
errorMessage: 'Допустимый возраст - от 18 лет',
|
|
2497
|
+
},
|
|
2498
|
+
};
|
|
2499
|
+
const getLimitedBirthdayValidation = (productType) => limitedBirthdayValidator(limitedBirthdayValidationData[productType]);
|
|
2500
|
+
|
|
2480
2501
|
const validatorConsentsObj = {
|
|
2481
2502
|
processPersonalDataFlg: agreementValidator,
|
|
2482
2503
|
consentProviderFlg: agreementValidator,
|
|
@@ -2511,7 +2532,6 @@
|
|
|
2511
2532
|
addressRetail: defaultSelectValidator('Выберите адрес банка'),
|
|
2512
2533
|
addressMatch: defaultValidator(),
|
|
2513
2534
|
sex: defaultValidator('Укажите свой пол'),
|
|
2514
|
-
limitedBirthday: limitedBirthdayValidator(),
|
|
2515
2535
|
birthPlace: defaultValidator('Укажите место рождения'),
|
|
2516
2536
|
education: defaultSelectValidator('Выберите ваше образование'),
|
|
2517
2537
|
housing: defaultSelectValidator('Выберите тип жилья'),
|
|
@@ -2546,6 +2566,9 @@
|
|
|
2546
2566
|
partInBusiness: defaultValidator(),
|
|
2547
2567
|
regionRetail: defaultSelectValidator('Выберите регион'),
|
|
2548
2568
|
latinSurname: defaultValidator('Укажите фамилию'),
|
|
2569
|
+
surname: nameRetailValidator('Укажите свою фамилию на кириллице'),
|
|
2570
|
+
name: nameRetailValidator('Укажите своё имя на кириллице'),
|
|
2571
|
+
middleName: nameRetailValidator('Укажите своё отчество на кириллице'),
|
|
2549
2572
|
};
|
|
2550
2573
|
const validatorObj = {
|
|
2551
2574
|
...validatorRetailObj,
|
|
@@ -4421,7 +4444,7 @@
|
|
|
4421
4444
|
return (jsx(DaDataInputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
|
|
4422
4445
|
});
|
|
4423
4446
|
|
|
4424
|
-
const DeliveryDateFiels = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? '') })));
|
|
4447
|
+
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() })));
|
|
4425
4448
|
|
|
4426
4449
|
const DeliveryTimeField = JSX(({ field, input }) => {
|
|
4427
4450
|
const { data } = useLeadFormData('COURIER_DELIVERY_TIME');
|
|
@@ -4434,7 +4457,11 @@
|
|
|
4434
4457
|
|
|
4435
4458
|
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 })));
|
|
4436
4459
|
|
|
4437
|
-
const DulIssueDateField = JSX(({ field, input }) =>
|
|
4460
|
+
const DulIssueDateField = JSX(({ field, input }) => {
|
|
4461
|
+
const birthDate = field('limitedBirthday')?.value;
|
|
4462
|
+
const startDulIssueDate = useMemo(() => new Date(birthDate.getFullYear() + 14, birthDate.getMonth(), birthDate.getDate()), [birthDate]);
|
|
4463
|
+
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 }));
|
|
4464
|
+
});
|
|
4438
4465
|
|
|
4439
4466
|
const DulIssuedByField = JSX(({ field, input }) => {
|
|
4440
4467
|
const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
|
|
@@ -4660,9 +4687,23 @@
|
|
|
4660
4687
|
];
|
|
4661
4688
|
const MethodObtainField = JSX(({ field, input }) => (jsx(RadioButtonGroupControl, { orientation: "horizontal", items: METHODS_OF_OBTAIN, ...field(input?.name ?? '') })));
|
|
4662
4689
|
|
|
4663
|
-
const MiddleNameField = JSX(({ field, input }) =>
|
|
4690
|
+
const MiddleNameField = JSX(({ field, input }) => {
|
|
4691
|
+
const onChange = useCallback((value) => {
|
|
4692
|
+
if (retailCyrillicPattern.test(value) || value.length === 0) {
|
|
4693
|
+
field('middleName')?.onChange?.(value);
|
|
4694
|
+
}
|
|
4695
|
+
}, [field]);
|
|
4696
|
+
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 }));
|
|
4697
|
+
});
|
|
4664
4698
|
|
|
4665
|
-
const NameField = JSX(({ field, input }) =>
|
|
4699
|
+
const NameField = JSX(({ field, input }) => {
|
|
4700
|
+
const onChange = useCallback((value) => {
|
|
4701
|
+
if (retailCyrillicPattern.test(value) || value.length === 0) {
|
|
4702
|
+
field('name')?.onChange?.(value);
|
|
4703
|
+
}
|
|
4704
|
+
}, [field]);
|
|
4705
|
+
return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input, onChange: onChange }));
|
|
4706
|
+
});
|
|
4666
4707
|
|
|
4667
4708
|
const OrganizationField = JSX(({ field, input }) => {
|
|
4668
4709
|
const { data } = useLeadFormData('ORGANIZATION_TYPE');
|
|
@@ -4817,7 +4858,14 @@
|
|
|
4817
4858
|
const SnilsField = JSX(({ field, input }) => (jsx(InputSnilsControl, { label: "\u0421\u041D\u0418\u041B\u0421", maxLength: 14, ...field(input?.name ?? ''), ...input })));
|
|
4818
4859
|
|
|
4819
4860
|
const FIELD_NAME = 'surname';
|
|
4820
|
-
const SurnameField = JSX(({ field, input }) =>
|
|
4861
|
+
const SurnameField = JSX(({ field, input }) => {
|
|
4862
|
+
const onChange = useCallback((value) => {
|
|
4863
|
+
if (retailCyrillicPattern.test(value) || value.length === 0) {
|
|
4864
|
+
field('surname')?.onChange?.(value);
|
|
4865
|
+
}
|
|
4866
|
+
}, [field]);
|
|
4867
|
+
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 }));
|
|
4868
|
+
});
|
|
4821
4869
|
|
|
4822
4870
|
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 })));
|
|
4823
4871
|
|
|
@@ -5728,15 +5776,16 @@
|
|
|
5728
5776
|
}
|
|
5729
5777
|
try {
|
|
5730
5778
|
startSending();
|
|
5779
|
+
const transformedFormData = transformFormData(formData);
|
|
5731
5780
|
const profileId = await createUserProfile({
|
|
5732
|
-
profile: { phone: formatPhone(
|
|
5781
|
+
profile: { phone: formatPhone(transformedFormData.phone) },
|
|
5733
5782
|
});
|
|
5734
|
-
if (profileId &&
|
|
5783
|
+
if (profileId && transformedFormData?.phone) {
|
|
5735
5784
|
const sendCurrentTask = async () => {
|
|
5736
5785
|
await updateUserData({
|
|
5737
5786
|
programId,
|
|
5738
5787
|
profileId,
|
|
5739
|
-
formData,
|
|
5788
|
+
formData: transformedFormData,
|
|
5740
5789
|
productType,
|
|
5741
5790
|
saveUserData,
|
|
5742
5791
|
sendAspects,
|
|
@@ -5746,7 +5795,7 @@
|
|
|
5746
5795
|
openEsiaLoginDialog();
|
|
5747
5796
|
}
|
|
5748
5797
|
else {
|
|
5749
|
-
consentBkiDialog.open(
|
|
5798
|
+
consentBkiDialog.open(transformedFormData.phone, profileId);
|
|
5750
5799
|
}
|
|
5751
5800
|
};
|
|
5752
5801
|
const handleSuccessVerify = async () => {
|
|
@@ -5772,7 +5821,7 @@
|
|
|
5772
5821
|
};
|
|
5773
5822
|
const acceptedConsents = getAcceptedConsents(formData, productType);
|
|
5774
5823
|
verifyPhoneDialog.open({
|
|
5775
|
-
phone:
|
|
5824
|
+
phone: transformedFormData?.phone,
|
|
5776
5825
|
consents: acceptedConsents,
|
|
5777
5826
|
onSuccess: handleSuccessVerify,
|
|
5778
5827
|
});
|
|
@@ -5854,6 +5903,12 @@
|
|
|
5854
5903
|
consentAssignmentClaimsFlg: consentOthersFlg,
|
|
5855
5904
|
};
|
|
5856
5905
|
};
|
|
5906
|
+
const transformFormData = (formData) => ({
|
|
5907
|
+
...formData,
|
|
5908
|
+
surname: formData.surname?.trim(),
|
|
5909
|
+
name: formData.name?.trim(),
|
|
5910
|
+
middleName: formData.middleName?.trim(),
|
|
5911
|
+
});
|
|
5857
5912
|
|
|
5858
5913
|
const useSetter = (target, key) => useCallback((value) => {
|
|
5859
5914
|
const newValue = value instanceof Function ? value(target[key]) : value;
|
|
@@ -6096,8 +6151,9 @@
|
|
|
6096
6151
|
const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, productType = 'credit', data, ...rest }) => {
|
|
6097
6152
|
const [esiaError, { setTrue: setEsiaError }] = useBool(false);
|
|
6098
6153
|
const applicationFormData = useMemo(() => getApplicationFormData(productType), [productType]);
|
|
6099
|
-
const inputs = useMemo(() => (applicationFormData
|
|
6100
|
-
const
|
|
6154
|
+
const inputs = useMemo(() => getInputs(applicationFormData), [applicationFormData]);
|
|
6155
|
+
const extendedValidatorObj = useMemo(() => getExtendedValidatorObj(productType), [productType]);
|
|
6156
|
+
const formValidator = useMemo(() => getFormValidator(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
|
|
6101
6157
|
const [initialFormState, { isLoading }] = useInitApplicationLead({
|
|
6102
6158
|
inputs,
|
|
6103
6159
|
nextStepLink,
|
|
@@ -6123,6 +6179,11 @@
|
|
|
6123
6179
|
}, [ok]);
|
|
6124
6180
|
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] }) }));
|
|
6125
6181
|
});
|
|
6182
|
+
const getInputs = (applicationFormData) => (applicationFormData?.flatMap((_) => _?.inputs) || []);
|
|
6183
|
+
const getExtendedValidatorObj = (productType) => ({
|
|
6184
|
+
...validatorObj,
|
|
6185
|
+
limitedBirthday: getLimitedBirthdayValidation(productType),
|
|
6186
|
+
});
|
|
6126
6187
|
|
|
6127
6188
|
const NotFound = JSX(({ title, description }) => {
|
|
6128
6189
|
const isMobileMode = useMobileMode();
|
|
@@ -8051,11 +8112,16 @@
|
|
|
8051
8112
|
return [initialState, handleSubmit, isSending];
|
|
8052
8113
|
};
|
|
8053
8114
|
|
|
8115
|
+
const PRODUCT_TYPE$1 = 'creditCard';
|
|
8116
|
+
const extendedValidatorObj$1 = {
|
|
8117
|
+
...validatorObj,
|
|
8118
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE$1),
|
|
8119
|
+
};
|
|
8054
8120
|
const CreditCardFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
8055
8121
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs || []), [sections]);
|
|
8056
8122
|
const formValidator = useCallback((formState) =>
|
|
8057
8123
|
// TODO Слишком сложно
|
|
8058
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
8124
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj$1)(formState), [inputs]);
|
|
8059
8125
|
const [initialState, onSubmit, isSending] = useCreditCardFormAPI({
|
|
8060
8126
|
step,
|
|
8061
8127
|
onNextStep,
|
|
@@ -8791,13 +8857,18 @@
|
|
|
8791
8857
|
return [initialState, handleSubmit, isSending];
|
|
8792
8858
|
};
|
|
8793
8859
|
|
|
8860
|
+
const PRODUCT_TYPE = 'credit';
|
|
8861
|
+
const extendedValidatorObj = {
|
|
8862
|
+
...validatorObj,
|
|
8863
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE),
|
|
8864
|
+
};
|
|
8794
8865
|
const CreditFormStep = JSX(({ step, sections, programsSource, onPrevStep, onNextStep, onFinish }) => {
|
|
8795
8866
|
const { programId } = useRetailFormStore();
|
|
8796
8867
|
const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
|
|
8797
8868
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
8798
8869
|
const formValidator = useCallback((formState) =>
|
|
8799
8870
|
// TODO Слишком сложно
|
|
8800
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
8871
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
8801
8872
|
const [initialState, onSubmit, isSending] = useCreditFormAPI({
|
|
8802
8873
|
step,
|
|
8803
8874
|
onNextStep,
|
|
@@ -10847,7 +10918,7 @@
|
|
|
10847
10918
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
10848
10919
|
});
|
|
10849
10920
|
|
|
10850
|
-
const packageVersion = "0.14.
|
|
10921
|
+
const packageVersion = "0.14.822";
|
|
10851
10922
|
|
|
10852
10923
|
exports.Blocks = Blocks;
|
|
10853
10924
|
exports.ContentPage = ContentPage;
|