@redneckz/wildless-cms-uni-blocks 0.14.822 → 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.
Files changed (103) hide show
  1. package/bundle/bundle.umd.js +48 -11
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/retail/validator/validators.d.ts +2 -0
  4. package/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
  5. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
  6. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  7. package/dist/retail/components/Fields/DeliveryDateFiels.js +1 -1
  8. package/dist/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
  9. package/dist/retail/components/Fields/DulIssueDateField.js +6 -1
  10. package/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
  11. package/dist/retail/components/Fields/MiddleNameField.js +10 -1
  12. package/dist/retail/components/Fields/MiddleNameField.js.map +1 -1
  13. package/dist/retail/components/Fields/NameField.js +10 -1
  14. package/dist/retail/components/Fields/NameField.js.map +1 -1
  15. package/dist/retail/components/Fields/SurnameField.js +10 -1
  16. package/dist/retail/components/Fields/SurnameField.js.map +1 -1
  17. package/dist/retail/validator/validatorObj.js +3 -0
  18. package/dist/retail/validator/validatorObj.js.map +1 -1
  19. package/dist/retail/validator/validators.d.ts +2 -0
  20. package/dist/retail/validator/validators.js +4 -1
  21. package/dist/retail/validator/validators.js.map +1 -1
  22. package/dist/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
  23. package/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  24. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
  25. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  26. package/lib/retail/components/Fields/DeliveryDateFiels.js +1 -1
  27. package/lib/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
  28. package/lib/retail/components/Fields/DulIssueDateField.js +6 -1
  29. package/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
  30. package/lib/retail/components/Fields/MiddleNameField.js +10 -1
  31. package/lib/retail/components/Fields/MiddleNameField.js.map +1 -1
  32. package/lib/retail/components/Fields/NameField.js +10 -1
  33. package/lib/retail/components/Fields/NameField.js.map +1 -1
  34. package/lib/retail/components/Fields/SurnameField.js +10 -1
  35. package/lib/retail/components/Fields/SurnameField.js.map +1 -1
  36. package/lib/retail/validator/validatorObj.js +4 -1
  37. package/lib/retail/validator/validatorObj.js.map +1 -1
  38. package/lib/retail/validator/validators.d.ts +2 -0
  39. package/lib/retail/validator/validators.js +2 -0
  40. package/lib/retail/validator/validators.js.map +1 -1
  41. package/lib/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
  42. package/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  43. package/mobile/bundle/bundle.umd.js +48 -11
  44. package/mobile/bundle/bundle.umd.min.js +1 -1
  45. package/mobile/bundle/retail/validator/validators.d.ts +2 -0
  46. package/mobile/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
  47. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
  48. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  49. package/mobile/dist/retail/components/Fields/DeliveryDateFiels.js +1 -1
  50. package/mobile/dist/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
  51. package/mobile/dist/retail/components/Fields/DulIssueDateField.js +6 -1
  52. package/mobile/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
  53. package/mobile/dist/retail/components/Fields/MiddleNameField.js +10 -1
  54. package/mobile/dist/retail/components/Fields/MiddleNameField.js.map +1 -1
  55. package/mobile/dist/retail/components/Fields/NameField.js +10 -1
  56. package/mobile/dist/retail/components/Fields/NameField.js.map +1 -1
  57. package/mobile/dist/retail/components/Fields/SurnameField.js +10 -1
  58. package/mobile/dist/retail/components/Fields/SurnameField.js.map +1 -1
  59. package/mobile/dist/retail/validator/validatorObj.js +3 -0
  60. package/mobile/dist/retail/validator/validatorObj.js.map +1 -1
  61. package/mobile/dist/retail/validator/validators.d.ts +2 -0
  62. package/mobile/dist/retail/validator/validators.js +4 -1
  63. package/mobile/dist/retail/validator/validators.js.map +1 -1
  64. package/mobile/dist/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
  65. package/mobile/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  66. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +12 -5
  67. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  68. package/mobile/lib/retail/components/Fields/DeliveryDateFiels.js +1 -1
  69. package/mobile/lib/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
  70. package/mobile/lib/retail/components/Fields/DulIssueDateField.js +6 -1
  71. package/mobile/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
  72. package/mobile/lib/retail/components/Fields/MiddleNameField.js +10 -1
  73. package/mobile/lib/retail/components/Fields/MiddleNameField.js.map +1 -1
  74. package/mobile/lib/retail/components/Fields/NameField.js +10 -1
  75. package/mobile/lib/retail/components/Fields/NameField.js.map +1 -1
  76. package/mobile/lib/retail/components/Fields/SurnameField.js +10 -1
  77. package/mobile/lib/retail/components/Fields/SurnameField.js.map +1 -1
  78. package/mobile/lib/retail/validator/validatorObj.js +4 -1
  79. package/mobile/lib/retail/validator/validatorObj.js.map +1 -1
  80. package/mobile/lib/retail/validator/validators.d.ts +2 -0
  81. package/mobile/lib/retail/validator/validators.js +2 -0
  82. package/mobile/lib/retail/validator/validators.js.map +1 -1
  83. package/mobile/lib/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
  84. package/mobile/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  85. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +13 -5
  86. package/mobile/src/retail/components/Fields/DeliveryDateFiels.tsx +1 -1
  87. package/mobile/src/retail/components/Fields/DulIssueDateField.tsx +17 -7
  88. package/mobile/src/retail/components/Fields/MiddleNameField.tsx +23 -9
  89. package/mobile/src/retail/components/Fields/NameField.tsx +23 -9
  90. package/mobile/src/retail/components/Fields/SurnameField.tsx +23 -9
  91. package/mobile/src/retail/validator/validatorObj.ts +4 -0
  92. package/mobile/src/retail/validator/validators.ts +7 -0
  93. package/mobile/src/ui-kit/DatePicker/DatePickerControl.tsx +3 -1
  94. package/package.json +1 -1
  95. package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +13 -5
  96. package/src/retail/components/Fields/DeliveryDateFiels.tsx +1 -1
  97. package/src/retail/components/Fields/DulIssueDateField.tsx +17 -7
  98. package/src/retail/components/Fields/MiddleNameField.tsx +23 -9
  99. package/src/retail/components/Fields/NameField.tsx +23 -9
  100. package/src/retail/components/Fields/SurnameField.tsx +23 -9
  101. package/src/retail/validator/validatorObj.ts +4 -0
  102. package/src/retail/validator/validators.ts +7 -0
  103. package/src/ui-kit/DatePicker/DatePickerControl.tsx +3 -1
@@ -2429,10 +2429,12 @@
2429
2429
 
2430
2430
  const ERROR_MESSAGE = 'Некорректно заполненное поле';
2431
2431
  const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
2432
+ const retailCyrillicPattern = /^[\u0400-\u04FF-\s]+$/u;
2432
2433
  const addressDaDataValidate = (address) => Boolean(address.region && (address.city || address.locality) && address.house);
2433
2434
  const addressDaDataValidator = () => validator(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
2434
2435
  const addressOrganizationValidator = () => validator((address) => Boolean(address.fiasCode && (address.city || address.locality) && address.house))(ADDRESS_ERROR_MESSAGE);
2435
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);
2436
2438
  const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
2437
2439
  const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
2438
2440
  const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
@@ -2556,6 +2558,9 @@
2556
2558
  partInBusiness: defaultValidator(),
2557
2559
  regionRetail: defaultSelectValidator('Выберите регион'),
2558
2560
  latinSurname: defaultValidator('Укажите фамилию'),
2561
+ surname: nameRetailValidator('Укажите свою фамилию на кириллице'),
2562
+ name: nameRetailValidator('Укажите своё имя на кириллице'),
2563
+ middleName: nameRetailValidator('Укажите своё отчество на кириллице'),
2559
2564
  };
2560
2565
  const validatorObj = {
2561
2566
  ...validatorRetailObj,
@@ -4431,7 +4436,7 @@
4431
4436
  return (jsx(DaDataInputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
4432
4437
  });
4433
4438
 
4434
- 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() })));
4435
4440
 
4436
4441
  const DeliveryTimeField = JSX(({ field, input }) => {
4437
4442
  const { data } = useLeadFormData('COURIER_DELIVERY_TIME');
@@ -4444,7 +4449,11 @@
4444
4449
 
4445
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 })));
4446
4451
 
4447
- const DulIssueDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: input?.filledByEsia && isEsiaAuthorize(field, input?.name ?? '') })));
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
+ });
4448
4457
 
4449
4458
  const DulIssuedByField = JSX(({ field, input }) => {
4450
4459
  const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
@@ -4670,9 +4679,23 @@
4670
4679
  ];
4671
4680
  const MethodObtainField = JSX(({ field, input }) => (jsx(RadioButtonGroupControl, { orientation: "horizontal", items: METHODS_OF_OBTAIN, ...field(input?.name ?? '') })));
4672
4681
 
4673
- const MiddleNameField = JSX(({ field, input }) => (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 })));
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
+ });
4674
4690
 
4675
- const NameField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...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
+ });
4676
4699
 
4677
4700
  const OrganizationField = JSX(({ field, input }) => {
4678
4701
  const { data } = useLeadFormData('ORGANIZATION_TYPE');
@@ -4827,7 +4850,14 @@
4827
4850
  const SnilsField = JSX(({ field, input }) => (jsx(InputSnilsControl, { label: "\u0421\u041D\u0418\u041B\u0421", maxLength: 14, ...field(input?.name ?? ''), ...input })));
4828
4851
 
4829
4852
  const FIELD_NAME = 'surname';
4830
- const SurnameField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME), ...field(input?.name ?? ''), ...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
+ });
4831
4861
 
4832
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 })));
4833
4863
 
@@ -5738,15 +5768,16 @@
5738
5768
  }
5739
5769
  try {
5740
5770
  startSending();
5771
+ const transformedFormData = transformFormData(formData);
5741
5772
  const profileId = await createUserProfile({
5742
- profile: { phone: formatPhone(formData.phone) },
5773
+ profile: { phone: formatPhone(transformedFormData.phone) },
5743
5774
  });
5744
- if (profileId && formData?.phone) {
5775
+ if (profileId && transformedFormData?.phone) {
5745
5776
  const sendCurrentTask = async () => {
5746
5777
  await updateUserData({
5747
5778
  programId,
5748
5779
  profileId,
5749
- formData,
5780
+ formData: transformedFormData,
5750
5781
  productType,
5751
5782
  saveUserData,
5752
5783
  sendAspects,
@@ -5756,7 +5787,7 @@
5756
5787
  openEsiaLoginDialog();
5757
5788
  }
5758
5789
  else {
5759
- consentBkiDialog.open(formData.phone, profileId);
5790
+ consentBkiDialog.open(transformedFormData.phone, profileId);
5760
5791
  }
5761
5792
  };
5762
5793
  const handleSuccessVerify = async () => {
@@ -5782,7 +5813,7 @@
5782
5813
  };
5783
5814
  const acceptedConsents = getAcceptedConsents(formData, productType);
5784
5815
  verifyPhoneDialog.open({
5785
- phone: formData?.phone,
5816
+ phone: transformedFormData?.phone,
5786
5817
  consents: acceptedConsents,
5787
5818
  onSuccess: handleSuccessVerify,
5788
5819
  });
@@ -5864,6 +5895,12 @@
5864
5895
  consentAssignmentClaimsFlg: consentOthersFlg,
5865
5896
  };
5866
5897
  };
5898
+ const transformFormData = (formData) => ({
5899
+ ...formData,
5900
+ surname: formData.surname?.trim(),
5901
+ name: formData.name?.trim(),
5902
+ middleName: formData.middleName?.trim(),
5903
+ });
5867
5904
 
5868
5905
  const useSetter = (target, key) => useCallback((value) => {
5869
5906
  const newValue = value instanceof Function ? value(target[key]) : value;
@@ -11593,7 +11630,7 @@
11593
11630
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
11594
11631
  });
11595
11632
 
11596
- const packageVersion = "0.14.821";
11633
+ const packageVersion = "0.14.822";
11597
11634
 
11598
11635
  exports.Blocks = Blocks;
11599
11636
  exports.ContentPage = ContentPage;