@redneckz/wildless-cms-uni-blocks 0.14.737 → 0.14.738

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 (1429) hide show
  1. package/bundle/EventBus/defaultEventBus.d.ts +1 -3
  2. package/bundle/bundle.umd.js +591 -589
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ApplicationForm/renderAgreementSubmit.d.ts +1 -1
  5. package/bundle/components/ApplicationLeadForm/renderAgreementSubmit.d.ts +1 -1
  6. package/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +3 -5
  7. package/bundle/components/CalculatorDeposit/renderDepositParamsForm.d.ts +1 -1
  8. package/bundle/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +10 -0
  9. package/bundle/components/CreditCardForm/CreditCardFormContent.d.ts +1 -1
  10. package/bundle/components/CreditCardForm/renderInputs.d.ts +1 -1
  11. package/bundle/components/CreditCardForm/renderStep.d.ts +1 -1
  12. package/bundle/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -3
  13. package/bundle/components/CreditForm/renderInputs.d.ts +1 -1
  14. package/bundle/components/CreditForm/renderStep.d.ts +1 -1
  15. package/bundle/components/CreditForm/useCreditFormAPI.d.ts +1 -3
  16. package/bundle/components/Depository/DepositoryFilter.d.ts +1 -1
  17. package/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +1 -1
  18. package/bundle/hooks/useAspects/handleAspects.d.ts +1 -1
  19. package/bundle/hooks/useForm/FieldOptions.d.ts +7 -0
  20. package/bundle/hooks/useForm/FormOptions.d.ts +13 -0
  21. package/bundle/hooks/useForm/shallowCompare.d.ts +1 -0
  22. package/bundle/hooks/useForm/useForm.d.ts +19 -0
  23. package/bundle/hooks/useForm/useFormValidator.d.ts +6 -0
  24. package/bundle/hooks/useForm/useNormalizedFormState.d.ts +1 -0
  25. package/bundle/services/retail/external/types.d.ts +1 -1
  26. package/bundle/services/retail/inputs.d.ts +67 -68
  27. package/bundle/ui-kit/BaseFiltration/FiltrationForm.d.ts +1 -1
  28. package/bundle/ui-kit/BaseFiltration/useFiltrationForm.d.ts +2 -2
  29. package/bundle/ui-kit/Calculator/setDefaultParamsCalc.d.ts +1 -1
  30. package/bundle/ui-kit/FormField/CustomFieldProps.d.ts +1 -1
  31. package/bundle/ui-kit/FormField/getField.d.ts +1 -1
  32. package/bundle/ui-kit/FormField/getObjectValidator.d.ts +2 -1
  33. package/bundle/ui-kit/FormField/isEsiaAuthorize.d.ts +1 -1
  34. package/bundle/ui-kit/FormField/isRenderField.d.ts +1 -1
  35. package/bundle/ui-kit/FormField/updateOrganizationFields.d.ts +1 -1
  36. package/bundle/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
  37. package/bundle/validation/objectValidator.d.ts +1 -1
  38. package/dist/EventBus/defaultEventBus.d.ts +1 -3
  39. package/dist/EventBus/defaultEventBus.js +1 -1
  40. package/dist/EventBus/defaultEventBus.js.map +1 -1
  41. package/dist/components/ApplicationForm/ApplicationForm.js +14 -34
  42. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  43. package/dist/components/ApplicationForm/renderAgreementSubmit.d.ts +1 -1
  44. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -7
  45. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  46. package/dist/components/ApplicationLeadForm/GroupedConsents.js +4 -2
  47. package/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  48. package/dist/components/ApplicationLeadForm/renderAgreementSubmit.d.ts +1 -1
  49. package/dist/components/ApplicationLeadForm/renderInputs.js +1 -0
  50. package/dist/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  51. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +3 -5
  52. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +5 -16
  53. package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  54. package/dist/components/CalculatorBonus/CalculatorBonus.js +1 -1
  55. package/dist/components/CalculatorBonus/CalculatorBonus.js.map +1 -1
  56. package/dist/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js +1 -1
  57. package/dist/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js.map +1 -1
  58. package/dist/components/CalculatorCredit/CalculatorCredit.js +3 -6
  59. package/dist/components/CalculatorCredit/CalculatorCredit.js.map +1 -1
  60. package/dist/components/CalculatorDeposit/CalculatorDeposit.js +2 -2
  61. package/dist/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  62. package/dist/components/CalculatorDeposit/renderDepositParamsForm.d.ts +1 -1
  63. package/dist/components/CalculatorRefinancing/CalculatorRefinancing.js +1 -1
  64. package/dist/components/CalculatorRefinancing/CalculatorRefinancing.js.map +1 -1
  65. package/dist/components/CardTransfer/CardTransfer.js +1 -1
  66. package/dist/components/CardTransfer/CardTransfer.js.map +1 -1
  67. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -11
  68. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  69. package/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +10 -0
  70. package/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +5 -0
  71. package/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  72. package/dist/components/CreditCardForm/CreditCardForm.js +1 -1
  73. package/dist/components/CreditCardForm/CreditCardForm.js.map +1 -1
  74. package/dist/components/CreditCardForm/CreditCardFormContent.d.ts +1 -1
  75. package/dist/components/CreditCardForm/CreditCardFormStep.js +10 -3
  76. package/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  77. package/dist/components/CreditCardForm/renderInputs.d.ts +1 -1
  78. package/dist/components/CreditCardForm/renderInputs.js +2 -1
  79. package/dist/components/CreditCardForm/renderInputs.js.map +1 -1
  80. package/dist/components/CreditCardForm/renderStep.d.ts +1 -1
  81. package/dist/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -3
  82. package/dist/components/CreditCardForm/useCreditCardFormAPI.js +1 -10
  83. package/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  84. package/dist/components/CreditForm/CreditForm.js +1 -1
  85. package/dist/components/CreditForm/CreditForm.js.map +1 -1
  86. package/dist/components/CreditForm/CreditFormStep.js +10 -3
  87. package/dist/components/CreditForm/CreditFormStep.js.map +1 -1
  88. package/dist/components/CreditForm/renderInputs.d.ts +1 -1
  89. package/dist/components/CreditForm/renderStep.d.ts +1 -1
  90. package/dist/components/CreditForm/useCreditFormAPI.d.ts +1 -3
  91. package/dist/components/CreditForm/useCreditFormAPI.js +1 -10
  92. package/dist/components/CreditForm/useCreditFormAPI.js.map +1 -1
  93. package/dist/components/Depository/Depository.js +1 -1
  94. package/dist/components/Depository/Depository.js.map +1 -1
  95. package/dist/components/Depository/DepositoryFilter.d.ts +1 -1
  96. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  97. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  98. package/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +1 -1
  99. package/dist/hooks/useAspects/handleAspects.d.ts +1 -1
  100. package/dist/hooks/useAspects/handleAspects.js +1 -1
  101. package/dist/hooks/useAspects/handleAspects.js.map +1 -1
  102. package/dist/hooks/useForm/FieldOptions.d.ts +7 -0
  103. package/dist/{components/CarouselTariffsCard/CarouselTariffsCardAction.js → hooks/useForm/FieldOptions.js} +1 -1
  104. package/dist/hooks/useForm/FieldOptions.js.map +1 -0
  105. package/dist/hooks/useForm/FormOptions.d.ts +13 -0
  106. package/{mobile/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.js → dist/hooks/useForm/FormOptions.js} +1 -1
  107. package/dist/hooks/useForm/FormOptions.js.map +1 -0
  108. package/dist/hooks/useForm/shallowCompare.d.ts +1 -0
  109. package/dist/hooks/useForm/shallowCompare.js +5 -0
  110. package/dist/hooks/useForm/shallowCompare.js.map +1 -0
  111. package/dist/hooks/useForm/useForm.d.ts +19 -0
  112. package/dist/hooks/useForm/useForm.js +54 -0
  113. package/dist/hooks/useForm/useForm.js.map +1 -0
  114. package/dist/hooks/useForm/useFormValidator.d.ts +6 -0
  115. package/dist/hooks/useForm/useFormValidator.js +15 -0
  116. package/dist/hooks/useForm/useFormValidator.js.map +1 -0
  117. package/dist/hooks/useForm/useNormalizedFormState.d.ts +1 -0
  118. package/dist/hooks/useForm/useNormalizedFormState.js +26 -0
  119. package/dist/hooks/useForm/useNormalizedFormState.js.map +1 -0
  120. package/dist/services/retail/external/types.d.ts +1 -1
  121. package/dist/services/retail/inputs.d.ts +67 -68
  122. package/dist/services/retail/inputs.js +67 -68
  123. package/dist/services/retail/inputs.js.map +1 -1
  124. package/dist/ui-kit/BaseFiltration/FiltrationForm.d.ts +1 -1
  125. package/dist/ui-kit/BaseFiltration/useFiltrationForm.d.ts +2 -2
  126. package/dist/ui-kit/BaseFiltration/useFiltrationForm.js +3 -3
  127. package/dist/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -1
  128. package/dist/ui-kit/Calculator/setDefaultParamsCalc.d.ts +1 -1
  129. package/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -1
  130. package/dist/ui-kit/FormField/Fields/AcquiringField.js +1 -3
  131. package/dist/ui-kit/FormField/Fields/AcquiringField.js.map +1 -1
  132. package/dist/ui-kit/FormField/Fields/AddressBranchField.js +1 -3
  133. package/dist/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  134. package/dist/ui-kit/FormField/Fields/AddressFactField.js +1 -3
  135. package/dist/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  136. package/dist/ui-kit/FormField/Fields/AddressField.js +1 -3
  137. package/dist/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  138. package/dist/ui-kit/FormField/Fields/AddressMatchField.js +1 -3
  139. package/dist/ui-kit/FormField/Fields/AddressMatchField.js.map +1 -1
  140. package/dist/ui-kit/FormField/Fields/AddressRetailField.js +3 -6
  141. package/dist/ui-kit/FormField/Fields/AddressRetailField.js.map +1 -1
  142. package/dist/ui-kit/FormField/Fields/AmountField.js +1 -1
  143. package/dist/ui-kit/FormField/Fields/AmountField.js.map +1 -1
  144. package/dist/ui-kit/FormField/Fields/AnnualRevenueField.js +1 -3
  145. package/dist/ui-kit/FormField/Fields/AnnualRevenueField.js.map +1 -1
  146. package/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js +1 -3
  147. package/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -1
  148. package/dist/ui-kit/FormField/Fields/BankEmployeeCodeField.js +1 -3
  149. package/dist/ui-kit/FormField/Fields/BankEmployeeCodeField.js.map +1 -1
  150. package/dist/ui-kit/FormField/Fields/BankEmpoleeField.js +1 -1
  151. package/dist/ui-kit/FormField/Fields/BankEmpoleeField.js.map +1 -1
  152. package/dist/ui-kit/FormField/Fields/BankruptcyFlgField.js +1 -3
  153. package/dist/ui-kit/FormField/Fields/BankruptcyFlgField.js.map +1 -1
  154. package/dist/ui-kit/FormField/Fields/BeginDateField.js +1 -3
  155. package/dist/ui-kit/FormField/Fields/BeginDateField.js.map +1 -1
  156. package/dist/ui-kit/FormField/Fields/BirthPlaceField.js +1 -3
  157. package/dist/ui-kit/FormField/Fields/BirthPlaceField.js.map +1 -1
  158. package/dist/ui-kit/FormField/Fields/BirthdayField.js +1 -3
  159. package/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  160. package/dist/ui-kit/FormField/Fields/ChildrenField.js +1 -3
  161. package/dist/ui-kit/FormField/Fields/ChildrenField.js.map +1 -1
  162. package/dist/ui-kit/FormField/Fields/CodeWordField.js +1 -3
  163. package/dist/ui-kit/FormField/Fields/CodeWordField.js.map +1 -1
  164. package/dist/ui-kit/FormField/Fields/CollectionCountField.js +1 -3
  165. package/dist/ui-kit/FormField/Fields/CollectionCountField.js.map +1 -1
  166. package/dist/ui-kit/FormField/Fields/CommentField.js +1 -3
  167. package/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  168. package/dist/ui-kit/FormField/Fields/ConsentField.js +1 -3
  169. package/dist/ui-kit/FormField/Fields/ConsentField.js.map +1 -1
  170. package/dist/ui-kit/FormField/Fields/CurrencyField.js +2 -7
  171. package/dist/ui-kit/FormField/Fields/CurrencyField.js.map +1 -1
  172. package/dist/ui-kit/FormField/Fields/DeliveryDateFiels.js +1 -3
  173. package/dist/ui-kit/FormField/Fields/DeliveryDateFiels.js.map +1 -1
  174. package/dist/ui-kit/FormField/Fields/DependentsField.js +1 -3
  175. package/dist/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  176. package/dist/ui-kit/FormField/Fields/DesiredMeetingDateField.js +1 -3
  177. package/dist/ui-kit/FormField/Fields/DesiredMeetingDateField.js.map +1 -1
  178. package/dist/ui-kit/FormField/Fields/DisablePeopleFlgField.js +1 -3
  179. package/dist/ui-kit/FormField/Fields/DisablePeopleFlgField.js.map +1 -1
  180. package/dist/ui-kit/FormField/Fields/DulIssueDateField.js +1 -4
  181. package/dist/ui-kit/FormField/Fields/DulIssueDateField.js.map +1 -1
  182. package/dist/ui-kit/FormField/Fields/DulIssuedByField.js +1 -4
  183. package/dist/ui-kit/FormField/Fields/DulIssuedByField.js.map +1 -1
  184. package/dist/ui-kit/FormField/Fields/DulNumberField.js +1 -4
  185. package/dist/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  186. package/dist/ui-kit/FormField/Fields/DulSerieField.js +1 -4
  187. package/dist/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  188. package/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +1 -4
  189. package/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  190. package/dist/ui-kit/FormField/Fields/EmailField.js +1 -4
  191. package/dist/ui-kit/FormField/Fields/EmailField.js.map +1 -1
  192. package/dist/ui-kit/FormField/Fields/ExpensesField.js +1 -3
  193. package/dist/ui-kit/FormField/Fields/ExpensesField.js.map +1 -1
  194. package/dist/ui-kit/FormField/Fields/Experience5YearsField.js +2 -5
  195. package/dist/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  196. package/dist/ui-kit/FormField/Fields/FamilyMembersField.js +4 -4
  197. package/dist/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  198. package/dist/ui-kit/FormField/Fields/FeedbackMethodField.js +1 -3
  199. package/dist/ui-kit/FormField/Fields/FeedbackMethodField.js.map +1 -1
  200. package/dist/ui-kit/FormField/Fields/FullNameField.js +1 -3
  201. package/dist/ui-kit/FormField/Fields/FullNameField.js.map +1 -1
  202. package/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js +1 -3
  203. package/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  204. package/dist/ui-kit/FormField/Fields/InnField.js +1 -3
  205. package/dist/ui-kit/FormField/Fields/InnField.js.map +1 -1
  206. package/dist/ui-kit/FormField/Fields/IsClientField.js +1 -1
  207. package/dist/ui-kit/FormField/Fields/IsClientField.js.map +1 -1
  208. package/dist/ui-kit/FormField/Fields/JobsNumberField.js +1 -3
  209. package/dist/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  210. package/dist/ui-kit/FormField/Fields/LastJobExperienceField.js +1 -3
  211. package/dist/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  212. package/dist/ui-kit/FormField/Fields/LegalEntityNameField.js +1 -3
  213. package/dist/ui-kit/FormField/Fields/LegalEntityNameField.js.map +1 -1
  214. package/dist/ui-kit/FormField/Fields/LegalFormField.js +1 -3
  215. package/dist/ui-kit/FormField/Fields/LegalFormField.js.map +1 -1
  216. package/dist/ui-kit/FormField/Fields/LimitedBirthdayField.js +1 -4
  217. package/dist/ui-kit/FormField/Fields/LimitedBirthdayField.js.map +1 -1
  218. package/dist/ui-kit/FormField/Fields/LocalitiesField.js +4 -8
  219. package/dist/ui-kit/FormField/Fields/LocalitiesField.js.map +1 -1
  220. package/dist/ui-kit/FormField/Fields/MandatoryPaymentsField.js +1 -3
  221. package/dist/ui-kit/FormField/Fields/MandatoryPaymentsField.js.map +1 -1
  222. package/dist/ui-kit/FormField/Fields/MethodObtainField.js +1 -3
  223. package/dist/ui-kit/FormField/Fields/MethodObtainField.js.map +1 -1
  224. package/dist/ui-kit/FormField/Fields/MiddleNameField.js +1 -4
  225. package/dist/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  226. package/dist/ui-kit/FormField/Fields/NameField.js +1 -3
  227. package/dist/ui-kit/FormField/Fields/NameField.js.map +1 -1
  228. package/dist/ui-kit/FormField/Fields/OnlineCheckoutField.js +1 -1
  229. package/dist/ui-kit/FormField/Fields/OnlineCheckoutField.js.map +1 -1
  230. package/dist/ui-kit/FormField/Fields/OrganizationNameField.js +1 -3
  231. package/dist/ui-kit/FormField/Fields/OrganizationNameField.js.map +1 -1
  232. package/dist/ui-kit/FormField/Fields/OtherIncomeField.js +1 -3
  233. package/dist/ui-kit/FormField/Fields/OtherIncomeField.js.map +1 -1
  234. package/dist/ui-kit/FormField/Fields/PartInBusinessField.js +2 -5
  235. package/dist/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -1
  236. package/dist/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js +1 -3
  237. package/dist/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js.map +1 -1
  238. package/dist/ui-kit/FormField/Fields/PartnerCommentsField.js +1 -6
  239. package/dist/ui-kit/FormField/Fields/PartnerCommentsField.js.map +1 -1
  240. package/dist/ui-kit/FormField/Fields/PaymentSystemField.js +13 -13
  241. package/dist/ui-kit/FormField/Fields/PaymentSystemField.js.map +1 -1
  242. package/dist/ui-kit/FormField/Fields/PhoneField.js +1 -3
  243. package/dist/ui-kit/FormField/Fields/PhoneField.js.map +1 -1
  244. package/dist/ui-kit/FormField/Fields/ProductField.js +1 -3
  245. package/dist/ui-kit/FormField/Fields/ProductField.js.map +1 -1
  246. package/dist/ui-kit/FormField/Fields/RegionField.js +1 -3
  247. package/dist/ui-kit/FormField/Fields/RegionField.js.map +1 -1
  248. package/dist/ui-kit/FormField/Fields/RegionPremiumField.js +1 -3
  249. package/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  250. package/dist/ui-kit/FormField/Fields/RegionRetailField.js +1 -3
  251. package/dist/ui-kit/FormField/Fields/RegionRetailField.js.map +1 -1
  252. package/dist/ui-kit/FormField/Fields/RetirementIncomeField.js +1 -3
  253. package/dist/ui-kit/FormField/Fields/RetirementIncomeField.js.map +1 -1
  254. package/dist/ui-kit/FormField/Fields/ServiceDirectionField.js +1 -3
  255. package/dist/ui-kit/FormField/Fields/ServiceDirectionField.js.map +1 -1
  256. package/dist/ui-kit/FormField/Fields/SexField.js +1 -3
  257. package/dist/ui-kit/FormField/Fields/SexField.js.map +1 -1
  258. package/dist/ui-kit/FormField/Fields/ShareholderFlgField.js +1 -3
  259. package/dist/ui-kit/FormField/Fields/ShareholderFlgField.js.map +1 -1
  260. package/dist/ui-kit/FormField/Fields/SnilsField.js +1 -3
  261. package/dist/ui-kit/FormField/Fields/SnilsField.js.map +1 -1
  262. package/dist/ui-kit/FormField/Fields/SurnameField.js +1 -3
  263. package/dist/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  264. package/dist/ui-kit/FormField/Fields/TotalIncomeField.js +1 -3
  265. package/dist/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -1
  266. package/dist/ui-kit/FormField/Fields/UltraPremiumField.js +1 -3
  267. package/dist/ui-kit/FormField/Fields/UltraPremiumField.js.map +1 -1
  268. package/dist/ui-kit/FormField/Fields/VedField.js +7 -8
  269. package/dist/ui-kit/FormField/Fields/VedField.js.map +1 -1
  270. package/dist/ui-kit/FormField/Fields/WagesField.js +1 -3
  271. package/dist/ui-kit/FormField/Fields/WagesField.js.map +1 -1
  272. package/dist/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js +1 -4
  273. package/dist/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js.map +1 -1
  274. package/dist/ui-kit/FormField/SelectField.js +2 -4
  275. package/dist/ui-kit/FormField/SelectField.js.map +1 -1
  276. package/dist/ui-kit/FormField/getField.d.ts +1 -1
  277. package/dist/ui-kit/FormField/getField.js +28 -28
  278. package/dist/ui-kit/FormField/getField.js.map +1 -1
  279. package/dist/ui-kit/FormField/getObjectValidator.d.ts +2 -1
  280. package/dist/ui-kit/FormField/getObjectValidator.js +18 -6
  281. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  282. package/dist/ui-kit/FormField/isEsiaAuthorize.d.ts +1 -1
  283. package/dist/ui-kit/FormField/isRenderField.d.ts +1 -1
  284. package/dist/ui-kit/FormField/updateOrganizationFields.d.ts +1 -1
  285. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  286. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  287. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +1 -1
  288. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -1
  289. package/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
  290. package/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +3 -4
  291. package/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  292. package/dist/utils/getRequiredLabel.js +1 -0
  293. package/dist/utils/getRequiredLabel.js.map +1 -1
  294. package/dist/validation/objectValidator.d.ts +1 -1
  295. package/dist/validation/objectValidator.js +1 -1
  296. package/dist/validation/objectValidator.js.map +1 -1
  297. package/lib/EventBus/defaultEventBus.d.ts +1 -3
  298. package/lib/EventBus/defaultEventBus.js +1 -1
  299. package/lib/EventBus/defaultEventBus.js.map +1 -1
  300. package/lib/components/ApplicationForm/ApplicationForm.js +16 -36
  301. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  302. package/lib/components/ApplicationForm/renderAgreementSubmit.d.ts +1 -1
  303. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -7
  304. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  305. package/lib/components/ApplicationLeadForm/GroupedConsents.js +4 -2
  306. package/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  307. package/lib/components/ApplicationLeadForm/renderAgreementSubmit.d.ts +1 -1
  308. package/lib/components/ApplicationLeadForm/renderInputs.js +1 -0
  309. package/lib/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  310. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +3 -5
  311. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +5 -16
  312. package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  313. package/lib/components/CalculatorBonus/CalculatorBonus.js +1 -1
  314. package/lib/components/CalculatorBonus/CalculatorBonus.js.map +1 -1
  315. package/lib/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js +1 -1
  316. package/lib/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js.map +1 -1
  317. package/lib/components/CalculatorCredit/CalculatorCredit.js +3 -6
  318. package/lib/components/CalculatorCredit/CalculatorCredit.js.map +1 -1
  319. package/lib/components/CalculatorDeposit/CalculatorDeposit.js +2 -2
  320. package/lib/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  321. package/lib/components/CalculatorDeposit/renderDepositParamsForm.d.ts +1 -1
  322. package/lib/components/CalculatorRefinancing/CalculatorRefinancing.js +1 -1
  323. package/lib/components/CalculatorRefinancing/CalculatorRefinancing.js.map +1 -1
  324. package/lib/components/CardTransfer/CardTransfer.js +1 -1
  325. package/lib/components/CardTransfer/CardTransfer.js.map +1 -1
  326. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +13 -12
  327. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  328. package/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +10 -0
  329. package/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +3 -0
  330. package/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  331. package/lib/components/CreditCardForm/CreditCardForm.js +2 -2
  332. package/lib/components/CreditCardForm/CreditCardForm.js.map +1 -1
  333. package/lib/components/CreditCardForm/CreditCardFormContent.d.ts +1 -1
  334. package/lib/components/CreditCardForm/CreditCardFormStep.js +11 -4
  335. package/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  336. package/lib/components/CreditCardForm/renderInputs.d.ts +1 -1
  337. package/lib/components/CreditCardForm/renderInputs.js +2 -1
  338. package/lib/components/CreditCardForm/renderInputs.js.map +1 -1
  339. package/lib/components/CreditCardForm/renderStep.d.ts +1 -1
  340. package/lib/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -3
  341. package/lib/components/CreditCardForm/useCreditCardFormAPI.js +1 -10
  342. package/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  343. package/lib/components/CreditForm/CreditForm.js +2 -2
  344. package/lib/components/CreditForm/CreditForm.js.map +1 -1
  345. package/lib/components/CreditForm/CreditFormStep.js +11 -4
  346. package/lib/components/CreditForm/CreditFormStep.js.map +1 -1
  347. package/lib/components/CreditForm/renderInputs.d.ts +1 -1
  348. package/lib/components/CreditForm/renderStep.d.ts +1 -1
  349. package/lib/components/CreditForm/useCreditFormAPI.d.ts +1 -3
  350. package/lib/components/CreditForm/useCreditFormAPI.js +1 -10
  351. package/lib/components/CreditForm/useCreditFormAPI.js.map +1 -1
  352. package/lib/components/Depository/Depository.js +1 -1
  353. package/lib/components/Depository/Depository.js.map +1 -1
  354. package/lib/components/Depository/DepositoryFilter.d.ts +1 -1
  355. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  356. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  357. package/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +1 -1
  358. package/lib/hooks/useAspects/handleAspects.d.ts +1 -1
  359. package/lib/hooks/useAspects/handleAspects.js +1 -1
  360. package/lib/hooks/useAspects/handleAspects.js.map +1 -1
  361. package/lib/hooks/useForm/FieldOptions.d.ts +7 -0
  362. package/lib/hooks/useForm/FieldOptions.js +2 -0
  363. package/lib/hooks/useForm/FieldOptions.js.map +1 -0
  364. package/lib/hooks/useForm/FormOptions.d.ts +13 -0
  365. package/lib/hooks/useForm/FormOptions.js +2 -0
  366. package/lib/hooks/useForm/FormOptions.js.map +1 -0
  367. package/lib/hooks/useForm/shallowCompare.d.ts +1 -0
  368. package/lib/hooks/useForm/shallowCompare.js +2 -0
  369. package/lib/hooks/useForm/shallowCompare.js.map +1 -0
  370. package/lib/hooks/useForm/useForm.d.ts +19 -0
  371. package/lib/hooks/useForm/useForm.js +51 -0
  372. package/lib/hooks/useForm/useForm.js.map +1 -0
  373. package/lib/hooks/useForm/useFormValidator.d.ts +6 -0
  374. package/lib/hooks/useForm/useFormValidator.js +12 -0
  375. package/lib/hooks/useForm/useFormValidator.js.map +1 -0
  376. package/lib/hooks/useForm/useNormalizedFormState.d.ts +1 -0
  377. package/lib/hooks/useForm/useNormalizedFormState.js +23 -0
  378. package/lib/hooks/useForm/useNormalizedFormState.js.map +1 -0
  379. package/lib/services/retail/external/types.d.ts +1 -1
  380. package/lib/services/retail/inputs.d.ts +67 -68
  381. package/lib/services/retail/inputs.js +67 -68
  382. package/lib/services/retail/inputs.js.map +1 -1
  383. package/lib/ui-kit/BaseFiltration/FiltrationForm.d.ts +1 -1
  384. package/lib/ui-kit/BaseFiltration/useFiltrationForm.d.ts +2 -2
  385. package/lib/ui-kit/BaseFiltration/useFiltrationForm.js +3 -3
  386. package/lib/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -1
  387. package/lib/ui-kit/Calculator/setDefaultParamsCalc.d.ts +1 -1
  388. package/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -1
  389. package/lib/ui-kit/FormField/Fields/AcquiringField.js +1 -3
  390. package/lib/ui-kit/FormField/Fields/AcquiringField.js.map +1 -1
  391. package/lib/ui-kit/FormField/Fields/AddressBranchField.js +1 -3
  392. package/lib/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  393. package/lib/ui-kit/FormField/Fields/AddressFactField.js +1 -3
  394. package/lib/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  395. package/lib/ui-kit/FormField/Fields/AddressField.js +1 -3
  396. package/lib/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  397. package/lib/ui-kit/FormField/Fields/AddressMatchField.js +1 -3
  398. package/lib/ui-kit/FormField/Fields/AddressMatchField.js.map +1 -1
  399. package/lib/ui-kit/FormField/Fields/AddressRetailField.js +3 -6
  400. package/lib/ui-kit/FormField/Fields/AddressRetailField.js.map +1 -1
  401. package/lib/ui-kit/FormField/Fields/AmountField.js +1 -1
  402. package/lib/ui-kit/FormField/Fields/AmountField.js.map +1 -1
  403. package/lib/ui-kit/FormField/Fields/AnnualRevenueField.js +1 -3
  404. package/lib/ui-kit/FormField/Fields/AnnualRevenueField.js.map +1 -1
  405. package/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js +1 -3
  406. package/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -1
  407. package/lib/ui-kit/FormField/Fields/BankEmployeeCodeField.js +1 -3
  408. package/lib/ui-kit/FormField/Fields/BankEmployeeCodeField.js.map +1 -1
  409. package/lib/ui-kit/FormField/Fields/BankEmpoleeField.js +1 -1
  410. package/lib/ui-kit/FormField/Fields/BankEmpoleeField.js.map +1 -1
  411. package/lib/ui-kit/FormField/Fields/BankruptcyFlgField.js +1 -3
  412. package/lib/ui-kit/FormField/Fields/BankruptcyFlgField.js.map +1 -1
  413. package/lib/ui-kit/FormField/Fields/BeginDateField.js +1 -3
  414. package/lib/ui-kit/FormField/Fields/BeginDateField.js.map +1 -1
  415. package/lib/ui-kit/FormField/Fields/BirthPlaceField.js +1 -3
  416. package/lib/ui-kit/FormField/Fields/BirthPlaceField.js.map +1 -1
  417. package/lib/ui-kit/FormField/Fields/BirthdayField.js +1 -3
  418. package/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  419. package/lib/ui-kit/FormField/Fields/ChildrenField.js +1 -3
  420. package/lib/ui-kit/FormField/Fields/ChildrenField.js.map +1 -1
  421. package/lib/ui-kit/FormField/Fields/CodeWordField.js +1 -3
  422. package/lib/ui-kit/FormField/Fields/CodeWordField.js.map +1 -1
  423. package/lib/ui-kit/FormField/Fields/CollectionCountField.js +1 -3
  424. package/lib/ui-kit/FormField/Fields/CollectionCountField.js.map +1 -1
  425. package/lib/ui-kit/FormField/Fields/CommentField.js +1 -3
  426. package/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  427. package/lib/ui-kit/FormField/Fields/ConsentField.js +1 -3
  428. package/lib/ui-kit/FormField/Fields/ConsentField.js.map +1 -1
  429. package/lib/ui-kit/FormField/Fields/CurrencyField.js +2 -7
  430. package/lib/ui-kit/FormField/Fields/CurrencyField.js.map +1 -1
  431. package/lib/ui-kit/FormField/Fields/DeliveryDateFiels.js +1 -3
  432. package/lib/ui-kit/FormField/Fields/DeliveryDateFiels.js.map +1 -1
  433. package/lib/ui-kit/FormField/Fields/DependentsField.js +1 -3
  434. package/lib/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  435. package/lib/ui-kit/FormField/Fields/DesiredMeetingDateField.js +1 -3
  436. package/lib/ui-kit/FormField/Fields/DesiredMeetingDateField.js.map +1 -1
  437. package/lib/ui-kit/FormField/Fields/DisablePeopleFlgField.js +1 -3
  438. package/lib/ui-kit/FormField/Fields/DisablePeopleFlgField.js.map +1 -1
  439. package/lib/ui-kit/FormField/Fields/DulIssueDateField.js +1 -4
  440. package/lib/ui-kit/FormField/Fields/DulIssueDateField.js.map +1 -1
  441. package/lib/ui-kit/FormField/Fields/DulIssuedByField.js +1 -4
  442. package/lib/ui-kit/FormField/Fields/DulIssuedByField.js.map +1 -1
  443. package/lib/ui-kit/FormField/Fields/DulNumberField.js +1 -4
  444. package/lib/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  445. package/lib/ui-kit/FormField/Fields/DulSerieField.js +1 -4
  446. package/lib/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  447. package/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +1 -4
  448. package/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  449. package/lib/ui-kit/FormField/Fields/EmailField.js +1 -4
  450. package/lib/ui-kit/FormField/Fields/EmailField.js.map +1 -1
  451. package/lib/ui-kit/FormField/Fields/ExpensesField.js +1 -3
  452. package/lib/ui-kit/FormField/Fields/ExpensesField.js.map +1 -1
  453. package/lib/ui-kit/FormField/Fields/Experience5YearsField.js +2 -5
  454. package/lib/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  455. package/lib/ui-kit/FormField/Fields/FamilyMembersField.js +4 -4
  456. package/lib/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  457. package/lib/ui-kit/FormField/Fields/FeedbackMethodField.js +1 -3
  458. package/lib/ui-kit/FormField/Fields/FeedbackMethodField.js.map +1 -1
  459. package/lib/ui-kit/FormField/Fields/FullNameField.js +1 -3
  460. package/lib/ui-kit/FormField/Fields/FullNameField.js.map +1 -1
  461. package/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js +1 -3
  462. package/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  463. package/lib/ui-kit/FormField/Fields/InnField.js +1 -3
  464. package/lib/ui-kit/FormField/Fields/InnField.js.map +1 -1
  465. package/lib/ui-kit/FormField/Fields/IsClientField.js +1 -1
  466. package/lib/ui-kit/FormField/Fields/IsClientField.js.map +1 -1
  467. package/lib/ui-kit/FormField/Fields/JobsNumberField.js +1 -3
  468. package/lib/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  469. package/lib/ui-kit/FormField/Fields/LastJobExperienceField.js +1 -3
  470. package/lib/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  471. package/lib/ui-kit/FormField/Fields/LegalEntityNameField.js +1 -3
  472. package/lib/ui-kit/FormField/Fields/LegalEntityNameField.js.map +1 -1
  473. package/lib/ui-kit/FormField/Fields/LegalFormField.js +1 -3
  474. package/lib/ui-kit/FormField/Fields/LegalFormField.js.map +1 -1
  475. package/lib/ui-kit/FormField/Fields/LimitedBirthdayField.js +1 -4
  476. package/lib/ui-kit/FormField/Fields/LimitedBirthdayField.js.map +1 -1
  477. package/lib/ui-kit/FormField/Fields/LocalitiesField.js +5 -9
  478. package/lib/ui-kit/FormField/Fields/LocalitiesField.js.map +1 -1
  479. package/lib/ui-kit/FormField/Fields/MandatoryPaymentsField.js +1 -3
  480. package/lib/ui-kit/FormField/Fields/MandatoryPaymentsField.js.map +1 -1
  481. package/lib/ui-kit/FormField/Fields/MethodObtainField.js +1 -3
  482. package/lib/ui-kit/FormField/Fields/MethodObtainField.js.map +1 -1
  483. package/lib/ui-kit/FormField/Fields/MiddleNameField.js +1 -4
  484. package/lib/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  485. package/lib/ui-kit/FormField/Fields/NameField.js +1 -3
  486. package/lib/ui-kit/FormField/Fields/NameField.js.map +1 -1
  487. package/lib/ui-kit/FormField/Fields/OnlineCheckoutField.js +1 -1
  488. package/lib/ui-kit/FormField/Fields/OnlineCheckoutField.js.map +1 -1
  489. package/lib/ui-kit/FormField/Fields/OrganizationNameField.js +1 -3
  490. package/lib/ui-kit/FormField/Fields/OrganizationNameField.js.map +1 -1
  491. package/lib/ui-kit/FormField/Fields/OtherIncomeField.js +1 -3
  492. package/lib/ui-kit/FormField/Fields/OtherIncomeField.js.map +1 -1
  493. package/lib/ui-kit/FormField/Fields/PartInBusinessField.js +2 -5
  494. package/lib/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -1
  495. package/lib/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js +1 -3
  496. package/lib/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js.map +1 -1
  497. package/lib/ui-kit/FormField/Fields/PartnerCommentsField.js +1 -6
  498. package/lib/ui-kit/FormField/Fields/PartnerCommentsField.js.map +1 -1
  499. package/lib/ui-kit/FormField/Fields/PaymentSystemField.js +14 -14
  500. package/lib/ui-kit/FormField/Fields/PaymentSystemField.js.map +1 -1
  501. package/lib/ui-kit/FormField/Fields/PhoneField.js +1 -3
  502. package/lib/ui-kit/FormField/Fields/PhoneField.js.map +1 -1
  503. package/lib/ui-kit/FormField/Fields/ProductField.js +1 -3
  504. package/lib/ui-kit/FormField/Fields/ProductField.js.map +1 -1
  505. package/lib/ui-kit/FormField/Fields/RegionField.js +1 -3
  506. package/lib/ui-kit/FormField/Fields/RegionField.js.map +1 -1
  507. package/lib/ui-kit/FormField/Fields/RegionPremiumField.js +1 -3
  508. package/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  509. package/lib/ui-kit/FormField/Fields/RegionRetailField.js +1 -3
  510. package/lib/ui-kit/FormField/Fields/RegionRetailField.js.map +1 -1
  511. package/lib/ui-kit/FormField/Fields/RetirementIncomeField.js +1 -3
  512. package/lib/ui-kit/FormField/Fields/RetirementIncomeField.js.map +1 -1
  513. package/lib/ui-kit/FormField/Fields/ServiceDirectionField.js +1 -3
  514. package/lib/ui-kit/FormField/Fields/ServiceDirectionField.js.map +1 -1
  515. package/lib/ui-kit/FormField/Fields/SexField.js +1 -3
  516. package/lib/ui-kit/FormField/Fields/SexField.js.map +1 -1
  517. package/lib/ui-kit/FormField/Fields/ShareholderFlgField.js +1 -3
  518. package/lib/ui-kit/FormField/Fields/ShareholderFlgField.js.map +1 -1
  519. package/lib/ui-kit/FormField/Fields/SnilsField.js +1 -3
  520. package/lib/ui-kit/FormField/Fields/SnilsField.js.map +1 -1
  521. package/lib/ui-kit/FormField/Fields/SurnameField.js +1 -3
  522. package/lib/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  523. package/lib/ui-kit/FormField/Fields/TotalIncomeField.js +1 -3
  524. package/lib/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -1
  525. package/lib/ui-kit/FormField/Fields/UltraPremiumField.js +1 -3
  526. package/lib/ui-kit/FormField/Fields/UltraPremiumField.js.map +1 -1
  527. package/lib/ui-kit/FormField/Fields/VedField.js +8 -9
  528. package/lib/ui-kit/FormField/Fields/VedField.js.map +1 -1
  529. package/lib/ui-kit/FormField/Fields/WagesField.js +1 -3
  530. package/lib/ui-kit/FormField/Fields/WagesField.js.map +1 -1
  531. package/lib/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js +1 -4
  532. package/lib/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js.map +1 -1
  533. package/lib/ui-kit/FormField/SelectField.js +2 -4
  534. package/lib/ui-kit/FormField/SelectField.js.map +1 -1
  535. package/lib/ui-kit/FormField/getField.d.ts +1 -1
  536. package/lib/ui-kit/FormField/getField.js +28 -28
  537. package/lib/ui-kit/FormField/getField.js.map +1 -1
  538. package/lib/ui-kit/FormField/getObjectValidator.d.ts +2 -1
  539. package/lib/ui-kit/FormField/getObjectValidator.js +16 -4
  540. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  541. package/lib/ui-kit/FormField/isEsiaAuthorize.d.ts +1 -1
  542. package/lib/ui-kit/FormField/isRenderField.d.ts +1 -1
  543. package/lib/ui-kit/FormField/updateOrganizationFields.d.ts +1 -1
  544. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  545. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  546. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +1 -1
  547. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -1
  548. package/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
  549. package/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +3 -4
  550. package/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  551. package/lib/utils/getRequiredLabel.js +1 -0
  552. package/lib/utils/getRequiredLabel.js.map +1 -1
  553. package/lib/validation/objectValidator.d.ts +1 -1
  554. package/lib/validation/objectValidator.js +1 -1
  555. package/lib/validation/objectValidator.js.map +1 -1
  556. package/mobile/bundle/EventBus/defaultEventBus.d.ts +1 -3
  557. package/mobile/bundle/bundle.umd.js +591 -589
  558. package/mobile/bundle/bundle.umd.min.js +1 -1
  559. package/mobile/bundle/components/ApplicationForm/renderAgreementSubmit.d.ts +1 -1
  560. package/mobile/bundle/components/ApplicationLeadForm/renderAgreementSubmit.d.ts +1 -1
  561. package/mobile/bundle/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +3 -5
  562. package/mobile/bundle/components/CalculatorDeposit/renderDepositParamsForm.d.ts +1 -1
  563. package/mobile/bundle/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +10 -0
  564. package/mobile/bundle/components/CreditCardForm/CreditCardFormContent.d.ts +1 -1
  565. package/mobile/bundle/components/CreditCardForm/renderInputs.d.ts +1 -1
  566. package/mobile/bundle/components/CreditCardForm/renderStep.d.ts +1 -1
  567. package/mobile/bundle/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -3
  568. package/mobile/bundle/components/CreditForm/renderInputs.d.ts +1 -1
  569. package/mobile/bundle/components/CreditForm/renderStep.d.ts +1 -1
  570. package/mobile/bundle/components/CreditForm/useCreditFormAPI.d.ts +1 -3
  571. package/mobile/bundle/components/Depository/DepositoryFilter.d.ts +1 -1
  572. package/mobile/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +1 -1
  573. package/mobile/bundle/hooks/useAspects/handleAspects.d.ts +1 -1
  574. package/mobile/bundle/hooks/useForm/FieldOptions.d.ts +7 -0
  575. package/mobile/bundle/hooks/useForm/FormOptions.d.ts +13 -0
  576. package/mobile/bundle/hooks/useForm/shallowCompare.d.ts +1 -0
  577. package/mobile/bundle/hooks/useForm/useForm.d.ts +19 -0
  578. package/mobile/bundle/hooks/useForm/useFormValidator.d.ts +6 -0
  579. package/mobile/bundle/hooks/useForm/useNormalizedFormState.d.ts +1 -0
  580. package/mobile/bundle/services/retail/external/types.d.ts +1 -1
  581. package/mobile/bundle/services/retail/inputs.d.ts +67 -68
  582. package/mobile/bundle/ui-kit/BaseFiltration/FiltrationForm.d.ts +1 -1
  583. package/mobile/bundle/ui-kit/BaseFiltration/useFiltrationForm.d.ts +2 -2
  584. package/mobile/bundle/ui-kit/Calculator/setDefaultParamsCalc.d.ts +1 -1
  585. package/mobile/bundle/ui-kit/FormField/CustomFieldProps.d.ts +1 -1
  586. package/mobile/bundle/ui-kit/FormField/getField.d.ts +1 -1
  587. package/mobile/bundle/ui-kit/FormField/getObjectValidator.d.ts +2 -1
  588. package/mobile/bundle/ui-kit/FormField/isEsiaAuthorize.d.ts +1 -1
  589. package/mobile/bundle/ui-kit/FormField/isRenderField.d.ts +1 -1
  590. package/mobile/bundle/ui-kit/FormField/updateOrganizationFields.d.ts +1 -1
  591. package/mobile/bundle/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
  592. package/mobile/bundle/validation/objectValidator.d.ts +1 -1
  593. package/mobile/dist/EventBus/defaultEventBus.d.ts +1 -3
  594. package/mobile/dist/EventBus/defaultEventBus.js +1 -1
  595. package/mobile/dist/EventBus/defaultEventBus.js.map +1 -1
  596. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +14 -34
  597. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  598. package/mobile/dist/components/ApplicationForm/renderAgreementSubmit.d.ts +1 -1
  599. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -7
  600. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  601. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js +4 -2
  602. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  603. package/mobile/dist/components/ApplicationLeadForm/renderAgreementSubmit.d.ts +1 -1
  604. package/mobile/dist/components/ApplicationLeadForm/renderInputs.js +1 -0
  605. package/mobile/dist/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  606. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +3 -5
  607. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +5 -16
  608. package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  609. package/mobile/dist/components/CalculatorBonus/CalculatorBonus.js +1 -1
  610. package/mobile/dist/components/CalculatorBonus/CalculatorBonus.js.map +1 -1
  611. package/mobile/dist/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js +1 -1
  612. package/mobile/dist/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js.map +1 -1
  613. package/mobile/dist/components/CalculatorCredit/CalculatorCredit.js +3 -6
  614. package/mobile/dist/components/CalculatorCredit/CalculatorCredit.js.map +1 -1
  615. package/mobile/dist/components/CalculatorDeposit/CalculatorDeposit.js +2 -2
  616. package/mobile/dist/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  617. package/mobile/dist/components/CalculatorDeposit/renderDepositParamsForm.d.ts +1 -1
  618. package/mobile/dist/components/CalculatorRefinancing/CalculatorRefinancing.js +1 -1
  619. package/mobile/dist/components/CalculatorRefinancing/CalculatorRefinancing.js.map +1 -1
  620. package/mobile/dist/components/CardTransfer/CardTransfer.js +1 -1
  621. package/mobile/dist/components/CardTransfer/CardTransfer.js.map +1 -1
  622. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -11
  623. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  624. package/mobile/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +10 -0
  625. package/mobile/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +5 -0
  626. package/mobile/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  627. package/mobile/dist/components/CreditCardForm/CreditCardForm.js +1 -1
  628. package/mobile/dist/components/CreditCardForm/CreditCardForm.js.map +1 -1
  629. package/mobile/dist/components/CreditCardForm/CreditCardFormContent.d.ts +1 -1
  630. package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js +10 -3
  631. package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  632. package/mobile/dist/components/CreditCardForm/renderInputs.d.ts +1 -1
  633. package/mobile/dist/components/CreditCardForm/renderInputs.js +2 -1
  634. package/mobile/dist/components/CreditCardForm/renderInputs.js.map +1 -1
  635. package/mobile/dist/components/CreditCardForm/renderStep.d.ts +1 -1
  636. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -3
  637. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js +1 -10
  638. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  639. package/mobile/dist/components/CreditForm/CreditForm.js +1 -1
  640. package/mobile/dist/components/CreditForm/CreditForm.js.map +1 -1
  641. package/mobile/dist/components/CreditForm/CreditFormStep.js +10 -3
  642. package/mobile/dist/components/CreditForm/CreditFormStep.js.map +1 -1
  643. package/mobile/dist/components/CreditForm/renderInputs.d.ts +1 -1
  644. package/mobile/dist/components/CreditForm/renderStep.d.ts +1 -1
  645. package/mobile/dist/components/CreditForm/useCreditFormAPI.d.ts +1 -3
  646. package/mobile/dist/components/CreditForm/useCreditFormAPI.js +1 -10
  647. package/mobile/dist/components/CreditForm/useCreditFormAPI.js.map +1 -1
  648. package/mobile/dist/components/Depository/Depository.js +1 -1
  649. package/mobile/dist/components/Depository/Depository.js.map +1 -1
  650. package/mobile/dist/components/Depository/DepositoryFilter.d.ts +1 -1
  651. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  652. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  653. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +1 -1
  654. package/mobile/dist/hooks/useAspects/handleAspects.d.ts +1 -1
  655. package/mobile/dist/hooks/useAspects/handleAspects.js +1 -1
  656. package/mobile/dist/hooks/useAspects/handleAspects.js.map +1 -1
  657. package/mobile/dist/hooks/useForm/FieldOptions.d.ts +7 -0
  658. package/mobile/dist/hooks/useForm/FieldOptions.js +2 -0
  659. package/mobile/dist/hooks/useForm/FieldOptions.js.map +1 -0
  660. package/mobile/dist/hooks/useForm/FormOptions.d.ts +13 -0
  661. package/mobile/dist/hooks/useForm/FormOptions.js +2 -0
  662. package/mobile/dist/hooks/useForm/FormOptions.js.map +1 -0
  663. package/mobile/dist/hooks/useForm/shallowCompare.d.ts +1 -0
  664. package/mobile/dist/hooks/useForm/shallowCompare.js +5 -0
  665. package/mobile/dist/hooks/useForm/shallowCompare.js.map +1 -0
  666. package/mobile/dist/hooks/useForm/useForm.d.ts +19 -0
  667. package/mobile/dist/hooks/useForm/useForm.js +54 -0
  668. package/mobile/dist/hooks/useForm/useForm.js.map +1 -0
  669. package/mobile/dist/hooks/useForm/useFormValidator.d.ts +6 -0
  670. package/mobile/dist/hooks/useForm/useFormValidator.js +15 -0
  671. package/mobile/dist/hooks/useForm/useFormValidator.js.map +1 -0
  672. package/mobile/dist/hooks/useForm/useNormalizedFormState.d.ts +1 -0
  673. package/mobile/dist/hooks/useForm/useNormalizedFormState.js +26 -0
  674. package/mobile/dist/hooks/useForm/useNormalizedFormState.js.map +1 -0
  675. package/mobile/dist/services/retail/external/types.d.ts +1 -1
  676. package/mobile/dist/services/retail/inputs.d.ts +67 -68
  677. package/mobile/dist/services/retail/inputs.js +67 -68
  678. package/mobile/dist/services/retail/inputs.js.map +1 -1
  679. package/mobile/dist/ui-kit/BaseFiltration/FiltrationForm.d.ts +1 -1
  680. package/mobile/dist/ui-kit/BaseFiltration/useFiltrationForm.d.ts +2 -2
  681. package/mobile/dist/ui-kit/BaseFiltration/useFiltrationForm.js +3 -3
  682. package/mobile/dist/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -1
  683. package/mobile/dist/ui-kit/Calculator/setDefaultParamsCalc.d.ts +1 -1
  684. package/mobile/dist/ui-kit/FormField/CustomFieldProps.d.ts +1 -1
  685. package/mobile/dist/ui-kit/FormField/Fields/AcquiringField.js +1 -3
  686. package/mobile/dist/ui-kit/FormField/Fields/AcquiringField.js.map +1 -1
  687. package/mobile/dist/ui-kit/FormField/Fields/AddressBranchField.js +1 -3
  688. package/mobile/dist/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  689. package/mobile/dist/ui-kit/FormField/Fields/AddressFactField.js +1 -3
  690. package/mobile/dist/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  691. package/mobile/dist/ui-kit/FormField/Fields/AddressField.js +1 -3
  692. package/mobile/dist/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  693. package/mobile/dist/ui-kit/FormField/Fields/AddressMatchField.js +1 -3
  694. package/mobile/dist/ui-kit/FormField/Fields/AddressMatchField.js.map +1 -1
  695. package/mobile/dist/ui-kit/FormField/Fields/AddressRetailField.js +3 -6
  696. package/mobile/dist/ui-kit/FormField/Fields/AddressRetailField.js.map +1 -1
  697. package/mobile/dist/ui-kit/FormField/Fields/AmountField.js +1 -1
  698. package/mobile/dist/ui-kit/FormField/Fields/AmountField.js.map +1 -1
  699. package/mobile/dist/ui-kit/FormField/Fields/AnnualRevenueField.js +1 -3
  700. package/mobile/dist/ui-kit/FormField/Fields/AnnualRevenueField.js.map +1 -1
  701. package/mobile/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js +1 -3
  702. package/mobile/dist/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -1
  703. package/mobile/dist/ui-kit/FormField/Fields/BankEmployeeCodeField.js +1 -3
  704. package/mobile/dist/ui-kit/FormField/Fields/BankEmployeeCodeField.js.map +1 -1
  705. package/mobile/dist/ui-kit/FormField/Fields/BankEmpoleeField.js +1 -1
  706. package/mobile/dist/ui-kit/FormField/Fields/BankEmpoleeField.js.map +1 -1
  707. package/mobile/dist/ui-kit/FormField/Fields/BankruptcyFlgField.js +1 -3
  708. package/mobile/dist/ui-kit/FormField/Fields/BankruptcyFlgField.js.map +1 -1
  709. package/mobile/dist/ui-kit/FormField/Fields/BeginDateField.js +1 -3
  710. package/mobile/dist/ui-kit/FormField/Fields/BeginDateField.js.map +1 -1
  711. package/mobile/dist/ui-kit/FormField/Fields/BirthPlaceField.js +1 -3
  712. package/mobile/dist/ui-kit/FormField/Fields/BirthPlaceField.js.map +1 -1
  713. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js +1 -3
  714. package/mobile/dist/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  715. package/mobile/dist/ui-kit/FormField/Fields/ChildrenField.js +1 -3
  716. package/mobile/dist/ui-kit/FormField/Fields/ChildrenField.js.map +1 -1
  717. package/mobile/dist/ui-kit/FormField/Fields/CodeWordField.js +1 -3
  718. package/mobile/dist/ui-kit/FormField/Fields/CodeWordField.js.map +1 -1
  719. package/mobile/dist/ui-kit/FormField/Fields/CollectionCountField.js +1 -3
  720. package/mobile/dist/ui-kit/FormField/Fields/CollectionCountField.js.map +1 -1
  721. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js +1 -3
  722. package/mobile/dist/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  723. package/mobile/dist/ui-kit/FormField/Fields/ConsentField.js +1 -3
  724. package/mobile/dist/ui-kit/FormField/Fields/ConsentField.js.map +1 -1
  725. package/mobile/dist/ui-kit/FormField/Fields/CurrencyField.js +2 -7
  726. package/mobile/dist/ui-kit/FormField/Fields/CurrencyField.js.map +1 -1
  727. package/mobile/dist/ui-kit/FormField/Fields/DeliveryDateFiels.js +1 -3
  728. package/mobile/dist/ui-kit/FormField/Fields/DeliveryDateFiels.js.map +1 -1
  729. package/mobile/dist/ui-kit/FormField/Fields/DependentsField.js +1 -3
  730. package/mobile/dist/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  731. package/mobile/dist/ui-kit/FormField/Fields/DesiredMeetingDateField.js +1 -3
  732. package/mobile/dist/ui-kit/FormField/Fields/DesiredMeetingDateField.js.map +1 -1
  733. package/mobile/dist/ui-kit/FormField/Fields/DisablePeopleFlgField.js +1 -3
  734. package/mobile/dist/ui-kit/FormField/Fields/DisablePeopleFlgField.js.map +1 -1
  735. package/mobile/dist/ui-kit/FormField/Fields/DulIssueDateField.js +1 -4
  736. package/mobile/dist/ui-kit/FormField/Fields/DulIssueDateField.js.map +1 -1
  737. package/mobile/dist/ui-kit/FormField/Fields/DulIssuedByField.js +1 -4
  738. package/mobile/dist/ui-kit/FormField/Fields/DulIssuedByField.js.map +1 -1
  739. package/mobile/dist/ui-kit/FormField/Fields/DulNumberField.js +1 -4
  740. package/mobile/dist/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  741. package/mobile/dist/ui-kit/FormField/Fields/DulSerieField.js +1 -4
  742. package/mobile/dist/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  743. package/mobile/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +1 -4
  744. package/mobile/dist/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  745. package/mobile/dist/ui-kit/FormField/Fields/EmailField.js +1 -4
  746. package/mobile/dist/ui-kit/FormField/Fields/EmailField.js.map +1 -1
  747. package/mobile/dist/ui-kit/FormField/Fields/ExpensesField.js +1 -3
  748. package/mobile/dist/ui-kit/FormField/Fields/ExpensesField.js.map +1 -1
  749. package/mobile/dist/ui-kit/FormField/Fields/Experience5YearsField.js +2 -5
  750. package/mobile/dist/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  751. package/mobile/dist/ui-kit/FormField/Fields/FamilyMembersField.js +4 -4
  752. package/mobile/dist/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  753. package/mobile/dist/ui-kit/FormField/Fields/FeedbackMethodField.js +1 -3
  754. package/mobile/dist/ui-kit/FormField/Fields/FeedbackMethodField.js.map +1 -1
  755. package/mobile/dist/ui-kit/FormField/Fields/FullNameField.js +1 -3
  756. package/mobile/dist/ui-kit/FormField/Fields/FullNameField.js.map +1 -1
  757. package/mobile/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js +1 -3
  758. package/mobile/dist/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  759. package/mobile/dist/ui-kit/FormField/Fields/InnField.js +1 -3
  760. package/mobile/dist/ui-kit/FormField/Fields/InnField.js.map +1 -1
  761. package/mobile/dist/ui-kit/FormField/Fields/IsClientField.js +1 -1
  762. package/mobile/dist/ui-kit/FormField/Fields/IsClientField.js.map +1 -1
  763. package/mobile/dist/ui-kit/FormField/Fields/JobsNumberField.js +1 -3
  764. package/mobile/dist/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  765. package/mobile/dist/ui-kit/FormField/Fields/LastJobExperienceField.js +1 -3
  766. package/mobile/dist/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  767. package/mobile/dist/ui-kit/FormField/Fields/LegalEntityNameField.js +1 -3
  768. package/mobile/dist/ui-kit/FormField/Fields/LegalEntityNameField.js.map +1 -1
  769. package/mobile/dist/ui-kit/FormField/Fields/LegalFormField.js +1 -3
  770. package/mobile/dist/ui-kit/FormField/Fields/LegalFormField.js.map +1 -1
  771. package/mobile/dist/ui-kit/FormField/Fields/LimitedBirthdayField.js +1 -4
  772. package/mobile/dist/ui-kit/FormField/Fields/LimitedBirthdayField.js.map +1 -1
  773. package/mobile/dist/ui-kit/FormField/Fields/LocalitiesField.js +4 -8
  774. package/mobile/dist/ui-kit/FormField/Fields/LocalitiesField.js.map +1 -1
  775. package/mobile/dist/ui-kit/FormField/Fields/MandatoryPaymentsField.js +1 -3
  776. package/mobile/dist/ui-kit/FormField/Fields/MandatoryPaymentsField.js.map +1 -1
  777. package/mobile/dist/ui-kit/FormField/Fields/MethodObtainField.js +1 -3
  778. package/mobile/dist/ui-kit/FormField/Fields/MethodObtainField.js.map +1 -1
  779. package/mobile/dist/ui-kit/FormField/Fields/MiddleNameField.js +1 -4
  780. package/mobile/dist/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  781. package/mobile/dist/ui-kit/FormField/Fields/NameField.js +1 -3
  782. package/mobile/dist/ui-kit/FormField/Fields/NameField.js.map +1 -1
  783. package/mobile/dist/ui-kit/FormField/Fields/OnlineCheckoutField.js +1 -1
  784. package/mobile/dist/ui-kit/FormField/Fields/OnlineCheckoutField.js.map +1 -1
  785. package/mobile/dist/ui-kit/FormField/Fields/OrganizationNameField.js +1 -3
  786. package/mobile/dist/ui-kit/FormField/Fields/OrganizationNameField.js.map +1 -1
  787. package/mobile/dist/ui-kit/FormField/Fields/OtherIncomeField.js +1 -3
  788. package/mobile/dist/ui-kit/FormField/Fields/OtherIncomeField.js.map +1 -1
  789. package/mobile/dist/ui-kit/FormField/Fields/PartInBusinessField.js +2 -5
  790. package/mobile/dist/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -1
  791. package/mobile/dist/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js +1 -3
  792. package/mobile/dist/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js.map +1 -1
  793. package/mobile/dist/ui-kit/FormField/Fields/PartnerCommentsField.js +1 -6
  794. package/mobile/dist/ui-kit/FormField/Fields/PartnerCommentsField.js.map +1 -1
  795. package/mobile/dist/ui-kit/FormField/Fields/PaymentSystemField.js +13 -13
  796. package/mobile/dist/ui-kit/FormField/Fields/PaymentSystemField.js.map +1 -1
  797. package/mobile/dist/ui-kit/FormField/Fields/PhoneField.js +1 -3
  798. package/mobile/dist/ui-kit/FormField/Fields/PhoneField.js.map +1 -1
  799. package/mobile/dist/ui-kit/FormField/Fields/ProductField.js +1 -3
  800. package/mobile/dist/ui-kit/FormField/Fields/ProductField.js.map +1 -1
  801. package/mobile/dist/ui-kit/FormField/Fields/RegionField.js +1 -3
  802. package/mobile/dist/ui-kit/FormField/Fields/RegionField.js.map +1 -1
  803. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js +1 -3
  804. package/mobile/dist/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  805. package/mobile/dist/ui-kit/FormField/Fields/RegionRetailField.js +1 -3
  806. package/mobile/dist/ui-kit/FormField/Fields/RegionRetailField.js.map +1 -1
  807. package/mobile/dist/ui-kit/FormField/Fields/RetirementIncomeField.js +1 -3
  808. package/mobile/dist/ui-kit/FormField/Fields/RetirementIncomeField.js.map +1 -1
  809. package/mobile/dist/ui-kit/FormField/Fields/ServiceDirectionField.js +1 -3
  810. package/mobile/dist/ui-kit/FormField/Fields/ServiceDirectionField.js.map +1 -1
  811. package/mobile/dist/ui-kit/FormField/Fields/SexField.js +1 -3
  812. package/mobile/dist/ui-kit/FormField/Fields/SexField.js.map +1 -1
  813. package/mobile/dist/ui-kit/FormField/Fields/ShareholderFlgField.js +1 -3
  814. package/mobile/dist/ui-kit/FormField/Fields/ShareholderFlgField.js.map +1 -1
  815. package/mobile/dist/ui-kit/FormField/Fields/SnilsField.js +1 -3
  816. package/mobile/dist/ui-kit/FormField/Fields/SnilsField.js.map +1 -1
  817. package/mobile/dist/ui-kit/FormField/Fields/SurnameField.js +1 -3
  818. package/mobile/dist/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  819. package/mobile/dist/ui-kit/FormField/Fields/TotalIncomeField.js +1 -3
  820. package/mobile/dist/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -1
  821. package/mobile/dist/ui-kit/FormField/Fields/UltraPremiumField.js +1 -3
  822. package/mobile/dist/ui-kit/FormField/Fields/UltraPremiumField.js.map +1 -1
  823. package/mobile/dist/ui-kit/FormField/Fields/VedField.js +7 -8
  824. package/mobile/dist/ui-kit/FormField/Fields/VedField.js.map +1 -1
  825. package/mobile/dist/ui-kit/FormField/Fields/WagesField.js +1 -3
  826. package/mobile/dist/ui-kit/FormField/Fields/WagesField.js.map +1 -1
  827. package/mobile/dist/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js +1 -4
  828. package/mobile/dist/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js.map +1 -1
  829. package/mobile/dist/ui-kit/FormField/SelectField.js +2 -4
  830. package/mobile/dist/ui-kit/FormField/SelectField.js.map +1 -1
  831. package/mobile/dist/ui-kit/FormField/getField.d.ts +1 -1
  832. package/mobile/dist/ui-kit/FormField/getField.js +28 -28
  833. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  834. package/mobile/dist/ui-kit/FormField/getObjectValidator.d.ts +2 -1
  835. package/mobile/dist/ui-kit/FormField/getObjectValidator.js +18 -6
  836. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  837. package/mobile/dist/ui-kit/FormField/isEsiaAuthorize.d.ts +1 -1
  838. package/mobile/dist/ui-kit/FormField/isRenderField.d.ts +1 -1
  839. package/mobile/dist/ui-kit/FormField/updateOrganizationFields.d.ts +1 -1
  840. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  841. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  842. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +1 -1
  843. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -1
  844. package/mobile/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
  845. package/mobile/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +3 -4
  846. package/mobile/dist/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  847. package/mobile/dist/utils/getRequiredLabel.js +1 -0
  848. package/mobile/dist/utils/getRequiredLabel.js.map +1 -1
  849. package/mobile/dist/validation/objectValidator.d.ts +1 -1
  850. package/mobile/dist/validation/objectValidator.js +1 -1
  851. package/mobile/dist/validation/objectValidator.js.map +1 -1
  852. package/mobile/lib/EventBus/defaultEventBus.d.ts +1 -3
  853. package/mobile/lib/EventBus/defaultEventBus.js +1 -1
  854. package/mobile/lib/EventBus/defaultEventBus.js.map +1 -1
  855. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +16 -36
  856. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  857. package/mobile/lib/components/ApplicationForm/renderAgreementSubmit.d.ts +1 -1
  858. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +11 -7
  859. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  860. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js +4 -2
  861. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  862. package/mobile/lib/components/ApplicationLeadForm/renderAgreementSubmit.d.ts +1 -1
  863. package/mobile/lib/components/ApplicationLeadForm/renderInputs.js +1 -0
  864. package/mobile/lib/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  865. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.d.ts +3 -5
  866. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +5 -16
  867. package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
  868. package/mobile/lib/components/CalculatorBonus/CalculatorBonus.js +1 -1
  869. package/mobile/lib/components/CalculatorBonus/CalculatorBonus.js.map +1 -1
  870. package/mobile/lib/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js +1 -1
  871. package/mobile/lib/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.js.map +1 -1
  872. package/mobile/lib/components/CalculatorCredit/CalculatorCredit.js +3 -6
  873. package/mobile/lib/components/CalculatorCredit/CalculatorCredit.js.map +1 -1
  874. package/mobile/lib/components/CalculatorDeposit/CalculatorDeposit.js +2 -2
  875. package/mobile/lib/components/CalculatorDeposit/CalculatorDeposit.js.map +1 -1
  876. package/mobile/lib/components/CalculatorDeposit/renderDepositParamsForm.d.ts +1 -1
  877. package/mobile/lib/components/CalculatorRefinancing/CalculatorRefinancing.js +1 -1
  878. package/mobile/lib/components/CalculatorRefinancing/CalculatorRefinancing.js.map +1 -1
  879. package/mobile/lib/components/CardTransfer/CardTransfer.js +1 -1
  880. package/mobile/lib/components/CardTransfer/CardTransfer.js.map +1 -1
  881. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +13 -12
  882. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  883. package/mobile/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +10 -0
  884. package/mobile/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +3 -0
  885. package/mobile/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  886. package/mobile/lib/components/CreditCardForm/CreditCardForm.js +2 -2
  887. package/mobile/lib/components/CreditCardForm/CreditCardForm.js.map +1 -1
  888. package/mobile/lib/components/CreditCardForm/CreditCardFormContent.d.ts +1 -1
  889. package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js +11 -4
  890. package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  891. package/mobile/lib/components/CreditCardForm/renderInputs.d.ts +1 -1
  892. package/mobile/lib/components/CreditCardForm/renderInputs.js +2 -1
  893. package/mobile/lib/components/CreditCardForm/renderInputs.js.map +1 -1
  894. package/mobile/lib/components/CreditCardForm/renderStep.d.ts +1 -1
  895. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.d.ts +1 -3
  896. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js +1 -10
  897. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  898. package/mobile/lib/components/CreditForm/CreditForm.js +2 -2
  899. package/mobile/lib/components/CreditForm/CreditForm.js.map +1 -1
  900. package/mobile/lib/components/CreditForm/CreditFormStep.js +11 -4
  901. package/mobile/lib/components/CreditForm/CreditFormStep.js.map +1 -1
  902. package/mobile/lib/components/CreditForm/renderInputs.d.ts +1 -1
  903. package/mobile/lib/components/CreditForm/renderStep.d.ts +1 -1
  904. package/mobile/lib/components/CreditForm/useCreditFormAPI.d.ts +1 -3
  905. package/mobile/lib/components/CreditForm/useCreditFormAPI.js +1 -10
  906. package/mobile/lib/components/CreditForm/useCreditFormAPI.js.map +1 -1
  907. package/mobile/lib/components/Depository/Depository.js +1 -1
  908. package/mobile/lib/components/Depository/Depository.js.map +1 -1
  909. package/mobile/lib/components/Depository/DepositoryFilter.d.ts +1 -1
  910. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  911. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  912. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +1 -1
  913. package/mobile/lib/hooks/useAspects/handleAspects.d.ts +1 -1
  914. package/mobile/lib/hooks/useAspects/handleAspects.js +1 -1
  915. package/mobile/lib/hooks/useAspects/handleAspects.js.map +1 -1
  916. package/mobile/lib/hooks/useForm/FieldOptions.d.ts +7 -0
  917. package/mobile/lib/hooks/useForm/FieldOptions.js +2 -0
  918. package/mobile/lib/hooks/useForm/FieldOptions.js.map +1 -0
  919. package/mobile/lib/hooks/useForm/FormOptions.d.ts +13 -0
  920. package/mobile/lib/hooks/useForm/FormOptions.js +2 -0
  921. package/mobile/lib/hooks/useForm/FormOptions.js.map +1 -0
  922. package/mobile/lib/hooks/useForm/shallowCompare.d.ts +1 -0
  923. package/mobile/lib/hooks/useForm/shallowCompare.js +2 -0
  924. package/mobile/lib/hooks/useForm/shallowCompare.js.map +1 -0
  925. package/mobile/lib/hooks/useForm/useForm.d.ts +19 -0
  926. package/mobile/lib/hooks/useForm/useForm.js +51 -0
  927. package/mobile/lib/hooks/useForm/useForm.js.map +1 -0
  928. package/mobile/lib/hooks/useForm/useFormValidator.d.ts +6 -0
  929. package/mobile/lib/hooks/useForm/useFormValidator.js +12 -0
  930. package/mobile/lib/hooks/useForm/useFormValidator.js.map +1 -0
  931. package/mobile/lib/hooks/useForm/useNormalizedFormState.d.ts +1 -0
  932. package/mobile/lib/hooks/useForm/useNormalizedFormState.js +23 -0
  933. package/mobile/lib/hooks/useForm/useNormalizedFormState.js.map +1 -0
  934. package/mobile/lib/services/retail/external/types.d.ts +1 -1
  935. package/mobile/lib/services/retail/inputs.d.ts +67 -68
  936. package/mobile/lib/services/retail/inputs.js +67 -68
  937. package/mobile/lib/services/retail/inputs.js.map +1 -1
  938. package/mobile/lib/ui-kit/BaseFiltration/FiltrationForm.d.ts +1 -1
  939. package/mobile/lib/ui-kit/BaseFiltration/useFiltrationForm.d.ts +2 -2
  940. package/mobile/lib/ui-kit/BaseFiltration/useFiltrationForm.js +3 -3
  941. package/mobile/lib/ui-kit/BaseFiltration/useFiltrationForm.js.map +1 -1
  942. package/mobile/lib/ui-kit/Calculator/setDefaultParamsCalc.d.ts +1 -1
  943. package/mobile/lib/ui-kit/FormField/CustomFieldProps.d.ts +1 -1
  944. package/mobile/lib/ui-kit/FormField/Fields/AcquiringField.js +1 -3
  945. package/mobile/lib/ui-kit/FormField/Fields/AcquiringField.js.map +1 -1
  946. package/mobile/lib/ui-kit/FormField/Fields/AddressBranchField.js +1 -3
  947. package/mobile/lib/ui-kit/FormField/Fields/AddressBranchField.js.map +1 -1
  948. package/mobile/lib/ui-kit/FormField/Fields/AddressFactField.js +1 -3
  949. package/mobile/lib/ui-kit/FormField/Fields/AddressFactField.js.map +1 -1
  950. package/mobile/lib/ui-kit/FormField/Fields/AddressField.js +1 -3
  951. package/mobile/lib/ui-kit/FormField/Fields/AddressField.js.map +1 -1
  952. package/mobile/lib/ui-kit/FormField/Fields/AddressMatchField.js +1 -3
  953. package/mobile/lib/ui-kit/FormField/Fields/AddressMatchField.js.map +1 -1
  954. package/mobile/lib/ui-kit/FormField/Fields/AddressRetailField.js +3 -6
  955. package/mobile/lib/ui-kit/FormField/Fields/AddressRetailField.js.map +1 -1
  956. package/mobile/lib/ui-kit/FormField/Fields/AmountField.js +1 -1
  957. package/mobile/lib/ui-kit/FormField/Fields/AmountField.js.map +1 -1
  958. package/mobile/lib/ui-kit/FormField/Fields/AnnualRevenueField.js +1 -3
  959. package/mobile/lib/ui-kit/FormField/Fields/AnnualRevenueField.js.map +1 -1
  960. package/mobile/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js +1 -3
  961. package/mobile/lib/ui-kit/FormField/Fields/ArmyIdFlgField.js.map +1 -1
  962. package/mobile/lib/ui-kit/FormField/Fields/BankEmployeeCodeField.js +1 -3
  963. package/mobile/lib/ui-kit/FormField/Fields/BankEmployeeCodeField.js.map +1 -1
  964. package/mobile/lib/ui-kit/FormField/Fields/BankEmpoleeField.js +1 -1
  965. package/mobile/lib/ui-kit/FormField/Fields/BankEmpoleeField.js.map +1 -1
  966. package/mobile/lib/ui-kit/FormField/Fields/BankruptcyFlgField.js +1 -3
  967. package/mobile/lib/ui-kit/FormField/Fields/BankruptcyFlgField.js.map +1 -1
  968. package/mobile/lib/ui-kit/FormField/Fields/BeginDateField.js +1 -3
  969. package/mobile/lib/ui-kit/FormField/Fields/BeginDateField.js.map +1 -1
  970. package/mobile/lib/ui-kit/FormField/Fields/BirthPlaceField.js +1 -3
  971. package/mobile/lib/ui-kit/FormField/Fields/BirthPlaceField.js.map +1 -1
  972. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js +1 -3
  973. package/mobile/lib/ui-kit/FormField/Fields/BirthdayField.js.map +1 -1
  974. package/mobile/lib/ui-kit/FormField/Fields/ChildrenField.js +1 -3
  975. package/mobile/lib/ui-kit/FormField/Fields/ChildrenField.js.map +1 -1
  976. package/mobile/lib/ui-kit/FormField/Fields/CodeWordField.js +1 -3
  977. package/mobile/lib/ui-kit/FormField/Fields/CodeWordField.js.map +1 -1
  978. package/mobile/lib/ui-kit/FormField/Fields/CollectionCountField.js +1 -3
  979. package/mobile/lib/ui-kit/FormField/Fields/CollectionCountField.js.map +1 -1
  980. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js +1 -3
  981. package/mobile/lib/ui-kit/FormField/Fields/CommentField.js.map +1 -1
  982. package/mobile/lib/ui-kit/FormField/Fields/ConsentField.js +1 -3
  983. package/mobile/lib/ui-kit/FormField/Fields/ConsentField.js.map +1 -1
  984. package/mobile/lib/ui-kit/FormField/Fields/CurrencyField.js +2 -7
  985. package/mobile/lib/ui-kit/FormField/Fields/CurrencyField.js.map +1 -1
  986. package/mobile/lib/ui-kit/FormField/Fields/DeliveryDateFiels.js +1 -3
  987. package/mobile/lib/ui-kit/FormField/Fields/DeliveryDateFiels.js.map +1 -1
  988. package/mobile/lib/ui-kit/FormField/Fields/DependentsField.js +1 -3
  989. package/mobile/lib/ui-kit/FormField/Fields/DependentsField.js.map +1 -1
  990. package/mobile/lib/ui-kit/FormField/Fields/DesiredMeetingDateField.js +1 -3
  991. package/mobile/lib/ui-kit/FormField/Fields/DesiredMeetingDateField.js.map +1 -1
  992. package/mobile/lib/ui-kit/FormField/Fields/DisablePeopleFlgField.js +1 -3
  993. package/mobile/lib/ui-kit/FormField/Fields/DisablePeopleFlgField.js.map +1 -1
  994. package/mobile/lib/ui-kit/FormField/Fields/DulIssueDateField.js +1 -4
  995. package/mobile/lib/ui-kit/FormField/Fields/DulIssueDateField.js.map +1 -1
  996. package/mobile/lib/ui-kit/FormField/Fields/DulIssuedByField.js +1 -4
  997. package/mobile/lib/ui-kit/FormField/Fields/DulIssuedByField.js.map +1 -1
  998. package/mobile/lib/ui-kit/FormField/Fields/DulNumberField.js +1 -4
  999. package/mobile/lib/ui-kit/FormField/Fields/DulNumberField.js.map +1 -1
  1000. package/mobile/lib/ui-kit/FormField/Fields/DulSerieField.js +1 -4
  1001. package/mobile/lib/ui-kit/FormField/Fields/DulSerieField.js.map +1 -1
  1002. package/mobile/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js +1 -4
  1003. package/mobile/lib/ui-kit/FormField/Fields/DulSubdivisionCodeField.js.map +1 -1
  1004. package/mobile/lib/ui-kit/FormField/Fields/EmailField.js +1 -4
  1005. package/mobile/lib/ui-kit/FormField/Fields/EmailField.js.map +1 -1
  1006. package/mobile/lib/ui-kit/FormField/Fields/ExpensesField.js +1 -3
  1007. package/mobile/lib/ui-kit/FormField/Fields/ExpensesField.js.map +1 -1
  1008. package/mobile/lib/ui-kit/FormField/Fields/Experience5YearsField.js +2 -5
  1009. package/mobile/lib/ui-kit/FormField/Fields/Experience5YearsField.js.map +1 -1
  1010. package/mobile/lib/ui-kit/FormField/Fields/FamilyMembersField.js +4 -4
  1011. package/mobile/lib/ui-kit/FormField/Fields/FamilyMembersField.js.map +1 -1
  1012. package/mobile/lib/ui-kit/FormField/Fields/FeedbackMethodField.js +1 -3
  1013. package/mobile/lib/ui-kit/FormField/Fields/FeedbackMethodField.js.map +1 -1
  1014. package/mobile/lib/ui-kit/FormField/Fields/FullNameField.js +1 -3
  1015. package/mobile/lib/ui-kit/FormField/Fields/FullNameField.js.map +1 -1
  1016. package/mobile/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js +1 -3
  1017. package/mobile/lib/ui-kit/FormField/Fields/GeneralSeniorityField.js.map +1 -1
  1018. package/mobile/lib/ui-kit/FormField/Fields/InnField.js +1 -3
  1019. package/mobile/lib/ui-kit/FormField/Fields/InnField.js.map +1 -1
  1020. package/mobile/lib/ui-kit/FormField/Fields/IsClientField.js +1 -1
  1021. package/mobile/lib/ui-kit/FormField/Fields/IsClientField.js.map +1 -1
  1022. package/mobile/lib/ui-kit/FormField/Fields/JobsNumberField.js +1 -3
  1023. package/mobile/lib/ui-kit/FormField/Fields/JobsNumberField.js.map +1 -1
  1024. package/mobile/lib/ui-kit/FormField/Fields/LastJobExperienceField.js +1 -3
  1025. package/mobile/lib/ui-kit/FormField/Fields/LastJobExperienceField.js.map +1 -1
  1026. package/mobile/lib/ui-kit/FormField/Fields/LegalEntityNameField.js +1 -3
  1027. package/mobile/lib/ui-kit/FormField/Fields/LegalEntityNameField.js.map +1 -1
  1028. package/mobile/lib/ui-kit/FormField/Fields/LegalFormField.js +1 -3
  1029. package/mobile/lib/ui-kit/FormField/Fields/LegalFormField.js.map +1 -1
  1030. package/mobile/lib/ui-kit/FormField/Fields/LimitedBirthdayField.js +1 -4
  1031. package/mobile/lib/ui-kit/FormField/Fields/LimitedBirthdayField.js.map +1 -1
  1032. package/mobile/lib/ui-kit/FormField/Fields/LocalitiesField.js +5 -9
  1033. package/mobile/lib/ui-kit/FormField/Fields/LocalitiesField.js.map +1 -1
  1034. package/mobile/lib/ui-kit/FormField/Fields/MandatoryPaymentsField.js +1 -3
  1035. package/mobile/lib/ui-kit/FormField/Fields/MandatoryPaymentsField.js.map +1 -1
  1036. package/mobile/lib/ui-kit/FormField/Fields/MethodObtainField.js +1 -3
  1037. package/mobile/lib/ui-kit/FormField/Fields/MethodObtainField.js.map +1 -1
  1038. package/mobile/lib/ui-kit/FormField/Fields/MiddleNameField.js +1 -4
  1039. package/mobile/lib/ui-kit/FormField/Fields/MiddleNameField.js.map +1 -1
  1040. package/mobile/lib/ui-kit/FormField/Fields/NameField.js +1 -3
  1041. package/mobile/lib/ui-kit/FormField/Fields/NameField.js.map +1 -1
  1042. package/mobile/lib/ui-kit/FormField/Fields/OnlineCheckoutField.js +1 -1
  1043. package/mobile/lib/ui-kit/FormField/Fields/OnlineCheckoutField.js.map +1 -1
  1044. package/mobile/lib/ui-kit/FormField/Fields/OrganizationNameField.js +1 -3
  1045. package/mobile/lib/ui-kit/FormField/Fields/OrganizationNameField.js.map +1 -1
  1046. package/mobile/lib/ui-kit/FormField/Fields/OtherIncomeField.js +1 -3
  1047. package/mobile/lib/ui-kit/FormField/Fields/OtherIncomeField.js.map +1 -1
  1048. package/mobile/lib/ui-kit/FormField/Fields/PartInBusinessField.js +2 -5
  1049. package/mobile/lib/ui-kit/FormField/Fields/PartInBusinessField.js.map +1 -1
  1050. package/mobile/lib/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js +1 -3
  1051. package/mobile/lib/ui-kit/FormField/Fields/ParticipantDateRegistrationField.js.map +1 -1
  1052. package/mobile/lib/ui-kit/FormField/Fields/PartnerCommentsField.js +1 -6
  1053. package/mobile/lib/ui-kit/FormField/Fields/PartnerCommentsField.js.map +1 -1
  1054. package/mobile/lib/ui-kit/FormField/Fields/PaymentSystemField.js +14 -14
  1055. package/mobile/lib/ui-kit/FormField/Fields/PaymentSystemField.js.map +1 -1
  1056. package/mobile/lib/ui-kit/FormField/Fields/PhoneField.js +1 -3
  1057. package/mobile/lib/ui-kit/FormField/Fields/PhoneField.js.map +1 -1
  1058. package/mobile/lib/ui-kit/FormField/Fields/ProductField.js +1 -3
  1059. package/mobile/lib/ui-kit/FormField/Fields/ProductField.js.map +1 -1
  1060. package/mobile/lib/ui-kit/FormField/Fields/RegionField.js +1 -3
  1061. package/mobile/lib/ui-kit/FormField/Fields/RegionField.js.map +1 -1
  1062. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.js +1 -3
  1063. package/mobile/lib/ui-kit/FormField/Fields/RegionPremiumField.js.map +1 -1
  1064. package/mobile/lib/ui-kit/FormField/Fields/RegionRetailField.js +1 -3
  1065. package/mobile/lib/ui-kit/FormField/Fields/RegionRetailField.js.map +1 -1
  1066. package/mobile/lib/ui-kit/FormField/Fields/RetirementIncomeField.js +1 -3
  1067. package/mobile/lib/ui-kit/FormField/Fields/RetirementIncomeField.js.map +1 -1
  1068. package/mobile/lib/ui-kit/FormField/Fields/ServiceDirectionField.js +1 -3
  1069. package/mobile/lib/ui-kit/FormField/Fields/ServiceDirectionField.js.map +1 -1
  1070. package/mobile/lib/ui-kit/FormField/Fields/SexField.js +1 -3
  1071. package/mobile/lib/ui-kit/FormField/Fields/SexField.js.map +1 -1
  1072. package/mobile/lib/ui-kit/FormField/Fields/ShareholderFlgField.js +1 -3
  1073. package/mobile/lib/ui-kit/FormField/Fields/ShareholderFlgField.js.map +1 -1
  1074. package/mobile/lib/ui-kit/FormField/Fields/SnilsField.js +1 -3
  1075. package/mobile/lib/ui-kit/FormField/Fields/SnilsField.js.map +1 -1
  1076. package/mobile/lib/ui-kit/FormField/Fields/SurnameField.js +1 -3
  1077. package/mobile/lib/ui-kit/FormField/Fields/SurnameField.js.map +1 -1
  1078. package/mobile/lib/ui-kit/FormField/Fields/TotalIncomeField.js +1 -3
  1079. package/mobile/lib/ui-kit/FormField/Fields/TotalIncomeField.js.map +1 -1
  1080. package/mobile/lib/ui-kit/FormField/Fields/UltraPremiumField.js +1 -3
  1081. package/mobile/lib/ui-kit/FormField/Fields/UltraPremiumField.js.map +1 -1
  1082. package/mobile/lib/ui-kit/FormField/Fields/VedField.js +8 -9
  1083. package/mobile/lib/ui-kit/FormField/Fields/VedField.js.map +1 -1
  1084. package/mobile/lib/ui-kit/FormField/Fields/WagesField.js +1 -3
  1085. package/mobile/lib/ui-kit/FormField/Fields/WagesField.js.map +1 -1
  1086. package/mobile/lib/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js +1 -4
  1087. package/mobile/lib/ui-kit/FormField/Fields/consentToReceiveMaterialsField.js.map +1 -1
  1088. package/mobile/lib/ui-kit/FormField/SelectField.js +2 -4
  1089. package/mobile/lib/ui-kit/FormField/SelectField.js.map +1 -1
  1090. package/mobile/lib/ui-kit/FormField/getField.d.ts +1 -1
  1091. package/mobile/lib/ui-kit/FormField/getField.js +28 -28
  1092. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  1093. package/mobile/lib/ui-kit/FormField/getObjectValidator.d.ts +2 -1
  1094. package/mobile/lib/ui-kit/FormField/getObjectValidator.js +16 -4
  1095. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  1096. package/mobile/lib/ui-kit/FormField/isEsiaAuthorize.d.ts +1 -1
  1097. package/mobile/lib/ui-kit/FormField/isRenderField.d.ts +1 -1
  1098. package/mobile/lib/ui-kit/FormField/updateOrganizationFields.d.ts +1 -1
  1099. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  1100. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  1101. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +1 -1
  1102. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -1
  1103. package/mobile/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.d.ts +1 -1
  1104. package/mobile/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js +3 -4
  1105. package/mobile/lib/ui-kit/ResponseTypeDialog/ResponseTypeDialog.js.map +1 -1
  1106. package/mobile/lib/utils/getRequiredLabel.js +1 -0
  1107. package/mobile/lib/utils/getRequiredLabel.js.map +1 -1
  1108. package/mobile/lib/validation/objectValidator.d.ts +1 -1
  1109. package/mobile/lib/validation/objectValidator.js +1 -1
  1110. package/mobile/lib/validation/objectValidator.js.map +1 -1
  1111. package/mobile/src/EventBus/defaultEventBus.ts +1 -3
  1112. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +22 -42
  1113. package/mobile/src/components/ApplicationForm/renderAgreementSubmit.tsx +1 -1
  1114. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +12 -7
  1115. package/mobile/src/components/ApplicationLeadForm/GroupedConsents.tsx +5 -2
  1116. package/mobile/src/components/ApplicationLeadForm/renderAgreementSubmit.tsx +1 -1
  1117. package/mobile/src/components/ApplicationLeadForm/renderInputs.tsx +1 -0
  1118. package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +5 -23
  1119. package/mobile/src/components/CalculatorBonus/CalculatorBonus.tsx +1 -1
  1120. package/mobile/src/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.tsx +1 -1
  1121. package/mobile/src/components/CalculatorCredit/CalculatorCredit.tsx +13 -14
  1122. package/mobile/src/components/CalculatorDeposit/CalculatorDeposit.tsx +2 -2
  1123. package/mobile/src/components/CalculatorDeposit/renderDepositParamsForm.tsx +1 -1
  1124. package/mobile/src/components/CalculatorRefinancing/CalculatorRefinancing.tsx +1 -1
  1125. package/mobile/src/components/CardTransfer/CardTransfer.tsx +1 -1
  1126. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +37 -34
  1127. package/mobile/src/components/CarouselTariffsCard/carouselTariffsCardEventBus.ts +12 -0
  1128. package/mobile/src/components/CreditCardForm/CreditCardForm.tsx +2 -2
  1129. package/mobile/src/components/CreditCardForm/CreditCardFormContent.ts +1 -1
  1130. package/mobile/src/components/CreditCardForm/CreditCardFormStep.tsx +16 -4
  1131. package/mobile/src/components/CreditCardForm/renderInputs.tsx +4 -2
  1132. package/mobile/src/components/CreditCardForm/renderStep.tsx +1 -1
  1133. package/mobile/src/components/CreditCardForm/useCreditCardFormAPI.tsx +0 -20
  1134. package/mobile/src/components/CreditForm/CreditForm.tsx +3 -3
  1135. package/mobile/src/components/CreditForm/CreditFormStep.tsx +16 -4
  1136. package/mobile/src/components/CreditForm/renderInputs.tsx +1 -1
  1137. package/mobile/src/components/CreditForm/renderStep.tsx +1 -1
  1138. package/mobile/src/components/CreditForm/useCreditFormAPI.tsx +0 -20
  1139. package/mobile/src/components/Depository/Depository.tsx +1 -1
  1140. package/mobile/src/components/Depository/DepositoryFilter.tsx +1 -1
  1141. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +1 -1
  1142. package/mobile/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +1 -1
  1143. package/mobile/src/hooks/useAspects/handleAspects.ts +2 -2
  1144. package/mobile/src/hooks/useForm/FieldOptions.ts +8 -0
  1145. package/mobile/src/hooks/useForm/FormOptions.ts +18 -0
  1146. package/mobile/src/hooks/useForm/shallowCompare.ts +2 -0
  1147. package/mobile/src/hooks/useForm/useForm.ts +98 -0
  1148. package/mobile/src/hooks/useForm/useFormValidator.ts +24 -0
  1149. package/mobile/src/hooks/useForm/useNormalizedFormState.ts +37 -0
  1150. package/mobile/src/services/retail/external/types.ts +1 -1
  1151. package/mobile/src/services/retail/inputs.tsx +67 -70
  1152. package/mobile/src/ui-kit/BaseFiltration/FiltrationForm.tsx +1 -1
  1153. package/mobile/src/ui-kit/BaseFiltration/useFiltrationForm.ts +4 -4
  1154. package/mobile/src/ui-kit/Calculator/setDefaultParamsCalc.tsx +1 -1
  1155. package/mobile/src/ui-kit/FormField/CustomFieldProps.ts +1 -1
  1156. package/mobile/src/ui-kit/FormField/Fields/AcquiringField.tsx +1 -3
  1157. package/mobile/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -3
  1158. package/mobile/src/ui-kit/FormField/Fields/AddressFactField.tsx +1 -3
  1159. package/mobile/src/ui-kit/FormField/Fields/AddressField.tsx +1 -3
  1160. package/mobile/src/ui-kit/FormField/Fields/AddressMatchField.tsx +1 -3
  1161. package/mobile/src/ui-kit/FormField/Fields/AddressRetailField.tsx +4 -12
  1162. package/mobile/src/ui-kit/FormField/Fields/AmountField.tsx +2 -2
  1163. package/mobile/src/ui-kit/FormField/Fields/AnnualRevenueField.tsx +1 -6
  1164. package/mobile/src/ui-kit/FormField/Fields/ArmyIdFlgField.tsx +1 -6
  1165. package/mobile/src/ui-kit/FormField/Fields/BankEmployeeCodeField.tsx +1 -3
  1166. package/mobile/src/ui-kit/FormField/Fields/BankEmpoleeField.tsx +2 -2
  1167. package/mobile/src/ui-kit/FormField/Fields/BankruptcyFlgField.tsx +1 -3
  1168. package/mobile/src/ui-kit/FormField/Fields/BeginDateField.tsx +1 -3
  1169. package/mobile/src/ui-kit/FormField/Fields/BirthPlaceField.tsx +1 -3
  1170. package/mobile/src/ui-kit/FormField/Fields/BirthdayField.tsx +1 -6
  1171. package/mobile/src/ui-kit/FormField/Fields/ChildrenField.tsx +1 -3
  1172. package/mobile/src/ui-kit/FormField/Fields/CodeWordField.tsx +1 -7
  1173. package/mobile/src/ui-kit/FormField/Fields/CollectionCountField.tsx +1 -3
  1174. package/mobile/src/ui-kit/FormField/Fields/CommentField.tsx +1 -3
  1175. package/mobile/src/ui-kit/FormField/Fields/ConsentField.tsx +1 -3
  1176. package/mobile/src/ui-kit/FormField/Fields/CurrencyField.tsx +9 -17
  1177. package/mobile/src/ui-kit/FormField/Fields/DeliveryDateFiels.tsx +1 -6
  1178. package/mobile/src/ui-kit/FormField/Fields/DependentsField.tsx +1 -3
  1179. package/mobile/src/ui-kit/FormField/Fields/DesiredMeetingDateField.tsx +1 -10
  1180. package/mobile/src/ui-kit/FormField/Fields/DisablePeopleFlgField.tsx +1 -6
  1181. package/mobile/src/ui-kit/FormField/Fields/DulIssueDateField.tsx +2 -6
  1182. package/mobile/src/ui-kit/FormField/Fields/DulIssuedByField.tsx +2 -6
  1183. package/mobile/src/ui-kit/FormField/Fields/DulNumberField.tsx +2 -6
  1184. package/mobile/src/ui-kit/FormField/Fields/DulSerieField.tsx +2 -6
  1185. package/mobile/src/ui-kit/FormField/Fields/DulSubdivisionCodeField.tsx +2 -6
  1186. package/mobile/src/ui-kit/FormField/Fields/EmailField.tsx +1 -12
  1187. package/mobile/src/ui-kit/FormField/Fields/ExpensesField.tsx +1 -3
  1188. package/mobile/src/ui-kit/FormField/Fields/Experience5YearsField.tsx +2 -5
  1189. package/mobile/src/ui-kit/FormField/Fields/FamilyMembersField.tsx +4 -4
  1190. package/mobile/src/ui-kit/FormField/Fields/FeedbackMethodField.tsx +1 -3
  1191. package/mobile/src/ui-kit/FormField/Fields/FullNameField.tsx +1 -7
  1192. package/mobile/src/ui-kit/FormField/Fields/GeneralSeniorityField.tsx +1 -3
  1193. package/mobile/src/ui-kit/FormField/Fields/InnField.tsx +1 -3
  1194. package/mobile/src/ui-kit/FormField/Fields/IsClientField.tsx +5 -2
  1195. package/mobile/src/ui-kit/FormField/Fields/JobsNumberField.tsx +1 -3
  1196. package/mobile/src/ui-kit/FormField/Fields/LastJobExperienceField.tsx +1 -3
  1197. package/mobile/src/ui-kit/FormField/Fields/LegalEntityNameField.tsx +1 -3
  1198. package/mobile/src/ui-kit/FormField/Fields/LegalFormField.tsx +1 -3
  1199. package/mobile/src/ui-kit/FormField/Fields/LimitedBirthdayField.tsx +2 -6
  1200. package/mobile/src/ui-kit/FormField/Fields/LocalitiesField.tsx +8 -9
  1201. package/mobile/src/ui-kit/FormField/Fields/MandatoryPaymentsField.tsx +1 -3
  1202. package/mobile/src/ui-kit/FormField/Fields/MethodObtainField.tsx +1 -3
  1203. package/mobile/src/ui-kit/FormField/Fields/MiddleNameField.tsx +2 -6
  1204. package/mobile/src/ui-kit/FormField/Fields/NameField.tsx +1 -3
  1205. package/mobile/src/ui-kit/FormField/Fields/OnlineCheckoutField.tsx +2 -2
  1206. package/mobile/src/ui-kit/FormField/Fields/OrganizationNameField.tsx +1 -3
  1207. package/mobile/src/ui-kit/FormField/Fields/OtherIncomeField.tsx +1 -3
  1208. package/mobile/src/ui-kit/FormField/Fields/PartInBusinessField.tsx +2 -5
  1209. package/mobile/src/ui-kit/FormField/Fields/ParticipantDateRegistrationField.tsx +1 -10
  1210. package/mobile/src/ui-kit/FormField/Fields/PartnerCommentsField.tsx +8 -15
  1211. package/mobile/src/ui-kit/FormField/Fields/PaymentSystemField.tsx +18 -22
  1212. package/mobile/src/ui-kit/FormField/Fields/PhoneField.tsx +1 -3
  1213. package/mobile/src/ui-kit/FormField/Fields/ProductField.tsx +2 -4
  1214. package/mobile/src/ui-kit/FormField/Fields/RegionField.tsx +1 -4
  1215. package/mobile/src/ui-kit/FormField/Fields/RegionPremiumField.tsx +1 -3
  1216. package/mobile/src/ui-kit/FormField/Fields/RegionRetailField.tsx +1 -3
  1217. package/mobile/src/ui-kit/FormField/Fields/RetirementIncomeField.tsx +1 -3
  1218. package/mobile/src/ui-kit/FormField/Fields/ServiceDirectionField.tsx +1 -3
  1219. package/mobile/src/ui-kit/FormField/Fields/SexField.tsx +1 -3
  1220. package/mobile/src/ui-kit/FormField/Fields/ShareholderFlgField.tsx +1 -3
  1221. package/mobile/src/ui-kit/FormField/Fields/SnilsField.tsx +1 -8
  1222. package/mobile/src/ui-kit/FormField/Fields/SurnameField.tsx +1 -3
  1223. package/mobile/src/ui-kit/FormField/Fields/TotalIncomeField.tsx +1 -3
  1224. package/mobile/src/ui-kit/FormField/Fields/UltraPremiumField.tsx +1 -7
  1225. package/mobile/src/ui-kit/FormField/Fields/VedField.tsx +8 -10
  1226. package/mobile/src/ui-kit/FormField/Fields/WagesField.tsx +1 -3
  1227. package/mobile/src/ui-kit/FormField/Fields/consentToReceiveMaterialsField.tsx +1 -5
  1228. package/mobile/src/ui-kit/FormField/SelectField.tsx +1 -4
  1229. package/mobile/src/ui-kit/FormField/getField.tsx +29 -31
  1230. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +30 -5
  1231. package/mobile/src/ui-kit/FormField/isEsiaAuthorize.ts +1 -1
  1232. package/mobile/src/ui-kit/FormField/isRenderField.tsx +1 -1
  1233. package/mobile/src/ui-kit/FormField/updateOrganizationFields.ts +1 -1
  1234. package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +2 -2
  1235. package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroupControl.tsx +2 -6
  1236. package/mobile/src/ui-kit/ResponseTypeDialog/ResponseTypeDialog.tsx +25 -28
  1237. package/mobile/src/utils/getRequiredLabel.ts +1 -0
  1238. package/mobile/src/validation/objectValidator.ts +6 -4
  1239. package/package.json +1 -1
  1240. package/src/EventBus/defaultEventBus.ts +1 -3
  1241. package/src/components/ApplicationForm/ApplicationForm.tsx +22 -42
  1242. package/src/components/ApplicationForm/renderAgreementSubmit.tsx +1 -1
  1243. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +12 -7
  1244. package/src/components/ApplicationLeadForm/GroupedConsents.tsx +5 -2
  1245. package/src/components/ApplicationLeadForm/renderAgreementSubmit.tsx +1 -1
  1246. package/src/components/ApplicationLeadForm/renderInputs.tsx +1 -0
  1247. package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +5 -23
  1248. package/src/components/CalculatorBonus/CalculatorBonus.tsx +1 -1
  1249. package/src/components/CalculatorBusinessDeposit/CalculatorBusinessDeposit.tsx +1 -1
  1250. package/src/components/CalculatorCredit/CalculatorCredit.tsx +13 -14
  1251. package/src/components/CalculatorDeposit/CalculatorDeposit.tsx +2 -2
  1252. package/src/components/CalculatorDeposit/renderDepositParamsForm.tsx +1 -1
  1253. package/src/components/CalculatorRefinancing/CalculatorRefinancing.tsx +1 -1
  1254. package/src/components/CardTransfer/CardTransfer.tsx +1 -1
  1255. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +37 -34
  1256. package/src/components/CarouselTariffsCard/carouselTariffsCardEventBus.ts +12 -0
  1257. package/src/components/CreditCardForm/CreditCardForm.tsx +2 -2
  1258. package/src/components/CreditCardForm/CreditCardFormContent.ts +1 -1
  1259. package/src/components/CreditCardForm/CreditCardFormStep.tsx +16 -4
  1260. package/src/components/CreditCardForm/renderInputs.tsx +4 -2
  1261. package/src/components/CreditCardForm/renderStep.tsx +1 -1
  1262. package/src/components/CreditCardForm/useCreditCardFormAPI.tsx +0 -20
  1263. package/src/components/CreditForm/CreditForm.tsx +3 -3
  1264. package/src/components/CreditForm/CreditFormStep.tsx +16 -4
  1265. package/src/components/CreditForm/renderInputs.tsx +1 -1
  1266. package/src/components/CreditForm/renderStep.tsx +1 -1
  1267. package/src/components/CreditForm/useCreditFormAPI.tsx +0 -20
  1268. package/src/components/Depository/Depository.tsx +1 -1
  1269. package/src/components/Depository/DepositoryFilter.tsx +1 -1
  1270. package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +1 -1
  1271. package/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +1 -1
  1272. package/src/hooks/useAspects/handleAspects.ts +2 -2
  1273. package/src/hooks/useForm/FieldOptions.ts +8 -0
  1274. package/src/hooks/useForm/FormOptions.ts +18 -0
  1275. package/src/hooks/useForm/shallowCompare.ts +2 -0
  1276. package/src/hooks/useForm/useForm.ts +98 -0
  1277. package/src/hooks/useForm/useFormValidator.ts +24 -0
  1278. package/src/hooks/useForm/useNormalizedFormState.ts +37 -0
  1279. package/src/services/retail/external/types.ts +1 -1
  1280. package/src/services/retail/inputs.tsx +67 -70
  1281. package/src/ui-kit/BaseFiltration/FiltrationForm.tsx +1 -1
  1282. package/src/ui-kit/BaseFiltration/useFiltrationForm.ts +4 -4
  1283. package/src/ui-kit/Calculator/setDefaultParamsCalc.tsx +1 -1
  1284. package/src/ui-kit/FormField/CustomFieldProps.ts +1 -1
  1285. package/src/ui-kit/FormField/Fields/AcquiringField.tsx +1 -3
  1286. package/src/ui-kit/FormField/Fields/AddressBranchField.tsx +1 -3
  1287. package/src/ui-kit/FormField/Fields/AddressFactField.tsx +1 -3
  1288. package/src/ui-kit/FormField/Fields/AddressField.tsx +1 -3
  1289. package/src/ui-kit/FormField/Fields/AddressMatchField.tsx +1 -3
  1290. package/src/ui-kit/FormField/Fields/AddressRetailField.tsx +4 -12
  1291. package/src/ui-kit/FormField/Fields/AmountField.tsx +2 -2
  1292. package/src/ui-kit/FormField/Fields/AnnualRevenueField.tsx +1 -6
  1293. package/src/ui-kit/FormField/Fields/ArmyIdFlgField.tsx +1 -6
  1294. package/src/ui-kit/FormField/Fields/BankEmployeeCodeField.tsx +1 -3
  1295. package/src/ui-kit/FormField/Fields/BankEmpoleeField.tsx +2 -2
  1296. package/src/ui-kit/FormField/Fields/BankruptcyFlgField.tsx +1 -3
  1297. package/src/ui-kit/FormField/Fields/BeginDateField.tsx +1 -3
  1298. package/src/ui-kit/FormField/Fields/BirthPlaceField.tsx +1 -3
  1299. package/src/ui-kit/FormField/Fields/BirthdayField.tsx +1 -6
  1300. package/src/ui-kit/FormField/Fields/ChildrenField.tsx +1 -3
  1301. package/src/ui-kit/FormField/Fields/CodeWordField.tsx +1 -7
  1302. package/src/ui-kit/FormField/Fields/CollectionCountField.tsx +1 -3
  1303. package/src/ui-kit/FormField/Fields/CommentField.tsx +1 -3
  1304. package/src/ui-kit/FormField/Fields/ConsentField.tsx +1 -3
  1305. package/src/ui-kit/FormField/Fields/CurrencyField.tsx +9 -17
  1306. package/src/ui-kit/FormField/Fields/DeliveryDateFiels.tsx +1 -6
  1307. package/src/ui-kit/FormField/Fields/DependentsField.tsx +1 -3
  1308. package/src/ui-kit/FormField/Fields/DesiredMeetingDateField.tsx +1 -10
  1309. package/src/ui-kit/FormField/Fields/DisablePeopleFlgField.tsx +1 -6
  1310. package/src/ui-kit/FormField/Fields/DulIssueDateField.tsx +2 -6
  1311. package/src/ui-kit/FormField/Fields/DulIssuedByField.tsx +2 -6
  1312. package/src/ui-kit/FormField/Fields/DulNumberField.tsx +2 -6
  1313. package/src/ui-kit/FormField/Fields/DulSerieField.tsx +2 -6
  1314. package/src/ui-kit/FormField/Fields/DulSubdivisionCodeField.tsx +2 -6
  1315. package/src/ui-kit/FormField/Fields/EmailField.tsx +1 -12
  1316. package/src/ui-kit/FormField/Fields/ExpensesField.tsx +1 -3
  1317. package/src/ui-kit/FormField/Fields/Experience5YearsField.tsx +2 -5
  1318. package/src/ui-kit/FormField/Fields/FamilyMembersField.tsx +4 -4
  1319. package/src/ui-kit/FormField/Fields/FeedbackMethodField.tsx +1 -3
  1320. package/src/ui-kit/FormField/Fields/FullNameField.tsx +1 -7
  1321. package/src/ui-kit/FormField/Fields/GeneralSeniorityField.tsx +1 -3
  1322. package/src/ui-kit/FormField/Fields/InnField.tsx +1 -3
  1323. package/src/ui-kit/FormField/Fields/IsClientField.tsx +5 -2
  1324. package/src/ui-kit/FormField/Fields/JobsNumberField.tsx +1 -3
  1325. package/src/ui-kit/FormField/Fields/LastJobExperienceField.tsx +1 -3
  1326. package/src/ui-kit/FormField/Fields/LegalEntityNameField.tsx +1 -3
  1327. package/src/ui-kit/FormField/Fields/LegalFormField.tsx +1 -3
  1328. package/src/ui-kit/FormField/Fields/LimitedBirthdayField.tsx +2 -6
  1329. package/src/ui-kit/FormField/Fields/LocalitiesField.tsx +8 -9
  1330. package/src/ui-kit/FormField/Fields/MandatoryPaymentsField.tsx +1 -3
  1331. package/src/ui-kit/FormField/Fields/MethodObtainField.tsx +1 -3
  1332. package/src/ui-kit/FormField/Fields/MiddleNameField.tsx +2 -6
  1333. package/src/ui-kit/FormField/Fields/NameField.tsx +1 -3
  1334. package/src/ui-kit/FormField/Fields/OnlineCheckoutField.tsx +2 -2
  1335. package/src/ui-kit/FormField/Fields/OrganizationNameField.tsx +1 -3
  1336. package/src/ui-kit/FormField/Fields/OtherIncomeField.tsx +1 -3
  1337. package/src/ui-kit/FormField/Fields/PartInBusinessField.tsx +2 -5
  1338. package/src/ui-kit/FormField/Fields/ParticipantDateRegistrationField.tsx +1 -10
  1339. package/src/ui-kit/FormField/Fields/PartnerCommentsField.tsx +8 -15
  1340. package/src/ui-kit/FormField/Fields/PaymentSystemField.tsx +18 -22
  1341. package/src/ui-kit/FormField/Fields/PhoneField.tsx +1 -3
  1342. package/src/ui-kit/FormField/Fields/ProductField.tsx +2 -4
  1343. package/src/ui-kit/FormField/Fields/RegionField.tsx +1 -4
  1344. package/src/ui-kit/FormField/Fields/RegionPremiumField.tsx +1 -3
  1345. package/src/ui-kit/FormField/Fields/RegionRetailField.tsx +1 -3
  1346. package/src/ui-kit/FormField/Fields/RetirementIncomeField.tsx +1 -3
  1347. package/src/ui-kit/FormField/Fields/ServiceDirectionField.tsx +1 -3
  1348. package/src/ui-kit/FormField/Fields/SexField.tsx +1 -3
  1349. package/src/ui-kit/FormField/Fields/ShareholderFlgField.tsx +1 -3
  1350. package/src/ui-kit/FormField/Fields/SnilsField.tsx +1 -8
  1351. package/src/ui-kit/FormField/Fields/SurnameField.tsx +1 -3
  1352. package/src/ui-kit/FormField/Fields/TotalIncomeField.tsx +1 -3
  1353. package/src/ui-kit/FormField/Fields/UltraPremiumField.tsx +1 -7
  1354. package/src/ui-kit/FormField/Fields/VedField.tsx +8 -10
  1355. package/src/ui-kit/FormField/Fields/WagesField.tsx +1 -3
  1356. package/src/ui-kit/FormField/Fields/consentToReceiveMaterialsField.tsx +1 -5
  1357. package/src/ui-kit/FormField/SelectField.tsx +1 -4
  1358. package/src/ui-kit/FormField/getField.tsx +29 -31
  1359. package/src/ui-kit/FormField/getObjectValidator.tsx +30 -5
  1360. package/src/ui-kit/FormField/isEsiaAuthorize.ts +1 -1
  1361. package/src/ui-kit/FormField/isRenderField.tsx +1 -1
  1362. package/src/ui-kit/FormField/updateOrganizationFields.ts +1 -1
  1363. package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +2 -2
  1364. package/src/ui-kit/RadioButtonGroup/RadioButtonGroupControl.tsx +2 -6
  1365. package/src/ui-kit/ResponseTypeDialog/ResponseTypeDialog.tsx +25 -28
  1366. package/src/utils/getRequiredLabel.ts +1 -0
  1367. package/src/validation/objectValidator.ts +6 -4
  1368. package/bundle/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  1369. package/bundle/hooks/useForm.d.ts +0 -23
  1370. package/bundle/ui-kit/FormField/getNamesFromInput.d.ts +0 -2
  1371. package/bundle/ui-kit/FormField/getValidation.d.ts +0 -3
  1372. package/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  1373. package/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  1374. package/dist/hooks/useForm.d.ts +0 -23
  1375. package/dist/hooks/useForm.js +0 -62
  1376. package/dist/hooks/useForm.js.map +0 -1
  1377. package/dist/ui-kit/FormField/getNamesFromInput.d.ts +0 -2
  1378. package/dist/ui-kit/FormField/getNamesFromInput.js +0 -5
  1379. package/dist/ui-kit/FormField/getNamesFromInput.js.map +0 -1
  1380. package/dist/ui-kit/FormField/getValidation.d.ts +0 -3
  1381. package/dist/ui-kit/FormField/getValidation.js +0 -6
  1382. package/dist/ui-kit/FormField/getValidation.js.map +0 -1
  1383. package/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  1384. package/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js +0 -2
  1385. package/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  1386. package/lib/hooks/useForm.d.ts +0 -23
  1387. package/lib/hooks/useForm.js +0 -59
  1388. package/lib/hooks/useForm.js.map +0 -1
  1389. package/lib/ui-kit/FormField/getNamesFromInput.d.ts +0 -2
  1390. package/lib/ui-kit/FormField/getNamesFromInput.js +0 -2
  1391. package/lib/ui-kit/FormField/getNamesFromInput.js.map +0 -1
  1392. package/lib/ui-kit/FormField/getValidation.d.ts +0 -3
  1393. package/lib/ui-kit/FormField/getValidation.js +0 -3
  1394. package/lib/ui-kit/FormField/getValidation.js.map +0 -1
  1395. package/mobile/bundle/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  1396. package/mobile/bundle/hooks/useForm.d.ts +0 -23
  1397. package/mobile/bundle/ui-kit/FormField/getNamesFromInput.d.ts +0 -2
  1398. package/mobile/bundle/ui-kit/FormField/getValidation.d.ts +0 -3
  1399. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  1400. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  1401. package/mobile/dist/hooks/useForm.d.ts +0 -23
  1402. package/mobile/dist/hooks/useForm.js +0 -62
  1403. package/mobile/dist/hooks/useForm.js.map +0 -1
  1404. package/mobile/dist/ui-kit/FormField/getNamesFromInput.d.ts +0 -2
  1405. package/mobile/dist/ui-kit/FormField/getNamesFromInput.js +0 -5
  1406. package/mobile/dist/ui-kit/FormField/getNamesFromInput.js.map +0 -1
  1407. package/mobile/dist/ui-kit/FormField/getValidation.d.ts +0 -3
  1408. package/mobile/dist/ui-kit/FormField/getValidation.js +0 -6
  1409. package/mobile/dist/ui-kit/FormField/getValidation.js.map +0 -1
  1410. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  1411. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js +0 -2
  1412. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  1413. package/mobile/lib/hooks/useForm.d.ts +0 -23
  1414. package/mobile/lib/hooks/useForm.js +0 -59
  1415. package/mobile/lib/hooks/useForm.js.map +0 -1
  1416. package/mobile/lib/ui-kit/FormField/getNamesFromInput.d.ts +0 -2
  1417. package/mobile/lib/ui-kit/FormField/getNamesFromInput.js +0 -2
  1418. package/mobile/lib/ui-kit/FormField/getNamesFromInput.js.map +0 -1
  1419. package/mobile/lib/ui-kit/FormField/getValidation.d.ts +0 -3
  1420. package/mobile/lib/ui-kit/FormField/getValidation.js +0 -3
  1421. package/mobile/lib/ui-kit/FormField/getValidation.js.map +0 -1
  1422. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCardAction.ts +0 -6
  1423. package/mobile/src/hooks/useForm.ts +0 -120
  1424. package/mobile/src/ui-kit/FormField/getNamesFromInput.tsx +0 -4
  1425. package/mobile/src/ui-kit/FormField/getValidation.tsx +0 -6
  1426. package/src/components/CarouselTariffsCard/CarouselTariffsCardAction.ts +0 -6
  1427. package/src/hooks/useForm.ts +0 -120
  1428. package/src/ui-kit/FormField/getNamesFromInput.tsx +0 -4
  1429. package/src/ui-kit/FormField/getValidation.tsx +0 -6
@@ -1074,7 +1074,7 @@
1074
1074
  };
1075
1075
 
1076
1076
  const handleAspects = ({ aspectsAttributes, aspects, ev }) => {
1077
- for (const { aspectName, params } of aspectsAttributes) {
1077
+ for (const { aspectName, params } of aspectsAttributes ?? []) {
1078
1078
  aspects[aspectName ?? '']?.(ev, params);
1079
1079
  }
1080
1080
  };
@@ -1141,64 +1141,99 @@
1141
1141
  useAspects._impl = impl;
1142
1142
  };
1143
1143
 
1144
- const identity = (_) => _;
1144
+ function useBool(defaultValue = false) {
1145
+ const [value, setValue] = useState(defaultValue);
1146
+ const setTrue = useCallback(() => setValue(true), []);
1147
+ const setFalse = useCallback(() => setValue(false), []);
1148
+ const toggle = useCallback(() => setValue(_ => !_), []);
1149
+ return [value, { setValue, setTrue, setFalse, toggle }];
1150
+ }
1145
1151
 
1146
- // eslint-disable-next-line max-lines-per-function
1147
- const useForm = (initialState, { resetOnSubmit, onSubmit, normalize, } = {}) => {
1152
+ const objectValidator = (validatorsMap) => (o) => (o &&
1153
+ Object.entries(validatorsMap ?? {}).flatMap(([key, validator]) => validator ? validator(o[key]) : [])) ||
1154
+ [];
1155
+
1156
+ const isValidationSuccess = (info) => !info?.length;
1157
+ const validator = (predicate) => (message) => (_) => predicate(_) ? [] : [message];
1158
+
1159
+ const EMPTY_VALIDATORS_MAP = {};
1160
+ const NO_ERRORS = [];
1161
+ function useFormValidator(formState, formValidator) {
1162
+ const validatorsMap = useMemo(() => formValidator?.(formState) ?? EMPTY_VALIDATORS_MAP, [formValidator, formState]);
1163
+ const errors = useMemo(() => objectValidator(validatorsMap)(formState) ?? NO_ERRORS, [validatorsMap, formState]);
1164
+ const isValid = isValidationSuccess(errors);
1165
+ return [validatorsMap, { isValid, errors }];
1166
+ }
1167
+
1168
+ const shallowCompare = (a, b) => a && b && (a === b || Object.keys({ ...a, ...b }).every((key) => a[key] === b[key]));
1169
+
1170
+ function useNormalizedFormState(initialState, normalizer, onChange) {
1148
1171
  const [formState, setFormStateUnsafe] = useState(initialState);
1149
- const setFormState = useCallback(normalize
1150
- ? (_) => setFormStateUnsafe(_ instanceof Function
1151
- ? (prev) => {
1152
- const _normalize = normalize(_(prev));
1153
- return shellowCompare(prev, _normalize) ? prev : _normalize;
1154
- }
1155
- : normalize(_))
1156
- : setFormStateUnsafe, [normalize]);
1172
+ const setFormState = useCallback((_) => setFormStateUnsafe((prevState) => {
1173
+ const rawState = _ instanceof Function ? _(prevState) : _;
1174
+ const normalizedState = normalizer ? normalizer(rawState) : rawState;
1175
+ const hasChangedWithNormalization = !shallowCompare(rawState, normalizedState);
1176
+ const nextState = hasChangedWithNormalization ? normalizedState : rawState;
1177
+ const hasChanged = !shallowCompare(prevState, nextState);
1178
+ if (hasChanged) {
1179
+ onChange?.(nextState);
1180
+ }
1181
+ return nextState;
1182
+ }), [normalizer, onChange]);
1157
1183
  useEffect(() => {
1158
- if (normalize) {
1159
- setFormStateUnsafe(normalize);
1160
- }
1161
- }, [normalize]);
1162
- const [isDirtyForm, setDirtyForm] = useState(false);
1163
- const [dirtyFieldsMap, setDirtyFieldsMap] = useState({});
1164
- const field = useCallback((fieldName, options) => {
1165
- const { parse = identity, format = identity } = options || {};
1184
+ if (normalizer) {
1185
+ setFormStateUnsafe(normalizer);
1186
+ }
1187
+ }, [normalizer]);
1188
+ return [formState, setFormState];
1189
+ }
1190
+
1191
+ function useForm(initialState, { resetOnSubmit, formValidator, normalizer, onChange, onSubmit } = {}) {
1192
+ const [formState, setFormState] = useNormalizedFormState(initialState, normalizer, onChange);
1193
+ const [isDirtyForm, { setTrue: markAsDirty, setFalse: markAsClean }] = useBool(false);
1194
+ const dirtyFieldsMap = useRef({});
1195
+ const [fieldValidatorsMap, { isValid, errors }] = useFormValidator(formState, formValidator);
1196
+ const field = useCallback((fieldName, options = {}) => {
1197
+ const { parse, format, onChange: onFieldChange } = options;
1198
+ const value = formState[fieldName];
1199
+ const isDirty = isDirtyForm || dirtyFieldsMap.current?.[String(fieldName)];
1200
+ const fieldValidator = options?.validator ?? fieldValidatorsMap[fieldName];
1201
+ const fieldErrors = isDirty && fieldValidator ? fieldValidator(value) : [];
1166
1202
  return {
1167
- value: format(formState[fieldName]),
1168
- isDirty: isDirtyForm || dirtyFieldsMap[fieldName],
1169
- onChange: (value) => {
1170
- setFormState((prev) => ({ ...prev, [fieldName]: parse(value) }));
1171
- setDirtyFieldsMap((prev) => ({ ...prev, [fieldName]: true }));
1203
+ value: format ? format(value) : value,
1204
+ isDirty,
1205
+ errors: fieldValidator && fieldErrors,
1206
+ error: fieldErrors[0],
1207
+ onChange: (_) => {
1208
+ dirtyFieldsMap.current ||= {};
1209
+ dirtyFieldsMap.current[String(fieldName)] = true;
1210
+ const fieldVal = parse ? parse(_) : _;
1211
+ onFieldChange?.(fieldVal);
1212
+ setFormState((prev) => ({ ...prev, [fieldName]: fieldVal }));
1172
1213
  },
1173
1214
  };
1174
- }, [setFormState, isDirtyForm, dirtyFieldsMap]);
1215
+ }, [formState, isDirtyForm, fieldValidatorsMap, setFormState]);
1175
1216
  const update = useCallback((_) => {
1217
+ dirtyFieldsMap.current = _;
1176
1218
  setFormState(_);
1177
- setDirtyFieldsMap(_);
1178
- }, []);
1219
+ }, [setFormState]);
1179
1220
  const reset = useCallback(() => {
1221
+ dirtyFieldsMap.current = {};
1222
+ markAsClean();
1180
1223
  setFormState(initialState);
1181
- setDirtyForm(false);
1182
- setDirtyFieldsMap({});
1183
- }, [initialState]);
1224
+ }, [initialState, setFormState]);
1184
1225
  const handleSubmit = useCallback((ev) => {
1185
1226
  ev.preventDefault();
1186
- resetOnSubmit ? reset() : setDirtyForm(true);
1187
- onSubmit && onSubmit(formState, ev);
1188
- return formState;
1189
- }, [onSubmit, formState]);
1190
- return [
1191
- formState,
1192
- {
1193
- isDirty: isDirtyForm || Object.values(dirtyFieldsMap).some(Boolean),
1194
- field,
1195
- update,
1196
- reset,
1197
- onSubmit: handleSubmit,
1198
- },
1199
- ];
1200
- };
1201
- const shellowCompare = (a, b) => a && b && Object.keys({ ...a, ...b }).every((key) => a[key] === b[key]);
1227
+ if (isValid) {
1228
+ resetOnSubmit && reset();
1229
+ onSubmit?.(formState, ev);
1230
+ }
1231
+ else {
1232
+ markAsDirty();
1233
+ }
1234
+ }, [resetOnSubmit, formState, isValid, reset, onSubmit]);
1235
+ return [formState, { errors, field, update, reset, onSubmit: handleSubmit }];
1236
+ }
1202
1237
 
1203
1238
  const ApplicationFormLayout = JSX((props) => {
1204
1239
  const { className, title, children, ...rest } = props;
@@ -1219,14 +1254,6 @@
1219
1254
 
1220
1255
  const getConsentDataProcessing = (inputs) => inputs?.find((_) => _?.name === 'consentDataProcessing');
1221
1256
 
1222
- function useBool(defaultValue = false) {
1223
- const [value, setValue] = useState(defaultValue);
1224
- const setTrue = useCallback(() => setValue(true), []);
1225
- const setFalse = useCallback(() => setValue(false), []);
1226
- const toggle = useCallback(() => setValue(_ => !_), []);
1227
- return [value, { setValue, setTrue, setFalse, toggle }];
1228
- }
1229
-
1230
1257
  function useEventListener(target, type, listener, options) {
1231
1258
  useEffect(() => {
1232
1259
  if (!target || !listener) {
@@ -1250,6 +1277,7 @@
1250
1277
  return targetRef;
1251
1278
  }
1252
1279
 
1280
+ // TODO Базовая функицональность всех Control - надо вынести и привязать к required флагу
1253
1281
  const getRequiredLabel = ({ label, errors }) => label && errors ? `${label}*` : label;
1254
1282
 
1255
1283
  const noop = () => {
@@ -1550,182 +1578,6 @@
1550
1578
 
1551
1579
  const SelectControl = JSX(({ className = '', label, error, errors, ...rest }) => (jsxs("div", { className: className, children: [jsx(Select, { ...rest, valid: !error, label: getRequiredLabel({ label, errors }) }), renderErrorText(error)] })));
1552
1580
 
1553
- const getNamesFromInput = (inputs) => Object.values(inputs.filter((_) => _))?.map((_) => _.name);
1554
-
1555
- const isValidationSuccess = (info) => !info?.length;
1556
- const validator = (predicate) => (message) => (_) => predicate(_) ? [] : [message];
1557
-
1558
- const required = validator((_) => _ !== null && _ !== undefined && _ !== '');
1559
-
1560
- const ERROR_MESSAGE = 'Некорректно заполненное поле';
1561
- const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
1562
- const MIN_AGE = 23;
1563
- const MAX_AGE = 75;
1564
- const AGE_ERROR_MESSAGE = 'Допустимый возраст заёмщика - от 23 до 75 лет';
1565
- const defaultValidator = (errorMsg) => required(errorMsg ?? ERROR_MESSAGE);
1566
- const defaultSelectValidator = (errorMsg) => validator((_) => _?.key && _?.key !== '')(errorMsg ?? ERROR_MESSAGE);
1567
- const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 0 && _.length <= 2)(errorMsg ?? ERROR_MESSAGE);
1568
- const nameValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
1569
- const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
1570
- const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
1571
- const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
1572
- const innValidator = (errorMsg) => validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(errorMsg);
1573
- const phoneValidate = (email) => /^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/.test(email);
1574
- const phoneValidator = (errorMsg) => validator(phoneValidate)(errorMsg);
1575
- const agreementValidator = validator((_) => typeof _ === 'boolean' && _)('Согласие обязательно');
1576
- const snilsValidate = (snils) => {
1577
- const snl = String(snils).replace(/[^0-9]+/g, '');
1578
- if (snl.length === 11) {
1579
- let checksum = 0;
1580
- for (let i = 0; i < 9; i++) {
1581
- checksum += parseInt(snl.charAt(i)) * (9 - i);
1582
- }
1583
- if (checksum > 101) {
1584
- checksum = checksum % 101;
1585
- }
1586
- if (checksum === 100 || checksum === 101) {
1587
- checksum = 0;
1588
- }
1589
- return checksum === parseInt(snl.substr(9));
1590
- }
1591
- return false;
1592
- };
1593
- const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
1594
- const emailValidate = (email) => /^[^\s@]+@[^\s@]+\.[a-zA-Z]{2,4}$/.test(email);
1595
- const emailValidator = (errorMsg) => validator((_) => emailValidate(_))(errorMsg);
1596
- const addressDaDataValidate = (address) => Boolean(address.region && address.city && address.house);
1597
- const addressDaDataValidator = () => validator(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
1598
- const addressOrganizationValidator = () => validator((address) => Boolean(address.fiasCode && address.city && address.house))(ADDRESS_ERROR_MESSAGE);
1599
- const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
1600
- const cyrillicPattern = /^[\u0400-\u04FF\d\s]+$/u;
1601
- const isCyrillic = (_ = '') => cyrillicPattern.test(_);
1602
- const limitedBirthdayValidate = (date) => {
1603
- const today = new Date();
1604
- const minDate = new Date(today.getFullYear() - MIN_AGE, today.getMonth(), today.getDate());
1605
- const maxDate = new Date(today.getFullYear() - MAX_AGE, today.getMonth(), today.getDate());
1606
- if (!date || date > minDate || date < maxDate) {
1607
- return false;
1608
- }
1609
- return true;
1610
- };
1611
- const limitedBirthdayValidator = () => validator(limitedBirthdayValidate)(AGE_ERROR_MESSAGE);
1612
-
1613
- const validatorConsentsObj = {
1614
- processPersonalDataFlg: agreementValidator,
1615
- consentProviderFlg: agreementValidator,
1616
- consentInformFlg: agreementValidator,
1617
- consentPfrFlg: agreementValidator,
1618
- consentOthersFlg: agreementValidator,
1619
- };
1620
- const validatorCreditCardObj = {
1621
- addressCourier: addressDaDataValidator(),
1622
- paymentSystem: defaultValidator('Укажите тип платежной системы'),
1623
- currency: defaultValidator('Укажите валюту'),
1624
- cardCategory: defaultValidator('Укажите категорию карты'),
1625
- codeWord: codeWordValidator('Необходимо ввести кодовое слово'),
1626
- confirmationIncome: defaultSelectValidator(),
1627
- methodObtain: defaultValidator(),
1628
- deliveryDate: defaultValidator('Укажите дату доставки'),
1629
- };
1630
- const validatorRetailObj = {
1631
- organization: defaultSelectValidator('Выберите тип организации'),
1632
- organizationAddress: addressOrganizationValidator(),
1633
- organizationPhone: phoneValidator('Укажите номер телефона'),
1634
- organizationName: defaultValidator('Укажите наименование организации'),
1635
- legalForm: defaultValidator('Укажите ОПФ'),
1636
- generalSeniority: jobNumberValidator('Укажите количество лет стажа'),
1637
- lastJobExperience: jobNumberValidator('Укажите стаж на последнем месте работы'),
1638
- experience5Years: jobNumberValidator('Укажите общий стаж за последние 5 лет'),
1639
- jobsNumber: jobNumberValidator('Укажите количество мест работы за последние 5 лет'),
1640
- beginDate: defaultValidator('Укажите дату заключения трудового договора'),
1641
- addressFact: addressDaDataValidator(),
1642
- addressRegistration: addressDaDataValidator(),
1643
- addressRetail: defaultSelectValidator('Выберите адрес банка'),
1644
- addressMatch: defaultValidator(),
1645
- sex: defaultValidator('Укажите свой пол'),
1646
- limitedBirthday: limitedBirthdayValidator(),
1647
- birthPlace: defaultValidator('Укажите место рождения'),
1648
- education: defaultSelectValidator('Выберите ваше образование'),
1649
- housing: defaultSelectValidator('Выберите тип жилья'),
1650
- amountWorkers: defaultSelectValidator('Выберите информацию о количестве сотрудников'),
1651
- employment: defaultSelectValidator('Выберите информацию о трудоустройстве'),
1652
- employerActivities: defaultSelectValidator('Выберите вид деятельности организации'),
1653
- employerOrganization: defaultSelectValidator('Выберите вид организации'),
1654
- positionOrganization: defaultSelectValidator('Выберите вашу должность'),
1655
- familyStatus: defaultSelectValidator('Выберите семейное положение'),
1656
- familyMembers: lengthStringValidator(2, 'Укажите количество членов семьи'),
1657
- children: lengthStringValidator(2, 'Укажите количество детей'),
1658
- dependents: lengthStringValidator(2, 'Укажите количество иждивенцев'),
1659
- totalIncome: lengthStringValidator(19, 'Укажите среднемесячный доход от основной зарплаты'),
1660
- expenses: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
1661
- snils: snilsValidator('Некорректный номер СНИЛС'),
1662
- conscription: defaultValidator(),
1663
- armyIdFlg: agreementValidator,
1664
- dulSerie: serieValidator('Укажите серию паспорта'),
1665
- dulNumber: numberValidator('Укажите номер паспорта'),
1666
- dulIssueDateField: defaultValidator('Укажите дату выдачи паспорта'),
1667
- dulSubdivisionCode: numberValidator('Укажите код подразделения'),
1668
- dulIssuedBy: defaultValidator('Укажите организацию, выдавшую паспорт'),
1669
- participantDateRegistration: defaultValidator('Укажите дату регистрации'),
1670
- retirementIncome: defaultValidator(),
1671
- otherIncome: defaultValidator(),
1672
- wages: defaultValidator(),
1673
- mandatoryPayments: defaultValidator(),
1674
- disablePeopleFlg: defaultValidator(),
1675
- bankruptcyFlg: defaultValidator(),
1676
- shareholderFlg: defaultValidator(),
1677
- legalEntityName: defaultValidator(),
1678
- bankEmployeeCode: defaultValidator(),
1679
- partInBusiness: defaultValidator(),
1680
- regionRetail: defaultSelectValidator('Выберите регион'),
1681
- };
1682
- const validatorObj = {
1683
- fullName: defaultValidator(),
1684
- addressBranch: defaultSelectValidator(),
1685
- desiredMeetingDate: defaultValidator(),
1686
- product: defaultValidator(),
1687
- localities: defaultValidator(),
1688
- partnerComments: defaultValidator(),
1689
- collectionCount: defaultValidator(),
1690
- acquiringType: defaultSelectValidator(),
1691
- serviceType: defaultSelectValidator(),
1692
- annualRevenue: defaultValidator(),
1693
- feedbackMethod: defaultSelectValidator(),
1694
- serviceDirection: defaultSelectValidator(),
1695
- secondaryPhone: phoneValidator('Укажите номер телефона'),
1696
- region: defaultSelectValidator(),
1697
- surname: nameValidator('Укажите свою фамилию'),
1698
- name: nameValidator('Укажите своё имя'),
1699
- middleName: nameValidator('Укажите своё отчество'),
1700
- birthday: defaultValidator('Укажите дату рождения'),
1701
- phone: phoneValidator('Укажите номер телефона'),
1702
- email: emailValidator('Укажите электронную почту'),
1703
- inn: innValidator('Укажите ИНН'),
1704
- comment: defaultValidator(),
1705
- typeForm: defaultValidator(),
1706
- consentToReceiveMaterials: agreementValidator,
1707
- consentDataProcessing: agreementValidator,
1708
- ...validatorConsentsObj,
1709
- ...validatorRetailObj,
1710
- ...validatorCreditCardObj,
1711
- };
1712
- const getObjectValidator = (inputs) => {
1713
- const requiredInputs = getNamesFromInput(inputs.filter((_) => Boolean(_?.required)));
1714
- return Object.fromEntries(requiredInputs.map((_) => [_, validatorObj?.[_ || '']]).filter(([, validator]) => validator));
1715
- };
1716
-
1717
- const withValidator = (props, validator) => {
1718
- const { value, isDirty } = props;
1719
- const errors = isDirty ? validator(value) : [];
1720
- return {
1721
- ...props,
1722
- errors,
1723
- error: errors[0],
1724
- };
1725
- };
1726
-
1727
- const getValidation = (field, validator, required = false) => required && validator ? withValidator(field, validator) : field;
1728
-
1729
1581
  const ACQUIRING_TYPES = [
1730
1582
  {
1731
1583
  text: 'Торговый эквайринг',
@@ -1744,7 +1596,7 @@
1744
1596
  key: 'all',
1745
1597
  },
1746
1598
  ];
1747
- const AcquiringField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433", options: ACQUIRING_TYPES, ...getValidation(field('acquiringType'), validatorObj.acquiringType, input?.required) })));
1599
+ const AcquiringField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433", options: ACQUIRING_TYPES, ...field(input?.name ?? '') })));
1748
1600
  const isAcquiringTrade = (key = '') => Boolean(key === 'trade' || key === 'all');
1749
1601
 
1750
1602
  const isFilled = (_) => _ !== null && _ !== undefined;
@@ -1849,7 +1701,7 @@
1849
1701
  return (jsx(SelectControl, { label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", options: (addressBranch || []).map(({ address = '' }) => ({
1850
1702
  key: address,
1851
1703
  text: address,
1852
- })), ...getValidation(field('addressBranch'), validatorObj.addressBranch, input?.required), isSearch: true }));
1704
+ })), ...field(input?.name ?? ''), isSearch: true }));
1853
1705
  });
1854
1706
 
1855
1707
  const useNormalizedInput = (props, { normalize, format }) => {
@@ -1913,11 +1765,11 @@
1913
1765
  const MIN_CREDIT_AMOUNT = 1000;
1914
1766
  const MAX_CREDIT_AMOUNT = 1000000000;
1915
1767
  const ITEMS_CREDIT_AMOUNT = ['От 1 000 ₽', 'До 1 000 000 000 ₽'];
1916
- const AmountField = JSX(({ field }) => (jsx(InputRange, { title: "\u0421\u0443\u043C\u043C\u0430, \u20BD", items: ITEMS_CREDIT_AMOUNT, min: MIN_CREDIT_AMOUNT, max: MAX_CREDIT_AMOUNT, ...field('amount') })));
1768
+ const AmountField = JSX(({ field, input }) => (jsx(InputRange, { title: "\u0421\u0443\u043C\u043C\u0430, \u20BD", items: ITEMS_CREDIT_AMOUNT, min: MIN_CREDIT_AMOUNT, max: MAX_CREDIT_AMOUNT, ...field(input?.name ?? '') })));
1917
1769
 
1918
- const AnnualRevenueField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", ...getValidation(field('annualRevenue'), validatorObj.annualRevenue, input?.required) })));
1770
+ const AnnualRevenueField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", ...field(input?.name ?? '') })));
1919
1771
 
1920
- const BankEmpoleeField = JSX(({ field }) => (jsx(InputControl, { label: "\u0424\u0418\u041E \u0438\u043B\u0438 \u0434\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u0432\u0448\u0435\u0433\u043E \u0412\u0430\u0441 \u0441\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\u0430 \u0411\u0430\u043D\u043A\u0430", ...field('bankEmpolee') })));
1772
+ const BankEmpoleeField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E \u0438\u043B\u0438 \u0434\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u0432\u0448\u0435\u0433\u043E \u0412\u0430\u0441 \u0441\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\u0430 \u0411\u0430\u043D\u043A\u0430", ...field(input?.name ?? '') })));
1921
1773
 
1922
1774
  const useElementSpace = (ref, heightEl) => {
1923
1775
  const [spaceAbove, setSpaceAbove] = useState(false);
@@ -2210,11 +2062,11 @@
2210
2062
 
2211
2063
  const DatePickerControl = JSX(({ className, label, error, errors, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(DatePicker, { label: getRequiredLabel({ label, errors }), valid: Boolean(!error), ...rest }), renderErrorText(error)] })));
2212
2064
 
2213
- const BirthdayField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...getValidation(field('birthday'), validatorObj.birthday, input?.required) })));
2065
+ const BirthdayField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? '') })));
2214
2066
 
2215
- const CollectionCountField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u043D\u043A\u0430\u0441\u0441\u0430\u0446\u0438\u0438", isInteger: true, ...getValidation(field('collectionCount'), validatorObj.collectionCount, input?.required) })));
2067
+ const CollectionCountField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u043D\u043A\u0430\u0441\u0441\u0430\u0446\u0438\u0438", isInteger: true, ...field(input?.name ?? '') })));
2216
2068
 
2217
- const CommentField = JSX(({ field, input }) => (jsx(InputControl, { className: "col-span-2", ...getValidation(field('comment'), validatorObj.comment, input?.required), placeholder: "\u0412\u0430\u0448\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435", isTextarea: true })));
2069
+ const CommentField = JSX(({ field, input }) => (jsx(InputControl, { className: "col-span-2", ...field(input?.name ?? ''), placeholder: "\u0412\u0430\u0448\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435", isTextarea: true })));
2218
2070
 
2219
2071
  const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
2220
2072
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: className, viewBox: viewBox, fill: fill, width: width, height: height, children: paths.map(({ d, fill: pathFill, ...options }, i) => {
@@ -2249,14 +2101,12 @@
2249
2101
  const role = (isRadio = false) => (isRadio ? 'radio' : 'checkbox');
2250
2102
  const checkboxStyle = (value = false) => style('rounded border', { 'bg-primary-main': value });
2251
2103
 
2252
- const FIELD_NAME$c = 'consentToReceiveMaterials';
2253
- const ConsentToReceiveMaterialsField = JSX(({ field, input }) => (jsx(Checkbox, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0435\u043D \u043D\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0438 \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435", ...getValidation(field(FIELD_NAME$c), validatorObj[FIELD_NAME$c], input?.required) })));
2104
+ const ConsentToReceiveMaterialsField = JSX(({ field, input }) => (jsx(Checkbox, { text: "\u0421\u043E\u0433\u043B\u0430\u0441\u0435\u043D \u043D\u0430 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0445 \u0438 \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u043E\u0432 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435", ...field(input?.name ?? '') })));
2254
2105
 
2255
- const DesiredMeetingDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...getValidation(field('desiredMeetingDate'), validatorObj.desiredMeetingDate, input?.required) })));
2106
+ const DesiredMeetingDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0434\u0430\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438", ...field(input?.name ?? '') })));
2256
2107
 
2257
2108
  const EmailField = JSX(({ field, input }) => {
2258
- const { required, ...rest } = input;
2259
- return (jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...getValidation(field('email'), validatorObj.email, required), ...rest }));
2109
+ return jsx(InputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
2260
2110
  });
2261
2111
 
2262
2112
  const SERVICE_TYPES = [{ key: 'ULTRASERVICE', text: 'Ультра' }];
@@ -2269,9 +2119,9 @@
2269
2119
  { key: 'email', text: 'Электронное сообщение' },
2270
2120
  ];
2271
2121
 
2272
- const FeedbackMethodField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u0432\u0435\u0442\u0430", options: FEEDBACK_METHOD, ...getValidation(field('feedbackMethod'), validatorObj.feedbackMethod, input?.required) })));
2122
+ const FeedbackMethodField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043E\u0442\u0432\u0435\u0442\u0430", options: FEEDBACK_METHOD, ...field(input?.name ?? '') })));
2273
2123
 
2274
- const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...getValidation(field('fullName'), validatorObj.fullName, input?.required), ...input })));
2124
+ const FullNameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0418\u041E", ...field(input?.name ?? ''), ...input })));
2275
2125
 
2276
2126
  function copy(source, target) {
2277
2127
  for (const [k, v] of source.entries()) {
@@ -2549,7 +2399,7 @@
2549
2399
  qcHouse: '',
2550
2400
  });
2551
2401
  }, []);
2552
- return (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, fieldName), label: "\u0410\u0434\u0440\u0435\u0441", ...getValidation(field(fieldName), validatorObj[fieldName], input?.required), value: fieldValue?.fullAddress, onChange: onChange, ...input, onDaDataChange: onDaDataChange }));
2402
+ return (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, fieldName), label: "\u0410\u0434\u0440\u0435\u0441", ...field(fieldName), value: fieldValue?.fullAddress, onChange: onChange, ...input, onDaDataChange: onDaDataChange }));
2553
2403
  });
2554
2404
  const getAddressFromDaDataItem = (item) => ({
2555
2405
  apartment: item?.data?.flat,
@@ -2595,12 +2445,12 @@
2595
2445
  field?.('organizationName')?.onChange?.(item.data?.name?.short_with_opf);
2596
2446
  updateOrganizationFields(store, field, item);
2597
2447
  }, []);
2598
- return (jsx(InputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...getValidation(field('inn'), validatorObj.inn, input?.required), onDaDataChange: onDaDataChange }));
2448
+ return (jsx(InputControl, { label: "\u0418\u041D\u041D", isInteger: true, maxLength: 12, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
2599
2449
  });
2600
2450
 
2601
2451
  const CheckboxWithError = JSX(({ className, text, value, key, disabled, error, onChange }) => (jsxs("div", { className: style('shrink-0', className), children: [jsx(Checkbox, { text: text, value: value, disabled: disabled, onChange: onChange }, key), renderErrorText(error)] })));
2602
2452
 
2603
- const IsClientField = JSX(({ field }) => (jsx(CheckboxWithError, { ...field('isClient'), text: '\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C \u0431\u0430\u043D\u043A\u0430 \u0410\u041E "\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A"' })));
2453
+ const IsClientField = JSX(({ field, input }) => (jsx(CheckboxWithError, { ...field(input?.name ?? ''), text: '\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C \u0431\u0430\u043D\u043A\u0430 \u0410\u041E "\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A"' })));
2604
2454
 
2605
2455
  const OUT_SERVICE_BASE_URL = `${API_BASE_URI}/outservice`;
2606
2456
  const EMPTY_REGIONS$1 = [];
@@ -2613,30 +2463,24 @@
2613
2463
  const fieldRegion = field('region');
2614
2464
  const regionKey = fieldRegion?.value?.key;
2615
2465
  const { data: regions } = useAsyncData('outServiceRegions', getOutServiceRegions);
2616
- const localities = regions
2617
- ?.find((_) => _.code === regionKey)
2618
- ?.localities?.map((_) => ({ key: _, text: _ }));
2466
+ const localities = useMemo(() => regions?.find((_) => _.code === regionKey)?.localities?.map((_) => ({ key: _, text: _ })), [regions, regionKey]);
2619
2467
  useEffect(() => {
2620
2468
  if (regionKey !== '') {
2621
- field?.('localities')?.onChange?.('');
2469
+ field?.(input?.name ?? '')?.onChange?.('');
2622
2470
  }
2623
- }, [regionKey]);
2624
- return (jsx(SelectControl, { label: "\u041D\u0430\u0441\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u043F\u0443\u043D\u043A\u0442", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u043E\u0440\u043E\u0434, \u0433\u0434\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0441\u0435\u0440\u0432\u0438\u0441", options: localities, ...getValidation(field('localities'), validatorObj.localities, input?.required), isSearch: true }));
2471
+ }, [regionKey, input?.name ?? '']);
2472
+ return (jsx(SelectControl, { label: "\u041D\u0430\u0441\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u043F\u0443\u043D\u043A\u0442", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u043E\u0440\u043E\u0434, \u0433\u0434\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u0441\u0435\u0440\u0432\u0438\u0441", options: localities, ...field(input?.name ?? ''), isSearch: true }));
2625
2473
  });
2626
2474
 
2627
- const FIELD_NAME$b = 'middleName';
2628
- const MiddleNameField = JSX(({ field, input }) => (jsx(InputControl, { 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, FIELD_NAME$b), ...getValidation(field(FIELD_NAME$b), validatorObj.middleName, input?.required), ...input })));
2475
+ const MiddleNameField = JSX(({ field, input }) => (jsx(InputControl, { 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 })));
2629
2476
 
2630
- const NameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...getValidation(field('name'), validatorObj.name, input?.required), ...input })));
2477
+ const NameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u043C\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), ...field(input?.name ?? ''), ...input })));
2631
2478
 
2632
2479
  const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-s", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('relative flex-shrink-0 duration-300 w-9 h-5 mr-s rounded-2xl', value ? 'bg-primary-main' : 'bg-main-divider'), children: jsx("div", { className: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-1/2' : 'left-[5%]') }) }), text ? (jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })) : null] })));
2633
2480
 
2634
- const OnlineCheckoutField = JSX(({ field }) => isAcquiringTrade(field('acquiringType')?.value?.key) ? (jsx(SlideCheckbox, { type: "radio", text: "\u0425\u043E\u0447\u0443 \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", ...field('onlineCheckout') })) : null);
2481
+ const OnlineCheckoutField = JSX(({ field, input }) => isAcquiringTrade(field('acquiringType')?.value?.key) ? (jsx(SlideCheckbox, { type: "radio", text: "\u0425\u043E\u0447\u0443 \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", ...field(input?.name ?? '') })) : null);
2635
2482
 
2636
- const PartnerCommentsField = JSX(({ field, input }) => {
2637
- const { required, ...rest } = input;
2638
- return (jsx(InputControl, { ...getValidation(field('partnerComments'), validatorObj.partnerComments, required), placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441", isTextarea: true, ...rest }));
2639
- });
2483
+ const PartnerCommentsField = JSX(({ field, input }) => (jsx(InputControl, { ...field(input?.name ?? ''), placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441", isTextarea: true, ...input })));
2640
2484
 
2641
2485
  const isPlaceholder = (_) => _ === '_';
2642
2486
  const isDigit = (_) => /\d/.test(_);
@@ -2666,12 +2510,12 @@
2666
2510
 
2667
2511
  const PhoneField = JSX(({ field, input }) => {
2668
2512
  const fieldName = input?.name || 'phone';
2669
- return (jsx(InputPhoneControl, { label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...getValidation(field(fieldName), validatorObj.phone, input?.required), disabled: input?.filledByEsia && isEsiaAuthorize(field, fieldName), ...input }));
2513
+ return (jsx(InputPhoneControl, { label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...field(fieldName), disabled: input?.filledByEsia && isEsiaAuthorize(field, fieldName), ...input }));
2670
2514
  });
2671
2515
 
2672
2516
  const PosTerminalField = JSX(({ field }) => isAcquiringTrade(field('acquiringType')?.value?.key) ? (jsx(SlideCheckbox, { type: "radio", text: "\u0425\u043E\u0447\u0443 POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", ...field('posTerminal') })) : null);
2673
2517
 
2674
- const ProductField = JSX(({ field, source }) => (jsx(SelectControl, { placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u043E\u0434\u0443\u043A\u0442", label: "\u041F\u0440\u043E\u0434\u0443\u043A\u0442", options: arrayToOptions(source?.productList), ...withValidator(field('product'), validatorObj.product) })));
2518
+ const ProductField = JSX(({ field, input, source }) => (jsx(SelectControl, { placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u043E\u0434\u0443\u043A\u0442", label: "\u041F\u0440\u043E\u0434\u0443\u043A\u0442", options: arrayToOptions(source?.productList), ...field(input?.name ?? '') })));
2675
2519
  const arrayToOptions = (array) => (array ?? []).map((_) => ({ key: _, value: _ }));
2676
2520
 
2677
2521
  const REGIONS_URL = `${API_BASE_URI}/regions`;
@@ -2688,7 +2532,7 @@
2688
2532
  const RegionField = JSX(({ field, input, params }) => {
2689
2533
  const url = getRegionUrl(params?.typeForm);
2690
2534
  const regions = useRegions(url);
2691
- return (jsx(SelectControl, { label: "\u0424\u0438\u043B\u0438\u0430\u043B", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B", isSearch: true, options: useMemo(() => regions?.map(({ code = '', name = '' }) => ({ key: code, text: name })), [regions]), ...getValidation(field('region'), validatorObj.region, input?.required) }));
2535
+ return (jsx(SelectControl, { label: "\u0424\u0438\u043B\u0438\u0430\u043B", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B", isSearch: true, options: useMemo(() => regions?.map(({ code = '', name = '' }) => ({ key: code, text: name })), [regions]), ...field(input?.name ?? '') }));
2692
2536
  });
2693
2537
 
2694
2538
  const RegionPremiumField = JSX(({ field, input }) => {
@@ -2697,9 +2541,191 @@
2697
2541
  key: region,
2698
2542
  text: region,
2699
2543
  })), [branchByRegions]);
2700
- return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions, ...getValidation(field('region'), validatorObj.region, input?.required) }));
2544
+ return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions, ...field(input?.name ?? '') }));
2701
2545
  });
2702
2546
 
2547
+ const withValidator = (props, validator) => {
2548
+ const { value, isDirty } = props;
2549
+ const errors = isDirty ? validator(value) : [];
2550
+ return {
2551
+ ...props,
2552
+ errors,
2553
+ error: errors[0],
2554
+ };
2555
+ };
2556
+
2557
+ const required = validator((_) => _ !== null && _ !== undefined && _ !== '');
2558
+
2559
+ const ERROR_MESSAGE = 'Некорректно заполненное поле';
2560
+ const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
2561
+ const MIN_AGE = 23;
2562
+ const MAX_AGE = 75;
2563
+ const AGE_ERROR_MESSAGE = 'Допустимый возраст заёмщика - от 23 до 75 лет';
2564
+ const defaultValidator = (errorMsg) => required(errorMsg ?? ERROR_MESSAGE);
2565
+ const defaultSelectValidator = (errorMsg) => validator((_) => _?.key && _?.key !== '')(errorMsg ?? ERROR_MESSAGE);
2566
+ const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 0 && _.length <= 2)(errorMsg ?? ERROR_MESSAGE);
2567
+ const nameValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
2568
+ const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
2569
+ const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
2570
+ const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
2571
+ const innValidator = (errorMsg) => validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(errorMsg);
2572
+ const phoneValidate = (email) => /^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/.test(email);
2573
+ const phoneValidator = (errorMsg) => validator(phoneValidate)(errorMsg);
2574
+ const agreementValidator = validator((_) => typeof _ === 'boolean' && _)('Согласие обязательно');
2575
+ const snilsValidate = (snils) => {
2576
+ const snl = String(snils).replace(/[^0-9]+/g, '');
2577
+ if (snl.length === 11) {
2578
+ let checksum = 0;
2579
+ for (let i = 0; i < 9; i++) {
2580
+ checksum += parseInt(snl.charAt(i)) * (9 - i);
2581
+ }
2582
+ if (checksum > 101) {
2583
+ checksum = checksum % 101;
2584
+ }
2585
+ if (checksum === 100 || checksum === 101) {
2586
+ checksum = 0;
2587
+ }
2588
+ return checksum === parseInt(snl.substr(9));
2589
+ }
2590
+ return false;
2591
+ };
2592
+ const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
2593
+ const emailValidate = (email) => /^[^\s@]+@[^\s@]+\.[a-zA-Z]{2,4}$/.test(email);
2594
+ const emailValidator = (errorMsg) => validator((_) => emailValidate(_))(errorMsg);
2595
+ const addressDaDataValidate = (address) => Boolean(address.region && address.city && address.house);
2596
+ const addressDaDataValidator = () => validator(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
2597
+ const addressOrganizationValidator = () => validator((address) => Boolean(address.fiasCode && address.city && address.house))(ADDRESS_ERROR_MESSAGE);
2598
+ const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
2599
+ const cyrillicPattern = /^[\u0400-\u04FF\d\s]+$/u;
2600
+ const isCyrillic = (_ = '') => cyrillicPattern.test(_);
2601
+ const limitedBirthdayValidate = (date) => {
2602
+ const today = new Date();
2603
+ const minDate = new Date(today.getFullYear() - MIN_AGE, today.getMonth(), today.getDate());
2604
+ const maxDate = new Date(today.getFullYear() - MAX_AGE, today.getMonth(), today.getDate());
2605
+ if (!date || date > minDate || date < maxDate) {
2606
+ return false;
2607
+ }
2608
+ return true;
2609
+ };
2610
+ const limitedBirthdayValidator = () => validator(limitedBirthdayValidate)(AGE_ERROR_MESSAGE);
2611
+
2612
+ const validatorConsentsObj = {
2613
+ processPersonalDataFlg: agreementValidator,
2614
+ consentProviderFlg: agreementValidator,
2615
+ consentInformFlg: agreementValidator,
2616
+ consentPfrFlg: agreementValidator,
2617
+ consentOthersFlg: agreementValidator,
2618
+ };
2619
+ const validatorCreditCardObj = {
2620
+ addressCourier: addressDaDataValidator(),
2621
+ paymentSystem: defaultValidator('Укажите тип платежной системы'),
2622
+ currency: defaultValidator('Укажите валюту'),
2623
+ cardCategory: defaultValidator('Укажите категорию карты'),
2624
+ codeWord: codeWordValidator('Необходимо ввести кодовое слово'),
2625
+ confirmationIncome: defaultSelectValidator(),
2626
+ methodObtain: defaultValidator(),
2627
+ deliveryDate: defaultValidator('Укажите дату доставки'),
2628
+ };
2629
+ const validatorRetailObj = {
2630
+ organization: defaultSelectValidator('Выберите тип организации'),
2631
+ organizationAddress: addressOrganizationValidator(),
2632
+ organizationPhone: phoneValidator('Укажите номер телефона'),
2633
+ organizationName: defaultValidator('Укажите наименование организации'),
2634
+ legalForm: defaultValidator('Укажите ОПФ'),
2635
+ generalSeniority: jobNumberValidator('Укажите количество лет стажа'),
2636
+ lastJobExperience: jobNumberValidator('Укажите стаж на последнем месте работы'),
2637
+ experience5Years: jobNumberValidator('Укажите общий стаж за последние 5 лет'),
2638
+ jobsNumber: jobNumberValidator('Укажите количество мест работы за последние 5 лет'),
2639
+ beginDate: defaultValidator('Укажите дату заключения трудового договора'),
2640
+ addressFact: addressDaDataValidator(),
2641
+ addressRegistration: addressDaDataValidator(),
2642
+ addressRetail: defaultSelectValidator('Выберите адрес банка'),
2643
+ addressMatch: defaultValidator(),
2644
+ sex: defaultValidator('Укажите свой пол'),
2645
+ limitedBirthday: limitedBirthdayValidator(),
2646
+ birthPlace: defaultValidator('Укажите место рождения'),
2647
+ education: defaultSelectValidator('Выберите ваше образование'),
2648
+ housing: defaultSelectValidator('Выберите тип жилья'),
2649
+ amountWorkers: defaultSelectValidator('Выберите информацию о количестве сотрудников'),
2650
+ employment: defaultSelectValidator('Выберите информацию о трудоустройстве'),
2651
+ employerActivities: defaultSelectValidator('Выберите вид деятельности организации'),
2652
+ employerOrganization: defaultSelectValidator('Выберите вид организации'),
2653
+ positionOrganization: defaultSelectValidator('Выберите вашу должность'),
2654
+ familyStatus: defaultSelectValidator('Выберите семейное положение'),
2655
+ familyMembers: lengthStringValidator(2, 'Укажите количество членов семьи'),
2656
+ children: lengthStringValidator(2, 'Укажите количество детей'),
2657
+ dependents: lengthStringValidator(2, 'Укажите количество иждивенцев'),
2658
+ totalIncome: lengthStringValidator(19, 'Укажите среднемесячный доход от основной зарплаты'),
2659
+ expenses: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
2660
+ snils: snilsValidator('Некорректный номер СНИЛС'),
2661
+ conscription: defaultValidator(),
2662
+ armyIdFlg: agreementValidator,
2663
+ dulSerie: serieValidator('Укажите серию паспорта'),
2664
+ dulNumber: numberValidator('Укажите номер паспорта'),
2665
+ dulIssueDateField: defaultValidator('Укажите дату выдачи паспорта'),
2666
+ dulSubdivisionCode: numberValidator('Укажите код подразделения'),
2667
+ dulIssuedBy: defaultValidator('Укажите организацию, выдавшую паспорт'),
2668
+ participantDateRegistration: defaultValidator('Укажите дату регистрации'),
2669
+ retirementIncome: defaultValidator(),
2670
+ otherIncome: defaultValidator(),
2671
+ wages: defaultValidator(),
2672
+ mandatoryPayments: defaultValidator(),
2673
+ disablePeopleFlg: defaultValidator(),
2674
+ bankruptcyFlg: defaultValidator(),
2675
+ shareholderFlg: defaultValidator(),
2676
+ legalEntityName: defaultValidator(),
2677
+ bankEmployeeCode: defaultValidator(),
2678
+ partInBusiness: defaultValidator(),
2679
+ regionRetail: defaultSelectValidator('Выберите регион'),
2680
+ };
2681
+ const validatorObj = {
2682
+ fullName: defaultValidator(),
2683
+ addressBranch: defaultSelectValidator(),
2684
+ desiredMeetingDate: defaultValidator(),
2685
+ product: defaultValidator(),
2686
+ localities: defaultValidator(),
2687
+ partnerComments: defaultValidator(),
2688
+ collectionCount: defaultValidator(),
2689
+ acquiringType: defaultSelectValidator(),
2690
+ serviceType: defaultSelectValidator(),
2691
+ annualRevenue: defaultValidator(),
2692
+ feedbackMethod: defaultSelectValidator(),
2693
+ serviceDirection: defaultSelectValidator(),
2694
+ secondaryPhone: phoneValidator('Укажите номер телефона'),
2695
+ region: defaultSelectValidator(),
2696
+ surname: nameValidator('Укажите свою фамилию'),
2697
+ name: nameValidator('Укажите своё имя'),
2698
+ middleName: nameValidator('Укажите своё отчество'),
2699
+ birthday: defaultValidator('Укажите дату рождения'),
2700
+ phone: phoneValidator('Укажите номер телефона'),
2701
+ email: emailValidator('Укажите электронную почту'),
2702
+ inn: innValidator('Укажите ИНН'),
2703
+ comment: defaultValidator(),
2704
+ typeForm: defaultValidator(),
2705
+ consentToReceiveMaterials: agreementValidator,
2706
+ consentDataProcessing: agreementValidator,
2707
+ ...validatorConsentsObj,
2708
+ ...validatorRetailObj,
2709
+ ...validatorCreditCardObj,
2710
+ };
2711
+ const getFormValidator = (fieldDefs) => {
2712
+ const requiredFields = fieldDefs.filter((_) => Boolean(_?.required && _?.name));
2713
+ const hasConditions = requiredFields.some((_) => _.condition?.values);
2714
+ const requiredFieldValidatorsMap = Object.fromEntries(requiredFields.filter(byNonEmptyValidator).map(({ name }) => [name, validatorObj[name ?? '']]));
2715
+ return (formState) => hasConditions
2716
+ ? Object.fromEntries(requiredFields
2717
+ .filter(byNonEmptyValidator)
2718
+ .filter(byCondition(formState))
2719
+ .map(({ name }) => [name, validatorObj[name ?? '']]))
2720
+ : requiredFieldValidatorsMap;
2721
+ };
2722
+ const byNonEmptyValidator = ({ name }) => Boolean(validatorObj[name ?? '']);
2723
+ const byCondition = (formState) => (fieldDef) => !fieldDef?.condition ||
2724
+ fieldDef.condition.values.find((_) => {
2725
+ const dependencyValue = formState?.[fieldDef?.condition?.name ?? ''];
2726
+ return _ === (dependencyValue?.key ?? dependencyValue);
2727
+ });
2728
+
2703
2729
  const SecondaryPhoneField = JSX(({ field }) => {
2704
2730
  const fieldPhone = field('secondaryPhone');
2705
2731
  return (jsx(InputPhoneControl, { label: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u0442\u0435\u043B\u0435\u0444\u043E\u043D", ...(!fieldPhone.value || fieldPhone.value === '+7 ('
@@ -2707,23 +2733,23 @@
2707
2733
  : withValidator(fieldPhone, validatorObj.secondaryPhone)) }));
2708
2734
  });
2709
2735
 
2710
- const ServiceDirectionField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435", options: SERVICE_DIRECTIONS, ...getValidation(field('serviceDirection'), validatorObj.serviceDirection, input?.required) })));
2736
+ const ServiceDirectionField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435", options: SERVICE_DIRECTIONS, ...field(input?.name ?? '') })));
2711
2737
 
2712
- const FIELD_NAME$a = 'surname';
2713
- const SurnameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$a), ...getValidation(field('surname'), validatorObj.surname, input?.required), ...input })));
2738
+ const FIELD_NAME$2 = 'surname';
2739
+ const SurnameField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 60, disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$2), ...field(input?.name ?? ''), ...input })));
2714
2740
 
2715
2741
  const MIN_CREDIT_TERM = 1;
2716
2742
  const MAX_CREDIT_TERM = 180;
2717
2743
  const ITEMS_CREDIT_TERM = ['От 1 мес', 'До 15 лет'];
2718
2744
  const TermField = JSX(({ field }) => (jsx(InputRange, { title: "\u0421\u0440\u043E\u043A, \u043C\u0435\u0441\u044F\u0446\u0435\u0432", items: ITEMS_CREDIT_TERM, min: MIN_CREDIT_TERM, max: MAX_CREDIT_TERM, ...field('term') })));
2719
2745
 
2720
- const UltraPremiumField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0422\u0438\u043F \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F", options: SERVICE_TYPES, ...getValidation(field('serviceType'), validatorObj.serviceType, input?.required) })));
2746
+ const UltraPremiumField = JSX(({ field, input }) => (jsx(SelectControl, { label: "\u0422\u0438\u043F \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F", options: SERVICE_TYPES, ...field(input?.name ?? '') })));
2721
2747
 
2722
2748
  const orientationStyleMap = {
2723
2749
  horizontal: '@lg:flex-row',
2724
2750
  vertical: '',
2725
2751
  };
2726
- const RadioButtonGroup = JSX(({ label, items, value, className, onChange: onChangeCheckedItem, disabled = false, orientation = 'horizontal', }) => (jsxs("div", { className: "grid gap-xs whitespace-nowrap", children: [label ? (jsx("div", { role: "radiogroup", "aria-label": label, children: jsx(Text, { color: "text-secondary-text", font: "font-light", children: label }) })) : null, jsx("div", { className: style('flex flex-col gap-s', orientationStyleMap[orientation], className), role: "radiogroup", "aria-label": "\u0413\u0440\u0443\u043F\u043F\u0430 \u043A\u043D\u043E\u043F\u043E\u043A", children: items?.map(({ id, text }) => (jsx(Checkbox, { isRadio: true, text: text, value: value === id, onChange: () => onChangeCheckedItem && onChangeCheckedItem(id), disabled: disabled }, String(id)))) })] })));
2752
+ const RadioButtonGroup = JSX(({ label, items, value, className, disabled = false, orientation = 'horizontal', onChange: onChangeCheckedItem, }) => (jsxs("div", { className: "grid gap-xs whitespace-nowrap", children: [label ? (jsx("div", { role: "radiogroup", "aria-label": label, children: jsx(Text, { color: "text-secondary-text", font: "font-light", children: label }) })) : null, jsx("div", { className: style('flex flex-col gap-s', orientationStyleMap[orientation], className), role: "radiogroup", "aria-label": "\u0413\u0440\u0443\u043F\u043F\u0430 \u043A\u043D\u043E\u043F\u043E\u043A", children: items?.map(({ id, text }) => (jsx(Checkbox, { isRadio: true, text: text, value: value === id, onChange: () => onChangeCheckedItem?.(id), disabled: disabled }, String(id)))) })] })));
2727
2753
 
2728
2754
  const VED_TYPES = [
2729
2755
  { id: 'currencyControl', text: 'Валютный контроль' },
@@ -2731,15 +2757,14 @@
2731
2757
  { id: 'conversionTransactions', text: 'Конверсионные операции' },
2732
2758
  { id: 'otherIssues', text: 'Иные вопросы ВЭД' },
2733
2759
  ];
2734
- const VedField = JSX(({ field }) => {
2735
- const { value, onChange } = field('vedTypes');
2736
- useEffect(() => {
2737
- if (value !== 'currencyControl') {
2738
- field?.('inn')?.onChange?.('');
2739
- field?.('region')?.onChange?.('');
2760
+ const VedField = JSX(({ field, input }) => {
2761
+ const handleChange = useCallback((_) => {
2762
+ if (_ !== 'currencyControl') {
2763
+ field('inn').onChange?.('');
2764
+ field('region').onChange?.('');
2740
2765
  }
2741
- }, [value]);
2742
- return (jsx("div", { className: "py-m gap-m grid @xl:flex @xl:items-center", children: jsx(RadioButtonGroup, { className: "whitespace-normal", orientation: "horizontal", items: VED_TYPES, value: value, onChange: (_) => onChange && onChange(_) }) }));
2766
+ }, []);
2767
+ return (jsx("div", { className: "py-m gap-m grid @xl:flex @xl:items-center", children: jsx(RadioButtonGroup, { className: "whitespace-normal", orientation: "horizontal", items: VED_TYPES, ...field(input?.name ?? '', { onChange: handleChange }) }) }));
2743
2768
  });
2744
2769
 
2745
2770
  function isRenderField({ input, field, }) {
@@ -2751,42 +2776,42 @@
2751
2776
  const PRODUCT_REF = {
2752
2777
  $ref: '/wcms-resources/outservice-productlist.json',
2753
2778
  };
2754
- const InputsMap = {
2755
- fullName: (props) => jsx(FullNameField, { ...props }),
2756
- addressBranch: (props) => jsx(AddressBranchField, { ...props }),
2757
- desiredMeetingDate: (props) => jsx(DesiredMeetingDateField, { ...props }),
2779
+ const InputsMap$1 = {
2780
+ fullName: FullNameField,
2781
+ addressBranch: AddressBranchField,
2782
+ desiredMeetingDate: DesiredMeetingDateField,
2758
2783
  product: (props) => jsx(ProductField, { ...props, source: PRODUCT_REF }),
2759
- localities: (props) => jsx(LocalitiesField, { ...props }),
2760
- isClient: (props) => jsx(IsClientField, { ...props }),
2761
- partnerComments: (props) => jsx(PartnerCommentsField, { ...props }),
2762
- collectionCount: (props) => jsx(CollectionCountField, { ...props }),
2763
- acquiringType: (props) => jsx(AcquiringField, { ...props }),
2764
- onlineCheckout: (props) => jsx(OnlineCheckoutField, { ...props }),
2765
- posTerminal: (props) => jsx(PosTerminalField, { ...props }),
2766
- serviceType: (props) => jsx(UltraPremiumField, { ...props }),
2767
- term: (props) => jsx(TermField, { ...props }),
2768
- amount: (props) => jsx(AmountField, { ...props }),
2769
- annualRevenue: (props) => jsx(AnnualRevenueField, { ...props }),
2770
- vedTypes: (props) => jsx(VedField, { ...props }),
2771
- feedbackMethod: (props) => jsx(FeedbackMethodField, { ...props }),
2772
- serviceDirection: (props) => jsx(ServiceDirectionField, { ...props }),
2773
- bankEmpolee: (props) => jsx(BankEmpoleeField, { ...props }),
2774
- secondaryPhone: (props) => jsx(SecondaryPhoneField, { ...props }),
2784
+ localities: LocalitiesField,
2785
+ isClient: IsClientField,
2786
+ partnerComments: PartnerCommentsField,
2787
+ collectionCount: CollectionCountField,
2788
+ acquiringType: AcquiringField,
2789
+ onlineCheckout: OnlineCheckoutField,
2790
+ posTerminal: PosTerminalField,
2791
+ serviceType: UltraPremiumField,
2792
+ term: TermField,
2793
+ amount: AmountField,
2794
+ annualRevenue: AnnualRevenueField,
2795
+ vedTypes: VedField,
2796
+ feedbackMethod: FeedbackMethodField,
2797
+ serviceDirection: ServiceDirectionField,
2798
+ bankEmpolee: BankEmpoleeField,
2799
+ secondaryPhone: SecondaryPhoneField,
2775
2800
  applicationDate: (props) => (jsx(InputControl, { label: "\u0414\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u044F \u0432 \u0411\u0430\u043D\u043A", ...props })),
2776
2801
  region: (props) => getPremium(props?.params?.typeForm) ? (jsx(RegionPremiumField, { ...props })) : (jsx(RegionField, { ...props })),
2777
- consentToReceiveMaterials: (props) => (jsx(ConsentToReceiveMaterialsField, { ...props })),
2778
- surname: (props) => jsx(SurnameField, { ...props }),
2779
- name: (props) => jsx(NameField, { ...props }),
2780
- middleName: (props) => jsx(MiddleNameField, { ...props }),
2781
- birthday: (props) => jsx(BirthdayField, { ...props }),
2782
- phone: (props) => jsx(PhoneField, { ...props }),
2783
- email: (props) => jsx(EmailField, { ...props }),
2784
- inn: (props) => jsx(InnField, { ...props }),
2785
- comment: (props) => jsx(CommentField, { ...props }),
2802
+ consentToReceiveMaterials: ConsentToReceiveMaterialsField,
2803
+ surname: SurnameField,
2804
+ name: NameField,
2805
+ middleName: MiddleNameField,
2806
+ birthday: BirthdayField,
2807
+ phone: PhoneField,
2808
+ email: EmailField,
2809
+ inn: InnField,
2810
+ comment: CommentField,
2786
2811
  };
2787
2812
  const getField = (field, params, externalInputs = {}) => (input, i) => {
2788
2813
  const resultInputsMap = {
2789
- ...InputsMap,
2814
+ ...InputsMap$1,
2790
2815
  ...externalInputs,
2791
2816
  };
2792
2817
  return isRenderField({ input, field }) ? (jsx("div", { children: resultInputsMap[input?.name || '']?.({ field, input, params }) }, String(i))) : null;
@@ -2836,21 +2861,16 @@
2836
2861
 
2837
2862
  const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative bg-white pt-0 p-lg', className), role: "dialog", onClick: onClick, children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] })));
2838
2863
 
2839
- const ResponseTypeDialog = JSX(({ responseType, typeForm, onClose }) => {
2840
- const responseOK = responseType === 'OK';
2841
- const statusIcon = responseOK ? 'ResponseOKIcon' : 'ResponseFailIcon';
2864
+ const ResponseTypeDialog = JSX(({ ok, typeForm, onClose }) => {
2865
+ const statusIcon = ok ? 'ResponseOKIcon' : 'ResponseFailIcon';
2842
2866
  const responseOKDescription = typeForm === 'ANTIFRAUD'
2843
2867
  ? `Сообщение отправлено. Для уточнения информации с Вами могут связаться работники Банка либо Вы
2844
2868
  можете самостоятельно позвонить по номеру контакт-центра +78001000100. Будьте внимательны, работники Банка
2845
2869
  не звонят с использованием мессенджеров.`
2846
2870
  : 'Совсем скоро мы с вами свяжемся';
2847
- return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md space-x-m", children: [jsx(Img, { image: { icon: statusIcon, iconVersion: 'normal' }, width: "136", height: "136" }), jsx(Headline, { className: "w-full", title: responseOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', description: responseOK ? responseOKDescription : 'Пожалуйста, повторите позднее', headlineVersion: "XS", isEmbedded: true }), jsx(Button, { type: "button", onClick: onClose, children: "\u0425\u043E\u0440\u043E\u0448\u043E" })] }) }));
2871
+ return (jsx(Dialog, { className: "my-6xl max-w-lg w-full min-h-fit mx-auto", onClose: onClose, children: jsxs("div", { className: "flex flex-col gap-lg items-center rounded-md space-x-m", children: [jsx(Img, { image: { icon: statusIcon, iconVersion: 'normal' }, width: "136", height: "136" }), jsx(Headline, { className: "w-full", title: ok ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', description: ok ? responseOKDescription : 'Пожалуйста, повторите позднее', headlineVersion: "XS", isEmbedded: true }), jsx(Button, { type: "button", onClick: onClose, children: "\u0425\u043E\u0440\u043E\u0448\u043E" })] }) }));
2848
2872
  });
2849
2873
 
2850
- const objectValidator = (validatorsMap) => (o) => (o &&
2851
- Object.entries(validatorsMap).flatMap(([key, validator]) => validator(o[key]))) ||
2852
- [];
2853
-
2854
2874
  const getPartnerComments = (data) => {
2855
2875
  const { acquiringType, onlineCheckout = false, posTerminal = false, term, amount, annualRevenue, } = data;
2856
2876
  if (acquiringType) {
@@ -2928,46 +2948,28 @@
2928
2948
  const renderContacts = () => (jsxs("div", { className: "space-y-m", children: [jsx(Heading, { headingType: "h6", title: "\u0418\u043B\u0438 \u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0443\u0434\u043E\u0431\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C", className: "@xl:text-center" }), jsxs("div", { className: "flex sm:justify-center gap-xl", children: [jsxs("a", { className: "flex gap-s items-center text-primary-text no-underline", href: `tel:8 (800) 200-78-70`, "aria-label": "\u0442\u0435\u043B\u0435\u0444\u043E\u043D 8 (800) 200-78-70", children: [jsx(Img, { image: { icon: 'PhoneIcon' }, width: "24", height: "24" }), jsx("span", { children: "8 (800) 200-78-70" })] }), jsxs("a", { className: "flex gap-s items-center text-primary-text no-underline", "aria-label": "\u043F\u043E\u0447\u0442\u0430 ved@rshb.ru", href: `mailto:ved@rshb.ru`, children: [jsx(Img, { image: { icon: 'MailIcon' }, width: "24", height: "24" }), jsx("span", { children: "ved@rshb.ru" })] })] })] }));
2929
2949
 
2930
2950
  const API = LeadServiceAPI();
2931
- const ApplicationForm = JSX(
2932
- // eslint-disable-next-line max-lines-per-function
2933
- ({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, ...rest }) => {
2934
- const inputs = (sections?.flatMap((_) => _?.inputs) || []);
2935
- const initialFormState = getInitialFormState$3(inputs, typeForm);
2936
- const [responseType, setResponseType] = useState('');
2951
+ const ApplicationForm = JSX(({ className, title, typeForm = '', sections = [], button, link, endpoint, additionalParams, isContacts, data, ...rest }) => {
2952
+ const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
2953
+ const initialFormState = useMemo(() => getInitialFormState$3(inputs, typeForm), [inputs, typeForm]);
2954
+ const formValidator = useMemo(() => getFormValidator(inputs), [inputs]);
2937
2955
  const responseTypeDialog = useDialog(ResponseTypeDialog);
2956
+ const aspects = useAspects();
2938
2957
  const handleSubmit = useCallback(async (formData, ev) => {
2939
- const inputsFiltered = getFilteredInputs(inputs, formData);
2940
- const feedbackValidator = objectValidator(getObjectValidator(inputsFiltered));
2941
- if (!isValidationSuccess(feedbackValidator(formData))) {
2942
- return console.warn('validation fail');
2943
- }
2944
2958
  const formatData = getFormatData({ ...formData, ...additionalParams });
2945
- const status = (await API.send(formatData, endpoint === 'lead')) ? 'OK' : 'Fail';
2946
- setResponseType(status);
2947
- if (status) {
2948
- responseTypeDialog.open({ typeForm, responseType: status });
2949
- }
2950
- if (status === 'OK' && data) {
2951
- const aspects = useAspects();
2959
+ const ok = Boolean(await API.send(formatData, endpoint === 'lead'));
2960
+ responseTypeDialog.open({ ok, typeForm });
2961
+ if (ok) {
2952
2962
  handleAspects({ aspectsAttributes: data, aspects, ev });
2953
2963
  }
2954
- return status;
2955
2964
  }, [typeForm]);
2956
- const [, { field, onSubmit, reset }] = useForm(initialFormState, { onSubmit: handleSubmit });
2965
+ const [, { field, onSubmit }] = useForm(initialFormState, {
2966
+ resetOnSubmit: true,
2967
+ formValidator,
2968
+ onSubmit: handleSubmit,
2969
+ });
2957
2970
  const fieldName = getConsentDataProcessing(inputs)?.name;
2958
- useEffect(() => {
2959
- if (responseType === 'OK') {
2960
- setResponseType('');
2961
- reset();
2962
- }
2963
- }, [responseType]);
2964
2971
  return (jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [jsxs("form", { onSubmit: onSubmit, children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), (_?.inputs || [])?.map(getField(field, { typeForm }))] }, `section-${i}`))), renderAgreementSubmit(fieldName ? field('consentDataProcessing') : undefined, link, button)] }), isContacts ? renderContacts() : null] }));
2965
2972
  });
2966
- const getFilteredInputs = (inputs, data) => inputs.filter((input) => !input?.condition ||
2967
- input?.condition.values.find((_) => {
2968
- const dataValue = data?.[input?.condition?.name ?? ''];
2969
- return _ === (dataValue?.key ?? dataValue);
2970
- }));
2971
2973
 
2972
2974
  const applicationFormData = [
2973
2975
  {
@@ -3039,11 +3041,11 @@
3039
3041
  qcHouse: '',
3040
3042
  });
3041
3043
  }, []);
3042
- return (jsx(InputControl, { label: "\u0410\u0434\u0440\u0435\u0441", disabled: value, ...getValidation(field(fieldName), validatorObj[fieldName], input?.required), value: fieldValue?.fullAddress, onChange: onChange, ...input, onDaDataChange: onDaDataChange }));
3044
+ return (jsx(InputControl, { label: "\u0410\u0434\u0440\u0435\u0441", disabled: value, ...field(fieldName), value: fieldValue?.fullAddress, onChange: onChange, ...input, onDaDataChange: onDaDataChange }));
3043
3045
  });
3044
3046
 
3045
3047
  const AddressMatchField = JSX(({ field, input }) => {
3046
- return (jsx(CheckboxWithError, { text: "\u0410\u0434\u0440\u0435\u0441 \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430 \u0436\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442 \u0441 \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438", ...getValidation(field('addressMatch'), validatorObj.addressMatch, input?.required) }));
3048
+ return (jsx(CheckboxWithError, { text: "\u0410\u0434\u0440\u0435\u0441 \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043C\u0435\u0441\u0442\u0430 \u0436\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442 \u0441 \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438", ...field(input?.name ?? '') }));
3047
3049
  });
3048
3050
 
3049
3051
  const MapMarkerClusterIcon = '/icons/MapMarkerClusterIcon.svg';
@@ -3476,7 +3478,7 @@
3476
3478
 
3477
3479
  const ICONS$1 = ['ArrowDownIcon', 'ArrowUpIcon'];
3478
3480
  const labels = ['Подробнее', 'Скрыть'];
3479
- const renderFoldButton$3 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full py-2xl cursor-pointer text-primary-main flex items-center border-b border-solid border-main-divider", onClick: onToggle, type: "button", children: [jsx("div", { className: "pr-m", children: labels[Number(isUnfolded)] }), jsx(Icon, { className: "text-primary-text", name: ICONS$1[Number(isUnfolded)], width: "16", height: "16" })] }));
3481
+ const renderFoldButton$2 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full py-2xl cursor-pointer text-primary-main flex items-center border-b border-solid border-main-divider", onClick: onToggle, type: "button", children: [jsx("div", { className: "pr-m", children: labels[Number(isUnfolded)] }), jsx(Icon, { className: "text-primary-text", name: ICONS$1[Number(isUnfolded)], width: "16", height: "16" })] }));
3480
3482
 
3481
3483
  const renderWorkSchedule = (workSchedule) => {
3482
3484
  const workScheduleWeek = getWorkScheduleWeek(workSchedule);
@@ -3525,7 +3527,7 @@
3525
3527
  }) }));
3526
3528
  },
3527
3529
  //** TODO: remove styles with refactoring DefaultFoldButton*/
3528
- renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$3({ isUnfolded, onToggle }) })] }, String(i)));
3530
+ renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$2({ isUnfolded, onToggle }) })] }, String(i)));
3529
3531
  };
3530
3532
  const renderCardContent$1 = ({ phone, fax, phoneBusiness, phoneNatural, phoneCallCentre, phoneCurrencyControl, workSchedule, exchangeRate, }) => {
3531
3533
  const workScheduleWeek = getWorkScheduleWeek(workSchedule);
@@ -3639,14 +3641,14 @@
3639
3641
  const [offices, setOffices] = useState([]);
3640
3642
  const { data } = useLeadFormData('REGION_RF');
3641
3643
  const regionValue = field('regionRetail')?.value || {};
3642
- const fieldBranch = field('addressRetail');
3644
+ const addressField = field(input?.name ?? '');
3643
3645
  useEffect(() => {
3644
3646
  (async () => {
3645
3647
  const officesList = await fetchRegionOffices(regionValue?.key ?? '');
3646
3648
  setOffices(officesList);
3647
3649
  })();
3648
3650
  if (regionValue?.key) {
3649
- field?.('addressRetail')?.onChange?.('');
3651
+ addressField.onChange?.('');
3650
3652
  }
3651
3653
  }, [regionValue.key]);
3652
3654
  const { points } = useOfficesAtmsMapData({
@@ -3654,21 +3656,20 @@
3654
3656
  filtrationState: {},
3655
3657
  getBalloon: getOfficePoint,
3656
3658
  });
3657
- const isRegionSelected = Boolean(regionValue?.key);
3658
3659
  return (jsxs("div", { children: [jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u044F", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", options: offices.map(({ id, address = '' }) => ({
3659
3660
  key: id?.toString() || '',
3660
3661
  text: address,
3661
- })), ...getValidation(field('addressRetail'), validatorObj.addressRetail, input?.required && isRegionSelected), isSearch: true }), jsx("div", { className: "h-[600px]", children: jsx(ClientOnly, { children: jsx(YandexMap, { points: points, isLoad: !data, className: "h-full", selectedAddress: fieldBranch?.value?.text }) }) })] }));
3662
+ })), ...addressField, isSearch: true }), jsx("div", { className: "h-[600px]", children: jsx(ClientOnly, { children: jsx(YandexMap, { points: points, isLoad: !data, className: "h-full", selectedAddress: addressField?.value?.text }) }) })] }));
3662
3663
  });
3663
3664
 
3664
- const SelectField = UniBlock(({ field, source, fieldName, input, placeholder = 'Выберите из списка',
3665
+ const SelectField = UniBlock(({ field, source, fieldName, placeholder = 'Выберите из списка',
3665
3666
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3666
3667
  options, ...rest }) => {
3667
3668
  const leadOptions = source?.map((_) => ({
3668
3669
  key: _.key || '',
3669
3670
  text: _.value,
3670
3671
  })) || [];
3671
- return (jsx(SelectControl, { placeholder: placeholder, options: leadOptions, ...getValidation(field(fieldName), validatorObj[fieldName], input?.required), ...rest }));
3672
+ return (jsx(SelectControl, { placeholder: placeholder, options: leadOptions, ...field(fieldName), ...rest }));
3672
3673
  });
3673
3674
 
3674
3675
  const AmountWorkersField = JSX(({ field, input }) => {
@@ -3682,16 +3683,16 @@
3682
3683
  return (jsx(SelectField, { field: field, source: store.amountWorkers ?? [], label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0449\u0438\u0445 \u0432 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", fieldName: "amountWorkers", input: input }));
3683
3684
  });
3684
3685
 
3685
- const ArmyIdFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u041D\u0430\u043B\u0438\u0447\u0438\u0435 \u0432\u043E\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u0438\u043B\u0435\u0442\u0430", ...getValidation(field('armyIdFlg'), validatorObj.armyIdFlg, input?.required) })));
3686
+ const ArmyIdFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u041D\u0430\u043B\u0438\u0447\u0438\u0435 \u0432\u043E\u0435\u043D\u043D\u043E\u0433\u043E \u0431\u0438\u043B\u0435\u0442\u0430", ...field(input?.name ?? '') })));
3686
3687
 
3687
- const BankEmpoleeCodeField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u0434 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044F \u0411\u0430\u043D\u043A\u0430", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0434", isInteger: true, ...getValidation(field('bankEmployeeCode'), validatorObj.bankEmployeeCode, input?.required), ...input })));
3688
+ const BankEmpoleeCodeField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u0434 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044F \u0411\u0430\u043D\u043A\u0430", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0434", isInteger: true, ...field(input?.name ?? ''), ...input })));
3688
3689
 
3689
- const BankruptcyFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u0412 \u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0438 \u043C\u0435\u043D\u044F \u0432\u0435\u0434\u0451\u0442\u0441\u044F \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0441\u0442\u0432\u043E \u043F\u043E \u0434\u0435\u043B\u0443 \u043E \u0431\u0430\u043D\u043A\u0440\u043E\u0442\u0441\u0442\u0432\u0435", ...getValidation(field('bankruptcyFlg'), validatorObj.bankruptcyFlg, input?.required) })));
3690
+ const BankruptcyFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u0412 \u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0438 \u043C\u0435\u043D\u044F \u0432\u0435\u0434\u0451\u0442\u0441\u044F \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0441\u0442\u0432\u043E \u043F\u043E \u0434\u0435\u043B\u0443 \u043E \u0431\u0430\u043D\u043A\u0440\u043E\u0442\u0441\u0442\u0432\u0435", ...field(input?.name ?? '') })));
3690
3691
 
3691
- const BeginDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u043D\u0430\u0447\u0430\u043B\u0430 \u0440\u0430\u0431\u043E\u0442\u044B \u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u043C\u0435\u0441\u0442\u0435", ...getValidation(field('beginDate'), validatorObj.beginDate, input?.required), ...input })));
3692
+ const BeginDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u043D\u0430\u0447\u0430\u043B\u0430 \u0440\u0430\u0431\u043E\u0442\u044B \u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u043C\u0435\u0441\u0442\u0435", ...field(input?.name ?? ''), ...input })));
3692
3693
 
3693
- const FIELD_NAME$9 = 'birthPlace';
3694
- const BirthPlaceField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...getValidation(field('birthPlace'), validatorObj.birthPlace, input?.required), ...input, disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$9) })));
3694
+ const FIELD_NAME$1 = 'birthPlace';
3695
+ const BirthPlaceField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? ''), ...input, disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$1) })));
3695
3696
 
3696
3697
  const getCardTypes = async (paymentSystemTypeCd, creditProgramId) => {
3697
3698
  const data = await fetchRetailJSON('/dictionaryFiltered', 'POST', {
@@ -3743,9 +3744,9 @@
3743
3744
  });
3744
3745
  const isValidCardCategory = (cardTypes, selectedCardCategory) => cardTypes.some((cardType) => cardType.key === selectedCardCategory?.key);
3745
3746
 
3746
- const ChildrenField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...getValidation(field('children'), validatorObj.children, input?.required), ...input })));
3747
+ const ChildrenField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
3747
3748
 
3748
- const CodeWordField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", ...getValidation(field('codeWord'), validatorObj.codeWord, input?.required), ...input })));
3749
+ const CodeWordField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", ...field(input?.name ?? ''), ...input })));
3749
3750
 
3750
3751
  const ConfirmationIncomeField = JSX(({ field, input }) => {
3751
3752
  const { data: confirmationIncome } = useLeadFormData('INCOME_CERT_UNITED');
@@ -3808,7 +3809,7 @@
3808
3809
  return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsx(LinkButton, { className: "text-primary-main", onClick: openDocument, children: jsx(Text, { children: OPEN_DOC_BUTTON_TEXT }) })) : null] }), renderErrorText(error)] }));
3809
3810
  });
3810
3811
 
3811
- const ConsentField = JSX(({ field, input }) => input && input.name ? (jsx(CheckboxWithDoc, { text: CONSENTS[input.name]?.text, docId: CONSENTS[input.name]?.docId, ...getValidation(field(input.name), validatorObj[input.name], input?.required) })) : null);
3812
+ const ConsentField = JSX(({ field, input }) => input && input.name ? (jsx(CheckboxWithDoc, { text: CONSENTS[input.name]?.text, docId: CONSENTS[input.name]?.docId, ...field(input.name) })) : null);
3812
3813
 
3813
3814
  const MONTHS_IN_YEAR$1 = 12;
3814
3815
  const MONTHLY_INTEREST_RATE = MONTHS_IN_YEAR$1 * 100;
@@ -4037,7 +4038,7 @@
4037
4038
  };
4038
4039
  const CalculatorCredit = UniBlock(({ className, title, calcSource, buttons, footnote, paramsViewSettings, defaultParams, onChange, ...rest }) => {
4039
4040
  const defaultParamsCals = getDefaultParamsMin(calcSource?.rateRows);
4040
- const [userInputParams, { field, isDirty }] = useForm({
4041
+ const [userInputParams, { field }] = useForm({
4041
4042
  moneyValue: getMoneyDefaultValue(defaultParams, CREDIT_DEFAULT_SUM),
4042
4043
  monthsValue: getMonthsDefaultValue(defaultParams, DEFAULT_MONTHS),
4043
4044
  isAnnuity: Boolean(defaultParams?.isAnnuity),
@@ -4045,10 +4046,7 @@
4045
4046
  isSalaryClient: Boolean(defaultParams?.isEnableSalaryClient),
4046
4047
  isPensionClient: Boolean(defaultParams?.isEnablePensionClient),
4047
4048
  isStateEmployee: Boolean(defaultParams?.isEnableStateEmployee),
4048
- });
4049
- useEffect(() => {
4050
- isDirty && onChange?.(userInputParams);
4051
- }, [userInputParams, isDirty]);
4049
+ }, { onChange });
4052
4050
  const calcParams = getCreditCalculatorParams(userInputParams, calcSource, paramsViewSettings);
4053
4051
  const paymentTypeElement = renderPaymentType({
4054
4052
  title: 'Тип платежа',
@@ -4093,12 +4091,12 @@
4093
4091
  });
4094
4092
  const renderCreditParamsForm$1 = (params, field) => (jsxs("div", { className: "flex flex-col gap-y-2xl", children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: `Получаю зарплату на счёт\nв Россельхозбанке`, ...field('isSalaryClient'), value: params.isSalaryClient, className: "whitespace-pre-line sm:whitespace-normal" })) : null, params.isShowStateEmployee ? (jsx(Checkbox, { text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('isStateEmployee'), value: params.isStateEmployee })) : null, params.isShowPensionClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", ...field('isPensionClient'), value: params.isPensionClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null] }));
4095
4093
 
4096
- const FIELD_NAME$8 = 'calculator';
4094
+ const FIELD_NAME = 'calculator';
4097
4095
  const CreditCalcField = JSX(({ field, params }) => {
4098
4096
  const handleChange = useCallback((_) => {
4099
- field(FIELD_NAME$8).onChange?.(_);
4097
+ field(FIELD_NAME).onChange?.(_);
4100
4098
  }, []);
4101
- return (jsx(CalculatorCredit, { ...params?.calcData, padding: "p-0", defaultParams: defaultValueAdapter(field(FIELD_NAME$8).value), onChange: handleChange }));
4099
+ return (jsx(CalculatorCredit, { ...params?.calcData, padding: "p-0", defaultParams: defaultValueAdapter(field(FIELD_NAME).value), onChange: handleChange }));
4102
4100
  });
4103
4101
  const PARAMS_MAP = {
4104
4102
  moneyValue: 'sum',
@@ -4123,44 +4121,36 @@
4123
4121
  return (jsx(SelectField, { field: field, source: creditInRshbCd, label: LABEL_TEXT, fieldName: "creditInRshbCd", input: input, disabled: !field?.('shareholderFlg')?.value }));
4124
4122
  });
4125
4123
 
4126
- const RadioButtonGroupControl = JSX(({ className, label, onChange, error, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(RadioButtonGroup, { label: getRequiredLabel({ label, errors: rest?.errors }), onChange: (_) => onChange && onChange(_), ...rest }), renderErrorText(error)] })));
4124
+ const RadioButtonGroupControl = JSX(({ className, label, error, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(RadioButtonGroup, { label: getRequiredLabel({ label, errors: rest?.errors }), ...rest }), renderErrorText(error)] })));
4127
4125
 
4128
- const CurrencyField = JSX(({ field, input }) => {
4129
- const { value, onChange } = field('currency');
4130
- const currencyTypes = [{ id: '810', text: 'Рубли' }];
4131
- return (jsx(RadioButtonGroupControl, { label: "\u0412\u0430\u043B\u044E\u0442\u0430", orientation: "horizontal", items: currencyTypes, value: value, onChange: (_) => onChange?.(_), ...getValidation(field('currency'), validatorObj.currency, input?.required) }));
4132
- });
4126
+ const CURRENCY_TYPES = [{ id: '810', text: 'Рубли' }];
4127
+ const CurrencyField = JSX(({ field, input }) => (jsx(RadioButtonGroupControl, { label: "\u0412\u0430\u043B\u044E\u0442\u0430", orientation: "horizontal", items: CURRENCY_TYPES, ...field(input?.name ?? '') })));
4133
4128
 
4134
- const DeliveryDateFiels = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...getValidation(field('deliveryDate'), validatorObj.deliveryDate, input?.required) })));
4129
+ const DeliveryDateFiels = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", ...field(input?.name ?? '') })));
4135
4130
 
4136
- const DependentsField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", isInteger: true, maxLength: 2, ...getValidation(field('dependents'), validatorObj.dependents, input?.required), ...input })));
4131
+ const DependentsField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input })));
4137
4132
 
4138
- const DisablePeopleFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u0438\u043D\u0432\u0430\u043B\u0438\u0434\u043E\u043C", ...getValidation(field('disablePeopleFlg'), validatorObj.disablePeopleFlg, input?.required) })));
4133
+ const DisablePeopleFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u0438\u043D\u0432\u0430\u043B\u0438\u0434\u043E\u043C", ...field(input?.name ?? '') })));
4139
4134
 
4140
- const FIELD_NAME$7 = 'dulIssueDateField';
4141
- const DulIssueDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...getValidation(field(FIELD_NAME$7), validatorObj.dulIssueDateField, input?.required), disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$7) })));
4135
+ 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 ?? '') })));
4142
4136
 
4143
- const FIELD_NAME$6 = 'dulIssuedBy';
4144
4137
  const DulIssuedByField = JSX(({ field, input }) => {
4145
4138
  const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
4146
4139
  const onDaDataChange = useCallback((item) => {
4147
4140
  changeDulSubdivisionCode?.(item?.data?.code?.replace('-', ''));
4148
4141
  }, []);
4149
- return (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$6), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", ...input, ...getValidation(field(FIELD_NAME$6), validatorObj.dulIssuedBy, input?.required), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
4142
+ return (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, input?.name ?? ''), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
4150
4143
  });
4151
4144
 
4152
- const FIELD_NAME$5 = 'dulNumber';
4153
- const DulNumberField = JSX(({ field, input }) => (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$5), label: "\u041D\u043E\u043C\u0435\u0440 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 6, ...getValidation(field('dulNumber'), validatorObj.dulNumber, input?.required) })));
4145
+ const DulNumberField = JSX(({ field, input }) => (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), label: "\u041D\u043E\u043C\u0435\u0440 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 6, ...field(input?.name ?? '') })));
4154
4146
 
4155
- const FIELD_NAME$4 = 'dulSerie';
4156
- const DulSerieField = JSX(({ field, input }) => (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$4), label: "\u0421\u0435\u0440\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 4, ...getValidation(field('dulSerie'), validatorObj.dulSerie, input?.required) })));
4147
+ const DulSerieField = JSX(({ field, input }) => (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), label: "\u0421\u0435\u0440\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 4, ...field(input?.name ?? '') })));
4157
4148
 
4158
- const FIELD_NAME$3 = 'dulSubdivisionCode';
4159
4149
  const DulSubdivisionCodeField = JSX(({ field, input }) => {
4160
4150
  const onDaDataChange = useCallback((item) => {
4161
4151
  field?.('dulIssuedBy')?.onChange?.(item?.data?.name);
4162
4152
  }, []);
4163
- return (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$3), label: "\u041A\u043E\u0434 \u043F\u043E\u0434\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u044F", isInteger: true, maxLength: 6, ...input, ...getValidation(field(FIELD_NAME$3), validatorObj.dulSubdivisionCode, input?.required), onDaDataChange: onDaDataChange }));
4153
+ return (jsx(InputControl, { disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? ''), label: "\u041A\u043E\u0434 \u043F\u043E\u0434\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u044F", isInteger: true, maxLength: 6, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
4164
4154
  });
4165
4155
 
4166
4156
  const EducationField = JSX(({ field, input }) => {
@@ -4195,27 +4185,26 @@
4195
4185
  return (jsx(SelectField, { field: field, source: employment, label: "\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u0440\u0443\u0434\u043E\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435", fieldName: "employment", input: input }));
4196
4186
  });
4197
4187
 
4198
- const ExpensesField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0440\u0430\u0441\u0445\u043E\u0434\u044B \u0432 \u043C\u0435\u0441\u044F\u0446", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...getValidation(field('expenses'), validatorObj.expenses, input?.required), ...input })));
4188
+ const ExpensesField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0440\u0430\u0441\u0445\u043E\u0434\u044B \u0432 \u043C\u0435\u0441\u044F\u0446", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4199
4189
 
4200
- const FIELD_NAME$2 = 'experience5Years';
4201
4190
  const MAX_YEARS = 5;
4202
4191
  const MIN_YEARS = 0;
4203
4192
  const Experience5YearsField = JSX(({ field, input }) => {
4204
- const onChange = useCallback((value) => field(FIELD_NAME$2)?.onChange?.(String(clamp(Number(value), MIN_YEARS, MAX_YEARS))), []);
4205
- return (jsx(InputControl, { label: "\u0421\u0442\u0430\u0436", placeholder: "\u0417\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", type: "number", ...getValidation(field(FIELD_NAME$2), validatorObj[FIELD_NAME$2], input?.required), ...input, onChange: onChange }));
4193
+ const onChange = useCallback((value) => field(input?.name ?? '')?.onChange?.(String(clamp(Number(value), MIN_YEARS, MAX_YEARS))), []);
4194
+ return (jsx(InputControl, { label: "\u0421\u0442\u0430\u0436", placeholder: "\u0417\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", type: "number", ...field(input?.name ?? ''), ...input, onChange: onChange }));
4206
4195
  });
4207
4196
 
4208
- const FamilyMembersField = JSX(({ field }) => {
4209
- const { value, onChange } = field('familyMembers');
4197
+ const FamilyMembersField = JSX(({ field, input }) => {
4198
+ const { value, onChange } = field(input?.name ?? '');
4210
4199
  const familyStatusKey = field('familyStatus')?.value?.key;
4211
4200
  const adultsCount = familyStatusKey === 'MARRIED' ? 2 : 1;
4212
4201
  const childrenCount = Number(field('children')?.value);
4213
4202
  const dependentsCount = Number(field('dependents')?.value);
4214
4203
  const totalCount = adultsCount + childrenCount + dependentsCount;
4215
4204
  useEffect(() => {
4216
- field?.('familyMembers')?.onChange?.(totalCount);
4205
+ onChange?.(totalCount);
4217
4206
  }, [familyStatusKey, childrenCount, dependentsCount]);
4218
- return (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0447\u043B\u0435\u043D\u043E\u0432 \u0441\u0435\u043C\u044C\u0438", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", type: "number", disabled: true, value: value, onChange: (_) => onChange?.(_) }));
4207
+ return (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0447\u043B\u0435\u043D\u043E\u0432 \u0441\u0435\u043C\u044C\u0438", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", type: "number", disabled: true, value: value, onChange: onChange }));
4219
4208
  });
4220
4209
 
4221
4210
  const FamilyStatusField = JSX(({ field, input }) => {
@@ -4223,7 +4212,7 @@
4223
4212
  return (jsx(SelectField, { field: field, source: familyStatus, label: "\u0421\u0435\u043C\u0435\u0439\u043D\u043E\u0435 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", fieldName: "familyStatus", input: input }));
4224
4213
  });
4225
4214
 
4226
- const GeneralSeniorityField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", type: "number", maxLength: 2, placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", ...getValidation(field('generalSeniority'), validatorObj.generalSeniority, input?.required), ...input })));
4215
+ const GeneralSeniorityField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", type: "number", maxLength: 2, placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", ...field(input?.name ?? ''), ...input })));
4227
4216
 
4228
4217
  const HousingField = JSX(({ field, input }) => {
4229
4218
  const { data: housing } = useLeadFormData('HOUSE_TYPE');
@@ -4234,26 +4223,25 @@
4234
4223
 
4235
4224
  const InfoCardField = JSX(({ input }) => (jsx(InfoCard, { __html: input?.label })));
4236
4225
 
4237
- const JobsNumberField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442", isInteger: true, maxLength: 2, ...getValidation(field('jobsNumber'), validatorObj.jobsNumber, input?.required), ...input })));
4226
+ const JobsNumberField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input })));
4238
4227
 
4239
- const LastJobExperienceField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0421\u0442\u0430\u0436 \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", maxLength: 2, ...getValidation(field('lastJobExperience'), validatorObj.lastJobExperience, input?.required), ...input })));
4228
+ const LastJobExperienceField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0421\u0442\u0430\u0436 \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", maxLength: 2, ...field(input?.name ?? ''), ...input })));
4240
4229
 
4241
4230
  const LegalEntityNameField = JSX(({ field, input }) => {
4242
- return (jsx(InputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043B\u0438\u0446\u0430", ...input, ...getValidation(field('legalEntityName'), validatorObj.legalEntityName, input?.required), disabled: !field?.('shareholderFlg')?.value }));
4231
+ return (jsx(InputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043B\u0438\u0446\u0430", ...input, ...field(input?.name ?? ''), disabled: !field?.('shareholderFlg')?.value }));
4243
4232
  });
4244
4233
 
4245
- const LegalFormField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u041F\u0424", placeholder: "\u041E\u041E\u041E, \u041F\u0410\u041E \u0438 \u0434\u0440.", ...getValidation(field('legalForm'), validatorObj.legalForm, input?.required), ...input })));
4234
+ const LegalFormField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u041F\u0424", placeholder: "\u041E\u041E\u041E, \u041F\u0410\u041E \u0438 \u0434\u0440.", ...field(input?.name ?? ''), ...input })));
4246
4235
 
4247
- const FIELD_NAME$1 = 'limitedBirthday';
4248
- const LimitedBirthdayField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...getValidation(field(FIELD_NAME$1), validatorObj.limitedBirthday, input?.required), disabled: input?.filledByEsia && isEsiaAuthorize(field, FIELD_NAME$1) })));
4236
+ const LimitedBirthdayField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? ''), disabled: input?.filledByEsia && isEsiaAuthorize(field, input.name ?? '') })));
4249
4237
 
4250
- const MandatoryPaymentsField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0432\u044B\u043F\u043B\u0430\u0442\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...getValidation(field('mandatoryPayments'), validatorObj.mandatoryPayments, input?.required), ...input })));
4238
+ const MandatoryPaymentsField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0432\u044B\u043F\u043B\u0430\u0442\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4251
4239
 
4252
4240
  const METHODS_OF_OBTAIN = [
4253
4241
  { id: 'office', text: 'В отделении Банка' },
4254
4242
  { id: 'courier', text: 'Курьерская доставка' },
4255
4243
  ];
4256
- const MethodObtainField = JSX(({ field, input }) => (jsx(RadioButtonGroupControl, { orientation: "horizontal", items: METHODS_OF_OBTAIN, ...getValidation(field('methodObtain'), validatorObj.methodObtain, input?.required) })));
4244
+ const MethodObtainField = JSX(({ field, input }) => (jsx(RadioButtonGroupControl, { orientation: "horizontal", items: METHODS_OF_OBTAIN, ...field(input?.name ?? '') })));
4257
4245
 
4258
4246
  const OrganizationField = JSX(({ field, input }) => {
4259
4247
  const { data } = useLeadFormData('ORGANIZATION_TYPE');
@@ -4272,19 +4260,18 @@
4272
4260
  field?.('inn')?.onChange?.(item.data?.inn);
4273
4261
  updateOrganizationFields(store, field, item);
4274
4262
  }, []);
4275
- return (jsx(InputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...input, ...getValidation(field('organizationName'), validatorObj.organizationName, input?.required), onDaDataChange: onDaDataChange }));
4263
+ return (jsx(InputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange }));
4276
4264
  });
4277
4265
 
4278
- const OtherIncomeField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u043D\u044B\u0435 \u0434\u043E\u0445\u043E\u0434\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...getValidation(field('otherIncome'), validatorObj.otherIncome, input?.required), ...input })));
4266
+ const OtherIncomeField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0418\u043D\u044B\u0435 \u0434\u043E\u0445\u043E\u0434\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4279
4267
 
4280
- const ParticipantDateRegistrationField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043F\u043E \u043C\u0435\u0441\u0442\u0443 \u0436\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430", ...getValidation(field('participantDateRegistration'), validatorObj.participantDateRegistration, input?.required) })));
4268
+ const ParticipantDateRegistrationField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043F\u043E \u043C\u0435\u0441\u0442\u0443 \u0436\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430", ...field(input?.name ?? '') })));
4281
4269
 
4282
4270
  const MAX_PART = 100;
4283
4271
  const MIN_PART = 0;
4284
- const FIELD_NAME = 'partInBusiness';
4285
4272
  const PartInBusinessField = JSX(({ field, input }) => {
4286
- const onChange = useCallback((value) => field(FIELD_NAME)?.onChange?.(String(clamp(Number(value), MIN_PART, MAX_PART))), []);
4287
- return (jsx(InputControl, { label: "\u0414\u043E\u043B\u044F \u0443\u0447\u0430\u0441\u0442\u0438\u044F \u0432 \u0431\u0438\u0437\u043D\u0435\u0441\u0435", placeholder: "\u0432 %", isInteger: true, maxLength: 3, ...getValidation(field(FIELD_NAME), validatorObj.partInBusiness, input?.required), ...input, onChange: onChange }));
4273
+ const onChange = useCallback((value) => field(input?.name ?? '')?.onChange?.(String(clamp(Number(value), MIN_PART, MAX_PART))), []);
4274
+ return (jsx(InputControl, { label: "\u0414\u043E\u043B\u044F \u0443\u0447\u0430\u0441\u0442\u0438\u044F \u0432 \u0431\u0438\u0437\u043D\u0435\u0441\u0435", placeholder: "\u0432 %", isInteger: true, maxLength: 3, ...field(input?.name ?? ''), ...input, onChange: onChange }));
4288
4275
  });
4289
4276
 
4290
4277
  const getPaymentSystems = async (creditProgramId) => {
@@ -4298,22 +4285,34 @@
4298
4285
  text: _.name,
4299
4286
  }));
4300
4287
 
4288
+ function useAsyncEffect(effect, deps) {
4289
+ useEffect(() => {
4290
+ const free = effect();
4291
+ return () => {
4292
+ free.then((_) => {
4293
+ _ instanceof Function && _();
4294
+ });
4295
+ };
4296
+ }, deps);
4297
+ }
4298
+
4299
+ const optionKey = (option) => option?.key;
4301
4300
  const PaymentSystemField = JSX(({ field, input }) => {
4302
- const { value, onChange } = field('paymentSystem');
4303
- const [programId] = useLocalStorage('programId');
4304
4301
  const [paymentSystemOptions, setPaymentSystemOptions] = useState([]);
4305
- useEffect(() => {
4302
+ const localStore = useLocalStore();
4303
+ useAsyncEffect(async () => {
4304
+ const { programId } = localStore;
4306
4305
  if (programId) {
4307
- (async () => {
4308
- const fetchedPaymentSystems = await getPaymentSystems(programId);
4309
- setPaymentSystemOptions(fetchedPaymentSystems || []);
4310
- })();
4306
+ const fetchedPaymentSystems = await getPaymentSystems(programId);
4307
+ setPaymentSystemOptions(fetchedPaymentSystems ?? []);
4311
4308
  }
4312
4309
  }, []);
4313
- const handleChange = useCallback((type) => onChange?.(paymentSystemOptions?.find((_) => _.key === type)), [paymentSystemOptions, onChange]);
4314
- return (jsx(RadioButtonGroupControl, { label: "\u041F\u043B\u0430\u0442\u0435\u0436\u043D\u0430\u044F \u0441\u0438\u0441\u0442\u0435\u043C\u0430", orientation: "horizontal", items: formatPaymentSystems(paymentSystemOptions), ...getValidation(field('paymentSystem'), validatorObj.paymentSystem, input?.required), value: value?.key, onChange: handleChange }));
4310
+ const items = useMemo(() => paymentSystemOptions?.map((_) => ({ id: _.key, text: _.text })) ?? [], [paymentSystemOptions]);
4311
+ return (jsx(RadioButtonGroupControl, { label: "\u041F\u043B\u0430\u0442\u0435\u0436\u043D\u0430\u044F \u0441\u0438\u0441\u0442\u0435\u043C\u0430", orientation: "horizontal", items: items, ...field(input?.name ?? '', {
4312
+ format: optionKey,
4313
+ parse: (key) => paymentSystemOptions?.find((_) => _.key === key),
4314
+ }) }));
4315
4315
  });
4316
- const formatPaymentSystems = (paymentSystems) => paymentSystems?.map((_) => ({ id: _.key, text: _.text })) ?? [];
4317
4316
 
4318
4317
  const PositionOrganizationField = JSX(({ field, input }) => {
4319
4318
  const { data: positionOrganization } = useLeadFormData('POSITION');
@@ -4323,10 +4322,10 @@
4323
4322
  const RegionRetailField = JSX(({ field, input }) => {
4324
4323
  const { data: regions } = useLeadFormData('REGION_RF');
4325
4324
  const formatRegions = regions?.map(({ key, value }) => ({ key, text: value }));
4326
- return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: formatRegions, ...getValidation(field('regionRetail'), validatorObj.regionRetail, input?.required) }));
4325
+ return (jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: formatRegions, ...field(input?.name ?? '') }));
4327
4326
  });
4328
4327
 
4329
- const RetirementIncomeField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041F\u0435\u043D\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u0434\u043E\u0445\u043E\u0434\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...getValidation(field('retirementIncome'), validatorObj.retirementIncome, input?.required), ...input })));
4328
+ const RetirementIncomeField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u041F\u0435\u043D\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u0434\u043E\u0445\u043E\u0434\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
4330
4329
 
4331
4330
  const GENDERS = ['male', 'female'];
4332
4331
  const getGenderFromName = async (name) => {
@@ -4356,10 +4355,10 @@
4356
4355
  })();
4357
4356
  }
4358
4357
  }, []);
4359
- return (jsx(RadioButtonGroupControl, { label: "\u041F\u043E\u043B", orientation: "horizontal", items: SEX_TYPES, ...getValidation(field('sex'), validatorObj.sex, input?.required) }));
4358
+ return (jsx(RadioButtonGroupControl, { label: "\u041F\u043E\u043B", orientation: "horizontal", items: SEX_TYPES, ...field(input?.name ?? '') }));
4360
4359
  });
4361
4360
 
4362
- const ShareholderFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u042F \u044F\u0432\u043B\u044F\u044E\u0441\u044C \u0430\u043A\u0446\u0438\u043E\u043D\u0435\u0440\u043E\u043C / \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u043A\u043E\u043C / \u0447\u043B\u0435\u043D\u043E\u043C / \u043F\u0430\u0439\u0449\u0438\u043A\u043E\u043C / \u0432\u043A\u043B\u0430\u0434\u0447\u0438\u043A\u043E\u043C \u0441 \u0434\u043E\u043B\u0435\u0439 \u0443\u0447\u0430\u0441\u0442\u0438\u044F \u0431\u043E\u043B\u0435\u0435 20% \u0443\u0441\u0442\u0430\u0432\u043D\u043E\u0433\u043E \u043A\u0430\u043F\u0438\u0442\u0430\u043B\u0430 \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043B\u0438\u0446\u0430", ...getValidation(field('shareholderFlg'), validatorObj.shareholderFlg, input?.required) })));
4361
+ const ShareholderFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u042F \u044F\u0432\u043B\u044F\u044E\u0441\u044C \u0430\u043A\u0446\u0438\u043E\u043D\u0435\u0440\u043E\u043C / \u0443\u0447\u0430\u0441\u0442\u043D\u0438\u043A\u043E\u043C / \u0447\u043B\u0435\u043D\u043E\u043C / \u043F\u0430\u0439\u0449\u0438\u043A\u043E\u043C / \u0432\u043A\u043B\u0430\u0434\u0447\u0438\u043A\u043E\u043C \u0441 \u0434\u043E\u043B\u0435\u0439 \u0443\u0447\u0430\u0441\u0442\u0438\u044F \u0431\u043E\u043B\u0435\u0435 20% \u0443\u0441\u0442\u0430\u0432\u043D\u043E\u0433\u043E \u043A\u0430\u043F\u0438\u0442\u0430\u043B\u0430 \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043B\u0438\u0446\u0430", ...field(input?.name ?? '') })));
4363
4362
 
4364
4363
  const SnilsInput = JSX(({ children, onChange, maxLength, ...inputProps }) => {
4365
4364
  const handleChange = useCallback((v) => maxLength
@@ -4375,86 +4374,86 @@
4375
4374
 
4376
4375
  const InputSnilsControl = JSX(({ className, label, value, error, onChange, onBlur, ...rest }) => (jsxs("div", { className: style('shrink-0 w-full', className), children: [jsx(SnilsInput, { "aria-label": label, label: getRequiredLabel({ label, errors: rest?.errors }), valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur, placeholder: "___-___-___ __", ...rest }), renderErrorText(error)] })));
4377
4376
 
4378
- const SnilsField = JSX(({ field, input }) => (jsx(InputSnilsControl, { label: "\u0421\u041D\u0418\u041B\u0421", maxLength: 14, ...getValidation(field('snils'), validatorObj.snils, input?.required), ...input })));
4377
+ const SnilsField = JSX(({ field, input }) => (jsx(InputSnilsControl, { label: "\u0421\u041D\u0418\u041B\u0421", maxLength: 14, ...field(input?.name ?? ''), ...input })));
4379
4378
 
4380
- const TotalIncomeField = JSX(({ field, input }) => (jsx(InputControl, { 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, ...getValidation(field('totalIncome'), validatorObj.totalIncome, input?.required), ...input })));
4379
+ const TotalIncomeField = JSX(({ field, input }) => (jsx(InputControl, { 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 })));
4381
4380
 
4382
- const WagesField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\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, ...getValidation(field('wages'), validatorObj.wages, input?.required), ...input })));
4381
+ const WagesField = JSX(({ field, input }) => (jsx(InputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\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 })));
4383
4382
 
4384
4383
  const InputsApplicationLeadMap = {
4385
- limitedBirthday: (props) => jsx(LimitedBirthdayField, { ...props }),
4384
+ limitedBirthday: LimitedBirthdayField,
4386
4385
  };
4387
4386
  const InputsConsentsMap = {
4388
- processPersonalDataFlg: (props) => jsx(ConsentField, { ...props }),
4389
- consentProviderFlg: (props) => jsx(ConsentField, { ...props }),
4390
- consentOthersFlg: (props) => jsx(ConsentField, { ...props }),
4391
- consentInformFlg: (props) => jsx(ConsentField, { ...props }),
4392
- consentPfrFlg: (props) => jsx(ConsentField, { ...props }),
4387
+ processPersonalDataFlg: ConsentField,
4388
+ consentProviderFlg: ConsentField,
4389
+ consentOthersFlg: ConsentField,
4390
+ consentInformFlg: ConsentField,
4391
+ consentPfrFlg: ConsentField,
4393
4392
  };
4394
4393
  const InputsRetailMap = {
4395
- organization: (props) => jsx(OrganizationField, { ...props }),
4396
- organizationAddress: (props) => jsx(AddressField, { ...props }),
4397
- organizationPhone: (props) => jsx(PhoneField, { ...props }),
4398
- organizationName: (props) => jsx(OrganizationNameField, { ...props }),
4399
- legalForm: (props) => jsx(LegalFormField, { ...props }),
4400
- generalSeniority: (props) => jsx(GeneralSeniorityField, { ...props }),
4401
- lastJobExperience: (props) => jsx(LastJobExperienceField, { ...props }),
4402
- experience5Years: (props) => jsx(Experience5YearsField, { ...props }),
4403
- jobsNumber: (props) => jsx(JobsNumberField, { ...props }),
4404
- beginDate: (props) => jsx(BeginDateField, { ...props }),
4405
- addressFact: (props) => jsx(AddressFactField, { ...props }),
4406
- addressRegistration: (props) => jsx(AddressField, { ...props }),
4407
- addressRetail: (props) => jsx(AddressRetailField, { ...props }),
4408
- addressMatch: (props) => jsx(AddressMatchField, { ...props }),
4409
- sex: (props) => jsx(SexField, { ...props }),
4410
- limitedBirthday: (props) => jsx(LimitedBirthdayField, { ...props }),
4411
- birthPlace: (props) => jsx(BirthPlaceField, { ...props }),
4412
- education: (props) => jsx(EducationField, { ...props }),
4413
- housing: (props) => jsx(HousingField, { ...props }),
4414
- amountWorkers: (props) => jsx(AmountWorkersField, { ...props }),
4415
- employment: (props) => jsx(EmploymentField, { ...props }),
4416
- employerActivities: (props) => jsx(EmployerActivitiesField, { ...props }),
4417
- employerOrganization: (props) => jsx(EmployerOrganizationField, { ...props }),
4418
- positionOrganization: (props) => jsx(PositionOrganizationField, { ...props }),
4419
- familyStatus: (props) => jsx(FamilyStatusField, { ...props }),
4420
- familyMembers: (props) => jsx(FamilyMembersField, { ...props }),
4421
- children: (props) => jsx(ChildrenField, { ...props }),
4422
- dependents: (props) => jsx(DependentsField, { ...props }),
4423
- totalIncome: (props) => jsx(TotalIncomeField, { ...props }),
4424
- expenses: (props) => jsx(ExpensesField, { ...props }),
4425
- snils: (props) => jsx(SnilsField, { ...props }),
4426
- conscription: (props) => jsx(ConscriptionField, { ...props }),
4427
- armyIdFlg: (props) => jsx(ArmyIdFlgField, { ...props }),
4428
- dulSerie: (props) => jsx(DulSerieField, { ...props }),
4429
- dulNumber: (props) => jsx(DulNumberField, { ...props }),
4430
- dulIssueDateField: (props) => jsx(DulIssueDateField, { ...props }),
4431
- dulSubdivisionCode: (props) => jsx(DulSubdivisionCodeField, { ...props }),
4432
- dulIssuedBy: (props) => jsx(DulIssuedByField, { ...props }),
4433
- participantDateRegistration: (props) => (jsx(ParticipantDateRegistrationField, { ...props })),
4434
- retirementIncome: (props) => jsx(RetirementIncomeField, { ...props }),
4435
- otherIncome: (props) => jsx(OtherIncomeField, { ...props }),
4436
- wages: (props) => jsx(WagesField, { ...props }),
4437
- mandatoryPayments: (props) => jsx(MandatoryPaymentsField, { ...props }),
4438
- disablePeopleFlg: (props) => jsx(DisablePeopleFlgField, { ...props }),
4439
- bankruptcyFlg: (props) => jsx(BankruptcyFlgField, { ...props }),
4440
- shareholderFlg: (props) => jsx(ShareholderFlgField, { ...props }),
4441
- legalEntityName: (props) => jsx(LegalEntityNameField, { ...props }),
4442
- creditInRshbCd: (props) => jsx(CreditInRshbCdField, { ...props }),
4443
- bankEmployeeCode: (props) => jsx(BankEmpoleeCodeField, { ...props }),
4444
- partInBusiness: (props) => jsx(PartInBusinessField, { ...props }),
4445
- regionRetail: (props) => jsx(RegionRetailField, { ...props }),
4446
- infoCard: (props) => jsx(InfoCardField, { ...props }),
4447
- calculator: (props) => jsx(CreditCalcField, { ...props }),
4448
- confirmationIncome: (props) => jsx(ConfirmationIncomeField, { ...props }),
4394
+ organization: OrganizationField,
4395
+ organizationAddress: AddressField,
4396
+ organizationPhone: PhoneField,
4397
+ organizationName: OrganizationNameField,
4398
+ legalForm: LegalFormField,
4399
+ generalSeniority: GeneralSeniorityField,
4400
+ lastJobExperience: LastJobExperienceField,
4401
+ experience5Years: Experience5YearsField,
4402
+ jobsNumber: JobsNumberField,
4403
+ beginDate: BeginDateField,
4404
+ addressFact: AddressFactField,
4405
+ addressRegistration: AddressField,
4406
+ addressRetail: AddressRetailField,
4407
+ addressMatch: AddressMatchField,
4408
+ sex: SexField,
4409
+ limitedBirthday: LimitedBirthdayField,
4410
+ birthPlace: BirthPlaceField,
4411
+ education: EducationField,
4412
+ housing: HousingField,
4413
+ amountWorkers: AmountWorkersField,
4414
+ employment: EmploymentField,
4415
+ employerActivities: EmployerActivitiesField,
4416
+ employerOrganization: EmployerOrganizationField,
4417
+ positionOrganization: PositionOrganizationField,
4418
+ familyStatus: FamilyStatusField,
4419
+ familyMembers: FamilyMembersField,
4420
+ children: ChildrenField,
4421
+ dependents: DependentsField,
4422
+ totalIncome: TotalIncomeField,
4423
+ expenses: ExpensesField,
4424
+ snils: SnilsField,
4425
+ conscription: ConscriptionField,
4426
+ armyIdFlg: ArmyIdFlgField,
4427
+ dulSerie: DulSerieField,
4428
+ dulNumber: DulNumberField,
4429
+ dulIssueDateField: DulIssueDateField,
4430
+ dulSubdivisionCode: DulSubdivisionCodeField,
4431
+ dulIssuedBy: DulIssuedByField,
4432
+ participantDateRegistration: ParticipantDateRegistrationField,
4433
+ retirementIncome: RetirementIncomeField,
4434
+ otherIncome: OtherIncomeField,
4435
+ wages: WagesField,
4436
+ mandatoryPayments: MandatoryPaymentsField,
4437
+ disablePeopleFlg: DisablePeopleFlgField,
4438
+ bankruptcyFlg: BankruptcyFlgField,
4439
+ shareholderFlg: ShareholderFlgField,
4440
+ legalEntityName: LegalEntityNameField,
4441
+ creditInRshbCd: CreditInRshbCdField,
4442
+ bankEmployeeCode: BankEmpoleeCodeField,
4443
+ partInBusiness: PartInBusinessField,
4444
+ regionRetail: RegionRetailField,
4445
+ infoCard: InfoCardField,
4446
+ calculator: CreditCalcField,
4447
+ confirmationIncome: ConfirmationIncomeField,
4449
4448
  };
4450
4449
  const InputRetailCardMap = {
4451
- addressCourier: (props) => jsx(AddressField, { ...props }),
4452
- paymentSystem: (props) => jsx(PaymentSystemField, { ...props }),
4453
- currency: (props) => jsx(CurrencyField, { ...props }),
4454
- cardCategory: (props) => jsx(CardCategoryField, { ...props }),
4455
- codeWord: (props) => jsx(CodeWordField, { ...props }),
4456
- methodObtain: (props) => jsx(MethodObtainField, { ...props }),
4457
- deliveryDate: (props) => jsx(DeliveryDateFiels, { ...props }),
4450
+ addressCourier: AddressField,
4451
+ paymentSystem: PaymentSystemField,
4452
+ currency: CurrencyField,
4453
+ cardCategory: CardCategoryField,
4454
+ codeWord: CodeWordField,
4455
+ methodObtain: MethodObtainField,
4456
+ deliveryDate: DeliveryDateFiels,
4458
4457
  };
4459
4458
 
4460
4459
  const CONSENT_ALL_DOCS_TEXT = 'Согласие на все документы';
@@ -4464,13 +4463,15 @@
4464
4463
  const handleGeneralToggle = (value) => {
4465
4464
  for (const item of inputs) {
4466
4465
  const itemField = field(item.name);
4467
- itemField?.onChange && itemField.onChange(value);
4466
+ itemField.onChange?.(value);
4468
4467
  }
4469
4468
  };
4470
4469
  const hasValidationErrors = useMemo(() => inputs
4471
4470
  ?.filter((_) => _.required)
4472
4471
  ?.some((_) => Boolean(withValidator(field(_?.name), validatorObj[_?.name]).error)), [inputs]);
4473
- return (jsx("div", { className: "w-fit", children: jsx(Foldable, { isFoldButtonOnTop: true, unfoldedByDefault: true, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { isUnfolded: isUnfolded, className: "flex flex-col pl-2xl", children: inputs.map(getField(field, {}, InputsConsentsMap)) })), renderFoldButton: renderGeneralCheckbox(jsxs("div", { children: [jsx(Checkbox, { value: isChecked, onChange: handleGeneralToggle, text: CONSENT_ALL_DOCS_TEXT }, key), renderErrorText(hasValidationErrors ? CONSENT_REQUIRED : '')] })) }) }));
4472
+ return (jsx("div", { className: "w-fit", children: jsx(Foldable, { isFoldButtonOnTop: true, unfoldedByDefault: true, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { isUnfolded: isUnfolded, className: "flex flex-col pl-2xl", children:
4473
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
4474
+ inputs.map(getField(field, {}, InputsConsentsMap)) })), renderFoldButton: renderGeneralCheckbox(jsxs("div", { children: [jsx(Checkbox, { value: isChecked, onChange: handleGeneralToggle, text: CONSENT_ALL_DOCS_TEXT }, key), renderErrorText(hasValidationErrors ? CONSENT_REQUIRED : '')] })) }) }));
4474
4475
  });
4475
4476
  const renderGeneralCheckbox = (generalCheckBox) => (foldableData) => (jsxs("div", { className: "flex items-start", children: [generalCheckBox, jsx("button", { onClick: foldableData.onToggle, className: "px-m py-2xs", type: "button", children: jsx(Icon, { className: "text-primary-text", name: foldableData.isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" }) })] }));
4476
4477
 
@@ -5177,19 +5178,15 @@
5177
5178
  return saveUserData;
5178
5179
  };
5179
5180
 
5180
- const useApplicationLeadApi = ({ inputs, programId, nextStepLink, }) => {
5181
- const [responseStatus, setResponseStatus] = useState('');
5181
+ const useApplicationLeadApi = ({ programId, nextStepLink }) => {
5182
5182
  const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
5183
+ const [ok, setOK] = useState();
5183
5184
  const saveUserData = useSaveUserData();
5184
5185
  const openEsiaLoginDialog = useEsiaLoginDialog(nextStepLink);
5185
5186
  const consentBkiDialog = useConsentBkiDialog(openEsiaLoginDialog);
5186
5187
  const verifyPhoneDialog = useDialog(VerifyPhoneDialog);
5187
5188
  const draftDialog = useDraftDialog();
5188
5189
  const handleSubmit = useCallback(async (formData) => {
5189
- const feedbackValidator = objectValidator(getObjectValidator(inputs));
5190
- if (!isValidationSuccess(feedbackValidator(formData))) {
5191
- return;
5192
- }
5193
5190
  try {
5194
5191
  startSending();
5195
5192
  const profileId = await createUserProfile({
@@ -5223,7 +5220,7 @@
5223
5220
  }
5224
5221
  }
5225
5222
  catch {
5226
- setResponseStatus('Fail');
5223
+ setOK(false);
5227
5224
  }
5228
5225
  };
5229
5226
  const acceptedConsents = getAcceptedConsents(formData);
@@ -5236,14 +5233,10 @@
5236
5233
  }
5237
5234
  }
5238
5235
  catch {
5239
- setResponseStatus('Fail');
5236
+ setOK(false);
5240
5237
  }
5241
5238
  }, []);
5242
- return {
5243
- handleSubmit,
5244
- responseStatus,
5245
- isSending,
5246
- };
5239
+ return { isSending, ok, handleSubmit };
5247
5240
  };
5248
5241
  const getAcceptedConsents = (formData) => Object.keys(CONSENTS)
5249
5242
  .filter((_) => formData[_])
@@ -5405,19 +5398,22 @@
5405
5398
 
5406
5399
  const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, ...rest }) => {
5407
5400
  const inputs = useMemo(() => (applicationFormData?.flatMap((_) => _?.inputs) || []), [applicationFormData]);
5401
+ const formValidator = useMemo(() => getFormValidator(inputs), [inputs]);
5408
5402
  const [initialFormState, { isLoading }] = useInitApplicationLead(inputs, nextStepLink);
5409
- const { handleSubmit, responseStatus, isSending } = useApplicationLeadApi({
5410
- inputs,
5403
+ const { isSending, ok, handleSubmit } = useApplicationLeadApi({
5411
5404
  programId,
5412
5405
  nextStepLink,
5413
5406
  });
5414
- const [, { field, onSubmit }] = useForm(initialFormState, { onSubmit: handleSubmit });
5407
+ const [, { field, onSubmit }] = useForm(initialFormState, {
5408
+ formValidator,
5409
+ onSubmit: handleSubmit,
5410
+ });
5415
5411
  const responseTypeDialog = useDialog(ResponseTypeDialog);
5416
5412
  useEffect(() => {
5417
- if (responseStatus) {
5418
- responseTypeDialog.open({ responseType: responseStatus });
5413
+ if (ok !== undefined) {
5414
+ responseTypeDialog.open({ ok });
5419
5415
  }
5420
- }, [responseStatus]);
5416
+ }, [ok]);
5421
5417
  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$2({ field, inputs: _?.inputs })] }, `section-${i}`))), renderSubmitButton(button, isSending)] }) }));
5422
5418
  });
5423
5419
 
@@ -5760,6 +5756,8 @@
5760
5756
  return (jsxs("div", { className: "flex-1", children: [item?.title ? (jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-m", font: "font-medium", color: "text-primary-text", children: item.title }) })) : null, jsx(SlideCheckboxGroup, { items: options, multiple: !item?.single, ...field(key) })] }, key));
5761
5757
  };
5762
5758
 
5759
+ const identity = (_) => _;
5760
+
5763
5761
  function zip(firstCol, ...restCols) {
5764
5762
  return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
5765
5763
  }
@@ -5805,12 +5803,12 @@
5805
5803
 
5806
5804
  const useFiltrationForm = (initialFormState, { block, page, normalize = identity }) => {
5807
5805
  const blocks = block?.blocks || [];
5808
- const [filtrationState, { field, reset, update }] = useForm(initialFormState);
5806
+ const [filtrationState, operators] = useForm(initialFormState);
5809
5807
  const blocksWithProps = useMemo(() => zip(blocks, blocks.map((b) => resolveBlockProps(b.content, page?.fallback))), [blocks, page?.fallback]);
5810
5808
  const blocksToRender = filtrationState === initialFormState
5811
5809
  ? blocks
5812
5810
  : filterBlocks(blocksWithProps, filtrationState)(normalize);
5813
- return [filtrationState, { blocksToRender, blocksWithProps }, { field, reset, update }];
5811
+ return [filtrationState, { blocksToRender, blocksWithProps }, operators];
5814
5812
  };
5815
5813
 
5816
5814
  const EMPTY_SCHEMA = {};
@@ -6310,7 +6308,7 @@
6310
6308
  isWithdrawn: Boolean(defaultParams?.isWithdrawn),
6311
6309
  isNewClient: Boolean(defaultParams?.isNewClient),
6312
6310
  currency: DEFAULT_CURRENCY,
6313
- }, { normalize });
6311
+ }, { normalizer: normalize });
6314
6312
  const currencyValue = field?.('currency')?.value ?? DEFAULT_CURRENCY;
6315
6313
  const isNewClient = field?.('isNewClient')?.value;
6316
6314
  const row = getRows(rows, currencyValue);
@@ -6736,6 +6734,8 @@
6736
6734
  const CarouselRecommendationCard = JSX(({ className, padding, description, additionalDescription, href, icon, isDotted, __html, socialMedia = [], target, title, align = 'text-left', benefits, imageOptions: { directionRight = true, isImageAlwaysOnRight = ImageAlwaysOnRight, isImageSecondary = false, } = {}, data, ...rest }) => (jsx(BlockWrapper, { className: style('relative min-h-28 group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, className: "h-full", data: getAspectsWithInclude(data), children: jsxs(BaseTile, { className: "h-full", defaultPadding: "p-2xl", padding: padding, insetTitle: jsx(Headline, { title: title, description: description, headlineVersion: "XS", isEmbedded: true, align: align }), ...leftOrRightImage(isIcon(icon) ? jsx(Img, { image: icon }) : null, directionRight), buttons: socialMedia.length ? (jsx(SocialMedia, { media: socialMedia, stretched: true, showButtonText: true, version: rest?.version })) : null, isImageAlwaysOnRight: isImageAlwaysOnRight, isImageSecondary: isImageSecondary, imageAlign: "center", children: [jsx(BenefitsList, { benefits: benefits }), __html ? jsx(RichText, { __html: __html, isDotted: isDotted, itemSize: "list-s" }) : null, renderAdditionalDescription(additionalDescription, align)] }) }) })));
6737
6735
  const renderAdditionalDescription = (additionalDescription, align) => additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "text-secondary-text group-data-secondary:text-white/80", align: align, children: additionalDescription })) : null;
6738
6736
 
6737
+ const carouselTariffsCardEventBus = new EventBus();
6738
+
6739
6739
  const renderCardInfo = (cell, i) => {
6740
6740
  const { title, description, buttons } = cell;
6741
6741
  return (jsxs("div", { className: "py-lg border-b border-main-divider", children: [title ? (jsx("div", { className: "opacity-80", children: jsx(Text, { size: "text-m", color: "text-secondary-text", children: title }) })) : null, description ? (jsx("div", { className: "mt-2xs", children: jsx(Text, { size: "text-xl", color: "text-primary-text", children: description }) })) : null, buttons?.length ? (jsx("div", { className: "text-primary-main", children: renderButtonsSection(buttons) })) : null] }, String(i)));
@@ -6747,20 +6747,21 @@
6747
6747
  ? [cellsNode.slice(0, visibleCellsCount), cellsNode.slice(visibleCellsCount)]
6748
6748
  : [cellsNode, []];
6749
6749
  const [isVisible, setIsVisible] = useState(false);
6750
- useEffect(() => defaultEventBus.subscribe('fold', (event) => {
6751
- if (event && options?.parent !== undefined && event.parent === options?.parent) {
6750
+ useEffect(() => carouselTariffsCardEventBus.subscribe('fold', (event) => {
6751
+ if (event && options?.parent && event.parent === options?.parent) {
6752
6752
  setIsVisible(event.isUnfolded);
6753
6753
  }
6754
6754
  }), [options?.parent]);
6755
- return (jsxs(BlockWrapper, { className: style('flex flex-col', className), defaultPadding: "p-2xl", ...rest, children: [isIcon(icon) ? (jsx("div", { className: "self-center", children: jsx(Img, { image: icon }) })) : null, title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button?.text ? jsx(LinkButton, { className: "w-full mt-m mb-lg", ...button }) : null, hiddenCells.length ? (jsx(Foldable, { renderFoldableSection: () => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isVisible, children: hiddenCells })] })), renderFoldButton: cardCells.length >= visibleCellsCount
6756
- ? renderFoldButton$2(options?.parent, data, isVisible)
6757
- : null })) : (jsx("div", { children: visibleCells }))] }));
6755
+ const toggle = useCallback(() => {
6756
+ carouselTariffsCardEventBus.fire('fold', {
6757
+ type: 'fold',
6758
+ isUnfolded: !isVisible,
6759
+ parent: options?.parent,
6760
+ });
6761
+ }, [isVisible, options?.parent]);
6762
+ return (jsxs(BlockWrapper, { className: style('flex flex-col', className), defaultPadding: "p-2xl", ...rest, children: [isIcon(icon) ? (jsx("div", { className: "self-center", children: jsx(Img, { image: icon }) })) : null, title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button?.text ? jsx(LinkButton, { className: "w-full mt-m mb-lg", ...button }) : null, hiddenCells.length ? (jsx(Foldable, { renderFoldableSection: () => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isVisible, children: hiddenCells })] })), renderFoldButton: () => cardCells.length >= visibleCellsCount ? (jsx(FoldButton, { data: data, isUnfolded: isVisible, onClick: toggle })) : null })) : (jsx("div", { children: visibleCells }))] }));
6758
6763
  });
6759
- const renderFoldButton$2 = (parent, data, isUnfolded = false) => () => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-lg flex justify-between items-center", onClick: () => {
6760
- if (parent !== undefined) {
6761
- defaultEventBus.fire('fold', { type: 'fold', isUnfolded: !isUnfolded, parent });
6762
- }
6763
- }, type: "button", ...(isUnfolded ? getAspectsAttributes(data) : {}), children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] }));
6764
+ const FoldButton = JSX(({ data, isUnfolded = false, onClick }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-lg flex justify-between items-center", type: "button", onClick: onClick, ...(isUnfolded ? getAspectsAttributes(data) : {}), children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] })));
6764
6765
 
6765
6766
  const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
6766
6767
  const renderBlocks = (info) => (jsx("div", { className: "flex gap-5xl grow basis-0", children: info.map((column, i) => renderBlocksColumn({ column, i })) }));
@@ -6807,6 +6808,33 @@
6807
6808
  return (jsx("div", { className: "py-lg px-5xl bg-white col-span-12", children: jsxs("div", { children: [jsxs("span", { className: "font-bold mr-s", children: ["\u0428\u0430\u0433 ", step + 1, " \u0438\u0437 ", totalSteps, "."] }), stepsTitles[step] || null, jsx(ProgressBar, { step: progress, showPercentage: false })] }) }));
6808
6809
  });
6809
6810
 
6811
+ const calculateInputs = (getValue) => (inputs, step) => inputs
6812
+ .filter((_) => _)
6813
+ .map((_) => {
6814
+ if ([
6815
+ checkIsRetiree(step, getValue),
6816
+ checkBusinessOwner(_, getValue),
6817
+ checkConsentPfrFlg(_, getValue),
6818
+ checkAddressFillFromESIA(_, getValue),
6819
+ checkAddressFact(_, getValue),
6820
+ checkCondition(_, getValue),
6821
+ ].some(Boolean)) {
6822
+ return { ..._, required: false };
6823
+ }
6824
+ return _;
6825
+ });
6826
+ const checkIsRetiree = (step, getValue) => step === 2 && getValue('employment')?.key === 'RETIREE';
6827
+ const checkBusinessOwner = ({ name }, getValue) => name === 'partInBusiness' && getValue('positionOrganization')?.key !== 'BUSINESS_OWNER';
6828
+ const checkAddressFillFromESIA = ({ name, filledByEsia }, getValue) => name?.startsWith('address') && getValue('esiaAccountTypeCd')?.key && filledByEsia;
6829
+ const checkAddressFact = ({ name }, getValue) => name === 'addressFact' && getValue('addressMatch');
6830
+ const checkCondition = ({ condition }, getValue) => condition?.name &&
6831
+ condition?.values?.some((_) => {
6832
+ const dataValue = getValue(condition?.name);
6833
+ return _ !== (dataValue?.key ?? dataValue);
6834
+ });
6835
+ const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && isSnilsRequired(getValue);
6836
+ const isSnilsRequired = (getValue) => getValue('confirmationIncome')?.key !== 'PFR_CERTIFICATE';
6837
+
6810
6838
  var STATUS_TYPE;
6811
6839
  (function (STATUS_TYPE) {
6812
6840
  STATUS_TYPE["process"] = "IN_PROCESS";
@@ -6964,40 +6992,14 @@
6964
6992
  return statusesMap[status] || jsx(ReworkStatusContent$1, {});
6965
6993
  };
6966
6994
 
6967
- const calculateInputs = (getValue) => (inputs, step) => inputs
6968
- .filter((_) => _)
6969
- .map((_) => {
6970
- if ([
6971
- checkIsRetiree(step, getValue),
6972
- checkBusinessOwner(_, getValue),
6973
- checkConsentPfrFlg(_, getValue),
6974
- checkAddressFillFromESIA(_, getValue),
6975
- checkAddressFact(_, getValue),
6976
- checkCondition(_, getValue),
6977
- ].some(Boolean)) {
6978
- return { ..._, required: false };
6979
- }
6980
- return _;
6981
- });
6982
- const checkIsRetiree = (step, getValue) => step === 2 && getValue('employment')?.key === 'RETIREE';
6983
- const checkBusinessOwner = ({ name }, getValue) => name === 'partInBusiness' && getValue('positionOrganization')?.key !== 'BUSINESS_OWNER';
6984
- const checkAddressFillFromESIA = ({ name, filledByEsia }, getValue) => name?.startsWith('address') && getValue('esiaAccountTypeCd')?.key && filledByEsia;
6985
- const checkAddressFact = ({ name }, getValue) => name === 'addressFact' && getValue('addressMatch');
6986
- const checkCondition = ({ condition }, getValue) => condition?.name &&
6987
- condition?.values?.some((_) => {
6988
- const dataValue = getValue(condition?.name);
6989
- return _ !== (dataValue?.key ?? dataValue);
6990
- });
6991
- const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && isSnilsRequired(getValue);
6992
- const isSnilsRequired = (getValue) => getValue('confirmationIncome')?.key !== 'PFR_CERTIFICATE';
6993
-
6994
- const renderInputs$1 = ({ field, inputs, params }) => inputs.map(getField(field, params, { ...InputsRetailMap, ...InputRetailCardMap }));
6995
+ const InputsMap = { ...InputsRetailMap, ...InputRetailCardMap };
6996
+ const renderInputs$1 = ({ field, inputs, params }) => inputs.map(getField(field, params, InputsMap));
6995
6997
 
6996
6998
  const renderStep$2 = ({ sections, field, step, params }) => sections?.map(({ inputs: origInputs = [], columns, title }, i) => {
6997
- const inputs = calculateInputs(getValue$3(field))(origInputs, step);
6999
+ const inputs = calculateInputs(getValue$1(field))(origInputs, step);
6998
7000
  return (jsxs("div", { className: style(inputColumnStyles(columns), 'grid gap-x-m'), children: [renderTitle(title), renderInputs$1({ field, inputs, params })] }, `section-${i}`));
6999
7001
  });
7000
- const getValue$3 = (field) => (name) => field(name)?.value;
7002
+ const getValue$1 = (field) => (name) => field(name)?.value;
7001
7003
 
7002
7004
  const StepsNavigationButtons$1 = JSX(({ step, isSending, onPrevStep }) => {
7003
7005
  const isFirstStep = step === 0;
@@ -7263,7 +7265,7 @@
7263
7265
  }
7264
7266
  };
7265
7267
 
7266
- const useCreditCardFormAPI = ({ step, inputs, onNextStep, onFinish, }) => {
7268
+ const useCreditCardFormAPI = ({ step, onNextStep, onFinish, }) => {
7267
7269
  const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
7268
7270
  const isFinalStep = step === 5;
7269
7271
  const retailFormStore = useRetailFormStore();
@@ -7282,10 +7284,6 @@
7282
7284
  }
7283
7285
  }, [isFinalStep, initialState]);
7284
7286
  const handleSubmit = useCallback(async (formData) => {
7285
- const feedbackValidator = objectValidator(getObjectValidator(calculateInputs(getValue$2(formData))(inputs, step)));
7286
- if (!isValidationSuccess(feedbackValidator(formData))) {
7287
- return;
7288
- }
7289
7287
  startSending();
7290
7288
  retailFormStore.leadForm = formData;
7291
7289
  try {
@@ -7314,17 +7312,21 @@
7314
7312
  }, [isFinalStep, resetForm]);
7315
7313
  return [initialState, handleSubmit, isSending];
7316
7314
  };
7317
- const getValue$2 = (formData) => (name) => formData[name];
7318
7315
 
7319
7316
  const CreditCardFormStep = JSX(({ step, sections, isFormFinished, onPrevStep, onNextStep, onFinish }) => {
7320
7317
  const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
7318
+ const formValidator = useCallback((formState) =>
7319
+ // TODO Слишком сложно
7320
+ getFormValidator(calculateInputs((_) => formState[_])(inputs, step))(formState), [inputs]);
7321
7321
  const [initialState, onSubmit, isSending] = useCreditCardFormAPI({
7322
7322
  step,
7323
- inputs,
7324
7323
  onNextStep,
7325
7324
  onFinish,
7326
7325
  });
7327
- const [, { field, onSubmit: handleSubmit }] = useForm(initialState, { onSubmit });
7326
+ const [, { field, onSubmit: handleSubmit }] = useForm(initialState, {
7327
+ formValidator,
7328
+ onSubmit,
7329
+ });
7328
7330
  return isFormFinished ? (jsx(CreditCardFormStatusTracker, {})) : (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep$2({ sections, field, step }), jsx(StepsNavigationButtons$1, { isSending: isSending, step: step, onPrevStep: onPrevStep })] }));
7329
7331
  });
7330
7332
 
@@ -7727,7 +7729,7 @@
7727
7729
  setStep((_) => Math.max(_ - 1, 0));
7728
7730
  scrollToTop();
7729
7731
  }, []);
7730
- const sections = useMemo(() => stepsSectionsMap$1[step], [step]);
7732
+ const sections = stepsSectionsMap$1[step];
7731
7733
  const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
7732
7734
  return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isFormFinished ? null : (jsx(CreditCardFormProgress, { stepsTitles: TITLES, step: step, totalSteps: STEPS$1 })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: jsx(CreditCardFormStep, { step: step, sections: sections, isFormFinished: isFormFinished, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step)) })] }) }));
7733
7735
  });
@@ -7867,10 +7869,10 @@
7867
7869
  const renderInputs = ({ field, inputs, params }) => inputs.map(getField(field, params, { ...InputsRetailMap }));
7868
7870
 
7869
7871
  const renderStep$1 = ({ sections, field, step, params }) => sections?.map(({ inputs: origInputs = [], columns, title }, i) => {
7870
- const inputs = calculateInputs(getValue$1(field))(origInputs, step);
7872
+ const inputs = calculateInputs(getValue(field))(origInputs, step);
7871
7873
  return (jsxs("div", { className: style(inputColumnStyles(columns), 'grid gap-x-m'), children: [renderTitle(title), renderInputs({ field, inputs, params })] }, `section-${i}`));
7872
7874
  });
7873
- const getValue$1 = (field) => (name) => field(name)?.value;
7875
+ const getValue = (field) => (name) => field(name)?.value;
7874
7876
 
7875
7877
  const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
7876
7878
  const isFirstStep = step === 0;
@@ -8053,7 +8055,7 @@
8053
8055
  }
8054
8056
  };
8055
8057
 
8056
- const useCreditFormAPI = ({ step, inputs, onNextStep, onFinish, }) => {
8058
+ const useCreditFormAPI = ({ step, onNextStep, onFinish, }) => {
8057
8059
  const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
8058
8060
  const isFinalStep = step === 5;
8059
8061
  const retailFormStore = useRetailFormStore();
@@ -8074,10 +8076,6 @@
8074
8076
  }
8075
8077
  }, [isFinalStep, initialState]);
8076
8078
  const handleSubmit = useCallback(async (formData) => {
8077
- const feedbackValidator = objectValidator(getObjectValidator(calculateInputs(getValue(formData))(inputs, step)));
8078
- if (!isValidationSuccess(feedbackValidator(formData))) {
8079
- return;
8080
- }
8081
8079
  startSending();
8082
8080
  retailFormStore.leadForm = formData;
8083
8081
  try {
@@ -8106,19 +8104,23 @@
8106
8104
  }, [isFinalStep, resetForm]);
8107
8105
  return [initialState, handleSubmit, isSending];
8108
8106
  };
8109
- const getValue = (formData) => (name) => formData[name];
8110
8107
 
8111
8108
  const CreditFormStep = JSX(({ step, sections, isFormFinished, programsSource, onPrevStep, onNextStep, onFinish }) => {
8112
8109
  const { programId } = useRetailFormStore();
8113
8110
  const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
8114
8111
  const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
8112
+ const formValidator = useCallback((formState) =>
8113
+ // TODO Слишком сложно
8114
+ getFormValidator(calculateInputs((_) => formState[_])(inputs, step))(formState), [inputs]);
8115
8115
  const [initialState, onSubmit, isSending] = useCreditFormAPI({
8116
8116
  step,
8117
- inputs,
8118
8117
  onNextStep,
8119
8118
  onFinish,
8120
8119
  });
8121
- const [, { field, onSubmit: handleSubmit }] = useForm(initialState, { onSubmit });
8120
+ const [, { field, onSubmit: handleSubmit }] = useForm(initialState, {
8121
+ formValidator,
8122
+ onSubmit,
8123
+ });
8122
8124
  return isFormFinished ? (jsx(CreditFormStatusTracker, {})) : (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep$1({ sections, field, step, params: { calcData } }), jsx(StepsNavigationButtons, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
8123
8125
  });
8124
8126
 
@@ -8151,7 +8153,7 @@
8151
8153
  setStep((_) => Math.max(_ - 1, 0));
8152
8154
  scrollToTop();
8153
8155
  }, []);
8154
- const sections = useMemo(() => stepsSectionsMap[step], [step]);
8156
+ const sections = stepsSectionsMap[step];
8155
8157
  const isStartStep = step === 0;
8156
8158
  const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
8157
8159
  return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isStartStep || isFormFinished ? null : (jsx(CreditFormProgress, { stepsTitles: STEP_TITLES, step: step, totalSteps: STEPS })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: jsx(CreditFormStep, { step: step, sections: sections, isFormFinished: isFormFinished, programsSource: programsSource, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step)) })] }) }));
@@ -9575,7 +9577,7 @@
9575
9577
  return (jsx(FoldableSection, { isUnfolded: isUnfolded, children: jsx(CardRow, { className: "flex-wrap", children: additionalInfo?.map(renderInfo) }) }));
9576
9578
  },
9577
9579
  //** TODO: Remove styles with refactoring DefaultFoldButton*/
9578
- renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$3({ isUnfolded, onToggle }) })] }, String(i)));
9580
+ renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$2({ isUnfolded, onToggle }) })] }, String(i)));
9579
9581
  };
9580
9582
  const getAtmPoint = ({ address = '', terminalType, atmCode = '' }) => {
9581
9583
  const header = `${capitalizedFirstLetter(terminalType)} №${atmCode}`;
@@ -9641,7 +9643,7 @@
9641
9643
  workScheduleDescription,
9642
9644
  }) })),
9643
9645
  //** TODO: remove styles with refactoring DefaultFoldButton*/
9644
- renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$3({ isUnfolded, onToggle }) })] }, String(i)));
9646
+ renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton$2({ isUnfolded, onToggle }) })] }, String(i)));
9645
9647
  };
9646
9648
  const renderCardContent = ({ workScheduleDescription }) => {
9647
9649
  return (jsxs("div", { children: [jsxs(CardRow, { className: "flex", children: [jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0438 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u043A\u0440\u0435\u0434\u0438\u0442\u043E\u0432, \u0441\u0447\u0435\u0442\u043E\u0432, \u0432\u043A\u043B\u0430\u0434\u043E\u0432" }) }), jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0438 \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0445 \u043A\u0430\u0440\u0442" }) }), jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u0418\u043D\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u043E\u043D\u043D\u043E\u0435 \u0438 \u043D\u0430\u043A\u043E\u043F\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0435 \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435" }) }), jsx(CardCell, { label: "\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446", children: jsx(Text, { children: "\u0411\u0435\u0437\u043D\u0430\u043B\u0438\u0447\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u0443\u0431\u043B\u044F\u0445, \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u044B \u0431\u0435\u0437 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u0441\u0447\u0451\u0442\u0430" }) })] }), jsx("hr", { className: "text-main-divider pb-xl" }), jsx(CardCell, { label: "\u0420\u0435\u0436\u0438\u043C \u0440\u0430\u0431\u043E\u0442\u044B", className: "max-w-none", children: jsx(Text, { children: workScheduleDescription }) })] }));
@@ -10431,7 +10433,7 @@
10431
10433
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10432
10434
  });
10433
10435
 
10434
- const packageVersion = "0.14.736";
10436
+ const packageVersion = "0.14.737";
10435
10437
 
10436
10438
  exports.Blocks = Blocks;
10437
10439
  exports.ContentPage = ContentPage;